
@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-v9-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-v9-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-v9-latin-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-v9-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/fonts/bricolage-grotesque-v9-latin-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-v20-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-v20-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url('/fonts/inter-v20-latin-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/jetbrains-mono-v24-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/jetbrains-mono-v24-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--bg:#16181C;--bg-2:#1B1E23;--surface:#22262C;--line:rgba(234,237,240,0.08);--line-2:rgba(234,237,240,0.14);--fg:#EAEDF0;--muted:#9BA3AC;--faint:#6B737C;--accent:#5FB3C9;--accent-bright:#8AD0E0;--accent-deep:#2E8399}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.display{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-0.02em;line-height:1.08}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:0.16em;text-transform:uppercase;font-size:11px}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
@media(min-width:720px){.container{padding:0 34px}}
@keyframes kwViewIn{from{opacity:0}to{opacity:1}}

/* ── header + footer + buttons: rules copied 1:1 from the live site ── */
.kw-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:'Inter',sans-serif; font-weight:600; font-size:15px; padding:13px 22px; border-radius:11px; cursor:pointer; border:1px solid transparent; transition:transform .18s ease, background .2s, border-color .2s, color .2s; white-space:nowrap; }
.kw-btn-primary{ background:var(--accent); color:#16181C; box-shadow:0 8px 30px -12px rgba(95,179,201,0.65); }
.kw-btn-primary:hover{ background:var(--accent-bright); transform:translateY(-2px); }
.kw-btn .kw-arr{ transition:transform .2s; }
.kw-btn:hover .kw-arr{ transform:translateX(3px); }
.kw-nav{ position:sticky; top:0; z-index:50; background:rgba(22,24,28,0.72); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.kw-nav-in{ display:flex; align-items:center; justify-content:space-between; height:66px; gap:14px; }
.kw-logo{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:24px; letter-spacing:-0.02em; flex-shrink:0; color:var(--fg); }
.kw-logo b{ color:var(--accent); font-weight:inherit; }
.kw-navlink{ background:none; border:none; cursor:pointer; font:inherit; font-size:14px; color:var(--muted); padding:8px 0; position:relative; transition:color .2s; }
.kw-navlink:hover{ color:var(--fg); }
.kw-navlink.active{ color:var(--accent-bright); }
.kw-navlink.active::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--accent); border-radius:2px; }
.kw-nav-links{ display:none; gap:26px; font-size:14px; color:var(--muted); }
.kw-nav-right{ display:flex; align-items:center; gap:16px; }
.kw-nav-cta{ display:inline-flex; height:40px; padding:0 15px; font-size:13px; border-radius:10px; }
.kw-burger{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--line-2); border-radius:10px; background:var(--surface); color:var(--fg); cursor:pointer; }
.kw-mmenu{ position:fixed; inset:0; z-index:60; background:rgba(13,14,16,0.82); backdrop-filter:blur(12px); display:flex; flex-direction:column; padding:84px 22px 26px; gap:2px; animation:kwViewIn .28s ease both; overflow-y:auto; }
.kw-mmenu-close{ position:absolute; top:16px; right:18px; width:40px; height:40px; border-radius:10px; border:1px solid var(--line-2); background:var(--surface); color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.kw-mlink{ background:none; border:none; text-align:left; font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:1.5rem; color:var(--fg); padding:16px 4px; border-bottom:1px solid var(--line); cursor:pointer; }
.kw-footer2{ border-top:1px solid var(--line); padding:56px 0 28px; position:relative; z-index:1; }
.kw-fbrand p{ color:var(--muted); font-size:14px; margin:12px 0 16px; max-width:280px; }
.kw-fcol h5{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint); margin-bottom:14px; }
.kw-fcol ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.kw-fcol button, .kw-fcol a{ background:none; border:none; padding:0; cursor:pointer; font:inherit; font-size:14px; color:var(--muted); text-align:left; transition:color .2s; }
.kw-fcol button:hover, .kw-fcol a:hover{ color:var(--fg); }
.kw-fbar{ margin-top:44px; padding-top:22px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px; font-size:13px; color:var(--faint); }
.kw-fbar-links{ display:flex; flex-wrap:wrap; gap:16px; }
.kw-fsoc{ display:flex; gap:10px; margin-top:14px; }
.kw-fsoc a{ width:36px; height:36px; border:1px solid var(--line-2); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:color .2s, border-color .2s, transform .2s; }
.kw-fsoc a:hover{ color:var(--accent-bright); border-color:var(--accent); transform:translateY(-2px); }
.kw-nav{transition:background .3s, box-shadow .3s, border-color .3s}
.kw-nav.scrolled{background:rgba(22,24,28,0.9);box-shadow:0 12px 34px -20px rgba(0,0,0,0.85);border-color:var(--line-2)}
.kw-mmenu[hidden]{display:none}
.kw-fgrid2{display:grid;grid-template-columns:1fr;gap:34px}
.kw-fbar-links button, .kw-fbar-links a{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:13px;color:var(--muted)}
.kw-fbar-links button:hover, .kw-fbar-links a:hover{color:var(--fg)}
@media(min-width:960px){.kw-nav-links{display:flex}.kw-burger{display:none}}
@media(min-width:720px){.kw-fgrid2{grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px}.kw-fbar{flex-direction:row;justify-content:space-between;align-items:center}}

.kw-locale-btn{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:9px 14px; font:inherit; font-size:13.5px; color:var(--muted); background:var(--surface); border:1px solid var(--line); border-radius:8px; cursor:pointer; transition:color .15s,border-color .15s; }
.kw-locale-btn:hover{ color:var(--fg); border-color:var(--accent-deep); }
.kw-locale-btn .kw-globe{ color:var(--faint); display:flex; }

/* ── blog content ── */
.notice{display:none;max-width:720px;margin:26px auto -18px;padding:0 24px}
.notice.show{display:block}
.notice div{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:10px;padding:12px 16px;color:var(--muted);font-size:13.5px}
.blog-hero{padding:64px 0 16px}
.eyebrow{color:var(--accent);margin-bottom:14px}
.blog-hero h1{font-size:clamp(2.1rem,5vw,3.2rem);font-weight:800;max-width:720px}
.blog-hero p{color:var(--muted);max-width:560px;margin-top:16px;font-size:1.05rem}
.cats{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 4px}
.cat{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;cursor:pointer;background:none;transition:all .15s}
.cat:hover{color:var(--fg);border-color:var(--accent-deep)}
.cat.on{color:#0E1013;background:var(--accent);border-color:var(--accent)}
.thumb{position:relative;background:var(--bg-2);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.featured{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line-2);border-radius:18px;overflow:hidden;margin-top:32px;background:var(--surface);transition:border-color .2s}
.featured:hover{border-color:var(--accent-deep)}
.featured .thumb{min-height:300px}
.fbody{padding:32px 32px 28px;display:flex;flex-direction:column}
.meta{display:flex;gap:14px;align-items:center;color:var(--faint);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.13em;text-transform:uppercase;flex-wrap:wrap}
.meta .tag{color:var(--accent)}
.fbody h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em;margin:14px 0 12px}
.fbody p{color:var(--muted);font-size:0.97rem}
.readmore{margin-top:auto;padding-top:22px;color:var(--accent);font-weight:600;font-size:14.5px}
.featured:hover .readmore{color:var(--accent-bright)}
@media(max-width:820px){.featured{grid-template-columns:1fr}.featured .thumb{min-height:200px}}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0 84px}
.card{border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:var(--accent-deep)}
.card .thumb{aspect-ratio:16/10}
.cbody{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.cbody h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.13rem;font-weight:600;line-height:1.3;letter-spacing:-0.01em;margin:10px 0 8px}
.cbody p{color:var(--muted);font-size:0.9rem;flex:1}
.cbody .meta{margin-top:16px}
@media(max-width:820px){.grid{grid-template-columns:1fr}}
.article{max-width:720px;margin:0 auto;padding:56px 24px 24px}
.back{color:var(--muted);font-size:14px;display:inline-flex;gap:8px;align-items:center;margin-bottom:32px}
.back:hover{color:var(--accent)}
.article h1{font-size:clamp(1.9rem,4.6vw,2.9rem);font-weight:800;margin:16px 0 18px}
.lead{font-size:1.13rem;color:var(--muted);line-height:1.65}
.cover{margin:34px 0 8px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.cover img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}
.caption,figcaption{color:var(--faint);font-size:12.5px;margin-top:10px}
.prose{margin-top:32px;font-size:1.04rem;line-height:1.78;color:#C9CFD5}
.prose h2{font-family:'Bricolage Grotesque',sans-serif;color:var(--fg);font-size:1.55rem;font-weight:700;letter-spacing:-0.01em;line-height:1.2;margin:42px 0 14px}
.prose h3{font-family:'Bricolage Grotesque',sans-serif;color:var(--fg);font-size:1.2rem;font-weight:600;margin:32px 0 10px}
.prose p{margin-bottom:18px}
.prose ul,.prose ol{margin:0 0 18px 20px}
.prose li{margin-bottom:8px}
.prose b{color:var(--fg)}
.prose a{color:var(--accent);border-bottom:1px solid rgba(95,179,201,0.35)}
.prose a:hover{color:var(--accent-bright)}
.prose code{font-family:'JetBrains Mono',monospace;font-size:0.86em;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.prose hr{border:none;height:1px;background:var(--line-2);margin:36px 0}
.prose blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 20px;margin:28px 0;color:var(--fg);font-family:'Bricolage Grotesque',sans-serif;font-size:1.2rem;line-height:1.5}
.prose figure{margin:30px 0}
.prose figure img{border-radius:14px;border:1px solid var(--line);width:100%;height:auto;display:block}
.cta-box{margin:40px 0 8px;background:var(--bg-2);border:1px solid var(--accent-deep);border-radius:16px;padding:26px 26px 24px;position:relative;overflow:hidden}
.cta-box::after{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(95,179,201,0.18),transparent 65%)}
.cta-box h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.28rem;margin-bottom:8px;letter-spacing:-0.01em}
.cta-box p{color:var(--muted);font-size:0.95rem;margin-bottom:18px;max-width:420px}
.author{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);margin-top:44px;padding-top:26px}
.ava{width:52px;height:52px;border-radius:50%;background:var(--accent-deep);display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:#fff;flex-shrink:0}
.author b{display:block;font-size:15px}
.author span{color:var(--muted);font-size:13.5px}
.related{max-width:1120px;margin:0 auto;padding:6px 24px 10px}
.related h2{font-family:'Bricolage Grotesque',sans-serif;font-size:1.45rem;letter-spacing:-0.01em;margin-bottom:20px}
.related .grid{margin-bottom:20px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ── selector (copied from the site at build time) ── */
.kw-locale-btn{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:9px 14px; font:inherit; font-size:13.5px; color:var(--muted); background:var(--surface); border:1px solid var(--line); border-radius:8px; cursor:pointer; transition:color .15s,border-color .15s; }
.kw-locale-btn:hover{ color:var(--fg); border-color:var(--accent-deep); }
.kw-locale-ov{ position:fixed; inset:0; z-index:120; background:rgba(10,11,13,.72); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:20px; }
.kw-locale-box{ width:100%; max-width:720px; max-height:82vh; display:flex; flex-direction:column; background:var(--bg-2); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.kw-locale-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 24px 12px; }
.kw-locale-head h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:20px; letter-spacing:-0.02em; }
.kw-locale-x{ background:none; border:none; color:var(--muted); cursor:pointer; padding:6px; }
.kw-locale-x:hover{ color:var(--fg); }
.kw-locale-back{ display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:14px; color:var(--muted); background:none; border:none; padding:4px 0; cursor:pointer; }
.kw-locale-back:hover{ color:var(--fg); }
.kw-locale-step2{ display:flex; flex-direction:column; gap:14px; padding-top:14px; }
.kw-locale-picked{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:22px; letter-spacing:-0.02em; }
.kw-locale-picked span{ font-family:'Inter',sans-serif; font-weight:400; font-size:14px; color:var(--faint); }
.kw-locale-label{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-top:6px; }
.kw-locale-dd{ font:inherit; font-size:15px; color:var(--fg); background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:11px 14px; outline:none; max-width:320px; }
.kw-locale-dd:focus{ border-color:var(--accent-deep); }
.kw-locale-done{ align-self:flex-start; margin-top:10px; }
.kw-locale-search{ margin:16px 24px 4px; padding:10px 14px; font:inherit; font-size:14px; color:var(--fg); background:var(--surface); border:1px solid var(--line); border-radius:8px; outline:none; }
.kw-locale-search:focus{ border-color:var(--accent-deep); }
.kw-locale-body{ overflow-y:auto; padding:8px 24px 24px; }
.kw-locale-note{ color:var(--faint); font-size:12.5px; margin:8px 0 4px; }
.kw-locale-region h4{ font-family:'JetBrains Mono',monospace; font-weight:500; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:20px 0 8px; }
.kw-locale-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:2px 14px; }
.kw-locale-item{ text-align:left; font:inherit; font-size:14px; color:var(--muted); background:none; border:none; border-radius:6px; padding:7px 10px; cursor:pointer; transition:color .12s,background .12s; }
.kw-locale-item span{ color:var(--faint); font-size:12.5px; }
.kw-locale-item:hover{ color:var(--fg); background:var(--surface); }
.kw-locale-item.active{ color:var(--accent-bright); }
@media (max-width:560px){ .kw-locale-grid{ grid-template-columns:1fr; } .kw-locale-box{ max-height:92vh; } }
