/* Continuous product film and restrained editorial rhythm. */
:root{--paper:#eeede6;--ink:#17261e;--mint:#c3f5b5;--line:#17261e2a;--muted:#657168;--dark:#14281d;--intro:1;--story:0;--progress:0}
html{scroll-behavior:auto;scroll-padding-top:40px}body{background:var(--paper);overflow-x:clip}h1,h2,h3{letter-spacing:-.06em!important;line-height:1.03!important;font-weight:600}em{font-family:'Playfair Display',Georgia,serif;font-weight:500}p{line-height:1.7}.header{height:88px;padding:0 5.2vw}.wordmark{font-size:27px}.brand-dot{background:#719668;width:5px;height:5px}.header nav{gap:27px}.header nav a{font-size:11px}.button{border-radius:4px;padding:17px 23px;background:var(--ink);color:var(--paper);font-size:12px;min-height:46px;box-shadow:none!important}.button:hover{background:#375541}.button.small{font-size:10px;padding:12px 16px}.button:focus-visible{outline:3px solid #bb8350;outline-offset:4px}.text-link{font-size:11px}.eyebrow{font-size:9px;font-weight:400;line-height:1.6}.status-dot{background:#b17d53;width:5px;height:5px}.section-pad{padding:90px 7vw}
.product-film{height:290svh;position:relative}.film-pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 76% 48%,#d4ddce 0%,#e8ebe0 40%,var(--paper) 72%)}.film-orbit{position:absolute;width:65vw;height:65vw;border:1px solid #354c3418;border-radius:50%;top:calc(50% - 32vw);left:43%;pointer-events:none}.film-orbit:before{content:'';position:absolute;inset:8%;border:1px solid #354c3414;border-radius:50%}
#product-canvas{position:absolute;inset:0;z-index:2;pointer-events:none}#product-canvas canvas{width:100%;height:100%;display:block}.product-fallback{position:absolute;width:62%;right:0;top:28%}.webgl-ready .product-fallback{display:none}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(calc(-47% - (1 - var(--intro))*30px));z-index:4;opacity:var(--intro);max-width:46vw}.hero-copy h1{font-size:clamp(58px,6.7vw,112px);line-height:.99!important;margin:30px 0 25px}.hero-copy h1 em{color:#49634d}.hero-copy .hero-description{font-size:14px;line-height:1.8;margin-bottom:0;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:28px}.film-caption{position:absolute;right:7vw;bottom:19%;z-index:3;text-align:right;opacity:var(--intro)}.film-caption>span{font:10px 'DM Mono';letter-spacing:.13em}.film-caption p{font-size:13px;line-height:1.5;margin:13px 0;color:#5d715e}.film-caption small{font:8px 'DM Mono';color:#7b877b}.film-bottom{position:absolute;bottom:24px;left:5.2vw;right:5.2vw;display:flex;align-items:center;gap:25px;z-index:7}.film-step{display:flex;gap:14px;font:10px 'DM Mono';min-width:190px}.film-step>span:first-child{color:#a06035}.film-progress{height:1px;flex:1;background:var(--line)}.film-progress i{display:block;background:#6e875e;height:1px;transform-origin:left;transform:scaleX(var(--progress));width:100%}.film-bottom .motion-control{position:static;border:0;background:none;padding:10px 0;font:10px 'DM Mono';min-height:44px;color:#556c53}.motion-control span{margin-left:8px}.film-skip{font-size:10px;text-decoration:none}.scroll-whisper{position:absolute;left:7vw;bottom:15%;font:9px 'DM Mono';letter-spacing:.1em;opacity:var(--intro)}.scroll-whisper span{margin-left:12px}.story-copy{position:absolute;left:7vw;top:9%;opacity:var(--story);z-index:3;pointer-events:none}.story-copy h2{font-size:clamp(36px,4vw,64px);margin-top:20px}.story-copy em{color:#49634d}.part-label{position:absolute;z-index:4;opacity:0;pointer-events:none;max-width:220px;transition:opacity .35s,transform .35s;transform:translateY(8px)}.part-label.active{opacity:1;transform:none}.part-label>span{display:block;color:#9a6740;font:11px 'DM Mono';margin-bottom:8px}.part-label strong{display:block;font-size:18px;letter-spacing:-.035em}.part-label small{display:block;font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.part-label-one{left:7vw;bottom:24%}.part-label-two{right:7vw;top:20%}.part-label-three{right:7vw;bottom:23%}.part-label-four{left:7vw;bottom:24%}
.experience{padding:85px 7vw 30px;min-height:0;background:var(--dark);position:relative}.experience-heading{margin:30px 0 0;gap:30px;align-items:center}.experience h2{font-size:clamp(40px,5vw,72px);max-width:650px}.experience-heading p{margin:0;max-width:300px;font-size:13px;line-height:1.8;color:#aab9ac}.experience-heading p span{color:var(--mint)}.flow-badge{font:8px 'DM Mono';color:#b2d3a4}.experience-body{gap:10vw;min-height:570px}.journey-visual{display:none}.steps{margin-top:0}.step{padding:22px 0;min-height:75px}.step.active{padding-left:0}.step strong{font-size:16px;font-weight:500}.step small{font-size:11px}.step-number{font-size:10px}.step-arrow{font-size:16px}.phone-stage{min-height:590px}.phone{width:275px;height:548px;transform:rotateY(-9deg) rotateZ(5deg);border-color:#586954;box-shadow:20px 30px 45px #06100980}.phone-content{height:476px;background:linear-gradient(#294031,#1d3024);padding:25px 19px 14px}.phone-screen{padding-top:29px}.phone h3{font-size:27px;line-height:1.05!important}.phone-screen .phone-description{font-size:10px;line-height:1.6}.phone .phone-button{background:var(--mint);color:var(--ink);font-size:9px;padding:12px;min-height:42px}.phone .phone-button:hover{background:#dcffd2}.phone-halo{width:420px;height:420px;border:1px solid #c3f5b525;box-shadow:none;transform:rotateX(45deg)}.phone-brand{font-size:15px}.phone-bottom-label{font-size:6px;color:#a2b59a;margin-top:12px}.phone-small{font-size:8px}.phone-stage .layer,.explode-control{display:none}.custom-input input{min-width:0}.experience-footer{margin-top:0;font-size:8px;letter-spacing:.08em;padding-bottom:4px}
.people-heading{margin:35px 0}.people h2,.questions h2{font-size:clamp(42px,5.5vw,78px)}.people-heading p{margin-right:0;font-size:13px;line-height:1.8}.audience-tabs{border-top:0}.audience-tabs button{background:none!important;border-right:0;padding:17px 0;font-size:12px;border-bottom:2px solid transparent}.audience-tabs button[aria-selected=true]{border-bottom-color:var(--ink)}.audience-tabs button span{float:none;margin-left:18px;color:#687f62}.audience-panel{background:transparent;gap:6vw;grid-template-columns:1.2fr 1fr;min-height:0;margin-top:28px}.audience-photo{min-height:0;aspect-ratio:1.35;border-radius:3px}.audience-photo img{position:absolute;inset:0;filter:saturate(.65)}.audience-copy{padding:0;min-height:0}.audience-copy h3{font-size:clamp(33px,4vw,56px);margin:24px 0 20px}.audience-copy p{font-size:13px;max-width:330px}.audience-copy .text-link{margin-top:15px}.audience-number{display:none}.photo-caption{font-size:8px;padding:9px}.questions{background:var(--paper);border-top:1px solid var(--line);gap:9vw;padding-top:70px;padding-bottom:85px}.questions>div:first-child p{font-size:13px}.faq-list details{padding:20px 0}.faq-list summary{font-size:13px}.faq-list p{font-size:12px;line-height:1.8}.closing{background:var(--mint);min-height:0;padding:75px 7vw}.closing h2{font-size:clamp(65px,9vw,130px);margin:30px 0}.closing-rings{width:530px;height:530px;right:-20px;top:-25px;border-color:#34592822;transform:rotate(calc(var(--closing-progress,0)*60deg)) scale(calc(1 + var(--closing-progress,0)*.1))}.closing-rings:before,.closing-rings:after{border-color:#34592822}.closing .button{position:relative;z-index:1}.closing p{margin-top:23px}.closing .eyebrow{font-size:9px}footer{padding:30px 7vw;background:var(--ink)}footer>span{font-size:10px;color:#a4b09f}footer div,footer a:not(.wordmark){font-size:9px}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.motion-enabled .reveal.visible{opacity:1;transform:none}dialog{border-radius:12px;padding:38px;max-height:90svh}dialog h2{font-size:45px}dialog .button{margin-top:18px}dialog .dialog-intro{font-size:12px}dialog .form-note{font-size:9px}.request-types input:focus-visible+span{outline:3px solid #bc8050}.request-types span{border-radius:4px}dialog input{border-radius:4px}#request-summary dd{overflow-wrap:anywhere;max-width:70%}#email-request{display:inline-flex;text-decoration:none}.dialog-close{min-height:44px;min-width:44px}
@media(max-width:900px){.header nav{gap:17px}.header nav a{font-size:10px}.hero-copy{left:6vw;max-width:55vw}.hero-copy h1{font-size:70px}.hero-copy .hero-description{font-size:12px}.hero-actions{gap:18px}.film-caption{bottom:20%;right:5vw}.film-caption p{font-size:11px}.film-bottom{gap:14px}.film-step{min-width:155px}.film-skip{display:none}.story-copy h2{font-size:46px}.part-label{max-width:165px}.part-label strong{font-size:16px}.part-label-two{top:30%}.experience-body{gap:5vw}.experience h2{font-size:49px}.phone-stage{min-height:580px}.phone-halo{width:330px;height:330px}.section-pad{padding:75px 6vw}.audience-panel{gap:5vw}.audience-copy p{font-size:12px}.audience-copy h3{font-size:37px}.questions{gap:5vw}}
@media(min-width:601px) and (max-width:850px){.header nav{display:flex}.menu{display:none}.header-actions .button{display:block}.experience-heading,.people-heading{display:flex}.experience-body{display:grid;grid-template-columns:1fr 1fr}.audience-panel{grid-template-columns:1.1fr 1fr}.questions{display:grid}.phone-stage{margin-top:0}.phone{width:252px;height:530px}.phone-content{height:456px}.phone-screen{padding-top:23px}.phone h3{font-size:25px}.phone-stage .phone-small{font-size:8px}.phone-description{margin:8px 0}.phone-rule{margin:6px 0}}
@media(max-width:600px){.header{padding:0 6vw;height:77px}.header nav{display:none}.header nav.open{display:flex;top:70px;background:var(--paper);padding:25px;gap:24px;z-index:20}.header nav a{font-size:13px}.header-actions .button{display:block;font-size:9px;padding:10px 12px;min-height:40px}.menu{display:block;width:36px}.wordmark{font-size:24px}.header-actions{gap:5px}.product-film{height:235svh}.film-pin{height:100svh;min-height:650px}.hero-copy{top:105px;transform:translateY(calc((1 - var(--intro))*-25px));left:7vw;max-width:86vw}.hero-copy .eyebrow{font-size:7px}.hero-copy h1{font-size:clamp(47px,12vw,68px);margin:22px 0 17px}.hero-copy .hero-description{font-size:11px}.hero-actions{margin-top:17px;gap:20px}.hero-actions .button{font-size:10px;padding:13px 16px;min-height:43px}.hero-actions .text-link{font-size:10px}.film-caption{bottom:10%;right:7vw}.film-caption p,.film-caption small{display:none}.film-caption>span{font-size:8px}.scroll-whisper{display:none}.film-bottom{left:7vw;right:7vw;bottom:12px;gap:12px}.film-step{min-width:125px;gap:8px;font-size:8px}.film-bottom .motion-control{font-size:8px}.film-orbit{width:130vw;height:130vw;top:43%;left:0}.product-fallback{width:95%;top:52%;right:0}.story-copy{left:7vw;top:7%}.story-copy .eyebrow{font-size:7px}.story-copy h2{font-size:40px;margin-top:14px}.part-label{left:7vw!important;right:auto!important;top:auto!important;bottom:14%!important;max-width:80vw;padding:10px 0}.part-label>span{display:inline-block;float:left;margin:3px 12px 0 0}.part-label strong{font-size:19px}.part-label small{font-size:11px;max-width:280px;margin-left:28px}.section-pad{padding:60px 7vw}.experience{padding:65px 7vw 25px}.experience-heading{margin-top:27px;display:block}.experience h2{font-size:43px}.experience-heading p{font-size:12px;margin-top:22px}.experience-body{display:flex;flex-direction:column;gap:20px}.journey{width:100%;margin-top:25px}.step{padding:15px 0;min-height:65px}.step strong{font-size:14px}.step small{font-size:10px}.phone-stage{min-height:600px;margin-top:0;width:100%}.phone{width:276px;height:550px}.phone-content{height:476px}.phone-halo{width:320px;height:320px}.experience-footer{font-size:7px;gap:20px;line-height:1.5}.flow-badge{font-size:7px}.people-heading{margin:22px 0}.people-heading p{font-size:12px;margin-top:18px}.people h2,.questions h2{font-size:48px}.audience-tabs{margin-top:30px}.audience-tabs button{font-size:10px}.audience-tabs button span{margin-left:8px}.audience-panel{grid-template-columns:1fr;gap:24px;margin-top:24px}.audience-photo{min-height:0;height:auto}.audience-copy h3{font-size:38px;margin:17px 0}.audience-copy p{max-width:none}.audience-copy .text-link{margin-top:17px}.questions{display:block}.faq-list{margin-top:32px}.faq-list summary{font-size:12px}.closing{padding:65px 7vw}.closing .eyebrow{font-size:8px}.closing h2{font-size:62px}.closing-rings{right:-250px;top:20px}.closing p{font-size:8px}footer{padding:25px 7vw;gap:20px}footer>span{display:none}footer div{gap:14px;font-size:8px}dialog{padding:30px 23px}dialog h2{font-size:43px}.form-row{display:block}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.closing-rings{transform:none!important}}
.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused .closing-rings{transform:none}.webgl-unavailable .product-film{height:100svh}.webgl-unavailable .film-progress{display:none}
.film-skip{color:inherit}.scroll-whisper{pointer-events:none}
.experience{border-radius:30px 30px 0 0;margin-top:-30px;z-index:8}
@media(prefers-reduced-motion:reduce){.product-film{height:100svh}.film-progress,.film-skip{display:none}}
[hidden]{display:none!important}
/* Closing invitation */
.closing.closing-finale{background:#132b23;color:#eef2e6;text-align:left;padding:48px 7vw 25px;position:relative;isolation:isolate;overflow:hidden}
.closing-finale:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 0%,#729f6533,transparent 58%),linear-gradient(90deg,transparent 49.9%,#c7edb909 50%,transparent 50.1%);background-size:auto,110px 100%;pointer-events:none}
.finale-top,.finale-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.closing-finale .eyebrow,.finale-index,.finale-bottom{font:400 10px 'DM Mono',monospace;letter-spacing:.08em;color:#adc3ae}
.closing-finale .eyebrow{display:flex;align-items:center;gap:10px}
.finale-top i{width:7px;height:7px;border-radius:50%;background:#cdf597;box-shadow:0 0 15px #cdf59766}
.finale-layout{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:7vw;padding:65px 0 70px}
.closing-finale h2{font-family:Manrope,sans-serif;font-size:clamp(66px,8.8vw,136px);font-weight:800;line-height:.99;letter-spacing:-.075em;margin:0 0 30px}
.closing-finale h2 span{display:inline-block;color:#d2f7a8;font-family:inherit;font-style:normal;font-weight:inherit}
.closing-finale .finale-copy>p{font-size:15px;line-height:1.8;color:#b5c8b8;margin:0}
.finale-pass{max-width:350px;width:100%;justify-self:end;transform:rotate(3deg);background:#e8eedb;color:#173026;border:1px solid #fbfff0;padding:25px;border-radius:12px;box-shadow:0 30px 60px #0004;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.finale-pass:hover,.finale-pass:focus-within{transform:rotate(0) translateY(-5px);box-shadow:0 35px 75px #0005}
.pass-top{display:flex;justify-content:space-between;align-items:center;font:500 9px 'DM Mono',monospace;letter-spacing:.07em}
.pass-top>span:last-child{font:400 33px Manrope,sans-serif}
.pass-price{font:600 104px/1 Manrope,sans-serif;letter-spacing:-.075em;margin:25px 0 20px}
.pass-price span{display:block;font:500 9px 'DM Mono',monospace;letter-spacing:.1em;margin-top:12px}
.pass-detail{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #1b3b3144;padding:18px 0;font-size:13px;font-weight:600}
.pass-detail svg{width:34px;height:34px;fill:none;stroke:#496c4f;stroke-width:2;stroke-linecap:round}
.closing-finale .finale-pass .button{display:flex;justify-content:space-between;width:100%;border-radius:5px;background:#1b392c;color:#eff6e7;font-size:12px;padding:17px 18px}
.closing-finale .finale-pass>p{font-size:10px;line-height:1.6;color:#526654;margin:14px 0 0;max-width:220px}
.finale-bottom{border-top:1px solid #daeac424;padding-top:22px;font-size:9px}
.finale-bottom a{color:#d6e4ce;text-decoration:none;padding:8px 0}
.finale-bottom a:hover{text-decoration:underline}
@media(max-width:850px){.finale-layout{gap:6vw;grid-template-columns:1.25fr 1fr}.closing-finale h2{font-size:clamp(61px,9vw,90px)}.finale-pass{padding:20px}.pass-price{font-size:87px}.closing-finale .finale-copy>p{font-size:13px}}
@media(max-width:600px){.closing.closing-finale{padding:32px 7vw 22px}.finale-index{font-size:8px}.closing-finale .eyebrow{font-size:7px;letter-spacing:.04em}.finale-layout{grid-template-columns:1fr;padding:43px 0 42px;gap:35px}.closing-finale h2{font-size:clamp(62px,16vw,94px);margin-bottom:20px}.finale-pass{justify-self:center;max-width:330px;padding:23px;transform:rotate(2deg)}.pass-price{font-size:90px;margin:16px 0}.finale-bottom{font-size:7px;gap:12px}.finale-bottom a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.finale-pass,.finale-pass:hover,.finale-pass:focus-within{transform:none;transition:none}}
.motion-paused .finale-pass{transition:none}

/* Clear, consistent typography for the payment journey. */
.experience-heading h2{font-family:Manrope,system-ui,sans-serif;font-weight:600;letter-spacing:-.065em;line-height:1.02}.experience-heading .journey-accent{color:var(--mint);font:inherit}.audience-footer{display:flex;flex-wrap:wrap;gap:18px}
