.corporate-page{--inner-content-width:min(84%,88rem);background:var(--light);color:var(--dark)}
.corporate-page .wrap{width:var(--inner-content-width);margin-inline:auto}
.corporate-page figure{margin:0}
.corporate-page #approved-content img{display:block;width:100%;object-fit:cover}
.corporate-page :where(#approved-content) p{font-family:var(--sans);font-size:var(--body-size);font-weight:400;line-height:1.8;text-wrap:pretty;margin:0}
.corporate-page :where(#approved-content) p+p{margin-top:1.25rem}
.corporate-page h1,.corporate-page h2,.corporate-page h3{font-family:var(--serif);font-weight:400;color:var(--dark);text-wrap:balance}
.corporate-page h1{font-size:clamp(2rem,3vw,3rem);line-height:1.25;letter-spacing:.04em;margin:0 0 2rem}
.corporate-page h2{font-size:clamp(1.8rem,2.6vw,2.65rem);line-height:1.25;letter-spacing:-.02em;margin:0 0 1.8rem}
.corporate-page h3{font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.35;margin:0 0 1.3rem}
.corporate-page h4{font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;font-weight:500;margin:2rem 0 .8rem}
.corporate-page .lead{font-family:var(--serif);font-size:clamp(1.3rem,1.7vw,1.75rem);line-height:1.5;margin-bottom:1.5rem}
.corporate-page .site-cta{margin-top:2rem;align-self:start;justify-self:start}
.corporate-page a:focus-visible,.corporate-page button:focus-visible{outline:2px solid var(--dark);outline-offset:5px}
.opening-photo{width:100%;overflow:hidden;height:clamp(20rem,40vw,36rem)}
.opening-photo img{height:100%;object-position:50% 43%}
.corporate-page .hero{padding-block:4.5rem 5.5rem;text-align:center;max-width:60rem}
.corporate-page .hero p{max-width:51rem;margin-inline:auto}
.corporate-page .hero .site-cta{margin-top:2.5rem}
.corporate-page .split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,7vw,7rem)}
.corporate-page .intro{padding-block:4.5rem 5.5rem;border-top:1px solid var(--pale-stone)}
.corporate-page .events{padding-block:3.5rem 5.5rem}
.section-intro{max-width:49rem;margin-bottom:3.5rem}
.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
.categories article{border-top:1px solid var(--pale-stone);padding-top:1.8rem;display:flex;flex-direction:column}
.categories h3{min-height:2.7em}
.categories p{flex:1}
.categories ul{list-style:none;padding:0;margin:0;font-size:var(--body-size);line-height:1.95;font-family:var(--sans)}
.corporate-page .care{padding-block:4.5rem 5.5rem;border-top:1px solid var(--pale-stone)}
.care-opening{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,7vw,7rem);align-items:center;margin-bottom:4rem}
.care-opening figure{max-width:28rem;width:100%;justify-self:end;aspect-ratio:4/5;overflow:hidden}
.care-opening img{height:100%;object-position:50% 58%}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.7rem 5rem}
.services article{border-top:1px solid var(--pale-stone);padding-top:1.6rem}
.after{max-width:46rem;margin-top:3.5rem}
.corporate-page .ways{border-top:1px solid var(--pale-stone);padding-block:4.5rem 5.5rem}
.models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 5rem}
.models article{border-top:1px solid var(--pale-stone);padding-top:1.6rem}
.models article:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(3rem,7vw,7rem)}
.models article:last-child h3{grid-row:1/4}
.models article:last-child p+p{margin-top:1.25rem}
.corporate-page .quiet{border-top:1px solid var(--pale-stone);padding-block:4.5rem 5rem}
.corporate-page .why{border:0;padding-block:4.5rem 5rem;background:var(--pale-stone);box-shadow:0 0 0 100vmax var(--pale-stone);clip-path:inset(0 -100vmax)}
.corporate-page .fireworks{overflow:hidden;height:clamp(20rem,35vw,32rem);margin-top:1rem}
.fireworks img{height:100%;object-position:50% 50%}
.corporate-page .closing{padding-block:4.5rem 5.5rem;text-align:center;max-width:45rem;background:var(--light)}

@media(min-width:1500px){.corporate-page :where(#approved-content) p,.categories ul{font-size:.95rem}}
@media(max-width:900px){
.corporate-page{--inner-content-width:calc(100% - 3.75rem)}
.categories{gap:1.8rem}.categories h3{font-size:1.25rem}
.corporate-page .split,.care-opening,.models article:last-child{gap:2.5rem}
.services,.models{column-gap:2.5rem}
}
@media(max-width:700px){
.corporate-page .split,.categories,.care-opening,.services,.models,.models article:last-child{grid-template-columns:1fr}
.corporate-page .hero{padding-block:2.75rem 3.5rem}
.corporate-page h1{font-size:1.85rem;letter-spacing:.025em}
.corporate-page h2{font-size:1.75rem}.corporate-page h3{font-size:1.35rem}
.corporate-page .intro,.corporate-page .events,.corporate-page .care,.corporate-page .ways,.corporate-page .quiet,.corporate-page .why,.corporate-page .closing{padding-block:3rem 3.5rem}
.corporate-page .split{gap:.5rem}
.section-intro{margin-bottom:2.5rem}
.categories{gap:2.6rem}.categories h3{min-height:0}.categories h4{margin-top:1.5rem}
.care-opening{gap:2rem;margin-bottom:2.5rem}.care-opening figure{max-width:none;aspect-ratio:4/5}
.services,.models{gap:2.3rem}
.models article:last-child{display:block;grid-column:auto}.models article:last-child h3{grid-row:auto}
.after{margin-top:2.5rem}
.opening-photo{height:clamp(18rem,80vw,25rem)}.opening-photo img{object-position:52% 45%}
.corporate-page .fireworks{height:17rem}
.corporate-page .site-footer__mark img,.corporate-page .wordmark{object-fit:contain}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Service headings open their approved descriptions with native accessible controls. */
.services{align-items:start}
.service-disclosure{border-top:1px solid var(--pale-stone);padding-top:1.6rem}
.service-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;cursor:pointer;list-style:none;padding-bottom:1.6rem;min-height:3rem}
.service-disclosure summary::-webkit-details-marker{display:none}
.service-disclosure summary::marker{content:""}
.corporate-page .service-disclosure summary h3{margin:0;flex:1}
.service-disclosure summary:focus-visible{outline:2px solid var(--dark);outline-offset:6px}
.disclosure-icon{position:relative;display:block;width:1rem;height:1rem;flex:0 0 1rem;color:var(--dark)}
.disclosure-icon:before,.disclosure-icon:after{position:absolute;content:"";background:currentColor;left:0;top:calc(50% - .5px);width:100%;height:1px}
.disclosure-icon:after{transform:rotate(90deg)}
.service-disclosure[open] .disclosure-icon:after{transform:rotate(0)}
.disclosure-body{padding-bottom:.5rem}
.after .service-disclosure{padding-top:1.6rem}
/* One shared event list follows the three category descriptions. */
.categories article{display:block}
.event-list{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--pale-stone)}
.corporate-page .event-list h3{font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;font-weight:500;margin:0 0 1.25rem}
.event-list ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;column-gap:2rem;row-gap:.6rem;font-family:var(--sans);font-size:var(--body-size);line-height:1.8}
.event-list li{position:relative;padding-left:.9rem}
.event-list li:before{position:absolute;left:0;top:.8em;content:"";width:3px;height:3px;border-radius:50%;background:var(--dark)}
@media(max-width:700px){.event-list{margin-top:2.5rem}.event-list ul{column-gap:1.4rem;row-gap:.65rem}}
/* Review refinements: broader opening copy and tighter introduction spacing. */
.corporate-page .hero{max-width:none}
.corporate-page .hero p{max-width:none}
.corporate-page .intro{padding-bottom:1.75rem}
.corporate-page .events{padding-top:2rem}
.corporate-page .event-list{text-align:center}
.event-list ul{justify-content:center;column-gap:1.75rem;row-gap:.65rem;list-style:none}
.event-list li{padding-left:0;white-space:nowrap}
.event-list li:before{content:none}
.event-list li:after{content:"·";position:absolute;right:-1rem;top:0;color:var(--dark)}
.event-list li:last-child:after,.event-list li[data-row-end="true"]:after{content:none}
@media(max-width:700px){
.corporate-page .intro{padding-bottom:1.25rem}
.corporate-page .events{padding-top:1.5rem}
.event-list ul{column-gap:1.75rem}
.event-list li{max-width:100%;white-space:normal}
}
/* Refined event separators and left-aligned founder link. */
.event-list li:after{font-size:1.2em;font-weight:700;line-height:1.5}
.corporate-page .why .site-cta{margin-left:0!important;margin-right:auto!important;text-align:left;justify-content:flex-start;width:fit-content}
/* Mobile review: carry the approved presentation through phone layouts. */
@media(max-width:700px){
.corporate-page .hero p{width:100%;max-width:none}
.corporate-page .event-list,.corporate-page .event-list h3,.corporate-page .event-list li{text-align:center}
.corporate-page .event-list ul{justify-content:center;list-style:none}
.corporate-page .event-list li:after{font-size:1.2em;font-weight:700}
.corporate-page .why .site-cta{margin-inline:0!important;text-align:left!important;justify-content:flex-start}
.corporate-page .service-disclosure summary{min-height:44px;gap:1rem}
.corporate-page .service-disclosure summary h3{min-width:0}
}
/* Consistent editorial rows for each way to work together. */
.corporate-page .ways .models{display:block}
.corporate-page .ways .models article,.corporate-page .ways .models article:last-child{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);padding:2rem 0;border-top:1px solid var(--pale-stone);align-items:start}
.corporate-page .ways .models article h3,.corporate-page .ways .models article:last-child h3{grid-row:auto;margin:0}
.corporate-page .ways .model-copy{max-width:44rem}
.corporate-page .ways .models article:last-child{padding-bottom:.5rem}
@media(max-width:700px){
.corporate-page .ways .models article,.corporate-page .ways .models article:last-child{grid-template-columns:1fr;gap:1rem;padding:1.75rem 0}
.corporate-page .ways .models article:last-child{padding-bottom:0}
}
/* Centre the events introduction and give its shared list a calmer editorial rhythm. */
.corporate-page .events>.section-intro{max-width:64rem;margin-inline:auto;text-align:center}
.corporate-page .events>.section-intro h2{max-width:27ch;margin-inline:auto}
.corporate-page .events>.section-intro p{max-width:52rem;margin-inline:auto}
.corporate-page .event-list{max-width:64rem;margin-inline:auto;padding-top:1.75rem}
.corporate-page .event-list h3{font-size:.75rem;letter-spacing:.12em;margin-bottom:1.5rem}
.event-list ul{font-size:.9rem;line-height:2;column-gap:2rem;row-gap:.7rem}
.event-list li:after{right:-1.15rem;line-height:1.67}
/* Keep all seven service points immediately beneath the introduction. */
.corporate-page .care-opening{align-items:start;margin-bottom:0;gap:clamp(2.5rem,5vw,5rem)}
.corporate-page .care-opening>figure{max-width:none;aspect-ratio:3/4;margin-top:.3rem}
.corporate-page .compact-services{display:block;margin-top:2rem}
.corporate-page .compact-services .service-disclosure{padding-top:1.2rem}
.corporate-page .compact-services .service-disclosure summary{padding-bottom:1.2rem}
.corporate-page .compact-services .service-disclosure h3{font-size:clamp(1.1rem,1.35vw,1.35rem);line-height:1.4}
.corporate-page .compact-services .disclosure-body{padding-bottom:1.2rem}
@media(max-width:700px){
.corporate-page .events>.section-intro h2{max-width:none}
.corporate-page .event-list{padding-top:1.5rem}
.event-list ul{font-size:var(--body-size);column-gap:1.75rem;row-gap:.65rem}
.event-list li:after{right:-1rem;line-height:1.67}
.corporate-page .care-opening{gap:2rem}
.corporate-page .care-opening>figure{aspect-ratio:4/5;margin-top:0}
.corporate-page .compact-services{margin-top:1.75rem}
.corporate-page .compact-services .service-disclosure h3{font-size:1.2rem}
}
/* Final editorial headings and varied enquiry links. */
.corporate-page .events>.section-intro h2{max-width:none}
@media(min-width:901px){.corporate-page .events-heading-line{display:block;white-space:nowrap}}
.corporate-page .event-list .event-more{margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1rem;text-align:center}
.corporate-page .event-list>.site-cta{margin-top:1.75rem;margin-left:auto!important;margin-right:auto!important}
.corporate-page .ways>.site-cta{margin-left:0!important;margin-right:auto!important;text-align:left!important;justify-content:flex-start;width:fit-content}
/* Centre the tablescape against the complete service introduction and disclosures. */
@media(min-width:701px){
.corporate-page .care-opening>figure{align-self:center;margin-top:0}
}

@media(max-width:700px){
.corporate-page .events>.section-intro,.corporate-page .events>.section-intro h2,.corporate-page .events>.section-intro p{text-align:left;margin-inline:0}
}
/* More compact event list on phones, retaining all event names. */
@media(max-width:700px){
.corporate-page .event-list ul{font-size:.6875rem;line-height:1.85;column-gap:.8rem;row-gap:.4rem}
.corporate-page .event-list li:after{right:-.5rem;font-size:1.2em;line-height:1.54}
}

@media(max-width:720px){.opening-photo{height:clamp(18rem,80vw,25rem);}}

/* Guest experience and live entertainment, in an editorial photo sequence. */
.corporate-page .corporate-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin-top:0;margin-bottom:clamp(3rem,5vw,5rem);align-items:start;}
.corporate-page .corporate-gallery figure {position:relative;overflow:hidden;}
.corporate-page .corporate-gallery figure::after {content:"";position:absolute;inset:0;background:rgb(20 20 20 / 8%);pointer-events:none;}
.corporate-page .corporate-gallery figure:nth-child(2) {margin-top:2rem;}
.corporate-page #approved-content .corporate-gallery img {width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;filter:saturate(.9);}
@media(max-width:700px){.corporate-page .corporate-gallery{grid-template-columns:1fr;gap:1.25rem;margin-bottom:3rem;}.corporate-page .corporate-gallery figure:nth-child(2){margin-top:0;}}

.corporate-page .hero h2 {font-size:clamp(2rem,3vw,3rem);line-height:1.25;letter-spacing:.04em;margin:0 0 2rem;}
@media(max-width:700px){.corporate-page .hero h2{font-size:1.85rem;letter-spacing:.025em;}}

/* Full-width pale-stone event types, above the category introduction. */
.corporate-page .event-types-band{width:100%;background:var(--pale-stone);padding:clamp(2.5rem,4vw,4rem) clamp(1.875rem,4vw,4rem);}
.corporate-page .event-types-band .event-list{width:100%;max-width:none;margin:0;padding:0;border:0;}
.corporate-page .events-enquiry{margin-top:3rem;text-align:center;}
.corporate-page .events-enquiry>.site-cta{margin-top:1.75rem;margin-inline:auto!important;}
@media(max-width:700px){.corporate-page .events-enquiry{margin-top:2.5rem;}}

/* Editorial category layout: introduction left, stacked services and enquiry right. */
.corporate-page .events{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(3rem,6vw,6rem);row-gap:2rem;padding-top:clamp(3rem,5vw,5rem);align-items:start;}
.corporate-page .events>.section-intro{grid-column:1;grid-row:1 / 3;max-width:36rem;margin:0;text-align:left;}
.corporate-page .events>.section-intro h2,.corporate-page .events>.section-intro p{max-width:none;margin-inline:0;text-align:left;}
.corporate-page .events-heading-line{display:inline;white-space:normal;}
.corporate-page .events>.categories{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);gap:1.75rem;}
.corporate-page .events .categories article{padding-top:1.75rem;}
.corporate-page .events .categories article:first-child{border-top:0;padding-top:0;}
.corporate-page .events .categories h3{min-height:0;margin-bottom:.75rem;}
.corporate-page .events>.events-enquiry{grid-column:2;grid-row:2;margin:0;text-align:left;}
.corporate-page .events>.events-enquiry>.site-cta{margin:0!important;}
@media(max-width:900px){
.corporate-page .events{grid-template-columns:minmax(0,1fr);gap:2.5rem;}
.corporate-page .events>.section-intro,.corporate-page .events>.categories,.corporate-page .events>.events-enquiry{grid-column:1;grid-row:auto;}
.corporate-page .events>.section-intro{max-width:none;}
}

/* Keep the mobile invitation aligned with its reading column. */
@media (max-width: 700px) {
  .corporate-page .closing,
  .corporate-page .closing :is(h2, p, .site-cta) { text-align: left !important; text-align-last: left !important; }
  .corporate-page .closing .site-cta { margin-inline: 0 !important; }
}
