@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/atkinson-hyperlegible-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/atkinson-hyperlegible-normal-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/atkinson-hyperlegible-normal-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-grotesque-normal-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-normal-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f6f8fc;--paper-2:#edf1f9;--card:#ffffff;--ink:#0b1530;--muted:#4a5874;--line:#dbe2f0;--sea:#1f4fe0;--sea-ink:#ffffff;--sea-soft:#e4ebff;--coral:#e5484d;--term:#0b1530;--term-ink:#d5def0;--amber:#f5a524;--ok:#17733f;--err:#c42b31;--footer:#0b1530;--radius:18px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--s-11:96px;--fs-xs:.78rem;--fs-sm:.9rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.3rem;--fs-xl:1.6rem;--fs-2xl:2rem;--fs-h2:clamp(1.7rem,3.2vw,2.4rem);--fs-h1:clamp(2.4rem,5.6vw,4.4rem);--fs-hero:clamp(2.6rem,5.5vw,4.7rem);--measure:34em;--indent:1.25em;--display:"Bricolage Grotesque","Avenir Next",system-ui,sans-serif;--body:"Atkinson Hyperlegible",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#0a1124;--paper-2:#0f1830;--card:#131d3a;--ink:#e9eefb;--muted:#a3b0cc;--line:#243154;--sea:#86a6ff;--sea-ink:#06102a;--sea-soft:#182759;--term:#050a18;--term-ink:#d5def0;--footer:#060b1a;--ok:#5fd08a;--err:#ff8085}}:root[data-theme="dark"]{--paper:#0a1124;--paper-2:#0f1830;--card:#131d3a;--ink:#e9eefb;--muted:#a3b0cc;--line:#243154;--sea:#86a6ff;--sea-ink:#06102a;--sea-soft:#182759;--term:#050a18;--term-ink:#d5def0;--footer:#060b1a;--ok:#5fd08a;--err:#ff8085}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-md)/1.6 var(--body)}img,svg{max-width:100%;height:auto}a{color:var(--sea);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--sea);outline-offset:3px;border-radius:4px}.site-footer :focus-visible,.cta-band :focus-visible,.buildlog :focus-visible{outline-color:#fff}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.035em}h2{font-size:var(--fs-h2);font-weight:700;margin-top:1.6em}h3{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em}p,ul,ol{margin:0 0 1em}ul,ol{padding-left:var(--indent)}p,ul:not([class]),ol:not([class]),.check-list{max-width:var(--measure)}p{text-wrap:pretty}.qa summary,.cta-band h2,.footer-brand{text-wrap:balance}.wrap{width:min(1180px,100% - var(--s-7));margin-inline:auto}.measure{max-width:var(--measure)}.lede{font-size:var(--fs-lg);line-height:1.5;color:var(--muted);max-width:var(--measure)}.small{font-size:var(--fs-sm);color:var(--muted)}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:var(--s-2) var(--s-4);border-radius:8px;z-index:10}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:68px}.brand{display:flex;align-items:center;gap:var(--s-3);color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:700;font-size:var(--fs-md);letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sea);color:var(--sea-ink);font-size:var(--fs-sm);font-weight:800;letter-spacing:-.04em}.nav-toggle{display:none;background:none;color:inherit;cursor:pointer;padding:0}.site-nav{display:flex;align-items:center;gap:var(--s-1)}.site-nav a{color:var(--ink);text-decoration:none;padding:var(--s-2) var(--s-3);border-radius:8px;font-size:var(--fs-base)}.site-nav a:hover{background:var(--paper-2)}.site-nav a[aria-current="page"]{background:var(--sea-soft);color:var(--ink);font-weight:700}.site-nav .nav-cta{margin-left:var(--s-2);color:var(--sea-ink)}@media (max-width:1060px){.js .site-nav:not(.open){display:none}.site-nav{flex-wrap:wrap}.nav-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line)}.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:var(--ink);position:relative;content:""}.nav-toggle span::before{position:absolute;top:-6px}.nav-toggle span::after{position:absolute;top:6px}.js .site-nav.open{position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;padding:var(--s-3) var(--s-4) var(--s-5);background:var(--paper);border-bottom:1px solid var(--line)}.site-nav a{padding:var(--s-3);font-size:var(--fs-md)}.site-nav .nav-cta{margin:var(--s-2) 0 0;text-align:center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-3) var(--s-6);border-radius:14px;font:700 var(--fs-base)/1.2 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.btn-primary{background:var(--sea);color:var(--sea-ink);box-shadow:0 12px 26px -14px color-mix(in srgb,var(--sea) 95%,transparent)}.btn-primary:hover{background:color-mix(in srgb,var(--sea) 85%,var(--ink));transform:translateY(-1px)}.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--card)}.btn-ghost:hover{border-color:var(--ink)}.btn-sm{padding:var(--s-2) var(--s-4);font-size:var(--fs-sm)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:1.6em 0 0}.section{padding:clamp(var(--s-10),8vw,var(--s-11)) 0}.section-tight{padding:var(--s-9) 0}.section:not(.section-alt) + .section:not(.section-alt){padding-top:0}.hero + .section-tight{padding-top:var(--s-3)}.section-alt{background:linear-gradient(180deg,var(--paper-2),var(--paper));border-top:1px solid var(--line)}.section-head{max-width:var(--measure);margin-bottom:var(--s-8)}.section-head h2{margin-top:0}.page-head{padding:clamp(var(--s-9),7vw,var(--s-11)) 0 var(--s-8);background:linear-gradient(180deg,var(--paper-2),var(--paper));border-bottom:1px solid var(--line)}.page-head h1{max-width:18ch}.crumbs{font:500 var(--fs-sm)/1.4 var(--body);color:var(--muted);margin:0 0 var(--s-4)}.crumbs ol{list-style:none;margin:0;padding:0;max-width:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2)}.crumbs li{margin:0;display:inline-flex;align-items:center;gap:var(--s-2)}.crumbs li + li::before{content:"";width:6px;height:6px;border:solid var(--sea);border-width:1.5px 1.5px 0 0;transform:rotate(45deg);opacity:.7}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--sea);text-decoration:underline}.crumbs [aria-current]{color:var(--ink);max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(var(--s-9),7vw,var(--s-11)) 0 clamp(var(--s-9),7vw,var(--s-11))}.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.85;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 44px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 44px 100%;-webkit-mask-image:radial-gradient(ellipse 62% 78% at 80% 34%,#000 8%,transparent 70%);mask-image:radial-gradient(ellipse 62% 78% at 80% 34%,#000 8%,transparent 70%)}.hero::after{content:"";position:absolute;right:-12%;top:-34%;width:62vw;height:62vw;z-index:-2;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sea) 17%,transparent),transparent 62%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(var(--s-7),5vw,var(--s-10));align-items:center}.hero h1{font-size:var(--fs-hero);max-width:12ch}.hero h1 em{font-style:normal;color:var(--sea)}.hero .lede{margin-top:1.1em}.hero-who{display:inline-flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-3);margin-bottom:var(--s-6);border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:var(--fs-sm)}.hero-who::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:#1fae5b;box-shadow:0 0 0 4px rgba(31,174,91,.18)}.hero-art{position:relative;display:grid;justify-items:end}.hero-photo{margin:0;width:min(80%,400px);aspect-ratio:4 / 5;border-radius:30px;overflow:hidden;background:var(--paper-2);border:6px solid var(--card);box-shadow:0 44px 80px -44px rgba(11,21,48,.6)}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo-mark{display:grid;justify-items:center;align-content:start;gap:var(--s-3);padding-top:18%;background:linear-gradient(160deg,#0b1530,#1c2f63);color:#fff}.hero-photo-mark b{font:800 clamp(4rem,9vw,6.4rem)/1 var(--display);letter-spacing:-.06em}.hero-photo-mark span{font:600 var(--fs-xs)/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#a9c1ff}.hero-art .buildlog{justify-self:start;position:relative;z-index:2;width:min(94%,460px);margin-top:-168px;font-size:var(--fs-xs);border-radius:16px;box-shadow:0 34px 70px -34px rgba(11,21,48,.75)}@media (min-width:561px){.hero-art .buildlog li{grid-template-columns:52px 46px 1fr;gap:var(--s-2)}}.buildlog{background:var(--term);color:var(--term-ink);border-radius:18px;padding:var(--s-5) 0 var(--s-6);font:400 var(--fs-sm)/1.55 var(--mono);box-shadow:0 30px 60px -30px rgba(15,27,45,.55);overflow:hidden}.buildlog-bar{display:flex;justify-content:space-between;padding:0 var(--s-5) var(--s-4);border-bottom:1px solid rgba(255,255,255,.08);color:#8796ab;font-size:var(--fs-xs)}.buildlog ol{list-style:none;margin:0;padding:var(--s-4) var(--s-5) 0;display:grid;gap:var(--s-2)}.buildlog li{display:grid;grid-template-columns:62px 64px 1fr;gap:var(--s-3)}.js .buildlog li{opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}.js .buildlog li.on{opacity:1;transform:none}.buildlog .lv{font-weight:600}.lv-info{color:#6fd0f0}.lv-notice{color:#ff7a6b}.lv-debug{color:#7f8ea5}.buildlog .cat{color:#c7a7ff}.buildlog .msg b{color:#fff;font-weight:600}@media (prefers-reduced-motion:reduce){.js .buildlog li{opacity:1;transform:none;transition:none}}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:0;padding:var(--s-1) var(--s-7);background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px -46px rgba(11,21,48,.5)}.stat{padding:var(--s-6) var(--s-5) var(--s-6) 0}.stat + .stat{padding-left:var(--s-5);border-left:1px solid var(--line)}.stat dt{font:800 var(--fs-2xl)/1 var(--display);letter-spacing:-.03em;color:var(--sea)}.stat dd{margin:var(--s-2) 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.35}.svc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-5)}@media (min-width:1000px){.svc-list:has(> .svc:nth-child(5):last-child){grid-template-columns:repeat(6,1fr)}.svc-list:has(> .svc:nth-child(5):last-child) > .svc{grid-column:span 2}.svc-list:has(> .svc:nth-child(5):last-child) > .svc:nth-child(n+4){grid-column:span 3}}.svc{display:grid;grid-template-columns:48px 1fr;gap:var(--s-4);padding:var(--s-6);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.svc:hover{transform:translateY(-3px);border-color:var(--sea);box-shadow:0 24px 44px -30px color-mix(in srgb,var(--sea) 70%,transparent)}.svc:hover h3{color:var(--sea)}.svc-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--sea);color:var(--sea-ink)}.svc h3{margin:var(--s-1) 0 var(--s-2)}.svc p{margin:0;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-6)}.work{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.work:hover{border-color:var(--sea);transform:translateY(-4px);box-shadow:0 34px 60px -40px rgba(11,21,48,.55)}.work-media{aspect-ratio:16 / 10;background:var(--paper-2);display:grid;place-items:center;overflow:hidden}.work-media img.cover{width:100%;height:100%;object-fit:cover;object-position:top}.work-media img.icon{width:96px;height:96px;border-radius:22px;box-shadow:0 12px 30px -12px rgba(0,0,0,.35)}.work-media:has(.glyph){position:relative;background:linear-gradient(135deg,#1f4fe0,#0b1530)}.work:nth-child(odd) .work-media:has(.glyph){background:linear-gradient(135deg,#0b1530,#2a3a66)}.work-media:has(.glyph)::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0 / 100% 28px,linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px) 0 0 / 28px 100%}.work-media .glyph{position:relative;z-index:1;font:800 3.2rem/1 var(--display);color:#fff;letter-spacing:-.04em}.work:nth-child(odd) .work-media .glyph{color:var(--amber)}.work-body{padding:var(--s-5) var(--s-6) var(--s-6)}.work-body h3{margin-bottom:var(--s-1)}.work-kind{color:var(--sea);font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-3)}.work-body p{margin:0}.tags{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0;margin:var(--s-4) 0 0}.tags li{font-size:var(--fs-xs);padding:var(--s-1) var(--s-3);border-radius:999px;background:var(--paper-2);color:var(--muted)}.case-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s-9);align-items:start}.facts{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-6) var(--s-6);margin:0}.facts div{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}.facts dt{font-size:var(--fs-sm);color:var(--muted)}.facts dd{margin:var(--s-1) 0 0;font-weight:700}.prose{max-width:var(--measure)}.prose h2{font-size:var(--fs-xl)}.prose li{margin-bottom:.4em}.callout{border-left:4px solid var(--sea);background:var(--sea-soft);padding:var(--s-4) var(--s-5);border-radius:0 10px 10px 0;margin:1.5em 0}.shot-row{display:flex;gap:var(--s-4);overflow-x:auto;padding:var(--s-2) 0 var(--s-5);scroll-snap-type:x mandatory}.shot-row img{width:230px;flex:none;border-radius:22px;scroll-snap-align:start}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:0}.step{display:grid;grid-template-columns:64px 1fr;gap:var(--s-5);padding:var(--s-7) 0;border-top:1px solid var(--line)}.step::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--sea-soft);font:800 var(--fs-lg)/1 var(--display);color:var(--sea);letter-spacing:-.04em}.step h3{margin-bottom:var(--s-2)}.step p{margin:0 0 .6em;color:var(--muted)}.step-facts{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);list-style:none;padding:0;margin:var(--s-3) 0 0;font-size:var(--fs-sm)}.step-facts li::before{content:"✓ ";color:var(--sea);font-weight:700}.phase-bar{display:flex;height:54px;border-radius:12px;overflow:hidden;margin:var(--s-6) 0 var(--s-3);font-size:var(--fs-sm);font-weight:700}.phase-bar span{display:grid;place-items:center;color:#fff;padding:0 var(--s-2);text-align:center;line-height:1.1}.pay-table{width:100%;border-collapse:collapse;margin:1em 0;font-size:var(--fs-base)}.pay-table th,.pay-table td{text-align:left;padding:var(--s-3) var(--s-3);border-bottom:1px solid var(--line)}.pay-table th:first-child,.pay-table td:first-child{padding-left:0}.pay-table th{font-size:var(--fs-sm);color:var(--muted);font-weight:700}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-6)}.plan{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:var(--s-6);display:flex;flex-direction:column;box-shadow:0 24px 50px -44px rgba(11,21,48,.6)}.plan.featured{border:2px solid var(--sea);box-shadow:0 30px 60px -36px color-mix(in srgb,var(--sea) 65%,transparent)}.plan h3{margin-bottom:var(--s-1)}.plan .price{font:800 var(--fs-xl)/1.2 var(--display);margin:var(--s-3) 0 var(--s-1);color:var(--sea)}.plan .price small{font:400 var(--fs-sm) var(--body);color:var(--muted)}.plan ul{padding-left:var(--indent);margin:var(--s-4) 0 var(--s-6)}.plan li{margin-bottom:.35em}.plan .btn{margin-top:auto}.qa-list{max-width:820px}.qa{border-top:1px solid var(--line)}.qa summary{cursor:pointer;padding:var(--s-5) var(--s-8) var(--s-5) 0;font:700 var(--fs-md)/1.35 var(--display);letter-spacing:-.01em;list-style:none;position:relative}.qa summary::-webkit-details-marker{display:none}.qa summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:var(--fs-xl);color:var(--sea)}.qa[open] summary::after{content:"–"}.qa > *:not(summary){margin:0 0 var(--s-5);color:var(--muted);max-width:var(--measure)}.faq-group h2{font-size:var(--fs-lg);margin:2.2em 0 .4em}.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4);margin:var(--s-6) 0 var(--s-2)}.dl-card{display:grid;gap:var(--s-1);padding:var(--s-5) var(--s-5);border:1px solid var(--line);border-radius:12px;background:var(--card);color:inherit;text-decoration:none}.dl-card:hover{border-color:var(--sea)}.dl-card span{color:var(--muted);font-size:var(--fs-sm)}.dl-card small{color:var(--sea);font-weight:700}.cv-item{padding:var(--s-6) 0;border-top:1px solid var(--line)}.cv-item header h3{margin-bottom:var(--s-1)}.cv-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-5);color:var(--muted);margin:0;max-width:none}.cv-stack{font:var(--fs-xs)/1.5 var(--mono);color:var(--muted);margin:var(--s-2) 0 0}.cv-item ul{margin:var(--s-3) 0 0;padding-left:var(--indent)}.cv-item li{margin-bottom:.45em}.skills{display:grid;gap:var(--s-3);margin:0}.skills div{display:grid;grid-template-columns:200px 1fr;gap:var(--s-4);padding:var(--s-3) 0;border-top:1px solid var(--line)}.skills dt{font-weight:700}.skills dd{margin:0;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--s-6)}.book-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-6)}.book-card .when{font:800 var(--fs-xl)/1.2 var(--display);margin:var(--s-2) 0}.form{display:grid;gap:var(--s-4);max-width:720px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}.field{display:grid;gap:var(--s-2);font-weight:700;font-size:var(--fs-base)}.field input,.field select,.field textarea{font:400 var(--fs-base)/1.4 var(--body);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--sea);outline-offset:1px;border-color:var(--sea)}.form .btn{justify-self:start}.hp{position:absolute;left:-9999px}.plans + p{margin-top:var(--s-6)}.form-status{margin:0;min-height:1.5em;font-weight:700}.form-status.ok{color:var(--ok)}.form-status.err{color:var(--err)}.contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:var(--s-10)}.contact-side dl{margin:0}.contact-side dt{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--s-5)}.contact-side dd{margin:var(--s-1) 0 0;font-weight:700}.app-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-3)}.app-links a{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3);border-radius:14px;border:1px solid var(--line);background:var(--card);color:inherit;text-decoration:none}.app-links a:hover{border-color:var(--sea)}.app-links img,.app-links svg{width:40px;height:40px;border-radius:10px;flex:none}.app-links span{display:grid}.app-links small{color:var(--muted)}.cta-band{position:relative;overflow:hidden;background:linear-gradient(120deg,#0b1530 10%,#1f4fe0 120%);color:#f5f8ff;border-radius:28px;padding:clamp(var(--s-7),5vw,var(--s-10));display:grid;grid-template-columns:1fr auto;gap:var(--s-6);align-items:center}.cta-band::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0 / 100% 36px,linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0 / 36px 100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}.cta-band > *{position:relative}.cta-band a:not(.btn){color:#cfdcff}.cta-band h2{margin:0 0 .3em;color:inherit}.cta-band p{margin:0;color:#dbe4fb}.cta-band .btn-primary{background:#fff;color:#0b1530;box-shadow:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-9)}.check-list{list-style:none;padding:0}.check-list li{padding-left:var(--indent);position:relative;margin-bottom:.6em}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--sea);font-weight:700}.x-list li::before{content:"✕";color:var(--coral)}.portrait{width:100%;max-width:380px;aspect-ratio:1;object-fit:cover;border-radius:24px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-4)}.video-card{display:grid;gap:var(--s-2);color:inherit;text-decoration:none;font-weight:700}.video-card img{border-radius:12px;aspect-ratio:16/9;object-fit:cover;width:100%}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:90px 1fr;gap:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--line)}.timeline .lg-year{font:700 var(--fs-base) var(--mono);color:var(--sea)}.timeline p{margin:var(--s-1) 0 0;color:var(--muted)}.table-wrap{overflow-x:auto}.doc h2{font-size:var(--fs-xl)}.doc{max-width:var(--measure)}.wrap.prose,.wrap.doc,.wrap.measure{max-width:none}.wrap.prose > *,.wrap.doc > *,.wrap.measure > *{max-width:var(--measure)}.notfound{text-align:left;padding:var(--s-11) 0}.site-footer{margin-top:var(--s-10);background:var(--footer);color:#c9d3ea;padding:var(--s-10) 0 var(--s-7);font-size:var(--fs-base)}.site-footer a{color:#a9c1ff}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s-7)}.footer-grid nav{display:grid;align-content:start;gap:var(--s-2)}.footer-grid nav a{color:#fff;text-decoration:none}.footer-grid nav a:hover{color:#a9c1ff}.footer-brand{font:800 var(--fs-lg) var(--display);letter-spacing:-.02em;margin-bottom:.4em}.footer-grid .footer-brand{color:#fff}.footer-h{font-weight:700;margin-bottom:var(--s-1);font-size:var(--fs-sm)}.footer-grid .footer-h{color:#8fa0c6}.footer-grid p{color:#aab6d3}.footer-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.13);color:#8fa0c6;font-size:var(--fs-sm)}.footer-base a{color:#8fa0c6;margin-left:var(--s-3)}@media (max-width:900px){.hero-grid,.case-hero,.two-col,.contact-grid,.cta-band{grid-template-columns:1fr}.hero-art{justify-items:center;margin-top:var(--s-3)}.hero-photo{width:min(72%,340px)}.hero-art .buildlog{margin-top:-120px;width:100%}.stats{padding:var(--s-1) var(--s-5)}.stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(4){border-left:0;padding-left:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.skills div{grid-template-columns:1fr;gap:var(--s-1)}}@media (max-width:560px){:root{--fs-md:1.0625rem}body{font-size:var(--fs-md)}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(odd){border-left:0;padding-left:0}.stat:nth-child(even){border-left:1px solid var(--line);padding-left:var(--s-5)}.stat:nth-child(n+3){border-top:1px solid var(--line)}.field-row{grid-template-columns:1fr}.buildlog li{grid-template-columns:52px 1fr}.buildlog .cat{display:none}.step{grid-template-columns:44px 1fr}.step::before{width:40px;height:40px;font-size:var(--fs-md)}.footer-grid{grid-template-columns:1fr}}.hero-note{margin:var(--s-4) 0 0;font-size:var(--fs-sm);color:var(--muted)}.trust{list-style:none;margin:var(--s-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);max-width:64ch}.trust li{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-2);border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:var(--fs-sm);line-height:1.3}.trust li::before{content:"\2713";color:var(--sea);font-weight:800}.trust-dark li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#f5f8ff}.trust-dark li::before{color:#cfdcff}.ex-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-5)}.ex{display:flex;flex-direction:column;padding:var(--s-6);background:var(--card);border:1px solid var(--line);border-top:4px solid var(--sea);border-radius:var(--radius)}.ex h3{margin:0 0 var(--s-2)}.ex p{margin:0 0 var(--s-3)}.ex .ex-basis{margin:auto 0 0;padding-top:var(--s-3);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--muted)}.ex-case{margin:var(--s-6) 0 0;font-weight:700}.bp-art .bp-g{stroke:var(--sea);stroke-opacity:.16}.bp-art .bp-d{stroke:var(--sea);stroke-opacity:.6;stroke-dasharray:3 5}.bp-art .bp-l{stroke:var(--sea);stroke-width:2.2}.bp-art .bp-s{stroke:color-mix(in srgb,var(--sea) 55%,var(--ink));stroke-width:1.4}.bp-art .bp-f{fill:var(--sea);fill-opacity:.09}.bp-art .bp-p{fill:var(--sea)}.page-head.has-art .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:clamp(var(--s-6),4vw,var(--s-10));align-items:center}.head-art,.notfound-art{display:block;width:100%;height:auto}.notfound-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:clamp(var(--s-6),4vw,var(--s-10));align-items:center}@media (max-width:760px){.page-head.has-art .wrap,.notfound-grid{grid-template-columns:1fr}.head-art,.notfound-art{max-width:260px;order:-1}}.photo-slot{margin:0 0 var(--s-7);border-radius:24px;overflow:hidden;background:var(--paper-2);border:6px solid var(--card);box-shadow:0 34px 70px -44px rgba(11,21,48,.55)}.photo-slot img{display:block;width:100%;height:auto}.photo-about-casual{max-width:420px}@media (min-width:820px){.photo-about-casual{float:right;width:300px;margin:var(--s-2) 0 var(--s-5) var(--s-7)}}.prose:has(.photo-about-casual)::after{content:"";display:table;clear:both}:root{--ease:cubic-bezier(.2,.7,.2,1);--t-fast:.18s;--t-med:.28s}a{transition:color var(--t-fast) var(--ease),text-decoration-color var(--t-fast) var(--ease),text-decoration-thickness var(--t-fast) var(--ease)}:focus-visible{transition:outline-offset var(--t-fast) var(--ease)}.btn{transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary:focus-visible{transform:translateY(-1px)}.site-nav a{transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.svc,.work,.dl-card,.app-links a,.plan{transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-med) var(--ease)}.svc h3{transition:color var(--t-med) var(--ease)}.svc:focus-visible{transform:translateY(-3px);border-color:var(--sea)}.svc:focus-visible h3{color:var(--sea)}.work:focus-visible{transform:translateY(-4px);border-color:var(--sea)}.dl-card:hover,.dl-card:focus-visible,.app-links a:hover,.app-links a:focus-visible{transform:translateY(-2px);border-color:var(--sea)}.plan:hover{transform:translateY(-3px)}.rv{opacity:0;transform:translateY(18px)}.rv.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}@keyframes grid-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(14px,-10px,0)}}.hero::before{animation:grid-drift 26s ease-in-out infinite alternate;will-change:transform}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.rv{opacity:1;transform:none}.svc:hover,.work:hover,.dl-card:hover,.app-links a:hover,.plan:hover,.btn:hover,.btn:active,.svc:focus-visible,.work:focus-visible,.dl-card:focus-visible,.app-links a:focus-visible,.btn-primary:focus-visible{transform:none}}@media print{.rv{opacity:1;transform:none}}.doc .doc-summary{font-size:var(--fs-lg);color:var(--muted);margin:var(--s-2) 0 var(--s-7);padding-bottom:var(--s-6);border-bottom:1px solid var(--line)}.doc > h1{margin-bottom:var(--s-2)}.next-step{padding-top:var(--s-4)}.notfound h1{margin-top:0}.notfound .lede{margin-bottom:var(--s-7)}.next-links{list-style:none;margin:0;padding:0;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}.next-links li{margin:0}.next-links a{position:relative;display:block;height:100%;padding:var(--s-5) var(--s-5) var(--s-5) var(--s-5);background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;transition:border-color var(--t-fast,.18s) ease,transform var(--t-fast,.18s) ease,box-shadow var(--t-fast,.18s) ease}.next-links a::before{content:"";position:absolute;left:var(--s-5);top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--sea)}.next-links strong{display:block;font:700 var(--fs-md)/1.25 var(--display);margin-bottom:var(--s-1)}.next-links span{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}.next-links a:hover,.next-links a:focus-visible{border-color:var(--sea);transform:translateY(-3px);box-shadow:0 24px 40px -32px rgba(11,21,48,.55)}.notfound-note{margin-top:var(--s-6);font-size:var(--fs-sm);color:var(--muted)}.buildlog .lv-err{color:#ff7a6b}@media (max-width:760px){.next-links{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.next-links a,.next-links a:hover{transition:none;transform:none}}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta-band{box-shadow:inset 0 0 0 1px rgba(134,166,255,.22)}:root:not([data-theme="light"]) .phase-bar{box-shadow:0 0 0 1px var(--line)}}:root[data-theme="dark"] .cta-band{box-shadow:inset 0 0 0 1px rgba(134,166,255,.22)}:root[data-theme="dark"] .phase-bar{box-shadow:0 0 0 1px var(--line)}