.top-page .hero { display:block; min-height:380px; padding:56px 38px; background:linear-gradient(90deg,rgba(7,24,49,.95),rgba(7,27,56,.7) 48%,rgba(8,33,68,.12) 100%),url('/static/park-night-hero.webp') 65% center / cover; box-shadow:0 25px 60px rgba(13,39,76,.25); }
.top-page .hero::before,.top-page .hero::after { display:none; }
.top-page .hero>div:first-child { max-width:630px; position:relative; z-index:1; }
.top-page .hero h1 { font-size:clamp(30px,4.3vw,52px); text-shadow:0 3px 18px rgba(0,0,0,.22); }
.top-page .hero-copy { font-size:15px; }
.top-page .hero-btn.primary { background:#f4d789; color:#173658; }
.top-page .hero-btn.secondary { background:rgba(10,34,66,.4); }
.today-panel { margin-top:28px; }
.today-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:15px; }
.today-heading h2 { margin:0; font-size:clamp(22px,3vw,29px); color:#163554; }
.today-heading p { margin:5px 0 0; color:#728196; font-size:12px; }
.today-heading>a { white-space:nowrap; font-size:12px; font-weight:800; }
.today-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.today-card { overflow:hidden; border:1px solid #dce8f2; border-radius:22px; background:#fff; box-shadow:0 13px 34px rgba(17,42,74,.07); }
.today-card-head { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; background:#f0f7ff; border-bottom:1px solid #dce8f2; }
.today-park { color:#184773; font-weight:900; font-size:15px; }
.today-date { color:#738397; font-size:11px; font-weight:700; }
.today-main { padding:17px 20px; }
.today-label { color:#7a8999; font-size:11px; font-weight:800; }
.today-hours { margin-top:4px; color:#173658; font-size:clamp(24px,3vw,31px); font-weight:900; font-variant-numeric:tabular-nums; }
.today-hours span { color:#b2c4d3; font-weight:400; }
.today-estimate { display:inline-block; margin-top:8px; padding:5px 8px; border-radius:999px; background:#fff6df; color:#8b5c0b; font-size:11px; font-weight:800; }
.today-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 20px 17px; }
.today-facts>div { min-width:0; padding:11px 10px; border-radius:12px; background:#f6f9fc; }
.today-facts span,.today-facts strong { display:block; }
.today-facts span { color:#7b8b9d; font-size:10px; }
.today-facts strong { margin-top:4px; color:#1a3c5e; font-size:12px; overflow-wrap:anywhere; }
.today-card-link { display:block; padding:13px 20px; border-top:1px solid #e7edf3; color:#1666a5; font-size:12px; font-weight:850; }
.today-note { margin:11px 0 0; color:#687b8e; font-size:11px; line-height:1.75; }
.today-note a { text-decoration:underline; }
.tomorrow-panel { margin-top:15px; overflow:hidden; border:1px solid #d7e5f0; border-radius:20px; background:#f7fbff; box-shadow:0 10px 28px rgba(17,42,74,.05); }
.tomorrow-panel>summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 21px; color:#173658; cursor:pointer; list-style:none; }
.tomorrow-panel>summary::-webkit-details-marker { display:none; }
.tomorrow-panel>summary>span:first-child { display:grid; gap:3px; }
.tomorrow-panel>summary .section-kicker { margin:0; font-size:9px; }
.tomorrow-panel>summary strong { font-size:17px; }
.tomorrow-panel>summary small { color:#728196; font-size:11px; font-weight:600; }
.tomorrow-toggle { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#e5f1fb; color:#216ba5; font-size:22px; font-weight:800; transition:transform .2s ease; }
.tomorrow-panel[open] .tomorrow-toggle { transform:rotate(180deg); }
.tomorrow-panel-body { padding:0 15px 16px; border-top:1px solid #dce8f2; }
.tomorrow-panel-body .today-grid { margin-top:15px; }
.tomorrow-card { box-shadow:0 8px 22px rgba(17,42,74,.05); }
@media(max-width:760px) { .top-page .hero { min-height:400px; padding:37px 23px 42px; background:linear-gradient(180deg,rgba(7,24,49,.9),rgba(7,27,56,.58) 68%,rgba(8,33,68,.3)),url('/static/park-night-hero.webp') 72% center / cover; }.top-page .hero h1{max-width:500px}.today-grid{grid-template-columns:1fr}.today-heading{align-items:start;flex-direction:column;gap:8px} }
@media(max-width:420px) { .top-page .hero{min-height:460px}.top-page .hero-copy{font-size:13px}.today-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 12px 13px}.today-facts>div{padding:9px 7px}.today-facts strong{font-size:11px} }
