/* Color follows the subject: a quiet reading surface, blue actions, a night invitation. */
:root { --page-background:#e9edf2; --card-background:#fff; }
body { background:var(--page-background); }
body main::before { background:var(--page-background); }
.home-card,.section-card { background:var(--card-background); border-color:#18202a14; }
.home-card.feature-blue,.section-card.feature-blue { background:#edf4fb; }
/* Paragraphs remain paragraphs; short sentences wrap together when space permits. */
:is(h1,h2,h3,p,figcaption) { word-break:keep-all; overflow-wrap:normal; }
p { text-wrap:pretty; }
.copy-phrase { display:inline-block; max-width:100%; white-space:normal; }
.event-hero-tagline,.event-home-tagline { text-wrap:balance; }
body[data-reading-page] { background:var(--page-background); }
body[data-reading-page] main { padding-bottom:0; }
.section-card.reading-surface { margin:0; border:0; background:#fff; overflow-anchor:none; }
.reading-surface > .section-card { margin:0; border:0; background:transparent; }
.reading-surface .category-rail { display:none; }
.reading-surface .reading-introduction { padding-block:clamp(72px,12svh,120px) 40px; }
.reading-surface .reading-introduction h1 { font-size:clamp(30px,3.5vw,48px); }
.reading-surface .page-information { background:#f6f7f9; }
.reading-surface .narrative-feature { border:0; }
.reading-surface .event-hero { padding-block:28px 48px; }
.reading-surface .contact-information { border-top:1px solid #18202a14; }
.reading-surface .contact-topic-grid { gap:32px; }
.reading-surface .contact-topic { background:transparent; }
body .site-footer { background:var(--page-background); }
body[data-page="index"] [data-home-invitation] { background:#fff; }
.home-discovery-grid .home-card { background:var(--card-background); }
.event-home-action { justify-content:center; margin-block:24px 20px; }
.event-home-action .button { font-size:16px; padding:12px 24px; }
.home-reservation-action { margin-block:12px 0; font-size:16px; }
.reading-art .founding-art { display:flex; flex-direction:column; align-items:center; gap:14px; color:#253648; }
.reading-art .founding-art span:first-child { font-size:clamp(54px,8vw,96px); font-weight:600; }
.reading-art .founding-art span:last-child { font-size:22px; }

.reading-scene { position:relative; padding:0; border:0; margin:0; width:100%; }
.reading-scene .reading-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(28px,5vw,76px); padding-block:48px; min-height:min(80svh,760px); height:auto; }
.reading-copy { min-width:0; width:100%; }
.reading-copy > :first-child { margin-top:0; }
.reading-copy .story-heading h2,.reading-copy h2 { font-size:clamp(26px,3vw,40px); line-height:1.25; text-wrap:balance; }
.reading-copy .detail-heading h1,.reading-copy h1 { font-size:clamp(30px,3.3vw,46px); line-height:1.22; text-wrap:balance; }
.reading-copy p { line-height:1.7; }
.reading-copy .story-copy { margin-top:20px; }
.reading-copy .intro,.reading-copy .story-copy p,.reading-copy .promo-subtitle { font-size:17px; }
.reading-copy .page-experience.content-width { width:100%; margin:0; padding:0; min-height:0; }
.reading-copy .experience-visual { display:none; }
.reading-copy .experience-controls { margin-block:16px; }
.reading-copy .experience-sample { margin:16px 0; padding:0; background:transparent; }
.reading-art { min-width:0; margin:0; width:100%; display:grid; place-items:center; }
.reading-art > svg,.reading-art > img { display:block; width:100%; max-width:620px; height:auto; max-height:480px; object-fit:contain; }
.reading-art [data-draw] { stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--draw-progress,1)); }
.reading-art .compact-scene-labels { display:none; }
.reading-art > [data-experience-art-key] { width:100%; }

.reading-art [hidden] { display:none!important; }
.reading-art .scene-context { transform:translateY(calc((1 - var(--scene-connect,1))*16px)); }
.reading-scene:nth-of-type(even) .reading-art { grid-column:1; grid-row:1; }
.reading-scene:nth-of-type(even) .reading-copy { grid-column:2; grid-row:1; }
.reading-scene.is-reading-pinned { min-height:calc(var(--reading-height) + var(--reading-travel)); }
.reading-scene.is-reading-pinned .reading-stage { position:sticky; top:var(--reading-top); min-height:0; height:var(--reading-height); padding-block:20px; }
.is-reading-pinned .reading-art { transform:translateY(calc((.5 - var(--reading-progress,0))*24px)) scale(calc(.94 + var(--reading-progress,0)*.06)); }
.reading-scene[data-reading-intro] .reading-art { transform:none; }
.reading-scene:is(#information,#continue-exploring) .reading-stage { min-height:0; padding-block:64px; }
/* Purposeful emphasis: the company's people story and the experience's shared context. */
body[data-page="company"] #company.reading-scene { background:#f3f7fb; }
.reading-art .company-people-art text { fill:#253648; font-size:28px; font-weight:600; }
.reading-art .company-people-art path { fill:none; stroke:#3576bb; stroke-width:3; }
.reading-copy .narrative-copy { padding:0; }
.reading-copy .hero-message { max-width:none; }
.reading-surface .event-information { min-height:0; padding-block:64px; }
html:has(body[data-reading-page]) { scroll-behavior:auto; scroll-padding-top:0; }
body[data-reading-page] [id] { scroll-margin-top:92px; }

/* Width decides composition; height determines whether both text and art fit. */
@media(max-width:759px) {
 .reading-scene .reading-stage { grid-template-columns:1fr; gap:24px; padding-block:40px; min-height:0; }
 .reading-scene .reading-copy,.reading-scene .reading-art,
 .reading-scene:nth-of-type(even) .reading-copy,.reading-scene:nth-of-type(even) .reading-art { grid-column:1; grid-row:auto; }
 .reading-copy .detail-heading h1,.reading-copy h1 { font-size:30px; }
 .reading-copy .story-heading h2,.reading-copy h2 { font-size:28px; }
 .reading-copy .intro,.reading-copy .story-copy p,.reading-copy .promo-subtitle { font-size:16px; }
 .reading-art > svg,.reading-art > img { width:auto; max-width:100%; height:clamp(120px,25svh,220px); }
 .reading-art svg { max-height:220px; }
 .reading-brand-mark { width:min(100%,25svh,220px); }
 .reading-scene.is-reading-pinned .reading-stage { gap:16px; padding-block:16px; align-content:center; }
 .reading-copy .experience-header h2 { font-size:26px; }
 .reading-surface .contact-topic-grid { grid-template-columns:1fr; }
 body[data-reading-page] [id] { scroll-margin-top:76px; }
}
@media(min-width:760px) and (max-height:600px) {
 .reading-scene .reading-stage { padding-block:28px; }
 .reading-art > svg,.reading-art > img { max-height:calc(100svh - 160px); }
}
@media(prefers-reduced-motion:reduce) {
 .reading-scene.is-reading-pinned { min-height:0; }
 .reading-scene.is-reading-pinned .reading-stage { position:static; height:auto; }
 .reading-art,.reading-art .scene-context { transform:none!important; }
 .reading-art [data-draw] { stroke-dashoffset:0; }
 .reading-brand-mark span { animation:none; }
}

/* Invitation dimensions also respect short laptop and landscape phone screens. */
@media(max-height:860px) and (min-width:760px) {
 .event-invitation-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; padding:32px 40px; gap:16px 40px; text-align:left; }
 .event-invitation-card .event-invitation-heading { grid-column:1; grid-row:1; }
 .event-invitation-card .event-hero-art { grid-column:2; grid-row:1 / 4; width:min(100%,360px,calc((100svh - 200px)*1.13)); margin:0; justify-self:center; }
 .event-invitation-card .event-hero-tagline { grid-column:1; grid-row:2; }
}
@media(max-width:759px) {
 .event-invitation-card { min-height:0; padding-inline:20px; padding-block:76px 28px; gap:16px; }
 .event-invitation-card .event-hero-art { width:clamp(160px,calc((100svh - 490px)*1.13),340px); max-width:100%; margin-block:0; }
 .event-invitation-card .event-hero-tagline { font-size:clamp(23px,5.8vw,30px); line-height:1.35; }
 .event-invitation-heading h1 { font-size:clamp(30px,7vw,40px); }
 .event-invitation-date { font-size:16px; }
 .home-discovery-card,.home-explore-inner { min-height:0; height:auto; }
 body[data-page="index"] .brand-introduction { min-height:0; padding-block:56px; }
 .home-card .narrative-feature,.home-explore-inner { min-height:0; padding-block:48px; }
}
@media(max-width:759px) and (max-height:500px) {
 .event-invitation-card .event-hero-art { width:min(100%,220px); }
}
@media(min-width:760px) and (max-height:600px) {
 body[data-page="index"] .brand-introduction { min-height:0; padding-block:48px; }
 .home-card .narrative-feature,.home-explore-inner { min-height:0; padding-block:40px; }
}
/* Confirmed investment and partnership contact choices. */
@media(min-width:701px){.contact-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
