html[data-theme=light],:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fff8ea;--tile:#f8e6c6;--text:#001f3f;--muted:#46566b;--accent:#bc3317;--on-accent:#fff;--accent-soft:#bc33171a;--glow:#e7c9a0;--glow-bar:#bc3317;--line:#9c8672;--focus:#bc3317;--soft:#001f3f14;--grid:#6e503c24;--dot:#6e503c57;--shape:#6e503c2b;--glass:color-mix(in srgb,var(--tile) 40%,transparent);--glass-card:color-mix(in srgb,var(--tile) 75%,transparent);--glass-band:color-mix(in srgb,var(--tile) 94%,transparent);--glass-ground:color-mix(in srgb,var(--ground) 80%,transparent);--band-card-edge:#fff8ea;--band-line:transparent;--on-band-accent:#fff8ea;--shadow:0 18px 40px -18px #3c1e0a59;--band:#bc3317;--band-text:#fff8ea;--band-btn:#fff8ea;--band-btn-text:#001f3f;--band-focus:#fff8ea;--display:"Inter Tight",system-ui,sans-serif;--body:"Schibsted Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#001f3f;--tile:#0a2e56;--text:#fff8ea;--muted:#b8bbba;--accent:gold;--on-accent:#001f3f;--accent-soft:#ffd7001f;--glow:#2e465e;--glow-bar:gold;--line:#667683;--focus:gold;--soft:#fff8ea1a;--grid:#fff8ea13;--dot:#fff8ea3d;--shape:#fff8ea1c;--glass:color-mix(in srgb,var(--tile) 25%,transparent);--glass-card:color-mix(in srgb,var(--tile) 65%,transparent);--glass-band:color-mix(in srgb,var(--tile) 25%,transparent);--glass-ground:color-mix(in srgb,var(--ground) 70%,transparent);--band-card-edge:gold;--band-line:#ffd7008c;--on-band-accent:gold;--shadow:0 18px 40px -18px #0009;--band:#10365f;--band-btn:gold;--band-btn-text:#001f3f;--band-focus:gold}*{box-sizing:border-box}html{overscroll-behavior:none;scroll-behavior:smooth;scroll-padding-top:4rem}body{background:var(--ground);color:var(--text);font:400 1.0625rem/1.55 var(--body);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}a{color:inherit}p{margin:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.025em;margin:0;line-height:1.05}ul{margin:0;padding:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--on-accent)}.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}.sec{padding:4.5rem 0}.sec.first{padding-top:3rem}.skip{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:3px;padding:.5rem 1rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:.5rem}main>*>.wrap{animation:.45s cubic-bezier(.2,.7,.2,1) backwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bar-outer{--h-bg:var(--band);--h-text:#fff8ea;--h-muted:#fff8eacc;--h-line:#fff8ea80;--h-soft:#fff8ea29;--h-accent:var(--on-band-accent);z-index:50;background:var(--h-bg);color:var(--h-text);transition:background-color .35s,color .35s;position:sticky;top:0}.bar-outer[data-tone=band]{--h-bg:var(--ground);--h-text:var(--text);--h-muted:var(--muted);--h-line:var(--line);--h-soft:var(--soft);--h-accent:var(--accent)}.bar{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand b{font:700 1.1rem var(--display);letter-spacing:-.01em}.brand-mark{width:1.6rem;height:1.6rem;color:var(--h-accent);flex:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.brand:hover .brand-mark{animation:1.1s cubic-bezier(.2,.7,.2,1) laptop-spin}@keyframes laptop-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(360deg)scale(1.25)}to{transform:rotate(720deg)scale(1)}}.bar-r{align-items:center;gap:1.4rem;display:flex;position:relative}.bar nav{gap:.3rem;font-size:.95rem;display:flex}.bar nav a{color:var(--h-muted);border-radius:3px;padding:.35rem .7rem;text-decoration:none;transition:color .15s;position:relative}.bar nav a:after{content:"";background:var(--h-accent);transform-origin:0;height:2px;transition:transform .25s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:.15rem;left:.7rem;right:.7rem;transform:scaleX(0)}.bar nav a:hover{color:var(--h-text)}.bar nav a:hover:after{transform:scaleX(1)}.nx{vertical-align:bottom;line-height:inherit;max-width:1.6em;transition:max-width .45s cubic-bezier(.22,.8,.3,1);display:inline-grid;overflow:hidden}.nx>span{white-space:nowrap;grid-area:1/1;justify-self:start;width:max-content}.nx>span:first-child{opacity:1;transition:opacity .2s .15s}.nx>span:last-child{opacity:0;transition:opacity .15s}.bar nav a:hover .nx,.bar nav a:focus-visible .nx{max-width:9em}.bar nav a:hover .nx>span:first-child,.bar nav a:focus-visible .nx>span:first-child{opacity:0;transition:opacity .15s}.bar nav a:hover .nx>span:last-child,.bar nav a:focus-visible .nx>span:last-child{opacity:1;transition:opacity .25s .12s}.theme-btn{width:2.5rem;height:2.5rem;color:var(--h-text);border:1px solid var(--h-line);cursor:pointer;background:0 0;border-radius:3px;place-items:center;padding:0;transition:border-color .15s,transform .2s,background .15s;display:inline-grid}.theme-btn:hover{border-color:var(--h-text);background:var(--h-soft)}.theme-btn:active{transform:scale(.92)}.bar :focus-visible{outline-color:var(--h-text)}.set-panel :focus-visible{outline-color:var(--focus)}.set-btn{width:2.5rem;height:2.5rem;color:var(--h-text);border:1px solid var(--h-line);cursor:pointer;background:0 0;border-radius:3px;place-items:center;padding:0;transition:border-color .15s,transform .2s,background .15s;display:inline-grid}.set-btn:hover{border-color:var(--h-text);background:var(--h-soft)}.set-btn:active{transform:scale(.92)}.set-btn svg{width:1.75rem;height:1.75rem;display:block}.set-panel{z-index:60;background:var(--glass-ground);width:min(22rem,100vw - 2.5rem);max-height:calc(100vh - 6rem);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px;gap:1.2rem;padding:1.1rem;animation:.18s cubic-bezier(.2,.7,.2,1) both set-in;display:grid;position:absolute;top:calc(100% + .8rem);right:0;overflow:auto}@keyframes set-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.set-label{font:600 .8rem var(--mono);letter-spacing:.02em;color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.set-label output{color:var(--text)}.bg-grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.bg-opt{color:var(--muted);font:500 .72rem var(--body);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;gap:.3rem;padding:.25rem;transition:border-color .15s,color .15s;display:grid}.bg-opt:hover{color:var(--text)}.bg-opt[aria-pressed=true]{border-color:var(--accent);color:var(--text)}.bg-opt i{aspect-ratio:4/3;border:1px solid var(--line);background-color:var(--tile);border-radius:2px;display:block;position:relative;overflow:hidden}.bg-opt i[data-k=grid]{background-image:linear-gradient(var(--glow-bar) 1px,transparent 1px),linear-gradient(90deg,var(--glow-bar) 1px,transparent 1px);background-size:9px 9px}.bg-opt i[data-k=dots]{background-image:radial-gradient(circle,var(--glow-bar) 1.3px,transparent 1.5px);background-size:8px 8px}.bg-opt i[data-k=lines]{background-image:linear-gradient(135deg,transparent calc(50% - .5px),var(--glow-bar) calc(50% - .5px),var(--glow-bar) calc(50% + .5px),transparent calc(50% + .5px));background-size:9px 9px}.bg-opt i[data-s]:after{content:"";background:var(--text);opacity:.7;-webkit-mask-image:var(--pv);-webkit-mask-image:var(--pv);mask-image:var(--pv);position:absolute;inset:0;-webkit-mask-size:28px 28px;mask-size:28px 28px}.bg-opt i[data-k=waves]{--pv:var(--shape-waves)}.bg-opt i[data-k=orbits]{--pv:var(--shape-orbits)}.bg-opt i[data-k=lattice]{--pv:var(--shape-lattice)}.bg-opt i[data-k=stripes]{--pv:var(--shape-stripes)}.bg-opt i[data-k=weave]{--pv:var(--shape-weave)}.bg-opt i[data-k=ripples]{--pv:var(--shape-ripples)}.bg-opt i[data-k=scales]{--pv:var(--shape-scales)}.bg-opt i[data-k=plaid]{--pv:var(--shape-plaid)}.bg-opt i[data-k=chevrons]{--pv:var(--shape-chevrons)}.set-split{grid-template-columns:auto 1fr;align-items:start;gap:1.2rem;display:grid}.set-sliders{gap:1rem;display:grid}.dir-pad{grid-template-columns:repeat(3,2.3rem);gap:.3rem;display:grid}.dir-btn{width:2.3rem;height:2.3rem;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;place-items:center;padding:0;transition:border-color .15s,color .15s,background .15s;display:grid}.dir-btn svg{width:1.15rem;height:1.15rem}.dir-btn:hover:not(:disabled){color:var(--text);border-color:var(--text)}.dir-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dir-btn:disabled{opacity:.4;cursor:not-allowed}.set-range{width:100%;accent-color:var(--accent);cursor:pointer}.set-range:disabled{opacity:.45;cursor:not-allowed}.set-hint{color:var(--muted);margin-top:.4rem;font-size:.8rem}.theme-btn svg{width:1.3rem;height:1.3rem;display:block}.theme-btn .i-sun{display:none}html[data-theme=dark] .theme-btn .i-sun{display:block}html[data-theme=dark] .theme-btn .i-moon{display:none}.btn{font:600 1rem var(--body);border:2px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;border-radius:3px;align-items:center;gap:.55rem;padding:.7rem 1.2rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .15s,background .15s;display:inline-flex}.btn:hover{box-shadow:0 10px 22px -10px var(--accent);transform:translateY(-2px)}.btn:active{box-shadow:none;transform:none}.btn svg{flex:none;width:1.1rem;height:1.1rem}.btn.ghost{color:var(--text);border-color:var(--muted);box-shadow:none;background:0 0}.btn.ghost:hover{border-color:var(--text);background:var(--soft)}.textlink{font:600 1rem var(--body);color:var(--accent);text-decoration:none}.textlink span{transition:transform .2s;display:inline-block}.textlink:hover span{transform:translate(5px)}.more{margin-top:1.6rem}.hero-wrap{position:relative}:root{--bg-scale:1;--bg-dx:1;--bg-dy:1;--bg-o:1;--shape-waves:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg transform='translate%280,0%29'%3E%3Cpath d='M0 20Q10 0 20 20T40 20T60 20T80 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 20Q10 40 20 20T40 20T60 20T80 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cg transform='translate%280,40%29'%3E%3Cpath d='M0 20Q10 0 20 20T40 20T60 20T80 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M0 20Q10 40 20 20T40 20T60 20T80 20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");--shape-orbits:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='18' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='2 4'/%3E%3Ccircle cx='40' cy='40' r='9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='40' r='3' fill='black'/%3E%3Ccircle cx='0' cy='0' r='13' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='0' r='5' fill='black'/%3E%3Ccircle cx='80' cy='0' r='13' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='5' fill='black'/%3E%3Ccircle cx='0' cy='80' r='13' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='5' fill='black'/%3E%3Ccircle cx='80' cy='80' r='13' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='5' fill='black'/%3E%3C/svg%3E");--shape-lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M40 0L80 40L40 80L0 40Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M40 24L56 40L40 56L24 40Z' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='0' r='4.5' fill='black'/%3E%3Ccircle cx='80' cy='40' r='4.5' fill='black'/%3E%3Ccircle cx='40' cy='80' r='4.5' fill='black'/%3E%3Ccircle cx='0' cy='40' r='4.5' fill='black'/%3E%3C/svg%3E");--shape-stripes:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M20 -100L-100 20' fill='none' stroke='black' stroke-width='12' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M100 -100L-100 100' fill='none' stroke='black' stroke-width='12' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M180 -100L-100 180' fill='none' stroke='black' stroke-width='12' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M260 -100L-100 260' fill='none' stroke='black' stroke-width='12' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M46 -100L-100 46' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M126 -100L-100 126' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M206 -100L-100 206' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M286 -100L-100 286' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M60 -100L-100 60' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M140 -100L-100 140' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M220 -100L-100 220' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M300 -100L-100 300' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M74 -100L-100 74' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M154 -100L-100 154' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M234 -100L-100 234' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M314 -100L-100 314' fill='none' stroke='black' stroke-width='4' stroke-linecap='butt' stroke-linejoin='round'/%3E%3C/svg%3E");--shape-weave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Crect x='3' y='4' width='34' height='8' rx='1' fill='black'/%3E%3Crect x='3' y='16' width='34' height='8' rx='1' fill='black'/%3E%3Crect x='3' y='28' width='34' height='8' rx='1' fill='black'/%3E%3Crect x='4' y='43' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='16' y='43' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='28' y='43' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='44' y='3' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='56' y='3' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='68' y='3' width='8' height='34' rx='1' fill='black'/%3E%3Crect x='43' y='44' width='34' height='8' rx='1' fill='black'/%3E%3Crect x='43' y='56' width='34' height='8' rx='1' fill='black'/%3E%3Crect x='43' y='68' width='34' height='8' rx='1' fill='black'/%3E%3C/svg%3E");--shape-ripples:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='4' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='40' r='11' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='40' r='18' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='40' r='26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='0' r='4' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='0' r='11' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='0' r='18' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='0' r='26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='4' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='11' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='18' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='4' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='11' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='18' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='4' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='11' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='18' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shape-scales:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Ccircle cx='0' cy='0' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='0' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='0' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='20' cy='20' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='60' cy='20' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='40' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='40' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='40' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='20' cy='60' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='60' cy='60' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='0' cy='80' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='40' cy='80' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='80' cy='80' r='20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shape-plaid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M20 -100L-100 20' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M100 -100L-100 100' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M180 -100L-100 180' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M260 -100L-100 260' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M42 -100L-100 42' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M122 -100L-100 122' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M202 -100L-100 202' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M282 -100L-100 282' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M54 -100L-100 54' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M134 -100L-100 134' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M214 -100L-100 214' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M294 -100L-100 294' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M66 -100L-100 66' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M146 -100L-100 146' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M226 -100L-100 226' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M306 -100L-100 306' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -20L180 260' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -100L180 180' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -180L180 100' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -260L180 20' fill='none' stroke='black' stroke-width='6' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -42L180 238' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -122L180 158' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -202L180 78' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -282L180 -2' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -54L180 226' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -134L180 146' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -214L180 66' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -294L180 -14' fill='none' stroke='black' stroke-width='3' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -66L180 214' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -146L180 134' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -226L180 54' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3Cpath d='M-100 -306L180 -26' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='butt' stroke-linejoin='round'/%3E%3C/svg%3E");--shape-chevrons:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M0 12L20 0L40 12L60 0L80 12' fill='none' stroke='black' stroke-width='5' stroke-linecap='butt' stroke-linejoin='miter'/%3E%3Cpath d='M0 32L20 20L40 32L60 20L80 32' fill='none' stroke='black' stroke-width='5' stroke-linecap='butt' stroke-linejoin='miter'/%3E%3Cpath d='M0 52L20 40L40 52L60 40L80 52' fill='none' stroke='black' stroke-width='5' stroke-linecap='butt' stroke-linejoin='miter'/%3E%3Cpath d='M0 72L20 60L40 72L60 60L80 72' fill='none' stroke='black' stroke-width='5' stroke-linecap='butt' stroke-linejoin='miter'/%3E%3Cpath d='M0 92L20 80L40 92L60 80L80 92' fill='none' stroke='black' stroke-width='5' stroke-linecap='butt' stroke-linejoin='miter'/%3E%3C/svg%3E")}body:before{content:"";z-index:-1;pointer-events:none;--bg-base:48px;--bg-tile:calc(var(--bg-base) * var(--bg-scale));opacity:calc(var(--bg-f,1) * var(--bg-o,1));background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:var(--bg-tile) var(--bg-tile);animation:pan-grid calc(var(--bg-dur,28s) * var(--bg-scale)) linear infinite;animation-play-state:var(--bg-play,running);position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%)}html[data-bg=dots] body:before{--bg-base:24px;background-image:radial-gradient(circle,var(--dot) 1.6px,transparent 1.9px);animation-name:pan-one}html[data-bg=lines] body:before{--bg-base:28px;background-image:linear-gradient(135deg,transparent calc(50% - .75px),var(--grid) calc(50% - .75px),var(--grid) calc(50% + .75px),transparent calc(50% + .75px));animation-name:pan-one}html:is([data-bg=waves],[data-bg=orbits],[data-bg=lattice],[data-bg=stripes],[data-bg=weave],[data-bg=ripples],[data-bg=scales],[data-bg=plaid],[data-bg=chevrons]) body:before{--bg-base:80px;background-image:none;background-color:var(--shape);-webkit-mask-image:var(--shape-img),linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);-webkit-mask-image:var(--shape-img),linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:var(--shape-img),linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);-webkit-mask-size:var(--bg-tile) var(--bg-tile),100% 100%;-webkit-mask-size:var(--bg-tile) var(--bg-tile),100% 100%;mask-size:var(--bg-tile) var(--bg-tile),100% 100%;-webkit-mask-composite:source-in;animation-name:pan-mask;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}html[data-bg=waves] body:before{--shape-img:var(--shape-waves)}html[data-bg=orbits] body:before{--shape-img:var(--shape-orbits)}html[data-bg=lattice] body:before{--shape-img:var(--shape-lattice)}html[data-bg=stripes] body:before{--shape-img:var(--shape-stripes)}html[data-bg=weave] body:before{--shape-img:var(--shape-weave)}html[data-bg=ripples] body:before{--shape-img:var(--shape-ripples)}html[data-bg=scales] body:before{--shape-img:var(--shape-scales)}html[data-bg=plaid] body:before{--shape-img:var(--shape-plaid)}html[data-bg=chevrons] body:before{--shape-img:var(--shape-chevrons)}html[data-bg=plaid] body:before{--bg-f:.5}html[data-bg=stripes] body:before,html[data-bg=weave] body:before,html[data-bg=chevrons] body:before{--bg-f:.6}html[data-bg=ripples] body:before,html[data-bg=scales] body:before,html[data-bg=orbits] body:before{--bg-f:.8}@keyframes pan-grid{0%{background-position:0 0,0 0}to{background-position:calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile)),calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile))}}@keyframes pan-one{0%{background-position:0 0}to{background-position:calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile))}}@keyframes pan-mask{0%{-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0}to{-webkit-mask-position:calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile)),0 0;-webkit-mask-position:calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile)),0 0;mask-position:calc(var(--bg-dx) * var(--bg-tile)) calc(var(--bg-dy) * var(--bg-tile)),0 0}}.band,.contact,footer{position:relative}.band,.contact{color:var(--band-text)}.band:before,.contact:before{content:"";z-index:-2;pointer-events:none;position:absolute;inset:0}footer:before{content:"";z-index:-2;pointer-events:none;background:var(--ground);position:absolute;inset:0}.band:before,.contact:before{background:var(--band)}.band ::selection{background:var(--band-text);color:var(--band)}.band :focus-visible{outline-color:var(--band-focus)}.band .group-h{color:#fff8ead1}.band .group-h:after{background:#fff8ea66}.band .textlink,.band .page-h,.band .p-h{color:var(--band-text)}.band .pcard{color:var(--text);border-top-color:var(--band-card-edge)}.band .gallery figcaption{color:#fff8ead1}.band .ph-shot{color:#fff8ead9;background:repeating-linear-gradient(135deg,#0000 0 12px,#fff8ea1f 12px 13px);border-color:#fff8ea80}.band .ph-shot span{color:var(--band-text)}.band .gallery li:hover .ph-shot{border-color:var(--band-text);background-color:#fff8ea24}.hero{grid-template-columns:1.5fr 1fr;align-items:end;gap:2.4rem 3rem;padding:4.5rem 0 4rem;display:grid}.hero-head{grid-column:1/-1}.eyebrow{font:500 .88rem var(--mono);color:var(--accent);letter-spacing:.01em;margin-bottom:1.2rem}.hero h1{letter-spacing:-.035em;max-width:none;font-size:clamp(2rem,4.6vw,3.6rem);font-weight:700;line-height:1.08}.h1-main{display:block}.h1-sub{margin-top:.28em;font-size:.8em;line-height:1.15;display:block}.hl{background:var(--accent);color:var(--on-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.02em .22em .08em}.hl .thin{font-weight:300}.lede{max-width:56ch;color:var(--muted);margin-top:1.6rem;font-size:1.2rem}.cta{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.hero aside{border-left:3px solid var(--accent);padding-left:1.4rem}.hero dl{gap:1rem;margin:0;display:grid}.hero dt{color:var(--muted);font-size:.85rem}.hero dd{font:600 1.25rem var(--display);margin:0}.load{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.load.d1{animation-delay:80ms}.load.d2{animation-delay:.18s}.load.d3{animation-delay:.3s}.load.d4{animation-delay:.42s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.js .reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.js .reveal.in{opacity:1;transform:none}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:2rem;margin:0 0 1.8rem;display:flex}.sec-head h2,.page-h{font-size:clamp(2rem,4vw,3rem);font-weight:700}.page-h{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800}.group-h{font:600 .95rem var(--mono);color:var(--muted);letter-spacing:.02em;align-items:center;gap:1rem;margin:2.6rem 0 1.2rem;display:flex}.group-h:after{content:"";background:var(--line);opacity:.6;flex:1;height:1px}.search input,.carousel,.pcard,.tablist,.acc,.skill-card,.p-metric{-webkit-backdrop-filter:blur(var(--box-blur,2px)) saturate(1.2);backdrop-filter:blur(var(--box-blur,2px)) saturate(1.2)}.set-panel{-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html{--glass:var(--tile);--glass-card:var(--tile);--glass-band:var(--tile);--glass-ground:var(--ground)}}.search{width:100%;margin:0 0 2rem;position:relative}.search input{width:100%;font:500 1.05rem var(--body);color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:3px;padding:.85rem 2.8rem .85rem 2.9rem;transition:border-color .15s,box-shadow .15s}.search input::placeholder{color:var(--muted)}.search input::-webkit-search-cancel-button{appearance:none;display:none}.search input::-webkit-search-decoration{appearance:none;display:none}.search input:hover{border-color:var(--text)}.search input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.search .s-ico{z-index:1;width:1.2rem;height:1.2rem;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.search .s-clear{z-index:1;width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;font-size:1.2rem;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.search .s-clear:hover{background:var(--soft);color:var(--text)}.s-count{color:var(--muted);margin:-1rem 0 1.4rem;font-size:.92rem}.s-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:3px;padding:2.4rem}.chips{flex-wrap:wrap;gap:.35rem .4rem;list-style:none;display:flex}.chips li{font:400 .78rem var(--mono);border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:2px;padding:.15rem .55rem;transition:border-color .2s,color .2s}.tag{border:1px solid var(--accent);color:var(--accent);vertical-align:middle;letter-spacing:0;border-radius:2px;margin-left:.6rem;padding:.05rem .5rem;font-size:.78rem;font-weight:500;display:inline-block}.tag.wip{background:var(--accent);color:var(--on-accent)}.when{color:var(--muted);margin-bottom:.6rem;font-size:.92rem}.proof{font:700 clamp(2.2rem,4vw,3.2rem)/1 var(--display);color:var(--accent);display:block}.proof+small,.car-proof small,.p-metric small{font:500 .95rem var(--body);color:var(--muted);margin-top:.5rem;display:block}.carousel{color:var(--text);background:var(--glass-ground);border-top:6px solid var(--accent);border-radius:2px;flex-direction:column;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden}.carousel:hover{box-shadow:var(--shadow)}.car-viewport{flex:1;overflow:hidden}.car-track{transition:transform .7s cubic-bezier(.65,.05,.2,1);display:flex}.car-slide{flex:0 0 100%;min-width:0;padding:2px}.car-card{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:stretch;gap:3rem;min-height:27rem;padding:3rem 3rem 2rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.car-card:before{content:"";background:radial-gradient(500px circle at 85% 0%,var(--accent-soft),transparent 60%);opacity:.8;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.car-card:hover:before{opacity:1}.car-card h3{margin-bottom:1.2rem;font-size:clamp(2.2rem,4.4vw,3.8rem);font-weight:700;position:relative}.car-main{flex-direction:column;display:flex;position:relative}.car-sum{max-width:58ch;color:var(--text);font-size:1.15rem}.car-main .chips{margin-top:1.2rem}.car-main .pcard-go{margin-top:auto;padding-top:1.4rem}.car-proof{border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding-left:2.4rem;display:flex;position:relative}.car-proof .proof{font-size:clamp(2.8rem,5.4vw,4.6rem)}.car-ctl{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 3rem 1.6rem;display:flex;position:relative}.car-dots{align-items:center;gap:.5rem;display:flex}.dot{background:var(--line);opacity:.55;cursor:pointer;border:0;border-radius:99px;width:1.6rem;height:.5rem;padding:0;transition:width .35s cubic-bezier(.2,.7,.2,1),opacity .2s,background .2s;position:relative;overflow:hidden}.dot:hover{opacity:1}.dot.on{opacity:1;background:var(--glow);width:3.6rem}.dot-fill{background:var(--accent);transform-origin:0;animation:linear forwards fill;position:absolute;inset:0;transform:scaleX(0)}.dot.on:not(:has(.dot-fill)){background:var(--accent)}@keyframes fill{to{transform:scaleX(1)}}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;display:grid}.pgrid>.reveal{display:flex}.pcard{background:var(--glass);border-top:6px solid var(--accent);border-radius:2px;flex-direction:column;flex:1;gap:.9rem;padding:1.8rem;text-decoration:none;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;display:flex;position:relative;overflow:hidden}.pcard-glow{background:radial-gradient(420px circle at var(--mx,80%) var(--my,0%),var(--accent-soft),transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.pcard:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.pcard:hover .pcard-glow{opacity:1}.pcard:hover .chips li{border-color:var(--accent);color:var(--text)}.pcard-top{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex;position:relative}.pcard-n{font:500 .85rem var(--mono);color:var(--accent)}.pcard h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;position:relative}.pcard-sum{color:var(--text);position:relative}.pcard-metric{font:700 1.5rem/1.1 var(--display);color:var(--accent);margin-top:.4rem;position:relative}.pcard-metric small{font:500 .88rem var(--body);color:var(--muted);margin-top:.3rem;display:block}.pcard .chips{margin-top:auto;position:relative}.pcard-go{font:600 .95rem var(--body);color:var(--accent);margin-top:.4rem;position:relative}.pcard-go span{transition:transform .25s cubic-bezier(.2,.7,.2,1);display:inline-block}.pcard:hover .pcard-go span,.car-card:hover .pcard-go span{transform:translate(6px)}.tabs{width:100%}.tablist{grid-template-columns:repeat(var(--n),1fr);border:1px solid var(--line);background:var(--glass);border-radius:3px;max-width:22rem;margin-bottom:1.6rem;padding:3px;display:grid;position:relative}.tab-ink{width:calc((100% - 6px) / var(--n));background:var(--accent);transform:translateX(calc(var(--i) * 100%));border-radius:2px;transition:transform .35s cubic-bezier(.65,.05,.2,1);position:absolute;top:3px;bottom:3px;left:3px}.tablist [role=tab]{z-index:1;font:600 .98rem var(--body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:.65rem 1rem;transition:color .25s;position:relative}.tablist [role=tab]:hover{color:var(--text)}.tablist [role=tab][aria-selected=true]{color:var(--on-accent)}.tabpanel{gap:.9rem;animation:.4s cubic-bezier(.2,.7,.2,1) both panel-in;display:grid}.tabpanel[hidden]{display:none}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.acc{background:var(--glass-card);border-left:4px solid var(--line);border-radius:2px;transition:border-color .25s,box-shadow .25s}.acc:hover{border-left-color:var(--glow-bar)}.acc.open{border-left-color:var(--accent);box-shadow:var(--shadow)}.acc h4{font:inherit;letter-spacing:0}.acc-btn{all:unset;box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;gap:1.2rem;width:100%;padding:1.3rem 1.5rem;display:flex}.acc-btn:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.acc-head{gap:.25rem;display:grid}.acc-title{font:700 1.25rem var(--display);letter-spacing:-.01em}.acc-org{color:var(--accent)}.acc-meta{font:400 .85rem var(--mono);color:var(--muted)}.acc-sum{color:var(--muted);margin-top:.25rem;font-size:.97rem}.acc-icon{border:1px solid var(--line);border-radius:50%;flex:none;width:1.6rem;height:1.6rem;transition:background .2s,border-color .2s;position:relative}.acc-icon:before,.acc-icon:after{content:"";background:var(--text);width:.6rem;height:2px;transition:transform .3s cubic-bezier(.2,.7,.2,1),background .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.acc-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.acc-btn:hover .acc-icon{border-color:var(--accent)}.acc.open .acc-icon{background:var(--accent);border-color:var(--accent)}.acc.open .acc-icon:before,.acc.open .acc-icon:after{background:var(--on-accent)}.acc.open .acc-icon:after{transform:translate(-50%,-50%)rotate(0)}.acc-body{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1);display:grid}.acc.open .acc-body{grid-template-rows:1fr}.acc-inner{min-height:0;overflow:hidden}.acc-inner ul{gap:.5rem;margin:0;padding:0 1.5rem 1.4rem 2.7rem;display:grid}.acc-inner li{padding-left:.2rem}.acc-inner li::marker{color:var(--accent)}.acc:not(.open) .acc-inner{visibility:hidden;transition:visibility 0s .4s}.skills-block{margin-top:4rem}.skills-block h3{font:700 clamp(1.5rem,2.6vw,2rem) var(--display);margin-bottom:1.4rem}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.skill-card{background:var(--glass-card);border-top:3px solid var(--accent);border-radius:2px;padding:1.3rem 1.4rem 1.4rem;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}.skill-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.skill-card h4{font:600 .85rem var(--mono);color:var(--accent);letter-spacing:.02em;margin-bottom:.9rem}.skill-card ul{flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;display:flex}.skill-card li{font-size:1rem}.contact{padding:4.5rem 0}.contact-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;display:grid}.contact h2{max-width:14ch;font-size:clamp(2rem,5vw,3.6rem);font-weight:800}.contact p{max-width:46ch;margin-top:1rem}.contact .btn{background:var(--band-btn);color:var(--band-btn-text);border-color:var(--band-btn);margin-top:1.6rem}.contact .btn:hover{box-shadow:0 10px 22px -10px #00000080}.contact :focus-visible{outline-color:var(--band-focus)}.contact ::selection{background:var(--band-text);color:var(--band)}.links{border-top:1px solid #fff8ea59;list-style:none;display:grid}.links a{border-bottom:1px solid #fff8ea59;grid-template-columns:5.5rem 1fr auto;align-items:center;gap:1rem;padding:1rem .4rem;text-decoration:none;transition:padding .25s cubic-bezier(.2,.7,.2,1),background .2s;display:grid}.links a:hover{background:#fff8ea1a;padding-left:1rem}.l-k{font:500 .85rem var(--mono);opacity:.8}.l-v{font:600 1.15rem var(--display);overflow-wrap:anywhere}.l-arrow{transition:transform .25s}.links a:hover .l-arrow{transform:translate(3px,-3px)}footer{color:var(--muted);text-align:center;padding:1.8rem 0;font-size:.85rem}:is(main:has(>.band:last-child)~footer,main:has(>.contact:last-child)~footer){color:var(--band-text)}main:has(>.band:last-child)~footer:before{background:var(--band)}main:has(>.contact:last-child)~footer:before{background:var(--band)}.crumbs{margin-bottom:2rem}.crumbs a{color:var(--muted);font-size:.95rem;text-decoration:none;transition:color .15s}.crumbs a:hover{color:var(--accent)}.p-head h1{max-width:18ch;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:800}.p-lede{max-width:64ch;color:var(--muted);margin-top:1.4rem;font-size:1.2rem}.p-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:3.5rem;margin-top:3.5rem;display:grid}.p-main{gap:2.6rem;display:grid}.p-h{font:700 1.5rem var(--display);margin-bottom:.9rem}.p-h.sm{color:var(--muted);font-size:1.05rem}.p-text{max-width:62ch}.p-list{gap:.8rem;max-width:64ch;padding-left:1.2rem;display:grid}.p-list li::marker{color:var(--accent)}.p-side{gap:2rem;display:grid;position:sticky;top:6rem}.p-metric{background:var(--glass);border-top:6px solid var(--accent);border-radius:2px;padding:1.6rem}.p-shots{margin:0}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;list-style:none;display:grid}.gallery figure{margin:0}.gallery img{border:1px solid var(--line);border-radius:2px;width:100%;display:block}.ph-shot{aspect-ratio:16/10;border:1px dashed var(--line);background:repeating-linear-gradient(135deg,transparent 0 12px,var(--soft) 12px 13px);color:var(--muted);border-radius:2px;place-content:center;justify-items:center;gap:.3rem;transition:border-color .25s,background-color .25s;display:grid}.ph-shot span{font:500 1.6rem var(--mono);color:var(--accent)}.ph-shot small{font-size:.82rem}.gallery li:hover .ph-shot{border-color:var(--accent);background-color:var(--accent-soft)}.gallery figcaption{color:var(--muted);margin-top:.6rem;font-size:.92rem}.pn{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.pn-a{border:1px solid var(--line);border-radius:3px;gap:.3rem;padding:1.2rem 1.4rem;text-decoration:none;transition:border-color .2s,transform .25s cubic-bezier(.2,.7,.2,1),background .2s;display:grid}.pn-a small{color:var(--muted);font-size:.85rem}.pn-a span{font:700 1.2rem var(--display)}.pn-a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-3px)}.pn-a.next{text-align:right}.post-tags{margin-top:1.2rem}.pcard-thumb{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:2px;width:100%;display:block;position:relative}.post-photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.2rem;max-width:56rem;margin-top:2.4rem;list-style:none;display:grid}.post-photos figure{gap:.6rem;display:grid}.post-photos img{border:1px solid var(--line);border-radius:3px;width:100%;height:auto}.post-photos figcaption{color:var(--muted);font-size:.92rem}.snip{color:var(--muted);font-size:.9rem;line-height:1.5;position:relative}.snip mark{background:var(--accent-soft);color:var(--text);border-radius:2px;padding:0 .12rem}.tagbar{flex-wrap:wrap;gap:.45rem;margin:-.6rem 0 1.8rem;display:flex}.tagbtn{font:500 .85rem var(--mono);border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;padding:.3rem .75rem;transition:border-color .15s,color .15s,background .15s}.tagbtn small{opacity:.7;margin-left:.2rem}.tagbtn:hover{border-color:var(--accent);color:var(--text)}.tagbtn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.prose{max-width:68ch;margin-top:2.4rem;font-size:1.1rem;line-height:1.7}.prose>*+*{margin-top:1.1rem}.prose h2{font:700 1.7rem var(--display);margin-top:2.4rem}.prose h3{font:700 1.3rem var(--display);margin-top:2rem}.prose a{color:var(--accent);text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:4px solid var(--accent);color:var(--muted);padding-left:1rem}.prose :not(pre)>code{font:500 .9em var(--mono);background:var(--soft);border-radius:2px;padding:.1rem .4rem}.prose pre{background:var(--tile);border:1px solid var(--line);font:400 .9rem/1.6 var(--mono);border-radius:3px;padding:1rem 1.2rem;overflow-x:auto}.prose pre code{font:inherit;background:0 0;padding:0}.prose{--tok-str:#1f6f4a;--tok-num:#8a4b00;--tok-fn:#1f4f9e}html[data-theme=dark] .prose{--tok-str:#9bd8a8;--tok-num:#ffb86b;--tok-fn:#8ec1ff}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-built_in,.prose .hljs-literal,.prose .hljs-meta{color:var(--accent)}.prose .hljs-string,.prose .hljs-regexp,.prose .hljs-addition{color:var(--tok-str)}.prose .hljs-number,.prose .hljs-symbol,.prose .hljs-bullet{color:var(--tok-num)}.prose .hljs-title,.prose .hljs-function,.prose .hljs-attr,.prose .hljs-attribute,.prose .hljs-variable,.prose .hljs-template-variable,.prose .hljs-section{color:var(--tok-fn)}.prose .hljs-comment,.prose .hljs-quote,.prose .hljs-deletion{color:var(--muted);font-style:italic}.prose .hljs-emphasis{font-style:italic}.prose .hljs-strong{font-weight:700}.prose table{border-collapse:collapse;width:100%;font-size:.98rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.5rem .8rem}.prose th{background:var(--soft)}.prose img{border-radius:3px;max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid var(--line)}@media (max-width:900px){.hero,.contact-grid,.p-grid{grid-template-columns:1fr}.p-side{position:static}.pgrid{grid-template-columns:1fr}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.car-card{grid-template-columns:1fr;gap:1.4rem;min-height:0;padding:1.6rem 1.4rem 1rem}.car-ctl{padding:1rem 1.4rem 1.3rem}.car-proof{border-left:0;border-top:1px solid var(--line);padding:1.2rem 0 0}.bar nav a:not(:nth-child(2)){display:none}.gallery{grid-template-columns:1fr}}@media (max-width:520px){.brand b{white-space:nowrap;font-size:1rem}.bar{gap:.5rem}.bar nav a{padding:.35rem .45rem}.set-btn,.theme-btn{width:2.25rem;height:2.25rem}.pcard{padding:1.2rem}.hero{padding-top:2.5rem}.links a{grid-template-columns:4.5rem 1fr auto}.pn,.skill-grid{grid-template-columns:1fr}.l-v{font-size:1rem}.bar-r{gap:.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}html{scroll-behavior:auto}body:before{animation:none!important}.js .reveal{opacity:1;transform:none}}
