html{overflow-x:hidden}body{overflow:visible!important;height:auto!important;min-height:100%}:root{--ember:#0f6fb5;--ember-bright:#2b91d6;--pine-deep:#0b2840;--pine:#134a72;--mint:#7fcdf8}html{scroll-behavior:smooth}::selection{background:var(--ember);color:#fff}img{max-width:100%}.hero{min-height:100svh}.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 14s var(--ease) forwards}@keyframes heroZoom{to{transform:scale(1)}}.hero .hero-scrim{background:linear-gradient(90deg,hsla(40,27%,98%,.97) 0%,hsla(40,27%,98%,.9) 26%,hsla(40,27%,98%,.55) 50%,hsla(40,27%,98%,.12) 74%,hsla(40,27%,98%,0) 100%),linear-gradient(0deg,rgba(12,34,52,.28),rgba(12,34,52,0) 38%) !important}.hero-inner{max-width:660px;animation:rise .9s var(--ease) both}.kinetic,.hero h1{font-family:var(--font-fraunces);line-height:.96;letter-spacing:-.015em;font-size:clamp(3.2rem,8.5vw,6.6rem)}.kinetic .l{display:inline-block}.hero-lead{font-size:clamp(1.12rem,1.6vw,1.34rem);color:#22384c;max-width:46ch}.hero-eyebrow{animation:rise .7s var(--ease) both}.readout{display:flex;flex-wrap:wrap;gap:38px;margin-top:46px;padding-top:30px;border-top:1px solid var(--line);animation:rise 1s var(--ease) .15s both}.readout .n{font-family:var(--font-fraunces);font-size:clamp(2rem,3.6vw,3.1rem);line-height:1;color:var(--pine);font-weight:600}.readout .u{color:var(--ember);font-family:var(--font-fraunces)}.readout .k{display:block;margin-top:7px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.btn{border-radius:999px;font-weight:600;letter-spacing:.01em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}.btn-primary{background:linear-gradient(135deg,var(--ember-bright),var(--ember)) !important;color:#fff !important;box-shadow:0 10px 26px -10px rgba(15,111,181,.7)}.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 40px -12px rgba(15,111,181,.85)}.btn-ghost:hover{transform:translateY(-2px)}section{position:relative}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ember);display:flex;align-items:center;gap:12px}.eyebrow .num,.eyebrow b{color:var(--pine)}.statement,.consult,.site,.qband{position:relative}.statement::before,.qband::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 15% 0%,rgba(127,205,248,.10),transparent 60%);pointer-events:none}.tcard,.work .mphoto,.qcard,.diff figure,.tech .cell{overflow:hidden;border-radius:16px}.tcard img,.qcard img,.tech .cell img,.diff img{transition:transform .7s var(--ease)}.tcard:hover img,.qcard:hover img,.tech .cell:hover img{transform:scale(1.06)}.tcard{box-shadow:0 1px 0 var(--line);transition:transform .3s var(--ease),box-shadow .3s}.tcard:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(12,34,52,.5)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{opacity:1!important}.reveal > *{animation:rise both;animation-timeline:view();animation-range:entry 0% cover 22%}}}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.qband{background:var(--pine-deep);color:#fff;padding:clamp(70px,9vw,120px) 0}.qband .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.qband .eyebrow{color:var(--mint)}.qhead{font-family:var(--font-fraunces);font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.01em;margin:14px 0 8px;max-width:20ch}.qsub{color:var(--muted-d,#a7afac);max-width:60ch;font-size:1.08rem}.qgallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:46px}.qcard{position:relative;border-radius:18px;overflow:hidden;background:#072036;min-height:230px;box-shadow:0 30px 60px -40px #000}.qcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.02)}.qcard .qcap{position:absolute;left:0;right:0;bottom:0;padding:46px 20px 18px;background:linear-gradient(0deg,rgba(6,28,44,.92),rgba(6,28,44,0));font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#dde9f4;transform:translateY(8px);opacity:.92;transition:transform .4s var(--ease),opacity .4s}.qcard:hover .qcap{transform:none;opacity:1}.qcard.tall{grid-row:span 2;min-height:476px}.qspan6{grid-column:span 6}.qspan4{grid-column:span 4}.qspan8{grid-column:span 8}.qspan3{grid-column:span 3}.qspan12{grid-column:span 12}@media(max-width:820px){.qspan6,.qspan4,.qspan8,.qspan3{grid-column:span 6}.qcard.tall{grid-row:auto;min-height:230px}}.qstories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}@media(max-width:820px){.qstories{grid-template-columns:1fr}}.qstory{background:rgba(255,255,255,.04);border:1px solid var(--line-d,hsla(0,0%,100%,.15));border-radius:16px;padding:26px 24px}.qstory .qquote{font-family:var(--font-fraunces);font-size:1.18rem;line-height:1.45}.qstory .qstars{color:var(--ember-bright);letter-spacing:3px;margin-bottom:12px}.qstory .qattr{margin-top:16px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}.qpress{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.qpress span{font-family:var(--font-fraunces);font-size:1.15rem;color:var(--pine);opacity:.85}.qpress span+span::before{content:"•";color:var(--ember);margin-right:26px;opacity:.6}.interior{padding-top:clamp(120px,15vh,180px)}.interior h2{font-family:var(--font-fraunces);letter-spacing:-.01em}.note{opacity:.0;display:none}#navt{display:none}.burger{display:none}@media(max-width:1200px){.burger{margin-left:auto;display:inline-flex;flex-direction:column;gap:5px;width:44px;height:40px;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:hsla(40,27%,98%,.6)}.burger i{width:20px;height:2px;background:var(--ink);display:block;transition:transform .3s var(--ease),opacity .3s}nav.primary{display:none !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:hsla(40,27%,98%,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:8px 24px 18px}nav.primary a{padding:13px 0;border-bottom:1px solid var(--line);font-size:1.05rem}#navt:checked ~ nav.primary{display:flex !important}#navt:checked ~ .burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}#navt:checked ~ .burger i:nth-child(2){opacity:0}#navt:checked ~ .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}a.minicard{display:block;text-decoration:none;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;background:rgba(16,60,98,.02);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}a.minicard:hover{transform:translateY(-4px);border-color:var(--ember);box-shadow:0 22px 46px -28px rgba(12,34,52,.45)}a.minicard h3{font-family:var(--font-fraunces);margin:0 0 6px}a.minicard p{color:var(--muted);margin:0}a.minicard .readlink{display:inline-block;margin-top:14px;color:var(--ember);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}a.minicard:hover .readlink{text-decoration:underline}.minicard .readlink.muted{color:var(--muted);text-transform:uppercase}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:vtOut .30s var(--ease,ease) both}::view-transition-new(root){animation:vtIn .42s var(--ease,ease) both}}@keyframes vtOut{to{opacity:0;transform:translateY(-6px)}}@keyframes vtIn{from{opacity:0;transform:translateY(10px)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){#progress{width:100%;transform-origin:left center;transform:scaleX(0);animation:progGrow linear both;animation-timeline:scroll(root)}}}@keyframes progGrow{to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.qband{isolation:isolate}.qband::after{content:"";position:absolute;inset:-25% -12%;z-index:0;pointer-events:none;background:radial-gradient(38% 48% at 18% 28%,rgba(127,205,248,.18),transparent 60%),radial-gradient(34% 44% at 82% 22%,rgba(15,111,181,.14),transparent 60%),radial-gradient(46% 56% at 62% 92%,rgba(127,205,248,.12),transparent 60%);filter:blur(14px);animation:aurora 24s ease-in-out infinite alternate}.qband > *{position:relative;z-index:1}}@keyframes aurora{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2.5%,-2%,0) scale(1.07)}100%{transform:translate3d(-2%,1.5%,0) scale(1.03)}}.tcard{transform-style:preserve-3d;will-change:transform}.tcard:hover{transform:perspective(950px) rotateX(2.5deg) translateY(-6px)}.qcard{transition:transform .45s var(--ease,ease),box-shadow .45s var(--ease,ease)}.qcard:hover{transform:translateY(-5px) scale(1.012)}.hband,.work .mask,.reviews .mask{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}nav.primary a{position:relative}nav.primary a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--ember);transition:right .3s var(--ease,ease)}nav.primary a:hover::after{right:0}:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:3px}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.stage .bg img{animation:parallax linear both;animation-timeline:view();animation-range:cover}}}@keyframes parallax{from{transform:scale(1.14) translateY(-2.2%)}to{transform:scale(1.14) translateY(2.2%)}}a,.btn,.tcard,.qcard,.minicard{transition-timing-function:cubic-bezier(.2,.7,.2,1)}:root{--ember:#0f6fb5;--ember-bright:#2b91d6;--red:#0f6fb5}.btn-primary{box-shadow:0 10px 26px -10px rgba(15,111,181,.55) !important}.btn-primary:hover{box-shadow:0 18px 40px -12px rgba(15,111,181,.72) !important}a.minicard:hover{box-shadow:0 22px 46px -28px rgba(12,34,52,.45)}.qband::after{background:radial-gradient(38% 48% at 18% 28%,rgba(127,205,248,.20),transparent 60%),radial-gradient(34% 44% at 82% 22%,rgba(43,145,214,.16),transparent 60%),radial-gradient(46% 56% at 62% 92%,rgba(127,205,248,.12),transparent 60%) !important}@media (max-width:740px){header.site .header-cta{display:none !important}header.site .wrap{gap:12px}}@media (min-width:741px) and (max-width:1200px){header.site .header-cta .btn-primary{padding:11px 20px !important;min-height:44px !important;font-size:.95rem !important;white-space:nowrap !important;width:auto !important}}.prose{max-width:72ch;margin:0 auto}.prose p,.prose li{font-size:1.12rem;line-height:1.75;color:var(--ink,#141e28)}.prose p{margin:0 0 1.15em}.prose h2{font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.12;letter-spacing:-.02em;margin:1.9em 0 .5em}.prose h3{font-size:clamp(1.18rem,2.2vw,1.42rem);line-height:1.2;letter-spacing:-.01em;margin:1.5em 0 .4em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.25em}.prose li{margin:.35em 0}.prose a{color:var(--ember,#0f6fb5);text-underline-offset:3px;text-decoration-thickness:1px}.prose strong{color:var(--ink,#141e28)}.prose blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--ember,#0f6fb5);color:var(--muted);font-style:italic}.prose .note{background:rgba(15,111,181,.06);border:1px solid var(--line,#e6e6e1);border-radius:14px;padding:18px 20px;margin:1.5em 0;font-size:1.02rem;color:var(--muted)}.prose .note strong{color:var(--ember,#0f6fb5)}.artmeta{color:var(--muted);font-size:.96rem;margin-top:14px}.artmeta a{color:inherit}.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:1rem}.prose th,.prose td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line,#e6e6e1);vertical-align:top}.prose th{font-weight:700;color:var(--ink,#141e28)}.bloggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;margin-top:40px}a.postcard{display:flex;flex-direction:column;gap:10px;padding:24px 24px 26px;border:1px solid var(--line,#e6e6e1);border-radius:18px;background:#fff;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}a.postcard:hover{transform:translateY(-4px);border-color:rgba(15,111,181,.4);box-shadow:0 22px 46px -28px rgba(12,34,52,.45)}a.postcard .tag{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember,#0f6fb5);font-weight:700}a.postcard h3{font-size:1.24rem;line-height:1.18;letter-spacing:-.01em;margin:0}a.postcard p{color:var(--muted);font-size:1rem;line-height:1.5;margin:0}a.postcard .more{margin-top:auto;color:var(--ember,#0f6fb5);font-weight:700;font-size:.96rem}.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:28px}.hero h1 .l{overflow:visible}.hero h1 .l>span{transform:none!important;animation:none!important}.kinetic{-webkit-text-fill-color:var(--ember-bright,#2b91d6);color:var(--ember-bright,#2b91d6)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.kinetic{-webkit-text-fill-color:transparent}}:root{--red-d:#0a3a5e;--red-2:#5cb8f0;--ember-d:#0a3a5e;--gold:#e3a93c;--pine-grad-1:#0e3354;--pine-grad-2:#08243c;--r-sm:12px;--r:18px;--r-lg:26px;--sh-1:0 1px 2px rgba(10,30,46,.05),0 4px 14px -6px rgba(10,30,46,.12);--sh-2:0 24px 50px -30px rgba(10,30,46,.5);--sh-3:0 50px 100px -50px rgba(10,30,46,.6);--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,.84,.32,1)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-feature-settings:"kern","liga","calt";letter-spacing:-.003em}h1,h2,h3,h4{font-optical-sizing:auto;text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--ember);color:#fff}a{-webkit-tap-highlight-color:transparent}body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.018;background-image:url("/images/ui-noise.svg");mix-blend-mode:multiply}@media print{body::after{display:none}}.cursor{display:none !important}html:not(.is-ready) .reveal{opacity:1 !important;transform:none !important}html.is-ready .reveal{animation:none !important}html.is-ready .reveal > *{animation:none !important}html.is-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--rd,0) * 80ms)}html.is-ready .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.is-ready .reveal{opacity:1;transform:none;transition:none}}html.is-ready #progress{animation:none !important;transform:none !important}header.site{padding:14px 0;background:hsla(40,30%,98%,.72);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);transition:padding .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}header.site.solid{padding:8px 0;background:hsla(40,30%,98%,.9);border-bottom-color:rgba(10,30,46,.08);box-shadow:0 10px 40px -26px rgba(10,30,46,.45)}.logo .mark{filter:drop-shadow(0 2px 6px rgba(10,30,46,.18));transition:transform .4s var(--ease)}.logo:hover .mark{transform:rotate(-6deg) scale(1.05)}.logo .wm{background:linear-gradient(90deg,var(--ink),var(--pine));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}nav.primary a{letter-spacing:.005em;transition:color .25s var(--ease)}nav.primary a.active{color:var(--ember)}nav.primary a.active::after{width:100%}.btn{border-radius:999px;will-change:transform;isolation:isolate;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--ember-bright),var(--ember)) !important;color:#fff !important;border:none;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 14px 30px -14px rgba(15,111,181,.7) !important}.btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-130%);transition:transform .7s var(--ease)}.btn-primary:hover{background:linear-gradient(135deg,var(--ember-bright),var(--red-d)) !important;transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 22px 44px -16px rgba(15,111,181,.85) !important}.btn-primary:hover::before{transform:translateX(130%)}.btn-primary:active{transform:translateY(-1px) scale(.99)}.btn-ghost{border:1.6px solid rgba(10,30,46,.18);backdrop-filter:blur(4px);transition:transform .25s var(--ease),border-color .25s,color .25s,background .25s}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--ember);color:var(--ember);background:rgba(15,111,181,.05)}[data-magnetic]{transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .25s}.hero{background:var(--pine-deep)}.hero-inner h1{text-wrap:balance}.hero-eyebrow .ln{width:0;animation:lineGrow 1s var(--ease-out) .25s forwards}@keyframes lineGrow{to{width:42px}}@media (prefers-reduced-motion:reduce){.hero-eyebrow .ln{width:42px;animation:none}}@media (prefers-reduced-motion:no-preference){.hero::after{content:"";position:absolute;right:-10%;bottom:-15%;width:60vw;height:60vw;z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(circle at center,rgba(92,184,240,.16),rgba(92,184,240,0) 60%);filter:blur(30px);animation:auroraHero 18s ease-in-out infinite alternate}}@keyframes auroraHero{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-4%,-3%,0) scale(1.12)}}.readout .n{background:linear-gradient(180deg,var(--pine),var(--pine-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.readout > div{position:relative;padding-left:2px}.hero .wrap::after{content:"";position:absolute;left:26px;bottom:-26px;width:22px;height:34px;border:2px solid rgba(18,40,60,.35);border-radius:14px;opacity:.7}@media (prefers-reduced-motion:no-preference){.hero .wrap::before{content:"";position:absolute;left:34px;bottom:-12px;width:6px;height:6px;border-radius:50%;background:var(--ember);z-index:4;animation:scrollDot 1.8s var(--ease) infinite}}@keyframes scrollDot{0%{transform:translateY(-12px);opacity:0}30%{opacity:1}70%{opacity:1}100%{transform:translateY(2px);opacity:0}}@media (max-width:760px){.hero .wrap::after,.hero .wrap::before{display:none}}.hband{border-top:none;box-shadow:0 -1px 0 rgba(255,255,255,.12) inset}.hband span{opacity:.95}.hband b{color:var(--red-2)}.s-head .eyebrow .num,.eyebrow .num{color:inherit;font-weight:700}.s-head h2{letter-spacing:-.025em;line-height:1.0}section > .wrap > .s-head{max-width:none}.console{gap:16px}.pw{border-radius:var(--r);box-shadow:var(--sh-1);transition:transform .4s var(--ease),border-color .35s,box-shadow .4s}.pw .thumb{position:relative}.pw .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,30,46,.28),transparent 55%);opacity:0;transition:opacity .4s}.pw:hover{transform:translateY(-6px);border-color:rgba(15,111,181,.5);box-shadow:var(--sh-2)}.pw:hover .thumb::after{opacity:1}.pw .tag{border-color:rgba(15,111,181,.35);background:rgba(15,111,181,.04)}.pw .plus{border-color:rgba(15,111,181,.3)}.pw h3{letter-spacing:-.02em}.pw[aria-expanded="true"] .panel{max-height:340px}.pw[aria-expanded="true"]{box-shadow:var(--sh-2);border-color:var(--ember)}.pw .go{color:var(--ember)}.stage .scrim{background:linear-gradient(90deg,rgba(7,24,40,.94),rgba(7,24,40,.6) 42%,rgba(7,24,40,.3) 70%,rgba(7,24,40,.65))}.stage .st-no{color:var(--red-2);font-weight:700}.stage h3{letter-spacing:-.03em;text-wrap:balance}.journey .intro h2{letter-spacing:-.03em}.journey .intro .eyebrow{color:var(--red-2)}.diff .figwrap{box-shadow:var(--sh-3);border-color:rgba(10,30,46,.1)}.diff figcaption{border-top:1px solid var(--line);position:relative}.diff figcaption span:first-child::before,.diff figcaption span:last-child::before{content:"●";color:var(--muted-d);margin-right:7px;font-size:.6em;vertical-align:middle}.diff figcaption span:last-child::before{color:var(--ember)}.tech{background:linear-gradient(180deg,var(--pine-grad-1),var(--pine-grad-2))}.tech-grid{gap:18px}.tcard{border-radius:var(--r);box-shadow:0 1px 0 var(--line-d)}.tcard:after{background:linear-gradient(0deg,rgba(7,22,36,.96) 4%,rgba(7,22,36,.2) 52%,rgba(7,22,36,.5))}.tcard .ix{background:var(--ember);letter-spacing:.1em;box-shadow:0 6px 16px -8px rgba(15,111,181,.8)}.tcard h3{letter-spacing:-.02em}.tech .eyebrow{color:var(--red-2)}.mphoto{border-radius:var(--r);border-color:rgba(10,30,46,.08);box-shadow:var(--sh-1)}.work .mphoto::after{content:"";position:absolute;inset:0;box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;border-radius:inherit;pointer-events:none}.statement{background:linear-gradient(160deg,var(--pine-grad-1),var(--pine-deep))}.statement h2{letter-spacing:-.03em}.statement h2 em{color:var(--red-2);font-style:italic}.statement::after{content:"";position:absolute;left:50%;top:14%;transform:translateX(-50%);font-family:var(--font-fraunces);font-size:14rem;line-height:1;color:rgba(255,255,255,.05);content:"\201C";pointer-events:none}.reviews{background:linear-gradient(180deg,var(--pine-grad-2),var(--pine-deep))}.reviews .eyebrow{color:var(--red-2)}.rcard{border-radius:var(--r);background:linear-gradient(180deg,#fff,#f7f5f1);box-shadow:var(--sh-2);position:relative;overflow:hidden;transition:transform .4s var(--ease)}.rcard::before{content:"\201C";position:absolute;top:-14px;right:14px;font-family:var(--font-fraunces);font-size:6rem;color:rgba(15,111,181,.08);line-height:1}.rcard .stars{color:var(--gold);letter-spacing:3px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06))}.rcard q{letter-spacing:-.01em}.rcard .meta{color:var(--pine)}.loc-grid{gap:16px}.loc{border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}.loc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ember);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}.loc:hover{transform:translateY(-6px);border-color:rgba(15,111,181,.45);box-shadow:var(--sh-2)}.loc:hover::before{transform:scaleY(1)}.loc .state{color:var(--ember);display:inline-block;padding:4px 10px;border:1px solid rgba(15,111,181,.25);border-radius:999px;background:rgba(15,111,181,.04)}.loc h3{letter-spacing:-.02em;margin-top:12px}.loc .acts a{color:var(--ember);display:inline-flex;gap:6px;transition:gap .25s var(--ease)}.loc:hover .acts a{gap:12px}.qgallery{gap:18px}.qcard{border-radius:var(--r-lg)}.qhead{letter-spacing:-.025em}.consult form{border-radius:var(--r-lg);box-shadow:var(--sh-3);border-color:rgba(10,30,46,.08);background:linear-gradient(180deg,#fff,#fbfaf7)}.consult label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}.consult input,.consult select,.consult textarea{border-radius:12px;border-color:rgba(10,30,46,.16);transition:border-color .25s,box-shadow .25s,background .25s}.consult input:focus,.consult select:focus,.consult textarea:focus{border-color:var(--ember);box-shadow:0 0 0 4px rgba(15,111,181,.12);outline:none}.consult select{background-image:url("/images/ui-select-arrow.svg");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.consult ul li .c{color:var(--ember);font-weight:700}.consult ul li{position:relative}footer.site{background:linear-gradient(180deg,var(--pine-deep),#06192b);position:relative}footer.site::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(92,184,240,.4),transparent)}footer.site h2{font-family:var(--font-mono);font-weight:700;font-size:.74rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--red-2);margin:0 0 16px;max-width:none}footer.site a{position:relative;width:max-content}footer.site a:hover{color:#fff}footer.site .brand p{color:var(--muted-d)}footer.site .legal .credit strong{color:var(--red-2)}.mbar{background:hsla(40,30%,98%,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -10px 30px -20px rgba(10,30,46,.5);padding-bottom:env(safe-area-inset-bottom,0)}.mbar a.book{background:linear-gradient(135deg,var(--ember-bright),var(--ember))}.interior section:first-of-type .eyebrow{margin-bottom:18px}.interior h1{font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:-.03em;line-height:1.0;text-wrap:balance}.interior section:first-of-type > .wrap > p{font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--muted);max-width:60ch;margin-top:18px}.interior .figwrap{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-3);margin-top:40px}.prose h2{letter-spacing:-.02em}.prose a{text-decoration-thickness:1px;text-underline-offset:3px}a.postcard{box-shadow:var(--sh-1)}a.postcard:hover{box-shadow:var(--sh-2)}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:vtOut .28s var(--ease) both}::view-transition-new(root){animation:vtIn .4s var(--ease-out) both}}@media (prefers-reduced-motion:reduce){.hero::after,.hero .wrap::before{display:none !important}.btn-primary::before{display:none}}@media (max-width:760px){.hero-bg img{-o-object-position:78% 27%;object-position:78% 27%}}:root{--pine-deep:#103a5c;--pine-grad-2:#0e3556;--pine-grad-1:#16527e}.stage .scrim{background:linear-gradient(90deg,rgba(16,58,92,.85),rgba(16,58,92,.46) 45%,rgba(16,58,92,.20) 72%,rgba(16,58,92,.52)) !important}footer.site{background:linear-gradient(180deg,var(--pine-deep),#0b2c47) !important}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--font-fraunces,Georgia,serif);font-size:1.14rem;font-weight:500;color:var(--ink,#14222e);display:flex;justify-content:space-between;align-items:center;gap:18px}.faq-q::-webkit-details-marker{display:none}.faq-q::after{content:"+";font-family:var(--font-mono,monospace);font-size:1.5rem;line-height:1;color:var(--ember,#0f6fb5);transition:transform .3s ease}.faq-item[open] .faq-q::after{content:"\2013"}.faq-a{padding:0 0 22px;color:var(--muted);font-size:1.05rem;line-height:1.65;max-width:66ch}.faq-q:focus-visible{outline:2px solid var(--ember,#0f6fb5);outline-offset:3px;border-radius:4px}.hero h1 .kinetic{display:inline-block;line-height:1.0;padding-bottom:.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

.qband{overflow:hidden}
figure.tcard::after{content:none!important}figure.tcard{min-height:0}

footer.site .logo .wm{background:linear-gradient(90deg,#fff,var(--mint,#7fcdf8));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#fff}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}:root{--ember:#0f6fb5;--ember-bright:#2b91d6;--ember-d:#0a3a5e;--red:#0f6fb5;--red-2:#5cb8f0;--red-d:#0a3a5e;--mint:#7fcdf8;--pine:#134a72;--pine-deep:#103a5c;--pine-grad-1:#16527e;--pine-grad-2:#0e3556;--noir:#0b2840;--ink:#14222e;--gold:#e3a93c}
/* Vol57: mobile perf — disable decorative GPU-heavy effects <=820px (desktop unchanged) */@media (max-width:820px){body::after{display:none}.hero::after{display:none}.qband::after{display:none}}
/* ============================================================================
 * Vol 58 — inline-style extraction for CSP style-src hardening.
 * 1091 inline style= attributes -> 107 classes (this block). '!important'
 * reproduces the precedence inline styles had over author rules, guaranteeing
 * pixel-identical rendering without per-element cascade auditing. Safe to
 * relax to plain declarations after a visual-diff regression pass (see handoff).
 * Ordered by frequency (qs-001 = most used). DO NOT hand-edit; regenerate.
 * ========================================================================== */
.qs-001{padding:96px 0 !important;border-top:1px solid var(--line) !important}
.qs-002{position:absolute !important;left:0 !important;color:var(--ember) !important;font-weight:700 !important}
.qs-003{color:var(--muted) !important;font-size:1.06rem !important;padding-left:26px !important;position:relative !important}
.qs-004{max-width:880px !important}
.qs-005{font-size:clamp(1.7rem,3.6vw,2.5rem) !important;max-width:24ch !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-006{padding:8px 0 8px !important}
.qs-007{padding-top:140px !important}
.qs-008{font-size:clamp(2.3rem,5vw,3.6rem) !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-009{font-size:clamp(1.7rem,3.6vw,2.5rem) !important;max-width:22ch !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-010{margin-top:28px !important;max-width:760px !important}
.qs-011{color:var(--muted) !important;font-size:1.12rem !important;margin-top:16px !important;max-width:64ch !important}
.qs-012{padding:72px 0 !important;border-top:1px solid var(--line) !important}
.qs-013{color:var(--muted) !important;font-size:1.12rem !important;margin-top:16px !important;max-width:62ch !important}
.qs-014{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:28px !important}
.qs-015{font-size:clamp(1.5rem,3.2vw,2.1rem) !important;letter-spacing:-.02em !important}
.qs-016{display:flex !important;gap:12px !important;flex-wrap:wrap !important;margin-top:24px !important}
.qs-017{margin-top:24px !important;max-width:64ch !important;display:grid !important;gap:13px !important;padding:0 !important;list-style:none !important}
.qs-018{max-width:820px !important}
.qs-019{color:var(--muted) !important}
.qs-020{color:var(--muted) !important;margin:0 !important}
.qs-021{font-family:var(--font-fraunces) !important;font-size:1.18rem !important;margin:22px 0 6px !important}
.qs-022{font-family:var(--font-fraunces) !important;font-size:clamp(1.5rem,3vw,2.1rem) !important;margin:0 0 14px !important}
.qs-023{padding:30px 0 !important}
.qs-024{font-size:clamp(2.2rem,5vw,3.6rem) !important;max-width:18ch !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-025{margin-top:40px !important}
.qs-026{border:1px solid rgba(0,0,0,.08) !important;border-radius:16px !important;padding:22px !important;transition:transform .3s,border-color .3s !important}
.qs-027{color:var(--ember,#C2452A) !important;font-weight:700 !important;text-decoration:none !important}
.qs-028{margin-top:36px !important}
.qs-029{margin-top:40px !important;border-radius:18px !important;overflow:hidden !important;max-width:900px !important}
.qs-030{color:var(--muted) !important;font-size:1.18rem !important;margin-top:18px !important;max-width:56ch !important}
.qs-031{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:32px !important}
.qs-032{font-weight:700 !important;letter-spacing:.02em !important;color:var(--ember,#0b6a5e) !important}
.qs-033{margin:0 !important;font-size:1.05rem !important;line-height:1.62 !important}
.qs-034{padding:80px 0 !important;border-top:1px solid var(--line) !important}
.qs-035{color:var(--muted) !important;padding-left:26px !important;position:relative !important}
.qs-036{color:var(--muted) !important;font-size:1.16rem !important;margin-top:16px !important;max-width:54ch !important}
.qs-037{color:var(--muted) !important;font-size:1.18rem !important;margin-top:18px !important;max-width:54ch !important}
.qs-038{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:22px !important}
.qs-039{display:flex !important;gap:14px !important;margin-top:28px !important;flex-wrap:wrap !important}
.qs-040{display:flex !important;gap:14px !important;margin-top:36px !important;flex-wrap:wrap !important}
.qs-041{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;gap:16px !important;margin-top:40px !important;max-width:760px !important}
.qs-042{font-size:clamp(2.3rem,5vw,3.8rem) !important;max-width:16ch !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-043{font-style:normal !important}
.qs-044{margin-top:18px !important}
.qs-045{padding:clamp(48px,7vw,90px) 0 !important}
.qs-046{text-decoration:none !important;color:inherit !important;display:block !important}
.qs-047{margin-top:12px !important;font-family:var(--font-mono) !important;font-size:.72rem !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--muted) !important}
.qs-048{margin:0 !important;background:#fff !important;border:1px solid var(--line,#e6e6e1) !important;border-radius:18px !important;padding:28px 26px !important;display:flex !important;flex-direction:column !important;gap:16px !important}
.qs-049{border-radius:18px !important;overflow:hidden !important;box-shadow:0 24px 50px -30px rgba(12,44,39,.4) !important}
.qs-050{color:var(--muted) !important;font-size:1.18rem !important;margin-top:18px !important;max-width:60ch !important}
.qs-051{margin:42px 0 0 !important;max-width:920px !important}
.qs-052{width:100% !important;height:auto !important;display:block !important}
.qs-053{border:1px solid var(--line) !important;border-radius:16px !important;padding:26px 24px !important;background:rgba(16,60,98,.02) !important}
.qs-054{color:var(--muted) !important;margin:10px 0 0 !important;font-size:1rem !important;line-height:1.5 !important}
.qs-055{display:flex !important;gap:14px !important;flex-wrap:wrap !important}
.qs-056{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;gap:18px !important;margin-top:18px !important}
.qs-057{font-family:var(--font-fraunces) !important;font-size:clamp(2.2rem,4vw,3rem) !important;line-height:1 !important;color:var(--pine) !important;font-weight:600 !important}
.qs-058{font-size:clamp(1.4rem,3vw,1.9rem) !important;letter-spacing:-.02em !important;margin-top:34px !important}
.qs-059{font-size:clamp(2.3rem,5vw,3.8rem) !important;max-width:18ch !important;line-height:1.04 !important;letter-spacing:-.02em !important}
.qs-060{margin-top:14px !important}
.qs-061{margin-top:22px !important;max-width:820px !important}
.qs-062{margin:0 !important;background:#fff !important;border:1px solid var(--line,#e6e6e1) !important;border-radius:18px !important;padding:24px 22px !important;display:flex !important;flex-direction:column !important;gap:16px !important}
.qs-063{padding:30px 0 60px !important}
.qs-064{padding:30px 0 !important;border-top:1px solid rgba(0,0,0,.07) !important}
.qs-065{color:var(--ember) !important}
.qs-066{color:var(--muted) !important;line-height:1.8 !important;margin-top:10px !important}
.qs-067{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:36px !important}
.qs-068{font-size:1.12rem !important;max-width:700px !important;line-height:1.6 !important;margin-top:16px !important;color:var(--muted,#5b6b66) !important}
.qs-069{margin-top:28px !important}
.qs-070{margin-top:8px !important;max-width:64ch !important;display:grid !important;gap:13px !important;padding:0 !important;list-style:none !important}
.qs-071{padding-top:140px !important;padding-bottom:6px !important}
.qs-072{color:var(--ember) !important;font-weight:600 !important}
.qs-073{color:var(--ember) !important;font-weight:600 !important;text-decoration:none !important}
.qs-074{color:var(--muted) !important;font-size:1.16rem !important;margin-top:16px !important;max-width:60ch !important}
.qs-075{color:var(--muted) !important;line-height:1.8 !important}
.qs-076{color:var(--muted) !important;margin-top:12px !important}
.qs-077{color:var(--muted) !important;margin-top:14px !important}
.qs-078{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:30px !important}
.qs-079{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important;gap:22px !important;margin-top:30px !important;max-width:820px !important}
.qs-080{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;gap:22px !important;margin-top:34px !important}
.qs-081{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;gap:22px !important}
.qs-082{font-family:var(--font-fraunces),Georgia,serif !important;font-size:clamp(1.8rem,4.5vw,3rem) !important;line-height:1.1 !important;letter-spacing:-.02em !important;color:var(--ink) !important;max-width:20ch !important}
.qs-083{font-size:clamp(1.6rem,3.4vw,2.2rem) !important;letter-spacing:-.02em !important}
.qs-084{font-size:clamp(1.8rem,3.6vw,2.6rem) !important;letter-spacing:-.02em !important;max-width:720px !important;margin-top:6px !important}
.qs-085{margin-top:14px !important;font-size:.95rem !important;color:var(--muted) !important}
.qs-086{margin-top:18px !important;max-width:60ch !important;display:grid !important;gap:10px !important;padding:0 !important;list-style:none !important}
.qs-087{margin-top:20px !important;font-family:var(--font-mono) !important;font-size:.74rem !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:var(--ember) !important}
.qs-088{margin-top:24px !important}
.qs-089{margin-top:28px !important;font-size:.92rem !important;color:var(--muted,#5b6b66) !important}
.qs-090{margin-top:30px !important}
.qs-091{margin-top:36px !important;font-size:1.02rem !important}
.qs-092{margin-top:8px !important}
.qs-093{margin:0 !important;max-width:24ch !important}
.qs-094{margin:14px auto 26px !important;max-width:560px !important;color:var(--muted,#5b6b66) !important}
.qs-095{max-width:1120px !important}
.qs-096{max-width:840px !important;text-align:center !important}
.qs-097{max-width:900px !important}
.qs-098{max-width:980px !important}
.qs-099{opacity:.6 !important;font-size:.85rem !important;margin-top:28px !important}
.qs-100{opacity:.72 !important;font-size:.95rem !important;margin-top:10px !important}
.qs-101{padding-top:90px !important}
.qs-102{padding:14px 0 36px !important}
.qs-103{padding:14px 0 48px !important}
.qs-104{padding:64px 0 !important;border-top:1px solid var(--line) !important}
.qs-105{padding:84px 0 !important;border-top:1px solid var(--line) !important}
.qs-106{padding:96px 0 !important}
.qs-107{width:100% !important;max-width:360px !important;height:auto !important;display:block !important;margin:0 auto !important;border-radius:14px !important}
