/* Generated from the accepted WPZ mockup. Keep selectors stable; tests protect key brand/layout rules. */
@font-face {
  font-family:"Geist";
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("fonts/geist-latin.woff2") format("woff2");
}
.elementor-widget-html > .elementor-widget-container { width:100%; }
.elementor-element:has(> .elementor-widget-html) { --display:flex; }
.elementor-location-header { position:absolute; inset:0 0 auto; z-index:20; }
.elementor-location-header .site-header { position:relative; }
.elementor-page .elementor-widget-html { width:100%; }
.elementor-page .elementor-widget-html > .elementor-widget-container { font-size:initial; line-height:normal; }
.hero__image,.first-time__image-wrap>img,.corporate__image>img,.offer-card>img,.final-cta>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

:root { --navy:#10273a; --turquoise:#21a8a5; --orange:#c85122; --cream:#f3eee2; --paper:#fbf8f1; --white:#fffdf8; --line:rgba(16,39,58,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:clip; background:var(--paper); color:var(--navy); font-family:"Geist",Arial,sans-serif; }
main { overflow-x:clip; }
.elementor-location-header { position:absolute; inset:0 0 auto; z-index:20; width:100%; }
body:not(.home) .elementor-location-header { position:relative; background:var(--navy); }
.elementor-location-header .e-con,.elementor-location-footer .e-con,.elementor-page .e-con { --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; }
a { color:inherit; text-decoration:none; }
img { display:block; }
.shell { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.eyebrow { margin:0 0 18px; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow::before { content:""; display:inline-block; width:34px; height:2px; margin:0 12px 3px 0; background:var(--orange); }
.eyebrow--light { color:var(--white); }
.eyebrow--light::before { background:var(--turquoise); }
h1,h2 { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:-.025em; line-height:.88; }
h1 { font-size:clamp(70px,min(9vw,14vh),145px); color:var(--white); }
.hero-line { display:block; }
.hero-line--accent { color:var(--turquoise); }
.hero-word { display:inline-block; }
h2 { font-size:clamp(54px,7vw,100px); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 26px; border:1px solid transparent; font-size:13px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button--orange { background:var(--orange); color:white; }
.button--orange:hover { background:#a9431d; }
.button--cream { background:var(--cream); color:var(--navy); }
.text-link { display:inline-flex; gap:18px; align-items:center; padding-block:10px; border-bottom:2px solid var(--orange); font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.text-link--light { color:white; border-color:rgba(255,255,255,.65); }

.hero { position:relative; min-height:720px; height:100svh; isolation:isolate; overflow:hidden; background:var(--navy); }
.hero__image { z-index:-3; object-fit:cover; object-position:center 50%; animation:hero-drift 16s ease-in-out infinite alternate; }
.hero__shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(6,22,34,.84) 0%,rgba(6,22,34,.48) 46%,rgba(6,22,34,.12) 75%),linear-gradient(0deg,rgba(6,22,34,.58),transparent 42%); }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(rgba(255,255,255,.18) .6px,transparent .6px); background-size:5px 5px; opacity:.22; pointer-events:none; }
.site-header { height:132px; display:grid; grid-template-columns:190px 1fr auto; align-items:center; gap:36px; border-bottom:1px solid rgba(255,255,255,.28); color:white; }
.elementor-location-header .site-header { width:min(1240px,calc(100% - 48px)); max-width:1240px; padding:0; }
.brand { position:relative; align-self:start; width:172px; height:185px; padding:4px 14px 18px; background:var(--cream); clip-path:polygon(0 0,100% 0,100% 84%,50% 100%,0 84%); filter:drop-shadow(0 12px 18px rgba(0,0,0,.2)); z-index:2; }
.brand img { width:100%; height:100%; object-fit:contain; }
.desktop-nav { display:flex; justify-content:center; gap:clamp(20px,3vw,44px); }
.desktop-nav a { font-size:12px; font-weight:750; letter-spacing:.05em; }
.desktop-nav a:hover { color:#65d3ce; }
.header-cta { min-height:48px; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { list-style:none; cursor:pointer; font-size:13px; font-weight:800; text-transform:uppercase; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu__panel { position:absolute; right:0; top:34px; width:min(290px,calc(100vw - 48px)); padding:22px; background:var(--cream); color:var(--navy); display:grid; gap:16px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.hero__content { padding-top:clamp(78px,9vh,108px); padding-bottom:140px; }
body.home .hero__content { padding-top:calc(132px + clamp(78px,9vh,108px)); }
.hero__content h1 { max-width:1160px; }
.hero__content .eyebrow { margin-bottom:36px; animation:hero-enter .7s .08s both; }
.hero-word { animation:hero-enter .8s .16s both; }
.hero-word--two { animation-delay:.27s; }
.hero-line--accent { animation:hero-enter .8s .38s both; }
.hero__lead { max-width:610px; margin:28px 0 32px; color:rgba(255,255,255,.88); font-size:clamp(18px,2vw,24px); line-height:1.5; }
.hero__lead { animation:hero-enter .8s .48s both; }
.hero__actions { display:flex; align-items:center; gap:28px; animation:hero-enter .8s .58s both; }
.hero__info { position:absolute; right:0; bottom:0; width:min(720px,58vw); min-height:116px; padding:18px 32px; display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; background:var(--turquoise); color:var(--navy); animation:info-enter .8s .72s both; }
.hero__today { display:grid; gap:8px; padding-right:24px; border-right:1px solid rgba(16,39,58,.25); }
.hero__today>span { font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.hero__today strong { width:max-content; display:flex; align-items:center; gap:9px; padding:6px 13px 6px 7px; background:var(--navy); color:white; box-shadow:7px 7px 0 rgba(200,81,34,.92); white-space:nowrap; font-size:14px; letter-spacing:.035em; text-transform:uppercase; }
.hero__today i { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:white; font-size:18px; font-style:normal; line-height:1; animation:sun-spin 9s linear infinite; }
.hero__hours { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hero__hours>span { display:grid; gap:5px; }
.hero__hours small { font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero__hours b { white-space:nowrap; font-size:14px; }
.hero__info>a { display:flex; align-items:center; gap:12px; white-space:nowrap; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.hero__info>a span { font-size:20px; transition:transform .2s; }
.hero__info>a:hover span { transform:translateX(4px); }

.intro { display:grid; grid-template-columns:1.1fr .8fr; gap:10vw; padding-block:150px; align-items:end; }
.intro h2 { max-width:700px; }
.intro__copy>p:first-child { margin:0; font-size:20px; line-height:1.7; }
.hand-note { margin:30px 0 0; color:var(--orange); font-family:"Brush Script MT",cursive; font-size:34px; transform:rotate(-3deg); }
.cable-motion { position:relative; min-height:330px; display:grid; align-content:end; overflow:hidden; background:linear-gradient(135deg,#9ce3dd 0%,#55cbc3 52%,#21a8a5 100%); color:var(--navy); isolation:isolate; }
.cable-motion::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 76% 18%,rgba(255,255,255,.52),transparent 22%),linear-gradient(115deg,rgba(255,255,255,.22),transparent 35%); pointer-events:none; }
.cable-motion__line { position:absolute; z-index:1; top:18%; left:-3%; width:108%; height:3px; background:var(--orange); transform:rotate(-4deg); transform-origin:left center; box-shadow:0 1px 0 rgba(16,39,58,.18); }
.cable-motion__words { position:absolute; top:32px; left:0; display:flex; width:max-content; color:rgba(16,39,58,.14); font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(80px,13vw,190px); line-height:.8; text-transform:uppercase; animation:word-drift 18s linear infinite; }
.cable-motion__words span { padding-right:.2em; }
.cable-motion__rider { position:absolute; z-index:2; top:46px; left:-440px; width:390px; height:auto; filter:drop-shadow(0 20px 18px rgba(16,39,58,.25)); animation:cable-ride 9s cubic-bezier(.45,.05,.55,.95) infinite; }
.cable-motion__ticker { position:relative; z-index:3; width:100%; overflow:hidden; padding:17px 0; border-top:1px solid rgba(16,39,58,.2); background:rgba(243,238,226,.94); color:var(--navy); font-size:12px; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.cable-motion__ticker-track { display:flex; width:max-content; animation:ticker 28s linear infinite; }
.cable-motion__ticker span { flex:none; padding-right:.6em; }
.offers { padding-top:140px; padding-bottom:160px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:50px; }
.offers__grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:18px; align-items:end; }
.offer-card { position:relative; min-height:510px; overflow:hidden; isolation:isolate; color:white; }
.offer-card--tall { min-height:610px; }
.offer-card>img { z-index:-2; object-fit:cover; transition:transform .6s ease; }
.offer-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(5,26,37,.92),transparent 68%); }
.offer-card:hover>img { transform:scale(1.035); }
.offer-card__number { position:absolute; top:24px; right:24px; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; font-size:12px; font-weight:800; }
.offer-card__content { position:absolute; left:28px; right:28px; bottom:28px; display:grid; gap:12px; }
.offer-card__kicker { color:#73dcd5; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.offer-card strong { font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(34px,3vw,48px); font-weight:400; line-height:.95; text-transform:uppercase; }
.offer-card__content>span:nth-child(3) { max-width:92%; color:rgba(255,255,255,.78); font-size:14px; line-height:1.55; }
.offer-card__arrow { position:absolute; right:0; bottom:0; font-size:24px; }

.first-time { padding-block:120px; background:var(--navy); color:white; overflow:hidden; }
.first-time__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,9vw,130px); align-items:center; }
.first-time__image-wrap { position:relative; min-height:690px; }
.first-time__image-wrap>img { object-fit:cover; }
.stamp { position:absolute; top:-56px; right:-60px; width:160px; height:160px; display:grid; align-content:center; justify-items:center; background:var(--orange); border:2px solid var(--cream); border-radius:50%; color:white; transform:rotate(8deg); box-shadow:0 0 0 7px var(--orange); }
.stamp span { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.stamp strong { font-family:Impact,sans-serif; font-size:38px; font-weight:400; }
.first-time__copy h2 { color:var(--turquoise); font-size:clamp(70px,8vw,116px); }
.first-time__lead { max-width:590px; margin:28px 0 38px; color:rgba(255,255,255,.78); font-size:19px; line-height:1.65; }
.steps { list-style:none; margin:0 0 42px; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.steps li { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.steps li>span { color:var(--turquoise); font-weight:800; }
.steps strong { display:block; margin-bottom:4px; font-size:16px; text-transform:uppercase; }
.steps p { margin:0; color:rgba(255,255,255,.65); font-size:14px; }

.corporate { padding-block:120px; overflow:hidden; background:var(--turquoise); color:white; }
.corporate__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(55px,8vw,120px); align-items:center; }
.corporate__image { position:relative; min-height:620px; overflow:hidden; }
.corporate__image>img { object-fit:cover; object-position:center; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.corporate__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,25,38,.72),transparent 58%); }
.corporate__image>span { position:absolute; z-index:1; left:34px; bottom:32px; color:white; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(35px,3vw,49px); line-height:.98; text-transform:uppercase; }
.corporate__image:hover>img { transform:scale(1.035); }
.corporate__copy h2 { max-width:650px; color:var(--navy); font-size:clamp(58px,6.4vw,92px); }
.corporate__copy>p:not(.eyebrow) { max-width:620px; margin:28px 0; color:rgba(16,39,58,.84); font-size:18px; line-height:1.65; }
.corporate__copy ul { display:grid; gap:13px; margin:0 0 36px; padding:25px 0; border-top:1px solid rgba(16,39,58,.28); border-bottom:1px solid rgba(16,39,58,.28); color:var(--navy); list-style:none; }
.corporate__copy li::before { content:"→"; margin-right:12px; color:white; font-weight:900; }
.groups { padding-block:150px; }
.groups__title { display:grid; grid-template-columns:.7fr 1.5fr; align-items:start; margin-bottom:70px; }
.groups__title .eyebrow { margin-top:10px; }
.groups__title h2 { max-width:900px; }
.groups__cards { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.groups__cards a { position:relative; min-height:240px; padding:36px 32px; display:flex; flex-direction:column; border-right:1px solid var(--line); transition:background .2s,color .2s; }
.groups__cards a:last-child { border:0; }
.groups__cards a:hover { background:var(--turquoise); }
.groups__cards a>span:first-child { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.groups__cards strong { margin-top:auto; max-width:200px; font-family:Impact,sans-serif; font-size:37px; font-weight:400; line-height:1; text-transform:uppercase; }
.groups__cards a>span:last-child { position:absolute; right:30px; bottom:32px; font-size:24px; }

.visit { padding-block:110px; background:var(--turquoise); }
.visit__grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.visit__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.visit-card { min-height:370px; padding:32px 30px; display:flex; flex-direction:column; background:var(--cream); color:var(--navy); }
.visit-card--hours { background:var(--navy); color:white; }
.visit-card__kicker { font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.visit-card h3 { margin:22px 0 25px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(36px,3.4vw,52px); font-weight:400; letter-spacing:-.02em; line-height:.95; text-transform:uppercase; }
.visit-card--hours h3 { color:var(--turquoise); }
.visit-card--hours h3 i { display:inline-grid; width:38px; height:38px; margin-right:8px; place-items:center; border-radius:50%; background:var(--orange); color:white; font-size:23px; font-style:normal; vertical-align:5px; animation:sun-spin 9s linear infinite; }
.visit-card p { margin:0 0 18px; font-size:14px; line-height:1.55; }
.visit-card__address { font-size:17px!important; font-weight:800; line-height:1.45!important; }
.visit-card dl { display:grid; margin:0 0 20px; }
.visit-card dl>div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-top:1px solid rgba(255,255,255,.17); }
.visit-card dt { color:rgba(255,255,255,.68); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.visit-card dd { margin:0; font-size:14px; font-weight:800; }
.visit-card>a { width:max-content; display:flex; align-items:center; gap:14px; margin-top:auto; padding-bottom:7px; border-bottom:2px solid currentColor; font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.visit-card>a span { font-size:17px; }
.visit-map { position:relative; grid-column:1/-1; min-height:440px; margin-top:20px; overflow:hidden; background:var(--cream); box-shadow:0 20px 45px rgba(16,39,58,.18); }
.visit-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:saturate(.68) contrast(1.04); }
.visit-map__label { position:absolute; z-index:1; top:24px; left:24px; min-width:250px; padding:17px 20px; display:grid; gap:5px; background:var(--navy); color:white; box-shadow:7px 7px 0 var(--orange); pointer-events:none; }
.visit-map__label strong { font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.visit-map__label span { color:var(--turquoise); font-size:12px; font-weight:700; }
.wpz-map__consent { min-height:440px; padding:105px 42px 42px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; background:radial-gradient(circle at 50% 20%,rgba(83,171,168,.28),transparent 30%),linear-gradient(135deg,#e4ded0,var(--cream)); }
.wpz-map__consent strong { font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(30px,4vw,54px); line-height:.95; text-transform:uppercase; }
.wpz-map__consent p { max-width:580px; margin:0; font-size:15px; }
.wpz-map__consent>a { color:var(--navy); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.wpz-map__pin { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--orange); color:white; font-size:30px; }
.wpz-map--page { position:relative; min-height:560px; overflow:hidden; background:var(--cream); }
.wpz-map--page iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:saturate(.68) contrast(1.04); }
.wpz-map--page .wpz-map__consent { min-height:560px; }

.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; padding-block:150px; }
.faq__list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; padding:28px 0; font-size:18px; font-weight:750; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--orange); font-size:26px; transition:transform .2s; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { max-width:680px; margin:-6px 0 28px; color:rgba(16,39,58,.72); line-height:1.7; }
.final-cta { position:relative; min-height:640px; display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.final-cta>img { z-index:-2; object-fit:cover; }
.final-cta__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,25,38,.9),rgba(5,25,38,.24)); }
.final-cta__content { color:white; }
.final-cta h2 { margin-bottom:34px; font-size:clamp(76px,10vw,150px); }

.footer { padding:85px 0 28px; background:var(--navy); color:white; }
.footer__grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:55px; align-items:start; }
.footer__grid>img { width:180px; height:auto; margin-top:-30px; }
.footer__grid>div { display:grid; gap:12px; }
.footer__grid strong { margin-bottom:8px; color:var(--turquoise); font-size:11px; letter-spacing:.15em; text-transform:uppercase; }
.footer__grid a { color:rgba(255,255,255,.72); font-size:14px; }
.footer__grid a:hover { color:white; }
.footer__bottom { display:flex; justify-content:space-between; margin-top:70px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.48); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.wpz-consent-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; color:rgba(255,255,255,.58); font-size:12px; }
.wpz-consent-links a:hover { color:white; }
.hero__info--unknown { grid-template-columns:1fr auto; }
.elementor-location-header { position:absolute; z-index:30; inset:0 0 auto; width:100%; }
body:not(.home) .elementor-location-header { position:relative; background:var(--navy); }
.elementor-location-header .elementor-element,.elementor-location-footer .elementor-element { --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; }

.event-hero { position:relative; min-height:760px; display:flex; align-items:end; padding:180px 0 100px; isolation:isolate; overflow:hidden; background:var(--navy); color:white; }
.event-hero>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.event-hero__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,22,34,.9),rgba(6,22,34,.28)),linear-gradient(0deg,rgba(6,22,34,.64),transparent 56%); }
.event-hero__content { margin-inline:auto; }
.event-hero h1 { max-width:980px; font-size:clamp(64px,8vw,126px); }
.event-hero__content>p:not(.eyebrow) { max-width:760px; margin:30px 0; font-size:clamp(18px,2vw,24px); line-height:1.55; color:rgba(255,255,255,.86); }
.event-benefits { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding-block:130px; align-items:start; }
.event-benefits ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.event-benefits li { padding:24px 0 24px 36px; border-bottom:1px solid var(--line); font-size:18px; line-height:1.45; position:relative; }
.event-benefits li::before { content:'→'; position:absolute; left:0; color:var(--orange); font-weight:900; }
.event-story { padding-block:120px; background:var(--turquoise); }
.event-story__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:center; }
.event-story__grid>img { width:100%; min-height:560px; object-fit:cover; box-shadow:22px 22px 0 rgba(16,39,58,.16); }
.event-story h2 { color:var(--navy); }
.event-story p:not(.eyebrow) { margin:28px 0; color:rgba(16,39,58,.84); font-size:18px; line-height:1.7; }
.event-plan { display:grid; grid-template-columns:1fr 1fr; gap:9vw; padding-block:140px; }
.event-plan ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.event-plan li { display:grid; gap:8px; padding:25px 0; border-bottom:1px solid var(--line); }
.event-plan strong { text-transform:uppercase; letter-spacing:.04em; }
.event-plan span { color:rgba(16,39,58,.7); line-height:1.55; }
.event-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; padding-block:140px; }
.event-related { padding-block:120px; background:var(--navy); color:white; }
.event-related h2 { color:var(--turquoise); }
.event-related__grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:55px; border-block:1px solid rgba(255,255,255,.16); }
.event-related__grid a { min-height:160px; display:flex; justify-content:space-between; align-items:end; gap:20px; padding:28px; border-right:1px solid rgba(255,255,255,.16); font-family:Impact,'Arial Narrow',sans-serif; font-size:28px; text-transform:uppercase; }
.event-related__grid a:last-child { border-right:0; }
.event-related__grid a:hover { background:var(--turquoise); color:var(--navy); }
.event-inquiry { padding-block:130px; background:var(--cream); }
.event-inquiry__grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.event-inquiry p:not(.eyebrow) { font-size:18px; line-height:1.6; }
.wpz-form-placeholder { padding:34px; border:2px solid var(--navy); background:var(--paper); }
.wpz-form-placeholder p { margin:12px 0 24px; }

@media (max-width:1050px) {
  .site-header { grid-template-columns:150px 1fr auto; }
  .brand { width:145px; height:165px; }
  .desktop-nav { display:none; }
  .mobile-menu { display:block; justify-self:end; }
  .header-cta { display:none; }
  .offers__grid { grid-template-columns:1fr 1fr; }
  .offer-card:first-child { grid-row:span 2; }
  .groups__title { grid-template-columns:1fr; gap:20px; }
  .corporate__grid { grid-template-columns:1fr; }
  .corporate__image { min-height:520px; }
  .hero__info { width:min(680px,68vw); }
}
@media (max-width:760px) {
  .shell { width:min(100% - 30px,620px); }
  .hero { min-height:100svh; height:auto; }
  .hero__shade { background:linear-gradient(0deg,rgba(6,22,34,.82),rgba(6,22,34,.2)),linear-gradient(90deg,rgba(6,22,34,.55),transparent); }
  .site-header { height:98px; grid-template-columns:112px 1fr; }
  .elementor-location-header .site-header { width:min(calc(100% - 30px),620px); }
  .brand { width:108px; height:128px; padding:3px 8px 14px; }
  .hero__content { padding-top:clamp(74px,9vh,105px); padding-bottom:245px; }
  body.home .hero__content { padding-top:calc(98px + clamp(74px,9vh,105px)); }
  .hero__content .eyebrow { margin-bottom:28px; }
  h1 { font-size:clamp(61px,20vw,90px); }
  .hero__lead { max-width:95%; font-size:17px; }
  .hero__actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero__info { width:calc(100% - 15px); min-height:172px; padding:16px 20px; grid-template-columns:1fr auto; gap:14px 18px; }
  .hero__today { padding-right:14px; }
  .hero__hours { grid-column:1/-1; grid-row:2; order:3; padding-top:12px; border-top:1px solid rgba(16,39,58,.25); }
  .hero__info>a { justify-self:end; }
  .cable-motion { min-height:260px; }
  .cable-motion__rider { top:58px; width:300px; }
  .intro { grid-template-columns:1fr; gap:44px; padding-block:100px; }
  .intro__copy>p:first-child { font-size:18px; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .offers { padding-top:90px; padding-bottom:100px; }
  .offers__grid { grid-template-columns:1fr; }
  .offer-card,.offer-card--tall { min-height:480px; }
  .first-time { padding-block:90px; }
  .first-time__grid { grid-template-columns:1fr; }
  .first-time__image-wrap { min-height:480px; }
  .stamp { top:-40px; right:-5px; width:125px; height:125px; }
  .stamp strong { font-size:30px; }
  .corporate { padding-block:90px; }
  .corporate__image { min-height:430px; }
  .groups { padding-block:100px; }
  .groups__cards { grid-template-columns:1fr; }
  .groups__cards a { min-height:190px; border-right:0; border-bottom:1px solid var(--line); }
  .visit { padding-block:90px; }
  .visit__grid,.faq { grid-template-columns:1fr; }
  .visit__grid { gap:50px; }
  .visit-card { min-height:330px; }
  .visit-map { min-height:360px; margin-top:0; }
  .faq { gap:55px; padding-block:100px; }
  .final-cta { min-height:560px; }
  .footer__grid { grid-template-columns:1fr 1fr; }
  .footer__grid>img { grid-column:1/-1; width:150px; }
  .footer__bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .event-hero { min-height:680px; padding:150px 0 70px; }
  .event-benefits,.event-story__grid,.event-plan,.event-faq,.event-inquiry__grid { grid-template-columns:1fr; gap:48px; }
  .event-benefits,.event-plan,.event-faq,.event-inquiry { padding-block:90px; }
  .event-story { padding-block:90px; }
  .event-story__grid>img { min-height:390px; }
  .event-related__grid { grid-template-columns:1fr; }
  .event-related__grid a { min-height:130px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
}
@media (max-width:420px) {
  .hero__hours { gap:9px; }
  .hero__hours b { font-size:12px; }
  .visit__details { grid-template-columns:1fr; }
  .visit-map__label { top:15px; left:15px; min-width:0; }
  .footer__grid { grid-template-columns:1fr; }
}
@keyframes hero-enter { from { opacity:0; transform:translateY(38px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-drift { from { transform:scale(1.03) translate3d(-.5%,0,0); } to { transform:scale(1.1) translate3d(1.5%,-1%,0); } }
@keyframes info-enter { from { opacity:0; transform:translateX(70px); } to { opacity:1; transform:translateX(0); } }
@keyframes sun-spin { to { transform:rotate(360deg); } }
@keyframes cable-ride { 0% { left:-440px; transform:translateY(32px) rotate(-12deg); } 45% { transform:translateY(-6px) rotate(-4deg); } 100% { left:calc(100% + 80px); transform:translateY(15px) rotate(8deg); } }
@keyframes ticker { to { transform:translateX(-25%); } }
@keyframes word-drift { to { transform:translateX(-50%); } }
@keyframes section-rise { from { opacity:.12; transform:translateY(70px); } to { opacity:1; transform:translateY(0); } }
@keyframes section-slide-left { from { opacity:.2; transform:translateX(-70px); } to { opacity:1; transform:translateX(0); } }
@keyframes section-slide-right { from { opacity:.2; transform:translateX(70px); } to { opacity:1; transform:translateX(0); } }
@keyframes image-drift { from { transform:scale(1.12) translateY(35px); } to { transform:scale(1) translateY(-20px); } }

@supports (animation-timeline:view()) {
  .intro>div,.section-heading,.offer-card,.first-time__copy,.groups__title,.groups__cards>a,.visit__grid>div,.faq__intro,.faq__list { animation:section-rise linear both; animation-timeline:view(); animation-range:entry 5% cover 32%; }
  .offer-card:nth-child(2),.groups__cards>a:nth-child(2) { animation-range:entry 12% cover 38%; }
  .offer-card:nth-child(3),.groups__cards>a:nth-child(3) { animation-range:entry 19% cover 44%; }
  .first-time__image-wrap,.corporate__image { animation:section-slide-left linear both; animation-timeline:view(); animation-range:entry 5% cover 36%; }
  .corporate__copy { animation:section-slide-right linear both; animation-timeline:view(); animation-range:entry 8% cover 39%; }
  .first-time__image-wrap>img,.corporate__image>img,.final-cta>img { animation:image-drift linear both; animation-timeline:view(); animation-range:entry 0% exit 100%; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; } }

/* Core pages */
.core-hero { position:relative; min-height:620px; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; background:var(--navy); }
.core-hero>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.core-hero__shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,22,34,.9) 0%,rgba(6,22,34,.58) 48%,rgba(6,22,34,.15) 100%),linear-gradient(0deg,rgba(6,22,34,.62),transparent 55%); }
.core-hero__content { padding-top:180px; padding-bottom:82px; }
.core-hero h1 { max-width:980px; font-size:clamp(64px,9vw,132px); }
.core-hero__content>p:last-child { max-width:760px; margin:30px 0 0; color:white; font-size:clamp(18px,2vw,25px); line-height:1.45; }
.core-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:110px; border-bottom:1px solid var(--line); }
.core-sections article { min-height:330px; padding:46px; border-top:1px solid var(--line); border-right:1px solid var(--line); }
.core-sections article:nth-child(even) { border-right:0; }
.core-sections article>span { color:var(--orange); font-weight:850; letter-spacing:.12em; }
.core-sections h2 { max-width:620px; margin-top:42px; font-size:clamp(42px,5vw,72px); }
.core-sections p { max-width:650px; margin:28px 0 0; font-size:18px; line-height:1.7; }
.core-special { padding-block:110px; background:var(--navy); color:white; }
.core-special .hero__info { position:relative; right:auto; bottom:auto; width:100%; max-width:100%; margin:36px 0; animation:none; }
.core-special .hero__info--unknown { min-height:150px; }
.core-special .button { margin-top:32px; }
.core-map { display:grid; grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr); gap:70px; padding-block:110px; align-items:center; }
.core-map h2 { margin-bottom:42px; font-size:clamp(46px,6vw,78px); }
.core-map iframe { width:100%; min-height:560px; border:0; filter:saturate(.7) contrast(1.05); }
.core-form { padding-block:110px; background:var(--cream); }
.core-form__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.core-form h2 { font-size:clamp(60px,7vw,96px); }
.core-form__grid>div>p:last-child { max-width:470px; font-size:18px; line-height:1.6; }
.wpz-inquiry-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.wpz-inquiry-form label { display:grid; gap:9px; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.wpz-inquiry-form input,.wpz-inquiry-form textarea { width:100%; padding:15px 0; border:0; border-bottom:2px solid var(--navy); border-radius:0; outline:0; background:transparent; color:var(--navy); font:500 17px/1.4 Arial,sans-serif; }
.wpz-inquiry-form input:focus,.wpz-inquiry-form textarea:focus { border-color:var(--orange); }
.wpz-form-full { grid-column:1/-1; }
.wpz-form-consent { grid-template-columns:auto 1fr!important; align-items:start; font-size:13px!important; font-weight:600!important; line-height:1.5; letter-spacing:0!important; text-transform:none!important; }
.wpz-form-consent input { width:20px; margin-top:2px; }
.wpz-form-consent a { text-decoration:underline; }
.wpz-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.wpz-form-notice { grid-column:1/-1; padding:18px 22px; font-weight:750; }
.wpz-form-notice--success { background:#d9f4e4; color:#164c2a; }
.wpz-form-notice--error { background:#ffe1d5; color:#7a2910; }
.wpz-zoho-form iframe { width:100%; min-height:760px; border:0; background:white; }
.wpz-zoho-form>p { margin-top:12px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.wpz-form-fallback { padding:38px; border:2px solid var(--navy); background:var(--cream); box-shadow:10px 10px 0 var(--turquoise); }
.wpz-form-fallback strong { display:block; margin-bottom:12px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(30px,4vw,52px); line-height:1; text-transform:uppercase; }
.core-related { padding-block:90px; background:var(--navy); color:white; }
.core-related__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:35px; border-top:1px solid rgba(255,255,255,.18); }
.core-related__grid a { min-height:160px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:28px; border-right:1px solid rgba(255,255,255,.18); }
.core-related__grid a:last-child { border-right:0; }
.core-related__grid strong { font-size:18px; }
.wpz-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.18); }
.wpz-event-grid a,.wpz-empty-events { display:grid; gap:18px; min-height:220px; padding:34px; background:var(--navy); border:1px solid rgba(255,255,255,.18); }
.wpz-event-grid time { color:var(--turquoise); font-weight:850; }
.wpz-event-grid strong,.wpz-empty-events strong { font-family:Impact,"Arial Narrow",sans-serif; font-size:36px; font-weight:400; text-transform:uppercase; }
.core-legal { padding-block:90px 130px; }
.core-legal__notice { display:grid; gap:8px; margin-bottom:55px; padding:22px 26px; border-left:5px solid var(--orange); background:var(--cream); }
.core-legal__content { max-width:900px; font-size:16px; line-height:1.75; white-space:pre-line; }
.core-legal__content p { margin:0 0 24px; }

@media (max-width:900px) {
  .core-sections,.core-map,.core-form__grid { grid-template-columns:1fr; }
  .core-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wpz-event-grid { grid-template-columns:1fr 1fr; }
  .core-map { gap:42px; }
}
@media (max-width:760px) {
  .core-hero { min-height:570px; }
  .core-hero__content { padding-top:145px; padding-bottom:64px; }
  .core-sections { padding-block:70px; }
  .core-sections article { min-height:0; padding:36px 20px; border-right:0; }
  .core-map,.core-form { padding-block:80px; }
  .core-map iframe { min-height:420px; }
  .wpz-inquiry-form,.core-related__grid,.wpz-event-grid { grid-template-columns:1fr; }
  .core-related__grid a { min-height:120px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
}
