 :root{ --black:#010103; --ink:#1c1d20; --char:#2a2b2f; --steel:#5f646c; --ash:#9ba0a7; --fog:#d9d9d9; --mist:#efeeea; --grey:#d9d9d9; --char:#2b2525; --khaki:#ac9f73; --green:#5a7255; --silver:var(--khaki); --white:#fff; --font:'Inter Tight','Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --r-tight:4px; --r-card:10px; --r-nav:24px; --r-pill:30px; --max:1280px; --pad:clamp(20px,4vw,48px); --band:clamp(72px,9vw,128px); --ease:cubic-bezier(.2,.7,.1,1); } *,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}} body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.5 var(--font); font-feature-settings:"ss01","salt";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} img{display:block;max-width:100%;height:auto} a{color:inherit} p{margin:0 0 1em} h1,h2,h3,h4{margin:0;font-weight:500;text-wrap:balance} ul{margin:0;padding:0} :focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px} .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} .skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--black);color:#fff;padding:10px 16px;border-radius:var(--r-pill);text-decoration:none} .skip:focus{top:12px} .d-xl{font-size:clamp(50px,9.2vw,116px);line-height:.94;letter-spacing:-.045em} .d{font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.035em} .h-lg{font-size:clamp(34px,4.4vw,54px);line-height:1.04;letter-spacing:-.03em} .h{font-size:clamp(28px,3vw,40px);line-height:1.08;letter-spacing:-.025em} .h-sm{font-size:24px;line-height:1.16;letter-spacing:-.02em} .lede{font-size:clamp(18px,1.6vw,21px);line-height:1.4;letter-spacing:-.01em} .muted{color:var(--steel)} .on-dark .muted{color:var(--ash)} .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)} .band{padding:var(--band) 0} .band.tight{padding:calc(var(--band)*.7) 0} .on-dark{background:var(--black);color:var(--white)} .on-mist{background:var(--mist)} .on-silver{background:var(--silver);color:var(--ink)} .on-char{background:var(--char)} .on-green{background:var(--green)} .on-green .muted{color:rgba(255,255,255,.94)} .on-green .rows,.on-green .rows li{border-color:rgba(255,255,255,.3)} .on-silver .muted{color:#2e2b23} ::selection{background:var(--khaki);color:var(--ink)} .measure{max-width:62ch} .stack>*+*{margin-top:24px} .split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center} .split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} .split.rev>.split-text{order:2} .split-text h2{margin-bottom:24px} .split-img img{width:100%;aspect-ratio:1/1;object-fit:cover} .split-img.wide img{aspect-ratio:4/3} @media (max-width:860px){ .split,.split.rev{grid-template-columns:1fr} .split.rev>.split-text{order:0} } .btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--r-pill); font:500 16px/1 var(--font);text-decoration:none;border:1px solid transparent;cursor:pointer; transition:background-color .2s,color .2s,border-color .2s} .btn-black{background:#000;color:#fff} .btn-black:hover{background:var(--char)} .btn-white{background:#fff;color:var(--ink)} .btn-white:hover{background:var(--silver)} .btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)} .btn-ghost:hover{background:var(--ink);color:#fff} .on-dark .btn-ghost,.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.7)} .on-dark .btn-ghost:hover,.hero .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff} .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px} .link{font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px} .link:hover{text-decoration-thickness:2px;text-decoration-color:var(--green)} .nav{position:fixed;z-index:50;top:16px;left:50%;transform:translateX(-50%);width:calc(100% - 2*var(--pad));max-width:1200px; display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;color:var(--ink); border:1px solid var(--fog);border-radius:var(--r-nav);padding:7px 7px 7px 20px} .brand{display:flex;align-items:center;text-decoration:none;color:var(--ink)} .brand-mark{display:block;width:168px;aspect-ratio:917/200;background:currentColor; -webkit-mask:url(/assets/img/lockup.d238255e6e.png) center/contain no-repeat;mask:url(/assets/img/lockup.d238255e6e.png) center/contain no-repeat} .nav-links{display:flex;align-items:center;gap:4px;list-style:none} .nav-links a{display:block;padding:10px 12px;border-radius:var(--r-pill);font-size:14px;font-weight:500;text-decoration:none} .nav-links a:hover{background:var(--mist)} .nav-links a[aria-current="page"]{background:var(--grey)} .nav .btn{min-height:40px;padding:10px 18px;font-size:14px} .menu-btn{display:none;min-height:40px;padding:10px 18px;border-radius:var(--r-pill);border:1px solid var(--ink);background:#fff;color:var(--ink);font:500 14px/1 var(--font);cursor:pointer} @media (max-width:980px){ .nav-links,.nav .nav-book{display:none} .menu-btn{display:inline-flex} .brand-mark{width:150px} } .menu{position:fixed;inset:0;z-index:60;background:var(--black);color:#fff;display:flex;flex-direction:column; padding:24px var(--pad) 32px;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s;overflow-y:auto} .menu.open{visibility:visible;opacity:1;transition:opacity .25s} .menu-top{display:flex;justify-content:space-between;align-items:center} .menu-top .brand{color:#fff} .menu-close{min-height:40px;padding:10px 18px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:500 14px/1 var(--font);cursor:pointer} .menu ul{list-style:none;margin:auto 0;padding:48px 0} .menu li a{display:block;padding:6px 0;font-size:clamp(34px,9vw,52px);line-height:1.1;letter-spacing:-.03em;font-weight:500;text-decoration:none} .menu li a[aria-current="page"]{color:var(--silver)} .menu-foot{display:grid;gap:12px} .menu-foot .btn{justify-content:center} .menu-foot p{margin:8px 0 0;color:var(--ash);font-size:15px} .menu-foot a:not(.btn){color:#fff} .hero{position:relative;min-height:max(600px,100svh);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--black)} .hero.short{min-height:max(520px,76svh)} .hero-media{position:absolute;inset:0} .hero-media img{width:100%;height:100%;object-fit:cover} .hero-media::after{content:"";position:absolute;inset:0;background:rgba(1,1,3,.34)} .hero-body{position:relative;width:100%;padding-bottom:clamp(40px,7vw,88px);padding-top:140px} .hero h1{max-width:12ch} .hero .lede{max-width:44ch;margin-top:24px} .corner{position:absolute;right:var(--pad);bottom:clamp(40px,7vw,88px);width:44px;height:44px;border-radius:var(--r-tight); background:#fff;color:var(--ink);display:grid;place-items:center} .corner svg{width:18px;height:18px} @media (max-width:640px){.corner{display:none}} .page-head{padding:clamp(150px,18vw,220px) 0 clamp(56px,7vw,96px)} .page-head .lede{max-width:52ch;margin-top:24px} .programs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px)} .program img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-card)} .program h3{margin:24px 0 12px} .program p{color:var(--steel);max-width:40ch} @media (max-width:860px){.programs{grid-template-columns:1fr}.program img{aspect-ratio:4/3}} .rows{list-style:none;border-top:1px solid var(--fog)} .rows li{padding:18px 0;border-bottom:1px solid var(--fog);font-size:19px;line-height:1.35;letter-spacing:-.01em} .on-dark .rows,.on-dark .rows li{border-color:rgba(255,255,255,.2)} .ticks{list-style:none;display:grid;gap:10px;margin:0 0 1em} .ticks li{position:relative;padding-left:26px} .ticks li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:3px;border-radius:2px;background:var(--green)} .on-dark .ticks li::before,.on-silver .ticks li::before{background:currentColor} .bleed{position:relative;height:clamp(360px,62vw,760px);overflow:hidden} .bleed img{width:100%;height:100%;object-fit:cover} .steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(48px,6vw,80px);counter-reset:s} .steps li{border-top:3px solid var(--ink);padding-top:20px} .steps .n{display:block;font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:-.04em;margin-bottom:28px} .steps h3{margin-bottom:10px} .steps p{max-width:34ch;margin:0} @media (max-width:760px){.steps{grid-template-columns:1fr}} .quote{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start} .quote img{width:120px;height:120px;object-fit:cover;border-radius:var(--r-card)} .quote .q{font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.025em;font-weight:500;max-width:24ch;margin:0} .quote .btn-row{margin-top:36px} @media (max-width:600px){.quote{grid-template-columns:1fr}.quote img{width:88px;height:88px}} .ig-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px} .ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px} .ig a{display:block;overflow:hidden;border-radius:var(--r-card)} .ig img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .6s var(--ease)} .ig a:hover img{transform:scale(1.04)} @media (max-width:760px){.ig{grid-template-columns:repeat(2,minmax(0,1fr))}} .prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(40px,5vw,64px)} .price{background:#fff;border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column} .price .amt{font-size:clamp(44px,5vw,60px);line-height:1;letter-spacing:-.04em;margin:18px 0 6px} .price .amt small{font-size:15px;letter-spacing:0;color:var(--steel);font-weight:400;margin-left:6px} .price h4{font-size:14px;font-weight:600;margin:28px 0 10px} .price .ticks{font-size:15px;gap:6px} .price .btn{margin-top:auto;align-self:flex-start} .price .spacer{flex:1;min-height:24px} @media (max-width:900px){.prices{grid-template-columns:1fr}} .cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)} .cols h2{position:sticky;top:110px;align-self:start} @media (max-width:860px){.cols{grid-template-columns:1fr}.cols h2{position:static}} .subgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px)} .subgrid h3{margin-bottom:16px} @media (max-width:700px){.subgrid{grid-template-columns:1fr}} .note{border-left:1px solid currentColor;padding-left:20px;font-weight:500} .person .role{font-size:15px;color:var(--steel);margin:-12px 0 24px} .faq{border-top:1px solid var(--ink);max-width:880px} .faq details{border-bottom:1px solid var(--fog)} .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0; font-size:clamp(19px,2vw,24px);line-height:1.2;letter-spacing:-.02em;font-weight:500} .faq summary::-webkit-details-marker{display:none} .faq summary::after{content:"";flex:none;width:32px;height:32px;border-radius:var(--r-pill);border:1px solid var(--ink); background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 12px no-repeat; transition:transform .3s var(--ease)} .faq details[open] summary::after{transform:rotate(45deg)} .faq .a{padding:0 56px 28px 0;color:var(--steel);max-width:66ch} .faq .a p{margin:0} .contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start} .contact-grid h2{margin-bottom:12px} .contact-grid .h-sm{margin-bottom:24px} .contact-lines{list-style:none;display:grid;gap:4px;margin:32px 0 8px;font-size:19px} .contact-lines a{text-decoration:none;border-bottom:1px solid var(--fog)} .contact-lines a:hover{border-color:var(--ink)} @media (max-width:900px){.contact-grid{grid-template-columns:1fr}} .form{background:#fff;border-radius:var(--r-nav);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:18px 16px} .on-mist .form{background:#fff} .field{display:grid;gap:8px} .field.full{grid-column:1/-1} .field label{font-size:14px;font-weight:500} .field label span{color:var(--steel);font-weight:400} .field input,.field select,.field textarea{width:100%;font:400 16px/1.4 var(--font);color:var(--ink);background:#fff; border:1px solid #b9bdc3;border-radius:var(--r-tight);padding:13px 14px;min-height:48px;transition:border-color .2s} .field textarea{min-height:140px;resize:vertical} .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)} .field [aria-invalid="true"]{border-color:#b3261e} .err{font-size:13px;color:#b3261e;min-height:0} .err:empty{display:none} .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden} .form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px} .form-foot p{margin:0;font-size:14px;color:var(--steel)} .form-status{grid-column:1/-1;font-size:15px;margin:0} .form-status:empty{display:none} .form-status.bad{color:#b3261e} @media (max-width:600px){.form{grid-template-columns:1fr}} .cta-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px} .cta-band h2{max-width:16ch} .prose{max-width:70ch} .prose h2{font-size:24px;letter-spacing:-.02em;margin:44px 0 12px} .prose ul{padding-left:20px;margin:0 0 1em} .prose li{margin-bottom:6px} .foot{background:var(--black);color:#fff;padding:clamp(64px,8vw,104px) 0 32px} .foot-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px} .foot-logo{width:220px} .foot h2{font-size:14px;font-weight:600;color:var(--ash);margin-bottom:16px} .foot ul{list-style:none;display:grid;gap:8px} .foot a{text-decoration:none} .foot a:hover{text-decoration:underline;text-underline-offset:4px} .foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:14px;color:var(--ash)} .foot-base ul{display:flex;flex-wrap:wrap;gap:8px 20px} @media (max-width:860px){.foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot-grid>:first-child{grid-column:1/-1}} @media (max-width:520px){.foot-grid{grid-template-columns:minmax(0,1fr)}} .foot a,.contact-lines a,.menu-foot a{overflow-wrap:anywhere} .fab{position:fixed;z-index:40;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:8px; opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease)} .fab.show{opacity:1;transform:none;pointer-events:auto} .fab .btn{min-height:46px;padding:12px 22px;font-size:15px;border-color:rgba(255,255,255,.35)} .to-top{width:46px;height:46px;border-radius:var(--r-tight);background:#000;color:#fff;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;cursor:pointer} .to-top:hover{background:var(--char)} .to-top svg{width:18px;height:18px} .fab.no-cta .fab-cta{display:none} .consent{position:fixed;z-index:70;left:16px;bottom:16px;max-width:420px;background:#fff;color:var(--ink);border:1px solid var(--ink);border-radius:var(--r-card);padding:20px} .consent p{font-size:14px;margin:0 0 14px} .consent .btn{min-height:40px;padding:10px 18px;font-size:14px} .consent[hidden]{display:none} .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em} .ln>span{display:block} .js .hero-media img{transform:scale(1.07);transition:transform 1.8s var(--ease)} .js .hero .ln>span{transform:translateY(106%);transition:transform .95s var(--ease)} .js .hero .ln:nth-child(2)>span{transition-delay:.08s} .js .hero .ln:nth-child(3)>span{transition-delay:.16s} .js .hero .fade{opacity:0;transform:translateY(10px);transition:opacity .6s .38s,transform .6s .38s var(--ease)} .js .nav{opacity:0;transform:translate(-50%,-10px);transition:opacity .5s .1s,transform .5s .1s var(--ease)} .ready .hero-media img{transform:none} .ready .hero .ln>span{transform:none} .ready .hero .fade{opacity:1;transform:none} .ready .nav{opacity:1;transform:translateX(-50%)} :root{--cover:var(--white);--doors:cubic-bezier(.77,0,.18,1)} .on-mist{--cover:var(--mist)} .on-dark{--cover:var(--black)} .on-silver{--cover:var(--silver)} .on-char{--cover:var(--char)} .on-green{--cover:var(--green)} .js [data-r]:not([data-r="up"]):not([data-r="pop"]){position:relative;overflow:hidden} .program [data-r]{border-radius:var(--r-card)} .js [data-r] img{transition:transform 1.6s var(--ease) var(--d,0s),filter 1.6s var(--ease) var(--d,0s)} .js [data-r="img"]::after{content:"";position:absolute;inset:-1px;z-index:1;background:var(--cover);transform-origin:50% 0;transition:transform 1.1s var(--ease) var(--d,0s)} .js [data-r="img"] img{transform:scale(1.06)} .js [data-r="img"].in::after{transform:scaleY(0)} .js [data-r^="side"]::after{content:"";position:absolute;inset:-1px;z-index:1;background:var(--cover);transition:transform 1.25s var(--doors) var(--d,0s)} .js [data-r="side-l"]::after{transform-origin:100% 50%} .js [data-r="side-r"]::after{transform-origin:0 50%} .js [data-r="side-l"] img{transform:scale(1.14) translateX(-5%)} .js [data-r="side-r"] img{transform:scale(1.14) translateX(5%)} .js [data-r^="side"].in::after{transform:scaleX(0)} .js [data-r="split"]::before,.js [data-r="split"]::after{content:"";position:absolute;top:-1px;bottom:-1px;width:calc(50% + 2px);z-index:1;background:var(--cover);transition:transform 1.3s var(--doors) var(--d,0s)} .js [data-r="split"]::before{left:-1px;transform-origin:0 50%} .js [data-r="split"]::after{right:-1px;transform-origin:100% 50%} .js [data-r="split"] img{transform:scale(1.12)} .js [data-r="split"].in::before,.js [data-r="split"].in::after{transform:scaleX(0)} .js [data-r="blinds"]::after{content:"";position:absolute;inset:-1px;z-index:1; background:linear-gradient(var(--cover),var(--cover)) 0 0,linear-gradient(var(--cover),var(--cover)) 0 25%,linear-gradient(var(--cover),var(--cover)) 0 50%,linear-gradient(var(--cover),var(--cover)) 0 75%,linear-gradient(var(--cover),var(--cover)) 0 100%; background-repeat:no-repeat;background-size:100% 20.5%,100% 20.5%,100% 20.5%,100% 20.5%,100% 20.5%; transition:background-size .95s var(--doors) var(--d,0s)} .js [data-r="blinds"] img{transform:scale(1.08) translateY(3%)} .js [data-r="blinds"].in::after{background-size:100% 0%,100% 0%,100% 0%,100% 0%,100% 0%} .js [data-r="zoom"] img{transform:scale(1.22);filter:grayscale(1) brightness(.75)} .js [data-r="zoom"].in img{filter:none} .bleed .px-in{position:absolute;left:0;right:0;top:-12%;bottom:-12%;will-change:transform} .bleed .px-in img{height:100%} .js [data-r="tile"]::after{content:"";position:absolute;inset:-1px;z-index:1;background:var(--cover);transition:transform .9s var(--doors) var(--d,0s)} .js .ig [data-r="tile"]:nth-child(4n+1)::after{transform-origin:50% 0;--gone:scaleY(0)} .js .ig [data-r="tile"]:nth-child(4n+2)::after{transform-origin:100% 50%;--gone:scaleX(0)} .js .ig [data-r="tile"]:nth-child(4n+3)::after{transform-origin:50% 100%;--gone:scaleY(0)} .js .ig [data-r="tile"]:nth-child(4n+4)::after{transform-origin:0 50%;--gone:scaleX(0)} .js [data-r="tile"].in::after{transform:var(--gone,scaleY(0))} .js img[data-r="pop"]{opacity:0;transform:scale(.55) rotate(-8deg);transition:transform .9s cubic-bezier(.34,1.56,.64,1) var(--d,.15s),opacity .4s var(--d,.15s)} .js img[data-r="pop"].in{opacity:1;transform:none} .js [data-r].in img{transform:none} .card a:hover [data-r].in img,.ig a[data-r]:hover img,.ig a:hover img{transform:scale(1.04)} @keyframes drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.06) translate3d(-1.2%,-1%,0)}} .ready .hero-media img{animation:drift 22s ease-in-out 1.9s infinite alternate} .js [data-r="up"]{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .8s var(--ease)} .js [data-r="up"].in{opacity:1;transform:none} @media (prefers-reduced-motion:reduce){ .js .hero-media img,.js .hero .ln>span,.js .hero .fade,.js .nav,.js [data-r],.js [data-r] img{transition:none!important;transform:none!important;opacity:1!important;filter:none!important;animation:none!important} .js .nav{transform:translateX(-50%)!important} .js [data-r]::before,.js [data-r]::after{display:none!important} .ig img,.card-img img{transition:none} } .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)} .card a{text-decoration:none;display:block} .card-img{overflow:hidden;border-radius:var(--r-card)} .card-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--ease)} .card a:hover img{transform:scale(1.04)} .card a:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px} .card h3{margin:20px 0 8px} .card p{font-size:15px;margin:0} @media (max-width:860px){.cards{grid-template-columns:1fr}} .hubs{display:grid;gap:clamp(80px,10vw,140px)} .hub-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;align-items:end;margin-bottom:40px} .hub-head p{margin:0;max-width:48ch} .pillar{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);background:var(--mist);border-radius:var(--r-nav);overflow:hidden;text-decoration:none} .pillar-img img{width:100%;height:100%;min-height:320px;object-fit:cover} .pillar-text{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:14px} .pillar-text p{margin:0} .tag{display:inline-block;align-self:flex-start;background:var(--silver);border-radius:var(--r-pill);padding:6px 14px;font-size:13px;font-weight:500} .pillar:hover .link{text-decoration-thickness:2px} .qlist{list-style:none;margin-top:8px} .qlist li{border-bottom:1px solid var(--fog)} .qlist a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 64px;padding:24px 0;text-decoration:none} .qlist .q{font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.02em;font-weight:500} .qlist a:hover .q{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px} .qlist .muted{font-size:15px;align-self:center} @media (max-width:860px){.hub-head,.pillar,.qlist a{grid-template-columns:1fr}.pillar-img img{min-height:220px;aspect-ratio:16/10}} .post-head{padding-top:clamp(130px,15vw,180px);padding-bottom:40px} .post-head h1{max-width:18ch;margin:20px 0 20px} .post-head .lede{max-width:56ch;color:var(--steel)} .crumbs{font-size:14px;color:var(--steel)} .crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline} .byline{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:15px;line-height:1.4} .byline a{font-weight:600;text-decoration:none} .byline-mark{width:44px;height:44px;border-radius:50%;background:var(--black);flex:none;position:relative} .byline-mark::after{content:"";position:absolute;inset:9px 7px;background:#fff;-webkit-mask:url(/assets/img/lockup.d238255e6e.png) left center/auto 100% no-repeat;mask:url(/assets/img/lockup.d238255e6e.png) left center/auto 100% no-repeat} .post-hero img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--r-card)} @media (max-width:700px){.post-hero img{aspect-ratio:4/3}} .post-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);padding-top:56px;padding-bottom:var(--band)} .post-side .toc{position:sticky;top:110px;font-size:14px} .toc p{font-weight:600;margin:0 0 12px} .toc ol{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--steel)} .toc a{text-decoration:none}.toc a:hover{text-decoration:underline;color:var(--ink)} @media (max-width:960px){.post-grid{grid-template-columns:minmax(0,1fr)}.post-side{display:none}} .post-body{max-width:720px} .hub-link{font-size:15px;color:var(--steel)} .takeaways{background:var(--green);color:#fff;border-radius:var(--r-card);padding:24px 28px;margin-bottom:48px} .takeaways h2{font-size:18px;font-weight:600;margin-bottom:12px} .takeaways ul{padding-left:20px;display:grid;gap:8px} .prose-post{font-size:18px;line-height:1.6} .prose-post h2{font-size:clamp(26px,2.6vw,34px);line-height:1.12;letter-spacing:-.025em;margin:56px 0 16px;scroll-margin-top:100px} .prose-post h3{font-size:21px;letter-spacing:-.015em;margin:32px 0 10px} .prose-post p,.prose-post ul,.prose-post ol{margin:0 0 1.1em} .prose-post ul,.prose-post ol{padding-left:22px} .prose-post li{margin-bottom:6px} .prose-post a{text-underline-offset:4px;text-decoration-thickness:1px} .bluf{font-size:19px;line-height:1.5;border-left:3px solid var(--green);padding-left:18px} .bluf strong{font-weight:500} .tbl{overflow-x:auto;margin:8px 0 28px;border:1px solid var(--fog);border-radius:var(--r-card)} .tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.4;min-width:520px} .tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--fog);vertical-align:top} .tbl th{background:var(--mist);font-weight:600} .tbl tr:last-child td{border-bottom:0} .post-faq{margin-top:56px} .post-faq h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.025em;margin-bottom:20px} .author{margin-top:56px;padding-top:28px;border-top:1px solid var(--ink)} .author .h-sm{margin-bottom:12px} .author a{text-decoration:none} .post-cta{margin-top:56px;background:var(--green);border-radius:var(--r-nav);padding:clamp(28px,4vw,48px)} .post-cta p{margin:14px 0 0} .fab .fab-cta{background:var(--green);color:#fff} .fab .fab-cta:hover{background:#4a6046} .hero .btn-white:hover{background:var(--khaki)} .price .amt small{color:#5b564a} .tag{color:var(--ink)} .byline-mark{background:var(--green)} .toc a:hover{color:var(--green)} .qlist a:hover .q,.card a:hover h3{text-decoration-color:var(--green)} .faq details[open] summary::after{background-color:var(--khaki);border-color:var(--khaki)} .biglogo{display:none} .js .biglogo{display:block;position:fixed;z-index:55;pointer-events:none;color:#fff; top:clamp(150px,22vh,240px);right:var(--pad);width:clamp(240px,27vw,430px)} .biglogo span{position:absolute;display:block;background:currentColor;transform-origin:0 0;will-change:transform; -webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat} .biglogo{aspect-ratio:824/600}.bl-head{left:20.874%;top:0.000%;width:59.223%;height:52.000%;-webkit-mask-image:url(/assets/img/logo-head.645d518242.png);mask-image:url(/assets/img/logo-head.645d518242.png)}.bl-words{left:0.485%;top:53.667%;width:93.204%;height:28.333%;-webkit-mask-image:url(/assets/img/logo-words.21ca2e77d2.png);mask-image:url(/assets/img/logo-words.21ca2e77d2.png)}.bl-waves{left:8.252%;top:83.333%;width:90.534%;height:16.667%;-webkit-mask-image:url(/assets/img/logo-waves.a227f96d60.png);mask-image:url(/assets/img/logo-waves.a227f96d60.png)}@media (max-width:900px){.biglogo{aspect-ratio:917/200}.bl-head{left:0;top:0;width:34.133%;height:100%}.bl-words{left:36.968%;top:24.000%;width:63.032%;height:64.000%}.bl-waves{display:none}} @media (max-width:900px){.biglogo .bl-waves{display:none}.js .biglogo{top:clamp(92px,13vh,120px);left:50%;right:auto;width:min(80vw,380px);margin-left:calc(min(80vw,380px) / -2)}} .js .biglogo{opacity:0;transition:opacity .8s var(--ease) .5s} .ready .biglogo{opacity:1} .biglogo.live{transition:none} .biglogo.done{visibility:hidden} @media (prefers-reduced-motion:reduce){.js .biglogo{display:none}} .nw{white-space:nowrap} .split-img.person-img{max-width:460px;width:100%;justify-self:center;border-radius:var(--r-card)} .split-img.person-img img{aspect-ratio:auto;height:auto} .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none} .avatar.lg{width:80px;height:80px;margin-bottom:16px} 