.group-page{--group-line:var(--line);background:var(--cream);padding-bottom:0}
.group-page [hidden]{display:none!important}.group-shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.preview-note{background:var(--petrol-dark);color:var(--cream);padding:10px 24px;display:flex;justify-content:center;gap:12px 22px;flex-wrap:wrap;font-size:12px;line-height:1.5}.preview-note a{text-decoration:underline;text-underline-offset:3px}.group-header{height:108px;display:flex;align-items:center;justify-content:space-between}.group-header img{width:148px}.back-link{font-size:14px;font-weight:600}.group-intro{padding:38px 0 42px;max-width:900px}.group-intro .eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:16px}.group-intro h1{font-size:clamp(40px,5.3vw,68px);line-height:.99;letter-spacing:-.045em;font-weight:650;margin-bottom:22px}.group-intro>p:last-child{font-size:17px;max-width:730px;line-height:1.7;margin:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.booking-panel{border:1px solid var(--group-line);border-radius:20px;background:var(--cream);overflow:hidden}.stepper{list-style:none;display:flex;margin:0;padding:25px 30px;border-bottom:1px solid var(--group-line);gap:24px;background:var(--cream)}.stepper li{display:flex;align-items:center;gap:8px;color:var(--petrol);font-size:12px;font-weight:600}.stepper li span{display:grid;place-items:center;border:1px solid var(--petrol);border-radius:50%;width:25px;height:25px;flex-shrink:0}.stepper [aria-current]{color:var(--petrol)}.stepper [aria-current] span{background:var(--petrol);color:white;border-color:var(--petrol)}.form-step{padding:32px}.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:12px;color:var(--petrol)}.group-page h2{font-size:32px;line-height:1.08;letter-spacing:-.025em;font-weight:600;margin-bottom:12px}.group-page h3{font-size:22px;line-height:1.2;letter-spacing:-.02em;font-weight:600}.muted,.group-page small{color:var(--petrol)}.form-step>.muted{font-size:14px;margin-bottom:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.group-page label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px;min-width:0}.group-page input:not([type=checkbox]),.group-page textarea,.group-page select{width:100%;min-width:0;min-height:50px;padding:12px 13px;border:1px solid var(--petrol);border-radius:8px;background:var(--cream);color:var(--petrol-dark);font:inherit;font-weight:400;color-scheme:light}.group-page textarea{resize:vertical}.group-page small{font-size:12px;font-weight:400;line-height:1.5}.group-page input::placeholder,.group-page textarea::placeholder{color:var(--petrol)}.group-page :focus-visible{outline:3px solid var(--terracotta-dark);outline-offset:4px}.group-page h2:focus{outline:none}.times-block{margin-top:28px;padding:22px;border-radius:12px;background:var(--cream)}.times-block .field-grid{gap:18px}.time-label{font-size:11px;text-transform:uppercase;letter-spacing:.045em}.field-question{font-size:14px;min-height:42px;display:flex;align-items:center}.times-block input{font-size:23px!important;font-weight:600!important}.times-block p{font-size:12px;line-height:1.6;margin:15px 0 0;color:var(--petrol)}.form-actions{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.form-actions>.muted{font-size:12px;max-width:130px}.group-page .button{min-height:48px;padding:13px 20px;font-size:13px;border-radius:8px;gap:12px;white-space:normal;text-align:center}.group-page .text-button{padding:10px 0;background:none;border:0;color:var(--petrol);font:inherit;font-size:13px;cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:4px}.booking-aside{border-radius:20px;background:var(--yellow);overflow:hidden;position:sticky;top:24px}.interior-photo{width:100%;height:180px;object-fit:cover}.aside-copy{padding:26px}.aside-copy .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:14px}.aside-copy h2{font-size:33px;margin-bottom:25px}.live-summary{margin:0}.live-summary>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--petrol);font-size:12px}.live-summary dt{max-width:55%}.live-summary dd{margin:0;font-weight:700;text-align:right}.live-summary .service-summary{font-size:14px}.aside-footnote{font-size:11px;line-height:1.7;margin:16px 0 0}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin:70px 0 64px;padding-top:32px;border-top:1px solid var(--group-line)}.how-it-works span{font-family:'League Spartan',sans-serif;font-size:28px;color:var(--terracotta-dark)}.how-it-works h3{font-size:21px;margin:14px 0 10px}.how-it-works p{font-size:13px;color:var(--petrol);margin:0}.group-footer{border-top:1px solid var(--group-line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;flex-wrap:wrap}.group-footer nav{display:flex;gap:22px}.group-footer a{text-decoration:underline;text-underline-offset:3px}.menu-pending{background:var(--yellow);border-left:3px solid var(--terracotta);padding:22px;margin:24px 0}.mini-badge{font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--terracotta-text)}.menu-pending h3{margin:12px 0}.menu-pending p{font-size:13px;margin:0 0 10px}.menu-pending p:last-child{margin:0}.contact-section{margin-top:30px;padding-top:26px;border-top:1px solid var(--group-line)}.contact-section>.field-grid{margin-bottom:20px}.optional{font-weight:400;font-size:12px}.notice{padding:16px 18px;background:var(--yellow);border-radius:8px;font-size:13px;line-height:1.6}.check-label{flex-direction:row!important;align-items:flex-start;font-size:13px!important;font-weight:400!important;line-height:1.6;gap:12px!important}.check-label input{width:20px;height:20px;flex-shrink:0;accent-color:var(--petrol);margin-top:2px}.review-list{margin:25px 0}.review-list>div{padding:13px 0;border-bottom:1px solid var(--group-line);display:grid;grid-template-columns:40% minmax(0,1fr);gap:16px;font-size:14px}.review-list dt{color:var(--petrol)}.review-list dd{margin:0;font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}.review-list .important{background:var(--yellow);margin:12px -12px;padding:18px 12px;border-radius:8px;font-size:16px;border:0}.form-error{color:var(--terracotta-dark);background:var(--cream);padding:14px;border-radius:8px;font-size:14px}.success-panel{max-width:760px;margin:0 auto 50px;padding:45px;background:var(--cream);border:1px solid var(--group-line);border-radius:20px}.success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--yellow);font-size:28px;margin-bottom:22px}.success-panel>p{font-size:14px}.success-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:25px}
/* The host surface is a local-only prototype, served from tools rather than the public website. */
.host-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:30px 0}.host-intro h1{font-size:48px;line-height:1;letter-spacing:-.035em;margin-bottom:10px}.host-intro p{margin-bottom:0}.host-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--group-line)}.host-toolbar label{max-width:240px;flex:1}.host-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:60px}.request-list{display:grid;gap:12px}.request-card{padding:19px;text-align:left;width:100%;border:1px solid var(--group-line);border-radius:12px;background:var(--cream);color:var(--petrol);font:inherit;cursor:pointer}.request-card[aria-current=true]{border:2px solid var(--petrol);padding:18px;background:var(--cream)}.request-card strong{display:block;font-size:16px;margin:10px 0 3px;overflow-wrap:anywhere}.request-card p{font-size:12px;margin:4px 0}.status-badge{display:inline-block;background:var(--yellow);padding:4px 9px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-confirmed{background:var(--yellow)}.status-declined{background:var(--yellow)}.status-proposed{background:var(--cream)}.host-detail{padding:32px;background:var(--cream);border:1px solid var(--group-line);border-radius:16px;min-width:0}.host-detail h2{overflow-wrap:anywhere}.host-detail .eyebrow{font-size:11px}.service-ticket{padding:24px;background:var(--yellow);border-radius:10px;margin:22px 0}.service-ticket p{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0}.service-ticket strong{font-family:'League Spartan',sans-serif;font-size:48px;line-height:1.1;display:block;margin-top:10px}.service-ticket small{color:var(--petrol);display:block;margin-top:6px}.host-detail label{margin-bottom:18px}.host-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.host-actions .secondary-button{background:var(--cream);color:var(--petrol);border:1px solid var(--petrol)}.mail-preview{border-top:1px solid var(--group-line);margin-top:24px;padding-top:24px}.mail-preview h3{font-size:20px}.mail-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.8;padding:22px;background:var(--cream);border-radius:8px}.empty-state{padding:28px;background:var(--cream);border-radius:12px;font-size:14px}.host-footer{margin:18px 0;font-size:12px;color:var(--petrol)}.history{font-size:12px;padding-left:18px}.print-only{display:none}

@media(max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:22px}.form-step{padding:24px}.stepper{padding:22px 20px;gap:15px}.stepper li{font-size:11px}.times-block{padding:18px}.aside-copy{padding:22px}.host-grid{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){.group-shell{width:calc(100% - 36px)}.preview-note{padding:9px 18px;gap:3px 10px;justify-content:flex-start;font-size:10px}.preview-note span{flex-basis:100%}.preview-note a{position:absolute;right:18px}.group-header{height:88px}.group-header img{width:125px}.back-link{font-size:12px}.group-intro{padding:24px 0 30px}.group-intro h1{font-size:43px}.group-intro>p:last-child{font-size:14px}.desktop-break{display:none}.booking-layout{grid-template-columns:1fr;gap:24px}.booking-aside{position:static;display:none}.form-step{padding:24px 20px}.stepper{padding:20px 16px;gap:10px;justify-content:space-between}.stepper li{font-size:10px;gap:6px}.stepper li span{width:23px;height:23px}.group-page h2{font-size:29px}.field-grid{gap:14px}.group-page label{font-size:13px}.times-block{padding:17px 13px;margin-inline:-5px}.time-label{font-size:10px;min-height:30px}.field-question{font-size:12px;min-height:38px}.times-block input{font-size:20px!important;padding:10px!important}.form-actions{margin-top:25px}.form-actions>.muted{max-width:none;width:100%;order:2;font-size:11px;text-align:center}.form-actions .button{flex:1}.how-it-works{grid-template-columns:1fr;gap:25px;margin:38px 0;padding-top:28px}.how-it-works>div{position:relative;padding-left:46px}.how-it-works span{position:absolute;left:0;top:0;font-size:25px}.how-it-works h3{margin:0 0 7px;font-size:20px}.group-footer{font-size:11px}.menu-pending{padding:18px}.contact-section .field-grid{grid-template-columns:1fr}.success-panel{padding:28px 22px}.review-list>div{font-size:13px;grid-template-columns:38% minmax(0,1fr);gap:12px}.host-intro{align-items:start;flex-direction:column;padding-top:20px}.host-intro h1{font-size:38px}.host-grid{grid-template-columns:1fr;gap:20px}.host-toolbar{align-items:flex-end}.host-detail{padding:24px 20px}.request-list{grid-template-columns:1fr}.service-ticket strong{font-size:43px}.host-actions .button{flex:1}.host-toolbar .text-button{font-size:11px}.host-intro .button{align-self:stretch}.host-page .group-header{height:76px}}
@media(prefers-reduced-motion:reduce){.group-page,.group-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.group-page{background:white;color:#000;font-size:12pt}.preview-note,.group-header,.host-intro,.host-toolbar,.request-list,.host-actions,.mail-preview,.host-footer,.group-footer,.host-detail>label,.host-detail>.notice,.history,.host-detail>h3,.host-detail>.eyebrow,.host-detail>.status-badge{display:none!important}.host-grid{display:block;margin:0}.group-shell{width:100%}.host-detail{border:0;padding:0}.service-ticket{border:3px solid black;background:white;break-inside:avoid}.service-ticket strong{font-size:48pt}.review-list>div{break-inside:avoid}.print-only{display:block;border:2px solid black;padding:12px;font-weight:700}.host-detail>h2{font-size:26pt}}

@media print{.skip-link,#host-status,#host-error{display:none!important}.review-list>div:nth-child(n+7){display:none}}
