/* Two sequential home notices in one modal. Local imagery, independent layout. */
.home-notice { --hn-ink:#f5f1ff; --hn-muted:#b9b1ca; --hn-purple:#c7a0ff; position:fixed; inset:0; display:grid; place-items:center; padding:24px; z-index:5000; color:var(--hn-ink); isolation:isolate; }
.hn-backdrop { position:absolute; inset:0; background:rgba(5,4,12,.83); backdrop-filter:blur(12px); }
.hn-shell { position:relative; width:min(1020px,100%); border:1px solid #75618c70; background:#14111d; border-radius:24px; overflow:hidden; box-shadow:0 34px 120px #000b,0 0 90px #6826b019; animation:hn-enter .24s ease-out both; }
.hn-scroll { max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#645273 #1b1625; }
.hn-layout { display:grid; grid-template-columns:minmax(0,43%) minmax(0,57%); min-height:630px; }
.hn-poster { position:relative; overflow:hidden; min-height:100%; background:#25103e; isolation:isolate; }
.hn-poster-image { position:absolute; inset:92px 0 auto; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; object-position:50% 50%; opacity:.96; z-index:-2; mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 90%,transparent); }
.hn-poster-fallback { position:absolute; inset:0; z-index:-3; background:radial-gradient(ellipse at 40% 38%,#934bcc88,transparent 45%),radial-gradient(ellipse at 75% 70%,#352d94,transparent 62%),linear-gradient(160deg,#1c1033,#0a0717); }
.hn-poster-fallback span { position:absolute; top:-20%; height:140%; width:22%; background:linear-gradient(to bottom,#c78dff3b,transparent); transform:rotate(25deg); filter:blur(15px); }.hn-poster-fallback span:nth-child(1){left:10%}.hn-poster-fallback span:nth-child(2){left:55%;transform:rotate(-18deg)}.hn-poster-fallback span:nth-child(3){left:95%;transform:rotate(40deg)}
.hn-poster-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#0d071c6e 0%,#11082305 28%,#160a3245 48%,#0a0619ec 100%); }
.hn-poster-top { display:flex; justify-content:space-between; align-items:flex-start; padding:31px 30px; gap:18px; }
.hn-wordmark { font-size:30px; font-weight:950; line-height:1.15; letter-spacing:.04em; max-width:70%; overflow-wrap:anywhere; }.hn-poster-label { font-size:9px; letter-spacing:.24em; text-align:right; line-height:1.75; opacity:.9; flex-shrink:0; }
.hn-poster-bottom { position:absolute; inset:auto 32px 36px; }.hn-poster-kicker { display:block; font-size:9px; font-weight:700; letter-spacing:.27em; color:#e2c9ff; margin-bottom:16px; }
.hn-poster-title { margin:0; font-size:68px; font-weight:950; line-height:.98; letter-spacing:-.06em; color:#fff; }.hn-poster-title span { font-size:40px; font-weight:600; letter-spacing:.025em; }
.hn-poster-rule { display:block; height:1px; width:42px; margin:24px 0 17px; background:#d8b8ff; }.hn-poster-caption { margin:0; color:#ece1ff; font-size:14px; line-height:1.9; font-weight:400; }
.hn-main { min-width:0; display:flex; flex-direction:column; background:radial-gradient(ellipse at 100% 0,#57276928,transparent 55%),#16121f; }
.hn-close { position:absolute; z-index:5; inset:14px 14px auto auto; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ae93bd30; border-radius:50%; color:#d4c8e3; background:#191123e8; cursor:pointer; transition:background .18s; }
.hn-close:hover { background:#3b294c; color:#fff; }.hn-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.hn-step-label { display:flex; align-items:center; gap:11px; padding:30px 72px 0 34px; font-size:10px; color:#796d8c; font-weight:600; letter-spacing:.04em; }
.hn-step-label .is-current { color:#dcc3ff; }.hn-step-label .is-done { color:#a08aac; }.hn-step-line { width:22px; height:1px; flex-shrink:0; background:#5c486d; }
.hn-copy { padding:23px 34px 26px; flex:1; }.hn-copy h2 { margin:7px 0 13px; color:var(--hn-ink); font-size:28px; line-height:1.35; font-weight:800; letter-spacing:-.04em; }
.hn-eyebrow { display:flex; align-items:center; gap:6px; font-size:10px; color:#b5a2cc; font-weight:500; }.hn-small-dot { width:4px; height:4px; background:#c78dff; border-radius:50%; }
.hn-lead { margin:0; color:#c1b3d4; font-size:16px; line-height:1.7; letter-spacing:-.015em; }.hn-lead strong { color:#f3e9ff; font-weight:500; }
.hn-event-block { margin-top:23px; padding-top:18px; border-top:1px solid #a58eb529; }.hn-section-label { color:#977da9; font-size:9px; font-weight:800; letter-spacing:.22em; }
.hn-event-block h3 { font-size:15px; font-weight:700; color:#eae0f8; line-height:1.6; margin:6px 0 11px; overflow-wrap:anywhere; }.hn-event-place { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; font-size:12px; margin-bottom:11px; }.hn-event-place>span { color:#92859f; }.hn-event-place>strong { font-weight:500; color:#d9cfe6; }
.hn-schedule { display:grid; gap:7px; list-style:none; padding:0; margin:0; }.hn-schedule li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:baseline; padding:8px 11px; border-radius:7px; background:#c4a1ed08; font-size:11px; color:#c9bddb; font-variant-numeric:tabular-nums; }.hn-schedule strong { font-size:12px; font-weight:700; color:#e7d8f8; }.hn-schedule small { font-size:10px; color:#a08ead; }.hn-schedule-empty,.hn-schedule-more { color:#a599b2; font-size:11px; margin:8px 0 0; }
.hn-booking-note { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid #8964a93b; border-radius:10px; margin-top:20px; background:#7a4cab10; }.hn-note-icon { flex-shrink:0; color:#bc96ec; width:22px; margin-top:1px; }.hn-note-icon svg { display:block; width:22px; height:22px; }.hn-booking-note h3 { margin:0 0 5px; font-size:12px; color:#e2c9fa; font-weight:700; }.hn-booking-note p { margin:0; font-size:11px; color:#bfb0cc; line-height:1.85; }.hn-lookup-rule { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:9px; font-size:10px; }.hn-lookup-rule span { padding:2px 5px; border-radius:3px; background:#b68bd624; color:#bca0d3; }.hn-lookup-rule strong { color:#e6d8f5; font-weight:600; }.hn-booking-note .hn-note-small { font-size:10px; color:#9787a7; margin-top:4px; }
.hn-actions { display:flex; gap:10px; margin-top:20px; }.hn-primary,.hn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:9px; min-height:48px; padding:11px 17px; font-family:inherit; font-size:12px; font-weight:700; text-decoration:none; cursor:pointer; line-height:1.45; transition:background .18s,transform .18s; }.hn-primary { flex:1; border:1px solid #bb8dfa; background:linear-gradient(110deg,#bb88f4,#9160d0); color:#1a1029; }.hn-primary svg { width:18px; height:18px; }.hn-primary:hover { background:#c5a0f2; }.hn-primary:active { transform:translateY(1px); }.hn-secondary { color:#c8b5d8; border:1px solid #8a65923f; background:#33263d70; }.hn-secondary:hover { background:#43304f; color:#fff; }
.hn-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 14px; border-top:1px solid #aa89bd1c; padding:14px 25px 14px 34px; background:#100e1770; }.hn-today { display:flex; align-items:center; gap:8px; cursor:pointer; min-height:28px; color:#b4a5c2; font-size:10px; }.hn-today input { width:15px; height:15px; padding:0; margin:0; accent-color:#b282e7; flex-shrink:0; }.hn-footer-note { font-size:9px; color:#766b83; }
.hn-poster-safety .hn-poster-image { opacity:.65; filter:saturate(.75); }.hn-poster-safety .hn-poster-shade { background:linear-gradient(180deg,#0d071c80,#14082710 32%,#12071bde 75%,#090610); }.hn-poster-safety-title { font-size:33px; font-weight:750; line-height:1.5; letter-spacing:-.065em; margin:0; color:#f3eafa; }
.hn-safety-copy { padding-top:23px; }.hn-safety-copy .hn-lead { font-size:15px; }.hn-safety-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-top:22px; }.hn-safety-card { min-width:0; border:1px solid #b390ca25; border-radius:11px; padding:14px; background:linear-gradient(150deg,#7d5b9420,#37244013); }.hn-safety-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }.hn-safety-icon { display:grid; place-items:center; width:28px; height:28px; color:#c9a4eb; }.hn-safety-icon svg { width:26px; height:26px; }.hn-safety-card-top>span:last-child { font-size:9px; color:#806b90; font-variant-numeric:tabular-nums; }.hn-safety-card h3 { font-size:12px; font-weight:700; line-height:1.7; margin:0 0 6px; color:#e2d6ed; letter-spacing:-.04em; }.hn-safety-card p { font-size:10px; line-height:1.8; color:#ae9dbc; margin:0; word-break:keep-all; }.hn-ready { display:flex; gap:10px; margin-top:16px; padding:13px 0 0; border-top:1px solid #c59cde26; }.hn-ready-mark { font-size:8px; font-weight:800; color:#d0afe8; letter-spacing:.12em; padding-top:3px; flex-shrink:0; }.hn-ready p { margin:0; font-size:10px; line-height:1.85; color:#9f8eb0; }.hn-ready strong { font-weight:500; color:#cbb5dc; }.hn-safety-actions { margin-top:18px; }.hn-safety-actions .hn-secondary { font-size:11px; padding:10px 13px; }
.home-notice button:focus-visible,.home-notice a:focus-visible,.hn-today input:focus-visible { outline:2px solid #eddaff; outline-offset:4px; }.hn-copy h2:focus { outline:none; }
@keyframes hn-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(min-width:761px) and (max-height:740px) { .hn-layout { min-height:570px; }.hn-copy { padding-top:18px; padding-bottom:20px; }.hn-copy h2 { font-size:25px; margin-bottom:10px; }.hn-lead { font-size:14px; }.hn-event-block { margin-top:16px; padding-top:13px; }.hn-booking-note { margin-top:16px; }.hn-safety-grid { margin-top:16px; }.hn-safety-card { padding:12px; }.hn-poster-title { font-size:60px; }.hn-step-label { padding-top:25px; } }
@media(max-width:760px) { .home-notice { padding:14px; }.hn-shell { width:min(480px,100%); border-radius:19px; }.hn-scroll { max-height:calc(100dvh - 28px); }.hn-layout { grid-template-columns:minmax(0,1fr); min-height:0; }.hn-poster { min-height:230px; }.hn-poster-image { object-position:50% 48%; }.hn-poster-top { padding:22px; }.hn-wordmark { font-size:22px; }.hn-poster-label { margin-right:42px; font-size:8px; }.hn-poster-bottom { inset:auto 23px 22px; }.hn-poster-kicker { font-size:8px; margin-bottom:9px; }.hn-poster-title { font-size:39px; line-height:1; }.hn-poster-title br { display:none; }.hn-poster-title span { font-size:25px; margin-left:9px; }.hn-poster-rule { margin:13px 0 10px; width:32px; }.hn-poster-caption { font-size:11px; line-height:1.7; }.hn-poster-caption br { display:none; }.hn-poster-shade { background:linear-gradient(180deg,#13071e55,#11082710 28%,#1208205e 55%,#110819f5); }.hn-close { inset:12px 12px auto auto; background:#110d1dca; }.hn-step-label { padding:23px 23px 0; font-size:10px; }.hn-copy { padding:20px 23px 23px; }.hn-copy h2 { font-size:26px; margin:7px 0 12px; }.hn-lead { font-size:15px; }.hn-event-block { margin-top:20px; }.hn-event-block h3 { font-size:15px; }.hn-schedule li { font-size:11px; gap:8px; padding:9px 10px; }.hn-booking-note { margin-top:18px; }.hn-actions { margin-top:18px; }.hn-footer { padding:13px 23px; }.hn-today { font-size:10px; }.hn-footer-note { font-size:9px; }.hn-poster-safety { min-height:195px; }.hn-poster-safety-title { font-size:24px; line-height:1.55; }.hn-poster-safety-title br { display:none; }.hn-poster-safety .hn-poster-kicker { font-size:7px; }.hn-poster-safety .hn-poster-rule { margin:10px 0 8px; }.hn-safety-grid { margin-top:20px; gap:9px; }.hn-safety-card { padding:12px; }.hn-safety-card h3 { font-size:12px; }.hn-safety-card p { font-size:11px; }.hn-ready p { font-size:11px; }.hn-safety-actions { flex-direction:column-reverse; }.hn-safety-actions .hn-primary,.hn-safety-actions .hn-secondary { width:100%; }.hn-secondary { min-height:44px; } }
@media(max-width:380px) { .home-notice { padding:10px; }.hn-scroll { max-height:calc(100dvh - 20px); }.hn-copy { padding:18px 19px 21px; }.hn-step-label { padding-left:19px; }.hn-footer { padding-left:19px; padding-right:19px; }.hn-schedule li { grid-template-columns:minmax(0,1fr) auto; }.hn-schedule small { grid-column:1/-1; margin-top:-4px; }.hn-safety-grid { grid-template-columns:minmax(0,1fr); }.hn-safety-card { display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 9px; padding:12px; }.hn-safety-card-top { grid-row:1/3; margin:0; align-items:flex-start; }.hn-safety-card-top>span:last-child { display:none; }.hn-safety-card h3 { margin:0 0 4px; }.hn-safety-card p { grid-column:2; }.hn-poster-title { font-size:35px; }.hn-poster-title span { font-size:23px; }.hn-poster-safety-title { font-size:22px; } }
@media(max-width:760px) { .hn-poster-image { top:-10px; mask-image:linear-gradient(to bottom,#000,#000 92%,transparent); }.hn-poster-shade { background:linear-gradient(180deg,#13071e55,#11082708 38%,#12082045 62%,#110819ed); }.hn-poster-safety .hn-poster-image { top:-25px; } }
/* Body copy remains readable; longer notices scroll within the dialog. */
.hn-booking-note h3,.hn-safety-card h3 { font-size:14px; }
.hn-booking-note p,.hn-safety-card p,.hn-ready p { font-size:13px; }
.hn-booking-note .hn-note-small { font-size:12px; }
.hn-primary,.hn-secondary,.hn-safety-actions .hn-secondary { font-size:14px; }
.hn-today { font-size:12px; min-height:36px; }
.hn-lookup-rule { font-size:12px; }
.hn-event-place { font-size:13px; }
.hn-schedule li,.hn-schedule strong { font-size:13px; }
.hn-schedule small { font-size:12px; }
.hn-schedule-empty,.hn-schedule-more { font-size:12px; }
@media(prefers-reduced-motion:reduce) { .hn-shell { animation:none; }.home-notice *, .home-notice *::before, .home-notice *::after { transition:none!important; scroll-behavior:auto!important; } }
@media print { .home-notice { display:none!important; } }
