/* Sensory clarity and practical planning, using OBE's existing palette. */
.home-hero h1 { font-size:clamp(2.75rem,4.2vw,4.8rem); }
.home-hero h1 em { font-size:1em; }
.home-hero .hero-signature { max-width:30ch; font-size:1.05rem; color:#d9cce9; }
.hero-metric .metric-context { display:block; margin:0 0 8px; color:#e4ddeb; font-size:11px; line-height:1.4; }
.home-page .explain-band .explain-copy { max-width:83ch; }
.occasion-links { padding:0 5% 55px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; background:#fffdf6; }
.occasion-links>span { font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.occasion-links a { font-weight:600; text-underline-offset:5px; text-decoration:underline; padding-block:8px; }
.event-process { background:#f1edf6; }
.event-process ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 36px; list-style:none; margin:38px 0; padding:0; }
.event-process li { border-top:1px solid #82758f; padding:24px 0; }
.event-process li>span { color:#533c78; font-weight:700; font-size:.85rem; }
.event-process h3 { font-size:1.65rem; margin:14px 0 10px; }
.event-process p,.hospitality-grid p,.operating-markets p { font-size:1.05rem; line-height:1.65; }
.hospitality-options { background:#211a2e; color:#fff; }
.hospitality-options .eyebrow { color:#d7ff4d; }
.hospitality-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:36px; }
.hospitality-grid article { border-top:2px solid #b7ede6; padding-top:24px; }
.hospitality-grid h3 { font-size:1.6rem; color:#b7ede6; }
.hospitality-grid p { color:#f1edf6; }
.operating-markets { display:grid; grid-template-columns:1.65fr 1fr; gap:55px; }
.operating-markets aside { border-left:2px solid #8f7ba8; padding-left:32px; align-self:center; }
.operating-markets aside h3 { font-size:1.75rem; }
.market-chips { display:flex; flex-wrap:wrap; gap:12px; list-style:none; margin:28px 0; padding:0; }
.market-chips li { background:#211a2e; color:#fff; border-radius:3px; padding:10px 16px; }
.home-location .text-link { display:inline-block; margin-top:14px; }
/* Approved logos only. Default remains fully readable without JavaScript. */
.client-proof { background:#f1edf6; }
.logo-viewport { overflow-x:auto; padding:10px 0 16px; }
.logo-track { display:flex; width:max-content; }
.logo-group { display:flex; align-items:stretch; flex-shrink:0; gap:24px; margin:0; padding:0 24px 0 0; list-style:none; }
.logo-group li { width:190px; padding:18px 12px; background:#fff; text-align:center; }
.logo-group img { width:100%; height:88px; object-fit:contain; }
.logo-group span { display:block; margin-top:12px; font-size:.8rem; color:#463652; line-height:1.4; }
.logo-viewport:focus-visible { outline:3px solid #533c78; outline-offset:5px; }
.logo-pause { min-height:44px; }
.logo-pause[hidden] { display:none; }
@media (prefers-reduced-motion:no-preference) {
 .client-proof.is-moving .logo-viewport { overflow:hidden; }
 .client-proof.is-moving .logo-track { animation:obe-logo-drift var(--logo-duration,45s) linear infinite; will-change:transform; }
 .client-proof:hover .logo-track,.client-proof:focus-within .logo-track,.client-proof.is-paused .logo-track { animation-play-state:paused; }
 @keyframes obe-logo-drift { to { transform:translateX(-50%); } }
}
@media (prefers-reduced-motion:reduce) {
 .logo-track { animation:none !important; transform:none !important; }
 .logo-group[aria-hidden="true"] { display:none; }
}
@media (min-width:701px) and (max-width:1500px) {
 :root { --site-header-height:170px; }
 .header { height:auto; min-height:var(--site-header-height); flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; padding-block:12px; }
 .header nav { width:100%; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; }
 .header nav>a { white-space:normal; }
 .header .menu { display:none; }
}
@media (max-width:900px) { .event-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .operating-markets { grid-template-columns:1fr; gap:24px; } .operating-markets aside { border-left:0; border-top:2px solid #8f7ba8; padding:24px 0 0; } }
@media (max-width:700px) {
 .home-hero h1 { font-size:clamp(2.15rem,8.5vw,3.3rem); }
 .home-hero .hero-booking { font-size:1rem; padding-inline:24px; }
 .home-hero .hero-media { display:flex; flex-direction:column; aspect-ratio:auto; }
 .home-hero .hero-media img { position:relative; height:auto; width:100%; }
 .home-hero .hero-metric { position:relative; inset:auto; width:230px; align-self:flex-end; margin:12px; }
 .hero-metric .metric-context { font-size:12px; }
 .occasion-links { align-items:flex-start; flex-direction:column; padding:0 7% 40px; gap:8px; }
 .event-process ol,.hospitality-grid { grid-template-columns:1fr; gap:0; }
 .hospitality-grid article { padding-block:24px; }
 .logo-group { gap:16px; padding-right:16px; }
 .logo-group li { width:155px; }
 .client-proof .section-heading { align-items:flex-start; gap:20px; }
}
