.address-screen { color:var(--navy); padding-bottom:0; }
.address-screen.active~.bottom-nav { display:none!important; }
.address-topbar { position:relative; z-index:2; display:grid; height:82px; grid-template-columns:48px 1fr 48px; align-items:center; padding:12px 20px 8px; color:var(--navy); background:rgba(255,255,255,.7); border-bottom:1px solid rgba(0,46,95,.1); backdrop-filter:blur(12px); }
.address-topbar>span { font-size:.9rem; font-weight:800; text-align:center; letter-spacing:.03em; }
.address-topbar>img { justify-self:end; width:34px; height:34px; object-fit:contain; }
.address-back { display:grid; width:42px; height:42px; padding:0; place-items:center; border:1px solid rgba(0,46,95,.12); border-radius:14px; color:var(--navy); background:rgba(255,255,255,.76); cursor:pointer; box-shadow:0 5px 14px rgba(0,46,95,.08); }
.address-back svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.address-scroll { position:absolute; inset:82px 0 0; overflow-y:auto; overscroll-behavior:contain; }
.address-content { width:min(100%,620px); margin:0 auto; padding:28px 22px 48px; }
.address-hero { padding:13px 5px 25px; }
.address-kicker { display:inline-block; margin-bottom:10px; color:#8a661c; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.address-hero h2 { margin:0; max-width:480px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,8.7vw,3.15rem); font-weight:400; line-height:.98; }
.address-hero h2 em { color:#26215d; }
.address-hero p { max-width:430px; margin:15px 0 0; color:#41556c; font-size:.86rem; line-height:1.55; }
.venue-card { overflow:hidden; border:1px solid rgba(0,46,95,.1); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 14px 34px rgba(0,46,95,.13); backdrop-filter:blur(5px); }
.venue-visual { position:relative; height:175px; overflow:hidden; background:linear-gradient(145deg,rgba(156,225,232,.95),rgba(231,244,225,.95)); }
.venue-visual::before,.venue-visual::after { position:absolute; content:""; border-radius:50%; background:rgba(255,255,255,.28); }
.venue-visual::before { width:170px; height:170px; top:-60px; right:-25px; }.venue-visual::after { width:130px; height:130px; bottom:-80px; left:30px; }
.map-road { position:absolute; display:block; height:10px; border:3px solid rgba(255,255,255,.85); border-width:3px 0; border-radius:50%; transform-origin:center; }
.road-one { width:130%; left:-15%; top:72px; transform:rotate(-11deg); }.road-two { width:105%; left:-5%; top:110px; transform:rotate(18deg); }.road-three { width:75%; left:30%; top:45px; transform:rotate(67deg); }
.venue-pin { position:absolute; top:36px; left:50%; display:grid; width:66px; height:66px; place-items:center; border:5px solid rgba(255,255,255,.8); border-radius:50%; color:#fff; background:linear-gradient(145deg,#0c508d,#002e5f); box-shadow:0 12px 25px rgba(0,46,95,.3); transform:translateX(-50%); }
.venue-pin svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.venue-map-label { position:absolute; left:50%; bottom:13px; padding:7px 12px; border-radius:99px; color:#173653; background:rgba(255,255,255,.88); font-size:.69rem; font-weight:800; box-shadow:0 5px 12px rgba(0,46,95,.1); transform:translateX(-50%); white-space:nowrap; }
.venue-details { padding:21px; }
.venue-label { color:#8a661c; font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.venue-details h3 { margin:6px 0 11px; color:#20205b; font-family:Georgia,"Times New Roman",serif; font-size:1.38rem; line-height:1.16; }
.venue-details address { color:#45566b; font-size:.82rem; font-style:normal; line-height:1.55; }
.copy-address { display:inline-flex; align-items:center; gap:8px; margin-top:15px; padding:9px 12px; border:1px solid rgba(0,46,95,.13); border-radius:11px; color:var(--navy); background:#edf6f7; cursor:pointer; font-size:.72rem; font-weight:800; }
.copy-address svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.event-date-card { display:grid; grid-template-columns:58px 1fr 31px; align-items:center; gap:13px; margin-top:15px; padding:15px 17px; border-radius:18px; color:#fff; background:linear-gradient(135deg,#292361,#092f62); box-shadow:0 10px 24px rgba(28,31,88,.21); }
.event-date-day { display:grid; height:58px; place-items:center; align-content:center; border-radius:14px; color:#20205b; background:#fff; line-height:1; }.event-date-day strong{font-size:1.45rem}.event-date-day span{margin-top:3px;color:#9a7118;font-size:.6rem;font-weight:900;letter-spacing:.08em}
.event-date-card>div:nth-child(2) { display:grid; gap:2px; }.event-date-card>div:nth-child(2)>span{font-size:.65rem;opacity:.72}.event-date-card>div:nth-child(2)>strong{font-size:.95rem}.event-date-card>div:nth-child(2)>small{font-size:.65rem;opacity:.78}.event-date-card>svg{width:28px;height:28px;fill:none;stroke:#f0c660;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.parking-card { position:relative; overflow:hidden; margin-top:15px; padding:19px; border:1px solid rgba(86,122,184,.2); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(231,244,247,.88)); box-shadow:0 9px 24px rgba(0,62,112,.08); backdrop-filter:blur(5px); }
.parking-card::after { position:absolute; top:-48px; right:-43px; width:125px; height:125px; border:18px solid rgba(86,122,184,.06); border-radius:50%; content:""; pointer-events:none; }
.parking-header { position:relative; z-index:1; display:flex; align-items:center; gap:12px; }
.parking-icon { display:grid; width:46px; height:46px; flex:0 0 auto; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(145deg,#567ab8,#003e70); box-shadow:0 7px 16px rgba(0,62,112,.18); }
.parking-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.parking-header small { display:block; color:#8a661c; font-size:.6rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.parking-header h3 { margin:3px 0 0; color:#20205b; font-family:Inter,Arial,sans-serif; font-size:1.02rem; line-height:1.2; }
.parking-card>p { position:relative; z-index:1; margin:15px 1px; color:#405269; font-size:.79rem; line-height:1.55; }
.parking-address { position:relative; z-index:1; display:grid; grid-template-columns:29px 1fr 36px; align-items:center; gap:9px; padding:12px; border:1px solid rgba(0,62,112,.09); border-radius:14px; background:rgba(255,255,255,.72); }
.parking-address>svg { width:24px; height:24px; fill:none; stroke:#d99f00; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.parking-address address { display:grid; gap:3px; min-width:0; color:#334d65; font-style:normal; }
.parking-address address strong { font-size:.76rem; line-height:1.25; }.parking-address address span{font-size:.65rem;line-height:1.35}
.parking-address button { display:grid; width:36px; height:36px; padding:0; place-items:center; border:1px solid rgba(0,62,112,.12); border-radius:11px; color:#003e70; background:#fff; cursor:pointer; transition:transform .18s ease,background .18s ease; }
.parking-address button:hover,.parking-address button:focus-visible { transform:translateY(-2px); background:#f5fafb; outline:none; }.parking-address button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.parking-guidance { position:relative; z-index:1; display:flex; align-items:flex-start; gap:8px; margin-top:12px; color:#546679; }
.parking-guidance>span { display:grid; width:18px; height:18px; flex:0 0 auto; place-items:center; border-radius:50%; color:#fff; background:#d99f00; font-family:Georgia,serif; font-size:.68rem; font-weight:700; }
.parking-guidance p { margin:0; font-size:.68rem; line-height:1.45; }
.route-section { margin-top:28px; }.route-section header>span{color:#8a661c;font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.route-section h3{margin:4px 0 14px;color:#20205b;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.route-actions { display:grid; gap:10px; }.route-actions a{display:grid;grid-template-columns:47px 1fr 18px;align-items:center;gap:12px;padding:13px;border:1px solid rgba(0,46,95,.09);border-radius:17px;color:var(--navy);background:rgba(255,255,255,.86);box-shadow:0 7px 19px rgba(0,46,95,.07);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.route-actions a:hover,.route-actions a:focus-visible{transform:translateY(-2px);box-shadow:0 11px 23px rgba(0,46,95,.13);outline:none}.route-icon{display:grid;width:47px;height:47px;place-items:center;border-radius:14px;color:#fff}.route-google .route-icon{background:linear-gradient(145deg,#16835c,#0b6949)}.route-waze .route-icon{background:linear-gradient(145deg,#42aee8,#1379b1)}.route-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.route-actions a>span:nth-child(2){display:grid;gap:2px}.route-actions strong{font-size:.84rem}.route-actions small{color:#74808d;font-size:.68rem}.route-actions b{color:#a4acb5;font-size:1.4rem;font-weight:400}
.arrival-tip { display:flex; gap:13px; margin-top:17px; padding:17px; border:1px solid rgba(224,177,59,.45); border-radius:18px; color:#594716; background:rgba(255,247,216,.88); }.arrival-tip>svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:#9b741b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.arrival-tip strong{font-size:.84rem}.arrival-tip p{margin:5px 0 0;font-size:.73rem;line-height:1.5}
.copy-toast { position:absolute; z-index:9; bottom:25px; left:50%; padding:11px 18px; border-radius:99px; color:#fff; background:#20205b; box-shadow:0 9px 24px rgba(0,0,0,.2); font-size:.75rem; font-weight:800; opacity:0; pointer-events:none; transform:translate(-50%,15px); transition:opacity .2s ease,transform .2s ease; }.copy-toast.visible{opacity:1;transform:translate(-50%,0)}
@media (min-width:781px) { .address-topbar{padding-inline:clamp(26px,8vw,110px)}.address-content{padding-top:40px}.address-hero{text-align:center}.address-hero h2,.address-hero p{margin-left:auto;margin-right:auto}.venue-visual{height:210px} }
