/* Veranda Village: expanded galleries, programme and event estimate. */
textarea{font:inherit;color:inherit}textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.header nav{gap:22px}.eyebrow{font-size:.8rem}.field-hint{font-size:.875rem}.preview-note{font-size:.875rem}
.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 28px}.zone-cover{position:relative}.zone-cover img{width:100%;height:370px;object-fit:cover}.zone-count{position:absolute;right:15px;bottom:15px;background:var(--paper);padding:7px 12px;font-size:.875rem}.zone-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px}.zone-heading h3{font:2rem var(--serif)}.zone-heading>span{font-size:.875rem;color:var(--muted)}.zone-card>p{margin-top:12px;color:var(--muted);max-width:520px}.zone-previews{display:flex;gap:8px;margin-top:18px}.zone-previews button{width:84px;height:65px;padding:0;border:0;background:var(--line)}.zone-previews img{width:100%;height:100%}.zone-previews .zone-open{width:auto;height:65px;padding:0 15px;background:transparent;border:1px solid var(--line);font-size:.875rem}
.equipment-note{display:flex;gap:24px;align-items:center;margin-top:48px;border:1px solid var(--line);padding:28px 32px}.equipment-symbol{font:2rem var(--serif)}.equipment-note h3{font-size:1.125rem;font-weight:500}.equipment-note p{color:var(--muted);margin-top:7px;max-width:740px}.equipment-price{margin-left:auto;white-space:nowrap;font-size:.875rem}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.portfolio-grid img{height:430px;width:100%}.portfolio-grid figure:nth-child(3n+2){padding-top:64px}.portfolio-grid figcaption{font-size:.875rem;margin-top:14px}.portfolio-grid small{display:block;color:var(--muted);margin-top:4px;font-size:.875rem}
.video-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.video-gallery video{width:100%;height:420px;object-fit:contain;background:#1c3027;display:block}.video-gallery h3{font:1.6rem var(--serif);margin-top:18px}.video-gallery p{font-size:.94rem;color:var(--muted);margin-top:8px}
.booking-choice{padding:38px;background:#ebeee5;align-self:center}.booking-choice h3{font:2.3rem/1.2 var(--serif);margin-top:18px}.booking-choice>p:not(.eyebrow){margin-top:20px}.booking-choice .button{margin-top:28px}.included-list{padding-left:19px;margin:28px 0}.included-list li{margin:12px 0;font-size:.94rem}
.agenda{background:var(--ink);color:var(--paper)}.agenda .section-aside{color:#d7ded2}.agenda-status{color:#d7ded2;font-size:.94rem;margin-bottom:28px;max-width:750px}.agenda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.agenda-card{border:1px solid #788474;padding:22px;display:flex;flex-direction:column}.agenda-card img{width:100%;height:230px;margin-bottom:22px;object-fit:cover}.agenda-date{font-size:.875rem;color:#e0c8a5}.agenda-card h3{font:1.9rem/1.2 var(--serif);margin-top:13px}.agenda-card p{color:#d7ded2;margin-top:15px;font-size:.94rem}.agenda-card .agenda-price{margin-top:22px;color:var(--paper);font-size:1.125rem}.agenda-card .button{margin-top:24px;width:100%}.agenda-card .agenda-copy{flex:1}.event-badge{font-size:.8rem;border:1px solid #95a38f;width:fit-content;padding:3px 8px;margin-bottom:14px}
.event-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:45px}.event-builder legend{font:1.65rem var(--serif);margin-bottom:0}.event-options .form-row{margin-top:20px}.event-builder label{font-size:.94rem}.event-builder input,.event-builder select,.event-builder textarea{min-width:0}.service-picker{margin-top:35px}.service-option{display:flex;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer}.service-option>input{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0}.service-option>span{display:flex;flex-direction:column;gap:5px}.service-option strong{font-weight:500}.service-option small{font-size:.875rem;color:var(--muted)}.service-option b{font-weight:400;margin-left:auto;white-space:nowrap;font-size:.94rem}.service-details{padding:18px 20px;background:#ecefe6}.service-details label{display:flex;flex-direction:column;gap:8px}.service-details select{border:1px solid #bdc8b6;padding:12px;background:var(--paper);min-height:48px}.service-details .form-row{margin-top:0}.event-estimate{background:#eeeee5;border:1px solid var(--line);padding:30px;position:sticky;top:24px;align-self:start}.event-estimate h3{font:2rem var(--serif);margin-top:16px}.event-estimate .price-line{margin-bottom:15px}.event-estimate .price-line>span:last-child{white-space:nowrap}.event-total{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:22px}.event-total output{font:2.5rem var(--serif);letter-spacing:-.04em}.event-total span{font-size:.94rem}.event-estimate .button{margin-top:24px;width:100%}.event-contact{grid-column:1/-1;max-width:850px;border-top:1px solid var(--line);padding-top:38px;scroll-margin-top:30px}.event-contact h3{font:2rem var(--serif);margin-bottom:12px}.event-contact>p{color:var(--muted)}.draft-note{border-left:2px solid var(--accent);padding-left:15px;font-size:.875rem;margin-top:20px}.message-field{display:flex;flex-direction:column;gap:9px;margin-top:22px}.message-field textarea{width:100%;border:1px solid #cbd2c4;background:transparent;padding:14px;resize:vertical}.consent-row{display:flex;gap:13px;align-items:flex-start;margin:24px 0}.consent-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink);margin-top:4px}.consent-row span{font-size:.875rem}.consent-row a{text-decoration:underline;text-underline-offset:3px}.request-preview{margin-top:30px;padding:26px;background:#eeeee5}.request-preview h4{margin:0 0 14px;font:1.7rem var(--serif)}.request-preview pre{font:1rem/1.7 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.request-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.request-preview [role=status]{font-size:.875rem;margin-top:12px}.button:disabled{background:#dfe4d9;color:#53624d;cursor:not-allowed;transform:none}.request-actions .button{font-size:.875rem}
.social-links{display:flex;gap:25px;margin-top:30px;font-size:.94rem}.social-links a{text-decoration:underline;text-underline-offset:6px}.legal-links{display:flex;gap:16px 28px;flex-wrap:wrap;margin-top:30px;font-size:.875rem}.legal-links a{text-decoration:underline;text-underline-offset:4px}.social-notes{margin-top:28px;font-size:.875rem;color:var(--muted)}.social-notes p+p{margin-top:12px}.footer-bottom{font-size:.875rem}
#lightbox{width:min(1060px,94vw);max-height:94vh;padding:25px}#lightbox h2{font-size:1.8rem;margin:0}.gallery-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:45px;margin-bottom:20px}.gallery-title>span{font-size:.875rem}.gallery-controls{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:14px}.gallery-controls button{border:1px solid var(--line);background:transparent;width:48px;height:44px;flex-shrink:0}.gallery-controls p{font-size:.94rem;text-align:center;margin:0!important}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:20px;padding:4px}.gallery-thumbs button{padding:0;border:2px solid transparent;flex-shrink:0;width:70px;height:60px;background:transparent}.gallery-thumbs [aria-current=true]{border-color:var(--accent)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}#lightbox-image{width:100%;height:58vh;object-fit:contain;background:#eeeee5;max-height:none}#ticket-dialog{width:min(600px,94vw);padding:38px;max-height:90vh}#ticket-title{font-size:2.4rem;margin:18px 0}#ticket-description{color:var(--muted);margin-bottom:24px}#ticket-form>label{display:flex;flex-direction:column;gap:8px;margin:20px 0;font-size:.94rem}#ticket-form select,#ticket-form input{background:transparent;border:1px solid #bdc8b6;padding:12px;min-height:48px;width:100%}#ticket-form .button{width:100%;margin-top:24px}#ticket-total{font-size:2rem}
.legal-main{max-width:900px;padding-block:55px 80px}.legal-main>h1{font:clamp(2.3rem,4vw,3.8rem)/1.15 var(--serif);letter-spacing:-.04em;margin:22px 0}.legal-main h2{font:1.65rem/1.3 var(--serif);letter-spacing:0;margin:32px 0 13px}.legal-main h3{font-size:1.125rem;margin:24px 0 10px}.legal-main p{margin:14px 0}.legal-main li{margin:10px 0}.legal-main a{text-decoration:underline;text-underline-offset:3px}.legal-draft{padding:20px 24px;border:1px solid #c8baa1;background:#f0e9dc;font-size:.94rem}.legal-todo{color:#8d3928;font-weight:500}.legal-doc-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0}.legal-doc-list a{border:1px solid var(--line);padding:22px;text-decoration:none}.legal-doc-list strong{display:block;font:1.4rem var(--serif);margin-bottom:9px}.legal-doc-list span{font-size:.94rem;color:var(--muted)}.legal-meta{font-size:.875rem;color:var(--muted)}.legal-main dl{display:grid;grid-template-columns:180px 1fr;gap:12px}.legal-main dd{margin:0;overflow-wrap:anywhere}.legal-main dt{color:var(--muted)}
@media(max-width:1100px){.header nav{gap:14px;font-size:.875rem}.zone-cover img{height:310px}.portfolio-grid img{height:340px}.video-gallery video{height:340px}.event-builder{gap:28px}.event-estimate{padding:24px}.event-total output{font-size:2.2rem}.agenda-card{padding:18px}.agenda-card img{height:190px}.agenda-card h3{font-size:1.65rem}}
@media(max-width:800px){.header nav{display:none}.zone-cover img{height:275px}.zone-heading{align-items:start;flex-direction:column;gap:8px}.zone-previews button{width:65px;height:55px}.zone-previews .zone-open{height:55px;padding-inline:10px}.equipment-note{padding:25px;gap:18px}.equipment-price{display:none}.portfolio-grid{grid-template-columns:1fr 1fr;gap:22px}.portfolio-grid figure:nth-child(3n+2){padding-top:0}.portfolio-grid figure:nth-child(even){padding-top:45px}.video-gallery{grid-template-columns:1fr 1fr;gap:22px}.agenda-grid{grid-template-columns:1fr 1fr}.event-builder{grid-template-columns:1fr}.event-estimate{position:static}.event-contact{max-width:none}.event-estimate .button{max-width:350px}.booking-choice{padding:30px}.legal-doc-list{grid-template-columns:1fr}.legal-main dl{grid-template-columns:1fr;gap:5px}.legal-main dd{margin-bottom:15px}}
@media(max-width:560px){.header-book{font-size:.875rem}.preview-note{font-size:.8rem}.hero h1{font-size:3.5rem}.eyebrow{font-size:.75rem}.zone-grid{grid-template-columns:1fr;gap:38px}.zone-cover img{height:320px}.zone-heading{flex-direction:row;align-items:center}.zone-heading h3{font-size:1.8rem}.zone-heading>span{font-size:.8rem;max-width:120px;text-align:right}.zone-previews button{width:70px;height:55px}.equipment-note{align-items:start;padding:22px;gap:15px;margin-top:35px}.equipment-symbol{display:none}.equipment-note p{font-size:.94rem}.portfolio-grid{gap:15px}.portfolio-grid img{height:250px}.portfolio-grid figure:nth-child(even){padding-top:35px}.portfolio-grid figcaption,.portfolio-grid small{font-size:.875rem}.video-gallery{grid-template-columns:1fr;gap:35px}.video-gallery video{height:460px}.booking-choice{padding:25px}.booking-choice h3{font-size:2rem}.agenda-grid{grid-template-columns:1fr}.agenda-card{padding:23px}.agenda-card img{height:270px}.agenda-card h3{font-size:2rem}.service-option{gap:10px;align-items:flex-start}.service-option input{margin-top:5px}.service-option b{font-size:.875rem}.service-option>span{flex:1}.service-option small{font-size:.875rem}.event-builder .form-row{grid-template-columns:1fr;gap:18px}.event-builder .form-row label{font-size:.94rem}.event-builder .field-hint{font-size:.875rem}.event-estimate .price-line{font-size:.875rem}.event-total output{font-size:2.3rem}.request-preview{padding:20px}.request-actions{display:grid}.request-actions .button{width:100%}.footer-top{align-items:center}.footer-top p{display:none}.legal-links{gap:15px 23px}.footer-bottom,.social-notes{font-size:.875rem}#lightbox{padding:16px}.gallery-title{padding-right:35px;gap:10px}#lightbox h2{font-size:1.5rem}.gallery-title>span{white-space:nowrap}#lightbox-image{height:48vh}.gallery-controls{gap:10px}.gallery-controls p{font-size:.875rem}#ticket-dialog{padding:28px 22px}.legal-main{padding-top:25px}.legal-draft{padding:18px}.legal-main>h1{font-size:2.45rem}}

@media(max-width:380px){.zone-previews button{width:58px;flex:1;min-width:0}.zone-previews .zone-open{flex:0 0 100px;padding-inline:5px}.hero h1{font-size:3rem}.service-option{flex-wrap:wrap}.service-option>span{flex-basis:70%}.service-option>b{margin-left:34px}}
.legal-header{flex-wrap:wrap}.legal-header .wordmark{margin-right:auto}
.agenda-demo{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:38px;padding:32px;background:#334a3c;border-color:#a6b399}.agenda-demo>img{grid-row:1/6;height:100%;max-height:470px;min-height:360px;margin:0}.agenda-demo .agenda-copy{align-self:start}.agenda-demo h3{font-size:2.7rem}.agenda-demo .event-badge{background:#e7dbc7;color:#263c31;border:0}.agenda-demo .button{align-self:end}.day-rate-label{display:flex;flex-direction:column;gap:8px;margin-top:20px}.day-rate-label select{width:100%;min-height:48px;background:transparent;border:1px solid #bdc8b6;padding:12px;color:inherit;font:inherit}.contact-email{margin-top:25px;overflow-wrap:anywhere}.contact-email a{text-decoration:underline;text-underline-offset:5px}.ticket-checkout h3,.ticket-confirmation h3{font:1.9rem var(--serif);margin:18px 0}.ticket-checkout p,.ticket-confirmation p{margin:16px 0}.ticket-checkout .button,.ticket-confirmation .button{width:100%;margin-top:20px}.ticket-checkout>.text-link{display:block;margin:20px auto 0;padding:8px;background:transparent;border:0;cursor:pointer}.ticket-checkout .total strong{font:2rem var(--serif)}.confirmation-mark{display:grid;place-items:center;border:1px solid #849679;border-radius:50%;width:48px;height:48px;font-size:1.6rem;margin-top:28px}.ticket-confirmation:focus{outline:none}
@media(max-width:800px){.agenda-demo{display:flex;padding:24px}.agenda-demo>img{height:320px;min-height:0;margin-bottom:24px}.agenda-demo h3{font-size:2.25rem}}

@media(max-width:800px){.header{flex-wrap:wrap;gap:20px}.header nav{display:flex;order:3;width:100%;max-width:100%;overflow-x:auto;gap:24px;white-space:nowrap;padding-bottom:4px}.header nav a{min-height:44px;font-size:.94rem}.header-book{margin-left:auto}}

.event-time-picker{margin-top:28px}.picker-top{display:flex;gap:16px;align-items:end;justify-content:space-between}.picker-top label{display:flex;flex-direction:column;gap:8px;flex:1}.picker-top input{min-height:48px;width:100%;padding:12px;border:1px solid var(--line);background:transparent;font:inherit}.picker-week{display:flex;gap:6px}.picker-week button{width:44px;height:48px;background:transparent;border:1px solid var(--line)}.event-time-picker .date-strip{margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.event-time-picker .date-button{min-height:48px;font-size:.8rem;padding:10px 4px}.event-time-picker .field-hint{margin:16px 0}.event-time-picker .timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.time-cell.technical{background:#e7d8bc;border:1px dashed #866b40}.legend-technical:before{background:#e7d8bc!important}.technical-options{margin-top:22px}.technical-options h4{font:1.4rem var(--serif)}.technical-options label{display:flex;flex-direction:column;gap:8px}.technical-options select{width:100%;padding:12px;min-height:48px;border:1px solid var(--line);background:transparent;color:inherit;font:inherit}.rate-details{margin-top:20px;font-size:.875rem}.rate-details summary{cursor:pointer}.event-time-picker .range-summary strong{font-size:1rem}.event-time-picker .range-summary{gap:10px}.event-time-picker .draft-note{margin-bottom:16px}.calendar-date-label{display:flex;flex-direction:column;gap:8px;margin:0 0 20px}.calendar-date-label input{padding:12px;background:transparent;border:1px solid var(--line);font:inherit;max-width:320px;min-height:48px}@media(max-width:560px){.event-time-picker .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.event-time-picker .date-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Media revision: keep the entire source frame on the opening photograph. */
.zone-card,.event-options,.event-builder fieldset{min-width:0}.portfolio-grid small{overflow-wrap:anywhere}
.hero-photo{background:transparent;height:auto;width:100%;max-width:362px;aspect-ratio:362/800;justify-self:center}.hero-photo>img{object-fit:contain;object-position:center;width:100%;height:100%}.hero-photo figcaption{background:linear-gradient(transparent,#16281fec);padding-inline:18px;gap:12px}.hero-photo figcaption span:first-child{max-width:170px;font-size:.62rem}
.window-stories{padding-top:20px}.window-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.window-gallery img{width:100%;height:350px;object-fit:cover}.window-gallery figcaption,.event-photo-gallery figcaption{margin-top:13px;font-size:.875rem}.window-gallery figure:nth-child(even){padding-top:40px}.portfolio-more{margin:38px auto 0;display:flex;justify-content:center}
.event-memories{margin-top:75px;padding-top:50px;border-top:1px solid #69766a}.event-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.event-photo-gallery img{width:100%;height:320px;object-fit:cover}.event-photo-gallery figcaption{color:#d6dfcf}.event-video-gallery{grid-template-columns:1fr 1fr;margin-top:45px}.event-video-gallery p{color:#d6dfcf}.event-video-gallery video{height:460px;background:#1b2b22}
@media(max-width:800px){.window-gallery{grid-template-columns:1fr 1fr}.event-photo-gallery{grid-template-columns:1fr 1fr}.window-gallery img{height:320px}.event-photo-gallery img{height:300px}}
@media(max-width:560px){.hero-photo{height:auto;aspect-ratio:362/800;align-self:center}.window-gallery{gap:15px}.window-gallery img{height:240px}.window-gallery figure:nth-child(even){padding-top:28px}.event-memories{margin-top:50px;padding-top:35px}.event-photo-gallery{gap:22px 15px}.event-photo-gallery img{height:220px}.event-video-gallery{grid-template-columns:1fr}.event-video-gallery video{height:440px}}
