@font-face{font-family:Caslon;src:url(fonts/caslon.woff2) format("woff2");font-display:swap}@font-face{font-family:Hanken;src:url(fonts/hanken.woff2) format("woff2");font-weight:300 700;font-display:swap}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.55s;animation-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#fcfbf8;--sand:#f3efe8;--ink:#1c232c;--blue:#24466e;--gold:#a8895a;--gold2:#7a5f33;--mute:#5d646c;--line:rgba(28,35,44,.1);--pad:clamp(22px,7vw,128px);--hd:72px;--bar:0px;--ease:cubic-bezier(.22,.61,.12,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:300 17px/1.75 Hanken,system-ui,sans-serif;animation:pagein .6s var(--ease)}@keyframes pagein{from{opacity:0}}img,video{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,.disp{font-family:Caslon,Georgia,serif;font-weight:400;letter-spacing:-.015em;line-height:1.06;text-wrap:balance}h1{font-size:clamp(2.6rem,6.4vw,5.6rem)}h2{font-size:clamp(2.1rem,4.4vw,3.8rem)}h3{font-size:1.5rem}p{text-wrap:pretty}.eyebrow{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);font-weight:500;margin-bottom:22px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:#fff;padding:12px;z-index:99}.concept{font-size:12.5px;line-height:20px;letter-spacing:.06em;text-align:center;padding:7px 14px;color:var(--mute);background:var(--sand)}header.top{position:sticky;top:0;z-index:40;background:rgba(252,251,248,.96);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--pad);min-height:var(--hd)}.mark{text-decoration:none;display:flex;flex-direction:column;justify-content:center;min-height:48px;line-height:1.1}.mark b{font-family:Caslon,serif;font-weight:400;font-size:1.55rem;color:var(--blue)}.mark small{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}nav.main{display:flex;gap:34px;align-items:center;font-size:.9rem;letter-spacing:.04em}nav.main a{text-decoration:none;padding:12px 0;position:relative}nav.main a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}nav.main a[aria-current]:after,nav.main a:not(.btn):hover:after{transform:scaleX(1)}.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 30px;border-radius:0;background:var(--ink);color:#fff;text-decoration:none;font-weight:500;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease)}.btn:hover{background:var(--blue);border-color:var(--blue)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{color:#fff}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.wrap{padding:clamp(96px,14vw,200px) var(--pad)}.lede{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--mute);max-width:38ch;margin-top:24px}.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}.rule{width:56px;height:1px;background:var(--gold);margin:30px 0}/* scroll-linked reveal: JS sets --r 0..1 */[data-rv]{opacity:calc(var(--r,1));transform:translate3d(0,calc((1 - var(--r,1))*40px),0)}.js [data-rv]{--r:0}[data-px]{overflow:hidden}[data-px]>img{transform:translate3d(0,var(--py,0),0) scale(var(--ps,1.08));will-change:transform}/* film hero */.film{position:relative;height:620vh}.stage{position:sticky;top:var(--hd);height:calc(100vh - var(--hd));overflow:hidden;background:#ece7df;contain:strict}.stage .key,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stage .key{opacity:0;transition:opacity 1s var(--ease)}.stage .key.on{opacity:1}.stage video{opacity:0;transition:opacity .6s var(--ease);transform:translateZ(0)}.film.vid video{opacity:1}.stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,251,248,.9) 0,rgba(252,251,248,.5) 34%,rgba(252,251,248,0) 60%);pointer-events:none}.cap{position:absolute;left:var(--pad);bottom:13%;max-width:34rem;z-index:2;opacity:0;transform:translate3d(0,18px,0);transition:opacity .9s var(--ease),transform .9s var(--ease)}.cap.on{opacity:1;transform:none}.cap .n{font-family:Caslon,serif;color:var(--gold2);font-size:1.05rem;letter-spacing:.2em}.cap h1,.cap h2{margin:10px 0 14px}.cap h2{font-size:clamp(2rem,4vw,3.4rem)}.cap p{color:#3a434d;max-width:34ch}.cap .creds{font-size:.86rem;color:var(--mute);margin-top:22px;letter-spacing:.02em;max-width:44ch}.fprog{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:2;list-style:none}.fprog li{width:1px;height:40px;background:rgba(28,35,44,.18);position:relative}.fprog li b{position:absolute;inset:0 0 auto 0;height:calc(var(--p,0)*100%);background:var(--gold)}.fload{position:absolute;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(var(--p,0));transform-origin:left;z-index:4;transition:opacity .6s}.film.vid .fload{opacity:0}.skipfilm{position:absolute;right:var(--pad);bottom:22px;z-index:3;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;min-height:44px;display:flex;align-items:center}.gen-note{position:absolute;left:var(--pad);bottom:10px;z-index:2;font-size:12.5px;color:var(--mute)}/* sections */.split{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,8vw,140px);align-items:center}.split.rev{grid-template-columns:6fr 5fr}.split figure{aspect-ratio:4/5}.split figure img{width:100%;height:100%;object-fit:cover}.quiet{list-style:none;margin-top:34px;font-size:.93rem;color:var(--mute)}.quiet li{padding:12px 0;border-top:1px solid var(--line)}.sand{background:var(--sand)}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:72px}.col h3{font-size:1.6rem;padding-bottom:18px;border-bottom:1px solid var(--gold);margin-bottom:8px}.col ul{list-style:none}.col a{text-decoration:none;display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:.97rem;transition:color .4s,padding .5s var(--ease)}.col a:hover{color:var(--blue);padding-left:8px}/* signature: recovery timeline */.rt-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px}.rt-tabs button{font:inherit;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;min-height:46px;padding:0 20px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s}.rt-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.rt{position:relative;margin-top:64px;padding-top:30px}.rt-line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}.rt-line i{position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--f,0));transform-origin:left;transition:transform 1.4s var(--ease)}.rt ol{list-style:none;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:28px}.rt li{position:relative;opacity:0;transform:translate3d(0,14px,0);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i)*.18s + .2s)}.rt.go li{opacity:1;transform:none}.rt li:before{content:"";position:absolute;top:-35px;left:0;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--gold)}.rt dt{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}.rt dd{font-family:Caslon,serif;font-size:1.5rem;line-height:1.2;margin-top:8px}.rt-desc{margin-top:40px;max-width:60ch;color:var(--mute)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,48px);margin-top:72px;list-style:none;counter-reset:s}.steps li{border-top:1px solid var(--gold);padding-top:24px}.steps li:before{counter-increment:s;content:"0" counter(s);font-family:Caslon,serif;color:var(--gold2);font-size:1.2rem;display:block;margin-bottom:14px}.steps h3{font-size:1.35rem;margin-bottom:8px}.steps p{font-size:.95rem;color:var(--mute)}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);margin-top:72px}.team figure{aspect-ratio:3/4;background:var(--sand)}.team img{width:100%;height:100%;object-fit:cover}.team h3{font-size:1.3rem;margin-top:20px}.team p{color:var(--mute);font-size:.93rem;margin-top:6px}.proc{border-top:1px solid var(--line);padding:48px 0;display:grid;grid-template-columns:5fr 7fr;gap:48px}.proc h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}.proc dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;font-size:.93rem;margin-top:18px}.proc dt{color:var(--mute)}.note{font-size:.88rem;color:var(--mute);margin-top:36px;max-width:70ch}.cta{text-align:center;background:var(--sand)}.cta .lede{margin-inline:auto}.cta .ctas{justify-content:center}form{display:grid;gap:16px;margin-top:32px;max-width:580px}label{font-size:.86rem;font-weight:500;letter-spacing:.04em;display:grid;gap:8px}input,select,textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid rgba(28,35,44,.32);background:#fff;border-radius:0;min-height:48px;color:var(--ink)}footer{padding:80px var(--pad) calc(48px + var(--bar));font-size:.9rem;color:var(--mute);border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px}footer a{display:inline-block;padding:4px 0}.legal{grid-column:1/-1;font-size:.8rem;border-top:1px solid var(--line);padding-top:24px}.mbar{display:none}/* pop-up */.pop{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:20px}.pop[hidden]{display:none}.pop-bg{position:absolute;inset:0;background:rgba(28,35,44,.4)}.pop-card{position:relative;background:var(--bg);width:min(540px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:44px 40px 34px;border-top:2px solid var(--gold);box-shadow:0 30px 80px rgba(28,35,44,.22);animation:popin .6s var(--ease)}.pop-card h2{font-size:clamp(1.7rem,3vw,2.3rem)}.pop-d{color:var(--mute);margin-top:10px}.pop-f{margin-top:20px;gap:12px}.pop-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pop-c{font-size:.85rem;color:var(--mute)}.pop-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--ink);cursor:pointer}@keyframes popin{from{opacity:0;transform:translate3d(0,20px,0)}}@media (max-width:1024px){.cols{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}nav.main{gap:22px}}@media (max-width:960px){nav.main a:not(.btn){display:none}}@media (max-width:860px){:root{--hd:62px;--bar:calc(68px + env(safe-area-inset-bottom))}nav.main{display:none}.split,.split.rev,.proc{grid-template-columns:1fr}.cols{grid-template-columns:1fr;margin-top:48px}.wrap{padding:88px var(--pad)}.film{height:540vh}.stage{height:calc(100vh - var(--hd) - var(--bar));height:calc(100dvh - var(--hd) - var(--bar))}.stage:after{background:linear-gradient(0deg,rgba(252,251,248,.97) 0,rgba(252,251,248,.8) 36%,rgba(252,251,248,0) 62%)}.cap{left:var(--pad);right:var(--pad);bottom:58px;max-width:none}.cap h1{font-size:2.3rem}.cap h2{font-size:1.9rem}.cap p{font-size:.98rem}.cap .creds{display:none}.fprog{top:16px;right:var(--pad);transform:none;flex-direction:row}.fprog li{width:30px;height:1px}.fprog li b{height:100%;width:calc(var(--p,0)*100%)}.skipfilm{top:24px;bottom:auto}.gen-note{display:block;position:absolute;top:8px;bottom:auto;left:max(var(--pad),env(safe-area-inset-left));max-width:calc(100% - 2*var(--pad) - 64px);font-size:12px;line-height:1.35;padding:5px 9px;background:rgba(252,251,248,.92);color:var(--ink)}.rt ol{grid-template-columns:1fr 1fr;row-gap:44px}.rt li:before{top:-26px}.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}footer{grid-template-columns:1fr}.pop{align-items:flex-end;padding:0;bottom:var(--bar)}.pop-card{width:100%;max-height:calc(100dvh - var(--hd) - var(--bar) - 40px);padding:26px var(--pad) 20px;animation-name:sheet}.pop-d{display:none}.pop-row{grid-template-columns:1fr 1fr;gap:10px}.pop-f{gap:10px;margin-top:14px}.pop-f label{gap:4px}.pop-f textarea{min-height:48px;height:48px}}@media (max-width:400px){.pop-row{grid-template-columns:1fr}}@keyframes sheet{from{transform:translate3d(0,100%,0)}}@media (max-width:860px) and (orientation:landscape){.film{height:460vh}.stage{height:calc(100dvh - var(--hd))}.mbar{display:none}:root{--bar:0px}.stage:after{background:linear-gradient(90deg,rgba(252,251,248,.94) 0,rgba(252,251,248,.6) 45%,rgba(252,251,248,0) 70%)}.cap{right:auto;max-width:26rem;bottom:14px}.cap h1,.cap h2{font-size:1.6rem}.cap p{font-size:.9rem}}@media (prefers-reduced-motion:reduce){body{animation:none}.js [data-rv]{--r:1}[data-px]>img{transform:none}.stage .key,.cap,.rt li,.rt-line i{transition:none}.pop-card{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}.quiet a{display:inline-flex;align-items:center;min-height:44px}.pop-x{width:48px;height:48px}.pop-row>label{min-width:0}input,select,textarea{min-width:0;width:100%}/* iPhone fit (2026-10-15): stage fills header -> screen bottom using the LARGE viewport (static, no jump when Safari's toolbar collapses);the strip under the Call/Book bar / toolbar is covered, captions are placed above it using the SMALL viewport. iOS 100vh == lvh fallback. */@media (max-width:860px) and (orientation:portrait){.stage{height:calc(100vh - var(--hd));height:calc(100lvh - var(--hd))}.stage .key,.stage video{object-position:50% 45%}.cap{bottom:calc(var(--bar) + 22px + var(--off,0px));bottom:calc(100lvh - 100svh + var(--bar) + 22px + var(--off,0px));left:max(var(--pad),env(safe-area-inset-left));right:max(var(--pad),env(safe-area-inset-right))}.stage:after{background:linear-gradient(0deg,rgba(252,251,248,.97) 0,rgba(252,251,248,.82) calc(var(--bar) + 30%),rgba(252,251,248,0) calc(var(--bar) + 56%))}}@media (max-height:500px) and (orientation:landscape){:root{--hd:56px;--bar:0px}.bar{min-height:var(--hd);padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}.mark b{font-size:1.25rem}.mark small{font-size:.75rem}nav.main a:not(.btn){display:none}nav.main{display:flex}nav.main .btn{min-height:44px;padding:0 18px;font-size:.74rem}.mbar{display:none}.film{height:460vh}.stage{top:var(--hd);height:calc(100vh - var(--hd));height:calc(100lvh - var(--hd))}.stage:after{background:linear-gradient(90deg,rgba(252,251,248,.94) 0,rgba(252,251,248,.62) 42%,rgba(252,251,248,0) 68%)}.cap{left:max(var(--pad),env(safe-area-inset-left));right:auto;max-width:min(26rem,50vw);bottom:calc(16px + var(--off,0px));bottom:calc(100lvh - 100svh + 16px + var(--off,0px))}.cap h1,.cap h2{font-size:1.55rem;margin:6px 0 8px}.cap p{font-size:.9rem;line-height:1.5}.cap .creds{display:none}.cap .ctas{margin-top:14px}.fprog{top:14px;right:max(var(--pad),env(safe-area-inset-right));transform:none;flex-direction:row}.fprog li{width:30px;height:1px}.fprog li b{height:100%;width:calc(var(--p,0)*100%)}.skipfilm{top:24px;bottom:auto;right:max(var(--pad),env(safe-area-inset-right))}.gen-note{display:block;position:absolute;top:8px;bottom:auto;left:max(var(--pad),env(safe-area-inset-left));max-width:calc(100% - 2*var(--pad) - 64px);font-size:12px;line-height:1.35;padding:5px 9px;background:rgba(252,251,248,.92);color:var(--ink)}}/* polish 2026-10-15: one easing curve everywhere, fades in/out, no linear or abrupt stops */::view-transition-old(root),::view-transition-new(root){animation-duration:.6s;animation-timing-function:cubic-bezier(.22,.61,.12,1)}.col a{transition:color .5s var(--ease),padding .5s var(--ease)}.rt-tabs button{transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}.fload{transition:opacity .9s var(--ease)}.stage .key{transition:opacity .9s var(--ease)}.stage video{transition:opacity .9s var(--ease)}.pop-bg{animation:bgin .6s var(--ease)}.pop.out .pop-bg{animation:bgout .4s var(--ease) forwards}.pop.out .pop-card{animation:popout .4s var(--ease) forwards}@keyframes bgin{from{opacity:0}}@keyframes bgout{to{opacity:0}}@keyframes popout{to{opacity:0;transform:translate3d(0,20px,0)}}@keyframes sheetout{to{transform:translate3d(0,100%,0)}}@media (max-width:860px){.pop.out .pop-card{animation-name:sheetout}}@media (prefers-reduced-motion:reduce){.pop-bg,.pop.out .pop-bg,.pop.out .pop-card{animation:none}}/* fix2 2026-10-15: film stage spans exactly header bottom -> top of Call/Book bar (or screen bottom when there is no bar).--hdr / --mb are measured in JS (header incl. border, bar incl. safe-area padding); --off = visible part of the Concept bar above thesticky header, so at first load the stage is shortened by that amount instead of running below the screen. */.stage{top:var(--hdr,var(--hd));height:calc(100vh - var(--hdr,var(--hd)) - var(--mb,0px) - var(--off,0px));height:calc(100dvh - var(--hdr,var(--hd)) - var(--mb,0px) - var(--off,0px))}@media (max-width:860px) and (orientation:portrait){.stage{height:calc(100vh - var(--hdr,var(--hd)) - var(--mb,var(--bar)) - var(--off,0px));height:calc(100dvh - var(--hdr,var(--hd)) - var(--mb,var(--bar)) - var(--off,0px))}.cap{bottom:22px}.stage:after{background:linear-gradient(0deg,rgba(252,251,248,.97) 0,rgba(252,251,248,.82) 30%,rgba(252,251,248,0) 56%)}}@media (max-height:500px) and (orientation:landscape){.cap{bottom:16px}.skipfilm{min-height:44px;padding:0 14px;background:rgba(252,251,248,.92);color:var(--ink);font-weight:600;border:1px solid var(--line);font-size:.78rem}}