/* VL Studio blog — editorial article layout over a calm still background (no video on articles: reading comfort + speed) */
@font-face{font-family:'Source Serif 4';src:url(../fonts/SourceSerif4-opsz-normal.woff2) format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url(../fonts/SourceSerif4-opsz-italic.woff2) format('woff2');font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Switzer';src:url(../fonts/Switzer-600.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--bg:#0a0c0f;--panel:#101318;--ink:#f1efe9;--ink2:#d3d1ca;--muted:#a3a7ad;--line:rgba(241,239,233,.13);--line2:rgba(241,239,233,.24);
  --gold:#d9bf8c;--gold2:#ecd8ae;--serif:'Source Serif 4',Georgia,serif;--sans:'Switzer',system-ui,-apple-system,'Segoe UI',sans-serif;--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;overflow-x:clip}
body{font:400 18px/1.75 var(--sans);-webkit-font-smoothing:antialiased;background:var(--bg)}
a{color:var(--gold2);text-underline-offset:3px}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:var(--bg);padding:8px 14px}.skip:focus{left:8px}

/* nav */
.bnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:16px max(var(--pad),calc((100% - 1280px)/2 + var(--pad)));
  background:rgba(10,12,15,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--ink);margin-right:auto}
.logo b{font:400 28px/1 var(--serif);font-weight:400}
.logo span{font:500 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);padding-left:10px;border-left:1px solid rgba(217,191,140,.5)}
.bnav nav{display:flex;gap:24px}.bnav nav a{color:var(--ink2);text-decoration:none;font-size:14.5px}
.bnav nav a:hover,.bnav nav a[aria-current]{color:var(--gold2)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:var(--gold2);color:#17130b;text-decoration:none;font:500 14.5px/1 var(--sans)}
.btn-line{background:none;border:1px solid var(--line2);color:var(--ink)}
@media (max-width:760px){.bnav nav{display:none}.bnav .btn{min-height:40px;padding:0 16px;font-size:13.5px}}

/* hero band */
.bhero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(70px,10vw,130px) 0 clamp(40px,6vw,70px);border-bottom:1px solid var(--line)}
.bhero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bg) var(--art,none) center 40%/cover no-repeat;opacity:.55}
.bhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,15,.95) 0%,rgba(10,12,15,.75) 45%,rgba(10,12,15,.35) 100%),linear-gradient(0deg,var(--bg),transparent 50%)}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.crumbs{font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none;display:inline-block;padding:8px 0}.crumbs a:hover{color:var(--gold2)}
.bhero h1{font:400 clamp(40px,5.6vw,84px)/1.0 var(--serif);letter-spacing:-.02em;margin:14px 0 18px;max-width:20ch;text-wrap:balance}
.bhero h1 em{color:var(--gold2)}
.dek{font-size:clamp(18px,1.5vw,21px);color:var(--ink2);max-width:60ch;text-wrap:pretty}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:14px;color:var(--muted)}
.meta b{color:var(--ink2);font-weight:500}

/* article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;max-width:1280px;margin:0 auto;padding:56px var(--pad) 90px}
.prose{max-width:720px}
.prose>*+*{margin-top:1.05em}
.prose h2{font:400 clamp(30px,3vw,42px)/1.12 var(--serif);letter-spacing:-.01em;margin-top:1.9em;scroll-margin-top:90px;text-wrap:balance}
.prose h3{font:600 20px/1.35 var(--sans);margin-top:1.6em;color:var(--ink);scroll-margin-top:90px}
.prose p,.prose li{color:var(--ink2)}
.prose strong{color:var(--ink);font-weight:600}
.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--gold)}
.prose code{font:500 .86em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:6px;padding:.1em .35em;color:#f3e3c0}
.prose pre{background:#0d1015;border:1px solid var(--line2);border-radius:12px;padding:18px 20px;overflow-x:auto;font:400 14.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#e8e6df}
.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.prose blockquote{border-left:2px solid var(--gold);padding:4px 0 4px 20px;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font:600 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prose td{color:var(--ink2)}
.tldr{border:1px solid rgba(236,216,174,.35);background:linear-gradient(180deg,rgba(236,216,174,.08),rgba(236,216,174,.02));border-radius:14px;padding:22px 24px}
.tldr p:first-child{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.tldr ul{margin:0}
.note{border:1px solid var(--line2);border-radius:12px;padding:16px 20px;background:rgba(255,255,255,.03);font-size:16px}
.cta{margin-top:2.4em;border:1px solid rgba(236,216,174,.4);border-radius:16px;padding:28px;background:radial-gradient(80% 120% at 100% 0%,rgba(236,216,174,.12),transparent 60%),var(--panel)}
.cta h2{margin-top:0!important;font-size:32px!important}
.cta p{margin:.6em 0 1.2em}
.cta .row{display:flex;flex-wrap:wrap;gap:10px}
.sources{font-size:15px}.sources li{color:var(--muted)}
.author{display:flex;gap:14px;align-items:center;margin-top:2.4em;padding-top:1.6em;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.author .av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#16191f;border:1px solid var(--line2);font:400 18px/1 var(--serif);color:var(--gold2);flex:none}

/* sidebar */
.side{position:sticky;top:96px;align-self:start;display:grid;gap:18px}
.toc{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--panel)}
.toc p{font:600 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.toc a{display:block;padding:6px 0;color:var(--ink2);text-decoration:none;font-size:14.5px;line-height:1.4}
.toc a:hover{color:var(--gold2)}
.offer{border:1px solid rgba(236,216,174,.35);border-radius:14px;padding:20px;background:var(--panel)}
.offer b{display:block;font:400 26px/1.1 var(--serif);margin-bottom:6px}
.offer p{font-size:14.5px;color:var(--muted);margin-bottom:14px}
@media (max-width:1020px){.article{grid-template-columns:1fr;gap:30px}.side{position:static;grid-row:1}.toc{display:none}}

/* blog index */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;max-width:1280px;margin:0 auto;padding:50px var(--pad) 100px}
.post{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-decoration:none;color:var(--ink);overflow:hidden;transition:border-color .3s,transform .3s}
.post:hover{border-color:rgba(236,216,174,.45);transform:translateY(-3px)}
.post .pic{aspect-ratio:16/8;background:var(--art) center/cover no-repeat;filter:saturate(.7) brightness(.8)}
.post .in{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .tag{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.post h2{font:400 27px/1.12 var(--serif)}
.post p{font-size:15px;color:var(--muted);flex:1}
.post .rd{font-size:13.5px;color:var(--ink2)}

.bfoot{border-top:1px solid var(--line);padding:34px var(--pad) calc(34px + env(safe-area-inset-bottom));color:var(--muted);font-size:14px}
.bfoot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;padding:0}
.bfoot a{color:var(--ink2);text-decoration:none}
.prose figure.lead{margin:0 0 1.4em;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.prose figure.lead img{width:100%;aspect-ratio:16/8;object-fit:cover;filter:saturate(.8) brightness(.85)}

@media (max-width:1020px){.article{grid-template-columns:minmax(0,1fr)!important}}
.prose table{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
@media (min-width:900px){.prose table{-webkit-mask-image:none;mask-image:none}}
.bfoot a{display:inline-block;padding:11px 2px}

.prose{overflow-wrap:break-word}.prose code{overflow-wrap:anywhere}
.prose pre code{overflow-wrap:normal}

.prose figure.lead img{height:auto}
@media (max-width:640px){
  .prose table{-webkit-mask-image:none;mask-image:none;display:block;overflow:visible}
  .prose table thead{display:none}
  .prose table tbody,.prose table tr,.prose table td{display:block;width:100%}
  .prose table tr{border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:6px 0;background:rgba(255,255,255,.03)}
  .prose table td{border:0;padding:8px 14px}
  .prose table td[data-label]::before{content:attr(data-label);display:block;font:600 11.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .prose table td:first-child{color:var(--ink);font-weight:500}
}
/* r5: phone menu + shared footer for blog & privacy */
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer;position:relative;flex:none}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:var(--ink);transition:transform .3s}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:30;background:rgba(10,12,15,.97);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 var(--pad)}
.mnav[hidden]{display:none}
.mnav a{font:400 36px/1.4 var(--serif);color:var(--ink);text-decoration:none;padding:4px 0}
.mnav .btn{margin-top:22px;align-self:flex-start;font:500 15px/1 var(--sans)}
@media (max-width:1020px){.bnav nav,.pn{display:none!important}.burger{display:block}.bnav{gap:14px}}
@media (max-width:1020px){.bnav .btn{display:none}}
.bguides{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 24px;width:100%;padding-bottom:18px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.bguides a{display:inline-block;padding:10px 0;color:var(--ink2);text-decoration:none;font-size:14.5px}
.bguides a:hover{color:var(--gold2)}
.bfoot .wrap{flex-direction:column;align-items:flex-start}
.meta a{color:inherit;text-decoration:none}
.mnav{background:#0a0c0f!important;z-index:60!important}.bnav{z-index:70}
.mnav .btn{color:#17130b!important;padding:0 22px}

.logo span,.post .tag,.toc p{font-size:12px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.post:hover{transform:none}}

.post .tag,.tag,.toc>p{font-size:12px!important}
.prose :not(pre)>code{overflow-wrap:anywhere}
.bcta{max-width:calc(1280px - 2*var(--pad));margin:-40px auto 100px;width:calc(100% - 2*var(--pad))}.bcta h2{font:400 clamp(30px,3.4vw,42px)/1.1 var(--serif)!important;letter-spacing:-.01em}.bcta .row{display:flex;flex-wrap:wrap;gap:12px}
.post-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(10,12,15,.85);border:1px solid rgba(236,216,174,.4);color:#ecd8ae;text-decoration:none;font-size:18px;z-index:40}
@media (min-width:1021px){.post-top{display:none}}
.logo{padding-block:8px}

/* ===== type system 2026-10-18 ===== */
@font-face{font-family:'Geist Mono';src:url(../fonts/GeistMono-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
:root{--ink:#f1efe9;--ink2:#cfccc4;--muted:#9a978f;--gold:#e2c28a;--gold2:#e8c48d}
h1,h2,h3{font-optical-sizing:auto;text-wrap:balance}
p,li{text-wrap:pretty}
.bhero h1{font:400 clamp(44px,6vw,88px)/1.04 var(--serif);letter-spacing:-.015em}
.bhero h1 em{font-style:italic;color:var(--gold2)}
.crumbs{font-size:11px!important;letter-spacing:.28em}
.dek{font-weight:300;letter-spacing:.005em;line-height:1.6}
.prose{max-width:68ch}
.prose h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.prose em{font-family:var(--serif);font-style:italic;font-size:1.06em}
.prose b,.prose strong{font-weight:600}
code,pre{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.post .tag,.tag{letter-spacing:.24em}
.bcta p{max-width:58ch}
