@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/font-6.ttf) format('truetype');
}

:root{--ink:#111;--paper:#f8f8f6;--muted:#686868;--rule:#ccc;--accent:#ff733e;--gutter:clamp(24px,6vw,112px);font:16px 'DM Sans',Arial,sans-serif;color:var(--ink);background:#111}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}p{font-size:1.0625rem;line-height:1.65;margin:0 0 24px}h1,h2,.wordmark,.number,.index{font-family:'Space Grotesk',Arial,sans-serif;margin:0}h1,h2{letter-spacing:-.055em;font-weight:600}h1{font-size:clamp(3.2rem,6.6vw,7.1rem);line-height:1.02}h2{font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.08}.wrap{padding-inline:var(--gutter)}header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#111;color:#fff;position:relative;z-index:20;border-bottom:1px solid #333}.wordmark{font-size:1.5rem;line-height:.9;letter-spacing:-.065em;font-weight:700;display:flex;flex-direction:column;gap:4px}.wordmark span:last-child{font-size:.75rem;letter-spacing:.03em;font-weight:500}nav{display:flex;gap:32px;margin-left:auto}nav a{font-size:.875rem;position:relative;padding:8px 0}nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}nav a:hover::after,nav a[aria-current]::after{transform:scaleX(1)}.button{position:relative;display:inline-flex;align-items:center;gap:40px;justify-content:space-between;min-height:54px;padding:16px 22px;background:var(--accent);color:#111;font-size:.9375rem;font-weight:600;border:0;cursor:pointer;overflow:hidden;isolation:isolate}.button::before{content:'';position:absolute;inset:0;background:#ffa27d;z-index:-1;transform:translateY(102%);transition:transform 280ms cubic-bezier(.2,.8,.2,1)}.button:hover::before{transform:translateY(0)}.button span{font-size:1.5rem;line-height:1;transition:transform 240ms}.button:hover span{transform:translate(3px,-3px)}header .button{min-height:46px;padding:12px 18px;gap:28px}.intro{max-width:55ch;font-size:1.0625rem;line-height:1.7;margin-top:28px}.aside{font-size:.875rem;line-height:1.5;color:var(--muted)}.hero-stage{height:calc(100svh + 180px);min-height:970px;background:#e6e6e3;position:relative}.hero{background:#111;color:#fff;position:sticky;top:0;min-height:750px;height:calc(100svh - 20px);padding-top:clamp(50px,6.5vh,85px);padding-bottom:90px;overflow:hidden;isolation:isolate;transform-origin:50% 16%;will-change:transform}.hero-content{position:relative;z-index:2}.hero h1{font-size:clamp(3.3rem,6.5vw,7.8rem);line-height:1.04;letter-spacing:-.065em;max-width:none}.headline-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.02em;perspective:1000px}.headline-line>span{display:block;transform-origin:left center}.last-line{color:#b6b6b6}.hero .intro{max-width:55ch;color:#c1c1c1;margin-top:32px;margin-bottom:25px}.hero .aside{margin-top:15px;color:#999;margin-bottom:0}.wind{position:absolute;right:-4%;top:-28%;width:100%;height:130%;z-index:1;pointer-events:none;opacity:.45;transform-origin:65% 50%}.wind path{fill:none;stroke:#949494;stroke-width:.65;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.motion-ready .wind path{animation:windDraw 2200ms cubic-bezier(.3,.1,.1,1) both;animation-delay:calc(var(--i)*35ms)}.motion-ready .headline-line>span{animation:headlineLift 1300ms cubic-bezier(.16,1,.3,1) both}.motion-ready .headline-line:nth-child(2)>span{animation-delay:120ms}.motion-ready .headline-line:nth-child(3)>span{animation-delay:240ms}.motion-ready .hero .intro,.motion-ready .hero .button,.motion-ready .hero .aside{animation:copyLift 900ms ease both;animation-delay:550ms}.doors{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:5;margin-top:-130px;padding-bottom:100px;perspective:1200px;transform-origin:50% 0}.door{position:relative;padding:32px 36px 28px;background:#fff;border:1px solid #bdbdbd;min-height:510px;display:flex;flex-direction:column;transform-origin:50% 65%;overflow:hidden;will-change:transform;transition:transform 180ms ease-out,opacity 300ms,box-shadow 300ms,background 300ms,color 300ms}.door-2{background:#dcded9}.door::after{content:'';position:absolute;inset:-70% -20%;pointer-events:none;border:1px solid currentColor;border-radius:50%;transform:translateX(110%) rotate(-35deg);opacity:0;transition:transform 650ms ease,opacity 400ms}.door:hover::after{transform:translateX(48%) rotate(-35deg);opacity:.13}.door-top{display:flex;align-items:flex-start;gap:22px;margin-bottom:40px}.number{font-size:5rem;font-weight:500;letter-spacing:-.08em;line-height:1;color:transparent;-webkit-text-stroke:1px #888}.door-category{font-size:.875rem;margin-top:9px}.door-arrow{margin-left:auto;font-size:2.25rem;line-height:1}.door h2{font-size:clamp(2.3rem,3.25vw,3.6rem);max-width:11ch;margin-bottom:20px}.door p{max-width:50ch;flex:1;font-size:1rem;color:#555}.door-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #aaa;padding-top:19px;font-size:.9375rem;font-weight:600}.door-link>span{font-size:1.4rem}.door:hover{box-shadow:0 24px 55px #0002;z-index:2}.doors:has(.door:hover) .door:not(:hover){opacity:.48}.boutique{padding-top:50px;padding-bottom:92px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #bbb}.boutique h2{font-size:clamp(3rem,5.8vw,6rem);max-width:9ch}.boutique p{max-width:52ch;font-size:1.125rem}.closing{background:#111;color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;padding-top:75px;padding-bottom:80px;border-bottom:1px solid #454545}.closing h2{font-size:clamp(3rem,5.1vw,5.6rem);max-width:13ch}.closing p{color:#b8b8b8;max-width:40ch}.closing>div{align-self:end}footer{background:#111;color:white;display:flex;justify-content:space-between;align-items:center;gap:65px;padding-top:45px;padding-bottom:40px;min-height:270px}.logo-lockup{width:min(48vw,580px)}.logo-window{width:100%;aspect-ratio:2.8;overflow:hidden;position:relative;isolation:isolate}.footer-logo{position:absolute;width:100%;height:auto;left:0;top:50%;transform:translateY(-50%);filter:grayscale(1) invert(1) contrast(2);mix-blend-mode:screen}.footer-details{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-brand{font-size:1rem;font-weight:600}.footer-details a,.footer-details p{font-size:.875rem;color:#aaa;margin:0}.footer-details a:hover{color:white}.inner-page .pagehero{background:#111;color:#fff;padding-top:65px;padding-bottom:65px;position:relative;overflow:hidden}.pagehero h1{max-width:1150px}.pagehero .intro{color:#b9b9b9;max-width:68ch;margin-bottom:0}.pagehero .aside{margin-top:26px;color:#999}.services{padding-top:30px;padding-bottom:60px}.service{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;border-top:1px solid #aaa;padding:45px 0 50px;position:relative;transform-origin:center top}.service-title{position:sticky;top:30px;align-self:start;display:grid;grid-template-columns:55px 1fr;gap:12px 20px}.index{font-size:2.25rem;line-height:1;letter-spacing:-.075em;color:#8a8a8a}.service h2{font-size:clamp(1.7rem,2.3vw,2.7rem);letter-spacing:-.045em;line-height:1.13}.service-title .aside{grid-column:2;margin:0}.service p{max-width:58ch}.service p:last-child{margin-bottom:0}.includes{padding-top:20px;border-top:1px solid #d0d0d0;font-size:.9375rem;color:#666}.motion-ready .service.reveal{opacity:0;transform:translateY(55px) scale(.96);transition:opacity 700ms ease,transform 950ms cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .service.reveal.is-visible{opacity:1;transform:none}.steps{padding-top:40px;padding-bottom:65px;position:relative}.steps .service{padding-left:52px;min-height:190px;align-items:start}.steps .service h2{position:sticky;top:32px}.steps .service::before{content:'';position:absolute;width:11px;height:11px;border:1px solid #777;border-radius:50%;left:0;top:51px;background:var(--paper);z-index:2;transition:background 450ms,transform 450ms}.steps .service.is-visible::before{background:#111;transform:scale(1.3)}.process-wind{position:absolute;left:calc(var(--gutter) - 20px);top:0;width:52px;height:100%;pointer-events:none;overflow:visible}.process-wind path{fill:none;stroke-width:1;stroke:#ccc}.process-wind .process-trace{stroke:#111;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:var(--trace-offset,0)}.motion-ready .steps .service>h2,.motion-ready .steps .service>p{opacity:.12;transform:translateY(22px);transition:transform 700ms ease,opacity 700ms ease}.motion-ready .steps .service.is-visible>h2,.motion-ready .steps .service.is-visible>p{opacity:1;transform:none}.fit{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:30px;padding-bottom:75px}.fit h2{font-size:2.25rem}.fit ul{list-style:none;padding:0}.fit li{border-bottom:1px solid #ccc;padding:15px 0;font-size:1rem;line-height:1.5}.contact{padding-top:45px;padding-bottom:65px;max-width:1300px}.contact form{max-width:780px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.form-grid label:nth-child(3){grid-column:1/-1}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:23px}input,select,textarea{display:block;width:100%;padding:14px 12px;background:white;color:#111;border:1px solid #aaa;border-radius:0;margin-top:9px;font-size:1rem}textarea{resize:vertical}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.alternate{margin-top:28px;font-size:.9375rem}.contact .aside a,.alternate a{text-decoration:underline;text-underline-offset:3px}#book{margin-top:60px;padding-top:35px;border-top:1px solid #aaa;scroll-margin-top:25px}#book h2{font-size:2rem;margin-bottom:25px}#book iframe{width:100%;height:760px;background:white;border:1px solid #ddd}#book>p{font-size:.875rem;margin-top:20px;text-decoration:underline}.privacy{max-width:1100px;padding-top:35px;padding-bottom:65px}.privacy article{padding:25px 0;border-top:1px solid #ccc}.privacy h2{font-size:1.8rem;margin-bottom:20px}.privacy a{text-decoration:underline}.provider-links{font-size:.875rem}.skip{position:absolute;top:-100px;left:20px;z-index:50;padding:15px;background:white;color:black}.skip:focus{top:10px}:focus-visible{outline:3px solid currentColor;outline-offset:5px}.motion-ready .editorial-reveal h2{opacity:0;transform:translateY(60px) rotate(-3deg);transition:transform 1000ms cubic-bezier(.16,1,.3,1),opacity 700ms}.motion-ready .editorial-reveal.is-visible h2{opacity:1;transform:none}.transition-layer{position:fixed;inset:0;pointer-events:none;background:#111;z-index:100;transform:scaleY(0);transform-origin:bottom}.page-enter{animation:pageEnter 170ms ease-out both}.is-leaving{pointer-events:none}.is-leaving main{animation:pageExit 180ms ease-in both;transform-origin:var(--exit-origin,50% 35%)}.is-leaving .transition-layer{animation:curtainIn 180ms ease-in both}.is-leaving.door-exit main{animation:doorExit 210ms ease-in both}@keyframes windDraw{from{stroke-dashoffset:1;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes headlineLift{from{transform:translateY(110%) rotateX(-35deg) scale(1.12);opacity:0}to{transform:none;opacity:1}}@keyframes copyLift{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}@keyframes pageEnter{from{opacity:.25;transform:scale(.975)}to{opacity:1;transform:none}}@keyframes pageExit{to{opacity:.2;transform:scale(1.055)}}@keyframes doorExit{to{opacity:0;transform:scale(1.26)}}@keyframes curtainIn{to{transform:scaleY(1)}}
@media(min-width:1700px){.hero h1{font-size:7.8rem}.hero{padding-top:70px}}@media(max-width:1100px){header{gap:24px}nav{gap:20px}.hero h1{font-size:6.9vw}.door{padding:28px;min-height:500px}.door-top{gap:15px}.number{font-size:4.3rem}.door-category{font-size:.8125rem}.service{gap:5vw}.service-title{grid-template-columns:40px 1fr;gap:15px}.logo-lockup{width:45vw}}@media(max-width:800px){header{height:auto;min-height:100px;padding-top:20px;padding-bottom:18px;flex-wrap:wrap;gap:20px}header>.button{margin-left:auto}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:12px}.hero{min-height:700px;height:auto;padding-top:65px}.hero-stage{height:880px;min-height:0}.hero h1{font-size:7vw}.doors{gap:14px}.door{padding:24px;min-height:520px}.door-top{flex-wrap:wrap;gap:10px;margin-bottom:25px}.door-category{order:3;width:100%}.door h2{font-size:2.4rem}.boutique,.closing{gap:35px}.service{grid-template-columns:1fr 1.2fr;gap:30px}.service-title{display:block}.index{display:block;margin-bottom:18px}.service-title .aside{margin-top:18px}footer{gap:30px}.footer-details a{overflow-wrap:anywhere}.pagehero h1{font-size:3.6rem}}
@media(max-width:600px){:root{--gutter:22px}header{gap:18px}.wordmark{font-size:1.45rem}nav{flex-wrap:wrap;justify-content:flex-start;gap:8px 22px}nav a{font-size:.8125rem}header .button{font-size:.875rem;min-height:44px;gap:20px}.hero-stage{height:830px}.hero{min-height:705px;height:auto;padding-top:44px;padding-bottom:65px}.hero h1{font-size:10.6vw;line-height:1.03;letter-spacing:-.065em}.headline-line:nth-child(2)>span{max-width:10ch}.hero .intro{font-size:1rem;max-width:35ch;margin-top:28px}.hero .aside{max-width:30ch}.wind{width:165%;height:100%;right:-45%;top:-10%;opacity:.38}.doors{grid-template-columns:1fr;gap:15px;margin-top:-95px;padding-bottom:60px}.door{min-height:430px;padding:25px}.door-top{flex-wrap:nowrap;margin-bottom:27px;gap:20px}.door-category{width:auto;order:0;margin-top:8px;font-size:.875rem}.number{font-size:4.5rem}.door h2{font-size:2.8rem;max-width:11ch}.door p{font-size:1rem}.boutique,.closing,.fit{grid-template-columns:1fr;gap:28px}.boutique{padding-top:35px;padding-bottom:55px}.boutique h2{font-size:3.5rem;max-width:9ch}.boutique p{font-size:1.0625rem}.closing{padding-top:45px;padding-bottom:50px}.closing h2{font-size:3.4rem}.closing p{font-size:1.0625rem}footer{flex-direction:column;align-items:stretch;gap:30px;padding-top:32px;padding-bottom:35px}.logo-lockup{width:100%}.footer-details{gap:12px}.inner-page .pagehero{padding-top:40px;padding-bottom:40px}.pagehero h1{font-size:2.9rem}.pagehero .intro{font-size:1rem}.service{grid-template-columns:1fr;gap:25px;padding:32px 0 35px}.service-title{position:static;display:grid;grid-template-columns:40px 1fr;gap:15px}.index{font-size:1.9rem}.service h2{font-size:1.9rem}.service-title .aside{margin-top:0}.service p{font-size:1rem}.services{padding-top:20px;padding-bottom:30px}.steps{padding-top:20px;padding-bottom:40px}.steps .service{padding-left:35px;gap:20px}.steps .service h2{position:static}.steps .service::before{top:37px}.fit{padding-bottom:45px}.fit h2{font-size:2rem}.form-grid{grid-template-columns:1fr}.contact{padding-top:30px}.contact iframe{min-width:0}.privacy h2{font-size:1.7rem}.doors:has(.door:hover) .door:not(:hover){opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-stage{height:auto!important;min-height:0}.hero{position:relative!important;transform:none!important;opacity:1!important;height:auto!important;min-height:0;padding-bottom:65px}.doors{margin-top:0;padding-top:30px;transform:none!important}.door,.motion-ready .service.reveal,.motion-ready .steps .service>h2,.motion-ready .steps .service>p,.motion-ready .editorial-reveal h2{opacity:1!important;transform:none!important}.wind path{stroke-dashoffset:0!important}.process-trace{stroke-dashoffset:0!important}.transition-layer{display:none}.is-leaving main{opacity:1!important;transform:none!important}}

/* Stable layout and hit targets: animate only content inside them. */
.hero-stage{height:auto;min-height:0;background:#111}
.hero{position:relative;top:auto;height:auto;min-height:0;padding-bottom:90px;transform:none!important;opacity:1!important;will-change:auto}
.hero-content{transform-origin:left top}
.doors{margin-top:0;padding-top:28px;transform:none!important;perspective:none;background:var(--paper)}
.door{display:block;padding:0;min-height:0;border:0;background:transparent;overflow:visible;transform:none!important;will-change:auto;transition:opacity 220ms}
.door::after{display:none}
.door:hover{box-shadow:none}
.door-surface{display:flex;flex-direction:column;min-height:510px;height:100%;padding:32px 36px 28px;background:#fff;border:1px solid #bdbdbd;pointer-events:none;transform-origin:center;transition:transform 240ms ease,box-shadow 240ms ease}
.door-2 .door-surface{background:#dcded9}
@media(hover:hover) and (pointer:fine){.door:hover .door-surface,.door:focus-visible .door-surface{transform:translateY(-6px) scale(1.012);box-shadow:0 18px 36px #0002}}
.motion-ready .service.reveal,.motion-ready .steps .service>h2,.motion-ready .steps .service>p,.motion-ready .editorial-reveal h2{opacity:1;transform:none;transition:none}
.process-wind{overflow:hidden}
@view-transition{navigation:auto}
::view-transition-old(root){animation:stable-out 160ms ease both}
::view-transition-new(root){animation:stable-in 180ms ease both}
@keyframes stable-out{to{opacity:0;transform:scale(1.015)}}
@keyframes stable-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
@media(max-width:800px){.hero-stage{height:auto}.hero{min-height:0;height:auto}.door-surface{padding:24px;min-height:520px}}
@media(max-width:600px){.hero-stage{height:auto}.hero{min-height:0;padding-bottom:55px}.doors{margin-top:0;padding-top:20px}.door-surface{min-height:430px;padding:25px}}
@media(prefers-reduced-motion:reduce){.hero-content,.wind,.door-surface{transform:none!important}.door-surface{transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
