/* Integrated editorial header and manual activity gallery. Calendar behaviour stays in app.js. */
.home-route .header{background:#241137;border-bottom:0;box-shadow:none}
.home-route .header-inner{max-width:1240px;min-height:104px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid #ffffff26}
.home-route .header .brand{width:244px;height:78px;overflow:visible}
.home-route .header .brand img{width:244px;mix-blend-mode:normal;object-fit:contain}
.home-route .header nav a{color:#f8f2fa;font-weight:600}
.home-route .header nav a:hover{color:#ff8ed1}
.home-route .header .nav-reserve{background:transparent;border:1px solid #ef5fbd;border-radius:999px;color:#fff;box-shadow:none;min-width:130px}
.home-route .header .nav-reserve:hover{background:#ef299d;border-color:#ef299d}
.home-route .home-stage{background:#241137;color:#fff;border-radius:0 0 34px 34px;overflow:hidden}
.home-route .hero.wrap{max-width:1240px;min-height:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:52px;align-items:center;margin:0 auto;padding:22px 40px 40px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.home-route .hero:after{display:none}
.home-route .hero .hero-copy{width:auto;margin:0;padding:0;background:none;border:0;box-shadow:none}
.home-route .hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#ecc9e5;margin-bottom:18px}
.home-route .hero h1{font:400 clamp(4rem,6.3vw,6.8rem)/.91 'DM Serif',Georgia,serif;letter-spacing:-.045em;color:#fff;margin:0 0 25px}
.home-route .hero-line{display:block}
.home-route .hero-period{color:#ee299a}
.home-route .hero p{font-size:17px;line-height:1.55;color:#f0e7f4;max-width:390px;margin:0 0 15px}
.home-route .hero .hero-fact{font-size:14px;color:#f8b9df;margin:18px 0 23px}
.home-route .hero-link{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:11px 24px;border:1px solid #ed2899;border-radius:999px;background:#ed2899;color:#fff;font-size:15px;font-weight:800;text-decoration:none;box-shadow:none}
.home-route .hero-link:hover{background:#cf1582;border-color:#cf1582}
.home-route .hero .hero-art{position:relative;inset:auto;width:100%;height:auto;display:block;padding:0;background:transparent}
.home-route .hero-photo-frame{width:100%;aspect-ratio:1.79;overflow:hidden;border-radius:28px 92px 28px 28px;background:#422453}
.home-route .hero-art .hero-photo{width:100%;height:100%;object-fit:cover;object-position:center center;border:0;border-radius:0;transform:none;box-shadow:none}
.home-route .hero-slide-controls{display:grid;grid-template-columns:42px minmax(0,1fr) auto 42px;align-items:center;gap:18px;color:#fff;min-height:60px}
.home-route .hero-slide-arrow{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffffb5;border-radius:50%;background:transparent;color:#fff;font:400 30px/1 Georgia,serif}
.home-route .hero-slide-arrow:hover{background:#ffffff20;border-color:#fff}
.home-route .hero-slide-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:0;font-size:14px}
.home-route .hero-slide-dots{display:flex;align-items:center;gap:9px}
.home-route .hero-slide-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff70}
.home-route .hero-slide-dots button[aria-pressed=true]{background:#ee299a;transform:scale(1.2)}
.home-route .hero-slide-index{font-size:13px;letter-spacing:.04em;white-space:nowrap}
.home-route .calendar-section{padding-top:32px}
.home-route .calendar-section .section-heading h2{font:400 clamp(2rem,3.1vw,2.8rem)/1.12 'DM Serif',Georgia,serif;letter-spacing:-.025em}
.home-route .calendar-section .section-heading p{font-size:15px}
.home-route .calendar-section .label-pill{background:#f8edf8;color:#4f245e;font-weight:700;border:0}

@media(max-width:1050px){
 .home-route .header-inner{gap:15px}.home-route .header .brand{width:190px;height:68px}.home-route .header .brand img{width:196px}.home-route .header nav{gap:14px}.home-route .header nav a{font-size:12px}.home-route .header .nav-reserve{min-width:98px;padding:9px 12px}
 .home-route .hero.wrap{gap:28px}.home-route .hero h1{font-size:clamp(3.3rem,6.2vw,5.3rem)}
}
@media(max-width:760px){
 .home-route .header-inner{min-height:74px;padding:7px 20px}.home-route .header .brand{width:172px;height:58px}.home-route .header .brand img{width:174px}
 .home-route .header .nav-reserve{display:none}.home-route .menu-button{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #f49aca;border-radius:50%;color:#fff;font-size:22px}
 .home-route .header nav{background:#241137;border-bottom:1px solid #ffffff30;box-shadow:0 12px 22px #1e0b2d38}.home-route .header nav a{font-size:16px;color:#fff}
 .home-route .home-stage{border-radius:0 0 24px 24px}
 .home-route .hero.wrap{display:flex;flex-direction:column;gap:18px;align-items:stretch;margin:0;padding:12px 20px 22px;border-radius:0;overflow:visible}
 .home-route .hero .hero-art{order:-1;width:100%;height:auto;aspect-ratio:auto;padding:0}
 .home-route .hero-photo-frame{aspect-ratio:1.79;border-radius:22px 42px 22px 22px}
 .home-route .hero-art .hero-photo{object-position:center center;width:100%;height:100%;object-fit:cover}
 .home-route .hero-slide-controls{grid-template-columns:38px minmax(0,1fr) auto 38px;gap:8px;min-height:48px}
 .home-route .hero-slide-arrow{width:34px;height:34px;font-size:27px}
 .home-route .hero-slide-meta{display:block;font-size:13px;text-align:center}
 .home-route .hero-slide-dots{justify-content:center;gap:8px;margin-top:3px}.home-route .hero-slide-dots button{width:8px;height:8px}
 .home-route .hero-slide-index{font-size:12px}
 .home-route .hero .hero-copy{width:100%;margin:0;padding:0}
 .home-route .hero .eyebrow{font-size:10px;margin:0 0 6px}
 .home-route .hero h1{font-size:clamp(2.8rem,10.5vw,4.15rem);line-height:.95;margin:0 0 11px;max-width:none}
 .home-route .hero-line{display:inline}
 .home-route .hero h1 br{display:none}
 .home-route .hero p{font-size:14px;line-height:1.45;margin-bottom:7px;max-width:none}
 .home-route .hero .hero-fact{font-size:12px;margin:9px 0 15px}
 .home-route .hero-link{min-height:46px;font-size:14px;padding:9px 20px;width:100%}
 .home-route .calendar-section{padding-top:24px}
 .home-route .calendar-section .section-heading h2{font-size:31px;line-height:1.08}
 .home-route .calendar-section .section-heading p{font-size:14px}
}
@media(max-width:380px){
 .home-route .header-inner{padding:6px 14px}.home-route .header .brand{width:150px}.home-route .header .brand img{width:151px}
 .home-route .hero.wrap{padding-left:14px;padding-right:14px}.home-route .hero h1{font-size:2.7rem}.home-route .hero-slide-controls{gap:4px}.home-route .hero-slide-index{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-route .hero-slide-dots button{transition:none}}
