@font-face{font-family:Inter;src:url('../assets/fonts/inter-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../assets/fonts/playfair-500.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../assets/fonts/playfair-600.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
:root{--cream:#F9F7F3;--green:#4a6b5e;--sage:#5C8374;--clay:#DFC4B9;--ember:#C9735A;--text:#333333;--muted:#656a65;--line:#d9ded6;--wash:#edf0e9;--invitation:#efe5df;--white:#fff;--radius:12px;--serif:'Playfair Display',Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a{color:var(--green);text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--sage)}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
:focus-visible{outline:3px solid var(--green);outline-offset:5px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--green);font-family:var(--serif);font-weight:500}
h1{font-size:clamp(42px,4.25vw,64px);line-height:1.12;letter-spacing:-1.8px;text-wrap:balance}
h2{font-size:clamp(32px,3.25vw,46px);line-height:1.2;letter-spacing:-1px;text-wrap:balance}
h3{font-size:27px;line-height:1.3;letter-spacing:-.35px}
p+p{margin-top:18px}
[hidden]{display:none!important}
.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}
.section-space{padding-block:104px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:22px}
.mini-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--green)}
.ember{color:var(--ember)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:20;transform:translateY(-160%);background:var(--cream);padding:10px 18px;border:1px solid var(--green)}
.skip-link:focus{transform:translateY(0)}
.preview-note{padding:7px 20px;background:var(--wash);text-align:center;font-size:11px;line-height:1.6;color:#526052}
.preview-note a{margin-left:14px;white-space:nowrap}
.site-header{position:sticky;top:0;z-index:10;background:rgba(249,247,243,.97);border-bottom:1px solid rgba(74,107,94,.11)}
.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;flex-shrink:0;width:188px}
.brand img{width:100%;height:auto}
.site-nav{display:flex;gap:34px;align-items:center;font-size:13px}
.site-nav a{text-decoration:none}
.site-nav>a:not(.button):hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #557968;border-radius:5px;padding:14px 21px;background:#557968;color:#fff;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s;min-height:51px}
.button:hover{background:var(--green);border-color:var(--green)}
.button-small{padding:11px 19px;font-size:13px;min-height:44px}
.button-outline{background:transparent;color:var(--green);border-color:var(--green)}
.button-outline:hover{background:var(--wash);color:var(--green)}
.menu-toggle{display:none;background:transparent;color:var(--green);border:0;padding:10px 0;font-size:13px;min-height:44px}
.hero{padding-top:58px;display:grid;grid-template-columns:1.06fr 1fr;gap:36px 66px;align-items:center}
.hero-copy{padding-block:12px}
.hero-copy .eyebrow{margin-bottom:23px}
.hero-description{font-size:15px;line-height:1.85;margin-top:25px;max-width:540px}
.hero-photo{align-self:stretch;display:flex;flex-direction:column;min-width:0}
.hero-photo>img{width:100%;height:100%;min-height:580px;max-height:690px;object-fit:cover;object-position:55% 50%;border-radius:var(--radius)}
.hero-photo figcaption{display:flex;gap:12px;align-items:center;padding-top:13px;font-size:11px;color:var(--muted);letter-spacing:.2px}
.photo-rule{height:1px;width:25px;background:var(--ember)}
.signup-form{margin-top:28px;text-align:left}
label{display:block;font-size:12px;color:var(--green);margin-bottom:7px;font-weight:600}
label span{font-weight:400;color:var(--muted)}
input,textarea,select{width:100%;min-width:0;min-height:51px;padding:12px 14px;border:1px solid #9aa69c;border-radius:5px;color:var(--text);background:#fff;font-size:14px;line-height:1.5}
input::placeholder,textarea::placeholder{color:#737a73}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#aa3645}
.signup-row{display:flex;gap:9px}
.signup-row input{flex:1;width:0}
.signup-row button{flex-shrink:0}

.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;margin-bottom:18px}
.field-pair input{min-height:46px}
.form-invitation{font-size:12px;margin-top:15px;color:var(--green)}
.form-fineprint{font-size:10px;color:var(--muted);margin-top:4px}
.form-status:empty{display:none}
.form-status{padding:13px 16px;margin-top:15px;font-size:13px;background:var(--wash);border-left:2px solid var(--green);color:var(--green)}
.form-status[data-state=error]{background:#faf0ef;color:#862b38;border-color:#aa3645}
.field-error{color:#862b38;font-size:12px;margin-top:7px}

.text-link{display:inline-flex;align-items:center;gap:15px;padding:7px 0;border:0;border-bottom:1px solid #a5b2a4;background:transparent;color:var(--green);font-size:12px;text-decoration:none;line-height:1.6;min-height:38px}
.text-link:hover{border-color:var(--green)}

.glimpse{background:var(--wash)}
.glimpse-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:52px;margin-bottom:48px}
.comparison-intro>p{font-size:15px;color:var(--muted);max-width:285px;padding-bottom:6px}
.journey{display:grid;grid-template-columns:.8fr 1.25fr;gap:44px;align-items:start}
.journey-steps{display:flex;flex-direction:column;gap:12px}
.journey-step{position:relative;display:grid;grid-template-columns:27px 1fr 16px;gap:15px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:22px 18px;color:var(--green);transition:background .2s,border-color .2s}
.journey-step.active{background:var(--cream);border-color:#d7ded2}
.journey-step:hover{border-color:#c8d1c2}
.step-number{font-family:var(--serif);font-size:21px;line-height:1.6;color:var(--sage)}
.journey-step strong{font-size:15px;display:block;font-weight:600}
.journey-step strong+span{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.75}
.step-arrow{opacity:0;font-size:19px}
.journey-step .step-short{display:none}
.active .step-arrow{opacity:1}
.product-preview{background:var(--cream);border:1px solid #d7ded2;border-radius:12px;box-shadow:0 12px 30px -22px #4a6b5e44;overflow:hidden;min-width:0}
.product-topline{padding:17px 25px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e4da;font-size:9px;letter-spacing:1px;color:var(--muted)}
.preview-pill{font-size:9px;letter-spacing:0;padding:3px 7px;border:1px solid #b8c5b1;border-radius:3px;color:var(--green);white-space:nowrap}
.journey-panel{padding:28px;min-height:394px}
.journey-panel>.mini-label{margin-bottom:20px}
.brief-paper{position:relative;padding:22px 27px 21px;background:#fff;border:1px solid #e1ded4;border-radius:6px}
.brief-paper>img{margin-bottom:12px}
.brief-paper>p{font-family:var(--serif);font-weight:500;color:var(--green);font-size:23px;line-height:1.55;letter-spacing:-.3px}
.paper-signoff{display:block;font-size:10px;color:var(--muted);margin-top:16px}
.brief-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.brief-tags span{font-size:10px;color:var(--green);border-radius:4px;border:1px solid #d9dfd4;padding:4px 10px}
.preview-next{margin-top:17px;font-size:11px}
.venue-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.venue-cards article{background:#fff;border:1px solid #e1ded4;border-radius:7px;overflow:hidden}
.venue-cards img{width:100%;height:138px;object-fit:cover}
.venue-cards article>div{padding:15px}
.venue-cards h3{font-size:21px;margin-top:5px}
.venue-cards p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:8px}
.venue-cards .mini-label{font-size:9px}
.preview-caption{font-size:10px;color:var(--muted);line-height:1.7;margin-top:17px}

.glimpse-footnote{font-size:11px;color:var(--muted);text-align:right;margin-top:22px}
.people-moment{position:relative;margin:0;min-height:490px;display:flex;align-items:flex-end;isolation:isolate}
.people-moment>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%;z-index:-2}
.people-moment::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,31,27,.82),rgba(14,31,27,.1) 70%)}
.people-caption{width:min(1200px,calc(100% - 112px));margin:0 auto;padding-block:70px}
.people-caption h2{color:var(--cream);font-size:53px;line-height:1.22;letter-spacing:-.8px}
.people-caption .eyebrow{color:var(--cream);font-size:10px;max-width:250px}

.closing{background:var(--invitation);position:relative;overflow:hidden;isolation:isolate}
.closing-inner{max-width:760px;text-align:center}
.closing h2{font-size:46px}
.closing-description{font-size:14px;color:var(--muted);margin-top:21px}
.closing .signup-form{max-width:520px;margin:30px auto 0}
.water-art{position:absolute;width:620px;max-width:none;height:auto;bottom:-20px;right:-240px;z-index:-1;mix-blend-mode:multiply;transform:rotate(-12deg);mask-image:linear-gradient(to right,transparent,#000 22%);-webkit-mask-image:linear-gradient(to right,transparent,#000 22%)}
.companion{padding-block:75px 100px;min-height:65vh}
.companion-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.companion h1{font-size:51px}
.companion h2{font-size:32px}
.companion .intro{font-size:16px;line-height:1.9;margin-top:25px;color:var(--muted)}
.companion .signup-form{background:#edf0e9;padding:30px;border-radius:12px;margin-top:0}
.companion .signup-row{display:block}
.companion .signup-row>label{margin-top:20px}
.companion .signup-row input{width:100%}
.companion .signup-row button{width:100%;margin-top:14px}
.companion .form-invitation{font-size:13px}
.companion .field-pair{margin-bottom:0}
.companion-photo{width:100%;height:250px;object-fit:cover;border-radius:10px;margin-top:28px}
.contact-options{margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}
.contact-options>a{display:inline-block;margin:0 18px 10px 0;font-size:14px}
.contact-options small{display:block;color:var(--muted);font-size:11px}
.message-form label{margin-top:16px}
.message-form textarea{min-height:148px;resize:vertical}
.message-form .button{margin-top:20px}
.message-form>p:first-child{font-size:13px;color:var(--green)}
.review-page{max-width:900px}
.review-page h1{margin-bottom:25px}
.review-page h2{font-size:27px;margin-top:40px;margin-bottom:15px}
.review-page p,.review-page li{font-size:14px;line-height:1.9}
.review-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.review-links .button{font-size:12px}
.review-page code{font-size:12px}
.review-state-banner{background:#e7ece2;color:var(--green);padding:12px 20px;font-size:12px;text-align:center}
@media(min-width:1500px){.hero{gap:36px 76px}.hero h1{font-size:65px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:30px 36px}.hero h1{font-size:49px}.hero-photo>img{min-height:580px}.hero-description{font-size:14px}.signup-row{flex-wrap:wrap}.signup-row input{width:100%;flex-basis:100%}.signup-row .button{width:100%}.journey{gap:22px;grid-template-columns:.8fr 1.15fr}.journey-step{padding:19px 10px;gap:10px}.journey-panel{padding:22px}.product-topline{padding:16px 20px}.product-topline>span:first-child{letter-spacing:.4px;font-size:8px}.people-caption{width:calc(100% - 72px)}.faq{gap:50px}.closing .signup-row{flex-wrap:nowrap}.closing .signup-row input{width:0;flex-basis:auto}.closing .signup-row button{width:auto}.companion-grid{gap:50px}}
@media(max-width:800px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 48px)}.header-inner{height:78px}.brand{width:158px}.site-nav{gap:21px;font-size:11px}.site-nav .button{font-size:11px;padding:10px 14px}.hero{padding-top:42px;gap:24px 26px;grid-template-columns:1.12fr .9fr;align-items:start}.hero h1{font-size:41px;letter-spacing:-1.2px}.hero-copy .eyebrow{font-size:10px;letter-spacing:1px}.hero-description{font-size:13px;margin-top:22px}.hero-photo>img{min-height:540px;max-height:700px;object-position:56% 50%}.hero-photo figcaption{font-size:9px;gap:7px}.hero-photo .photo-rule{width:14px}.hero-copy{padding-top:0}.form-invitation{font-size:11px}.form-fineprint{font-size:9px}.section-space{padding-block:76px}.glimpse-heading{gap:30px;align-items:start}.comparison-intro>p{font-size:13px;max-width:200px;margin-top:40px}.glimpse h2{font-size:33px}.journey{grid-template-columns:1fr;gap:22px}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.journey-step{display:block;padding:14px}.journey-step .step-number{font-size:18px}.journey-step strong{font-size:12px;line-height:1.55;margin-top:8px}.journey-step strong+span{display:none}.step-arrow{display:none}.journey-panel{min-height:380px;padding:28px}.product-topline{padding:16px 28px}.product-topline>span:first-child{font-size:9px;letter-spacing:1px}.brief-paper>p{font-size:25px;max-width:500px}.venue-cards img{height:170px}.venue-cards h3{font-size:24px}.glimpse-footnote{text-align:left}.people-moment{min-height:400px}.people-caption{width:calc(100% - 48px);padding-block:50px}.people-caption h2{font-size:43px}.faq{grid-template-columns:1fr;gap:30px}.faq>div>p:last-child{margin-top:18px}.closing h2{font-size:36px}.companion-grid{grid-template-columns:1fr;gap:35px}.companion h1{font-size:43px}.companion-photo{height:240px}.companion .signup-form{max-width:600px}.companion .intro{max-width:590px}}
@media(max-width:600px){html{scroll-padding-top:74px}.preview-note{font-size:9px;padding:6px 12px}.preview-note a{margin-left:8px}.wrap{width:calc(100% - 40px)}.header-inner{height:70px}.brand{width:150px}.menu-toggle{display:flex;gap:12px;align-items:center}.menu-toggle span{font-size:17px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 12px 20px -20px #4a6b5e}.site-nav[data-open=true]{display:flex}.site-nav>a:not(.button){padding:13px 4px;font-size:14px}.site-nav .button{font-size:13px;margin-top:6px}.hero{padding-top:34px;grid-template-columns:1fr;gap:27px}.hero h1{font-size:43px;line-height:1.12;letter-spacing:-1.3px;max-width:450px;text-wrap:pretty}.hero-copy .eyebrow{font-size:10px;margin-bottom:19px}.hero-description{font-size:14px;line-height:1.85;max-width:470px;margin-top:22px}.signup-form{margin-top:25px}.signup-row{flex-wrap:nowrap}.signup-row input{width:0;flex-basis:auto}.signup-row .button{font-size:12px;padding:12px 13px;width:auto}.signup-row input{font-size:14px;padding:12px;min-height:48px}.button{min-height:48px}.form-invitation{font-size:11px}.form-fineprint{font-size:10px}.field-pair{gap:12px}.field-pair label{font-size:10px}.hero-photo>img{height:340px;min-height:0;max-height:none;object-position:50% 56%}.hero-photo figcaption{font-size:10px;padding-top:10px;gap:10px}.hero-photo .photo-rule{width:20px}.section-space{padding-block:61px}h2{font-size:32px;letter-spacing:-.75px}.eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:18px}.glimpse-heading{display:block;margin-bottom:30px}.glimpse h2{font-size:32px}.comparison-intro>p{margin-top:20px;max-width:350px;font-size:14px}.journey-steps{gap:5px}.journey-step{padding:10px 9px}.journey-step strong{font-size:10px}.journey-step .step-number{font-size:17px}.journey-step.active{border-color:#b9c6b1}.product-topline{padding:13px 17px;flex-wrap:wrap;gap:7px}.product-topline>span:first-child{font-size:8px;letter-spacing:.8px}.preview-pill{font-size:8px;padding:2px 5px}.journey-panel{padding:20px 17px;min-height:368px}.journey-panel>.mini-label{font-size:9px;margin-bottom:16px}.brief-paper{padding:20px}.brief-paper>p{font-size:21px;line-height:1.5}.brief-paper>img{width:45px;height:40px;margin-bottom:14px}.paper-signoff{font-size:9px}.brief-tags{gap:5px;margin-top:14px}.brief-tags span{font-size:9px;padding:3px 9px}.preview-next{font-size:10px}.venue-cards{gap:10px}.venue-cards img{height:116px}.venue-cards article>div{padding:12px}.venue-cards h3{font-size:19px}.venue-cards p{font-size:10px}.venue-cards .mini-label{font-size:8px}.preview-caption{font-size:9px}.glimpse-footnote{font-size:10px;margin-top:16px}.people-moment{min-height:360px}.people-moment>img{object-position:62% 65%}.people-caption{width:calc(100% - 40px);padding-block:39px}.people-caption h2{font-size:39px}.people-caption .eyebrow{font-size:9px;max-width:170px}.faq{gap:25px}.faq summary{font-size:14px;padding-block:21px}.faq details p{font-size:13px;margin-right:16px}.closing h2{font-size:32px}.closing-description{font-size:13px}.water-art{width:420px;right:-250px;bottom:40px;opacity:.7}.closing .signup-form{margin-top:27px}.closing .signup-row{flex-wrap:wrap}.closing .signup-row input{width:100%;flex-basis:100%}.closing .signup-row button{width:100%;font-size:14px}.companion{padding-block:42px 70px}.companion h1{font-size:41px}.companion .intro{font-size:14px}.companion .signup-form{padding:23px}.companion .field-pair{grid-template-columns:1fr;gap:17px}.companion .field-pair label{font-size:12px}.review-page .review-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-page h1{font-size:38px}}
@media(max-width:360px){.hero h1{font-size:38px}.hero .signup-row{flex-wrap:wrap}.hero .signup-row input{width:100%;flex-basis:100%}.hero .signup-row button{width:100%;font-size:13px}.journey-step strong{font-size:9px}.venue-cards h3{font-size:17px}}
@media(max-width:600px){.journey-step .step-short{display:block;font-size:13px;line-height:1.5;margin-top:7px}.journey-step .step-long{display:none}.preview-caption{font-size:10px}.preview-pill{font-size:9px}.form-invitation{font-size:12px}.form-fineprint{font-size:11px}.venue-cards p{font-size:11px}.venue-cards .mini-label{font-size:9px}}
/* Revision 02: visible signup details, explanatory diagrams and a clearer section rhythm. */
.signup-details{margin:14px 0 16px}
.signup-submit{width:100%}
.hero-band{position:relative;overflow:hidden;isolation:isolate;padding-bottom:46px}

.benefits-band{background:var(--wash)}
.benefits .section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:0 100px;align-items:end;margin-bottom:45px}
.section-intro .eyebrow{grid-column:1/-1}
.section-intro>p:last-child{max-width:440px;font-size:15px;color:var(--muted);line-height:1.85;padding-bottom:3px}
.benefit-pair{display:grid;grid-template-columns:1fr 1fr;gap:78px}
.benefit+.benefit{position:relative}
.benefit+.benefit::before{content:'';position:absolute;left:-39px;top:0;bottom:0;width:1px;background:#cbd5c6}
.benefit>.mini-label{font-size:11px;letter-spacing:1.4px;margin-bottom:10px}
.benefit h3{font-size:28px}
.benefit-figure{margin:23px 0 24px}
.benefit-diagram{width:100%;height:auto;display:block}
.benefit-figure figcaption{font-size:12px;color:var(--green);line-height:1.7;margin-top:5px}
.benefit>p:not(.mini-label){font-size:14px;line-height:1.85;color:var(--muted)}
.benefit .text-link{margin-top:18px;font-size:12px}
.glimpse{background:#fff;position:relative;overflow:hidden;isolation:isolate}

.smart-search-copy{font-size:13px;line-height:1.75;color:var(--green);margin-top:19px}
.faq-band{background:var(--green);color:var(--cream)}
.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:88px}
.faq h2,.faq .eyebrow,.faq a{color:var(--cream)}
.faq .eyebrow{font-size:10px;max-width:280px}
.faq h2::after{content:'';display:block;width:36px;height:2px;background:var(--ember);margin-top:23px}
.faq>div>p:last-child{margin-top:23px;font-size:13px;color:#e0e8df}
.faq a:focus-visible,.faq summary:focus-visible{outline-color:var(--cream)}
.faq details{border-bottom:1px solid #819689}
.faq details:first-child{border-top:1px solid #819689}
.faq summary{position:relative;list-style:none;cursor:pointer;color:var(--cream);font-size:15px;padding:24px 36px 24px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:22px;font-size:23px;font-weight:400}
.faq details[open] summary::after{content:'−'}
.faq details p{font-size:13px;line-height:1.85;margin:0 35px 23px 0;color:#e0e8df}
.comparison-heading{margin-bottom:16px}
.comparison-heading .mini-label{font-size:11px}
.comparison-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;color:var(--green)}
.comparison-table th,.comparison-table td{padding:12px 10px;border-bottom:1px solid #d9dfd4}
.comparison-table thead th{font-size:11px;font-weight:600;background:#e7ece2}
.comparison-table tr>*:first-child{width:37%;padding-left:10px}
.comparison-table tbody th{font-weight:400}
.comparison-table td strong{font-weight:600;font-size:15px}
.comparison-table td span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.cost-chart{margin-top:24px}
.chart-heading{display:flex;flex-wrap:wrap;gap:4px 15px;justify-content:space-between;color:var(--green);font-size:12px}

.chart-legend{display:flex;gap:22px;color:var(--green);font-size:11px;margin:9px 0 5px}
.chart-legend>span{display:flex;align-items:center;gap:7px}
.chart-key{width:20px;height:0;border-top:2.5px solid var(--sage)}
.chart-key-b{border-color:var(--ember)}
.chart-key-c{border-color:#597FA2}
.cost-lines{display:block;width:100%;height:auto;overflow:visible}
.cost-lines-mobile{display:none}

@media(max-width:1100px){.benefits .section-intro{gap:0 50px}.benefit-pair{gap:35px}.benefit+.benefit::before{left:-17.5px}.faq{gap:50px}}
@media(max-width:800px){.benefits .section-intro{gap:0 35px}.benefits h2{font-size:32px}.benefit-pair{gap:30px}.benefit+.benefit::before{left:-15px}.benefit h3{font-size:24px}.benefit-figure figcaption{font-size:11px}.benefit>p:not(.mini-label){font-size:13px}.faq{grid-template-columns:1fr;gap:35px}.faq h2::after{margin-top:18px}.faq>div>p:last-child{margin-top:17px}.signup-details label{font-size:11px}}
@media(max-width:600px){.hero-band{padding-bottom:34px}.hero-photo>img{height:290px}.signup-details{gap:12px}.signup-details label{font-size:11px}.signup-details input{font-size:14px;min-height:46px}.signup-submit{font-size:14px}.benefits .section-intro{display:block;margin-bottom:34px}.section-intro>p:last-child{font-size:14px;margin-top:20px}.benefit-pair{grid-template-columns:1fr;gap:35px}.benefit+.benefit{border-top:1px solid #cbd5c6;padding:33px 0 0}.benefit+.benefit::before{display:none}.benefit h3{font-size:26px}.benefit-figure{margin-block:21px}.benefit-figure figcaption{font-size:11px}.benefit .text-link{font-size:12px}.smart-search-copy{font-size:12px}.faq{gap:28px}.faq summary{font-size:14px;padding-block:21px}.faq details p{margin-right:16px}.comparison-heading .mini-label{font-size:10px}.comparison-table{font-size:11px}.comparison-table thead th{font-size:11px}.comparison-table th,.comparison-table td{padding:12px 7px}.comparison-table tr>*:first-child{width:36%;padding-left:7px}.comparison-table td strong{font-size:14px}.comparison-table td span{font-size:9px}.cost-lines-desktop{display:none}.cost-lines-mobile{display:block}.chart-legend{font-size:11px}.chart-heading{font-size:12px}.closing .signup-details label{font-size:11px}}
@media(max-width:360px){.signup-details{grid-template-columns:1fr;gap:12px}.comparison-table{font-size:10px}.comparison-table td span{font-size:9px}.benefit-figure figcaption{font-size:11px}}
/* Revision 03: clearer product examples, the supplied film and a reviewable photographic hero. */
.button{border-radius:999px}
input,textarea,select{border-radius:10px}
.brief-summary{display:grid;grid-template-columns:1.25fr 1.05fr .7fr;gap:16px;margin:18px 0 0;padding:15px 0;border-block:1px solid #d9dfd4}
.brief-summary>div{min-width:0}
.brief-summary dt{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--green);margin-bottom:5px}
.brief-summary dd{margin:0;font-size:11px;line-height:1.65;color:var(--text)}
.venue-cards article{border-radius:14px;box-shadow:0 10px 24px -22px #4a6b5e88}
.venue-cards .venue-image{position:relative;padding:0}
.venue-cards img{height:175px;object-fit:cover}
.venue-saved{position:absolute;top:11px;left:11px;padding:3px 8px;background:rgba(249,247,243,.95);border-radius:999px;font-size:9px;color:var(--green)}
.venue-cards .venue-card-body{padding:17px}
.venue-cards h3{font-size:22px;line-height:1.3;margin-top:8px}
.venue-cards .venue-fit{font-size:11px;line-height:1.7;margin-top:12px;min-height:38px}
.venue-facts{margin:16px 0 0;font-size:10px;line-height:1.65}
.venue-facts>div{display:grid;grid-template-columns:49px 1fr;gap:8px;border-top:1px solid #e5e8e0;padding:8px 0}
.venue-facts dt{color:var(--green)}
.venue-facts dd{margin:0;color:var(--muted)}
.venue-cards .venue-rate{font-size:16px;color:var(--green);border-top:1px solid #d9dfd4;padding-top:12px;margin-top:2px;line-height:1.5}
.venue-rate span{font-size:10px;color:var(--muted)}
.hero-photographic .hero-band{padding-bottom:0}
.hero-photographic .hero{display:block;padding-block:58px 44px}
.hero-photographic .hero-copy{max-width:550px}
.hero-photographic .hero-photo{position:absolute;inset:0;z-index:-2;display:block}
.hero-photographic .hero-photo>img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:62% 52%;border-radius:0}
.hero-photographic .hero-band::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(249,247,243,.98),rgba(249,247,243,.96) 37%,rgba(249,247,243,.65) 55%,rgba(249,247,243,.08) 79%)}
.hero-photographic .hero-photo figcaption{display:none}
@media(max-width:1100px){.hero-photographic .hero-copy{max-width:510px}.hero-photographic .hero-band::before{background:linear-gradient(90deg,rgba(249,247,243,.98),rgba(249,247,243,.94) 45%,rgba(249,247,243,.4) 77%,rgba(249,247,243,.12))}.venue-cards .venue-card-body{padding:13px}.venue-cards h3{font-size:20px}.venue-facts>div{grid-template-columns:1fr;gap:2px}}
@media(max-width:800px){.venue-cards img{height:185px}.venue-cards h3{font-size:24px}.venue-cards .venue-card-body{padding:18px}.venue-facts>div{grid-template-columns:49px 1fr;gap:8px}.hero-photographic .hero{padding-top:42px}.hero-photographic .hero-copy{max-width:480px}}
@media(max-width:600px){.brief-summary{grid-template-columns:1.25fr 1fr;gap:14px;margin-top:17px}.brief-summary>div:last-child{grid-column:1/-1;display:flex;gap:12px;align-items:baseline}.brief-summary>div:last-child dt{margin:0}.brief-summary dd{font-size:11px}.venue-cards{grid-template-columns:1fr;gap:20px}.venue-cards img{height:175px}.venue-cards h3{font-size:24px}.venue-cards .venue-fit{font-size:12px;min-height:0}.venue-facts{font-size:11px}.venue-facts>div{grid-template-columns:60px 1fr}.venue-cards .venue-rate{font-size:18px}.venue-rate span{font-size:11px}.hero-photographic .hero{padding-block:34px 36px}.hero-photographic .hero-band::before{background:linear-gradient(180deg,rgba(249,247,243,.97),rgba(249,247,243,.93) 45%,rgba(249,247,243,.87) 82%,rgba(249,247,243,.66))}.hero-photographic .hero-photo>img{object-position:58% center}}
/* Revision 04: a centred opening and a film-first product story. */
.hero-editorial .hero-band{padding-bottom:44px}
.hero-editorial .hero{grid-template-columns:1.35fr 1fr;gap:0 32px;padding-top:36px;align-items:stretch}
.hero-editorial .hero-copy{display:contents}
.hero-editorial .hero-copy>.eyebrow{grid-column:1/-1;text-align:center;margin:0 0 18px}
.hero-editorial .hero h1{grid-column:1/-1;max-width:980px;margin:0 auto;text-align:center;font-size:58px;line-height:1.13;letter-spacing:-1.7px}
.hero-editorial .hero-description{grid-column:1/-1;max-width:730px;text-align:center;font-size:15px;line-height:1.8;margin:20px auto 32px}
.hero-editorial .hero .signup-form{grid-column:2;grid-row:4;background:var(--wash);border:1px solid #d9dfd4;border-radius:14px;padding:25px 28px;margin:0;align-self:start}
.hero-editorial .hero-photo{grid-column:1;grid-row:4;position:relative;min-width:0;align-self:stretch}
.hero-editorial .hero-photo>img{position:absolute;inset:0;min-height:0;max-height:none;height:100%;width:100%;object-fit:cover;object-position:50% 53%;border-radius:14px}
.hero-editorial .hero-photo figcaption{position:absolute;bottom:17px;left:20px;right:20px;color:var(--cream);padding:0;font-size:11px;text-shadow:0 1px 8px #183127}
.hero-editorial .photo-rule{background:var(--cream)}

.benefits .section-intro{display:block;margin-bottom:40px;max-width:800px}
@media(max-width:1100px){.hero-editorial .hero{gap:0 26px;grid-template-columns:1.1fr 1fr}.hero-editorial .hero h1{font-size:52px;max-width:840px}.hero-editorial .hero .signup-form{padding:23px}.hero-editorial .hero-description{max-width:680px}}
@media(max-width:800px){.hero-editorial .hero{gap:0 22px;padding-top:30px;grid-template-columns:1fr 1.05fr}.hero-editorial .hero h1{font-size:45px;max-width:680px;letter-spacing:-1.2px}.hero-editorial .hero-description{font-size:14px;max-width:620px;margin-bottom:27px}.hero-editorial .hero .signup-form{padding:21px}.hero-editorial .hero-photo>img{object-position:53% center}.hero-editorial .hero-photo figcaption{left:15px;font-size:10px}}
@media(max-width:740px){.hero-editorial .hero{grid-template-columns:1fr;padding-top:29px}.hero-editorial .hero h1{font-size:38px;line-height:1.14;letter-spacing:-1.1px;max-width:440px;text-wrap:balance}.hero-editorial .hero-copy>.eyebrow{font-size:10px;margin-bottom:18px}.hero-editorial .hero-description{font-size:13px;margin:20px auto 25px;line-height:1.85}.hero-editorial .hero-photo{grid-column:1;grid-row:4;height:205px;margin-bottom:18px}.hero-editorial .hero-photo>img{object-position:50% 52%}.hero-editorial .hero .signup-form{grid-column:1;grid-row:5;padding:22px;margin:0}.hero-editorial .hero-band{padding-bottom:33px}}
@media(max-width:360px){.hero-editorial .hero h1{font-size:34px}.hero-editorial .hero .signup-form{padding:18px}.hero-editorial .hero-photo{height:180px}}

/* Revision 05: Wind around the launch headline, Earth around the journey note. */
.hero-editorial .hero-photo{overflow:hidden;border-radius:14px}
.hero-editorial .hero-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:68px;background:linear-gradient(transparent,rgba(20,43,35,.42));pointer-events:none}
.hero-editorial .hero-photo figcaption{z-index:1}
.hero-editorial .hero-photo>img{width:114%;max-width:none;left:-14%;right:auto;border-radius:0;object-position:100% 53%}
.comparison-intro{position:relative;isolation:isolate;flex:0 0 285px}
.comparison-intro>p{position:relative;margin:0}
.journey{position:relative;z-index:1}
.comparison-earth{position:absolute;z-index:-1;pointer-events:none;max-width:none;width:520px;height:auto;left:50%;top:50%;transform:translate(-66%,-61%);opacity:.68;mask-image:radial-gradient(ellipse 43% 32% at 66% 61%,rgba(0,0,0,.16) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.4) 72%,#000 100%);-webkit-mask-image:radial-gradient(ellipse 43% 32% at 66% 61%,rgba(0,0,0,.16) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.4) 72%,#000 100%)}
@media(min-width:741px) and (max-width:1100px){.hero-editorial .hero-photo>img{width:100%;left:0;object-position:70% 53%}}
@media(max-width:800px){.comparison-intro{flex-basis:220px;align-self:center}.comparison-intro>p{margin:0}.comparison-earth{width:390px}}
@media(max-width:740px){.hero-editorial .hero-photo{height:205px}.hero-editorial .hero-photo>img{width:114%;left:-14%;object-position:100% 53%}}
@media(max-width:600px){.comparison-intro{margin-top:42px;min-height:88px;display:flex;align-items:center}.comparison-intro>p{font-size:14px;max-width:290px;padding:0}.comparison-earth{width:340px;left:50%;top:55%;opacity:.7}}

/* Revision 06: invitation first, photograph below signup and distinct section grounds. */
.signup-form[data-signup="organizer"]>.form-invitation{font-family:var(--serif);font-size:24px;line-height:1.35;letter-spacing:-.35px;margin:0 0 22px;color:var(--green)}
.signup-form[data-signup="organizer"]>.form-fineprint{font-size:11px;margin-top:13px;line-height:1.65}
.hero-editorial .hero{grid-template-columns:1fr;gap:0}
.hero-editorial .hero .signup-form{grid-column:1;grid-row:4;width:100%;max-width:600px;justify-self:center;padding:27px 32px;margin:0}
.hero-editorial .hero-photo{grid-column:1;grid-row:5;width:100%;max-width:1040px;height:390px;justify-self:center;margin:32px 0 0}
.hero-editorial .hero-photo>img{width:114%;left:-14%;object-position:100% 34%}
.benefits-band{position:relative;overflow:hidden;isolation:isolate}

.glimpse{background:var(--clay);--muted:#4c514c}
.glimpse .eyebrow,.glimpse .journey-step,.glimpse .step-number{color:#3f574c}
@media(max-width:800px){.hero-editorial .hero-photo{height:330px;max-width:700px}.hero-editorial .hero .signup-form{padding:25px 28px}}
@media(max-width:600px){.signup-form[data-signup="organizer"]>.form-invitation{font-size:23px;margin-bottom:20px}.signup-form[data-signup="organizer"]>.form-fineprint{font-size:10px}.hero-editorial .hero .signup-form{padding:23px 22px}.hero-editorial .hero-photo{height:225px;margin-top:24px}.hero-editorial .hero-photo>img{object-position:100% 30%}}
@media(max-width:360px){.hero-editorial .hero .signup-form{padding:22px 18px}.hero-editorial .hero-photo{height:205px}.signup-form[data-signup="organizer"]>.form-invitation{font-size:22px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Revision 09: venue rates and costs are visible immediately. */
.comparison-section .glimpse-heading{align-items:center;gap:70px}
.comparison-intro{flex:0 1 410px}
.comparison-intro>p{max-width:410px;font-size:15px;line-height:1.85;padding:0}
.comparison-showcase{position:relative;z-index:1;padding:32px;background:var(--cream);border:1px solid #d7ded2;border-radius:14px}
.comparison-showcase .comparison-heading{margin-bottom:27px}
.comparison-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:38px;align-items:start}
.quote-terms,.comparison-result{min-width:0}
.quote-terms h3{font-family:var(--sans);font-size:14px;font-weight:600;margin:0 0 18px;line-height:1.6;letter-spacing:0}
.comparison-result{align-self:center;padding-left:32px;border-left:1px solid #d9dfd4}
.comparison-showcase .comparison-table{font-size:14px;table-layout:fixed}
.comparison-showcase .comparison-table tr>*:first-child{width:28%}
.comparison-showcase .comparison-table th,.comparison-showcase .comparison-table td{padding-block:16px}
.comparison-showcase .comparison-table thead th{font-size:12px}
.comparison-showcase .comparison-table td strong{font-size:18px}
.comparison-showcase .comparison-table td span{font-size:11px}
.comparison-showcase .cost-chart{margin:0}
.comparison-showcase .chart-heading{display:flex;align-items:baseline;margin:0;padding:0;font-size:14px;line-height:1.6}
.comparison-showcase .chart-heading strong{font-weight:600}

.comparison-showcase .chart-legend{margin-block:13px 25px;font-size:12px;gap:10px 18px;flex-wrap:wrap}
.chart-legend>span{position:relative}
.chart-live-value{position:absolute;top:100%;left:27px;white-space:nowrap;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.chart-live-guests{font-size:11px;font-weight:400;font-variant-numeric:tabular-nums}
.cost-chart.is-revealing .chart-end-label{visibility:hidden}

.comparison-showcase>.preview-caption{border-top:1px solid #d9dfd4;padding-top:17px;margin-top:28px;font-size:11px}
.worked-example{margin-top:20px}
.worked-example .text-link{font-size:12px;gap:10px}
.worked-example>p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:6px}
@media(max-width:1000px){.comparison-section .glimpse-heading{gap:40px}.comparison-intro{flex-basis:340px}.comparison-layout{gap:24px}.comparison-result{padding-left:24px}.comparison-showcase{padding:25px}.comparison-showcase .comparison-table{font-size:12px}.comparison-showcase .comparison-table td strong{font-size:16px}}
@media(max-width:800px){.comparison-section .glimpse-heading{display:block;margin-bottom:36px}.comparison-intro{margin-top:24px;max-width:550px;min-height:0;display:block}.comparison-intro>p{font-size:14px;max-width:550px}.comparison-earth{left:80%;top:0}.comparison-layout{grid-template-columns:1fr;gap:30px}.comparison-result{padding:27px 0 0;border-left:0;border-top:1px solid #d9dfd4}.comparison-showcase .comparison-table{font-size:14px}.comparison-showcase .comparison-table td strong{font-size:18px}}
@media(max-width:600px){.comparison-showcase{padding:23px 18px}.comparison-showcase .comparison-heading{margin-bottom:21px}.comparison-showcase .comparison-heading .mini-label{font-size:10px}.comparison-showcase .comparison-table{font-size:12px}.comparison-showcase .comparison-table th,.comparison-showcase .comparison-table td{padding:13px 7px}.comparison-showcase .comparison-table thead th{font-size:11px}.comparison-showcase .comparison-table td strong{font-size:16px}.comparison-showcase .comparison-table td span{font-size:10px}.comparison-showcase .chart-legend{font-size:11px;gap:10px 12px}.comparison-showcase>.preview-caption,.worked-example>p{font-size:10px}.worked-example .text-link{font-size:11px;gap:8px}.comparison-earth{left:75%;top:35%;width:350px}}
@media(max-width:360px){.comparison-showcase{padding:21px 14px}.comparison-showcase .comparison-table{font-size:11px}.comparison-showcase .comparison-table th,.comparison-showcase .comparison-table td{padding-inline:5px}.comparison-showcase .comparison-table tr>*:first-child{padding-left:5px}.comparison-showcase .comparison-table td strong{font-size:14px}.comparison-showcase .comparison-table td span{font-size:9px}}
@media(min-width:801px) and (max-width:1100px){.comparison-showcase .cost-lines-desktop{display:none}.comparison-showcase .cost-lines-mobile{display:block}}

/* Revision 10: warmer invitations, stronger Water and a lighter FAQ. */
.hero-band{background:var(--invitation)}
.people-caption .eyebrow{color:var(--ember);font-size:12px;font-weight:600;max-width:420px;line-height:1.7;text-shadow:0 1px 3px #0e1f1b}
.people-moment::before{background:linear-gradient(90deg,rgba(14,31,27,.94),rgba(14,31,27,.9) 38%,rgba(14,31,27,.1) 90%)}
.closing .water-art{width:880px;right:-140px;bottom:345px;opacity:1;mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.16) 45%,#000 75%);-webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.16) 45%,#000 75%)}

.faq-band{background:var(--cream);color:var(--text)}
.faq h2,.faq .eyebrow,.faq a,.faq summary{color:var(--green)}
.faq>div>p:last-child,.faq details p{color:var(--muted)}
.faq a:focus-visible,.faq summary:focus-visible{outline-color:var(--green)}
.faq details,.faq details:first-child{border-color:#cbd5c6}
@media(max-width:800px){.closing .water-art{width:760px;right:-210px;bottom:380px}}
@media(max-width:600px){.closing .water-art{width:610px;right:-250px;bottom:430px;mask-image:linear-gradient(to right,transparent,#000 58%);-webkit-mask-image:linear-gradient(to right,transparent,#000 58%)}.people-caption .eyebrow{font-size:11px;max-width:280px}}

/* Revision 21: readable supporting text. */
.hero-description,.hero-editorial .hero-description{font-size:18px;line-height:1.75}
.story-heading>p:last-child,.closing-description,.faq details p,.faq>div>p:last-child{font-size:16px;line-height:1.75}
.faq summary{font-size:17px}
label{font-size:14px}
.field-pair label,.signup-details label,.closing .signup-details label,.companion .field-pair label{font-size:14px}
input,textarea,select{font-size:16px}
.signup-details input{font-size:16px}
.button,.button-small{font-size:15px}
.form-fineprint,.signup-form[data-signup="organizer"]>.form-fineprint{font-size:12px;line-height:1.7}
.form-status,.field-error{font-size:14px}
.site-nav,.menu-toggle{font-size:14px}
.preview-note{font-size:12px}
.text-link{font-size:14px}
.hero-photo figcaption,.hero-editorial .hero-photo figcaption{font-size:12px}
.hero-copy>.eyebrow,.hero-editorial .hero-copy>.eyebrow{font-size:12px}
.faq .eyebrow,.people-caption .eyebrow{font-size:12px}
.section-intro .eyebrow,.closing .eyebrow{font-size:12px}
@media(max-width:600px){
  .hero-description,.hero-editorial .hero-description{font-size:16px}
}

/* Revision 22: the opening now meets the header on the same cream, and the photograph is the
   ground of the whole section under a cream veil instead of a crop beneath the form. */
.hero-editorial .hero-band{background:var(--cream);padding-bottom:96px}
.hero-editorial .hero-photo{position:absolute;inset:0;z-index:-3;grid-column:auto;grid-row:auto;width:auto;max-width:none;height:auto;margin:0;justify-self:stretch;border-radius:0;overflow:hidden}
.hero-editorial .hero-photo>img{position:absolute;inset:0;width:100%;max-width:none;height:100%;left:0;object-fit:cover;object-position:50% 46%;border-radius:0}
.hero-editorial .hero-photo::after{display:none}
/* The veil keeps every line at full contrast and hands the band over to the section below. */
.hero-editorial .hero-band::after{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.6) 17%,rgba(249,247,243,.22) 52%,rgba(249,247,243,.5) 88%,var(--wash)),radial-gradient(ellipse 54% 72% at 50% 52%,rgba(249,247,243,.93),rgba(249,247,243,.66) 56%,rgba(249,247,243,0))}
.hero-editorial .hero .signup-form{background:rgba(239,229,223,.95);border-color:rgba(74,107,94,.16);box-shadow:0 26px 54px -38px rgba(31,53,44,.6)}
@media(max-width:800px){.hero-editorial .hero-photo>img{object-position:52% 46%}}
@media(max-width:600px){.hero-editorial .hero-band{padding-bottom:64px}.hero-editorial .hero-photo>img{object-position:56% 44%}.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.72) 14%,rgba(249,247,243,.42) 50%,rgba(249,247,243,.6) 88%,var(--wash)),radial-gradient(ellipse 96% 62% at 50% 55%,rgba(249,247,243,.9),rgba(249,247,243,.6) 60%,rgba(249,247,243,0))}}

/* A quiet exhale between the closing invitation and the footer, in the live site's treatment. */
.quiet-band{position:relative;min-height:46vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,var(--clay),var(--cream))}
.quiet-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-2}
.quiet-band::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(74,107,94,.6),rgba(74,107,94,.05) 62%),linear-gradient(90deg,rgba(14,31,27,.52),rgba(14,31,27,0) 48%)}
.quiet-inner{width:min(1200px,calc(100% - 112px));margin-inline:auto;padding-block:78px 56px}
.quiet-caption{font-family:var(--serif);font-size:clamp(21px,2.3vw,30px);line-height:1.35;color:var(--cream);max-width:24ch;text-shadow:0 1px 10px rgba(14,31,27,.45)}
@media(max-width:800px){.quiet-band{min-height:360px}.quiet-inner{width:calc(100% - 48px);padding-block:60px 44px}.quiet-caption{max-width:22ch}}
@media(max-width:600px){.quiet-band{min-height:300px}.quiet-inner{width:calc(100% - 40px);padding-block:48px 36px}.quiet-caption{max-width:none;font-size:20px}}

/* The group sits right of centre in the photograph, so the frame moves left to bring it back.
   107% of the band width is a 6% upscale of a 1600px source — no visible loss. */
@media(min-width:741px){.hero-editorial .hero-photo>img{width:107%;left:-7%}}

/* Earth in the product section, since the closing invitation already carries Water. The contours
   gather off the top-right corner, and the edge fade above dissolves them into the section. The
   rings run past the artwork's own lower boundary, so it is flipped: that cut edge sits above the
   section, out of view, and only the closed curves reach down into it. */
.benefits-earth{position:absolute;z-index:-2;pointer-events:none;width:1040px;max-width:none;height:auto;right:-380px;top:-250px;transform:scaleY(-1)}
@media(max-width:800px){.benefits-earth{width:760px;right:-320px;top:-185px}}
@media(max-width:600px){.benefits-earth{width:560px;right:-260px;top:-135px}}

/* The audience line leads the opening: larger and more open, still in the identity green.
   The brand keeps it out of terracotta, so the Wind lines keep their Movement accent. */
.hero-editorial .hero-copy>.eyebrow{font-size:14px;letter-spacing:2.2px;margin-bottom:20px}
@media(max-width:600px){.hero-editorial .hero-copy>.eyebrow{font-size:13px;letter-spacing:1.8px}}

/* Earth crosses the seam into the opening and fades out there, meeting the water in the photograph.
   The band clips sideways only, so the rings can rise above it. One mask on the artwork does both
   fades, so they run unbroken across the seam: upward, starting well inside section two and gone
   before the signup card; and at the screen's right edge. Vertical stops run from the visual top,
   since the artwork is flipped; horizontal stops are measured from the artwork's left edge. */
.benefits-band{overflow:visible;overflow-x:clip}
.benefits-earth{-webkit-mask-image:linear-gradient(to top,transparent 170px,#000 450px),linear-gradient(to right,#000 420px,transparent 690px);mask-image:linear-gradient(to top,transparent 170px,#000 450px),linear-gradient(to right,#000 420px,transparent 690px);-webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:800px){.benefits-earth{-webkit-mask-image:linear-gradient(to top,transparent 105px,#000 330px),linear-gradient(to right,#000 280px,transparent 460px);mask-image:linear-gradient(to top,transparent 105px,#000 330px),linear-gradient(to right,#000 280px,transparent 460px);-webkit-mask-composite:source-in;mask-composite:intersect}}
@media(max-width:600px){.benefits-earth{-webkit-mask-image:linear-gradient(to top,transparent 85px,#000 235px),linear-gradient(to right,#000 200px,transparent 315px);mask-image:linear-gradient(to top,transparent 85px,#000 235px),linear-gradient(to right,#000 200px,transparent 315px);-webkit-mask-composite:source-in;mask-composite:intersect}}

/* The closing Water carries on past the form: it fades behind the middle, then continues on the
   left, a little lower, as the same currents drifting down. */
.closing .water-art-left{right:auto;left:-230px;bottom:150px;transform:rotate(-16deg);-webkit-mask-image:linear-gradient(to left,transparent,transparent 18%,rgba(0,0,0,.14) 50%,#000 80%);mask-image:linear-gradient(to left,transparent,transparent 18%,rgba(0,0,0,.14) 50%,#000 80%)}
@media(max-width:800px){.closing .water-art-left{left:-330px;bottom:170px}}
@media(max-width:600px){.closing .water-art-left{display:none}}

/* Header: compact, and frosted glass tinted like the section beneath it (set by launch.js from
   data-nav-tone). */
.site-header{background:rgba(249,247,243,.8);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);transition:background-color .45s ease,transform .3s ease}
.site-header[data-tone=wash]{background:rgba(237,240,233,.82)}
.site-header[data-tone=blush]{background:rgba(239,229,223,.84)}
.site-header .header-inner{height:64px}
.site-header .brand{width:152px}
@media(max-width:800px){.site-header .header-inner{height:62px}.site-header .brand{width:140px}}
/* Phones: the header slides away while you scroll down and returns as soon as you scroll up. */
@media(max-width:600px){.site-header .header-inner{height:58px}.site-header .brand{width:134px}.site-header.is-tucked{transform:translateY(-100%)}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* A soft switch to the other audience's page, always in the header. */
.site-header .site-nav .nav-switch{display:inline-flex;align-items:center;min-height:36px;max-width:200px;overflow:hidden;white-space:nowrap;padding:0 16px;border:1px solid rgba(74,107,94,.32);border-radius:999px;color:var(--green);text-decoration:none}
.site-header .site-nav .nav-switch:hover{background:rgba(92,131,116,.08);text-decoration:none}
@media(min-width:601px){.site-header .site-nav .nav-switch{transition:background-color .2s ease}}
@media(max-width:600px){.site-header .site-nav .nav-switch{border:0;border-radius:0;min-height:0;max-width:none;padding:13px 4px}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav .nav-switch{transition:none}}

/* Venue opening: the signup card speaks like the organizer one. */
.signup-form[data-signup="venue"]>.form-invitation{font-family:var(--serif);font-size:24px;line-height:1.35;letter-spacing:-.35px;margin:0 0 8px;color:var(--green)}
.hero .signup-form[data-signup="venue"]>.form-fineprint{font-size:12px;margin-top:13px;line-height:1.7}
.hero .signup-form[data-signup="venue"]>.signup-submit{width:100%;margin-top:6px}
@media(max-width:600px){.signup-form[data-signup="venue"]>.form-invitation{font-size:22px}.hero .signup-form[data-signup="venue"] .field-pair{grid-template-columns:1fr;gap:12px}}

/* Venue closing: the two-sided invitation, on the closing blush. */
.venue-closing{background:var(--invitation)}
.venue-closing h2{font-size:46px}
.venue-closing .intro{font-size:16px;line-height:1.9;margin-top:25px;color:var(--muted)}
.venue-closing .signup-form{background:#fff;border:1px solid rgba(74,107,94,.14);padding:30px;border-radius:12px;margin-top:0}
.venue-closing .signup-form h3{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.25;color:var(--green)}
.venue-closing .signup-form>.form-invitation{font-family:var(--sans);font-size:15px;letter-spacing:0;line-height:1.6;margin:10px 0 0;color:var(--muted)}
.venue-closing .field-pair{margin-top:20px;margin-bottom:0}
.venue-closing .signup-row{display:block}
.venue-closing .signup-row>label{margin-top:20px}
.venue-closing .signup-row input{width:100%}
.venue-closing .signup-row button{width:100%;margin-top:18px}
.venue-talk{margin-top:18px;font-size:14px;color:var(--muted)}
@media(max-width:800px){.venue-closing h2{font-size:36px}}
@media(max-width:600px){.venue-closing h2{font-size:32px}.venue-closing .signup-form{padding:23px}.venue-closing .field-pair{grid-template-columns:1fr;gap:17px}}

/* Footer, in the live site's dark green: identity on the left, ways to reach us on the right. */
.site-footer{background:var(--green);color:var(--cream);padding:58px 0 24px}
.site-footer a{color:rgba(249,247,243,.86);text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer .footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:40px}
/* The cream wordmark carries 7.5% side and 26% vertical padding of its own; pull its ink back to the column edge. */
.site-footer .brand{display:block;width:200px;margin-left:-15px}
.footer-descriptor{margin-top:-6px;font-family:var(--serif);font-size:18px;line-height:1.5;color:rgba(249,247,243,.94)}
.footer-audience{margin-top:6px;font-size:15px;line-height:1.6;color:rgba(249,247,243,.72)}
.footer-reach{display:flex;flex-direction:column;align-items:flex-end;gap:16px;text-align:right}
.site-footer .footer-mail{font-size:18px;border-bottom:1px solid rgba(249,247,243,.3)}
.footer-social{display:flex;gap:18px}
.site-footer .footer-social a{display:inline-flex;color:rgba(249,247,243,.8)}
.footer-switch{font-size:16px;color:rgba(249,247,243,.72)}
.site-footer .footer-switch a{border-bottom:1px solid rgba(249,247,243,.3)}
.site-footer .footer-bottom{display:flex;justify-content:flex-start;gap:14px;border-top:1px solid rgba(249,247,243,.18);padding-top:18px;font-size:14px;color:rgba(249,247,243,.62)}
.site-footer .footer-bottom a{color:rgba(249,247,243,.62);border-bottom:1px solid rgba(249,247,243,.25)}
@media(max-width:700px){.site-footer .footer-top{flex-direction:column;gap:30px}.footer-reach{align-items:flex-start;text-align:left}.site-footer .brand{width:180px;margin-left:-13px}.site-footer{padding-top:44px}}

/* Readable type, matched to the live site: reading text at 18px, controls and small print no smaller
   than 14px. The product illustrations keep their own scale. */
.hero-editorial .hero-description{font-size:18px;line-height:1.75}
.benefits .story-heading>p:last-child,.closing .closing-description,.faq-band .faq>div>p:last-child,.venue-closing .intro{font-size:18px;line-height:1.75}
.faq .faq-list summary{font-size:19px;line-height:1.5}
.faq .faq-list details p{font-size:18px;line-height:1.75}
main .story-heading .mini-label{font-size:13px}
main .section-intro .eyebrow,main .closing .eyebrow,main .faq .eyebrow,main .people-caption .eyebrow,main .venue-closing .eyebrow{font-size:13px}
.site-header .site-nav{font-size:16px}
.site-header .site-nav .nav-switch{font-size:inherit}
.site-header .menu-toggle{font-size:16px}
main .signup-form label,main .signup-form .field-pair label,main .signup-form .signup-details label{font-size:16px}
main .signup-form input{font-size:17px}
main .button,main .signup-form .button{font-size:16px}
main .signup-form[data-signup]>.form-fineprint,.hero .signup-form[data-signup]>.form-fineprint{font-size:14px;line-height:1.6}
main .form-status,main .field-error{font-size:15px}
.venue-closing .signup-form>.form-invitation{font-size:17px}
main .scene-worked-example .text-link{font-size:16px}
main .scene-worked-example>p{font-size:15px}
.venue-talk{font-size:16px}
@media(max-width:600px){.site-header .site-nav>a,.site-header .site-nav .nav-switch{font-size:17px}main .signup-form .signup-details{grid-template-columns:1fr;gap:12px}}

/* Logos sized to the larger type. */
.site-header .brand{width:176px}
@media(max-width:800px){.site-header .brand{width:160px}}
@media(max-width:600px){.site-header .brand{width:148px}}

/* “What do you offer?” — optional pills on the organizer forms. */
.signup-specialties{border:0;margin:4px 0 18px;padding:0;min-width:0}
.signup-specialties legend{padding:0;margin-bottom:10px;font-size:16px;font-weight:600;color:var(--green)}
.signup-specialties legend span{font-weight:400;color:var(--muted)}
.specialty-options{display:flex;flex-wrap:wrap;gap:8px}
.specialty{position:relative;display:inline-flex;margin:0;cursor:pointer}
.specialty input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0}
.specialty span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(74,107,94,.35);border-radius:999px;background:#fff;font-size:15px;font-weight:500;color:var(--green);transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.specialty:hover span{border-color:var(--green)}
.specialty input:checked+span{background:var(--green);border-color:var(--green);color:var(--cream)}
.specialty input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}

/* Launch signup: save the email first, then invite optional organizer details. */
.signup-form [data-signup-initial]>.form-invitation,
.signup-form[data-signup="venue"] [data-signup-fields]>.form-invitation{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.35;letter-spacing:-.35px;color:var(--green);margin:0 0 22px}
.signup-form [data-signup-fields]>.signup-submit{width:100%;margin-top:18px}
main .signup-form [data-signup-fields]>.form-fineprint{font-size:14px;line-height:1.6;margin-top:13px}
.signup-field+.signup-field{margin-top:18px}
.signup-saved{font-size:15px;line-height:1.6;color:var(--green);margin:0 0 18px}
.signup-profile-heading{font-family:var(--serif);font-size:26px;line-height:1.3;letter-spacing:-.35px;margin:0 0 20px}
.signup-optional-note{font-size:14px;color:var(--muted);margin:10px 0 18px}
.signup-form[data-signup-step="profile"] .signup-specialties{margin:0 0 23px}
.signup-form[data-signup-step="profile"] .signup-submit{background:var(--clay);border-color:var(--clay);color:var(--green)}
.signup-form[data-signup-step="profile"] .signup-submit:hover{background:#d3b3a4;border-color:#d3b3a4}
.signup-confirmation{text-align:center;padding:12px 0;scroll-margin-top:100px}
.signup-confirmation-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(74,107,94,.3);border-radius:50%;color:var(--green);font-size:24px;margin:0 auto 20px}
.signup-confirmation :is(h2,h3),.venue-closing .signup-confirmation :is(h2,h3){font-family:var(--serif);font-size:28px;line-height:1.3}
.signup-confirmation p{font-size:17px;line-height:1.7;color:var(--green);margin:14px auto 0;max-width:36ch}
.venue-closing .signup-form [data-signup-fields]>.form-invitation{font-family:var(--sans);font-size:17px;line-height:1.6;letter-spacing:0;margin:10px 0 22px;color:var(--muted)}
@media(max-width:600px){.signup-form [data-signup-initial]>.form-invitation,.signup-form[data-signup="venue"] [data-signup-fields]>.form-invitation{font-size:22px}.signup-profile-heading{font-size:24px}.signup-confirmation :is(h2,h3){font-size:26px}.signup-form[data-signup-step="profile"] .specialty span{min-height:42px}}
@media(prefers-reduced-motion:reduce){.specialty span{transition:none}}

/* A personal introduction, with the same reading size as the launch pages. */
.about-page{padding-block:70px 96px}
.about-layout{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);grid-template-areas:"heading portrait" "prose portrait";column-gap:72px;row-gap:28px;align-items:start}
.about-heading{grid-area:heading}
.about-heading .eyebrow{font-size:13px;margin-bottom:18px}
.about-heading h1{font-size:clamp(36px,3.6vw,48px);line-height:1.2;letter-spacing:-1.1px;text-wrap:pretty}
.about-portrait{grid-area:portrait}
.about-portrait img{width:100%;height:auto;border-radius:var(--radius)}
.about-prose{grid-area:prose;font-size:18px;line-height:1.8}
.about-prose p+p{margin-top:22px}
.about-prose .about-signature{font-family:var(--serif);font-size:28px;color:var(--green);margin-top:24px}
.site-header .site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(min-width:601px) and (max-width:800px){.site-header .site-nav{gap:16px;font-size:14px}.site-header .site-nav .nav-switch{font-size:14px;padding-inline:12px}}
@media(max-width:900px){.about-layout{grid-template-columns:minmax(0,1fr) minmax(180px,240px);column-gap:36px}}
@media(max-width:700px){.about-page{padding-block:40px 64px}.about-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "prose" "portrait";row-gap:28px}.about-heading h1{font-size:36px;max-width:520px}.about-portrait{width:180px}.about-prose{line-height:1.75}}

/* Spam trap: invisible to people and screen readers, filled in only by bots. */
.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* The step heading and the confirmation receive focus only so screen readers announce them;
   they aren't controls, so they don't draw the keyboard focus ring. */
.signup-profile-heading:focus,.signup-profile-heading:focus-visible,
[data-signup-confirmation]:focus,[data-signup-confirmation]:focus-visible{outline:none}

/* The opening asks for nothing yet: one button takes people to the closing form, after the
   page has explained what Makanoo is. Without a form card the photograph carries the band. */
.hero-editorial .hero{min-height:min(760px,calc(100svh - 64px));align-content:start}
.hero-editorial .hero .hero-cta{grid-column:1;grid-row:4;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.hero-cta .button{min-width:240px;padding-inline:34px;font-size:16px;box-shadow:0 18px 36px -26px rgba(31,53,44,.75)}
.hero-cta-note{font-size:15px;color:var(--green)}
@media(max-width:600px){.hero-editorial .hero{min-height:min(640px,calc(100svh - 58px))}.hero-cta .button{min-width:0;width:100%}.hero-editorial .hero .hero-cta{justify-self:stretch}}

/* The lakeside practice photograph now grounds the opening: bring the group on the deck and the
   water into the lower half, under the copy. The sound-session photograph closes the page. */
.hero-editorial .hero-photo>img{object-position:50% 72%}
.people-moment>img{object-position:50% 58%}
/* The singing-bowl caption reads as one or two long lines rather than a narrow column. */
.quiet-caption{font-size:clamp(24px,2.9vw,38px);line-height:1.3;max-width:44ch;text-wrap:balance}
@media(max-width:800px){.quiet-caption{max-width:none}}
@media(max-width:600px){.quiet-caption{font-size:23px}}
/* With no form card, the veil only needs to hold the copy at the top; let the group show below. */
.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.6) 17%,rgba(249,247,243,.16) 58%,rgba(249,247,243,.3) 88%,var(--wash)),radial-gradient(ellipse 52% 46% at 50% 31%,rgba(249,247,243,.92),rgba(249,247,243,.62) 56%,rgba(249,247,243,0))}
@media(max-width:600px){.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.74) 14%,rgba(249,247,243,.24) 66%,rgba(249,247,243,.4) 90%,var(--wash)),radial-gradient(ellipse 100% 46% at 50% 33%,rgba(249,247,243,.92),rgba(249,247,243,.64) 60%,rgba(249,247,243,0))}}
/* Mirrored so the teacher and her singing bowl sit on the open right side, clear of the caption shade. */
.people-moment>img{transform:scaleX(-1);object-position:50% 58%}
@media(max-width:600px){.people-moment>img{object-position:70% 50%}}
.hero-cta-note{text-shadow:0 0 12px rgba(249,247,243,.95),0 0 3px rgba(249,247,243,.9)}

/* "For every kind of retreat": six still photographs between the FAQ and the closing form. One row on
   wide screens, three by two on tablets, a sideways swipe on phones (the next photo peeks in). Nothing
   moves on its own. */
.retreat-range{background:var(--cream);padding-block:8px 104px}
.retreat-range h2{text-align:center;margin:0 auto 40px}
.range-strip{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px}
.range-strip figure{margin:0}
.range-strip img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:var(--wash)}
.range-strip figcaption{margin-top:12px;font-size:16px;line-height:1.4;color:var(--green);text-align:center}
.range-scroller:focus-visible{outline:2px solid var(--sage);outline-offset:6px;border-radius:12px}
@media(max-width:900px){.range-strip{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}}
@media(max-width:600px){
  .retreat-range{padding-block:4px 64px}
  .retreat-range h2{margin-bottom:28px}
  .range-scroller{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin-inline:-20px;padding-inline:20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .range-scroller::-webkit-scrollbar{display:none}
  .range-strip{display:flex;gap:12px;width:max-content;padding-right:20px}
  .range-strip>li{flex:0 0 64vw;scroll-snap-align:start}
  .range-strip figcaption{text-align:left}
}

/* A shorter opening: the band ends soon after the November line. The photograph is cropped to the
   group on the deck and fades into the next section's wash, so the Earth lines read again where
   they cross into the opening. */
.hero-editorial .hero{min-height:min(610px,calc(100svh - 64px))}
.hero-editorial .hero-band{padding-bottom:40px}
.hero-editorial .hero-photo>img{object-position:50% 78%}
.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.6) 17%,rgba(249,247,243,.14) 52%,rgba(237,240,233,.28) 70%,rgba(237,240,233,.82) 88%,var(--wash) 100%),radial-gradient(ellipse 52% 46% at 50% 33%,rgba(249,247,243,.92),rgba(249,247,243,.62) 56%,rgba(249,247,243,0))}
@media(max-width:600px){
  .hero-editorial .hero{min-height:min(560px,calc(100svh - 58px))}
  .hero-editorial .hero-band{padding-bottom:32px}
  .hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.74) 14%,rgba(249,247,243,.26) 60%,rgba(237,240,233,.4) 76%,rgba(237,240,233,.86) 91%,var(--wash) 100%),radial-gradient(ellipse 100% 46% at 50% 36%,rgba(249,247,243,.92),rgba(249,247,243,.64) 60%,rgba(249,247,243,0))}
}
.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.6) 17%,rgba(249,247,243,.14) 52%,rgba(237,240,233,.28) 70%,rgba(237,240,233,.82) 88%,var(--wash) 100%),radial-gradient(ellipse 50% 52% at 50% 38%,rgba(249,247,243,.93),rgba(249,247,243,.74) 58%,rgba(249,247,243,0))}
@media(max-width:600px){.hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.98),rgba(249,247,243,.74) 14%,rgba(249,247,243,.26) 60%,rgba(237,240,233,.4) 76%,rgba(237,240,233,.86) 91%,var(--wash) 100%),radial-gradient(ellipse 100% 52% at 50% 42%,rgba(249,247,243,.93),rgba(249,247,243,.74) 62%,rgba(249,247,243,0))}}

/* Opening: anchor the lakeside photograph near its top so the whole roof arch stays in frame. */
.hero-editorial .hero-photo>img{object-position:50% 51%}
/* Closing band: grows a little with the screen width and is framed higher, so the teacher's head
   stays in frame on wide screens while the group resting below remains visible. */
@media(min-width:601px){.people-moment{min-height:clamp(490px,38vw,640px)}.people-moment>img{object-position:50% 50%}}

/* The small line under the opening button sits on a soft cream tag so it reads over the photograph. */
.hero-cta-note{text-shadow:none;background:rgba(249,247,243,.88);border-radius:999px;padding:6px 16px;font-weight:500;box-shadow:0 6px 18px -14px rgba(31,53,44,.6)}
@media(max-width:600px){.hero-cta-note{border-radius:14px;padding:6px 12px}}

/* A heading's data-underline words get a terracotta line just under them, fading out to the right
   (the old FAQ rule's style). launch.js measures those words (--rule-x, --rule-y, --rule-w); without
   JavaScript the line sits just below the heading's left edge. */
h2[data-underline]{position:relative}
h2[data-underline]::after{content:'';position:absolute;left:var(--rule-x,0px);top:var(--rule-y,calc(100% + 8px));width:var(--rule-w,110px);height:2px;background:linear-gradient(90deg,var(--ember) 55%,rgba(201,115,90,0))}
/* The FAQ heading no longer carries a rule. */
.faq h2::after{content:none}
/* The opening label is the opening section's warm accent. */
.hero-copy>.eyebrow,.hero-editorial .hero-copy>.eyebrow{color:var(--ember)}

/* 17 October 2026: the Earth lines rise from the bottom of "How it works", towards the next
   section, instead of crossing into the opening; the opening and "How it works" sit closer. */
.benefits-earth{top:auto;bottom:-250px;transform:none}
@media(max-width:800px){.benefits-earth{top:auto;bottom:-185px}}
@media(max-width:600px){.benefits-earth{top:auto;bottom:-135px}}
.benefits-band.section-space{padding-top:64px}
@media(max-width:600px){.benefits-band.section-space{padding-top:44px}}
.hero-editorial .hero{min-height:min(540px,calc(100svh - 64px))}
.hero-editorial .hero-photo{overflow:hidden}
.hero-editorial .hero-photo>img{will-change:transform;transform-origin:50% 60%}
/* Phones: the photograph stays full width behind the opening and shows through. The label and
   headline sit on a light veil at the top, the photograph is clear in the middle, and the paragraph
   and button sit on a cream fade in the lower part. */
@media(max-width:600px){
  .hero-editorial .hero{min-height:min(660px,calc(100svh - 58px))}
  .hero-editorial .hero-description{margin-top:230px}
  .hero-editorial .hero-photo>img{object-position:50% 70%}
  /* The homepage group sits low in its photograph: extend the photo above the band so the
     group shows in the clear middle of the opening. */
  .hero-editorial .hero-photo:has(img[src*="group-practice"]){top:-25%}
  .hero-editorial .hero-band::after{background:linear-gradient(180deg,rgba(249,247,243,.94) 0%,rgba(249,247,243,.84) 26%,rgba(249,247,243,0) 41%,rgba(249,247,243,0) 54%,rgba(249,247,243,.86) 64%,rgba(249,247,243,.95) 80%,var(--wash) 100%)}
}

/* Venue page opening: the Andalusian farmhouse and pool. Desktop frames the house and terrace under
   the copy; phones keep the house and pool in the clear middle of the opening. */
.hero-editorial .hero-photo>img[src*="venue-andalusia"]{object-position:50% 62%}
@media(max-width:600px){.hero-editorial .hero-photo>img[src*="venue-andalusia"]{object-position:27% 60%}}
