/* Host composition inherits the shared palette, type, actions and material faces. */
.host-a-supra-page { font-size:20px; }
.host-a-supra-page section { padding-block:76px; }
.host-a-supra-page :is(.wrap,article,figure,.help-copy) { min-width:0; }
.host-a-supra-page h2 { font-size:clamp(40px,4.2vw,60px); }
.host-a-supra-page h3 { font-size:clamp(32px,3.1vw,44px); }
.host-a-supra-page .photo-window { clip-path:var(--paper-cut); }
.host-a-supra-page .host-opening { background:var(--cream); color:var(--ink); padding-block:172px 86px; }
.host-opening > .wrap { display:grid; grid-template-columns:.9fr 1.1fr; gap:6%; align-items:center; }
.host-a-supra-page .host-opening h1 { font-size:clamp(52px,4.8vw,69px); max-width:12ch; margin-bottom:27px; }
.host-opening-copy > p { max-width:33ch; }
.host-opening .host-lead { font:28px/1.35 var(--font-display); margin-bottom:20px; }
.host-opening > .wrap > .interior-photo { transform:rotate(.6deg); }
.host-a-supra-page .backer-olive::before { background:var(--olive) url('/assets/host-olive-lokta.webp') center / cover no-repeat; }
.host-a-supra-page .backer-gold::before { background:var(--gold) url('/assets/formation-antique-gold-matte.webp') center / cover no-repeat; }
.host-a-supra-page .backer-navy::before { background:var(--navy) url('/assets/host-navy-mulberry.webp') center / cover no-repeat; }
.host-opening .photo { aspect-ratio:1.4; object-position:center; }
.host-a-supra-page .host-opening a.host-primary { text-decoration:none; font-size:19px; margin:10px 0 0; padding:15px 20px; }
.host-a-supra-page .host-orientation { background:var(--white); }
.host-orientation > .wrap { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.host-orientation h2 { margin:0; }
.host-orientation h2 span { color:var(--navy); }
.host-orientation > .wrap > div { max-width:43ch; }
.host-help h2 { margin-bottom:44px; }
.help-copy .price-qualifier { font-size:18px; }
.host-a-supra-page .help-copy .text-link { font-size:19px; margin:4px 0 0 -16px; padding:12px 16px; }
.host-other { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:12%; padding-top:32px; border-top:1px solid var(--rule-strong); }
.host-a-supra-page .host-other h3 { font-size:29px; margin-bottom:12px; }
.host-other p { font-size:18px; }
.host-other > p { justify-self:end; font-size:20px; }
.host-a-supra-page .host-people { background:var(--white); }
.host-people > .wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:center; }
.host-people .interior-photo { width:88%; justify-self:center; transform:rotate(-1deg); }
.host-people .photo { aspect-ratio:3/4; }
.host-people h2 { max-width:17ch; }
.host-people blockquote { margin:32px 0 0; padding:22px 0 0; border-top:1px solid var(--rule-strong); font:27px/1.35 var(--font-display); }
.host-people blockquote p { margin-bottom:12px; }
.host-people cite { font:18px/1.5 var(--font-body); }
.host-faq > .wrap { display:grid; grid-template-columns:.7fr 1.3fr; gap:8%; }
.host-faq .faq details > div { font-size:19px; }
@media(max-width:1100px) {
 .host-a-supra-page .host-opening { padding-block:148px 68px; }
 .host-opening > .wrap { grid-template-columns:1fr 1fr; gap:5%; }
 .host-a-supra-page .host-opening h1 { font-size:54px; }
 .host-opening .photo { aspect-ratio:1.12; object-position:54% center; }
 .host-opening .host-lead { font-size:25px; }
 .host-people .interior-photo { width:96%; }
 .host-faq > .wrap { grid-template-columns:1fr; gap:22px; }
}
@media(max-width:760px) {
 .host-a-supra-page { font-size:19px; }
 .host-a-supra-page section { padding-block:56px; }
 .host-a-supra-page h2 { font-size:clamp(36px,6.2vw,48px); }
 .host-a-supra-page .host-opening { padding-block:132px 58px; }
 .host-opening > .wrap { grid-template-columns:1fr; gap:36px; }
 .host-opening-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 6%; align-items:start; }
 .host-a-supra-page .host-opening h1 { grid-row:1/4; font-size:clamp(44px,7.2vw,55px); margin:0; }
 .host-opening .host-lead { font-size:24px; }
 .host-opening .host-primary { grid-column:2; font-size:18px; }
 .host-opening .photo { aspect-ratio:1.5; object-position:center; }
 .host-opening > .wrap > .interior-photo { width:97%; }
 .host-orientation > .wrap { grid-template-columns:1fr; gap:28px; }
 .host-orientation h2 br:last-child { display:none; }
 .host-other { grid-template-columns:1fr; gap:24px; }
 .host-other > p { justify-self:start; margin:0; }
 .host-people > .wrap { grid-template-columns:.8fr 1.2fr; gap:7%; }
 .host-people .interior-photo { width:100%; }
 .host-people blockquote { font-size:24px; }
}
@media(max-width:600px) {
 .host-opening-copy { display:block; }
 .host-people > .wrap { grid-template-columns:1fr; gap:28px; }
 .host-a-supra-page .host-opening h1 { font-size:clamp(44px,10vw,58px); margin-bottom:24px; }
 .host-opening .host-lead br { display:none; }
 .host-opening .photo { aspect-ratio:1.22; object-position:52% center; }
 .host-a-supra-page .host-primary { margin-top:8px; }
 .host-people .interior-photo { width:82%; justify-self:start; max-width:340px; margin-bottom:14px; }
 .host-a-supra-page .host-faq h2 { margin:0; }
}
@media (min-width:601px) and (max-width:760px) {
 .host-opening-copy { grid-template-columns:1.1fr 1fr; }
 .host-a-supra-page .host-opening h1 { font-size:44px; }
}
@media (max-width:360px) {
 .host-opening h1 br { display:none; }
}

.host-a-supra-page .host-closing { padding-block:90px; }
.host-closing > .wrap { grid-template-columns:1.4fr 1fr; gap:9%; }
.host-closing .closing-response p + p { margin-top:32px; }
.host-closing .closing-response .inline-link { box-decoration-break:clone; -webkit-box-decoration-break:clone; }
@media(max-width:1000px) {
 .host-closing > .wrap { grid-template-columns:1fr; gap:36px; }
 .host-closing .closing-art { max-width:none; }
}
@media(max-width:600px) {
 .host-a-supra-page .host-closing { padding-block:60px; }
}
.host-closing .closing-art .closing-art-title > img.closing-art-hand { right:.35em; }


/* About's accepted two-line closing: same column-relative type and leading. */
.host-closing .closing-art > h2.closing-art-title { line-height:1.08; min-height:3.4em; }
.host-a-supra-page .host-closing a.host-formation { color:var(--ink); text-decoration:none; font-size:20px; padding:18px 26px; margin-top:8px; }
.host-formation::before { background:var(--gold); }

/* One prepared table and two distinct editorial offers; no plan-card grid. */
.host-offer-composition { display:grid; grid-template-columns:.85fr 1.15fr; gap:7%; align-items:start; }
.host-offer-composition > .interior-photo { margin-top:36px; transform:rotate(-1deg); }
.host-offer-composition .photo { aspect-ratio:3/4; object-position:center; }
.help-choices { position:relative; }
.help-choices article { padding:32px 38px; }
.help-choices article:first-child { position:relative; isolation:isolate; margin-left:-12%; }
.help-choices article:first-child::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--white); clip-path:var(--paper-cut); filter:drop-shadow(5px 7px 0 var(--stone)); }
.help-choices article + article { padding-top:42px; }
.help-title h3 { font-size:clamp(34px,3.4vw,48px); margin-bottom:16px; }
.help-title .price { font:27px/1.3 var(--font-display); color:var(--navy); margin-bottom:22px; }
.help-title .price strong { font-weight:600; white-space:nowrap; }
.help-copy p { font-size:20px; }
.help-copy .price-qualifier { font-size:18px; }
.host-other { margin-top:40px; }
/* Stable dialog, with one scrolling content area and persistent controls. */
.host-dialog { width:min(880px,calc(100vw - 48px)); height:min(780px,calc(var(--host-viewport-height,100dvh) - 48px)); max-width:none; max-height:none; padding:0; border:1px solid var(--stone); background:var(--cream); color:var(--ink); box-shadow:10px 12px 0 #27252233; overflow:hidden; margin:auto; }
.host-dialog::backdrop { background:#223245a6; }
.host-dialog form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
.host-dialog-top { display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:12px 28px; border-bottom:1px solid var(--rule-strong); background:var(--white); }
.host-dialog-top p { margin:0; }
.host-dialog-top > div { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.host-dialog-close { grid-column:2; grid-row:1/3; }
.host-dialog-top { max-height:30dvh; overflow:auto; }
.host-dialog #host-dialog-title { font:600 22px/1.3 var(--font-display); }
.host-dialog .step-progress { font-size:16px; margin-top:5px; }
.host-dialog .host-selection { grid-column:1/-1; font-size:16px; color:var(--olive); }
.host-dialog-close { align-self:start; border:0; background:transparent; color:var(--navy); font:600 17px/1.4 var(--font-body); min-height:44px; padding:8px 0 8px 16px; cursor:pointer; }
.host-dialog-close span { margin-left:10px; font-size:24px; }
.host-dialog-content { overflow-y:auto; overscroll-behavior:contain; padding:16px 28px; scroll-padding:24px; }
.host-dialog .wizard-step { padding:0; }
.host-dialog .wizard-step > :is(legend,h3) { font:750 clamp(30px,3.3vw,40px)/1.12 var(--font-display); letter-spacing:-.035em; margin:0 0 18px; width:100%; }
.host-dialog .wizard-step > :is(legend,h3):focus { outline:none; }
.host-dialog .form-fields { grid-template-columns:1fr 1fr; gap:14px 20px; }
.host-dialog .field > label,.host-dialog .field legend,.host-dialog .field .check { font-size:18px; }
.host-dialog .field :is(input:not([type=checkbox]),select,textarea) { font-size:18px; min-height:48px; padding:9px 12px; }
.host-dialog .field textarea { min-height:100px; }
.host-dialog :is(.required-word,.optional-word,.field small,.field-error,.form-notice) { font-size:16px; }
.host-dialog :is([data-field=help],[data-field=intent],[data-field=outsideUs],[data-field=timing],[data-field=timeframe],.step-intro,[data-price-orientation]) { grid-column:1/-1; }
.host-dialog [data-price-orientation] { font:27px/1.3 var(--font-display); margin:0; }
.host-dialog [data-price-orientation]:empty { display:none; }
.host-dialog #host-international { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.host-dialog .step-intro { margin:0; font-size:18px; }
.host-dialog :is([data-field=people],[data-field=honoree],[data-field=organization]) { grid-column:1/-1; }
.host-dialog [data-field=people] fieldset { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.host-dialog [data-field=guestsUnknown] { align-self:end; }
.host-dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 28px; border-top:1px solid var(--rule-strong); background:var(--white); }
.host-dialog-actions .action-button { margin-left:auto; }
.host-dialog-actions { max-height:28dvh; overflow:auto; }
.host-dialog-actions .plain-button { flex-shrink:0; white-space:nowrap; }
.host-dialog :is(.field,.host-dialog-top > div,.host-dialog-actions > button) { min-width:0; }
.host-dialog-actions > button { overflow-wrap:anywhere; }
.host-dialog .action-button { clip-path:var(--paper-cut); box-shadow:none; font-size:18px; }
.host-dialog .plain-button { font-size:18px; }
.host-dialog .review-group { padding-block:22px; border-bottom:1px solid var(--rule-strong); }
.host-dialog .review-group:first-child { padding-top:0; }
.host-dialog .review-group h4 { font:600 26px/1.2 var(--font-display); margin:0 0 18px; }
.host-dialog .review-group dl { margin:0; font-size:18px; }
.host-dialog .review-group dt { font-weight:600; margin-top:16px; }
.host-dialog .review-group dd { margin:3px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.host-dialog .review-group .plain-button { text-align:left; margin-top:14px; padding-left:0; }
.host-dialog .booking-note { font-size:18px; margin-top:24px; }
.host-dialog .form-status:not(:empty) { margin:0 0 28px; padding:16px 0; }
.host-dialog .form-status h3 { font-size:34px; }
.host-dialog .form-status p,.host-dialog .form-status li { font-size:18px; }
@media(max-width:1000px) {
 .host-offer-composition { grid-template-columns:.8fr 1.2fr; gap:4%; }
 .help-choices article { padding:26px; }
 .help-choices article:first-child { margin-left:-10%; }
}
@media(max-width:760px) {
 .host-offer-composition { grid-template-columns:1fr; gap:0; }
 .host-offer-composition > .interior-photo { width:75%; max-width:480px; margin:0; }
 .host-offer-composition .photo { aspect-ratio:1.2; object-position:center 57%; }
 .help-choices article:first-child { margin:-48px 0 0 9%; }
 .help-choices article + article { padding:40px 0 0; }
}
@media(max-width:600px) {
 .host-dialog { width:100vw; height:var(--host-viewport-height,100dvh); top:var(--host-viewport-top,0px); bottom:auto; margin:0; border:0; box-shadow:none; }
 .host-dialog-top { padding:14px 20px 12px; }
 .host-dialog-content { padding:26px 22px; }
 .host-dialog-actions { padding:14px 22px max(14px,env(safe-area-inset-bottom)); }
 .host-dialog .form-fields,.host-dialog #host-international { grid-template-columns:1fr; }
 .host-dialog [data-field=people] fieldset { grid-template-columns:1fr; }
 .host-dialog .wizard-step > :is(legend,h3) { font-size:32px; }
 .help-title .price { font-size:24px; }
 .help-copy p { font-size:19px; }
 .help-choices article:first-child { padding:26px 22px; margin-left:4%; }
}

/* Compact question screens retain the site's 18px controls and 16px helpers. */
.host-dialog [data-field=occasion] { grid-column:1/-1; }
.host-dialog [data-step="2"] .form-fields { grid-template-columns:.9fr 1.1fr; }
.host-dialog [data-step="2"] [data-field=people] { grid-column:1; grid-row:1/3; }
.host-dialog [data-step="2"] :is([data-field=intent],[data-field=honoree]) { grid-column:2; }
.host-dialog [data-field=people] fieldset { grid-template-columns:1fr; }
.host-dialog [data-field=honoree] textarea { min-height:64px; }
.host-dialog [data-field=people] .check { padding-block:7px; min-height:44px; margin:0; }
.host-dialog [data-field=organization] { grid-column:auto; }
@media(min-width:601px) {
 .host-dialog .form-fields:has(#f-outsideUs:checked) [data-field=outsideUs] { grid-column:2; align-self:end; }
 .host-dialog .form-fields:has([data-field=timeframe]:not([hidden])) :is([data-field=timing],[data-field=timeframe]),
 .host-dialog .form-fields:has([data-field=date]:not([hidden])) [data-field=timing] { grid-column:auto; }
}
@media(max-width:600px) {
 .host-dialog-top > div { display:block; }
 .host-dialog [data-step="2"] .form-fields { grid-template-columns:1fr; }
 .host-dialog [data-step="2"] :is([data-field=people],[data-field=intent],[data-field=honoree]) { grid-column:1; grid-row:auto; }
}
