:root{
  --navy:#052b79;
  --blue:#005eb2;
  --blue-2:#287dd7;
  --aqua:#afe5fa;
  --sky:#f0fbff;
  --ink:#000613;
  --muted:#526176;
  --line:#d9e8f1;
  --white:#fff;
  --orange:#ff7a00;
  --success:#0a8f5b;
  --danger:#c63232;
  --radius-sm:10px;
  --radius-md:22px;
  --radius-lg:34px;
  --shadow:0 20px 60px rgba(5,43,121,.10);
  --shadow-soft:0 10px 30px rgba(5,43,121,.07);
  --container:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid rgba(40,125,215,.35);outline-offset:3px}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding:88px 0}
.section-tight{padding:58px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.76rem;color:var(--blue)}
.h1,.h2,.h3,h1,h2,h3{letter-spacing:-.035em;margin:0}
h1,.h1{font-size:clamp(2.5rem,6vw,5.6rem);line-height:.98;font-weight:760}
h2,.h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;font-weight:740}
h3,.h3{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.1}
p{margin:0}
.lede{font-size:clamp(1rem,1.8vw,1.24rem);color:var(--muted);max-width:760px}
.muted{color:var(--muted)}
.small{font-size:.88rem}
.stack{display:grid;gap:18px}
.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}

.site-header{position:sticky;top:0;z-index:90;padding:12px 0;background:rgba(255,255,255,.74);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(5,43,121,.08)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:60px;height:60px;object-fit:contain}
.nav-links{display:flex;justify-content:center;align-items:center;gap:30px;font-size:.88rem;font-weight:650}
.nav-links a{padding:8px 0;position:relative}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--blue);transition:.25s ease}
.nav-links a:hover:after,.nav-links a[aria-current="page"]:after{right:0}
.nav-actions{display:flex;align-items:center;gap:10px}
.lang-toggle,.icon-btn,.glass-btn,.btn,.btn-secondary,.btn-orange{border:1px solid rgba(5,43,121,.12);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(5,43,121,.06);backdrop-filter:blur(14px);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;padding:11px 16px;color:var(--ink)}
.lang-toggle:hover,.icon-btn:hover,.glass-btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(5,43,121,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700;padding:13px 20px}
.btn:hover{background:#004a8c;transform:translateY(-1px)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--blue);font-weight:700}
.btn-orange{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);border-color:var(--orange);color:#fff;font-weight:760;padding:13px 22px}
.btn-orange:hover{background:#e96f00;transform:translateY(-1px)}
.icon-btn{width:44px;height:44px;padding:0;display:grid;place-items:center;position:relative}
.cart-button{position:relative;padding-right:30px}.cart-count{position:absolute;top:-5px;right:-4px;background:var(--orange);color:#fff;font-size:.7rem;min-width:20px;height:20px;border-radius:99px;display:grid;place-items:center;font-weight:800;border:2px solid #fff}
.menu-btn{display:none}

.hero{position:relative;min-height:min(760px,88vh);display:grid;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,43,121,.88) 0%,rgba(5,43,121,.62) 45%,rgba(5,43,121,.24) 75%,rgba(5,43,121,.15) 100%),url('/assets/images/hero-castle.webp') center/cover no-repeat;transform:scale(1.01)}
.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:76px 0 92px}
.hero-copy{max-width:720px}
.hero .eyebrow{color:var(--aqua)}
.hero p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:620px;color:rgba(255,255,255,.86)}
.hero-card{justify-self:end;width:min(420px,100%);padding:26px;border-radius:34px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(20px);box-shadow:0 24px 60px rgba(0,0,0,.18)}
.hero-card img{width:100%;aspect-ratio:1/1;border-radius:26px;object-fit:cover}
.hero-badge{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px}
.hero-badge strong{font-size:1.2rem}

.icon-strip{background:var(--sky);padding:28px 0;border-block:1px solid rgba(5,43,121,.06)}
.icon-strip .inner{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.icon-pill{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:650}
.icon-pill span:first-child{width:36px;height:36px;border-radius:11px;background:rgba(0,94,178,.09);display:grid;place-items:center;color:var(--blue)}

.experiences{background:linear-gradient(180deg,var(--sky),#fff)}
.experience-card{border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}
.experience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.experience-card img{width:100%;aspect-ratio:1.08/1;object-fit:cover}
.experience-card .body{padding:20px;text-align:center}
.experience-card .body h3{color:var(--blue)}
.why-card{background:linear-gradient(135deg,#0078ff,#005eb2);color:#fff;border-radius:30px;padding:34px;display:grid;gap:22px;min-height:100%}
.trust-list{display:grid;gap:14px}
.trust-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.trust-item:last-child{border-bottom:0}
.trust-icon{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:0 0 auto}

.media-panel{border-radius:34px;overflow:hidden;position:relative;min-height:430px;background:url('/assets/images/hero-swimmer.webp') center/cover no-repeat;box-shadow:var(--shadow)}
.media-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,43,121,.82),rgba(5,43,121,.08))}
.media-copy{position:absolute;z-index:2;left:clamp(24px,5vw,70px);bottom:clamp(24px,5vw,62px);color:#fff;max-width:620px}

.route-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch}
.route-map{background:linear-gradient(145deg,#dff4ff,#b8e5f7);border:1px solid rgba(5,43,121,.09);border-radius:30px;min-height:460px;position:relative;overflow:hidden;padding:28px}
.route-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),transparent 38%),linear-gradient(145deg,rgba(0,120,255,.04),rgba(5,43,121,.05))}
.route-svg{position:absolute;inset:10%;width:80%;height:80%}
.route-line{stroke:var(--blue);stroke-width:2.4;stroke-dasharray:5 6;fill:none;opacity:.75}
.route-dot{fill:var(--orange);stroke:#fff;stroke-width:2}
.route-label{font-size:12px;fill:var(--navy);font-weight:700}
.route-cards{display:grid;gap:14px}
.route-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.route-card strong{display:block}
.route-card span{font-size:.9rem;color:var(--muted)}

.photo-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:220px 220px;gap:14px}
.photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.photo-grid img:first-child{grid-row:1/3}

.closing-cta{position:relative;border-radius:36px;overflow:hidden;min-height:340px;display:grid;place-items:center;color:#fff;text-align:center;background:url('/assets/images/closing-cta.webp') center/cover no-repeat;padding:40px}
.closing-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,43,121,.78),rgba(0,94,178,.46))}
.closing-cta .inner{position:relative;z-index:2;max-width:760px;display:grid;gap:18px;justify-items:center}

.site-footer{background:var(--navy);color:#fff;padding:50px 0 28px;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.1fr repeat(3,.7fr);gap:32px}
.footer-logo img{width:92px;background:#fff;border-radius:16px;padding:8px}
.footer-col{display:grid;gap:10px;align-content:start}
.footer-col h4{margin:0 0 8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--aqua)}
.footer-col a{color:rgba(255,255,255,.82);font-size:.9rem}
.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.65);font-size:.82rem}

.page-hero{padding:80px 0 52px;background:linear-gradient(180deg,var(--sky),#fff)}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.page-hero img{width:100%;height:320px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}

.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:7px;background:#fff;border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%;box-shadow:var(--shadow-soft)}
.tab{border:0;background:transparent;border-radius:999px;padding:10px 16px;font-weight:700;color:var(--muted)}
.tab.active{background:var(--blue);color:#fff}

.catalog-shell{background:var(--sky);min-height:70vh}
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start}
.filter-panel{position:sticky;top:100px;background:rgba(255,255,255,.76);backdrop-filter:blur(18px);border:1px solid rgba(5,43,121,.08);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft);display:grid;gap:20px}
.filter-group{display:grid;gap:8px}
.filter-group h4{margin:0;font-size:.86rem}
.check{display:flex;gap:9px;align-items:center;font-size:.88rem;color:var(--muted)}
.check input{accent-color:var(--blue)}
.filter-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem}
.link-btn{border:0;background:transparent;color:var(--blue);font-weight:700;padding:0}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{background:#fff;border:1px solid rgba(5,43,121,.08);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);display:grid;grid-template-rows:auto 1fr;transition:transform .22s ease,box-shadow .22s ease}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.product-image{position:relative;overflow:hidden;background:#dceef8}
.product-image img{width:100%;aspect-ratio:1.35/1;object-fit:cover;transition:transform .5s ease}
.product-card:hover .product-image img{transform:scale(1.035)}
.badge{position:absolute;top:12px;left:12px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);padding:7px 10px;font-size:.72rem;font-weight:800;color:var(--navy);box-shadow:0 4px 14px rgba(5,43,121,.08)}
.status-badge{position:absolute;top:12px;right:12px;border-radius:999px;background:#fff5e8;color:#a85800;padding:7px 10px;font-size:.72rem;font-weight:800}
.product-body{padding:18px;display:grid;gap:12px;align-content:start}
.product-title{font-size:1.12rem;font-weight:780;letter-spacing:-.02em}
.product-desc{font-size:.88rem;color:var(--muted);min-height:2.7em}
.product-stats{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}
.stat{background:var(--sky);border-radius:999px;padding:6px 9px}
.product-footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto}
.price{font-weight:820;color:var(--navy)}
.card-actions{display:flex;gap:8px}
.card-actions button{border:0;border-radius:999px;padding:9px 12px;font-size:.78rem;font-weight:760}
.add-btn{background:var(--orange);color:#fff}
.view-btn{background:var(--sky);color:var(--blue)}
.group-price{display:grid;gap:6px;margin-top:4px}
.group-price select{width:100%;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff}

.product-detail{display:none}
.product-detail.open{display:block}
.detail-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(5,43,121,.08)}
.detail-hero{height:380px;position:relative;background:#dceef8}
.detail-hero img{width:100%;height:100%;object-fit:cover}
.detail-hero:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.62))}
.detail-title{position:absolute;z-index:2;left:28px;bottom:24px;color:#fff;font-size:clamp(2rem,4vw,3.5rem);font-weight:800;letter-spacing:-.04em}
.detail-tabs{display:flex;gap:4px;padding:14px 18px;border-bottom:1px solid var(--line);overflow:auto}
.detail-tabs button{white-space:nowrap;border:0;background:transparent;padding:10px 13px;border-radius:999px;color:var(--muted);font-size:.84rem;font-weight:700}
.detail-tabs button.active{background:var(--sky);color:var(--blue)}
.detail-content{padding:28px;display:grid;gap:18px}
.detail-content ul{margin:0;padding-left:20px;color:var(--muted)}
.detail-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;border-top:1px solid var(--line);background:#fbfdff;flex-wrap:wrap}

.cart-drawer{position:fixed;top:0;right:0;width:min(460px,100%);height:100%;z-index:130;background:rgba(255,255,255,.93);backdrop-filter:blur(22px);box-shadow:-20px 0 60px rgba(0,0,0,.16);transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);display:grid;grid-template-rows:auto 1fr auto}
.cart-drawer.open{transform:translateX(0)}
.scrim{position:fixed;inset:0;background:rgba(0,6,19,.42);z-index:120;opacity:0;pointer-events:none;transition:.25s}
.scrim.open{opacity:1;pointer-events:auto}
.cart-head{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.cart-items{overflow:auto;padding:18px;display:grid;gap:12px;align-content:start}
.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}
.cart-item img{width:70px;height:70px;border-radius:12px;object-fit:cover}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff}
.remove{color:var(--danger);border:0;background:transparent;padding:0;font-size:.8rem}
.cart-foot{padding:20px;border-top:1px solid var(--line);display:grid;gap:14px;background:#fff}
.total-row{display:flex;justify-content:space-between;font-weight:800;font-size:1.15rem}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}

.checkout-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}
.form-card,.summary-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow-soft)}
.summary-card{position:sticky;top:110px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.82rem;font-weight:740;color:#24334b}
.field input,.field select,.field textarea{border:1px solid #cfe0eb;background:#fbfdff;border-radius:13px;padding:12px 13px;color:var(--ink);width:100%}
.field textarea{min-height:110px;resize:vertical}
.field .hint{font-size:.76rem;color:var(--muted)}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:var(--muted)}
.check-row input{margin-top:4px;accent-color:var(--blue)}
.alert{border-radius:14px;padding:12px 14px;font-size:.86rem;display:none}
.alert.show{display:block}
.alert.error{background:#fff0f0;color:#8f2525;border:1px solid #f3caca}
.alert.success{background:#ecfff6;color:#146944;border:1px solid #c3f0da}
.order-status{display:grid;gap:10px;padding:16px;border-radius:18px;background:var(--sky);font-size:.86rem}

.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}
.cal-head{font-size:.72rem;color:var(--muted);text-align:center;font-weight:700}
.cal-day{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:38px;display:grid;place-items:center;font-size:.78rem}
.cal-day.available{border-color:#8fd3ff;background:#eaf7ff;color:var(--blue);font-weight:780;cursor:pointer}
.cal-day.selected{background:var(--blue);color:#fff;border-color:var(--blue)}
.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.76rem;color:var(--muted);margin-top:10px}
.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.legend-dot.available{background:#b9e5ff;border:1px solid #6bbdec}
.legend-dot.selected{background:var(--blue)}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:14px 16px;border-bottom:1px solid #e8f0f5;text-align:left;font-size:.86rem}
th{background:#f8fbfd;color:#38506b;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}
tr:last-child td{border-bottom:0}

.cookie-banner{position:fixed;left:20px;bottom:20px;z-index:200;width:min(560px,calc(100% - 40px));padding:20px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(5,43,121,.12);backdrop-filter:blur(24px);box-shadow:0 24px 70px rgba(5,43,121,.20);display:none}
.cookie-banner.show{display:grid;gap:14px}
.cookie-actions{display:flex;gap:9px;flex-wrap:wrap}
.cookie-actions button{border-radius:999px;padding:10px 14px;font-weight:720;border:1px solid var(--line);background:#fff}
.cookie-actions .accept{background:var(--blue);color:#fff;border-color:var(--blue)}
.cookie-panel{display:none;margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.cookie-panel.open{display:grid;gap:10px}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1080px){
  .nav-links{gap:18px}
  .hero-content{grid-template-columns:1fr .7fr}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .section{padding:64px 0}
  .nav{grid-template-columns:auto 1fr auto}
  .nav-links{position:fixed;top:91px;left:20px;right:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(22px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:16px;display:none;flex-direction:column;align-items:stretch;gap:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px}
  .menu-btn{display:grid}
  .desktop-cta{display:none}
  .hero{min-height:auto}
  .hero-content,.page-hero .wrap,.route-panel,.checkout-wrap{grid-template-columns:1fr}
  .hero-card{justify-self:start;width:min(360px,100%)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr 1fr}
  .catalog-layout{grid-template-columns:1fr}
  .filter-panel{position:relative;top:auto}
  .summary-card{position:relative;top:auto}
  .photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
  .photo-grid img:first-child{grid-row:auto;grid-column:1/-1}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .site-header{padding:7px 0}
  .brand img{width:52px;height:52px}
  .nav{min-height:60px;gap:12px}
  .nav-actions{gap:6px}
  .lang-toggle{padding:9px 10px;font-size:.78rem}
  .hero-content{padding:52px 0 64px}
  .hero-card{display:none}
  .icon-strip .inner{grid-template-columns:repeat(2,1fr)}
  .grid-2,.grid-3,.grid-4,.product-grid,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .photo-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .photo-grid img,.photo-grid img:first-child{grid-row:auto;grid-column:auto;height:220px}
  .route-map{min-height:340px}
  .detail-hero{height:280px}
  .detail-content,.detail-cta{padding:20px}
  .footer-grid{grid-template-columns:1fr}
  .cart-item{grid-template-columns:58px 1fr}
  .cart-item img{width:58px;height:58px}
  .cart-item>div:last-child{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

@keyframes heroDrift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(-.35%,.2%,0)}}
@media (prefers-reduced-motion:no-preference){.hero:before{animation:heroDrift 18s ease-in-out infinite alternate}}

/* =========================
   Stage 3 — Motion / Immersive UI System
   ========================= */
:root{
  --gold:#f6b73c;
  --deep:#001a42;
  --glass:rgba(255,255,255,.72);
  --glass-dark:rgba(0,20,55,.42);
  --ease-apple:cubic-bezier(.22,1,.36,1);
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:lgsaPageOut .22s ease both}
::view-transition-new(root){animation:lgsaPageIn .48s var(--ease-apple) both}
@keyframes lgsaPageOut{to{opacity:0;transform:scale(.992)}}
@keyframes lgsaPageIn{from{opacity:0;transform:translateY(10px) scale(.994)}}
.page-progress{position:fixed;z-index:400;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--aqua),var(--gold));transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-button{--mag-x:0px;--mag-y:0px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;width:max-content;max-width:100%;padding:13px 17px;border-radius:999px;border:1px solid rgba(5,43,121,.14);background:rgba(255,255,255,.82);color:var(--navy);font-weight:760;box-shadow:0 12px 34px rgba(5,43,121,.09);backdrop-filter:blur(18px) saturate(150%);transform:translate3d(var(--mag-x),var(--mag-y),0);transition:transform .42s var(--ease-apple),box-shadow .32s ease,background .32s ease,border-color .32s ease}
.motion-button:hover{box-shadow:0 18px 42px rgba(5,43,121,.16);background:#fff;border-color:rgba(0,94,178,.30)}
.motion-button span:last-child{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;transition:transform .4s var(--ease-apple)}
.motion-button:hover span:last-child{transform:rotate(12deg) scale(1.08)}
.secondary-motion{background:rgba(240,251,255,.88)}
.glass-on-dark{color:#fff;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.32);box-shadow:0 18px 50px rgba(0,0,0,.16)}
.glass-on-dark:hover{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.5)}
.motion-card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .42s var(--ease-apple),box-shadow .42s var(--ease-apple);position:relative}
.motion-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.34),transparent 32%);opacity:.45;mix-blend-mode:screen}
[data-parallax]{transform:translate3d(0,var(--parallax-y,0),0);will-change:transform}

/* Immersive Legends / Awards / Hall of Fame */
.story-page{overflow:clip;background:#fff}
.story-intro{padding:88px 0 44px;background:linear-gradient(180deg,#f1fbff 0,#fff 92%)}
.story-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:end}
.story-switcher{display:grid;gap:10px}
.story-tab{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;gap:1px 12px;border:1px solid rgba(5,43,121,.10);border-radius:22px;padding:15px 17px;background:rgba(255,255,255,.76);box-shadow:0 10px 30px rgba(5,43,121,.06);transition:transform .45s var(--ease-apple),background .35s,border-color .35s,box-shadow .35s}
.story-tab>span{grid-row:1/3;color:var(--blue);font-size:.74rem;letter-spacing:.12em;font-weight:800;padding-top:4px}.story-tab strong{font-size:1.08rem}.story-tab small{color:var(--muted)}
.story-tab:hover{transform:translateX(6px);box-shadow:0 16px 36px rgba(5,43,121,.10)}
.story-tab.active{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateX(10px)}.story-tab.active>span,.story-tab.active small{color:var(--aqua)}
.story-panel{animation:panelIn .72s var(--ease-apple) both}.story-panel[hidden]{display:none!important}
@keyframes panelIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.full-bleed-story{position:relative;width:100%;overflow:hidden;background:var(--deep);isolation:isolate}
.full-bleed-story>img{width:100%;height:auto;display:block;transform:scale(1.002)}
.full-bleed-story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,16,44,.72) 0%,rgba(0,16,44,.28) 52%,rgba(0,16,44,.06) 78%);z-index:1;pointer-events:none}
.story-overlay{position:absolute;z-index:2;left:max(24px,calc((100vw - min(calc(100vw - 40px),var(--container)))/2));top:50%;transform:translateY(-50%);width:min(680px,46vw);color:#fff;display:grid;gap:18px}
.story-overlay.right{left:auto;right:max(24px,calc((100vw - min(calc(100vw - 40px),var(--container)))/2));text-align:right;justify-items:end}
.story-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--aqua);font-weight:800}
.story-overlay h2{font-size:clamp(2rem,4.4vw,4.9rem);line-height:.98;text-wrap:balance}.story-overlay p{color:rgba(255,255,255,.78);font-size:clamp(.95rem,1.4vw,1.18rem);max-width:570px}.story-actions{display:flex;gap:12px;flex-wrap:wrap}
.record-toolbar{display:flex;justify-content:space-between;align-items:end;gap:22px;flex-wrap:wrap;margin-bottom:24px}.record-controls{display:flex;gap:10px;flex-wrap:wrap}.record-controls input,.premium-select{border:1px solid var(--line);border-radius:999px;padding:12px 15px;background:#fff;color:var(--ink);min-width:230px;box-shadow:0 8px 26px rgba(5,43,121,.05)}
.record-table{box-shadow:0 18px 60px rgba(5,43,121,.07)}.record-table tbody tr{transition:background .22s,transform .22s}.record-table tbody tr:hover{background:#f4fbff}.record-table td:first-child{font-weight:760;color:var(--navy)}
.relay-story{margin-top:30px}.awards-story:after{background:linear-gradient(90deg,rgba(0,16,44,.82),rgba(0,16,44,.18) 70%)}
.award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.award-card{border:1px solid rgba(5,43,121,.10);border-radius:30px;padding:28px;background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(240,251,255,.86));box-shadow:0 22px 66px rgba(5,43,121,.09);display:grid;gap:14px;overflow:hidden}.award-icon{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#ffdc7a);display:grid;place-items:center;color:#fff;font-size:1.45rem;box-shadow:0 10px 30px rgba(246,183,60,.28)}.award-card h3{font-size:2rem}.award-card p{color:var(--muted)}.award-card>strong{font-size:1.25rem;color:var(--navy)}.celebrate-mini{justify-self:start;border:0;border-radius:999px;background:var(--navy);color:#fff;padding:10px 14px;font-weight:740}.celebration-button{background:linear-gradient(135deg,#fff,#fff7df);border-color:rgba(246,183,60,.55)}
.hall-top{display:flex;justify-content:space-between;gap:30px;align-items:end}.decade-scrub{height:560vh;background:#001a42;position:relative}.decade-viewport{position:sticky;top:0;height:100vh;overflow:hidden;color:#fff;background:radial-gradient(circle at 74% 42%,rgba(40,125,215,.22),transparent 30%),linear-gradient(135deg,#001433,#001f50)}.decade-progress{position:absolute;z-index:10;left:0;right:0;top:0;height:4px;background:rgba(255,255,255,.13)}.decade-progress span{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--aqua),var(--blue),var(--gold))}.decade-copy{position:absolute;z-index:6;left:max(24px,calc((100vw - min(calc(100vw - 40px),var(--container)))/2));top:50%;transform:translateY(-50%);width:min(390px,32vw);display:grid;gap:13px}.decade-copy .eyebrow{color:var(--aqua)}.decade-year{font-size:clamp(5.5rem,12vw,12rem);line-height:.78;font-weight:850;letter-spacing:-.08em;color:#fff}.decade-copy p{color:rgba(255,255,255,.66)}.decade-frames{position:absolute;inset:0 0 0 38%;display:grid;place-items:center;padding:7vh 5vw}.decade-frames figure{position:absolute;inset:7vh 5vw 7vh 0;margin:0;display:grid;place-items:center;opacity:0;transform:scale(.94) translateY(30px);filter:blur(10px);transition:opacity .56s ease,transform .78s var(--ease-apple),filter .6s ease}.decade-frames figure.active{opacity:1;transform:scale(1);filter:none}.decade-frames img{width:100%;height:86vh;object-fit:contain;filter:drop-shadow(0 35px 70px rgba(0,0,0,.35))}.hall-carousel-section{padding:84px 0 100px}.apple-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px max(0px,calc((100vw - var(--container))/2)) 28px 0}.apple-carousel::-webkit-scrollbar{display:none}.year-card{flex:0 0 clamp(280px,37vw,520px);scroll-snap-align:start;border:0;border-radius:30px;background:#f4fbff;overflow:hidden;padding:0;box-shadow:0 18px 50px rgba(5,43,121,.10);position:relative;transition:transform .5s var(--ease-apple),box-shadow .4s}.year-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 30px 76px rgba(5,43,121,.16)}.year-card img{width:100%;height:460px;object-fit:contain;background:linear-gradient(150deg,#effaff,#fff);padding:18px}.year-card span{position:absolute;left:20px;bottom:18px;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-radius:999px;padding:8px 13px;color:var(--blue);font-weight:850;font-size:1.25rem}.carousel-buttons{display:flex;gap:8px}
.story-modal{position:fixed;inset:0;z-index:500;display:none}.story-modal.open{display:grid;place-items:center}.story-modal-backdrop{position:absolute;inset:0;background:rgba(0,6,19,.72);backdrop-filter:blur(18px)}.story-modal-panel{position:relative;z-index:2;width:min(1180px,calc(100% - 32px));max-height:90vh;display:grid;grid-template-columns:1.2fr .8fr;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.45);border-radius:34px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.38);animation:modalPop .55s var(--ease-apple) both}.story-modal-media{background:#001a42;display:grid;place-items:center;min-height:620px}.story-modal-media img{width:100%;height:100%;max-height:82vh;object-fit:contain;padding:26px}.story-modal-copy{padding:44px;display:grid;align-content:center;gap:18px}.story-modal-close{position:absolute;right:18px;top:18px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(5,43,121,.12);background:rgba(255,255,255,.88);font-size:1.6rem;box-shadow:0 10px 28px rgba(0,0,0,.10)}@keyframes modalPop{from{opacity:0;transform:scale(.96) translateY(20px)}to{opacity:1;transform:none}}
.celebration-layer{position:fixed;inset:0;z-index:700;pointer-events:none;overflow:hidden}.confetti-bit{position:absolute;width:9px;height:18px;border-radius:3px;background:var(--c);opacity:0;animation:confettiBurst 1.35s cubic-bezier(.15,.7,.25,1) forwards}.celebration-balloon{position:absolute;bottom:-120px;width:46px;height:58px;border-radius:50% 50% 48% 48%;background:linear-gradient(145deg,var(--aqua),var(--blue));box-shadow:inset -8px -10px 18px rgba(0,0,0,.13);animation:balloonRise 2s var(--ease-apple) var(--delay) forwards}.celebration-balloon:after{content:"";position:absolute;left:50%;top:56px;width:1px;height:56px;background:rgba(255,255,255,.8)}@keyframes confettiBurst{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot))}}@keyframes balloonRise{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:.9}100%{opacity:0;transform:translate(var(--drift),-115vh) scale(1.05)}}

/* Resources: interactive full-panel console */
.resources-page{background:#fff}.resource-hero{position:relative;min-height:72vh;overflow:hidden;background:#00214d}.resource-hero>img{width:100%;height:72vh;object-fit:cover}.resource-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,18,50,.86),rgba(0,18,50,.12) 72%)}.resource-hero-overlay{position:absolute;z-index:2;inset:0;display:grid;align-items:end;padding:0 0 8vh;color:#fff}.resource-hero-overlay .eyebrow{color:var(--aqua)}.resource-hero-overlay h1{font-size:clamp(3.3rem,7vw,7.6rem);max-width:900px}.resource-hero-overlay p{font-size:clamp(1rem,1.8vw,1.28rem);max-width:700px;color:rgba(255,255,255,.8)}.resource-console-wrap{position:sticky;top:91px;z-index:45;margin-top:-1px;padding:14px 0;background:rgba(255,255,255,.76);backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid rgba(5,43,121,.07)}.resource-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.resource-tabs::-webkit-scrollbar{display:none}.resource-tab{white-space:nowrap;border:1px solid rgba(5,43,121,.10);border-radius:999px;background:rgba(255,255,255,.78);padding:10px 15px;color:var(--muted);font-weight:760;transition:.35s var(--ease-apple)}.resource-tab span{color:var(--blue);margin-right:7px;font-size:.72rem}.resource-tab.active{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 12px 32px rgba(5,43,121,.18)}.resource-tab.active span{color:var(--aqua)}.resource-panel{min-height:66vh;animation:panelIn .6s var(--ease-apple) both}.resource-panel[hidden]{display:none!important}.resource-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}.resource-copy{max-width:600px}.resource-actions{display:flex;gap:10px;flex-wrap:wrap}.glass-media-panel{border-radius:32px;overflow:hidden;border:1px solid rgba(5,43,121,.10);box-shadow:0 24px 70px rgba(5,43,121,.11);background:rgba(255,255,255,.88)}.glass-media-panel img{width:100%;height:520px;object-fit:contain;background:#edf8ff}.media-caption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 20px;border-top:1px solid var(--line)}.media-caption span{color:var(--muted);font-size:.84rem}.resource-map-head{display:flex;justify-content:space-between;gap:26px;align-items:end;margin-bottom:26px}.map-layers{display:flex;gap:7px;padding:6px;background:#f0f8fc;border:1px solid var(--line);border-radius:999px}.map-layer{border:0;border-radius:999px;background:transparent;padding:10px 14px;color:var(--muted);font-weight:760}.map-layer.active{background:#fff;color:var(--blue);box-shadow:0 7px 20px rgba(5,43,121,.10)}.lake-map-console{display:grid;grid-template-columns:290px 1fr;border-radius:34px;overflow:hidden;border:1px solid rgba(5,43,121,.10);box-shadow:0 26px 80px rgba(5,43,121,.12);min-height:640px}.map-location-list{padding:16px;background:linear-gradient(180deg,#f6fcff,#edf8ff);display:grid;gap:8px;align-content:start}.map-location{text-align:left;border:1px solid transparent;border-radius:18px;background:transparent;padding:14px;display:grid;gap:4px;color:var(--ink);transition:.3s var(--ease-apple)}.map-location span{font-size:.83rem;color:var(--muted)}.map-location:hover{background:rgba(255,255,255,.7);transform:translateX(4px)}.map-location.active{background:#fff;border-color:rgba(0,94,178,.16);box-shadow:0 10px 28px rgba(5,43,121,.08);color:var(--blue)}.map-stage{position:relative;background:#d8edf8;min-height:640px}.map-stage iframe,.map-fallback{position:absolute;inset:0;width:100%;height:100%;border:0}.map-fallback{display:grid;background:#dfeff7;overflow:hidden}.map-fallback img{width:100%;height:100%;object-fit:cover}.map-fallback-label{position:absolute;left:18px;bottom:18px;padding:12px 15px;border-radius:16px;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.12);display:grid;gap:2px}.map-fallback-label span{font-size:.76rem;color:var(--muted)}.travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.travel-card{border:1px solid rgba(5,43,121,.09);border-radius:24px;padding:24px;background:linear-gradient(145deg,#fff,#f2fbff);box-shadow:0 12px 34px rgba(5,43,121,.06);transition:.42s var(--ease-apple)}.travel-card:hover{transform:translateY(-7px);box-shadow:0 22px 52px rgba(5,43,121,.11)}.travel-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);font-weight:820}.travel-card h3{margin:8px 0}.travel-card p{color:var(--muted);font-size:.9rem}.resource-links-head{max-width:760px;margin-bottom:34px}.logo-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.logo-card{min-height:190px;border:1px solid rgba(5,43,121,.08);border-radius:24px;padding:18px;background:#fff;display:grid;grid-template-rows:1fr auto;gap:10px;place-items:center;text-align:center;box-shadow:0 10px 30px rgba(5,43,121,.05);transition:.4s var(--ease-apple)}.logo-card:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 22px 48px rgba(5,43,121,.12)}.logo-card img{width:100%;height:105px;object-fit:contain}.logo-card span{font-size:.81rem;font-weight:720;color:#283b55}.links-cta{margin-top:28px}.tracking-frame{position:relative;border-radius:32px;overflow:hidden;box-shadow:0 24px 70px rgba(5,43,121,.14)}.tracking-frame img{width:100%;height:520px;object-fit:cover}.tracking-pulse{position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,122,0,.55);animation:trackingPulse 2s ease-out infinite}@keyframes trackingPulse{70%{box-shadow:0 0 0 32px rgba(255,122,0,0)}100%{box-shadow:0 0 0 0 rgba(255,122,0,0)}}

/* Catalog re-engineering */
.catalog-hero{padding:72px 0 50px;background:linear-gradient(180deg,#f3fbff,#fff)}.catalog-hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center}.catalog-hero h1{font-size:clamp(3rem,6vw,6.4rem)}.catalog-hero-art{position:relative;border-radius:34px;overflow:hidden;min-height:330px;box-shadow:0 26px 74px rgba(5,43,121,.12)}.catalog-hero-art img{width:100%;height:330px;object-fit:cover}.catalog-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(5,43,121,.08),rgba(5,43,121,.42))}.catalog-orbit{position:absolute;z-index:2;inset:0;display:flex;align-items:end;justify-content:flex-end;gap:8px;padding:20px}.catalog-orbit span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.75);backdrop-filter:blur(15px);font-size:.76rem;font-weight:760;color:var(--navy)}.catalog-heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.catalog-heading-row h2{font-size:2.45rem}.catalog-layout.merch-mode{grid-template-columns:1fr}.catalog-layout.merch-mode .catalog-products{width:100%}.catalog-layout.merch-mode .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-layout.merch-mode .product-image{background:linear-gradient(145deg,#f7fbfd,#fff)}.catalog-layout.merch-mode .product-image img{aspect-ratio:1/1;object-fit:contain;padding:10px}.merch-collection-filter{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:18px;padding-bottom:2px}.merch-collection-filter::-webkit-scrollbar{display:none}.collection-chip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;color:var(--muted);font-weight:720}.collection-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.stat.verified{background:#eafaf3;color:#18714e}.stat.pending{background:#fff5e9;color:#9a5700}.status-badge.sold-out{background:#fff0f0;color:#a52a2a}.status-badge.client-confirm{background:#fff6e9;color:#955800}.add-btn:disabled{background:#dbe5eb;color:#6b7785;cursor:not-allowed}.card-actions{flex-wrap:wrap;justify-content:flex-end}.merch-detail-card{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(5,43,121,.10);border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 28px 90px rgba(5,43,121,.12);margin-top:20px}.merch-detail-media{min-height:620px;background:linear-gradient(145deg,#effaff,#fff);display:grid;place-items:center}.merch-detail-media img{width:100%;height:620px;object-fit:contain;padding:34px}.merch-detail-copy{padding:48px;display:grid;align-content:center;gap:18px}.merch-source-note{padding:12px 14px;border-radius:16px;font-size:.86rem}.merch-source-note.verified{background:#edfff7;color:#146944;border:1px solid #c9f1df}.merch-source-note.pending{background:#fff7eb;color:#805000;border:1px solid #f1ddba}.merch-price{font-size:1.8rem;font-weight:840;color:var(--navy)}

/* Homepage Apple-like story carousel */
.home-story-carousel{padding:90px 0 100px;background:linear-gradient(180deg,#fff,#f1fbff)}.home-story-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:26px}.home-story-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px calc((100vw - min(calc(100vw - 40px),var(--container)))/2) 26px}.home-story-track::-webkit-scrollbar{display:none}.home-story-card{position:relative;flex:0 0 min(78vw,980px);height:560px;border-radius:36px;overflow:hidden;scroll-snap-align:center;background:#001a42;box-shadow:0 26px 80px rgba(5,43,121,.16)}.home-story-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-apple)}.home-story-card:hover img{transform:scale(1.035)}.home-story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,12,34,.78))}.home-story-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px;color:#fff;display:flex;justify-content:space-between;gap:26px;align-items:end}.home-story-copy .eyebrow{color:var(--aqua)}.home-story-copy h3{font-size:clamp(2rem,4vw,4.2rem);max-width:620px}.home-story-copy p{color:rgba(255,255,255,.74);max-width:420px}.home-carousel-controls{display:flex;gap:8px}

@media(max-width:1080px){
  .catalog-layout.merch-mode .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .logo-wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .story-overlay{width:min(650px,55vw)}
}
@media(max-width:860px){
  .story-intro-grid,.resource-grid,.catalog-hero-grid,.merch-detail-card{grid-template-columns:1fr}
  .story-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.story-tab{grid-template-columns:1fr;grid-template-rows:auto auto auto}.story-tab>span{grid-row:auto}.story-tab.active{transform:translateY(-4px)}
  .story-overlay,.story-overlay.right{position:relative;left:auto;right:auto;top:auto;transform:none;width:auto;padding:26px;text-align:left;justify-items:start;background:linear-gradient(180deg,#001a42,#002454)}.full-bleed-story:after{display:none}.story-overlay h2{font-size:clamp(2rem,6vw,3.4rem)}
  .award-grid{grid-template-columns:1fr}.hall-top{align-items:start;flex-direction:column}.decade-scrub{height:auto;background:#001a42;padding:0}.decade-viewport{position:relative;height:auto;min-height:auto;padding:60px 20px;display:grid;gap:28px}.decade-copy{position:relative;left:auto;top:auto;transform:none;width:auto}.decade-year{font-size:6rem}.decade-frames{position:relative;inset:auto;padding:0;min-height:64vh}.decade-frames figure{inset:0}.decade-frames img{height:64vh}.decade-frames figure:not(.active){display:none}
  .resource-console-wrap{top:76px}.lake-map-console{grid-template-columns:1fr}.map-location-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-stage{min-height:520px}.resource-map-head{align-items:flex-start;flex-direction:column}.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.glass-media-panel img,.tracking-frame img{height:420px}.catalog-layout.merch-mode .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merch-detail-media{min-height:460px}.merch-detail-media img{height:460px}.home-story-card{flex-basis:88vw;height:500px}
  .story-modal-panel{grid-template-columns:1fr;overflow:auto}.story-modal-media{min-height:48vh}.story-modal-copy{padding:30px}
}
@media(max-width:620px){
  .story-intro{padding:52px 0 26px}.story-switcher{grid-template-columns:1fr}.story-tab{grid-template-columns:38px 1fr;grid-template-rows:auto auto}.story-tab>span{grid-row:1/3}.story-tab.active{transform:none}.record-controls{width:100%}.record-controls input,.record-controls select,.premium-select{width:100%;min-width:0}.story-actions{align-items:stretch}.story-actions .motion-button{width:100%}.award-card{padding:22px}.award-card h3{font-size:1.6rem}.decade-frames{min-height:56vh}.decade-frames img{height:56vh}.year-card{flex-basis:86vw}.year-card img{height:400px;padding:10px}.story-modal-media{min-height:44vh}.story-modal-media img{padding:14px}.story-modal-copy{padding:24px}.resource-hero,.resource-hero>img{min-height:62vh;height:62vh}.resource-hero-overlay h1{font-size:3.2rem}.resource-tab{padding:9px 12px}.map-layers{width:100%;overflow-x:auto}.lake-map-console{min-height:auto}.map-location-list{grid-template-columns:1fr}.map-stage{position:relative;min-height:480px}.travel-grid{grid-template-columns:1fr}.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-card{min-height:165px}.logo-card img{height:88px}.catalog-hero{padding:46px 0 34px}.catalog-hero-art{min-height:250px}.catalog-hero-art img{height:250px}.catalog-layout.merch-mode .product-grid{grid-template-columns:1fr}.catalog-heading-row{align-items:flex-start;flex-direction:column}.merch-detail-copy{padding:28px}.home-story-head{align-items:flex-start;flex-direction:column}.home-story-card{height:460px;flex-basis:90vw}.home-story-copy{left:22px;right:22px;bottom:22px;display:grid}.home-story-copy p{display:none}
}
@media(prefers-reduced-motion:reduce){
  .motion-card,[data-parallax],.motion-button{transform:none!important}.confetti-bit,.celebration-balloon{display:none!important}.decade-scrub{height:auto}.decade-viewport{position:relative}.decade-frames figure{transition:none}.tracking-pulse{animation:none}
}

/* =========================================================
   STAGE 3.1 — LGSA THEME SYSTEM + INTELLIGENCE CALENDAR
   ========================================================= */
[hidden]{display:none!important}
:root{
  --page:#ffffff;
  --surface:#ffffff;
  --surface-2:#f0fbff;
  --surface-3:#e6f7ff;
  --glass:rgba(255,255,255,.74);
  --glass-strong:rgba(255,255,255,.9);
  --glass-line:rgba(5,43,121,.11);
  --theme-glow:rgba(40,125,215,.18);
  --theme-accent:#ff7a00;
  --theme-accent-2:#38d4ff;
  --theme-shadow:0 24px 70px rgba(5,43,121,.12);
  color-scheme:light;
}
html[data-theme="dark"]{
  --navy:#071f4b;
  --blue:#49a7ff;
  --blue-2:#78c0ff;
  --aqua:#75e7ff;
  --sky:#071320;
  --ink:#f5fbff;
  --muted:#a8bad0;
  --line:#223b58;
  --white:#0c1726;
  --orange:#ff9b3d;
  --page:#050b13;
  --surface:#0b1726;
  --surface-2:#0e2033;
  --surface-3:#102b42;
  --glass:rgba(9,22,38,.76);
  --glass-strong:rgba(12,28,46,.92);
  --glass-line:rgba(117,231,255,.13);
  --theme-glow:rgba(73,167,255,.2);
  --theme-accent:#ff9b3d;
  --theme-accent-2:#75e7ff;
  --shadow:0 24px 70px rgba(0,0,0,.34);
  --shadow-soft:0 12px 38px rgba(0,0,0,.24);
  --theme-shadow:0 28px 90px rgba(0,0,0,.38);
  color-scheme:dark;
}
html,body{background:var(--page)}
body{transition:background .45s var(--ease-apple),color .45s var(--ease-apple)}
html[data-theme="dark"] .site-header{background:rgba(5,11,19,.76);border-bottom-color:rgba(117,231,255,.1)}
html[data-theme="dark"] .catalog-shell,html[data-theme="dark"] .resources-page{background:var(--page)}
html[data-theme="dark"] .catalog-hero,html[data-theme="dark"] .page-hero,html[data-theme="dark"] .experiences,html[data-theme="dark"] .home-story-carousel{background:linear-gradient(180deg,#071523,#050b13)}
html[data-theme="dark"] .section-tight,html[data-theme="dark"] .section{color:var(--ink)}
html[data-theme="dark"] .product-card,html[data-theme="dark"] .filter-panel,html[data-theme="dark"] .tabs,html[data-theme="dark"] .route-card,html[data-theme="dark"] .experience-card,html[data-theme="dark"] .detail-card,html[data-theme="dark"] .merch-detail-card,html[data-theme="dark"] .story-tab,html[data-theme="dark"] .award-card,html[data-theme="dark"] .logo-card,html[data-theme="dark"] .travel-card,html[data-theme="dark"] .glass-media-panel,html[data-theme="dark"] .cookie-banner,html[data-theme="dark"] .cart-drawer{background:var(--surface);border-color:var(--glass-line);color:var(--ink)}
html[data-theme="dark"] .product-image,html[data-theme="dark"] .catalog-layout.merch-mode .product-image{background:linear-gradient(145deg,#0d2134,#0a1726)}
html[data-theme="dark"] .badge{background:rgba(8,22,36,.84);color:var(--aqua)}
html[data-theme="dark"] .lang-toggle,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .glass-btn,html[data-theme="dark"] .btn-secondary{background:rgba(12,27,44,.8);border-color:var(--glass-line);color:var(--ink)}
html[data-theme="dark"] .map-layers{background:#0b1a2a;border-color:var(--line)}
html[data-theme="dark"] .map-layer.active{background:#17314a;color:var(--aqua)}
html[data-theme="dark"] .map-location-list{background:linear-gradient(180deg,#081827,#0b2134)}
html[data-theme="dark"] .map-location.active,html[data-theme="dark"] .map-location:hover{background:#10263a;color:var(--aqua)}
html[data-theme="dark"] .resource-console-wrap{background:rgba(5,11,19,.82);border-color:rgba(117,231,255,.08)}
html[data-theme="dark"] .resource-tab{background:rgba(12,28,45,.76);border-color:rgba(117,231,255,.1);color:var(--muted)}
html[data-theme="dark"] .resource-tab.active{background:linear-gradient(135deg,#0c4f8b,#0a2f64);color:#fff}
html[data-theme="dark"] .logo-card span{color:var(--ink)}
html[data-theme="dark"] .travel-card{background:linear-gradient(145deg,#0c1b2b,#0a1522)}
html[data-theme="dark"] .cal-day{background:#0c1d2e;border-color:#223c57;color:#9eb2ca}
html[data-theme="dark"] .cal-day.available{background:linear-gradient(145deg,#0c3557,#0b2741);border-color:#2f8fd0;color:#dff8ff}
html[data-theme="dark"] .cal-day.selected{background:linear-gradient(135deg,#1478d4,#00a2e8);color:#fff}

/* Persistent non-collapsing appearance control */
.theme-control{position:relative;flex:0 0 auto}
.theme-trigger{min-height:44px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);backdrop-filter:blur(18px) saturate(160%);color:var(--ink);padding:8px 12px 8px 9px;display:flex;align-items:center;gap:8px;font-size:.77rem;font-weight:760;white-space:nowrap;box-shadow:0 9px 25px rgba(5,43,121,.07);transition:.3s var(--ease-apple)}
.theme-trigger:hover{transform:translateY(-2px);box-shadow:0 14px 32px var(--theme-glow)}
.theme-orb{width:25px;height:25px;border-radius:50%;display:block;background:conic-gradient(from 20deg,var(--blue),var(--aqua),#fff,var(--orange),var(--blue));box-shadow:inset 0 0 0 3px rgba(255,255,255,.55),0 0 18px rgba(56,212,255,.26)}
html[data-theme="dark"] .theme-orb{background:conic-gradient(from 20deg,#06172a,#49a7ff,#75e7ff,#ff9b3d,#06172a);box-shadow:inset 0 0 0 3px rgba(255,255,255,.08),0 0 20px rgba(117,231,255,.28)}
.theme-menu{position:absolute;right:0;top:calc(100% + 12px);width:300px;padding:12px;border:1px solid var(--glass-line);border-radius:24px;background:var(--glass-strong);backdrop-filter:blur(28px) saturate(170%);box-shadow:0 28px 80px rgba(5,43,121,.2);z-index:180}
.theme-menu-title{display:block;padding:6px 10px 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:820}
.theme-menu button{width:100%;display:grid;grid-template-columns:44px 1fr 20px;gap:11px;align-items:center;text-align:left;padding:10px;border:1px solid transparent;border-radius:17px;background:transparent;color:var(--ink);transition:.25s ease}
.theme-menu button:hover,.theme-menu button.active{background:var(--surface-2);border-color:var(--glass-line)}
.theme-menu button span{display:grid;gap:2px}.theme-menu button strong{font-size:.86rem}.theme-menu button small{font-size:.72rem;color:var(--muted)}.theme-menu button>b{opacity:0;color:var(--blue)}.theme-menu button.active>b{opacity:1}
.theme-preview{width:42px;height:42px;border-radius:14px;display:block;border:1px solid rgba(255,255,255,.25)}
.lgsa-preview{background:linear-gradient(145deg,#f0fbff 0 45%,#005eb2 45% 75%,#ff7a00 75%)}.dark-preview{background:linear-gradient(145deg,#050b13 0 48%,#0f3457 48% 75%,#75e7ff 75%)}

/* Ambient energy: slow clouds + lake bubbles, decorative only */
.ambient-world{position:fixed;inset:0;z-index:35;pointer-events:none;overflow:hidden;opacity:.52;mix-blend-mode:multiply}
html[data-theme="dark"] .ambient-world{mix-blend-mode:screen;opacity:.34}
.ambient-cloud{position:absolute;display:block;width:220px;height:58px;border-radius:999px;background:radial-gradient(circle at 28% 55%,rgba(255,255,255,.9) 0 25%,transparent 26%),radial-gradient(circle at 52% 38%,rgba(255,255,255,.9) 0 33%,transparent 34%),radial-gradient(circle at 73% 58%,rgba(255,255,255,.82) 0 25%,transparent 26%);filter:blur(1px);opacity:.35;animation:cloudDrift 34s linear infinite}
.cloud-a{top:19%;left:-240px}.cloud-b{top:57%;left:-320px;animation-duration:47s;animation-delay:-18s;transform:scale(.7)}.cloud-c{top:82%;left:-260px;animation-duration:55s;animation-delay:-31s;transform:scale(.52)}
.ambient-bubble{position:absolute;border-radius:50%;border:1px solid rgba(0,94,178,.22);background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.85),rgba(175,229,250,.14) 42%,transparent 68%);box-shadow:inset -5px -7px 15px rgba(40,125,215,.08);animation:bubbleFloat 16s ease-in-out infinite}
.bubble-a{width:44px;height:44px;left:3%;bottom:-70px}.bubble-b{width:22px;height:22px;left:8%;bottom:-60px;animation-delay:-7s}.bubble-c{width:58px;height:58px;right:3%;bottom:-80px;animation-delay:-3s;animation-duration:21s}.bubble-d{width:28px;height:28px;right:11%;bottom:-60px;animation-delay:-13s}.bubble-e{width:16px;height:16px;left:52%;bottom:-40px;animation-delay:-10s;animation-duration:18s}
@keyframes cloudDrift{to{transform:translateX(calc(100vw + 580px))}}
@keyframes bubbleFloat{0%{transform:translate3d(0,0,0) scale(.8);opacity:0}12%{opacity:.65}45%{transform:translate3d(18px,-48vh,0) scale(1)}78%{opacity:.45}100%{transform:translate3d(-12px,-108vh,0) scale(1.12);opacity:0}}
body[data-page="checkout"] .ambient-world,body[data-page="privacy"] .ambient-world,body[data-page="terms"] .ambient-world{display:none}

/* HopeRise-inspired feature navigation: rich, frictionless, thumb-friendly */
.experience-tabs{display:flex;gap:10px;padding:0;background:transparent;border:0;border-radius:0;width:auto;box-shadow:none;overflow-x:auto;scrollbar-width:none}
.experience-tabs::-webkit-scrollbar{display:none}
.experience-tabs .tab,.resource-experience-tabs .resource-tab{position:relative;min-width:230px;border:1px solid var(--glass-line);border-radius:24px;background:var(--glass);backdrop-filter:blur(18px);padding:14px 15px;display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:10px;text-align:left;color:var(--ink);box-shadow:0 10px 28px rgba(5,43,121,.06);overflow:hidden;transition:transform .42s var(--ease-apple),border-color .35s,box-shadow .35s,background .35s}
.experience-tabs .tab:before,.resource-experience-tabs .resource-tab:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--blue),var(--aqua),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-apple)}
.experience-tabs .tab:hover,.resource-experience-tabs .resource-tab:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(5,43,121,.12)}
.experience-tabs .tab.active,.resource-experience-tabs .resource-tab.active{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 20px 54px rgba(0,94,178,.22)}
.experience-tabs .tab.active:before,.resource-experience-tabs .resource-tab.active:before{transform:scaleX(1)}
.experience-tabs .tab-index,.resource-experience-tabs .resource-tab>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--blue);font-size:.69rem;font-weight:850;letter-spacing:.08em}
.experience-tabs .tab>span:nth-child(2),.resource-experience-tabs .resource-tab{line-height:1.15}.experience-tabs .tab strong,.resource-experience-tabs .resource-tab b{display:block;font-size:.9rem}.experience-tabs .tab small,.resource-experience-tabs .resource-tab small{display:block;margin-top:4px;color:var(--muted);font-size:.69rem;font-weight:560;white-space:nowrap}.experience-tabs .tab>i,.resource-experience-tabs .resource-tab>i{font-style:normal;color:var(--blue);transition:transform .3s ease}.experience-tabs .tab:hover>i,.resource-experience-tabs .resource-tab:hover>i{transform:translate(3px,-3px)}
.experience-tabs .tab.active .tab-index,.resource-experience-tabs .resource-tab.active>span{background:rgba(255,255,255,.13);color:var(--aqua)}.experience-tabs .tab.active small,.resource-experience-tabs .resource-tab.active small{color:rgba(255,255,255,.7)}.experience-tabs .tab.active>i,.resource-experience-tabs .resource-tab.active>i{color:#fff}
.resource-console-wrap .resource-tabs{display:flex;grid-template-columns:none}.resource-experience-tabs .resource-tab{min-width:205px;grid-template-columns:36px 1fr 20px;white-space:normal}

/* LGSA Availability Intelligence */
.calendar-studio{position:relative;margin:4px 0 32px;padding:clamp(24px,4vw,48px);border:1px solid rgba(0,94,178,.12);border-radius:38px;background:
  radial-gradient(circle at 90% 0%,rgba(56,212,255,.24),transparent 28%),
  radial-gradient(circle at 8% 90%,rgba(255,122,0,.10),transparent 25%),
  linear-gradient(145deg,rgba(255,255,255,.96),rgba(233,249,255,.9));box-shadow:0 30px 90px rgba(5,43,121,.12);overflow:hidden;isolation:isolate}
html[data-theme="dark"] .calendar-studio{background:radial-gradient(circle at 90% 0%,rgba(73,167,255,.2),transparent 28%),radial-gradient(circle at 8% 90%,rgba(255,155,61,.10),transparent 25%),linear-gradient(145deg,#0b1928,#07121e);border-color:rgba(117,231,255,.11)}
.calendar-watermark{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.calendar-watermark span{position:absolute;border-radius:50%;border:1px solid rgba(0,94,178,.07)}.calendar-watermark span:nth-child(1){width:520px;height:520px;right:-230px;top:-230px}.calendar-watermark span:nth-child(2){width:390px;height:390px;right:-130px;top:-150px}.calendar-watermark span:nth-child(3){width:260px;height:260px;right:-35px;top:-70px}
.calendar-studio-head{display:flex;justify-content:space-between;gap:26px;align-items:flex-end}.calendar-studio-head h2{font-size:clamp(2.3rem,4.6vw,4.9rem)}.calendar-studio-head h2 em{font-family:"Times New Roman",serif;font-weight:500;color:var(--blue)}
.calendar-toolbar{display:flex;gap:8px;align-items:center;flex:0 0 auto}.calendar-nav,.calendar-today{border:1px solid var(--glass-line);background:var(--glass-strong);color:var(--ink);height:46px;border-radius:999px;box-shadow:0 10px 26px rgba(5,43,121,.07);transition:.25s ease}.calendar-nav{width:46px;padding:0}.calendar-today{padding:0 17px;font-weight:760}.calendar-nav:hover,.calendar-today:hover{transform:translateY(-2px);border-color:rgba(0,94,178,.28);box-shadow:0 15px 34px rgba(0,94,178,.13)}
.calendar-view-switch{margin:26px 0 14px;display:inline-flex;padding:5px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);backdrop-filter:blur(14px)}.calendar-view-switch button{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:999px;font-size:.78rem;font-weight:780}.calendar-view-switch button.active{background:var(--navy);color:#fff;box-shadow:0 7px 20px rgba(5,43,121,.18)}
.calendar-command-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px}.calendar-main-panel,.calendar-insight{border:1px solid var(--glass-line);border-radius:28px;background:var(--glass);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 18px 50px rgba(5,43,121,.07)}.calendar-main-panel{padding:20px}.calendar-month-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.calendar-month-row>strong{font-size:1.15rem}.calendar-live{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.74rem;font-weight:680}.calendar-live i{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.1)}
.smart-calendar-body{min-height:330px}.smart-grid{gap:8px;margin-top:0}.smart-grid .cal-head{text-align:center;padding:8px 0;color:var(--muted);font-size:.7rem;font-weight:820}.smart-day{position:relative;min-height:54px;border-radius:15px;font-size:.82rem;transition:.28s var(--ease-apple);overflow:hidden}.smart-day span{position:relative;z-index:2}.smart-day i{position:absolute;right:6px;top:6px;min-width:17px;height:17px;border-radius:999px;background:var(--orange);color:#fff;font-style:normal;font-size:.6rem;font-weight:850;display:grid;place-items:center;padding:0 4px}.smart-day.available:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(56,212,255,.2),transparent 70%);transition:.3s}.smart-day.available:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px rgba(0,94,178,.14)}.smart-day.available:hover:after{width:70px;height:70px}.smart-day.multi{border-color:#ffc17c;background:linear-gradient(145deg,#fff7e9,#eaf8ff)}.smart-day.selected{transform:translateY(-2px) scale(1.04);box-shadow:0 15px 32px rgba(0,94,178,.25)}
.calendar-legend .legend-dot.multi{background:linear-gradient(135deg,var(--orange),var(--aqua))}
.calendar-insight{position:relative;padding:28px;display:grid;align-content:start;gap:12px;overflow:hidden;background:linear-gradient(150deg,var(--navy),#006abf 68%,#20aeea);color:#fff}.calendar-insight:after{content:"";position:absolute;width:280px;height:280px;right:-130px;bottom:-130px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}.calendar-insight .eyebrow{color:var(--aqua)}.calendar-insight h3{font-size:clamp(1.7rem,2.5vw,2.5rem);position:relative;z-index:2}.calendar-insight p{color:rgba(255,255,255,.74);position:relative;z-index:2}.calendar-intel-chip{width:max-content;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.62rem;letter-spacing:.13em;font-weight:850}.calendar-insight-orb{position:absolute;right:24px;top:24px;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;animation:intelOrb 5s ease-in-out infinite}.calendar-insight-orb span{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff,var(--aqua) 28%,rgba(255,255,255,.06) 70%);box-shadow:0 0 24px rgba(117,231,255,.65)}@keyframes intelOrb{50%{transform:translateY(8px) scale(1.06)}}
.calendar-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;position:relative;z-index:2}.calendar-metrics>div{padding:13px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);display:grid;gap:2px}.calendar-metrics strong{font-size:1.45rem}.calendar-metrics span{font-size:.68rem;color:rgba(255,255,255,.68)}.calendar-reset{position:relative;z-index:2;margin-top:3px;background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
.calendar-timeline{display:grid;gap:8px}.timeline-event{width:100%;border:1px solid var(--glass-line);background:var(--surface);color:var(--ink);border-radius:17px;padding:10px 12px;display:grid;grid-template-columns:54px 1fr 24px;gap:11px;align-items:center;text-align:left;transition:.3s var(--ease-apple)}.timeline-event:hover,.timeline-event.selected{transform:translateX(5px);border-color:rgba(0,94,178,.28);box-shadow:0 10px 28px rgba(5,43,121,.09)}.timeline-event.selected{background:linear-gradient(135deg,rgba(0,94,178,.09),rgba(56,212,255,.1))}.timeline-date{width:49px;height:49px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;align-content:center;color:var(--blue);line-height:1}.timeline-date b{font-size:1.05rem}.timeline-date small{font-size:.63rem;text-transform:uppercase}.timeline-event>span:nth-child(2){display:grid;gap:2px}.timeline-event>span:nth-child(2) small{color:var(--muted);font-size:.72rem}.timeline-event>i{font-style:normal;color:var(--blue)}.calendar-empty{min-height:300px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;padding:30px;color:var(--muted)}.calendar-empty-orb{width:66px;height:66px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue);font-size:2rem;background:radial-gradient(circle,var(--surface),var(--surface-2))}.calendar-empty p{max-width:420px;font-size:.82rem}

/* Boutique remains isolated from swim intelligence — no calendar/filter overlap */
.catalog-layout.merch-mode{display:block!important}.catalog-layout.merch-mode #swimFilters{display:none!important}.calendar-studio[hidden]{display:none!important}.catalog-layout.merch-mode .catalog-products{max-width:none}.catalog-layout.merch-mode .product-grid{position:relative;z-index:2}

/* Slightly brighter hero/product energy in LGSA theme */
html[data-theme="lgsa"] .catalog-shell{background:linear-gradient(180deg,#eefaFF 0,#f7fdff 48%,#effaff 100%)}
html[data-theme="lgsa"] .catalog-hero{background:radial-gradient(circle at 85% 15%,rgba(56,212,255,.18),transparent 23%),linear-gradient(180deg,#f4fcff,#fff)}
html[data-theme="lgsa"] .product-card{box-shadow:0 16px 42px rgba(5,43,121,.08)}
html[data-theme="lgsa"] .product-card:hover{box-shadow:0 28px 64px rgba(0,94,178,.16)}

@media(max-width:1180px){
  .theme-trigger #themeLabel{display:none}.theme-trigger{padding-right:9px}.calendar-command-grid{grid-template-columns:1fr}.calendar-insight{min-height:260px}.resource-experience-tabs .resource-tab{min-width:190px}
}
@media(max-width:900px){
  .calendar-studio{padding:26px;border-radius:30px}.calendar-studio-head{align-items:flex-start;flex-direction:column}.calendar-toolbar{align-self:stretch;justify-content:flex-end}.calendar-command-grid{grid-template-columns:1fr}.calendar-main-panel{padding:14px}.smart-day{min-height:46px}.experience-tabs .tab{min-width:210px}.ambient-world{opacity:.34}
}
@media(max-width:640px){
  .theme-menu{position:fixed;right:14px;left:14px;top:82px;width:auto}.calendar-studio{padding:20px 14px;margin-inline:-6px}.calendar-studio-head h2{font-size:2.55rem}.calendar-toolbar{justify-content:space-between}.calendar-today{flex:1}.calendar-command-grid{gap:10px}.calendar-main-panel{padding:11px}.smart-grid{gap:4px}.smart-day{min-height:42px;border-radius:11px}.smart-day i{right:3px;top:3px}.calendar-insight{padding:22px}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1}.experience-tabs .tab{min-width:82vw}.resource-experience-tabs .resource-tab{min-width:76vw}.ambient-cloud{transform:scale(.6)}
}
@media(prefers-reduced-motion:reduce){.ambient-world{display:none}.calendar-insight-orb{animation:none}.smart-day,.timeline-event{transition:none}}

/* Secondary tab systems — same product language, lighter hierarchy */
.detail-tabs{gap:8px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);scrollbar-width:none}.detail-tabs::-webkit-scrollbar{display:none}.detail-tabs button{position:relative;border:1px solid transparent;background:transparent;padding:10px 14px;transition:.3s var(--ease-apple)}.detail-tabs button:hover{background:var(--glass-strong);transform:translateY(-2px)}.detail-tabs button.active{background:var(--surface);color:var(--blue);border-color:var(--glass-line);box-shadow:0 8px 22px rgba(5,43,121,.08)}
.story-switcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.story-tab{position:relative;overflow:hidden;background:var(--glass);backdrop-filter:blur(18px)}.story-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--aqua),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-apple)}.story-tab.active{background:linear-gradient(135deg,var(--navy),var(--blue));transform:translateY(-4px);box-shadow:0 18px 48px rgba(0,94,178,.18)}.story-tab.active:after{transform:scaleX(1)}
@media(max-width:760px){.story-switcher{grid-template-columns:1fr}}

/* =========================================================
   Stage 3.2 — Homepage celebration + official cart protection
   ========================================================= */
.hero:before{
  background:
    linear-gradient(90deg,rgba(3,38,94,.60) 0%,rgba(3,38,94,.42) 37%,rgba(3,38,94,.19) 68%,rgba(3,38,94,.07) 100%),
    url('/assets/images/hero-castle.webp') center 50%/cover no-repeat;
  transform:none;
  filter:saturate(1.06) contrast(1.035);
}
.hero-copy{filter:drop-shadow(0 8px 26px rgba(0,14,42,.18))}
.hero-book-swim{background:linear-gradient(135deg,#0b82ff,#005eb2);box-shadow:0 16px 38px rgba(0,94,178,.28)}
.official-cart-link{display:inline-flex;align-items:center;gap:7px;font-weight:760}
.official-swim-cta{white-space:nowrap}

.celebration-showcase{position:relative;overflow:hidden;padding:82px 0 96px;background:
  radial-gradient(circle at 12% 18%,rgba(255,170,199,.26),transparent 28%),
  radial-gradient(circle at 88% 78%,rgba(255,164,80,.20),transparent 26%),
  linear-gradient(180deg,#fff8f7 0%,#fff 42%,#f4fbff 100%)}
.celebration-showcase:before,.celebration-showcase:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.celebration-showcase:before{width:360px;height:360px;left:-160px;top:14%;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.92),rgba(175,229,250,.30) 48%,rgba(175,229,250,0) 72%)}
.celebration-showcase:after{width:420px;height:420px;right:-190px;bottom:-110px;background:radial-gradient(circle at 45% 45%,rgba(255,226,211,.72),rgba(255,150,180,.16) 48%,transparent 72%)}
.celebration-shell{position:relative;z-index:2;display:grid;justify-items:center;gap:28px;text-align:center}
.celebration-kicker{display:grid;gap:12px;max-width:780px}
.celebration-kicker h2{font-size:clamp(2.25rem,4.5vw,4.65rem);max-width:880px}
.celebration-kicker p{color:var(--muted);font-size:1.08rem}
.celebration-poster{margin:0;width:min(940px,100%);padding:10px;border-radius:38px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.82);box-shadow:0 36px 100px rgba(107,56,57,.18);backdrop-filter:blur(20px);overflow:hidden}
.celebration-poster img{width:100%;height:auto;border-radius:30px;box-shadow:0 16px 50px rgba(43,28,33,.18)}
.celebration-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.celebration-glass{background:rgba(255,255,255,.72);border-color:rgba(169,76,88,.13);color:#6a3041}
.celebration-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.celebration-atmosphere span{position:absolute;filter:drop-shadow(0 12px 22px rgba(112,43,74,.12));animation:celebrationFloat 8s ease-in-out infinite;opacity:.76}
.celebration-atmosphere span:nth-child(1){left:5%;top:18%;font-size:3.2rem;animation-delay:-1.5s}
.celebration-atmosphere span:nth-child(2){right:7%;top:24%;font-size:2.1rem;animation-delay:-4s}
.celebration-atmosphere span:nth-child(3){left:9%;bottom:19%;font-size:2.7rem;animation-delay:-2.6s}
.celebration-atmosphere span:nth-child(4){right:10%;bottom:14%;font-size:2rem;animation-delay:-5.2s}
.celebration-atmosphere span:nth-child(5){right:14%;top:48%;font-size:2.25rem;animation-delay:-3.3s}
@keyframes celebrationFloat{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(0,-24px,0) rotate(4deg)}}

.floating-meeting{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:88;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-width:216px;padding:13px 14px;border-radius:24px;color:#fff;background:linear-gradient(135deg,rgba(0,120,255,.82),rgba(5,43,121,.76));border:1px solid rgba(255,255,255,.38);box-shadow:0 20px 54px rgba(5,43,121,.28);backdrop-filter:blur(22px) saturate(180%);transition:transform .28s var(--ease-apple),box-shadow .28s var(--ease-apple),background .28s ease}
.floating-meeting:hover{transform:translateY(-50%) translateX(-5px);box-shadow:0 26px 70px rgba(0,94,178,.34);background:linear-gradient(135deg,rgba(12,137,255,.92),rgba(5,43,121,.86))}
.floating-meeting-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:1.15rem}
.floating-meeting span:nth-child(2){display:grid;line-height:1.15;text-align:left}.floating-meeting small{opacity:.72;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.floating-meeting strong{font-size:.88rem;margin-top:3px}.floating-meeting b{font-size:1.05rem}

.ambient-symbol{position:fixed;z-index:1;pointer-events:none;opacity:.36;filter:drop-shadow(0 8px 18px rgba(32,63,100,.14));animation:ambientSymbolFloat 11s ease-in-out infinite}
.symbol-balloon-a{left:2.5%;top:24%;font-size:2.2rem}.symbol-balloon-b{right:3%;top:68%;font-size:2rem;animation-delay:-5s}.symbol-popper-a{right:4%;top:34%;font-size:1.7rem;animation-delay:-2s}.symbol-heart-a{left:4%;top:72%;font-size:1.35rem;animation-delay:-6s}.symbol-heart-b{right:8%;top:20%;font-size:1.25rem;animation-delay:-3.4s}.symbol-love-a{left:7%;top:43%;font-size:1.3rem;animation-delay:-7s}
@keyframes ambientSymbolFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-22px) rotate(5deg)}}

html[data-theme="dark"] .celebration-showcase{background:radial-gradient(circle at 12% 18%,rgba(255,117,164,.10),transparent 28%),radial-gradient(circle at 88% 78%,rgba(255,122,0,.10),transparent 26%),linear-gradient(180deg,#0a1623,#050b13)}
html[data-theme="dark"] .celebration-poster{background:rgba(10,28,43,.72);border-color:rgba(117,231,255,.12)}
html[data-theme="dark"] .celebration-glass{background:rgba(10,28,43,.76);color:#f9dce5;border-color:rgba(255,255,255,.10)}

@media (max-width:900px){
  .floating-meeting{top:auto;right:14px;bottom:18px;transform:none;min-width:auto;grid-template-columns:40px 1fr auto}
  .floating-meeting:hover{transform:translateY(-3px)}
  .celebration-showcase{padding:64px 0 72px}
  .celebration-atmosphere span{opacity:.52}
}
@media (max-width:640px){
  .celebration-poster{padding:6px;border-radius:26px}.celebration-poster img{border-radius:21px}
  .celebration-atmosphere span:nth-child(5),.celebration-atmosphere span:nth-child(3){display:none}
  .floating-meeting small{display:none}.floating-meeting{border-radius:20px;padding:10px 12px}.floating-meeting strong{font-size:.8rem}
  .official-swim-cta{display:none}
}
@media (prefers-reduced-motion:reduce){
  .celebration-atmosphere span,.ambient-symbol{animation:none!important}
}

/* =========================================================
   Stage 3.3 — Primary homepage experience + official cart handoff
   ========================================================= */
body[data-page="home"] .site-header{
  position:absolute;left:0;right:0;top:0;z-index:110;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.54));
  border-bottom:1px solid rgba(255,255,255,.48);
  box-shadow:none;
  backdrop-filter:blur(20px) saturate(170%);
}
html[data-theme="dark"] body[data-page="home"] .site-header{
  background:linear-gradient(180deg,rgba(5,11,19,.78),rgba(5,11,19,.48));
  border-bottom-color:rgba(117,231,255,.09);
}
body[data-page="home"] .hero{min-height:min(830px,94vh);padding-top:90px;background:#9fd9ef}
body[data-page="home"] .hero:before{
  background:
    linear-gradient(90deg,rgba(0,32,58,.36) 0%,rgba(0,32,58,.22) 34%,rgba(0,32,58,.08) 64%,rgba(0,32,58,.02) 100%),
    linear-gradient(0deg,rgba(0,46,78,.10),rgba(255,255,255,.02)),
    url('/assets/images/hero-castle.webp') center 50%/cover no-repeat;
  filter:saturate(1.10) contrast(1.04) brightness(1.08);
}
html[data-theme="dark"] body[data-page="home"] .hero:before{
  background:
    linear-gradient(90deg,rgba(0,15,28,.56) 0%,rgba(0,15,28,.36) 42%,rgba(0,15,28,.14) 72%,rgba(0,15,28,.07) 100%),
    url('/assets/images/hero-castle.webp') center 50%/cover no-repeat;
  filter:saturate(.98) contrast(1.06) brightness(.76);
}
body[data-page="home"] .hero-content{padding:86px 0 112px;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:56px}
body[data-page="home"] .hero-copy{max-width:760px;text-shadow:0 4px 24px rgba(0,21,39,.32)}
body[data-page="home"] .hero-copy h1{font-size:clamp(3.4rem,6vw,6.4rem);max-width:760px}
body[data-page="home"] .hero .eyebrow{color:#e9fbff;text-shadow:0 2px 12px rgba(0,30,55,.32)}
body[data-page="home"] .hero p{color:#fff;text-shadow:0 2px 14px rgba(0,23,43,.35)}
.hero-discover{color:#fff!important;border-color:rgba(255,255,255,.52)!important;background:rgba(9,29,44,.16)!important;backdrop-filter:blur(18px) saturate(160%)}
.hero-trust{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(7,26,42,.14);backdrop-filter:blur(12px);color:rgba(255,255,255,.94);font-size:.82rem;text-shadow:none}
.hero-trust i{width:1px;height:15px;background:rgba(255,255,255,.34)}
body[data-page="home"] .hero-card{width:min(390px,100%);padding:18px;border-radius:32px;background:rgba(230,245,255,.22);border-color:rgba(255,255,255,.44);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 28px 80px rgba(0,37,67,.20)}
body[data-page="home"] .hero-card img{border-radius:25px;object-fit:contain;background:rgba(91,121,157,.24)}
body[data-page="home"] .hero-badge{color:#fff;text-shadow:0 2px 12px rgba(0,23,43,.30)}
body[data-page="home"] .hero-badge .glass-btn{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}
.home-hero-ambient{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-balloon,.hero-heart{position:absolute;filter:drop-shadow(0 18px 26px rgba(0,44,76,.14));animation:heroFloat 7.5s ease-in-out infinite}
.hero-balloon{font-size:clamp(2.8rem,5vw,5.8rem);opacity:.72}.hero-balloon-left-a{left:1.2%;top:34%}.hero-balloon-left-b{left:4.5%;top:62%;font-size:3.2rem;animation-delay:-3.2s}.hero-balloon-right-a{right:2.2%;top:21%;font-size:4.4rem;animation-delay:-1.7s}.hero-balloon-right-b{right:6.5%;top:33%;font-size:3.1rem;animation-delay:-4.1s}.hero-heart{font-size:1.6rem;opacity:.60}.hero-heart-a{right:3%;bottom:14%}.hero-heart-b{left:8%;bottom:10%;animation-delay:-2.8s}
.hero-bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.56);background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.78),rgba(187,237,255,.18) 40%,transparent 70%);box-shadow:inset -5px -7px 16px rgba(0,94,178,.08);animation:heroBubble 9s ease-in-out infinite}.hero-bubble-a{width:46px;height:46px;left:3%;top:18%}.hero-bubble-b{width:25px;height:25px;right:12%;bottom:19%;animation-delay:-3s}.hero-bubble-c{width:64px;height:64px;right:1%;bottom:6%;animation-delay:-5s}
@keyframes heroFloat{50%{transform:translateY(-24px) rotate(4deg)}}
@keyframes heroBubble{0%,100%{transform:translateY(0) scale(.94);opacity:.42}50%{transform:translateY(-30px) scale(1.08);opacity:.82}}

.campaign-ribbon-section{position:relative;z-index:4;margin-top:-54px;padding:0 0 42px}
.campaign-ribbon{position:relative;min-height:330px;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.54);box-shadow:0 30px 90px rgba(103,57,39,.22);background:url('/assets/images/2027-celebrations.webp') center 73%/cover no-repeat;isolation:isolate}
.campaign-ribbon:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,15,13,.52),rgba(34,15,13,.16) 52%,rgba(34,15,13,.32)),linear-gradient(0deg,rgba(28,14,17,.42),transparent 62%);z-index:-1}
.campaign-ribbon-sheen{position:absolute;inset:-40% -10%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.20) 49%,transparent 63%);transform:translateX(-55%);animation:ribbonSheen 8s ease-in-out infinite;pointer-events:none}
.campaign-ribbon-copy{position:absolute;left:clamp(26px,5vw,72px);right:clamp(26px,5vw,72px);top:50%;transform:translateY(-50%);display:grid;gap:13px;max-width:900px;color:#fff;text-shadow:0 3px 18px rgba(45,15,13,.40)}
.campaign-ribbon-copy .eyebrow{color:#ffe0aa}.campaign-ribbon-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.6vw,4.8rem);font-weight:600;letter-spacing:-.03em}.campaign-ribbon-copy p{font-size:clamp(1rem,1.6vw,1.25rem);color:rgba(255,255,255,.9)}
.campaign-ribbon-actions .glass-btn{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32)}
@keyframes ribbonSheen{0%,68%{transform:translateX(-55%)}86%,100%{transform:translateX(55%)}}

.theme-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 8px 24px rgba(5,43,121,.06)}
.theme-toggle button{border:0;background:transparent;color:var(--muted);min-height:34px;padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;font-size:.73rem;font-weight:780;transition:.25s ease}.theme-toggle button.active{background:var(--navy);color:#fff;box-shadow:0 8px 18px rgba(5,43,121,.18)}html[data-theme="dark"] .theme-toggle button.active{background:linear-gradient(135deg,#1478d4,#0b5ea9)}

.home-launch-celebration{position:fixed;inset:0;z-index:999;pointer-events:none;overflow:hidden}
.home-confetti{position:absolute;left:var(--left);top:-30px;width:9px;height:17px;border-radius:3px;background:var(--c);animation:homeConfettiFall var(--dur) cubic-bezier(.12,.65,.18,1) var(--delay) forwards;opacity:0}
.home-celebration-emoji{position:absolute;left:var(--left);top:-70px;font-size:clamp(1.4rem,2vw,2.2rem);filter:drop-shadow(0 9px 15px rgba(71,35,53,.14));animation:homeEmojiFall 4.7s ease-in-out var(--delay) forwards;opacity:0}
.home-launch-balloon{position:absolute;left:var(--left);bottom:-100px;width:45px;height:58px;border-radius:50% 50% 48% 48%;background:linear-gradient(145deg,hsl(var(--hue) 88% 79%),hsl(calc(var(--hue) + 35) 78% 62%));box-shadow:inset -8px -10px 16px rgba(0,0,0,.10),0 12px 25px rgba(0,45,80,.12);animation:homeBalloonRise 5.4s cubic-bezier(.22,.72,.22,1) var(--delay) forwards;opacity:0}.home-launch-balloon:after{content:"";position:absolute;left:50%;top:56px;width:1px;height:72px;background:rgba(255,255,255,.76)}
.home-launch-cloud{position:absolute;left:-260px;top:var(--top);width:220px;height:72px;opacity:0;background:radial-gradient(circle at 30% 58%,rgba(255,255,255,.95) 0 26%,transparent 27%),radial-gradient(circle at 54% 38%,rgba(255,255,255,.96) 0 34%,transparent 35%),radial-gradient(circle at 76% 60%,rgba(255,255,255,.90) 0 27%,transparent 28%);filter:drop-shadow(0 12px 24px rgba(81,120,146,.12));animation:homeCloudSweep 5.8s ease-in-out var(--delay) forwards}
@keyframes homeConfettiFall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}10%{opacity:.96}100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--spin));opacity:0}}
@keyframes homeEmojiFall{0%{transform:translate3d(0,-30px,0) scale(.72) rotate(-12deg);opacity:0}14%{opacity:.9}75%{opacity:.9}100%{transform:translate3d(var(--drift),92vh,0) scale(1.08) rotate(10deg);opacity:0}}
@keyframes homeBalloonRise{0%{transform:translateY(0) scale(.72);opacity:0}14%{opacity:.82}84%{opacity:.82}100%{transform:translate3d(30px,-116vh,0) scale(1.06);opacity:0}}
@keyframes homeCloudSweep{0%{transform:translateX(0) scale(.76);opacity:0}15%{opacity:.58}78%{opacity:.46}100%{transform:translateX(calc(100vw + 520px)) scale(1.04);opacity:0}}

.official-booking-handoff{margin:0 0 30px;padding:28px 30px;border:1px solid var(--glass-line);border-radius:30px;background:radial-gradient(circle at 88% 18%,rgba(56,212,255,.19),transparent 22%),linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;gap:30px;align-items:center}.official-booking-copy{display:grid;gap:9px;max-width:760px}.official-booking-copy h2{font-size:clamp(1.8rem,3vw,3rem)}.official-booking-actions{display:grid;gap:8px;justify-items:end;text-align:right;flex:0 0 auto}
html[data-theme="dark"] .official-booking-handoff{background:radial-gradient(circle at 88% 18%,rgba(117,231,255,.13),transparent 22%),linear-gradient(145deg,#0a1827,#0d2336)}

@media(max-width:1120px){.theme-toggle b{display:none}.theme-toggle button{padding-inline:9px}.nav{gap:18px}.nav-links{gap:18px}}
@media(max-width:900px){body[data-page="home"] .site-header{position:relative;background:var(--glass-strong)}body[data-page="home"] .hero{padding-top:0}.campaign-ribbon-section{margin-top:0;padding-top:24px}.campaign-ribbon{min-height:390px}.official-booking-handoff{align-items:flex-start;flex-direction:column}.official-booking-actions{justify-items:start;text-align:left}.hero-balloon-right-b,.hero-balloon-left-b{display:none}}
@media(max-width:640px){body[data-page="home"] .hero-content{padding:64px 0 78px}.campaign-ribbon{min-height:430px;border-radius:26px;background-position:center 76%}.campaign-ribbon-copy{top:auto;bottom:26px;transform:none}.campaign-ribbon-copy h2{font-size:2.25rem}.campaign-ribbon-actions{align-items:stretch}.campaign-ribbon-actions a{width:100%;justify-content:center}.hero-trust{font-size:.72rem}.home-launch-cloud{width:160px}.theme-toggle{padding:3px}.theme-toggle button{min-height:32px}.theme-toggle b{display:none}.official-booking-handoff{padding:22px}}
@media(prefers-reduced-motion:reduce){.home-launch-celebration{display:none}.campaign-ribbon-sheen,.hero-balloon,.hero-heart,.hero-bubble{animation:none!important}}

/* =========================================================
   Stage 3.4 — Approved homepage rebuild
   Real DOM recreation of the approved bright homepage concept.
   ========================================================= */
body[data-page="home"]{background:#f8fcff}
body[data-page="home"] .site-header{
  position:sticky;top:0;z-index:95;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(5,43,121,.055);
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 30px rgba(5,43,121,.035);
}
body[data-page="home"] .brand img{width:66px;height:66px}
body[data-page="home"] .nav{min-height:76px}
body[data-page="home"] .nav-links{font-weight:700;color:#07152b}
body[data-page="home"] .lang-toggle,body[data-page="home"] .theme-toggle,body[data-page="home"] .official-cart-link{background:rgba(255,255,255,.82);border-color:rgba(5,43,121,.10)}
body[data-page="home"] .theme-toggle button b{display:inline}
body[data-page="home"] .hero{
  min-height:710px;
  color:#071d45;
  background:#dff3ff;
  isolation:isolate;
}
body[data-page="home"] .hero:before{
  z-index:-3;
  background:url('/assets/images/hero-castle.webp') center 46%/cover no-repeat;
  filter:saturate(1.12) contrast(1.025) brightness(1.105);
  transform:scale(1.006);
}
body[data-page="home"] .hero:after{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 18% 44%,rgba(255,255,255,.84) 0 19%,rgba(255,255,255,.43) 39%,transparent 62%),
    linear-gradient(90deg,rgba(243,251,255,.50) 0%,rgba(239,249,255,.22) 46%,rgba(210,240,255,.08) 72%,rgba(255,255,255,.12) 100%);
}
html[data-theme="dark"] body[data-page="home"] .hero:before{filter:saturate(.94) contrast(1.04) brightness(.72)}
html[data-theme="dark"] body[data-page="home"] .hero:after{background:linear-gradient(90deg,rgba(4,16,31,.68),rgba(4,16,31,.25) 52%,rgba(4,16,31,.20))}
body[data-page="home"] .hero-content{padding:78px 0 108px;grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);gap:60px}
body[data-page="home"] .hero-copy{max-width:700px;filter:none}
body[data-page="home"] .hero .eyebrow{color:#075fab;text-shadow:0 1px 0 rgba(255,255,255,.85)}
body[data-page="home"] .hero h1{font-size:clamp(3.7rem,6.2vw,6.5rem);line-height:.92;color:#081e48;text-shadow:0 2px 0 rgba(255,255,255,.64),0 12px 36px rgba(16,70,108,.10)}
body[data-page="home"] .hero p{color:#203e60;font-size:clamp(1.06rem,1.65vw,1.28rem);font-weight:520;text-shadow:0 1px 0 rgba(255,255,255,.72)}
html[data-theme="dark"] body[data-page="home"] .hero h1,html[data-theme="dark"] body[data-page="home"] .hero .eyebrow{color:#fff;text-shadow:0 12px 36px rgba(0,0,0,.28)}
html[data-theme="dark"] body[data-page="home"] .hero p{color:rgba(255,255,255,.88);text-shadow:none}
body[data-page="home"] .hero-actions{margin-top:3px}
body[data-page="home"] .hero-book-swim{padding:15px 28px;font-size:1rem;border-radius:16px;background:linear-gradient(135deg,#087cff,#005eb2);box-shadow:0 18px 42px rgba(0,94,178,.24)}
body[data-page="home"] .hero-discover{padding:14px 25px;border-radius:16px;background:rgba(255,255,255,.42);border-color:rgba(5,43,121,.26);color:#0b2c58;box-shadow:inset 0 1px rgba(255,255,255,.6)}
html[data-theme="dark"] body[data-page="home"] .hero-discover{color:#fff;background:rgba(4,20,38,.36);border-color:rgba(255,255,255,.32)}
.hero-trust{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;color:#274967;font-size:.84rem;font-weight:650}.hero-trust strong{color:#0d3768}.hero-trust-dots{display:flex;gap:0}.hero-trust-dots i{width:23px;height:23px;border-radius:50%;display:block;border:2px solid rgba(255,255,255,.9);background:linear-gradient(145deg,#1478d4,#73d9ff);margin-left:-6px;box-shadow:0 5px 14px rgba(5,43,121,.12)}.hero-trust-dots i:first-child{margin-left:0;background:linear-gradient(145deg,#ffb14b,#ff7a00)}.hero-trust-dots i:nth-child(3){background:linear-gradient(145deg,#ff9ab5,#ff5b89)}
html[data-theme="dark"] .hero-trust,html[data-theme="dark"] .hero-trust strong{color:#d9efff}
body[data-page="home"] .hero-card{width:min(390px,100%);padding:22px;border-radius:36px;background:linear-gradient(145deg,rgba(218,236,251,.45),rgba(139,171,207,.33));border:1px solid rgba(255,255,255,.68);backdrop-filter:blur(30px) saturate(150%);box-shadow:0 32px 90px rgba(30,76,112,.20),inset 0 1px 0 rgba(255,255,255,.7);position:relative;overflow:hidden}
body[data-page="home"] .hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 16%,rgba(255,255,255,.26),transparent 34%);pointer-events:none}
body[data-page="home"] .hero-card img{position:relative;z-index:1;border-radius:26px;object-fit:contain;background:transparent;filter:drop-shadow(0 12px 28px rgba(17,57,96,.12))}
body[data-page="home"] .hero-badge{position:relative;z-index:1;color:#173b65}.hero-badge .small{display:block;color:#56708a}.hero-badge strong{font-size:1.13rem}.hero-badge .glass-btn{background:rgba(255,255,255,.36);color:#173b65;border-color:rgba(255,255,255,.62);font-size:.78rem}
html[data-theme="dark"] body[data-page="home"] .hero-card{background:linear-gradient(145deg,rgba(17,42,68,.68),rgba(5,22,38,.52));border-color:rgba(255,255,255,.18)}
html[data-theme="dark"] body[data-page="home"] .hero-badge,html[data-theme="dark"] body[data-page="home"] .hero-badge .small,html[data-theme="dark"] body[data-page="home"] .hero-badge .glass-btn{color:#fff}

/* Persistent decorative scene around the hero */
.hero-party-scene,.hero-cloud{position:absolute;pointer-events:none;z-index:1}.hero-party-scene{inset:0;overflow:hidden}.party-balloon{position:absolute;width:64px;height:82px;border-radius:52% 48% 50% 50%;opacity:.78;filter:drop-shadow(0 16px 24px rgba(20,65,98,.14));animation:heroBalloonFloat 7.5s ease-in-out infinite}.party-balloon:before{content:"";position:absolute;inset:9px 16px auto auto;width:16px;height:28px;border-radius:50%;background:rgba(255,255,255,.45);transform:rotate(-22deg)}.party-balloon:after{content:"";position:absolute;left:50%;top:80px;width:1px;height:95px;background:rgba(43,85,111,.40)}.balloon-blue{background:linear-gradient(145deg,#eaf9ff 3%,#65c8ff 45%,#247ad9 100%)}.balloon-peach{background:linear-gradient(145deg,#fff7e9,#ffc984 46%,#ee8a59)}.balloon-pink{background:linear-gradient(145deg,#fff2f8,#ff95bb 48%,#e45d95)}.balloon-silver{background:linear-gradient(145deg,#fff,#dceaf4 52%,#9fb7c7)}.balloon-left-1{left:1.4%;top:31%}.balloon-left-2{left:5.8%;top:54%;width:55px;height:70px;animation-delay:-3.1s}.balloon-right-1{right:2.3%;top:20%;width:72px;height:92px;animation-delay:-1.7s}.balloon-right-2{right:7.1%;top:30%;width:58px;height:74px;animation-delay:-4.4s}
.party-bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.78);background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.9),rgba(166,225,255,.20) 38%,rgba(255,255,255,.02) 70%);box-shadow:inset -8px -10px 18px rgba(28,121,182,.08);animation:bubbleDrift 8s ease-in-out infinite}.bubble-hero-1{width:42px;height:42px;left:6%;top:18%}.bubble-hero-2{width:28px;height:28px;right:10%;bottom:14%;animation-delay:-2.2s}.bubble-hero-3{width:55px;height:55px;right:1%;bottom:3%;animation-delay:-4.4s}
.party-heart,.party-spark{position:absolute;filter:drop-shadow(0 10px 20px rgba(167,70,115,.17));animation:heartFloat 7s ease-in-out infinite}.party-heart{color:#ff6fa0;font-size:1.55rem}.heart-hero-1{left:4.5%;bottom:8%}.heart-hero-2{right:3.5%;bottom:12%;font-size:2rem;animation-delay:-2.8s}.heart-hero-3{right:13%;top:17%;font-size:1.2rem;animation-delay:-5s}.party-spark{color:#ffc24c;font-size:1.2rem}.spark-hero-1{left:13%;top:14%}.spark-hero-2{right:19%;bottom:9%;animation-delay:-3.2s}
.hero-cloud{width:260px;height:88px;opacity:.48;filter:blur(.4px);background:radial-gradient(circle at 29% 60%,rgba(255,255,255,.98) 0 28%,transparent 29%),radial-gradient(circle at 53% 40%,rgba(255,255,255,.98) 0 36%,transparent 37%),radial-gradient(circle at 76% 60%,rgba(255,255,255,.92) 0 28%,transparent 29%)}.hero-cloud-a{right:15%;top:5%;transform:scale(.74)}.hero-cloud-b{left:14%;top:8%;transform:scale(.56);opacity:.34}
@keyframes heroBalloonFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-22px) rotate(3deg)}}@keyframes bubbleDrift{0%,100%{transform:translate(0,0) scale(.96)}50%{transform:translate(10px,-20px) scale(1.04)}}@keyframes heartFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-16px) rotate(5deg)}}

/* 2027 attraction: uses only the sunset/boat crop of the supplied artwork.
   The duplicate anniversary badge is outside the visible crop. */
.home-celebration-hub{position:relative;z-index:4;margin-top:-56px;padding:0 0 52px;background:linear-gradient(180deg,transparent 0,#f8fcff 72px,#f8fcff 100%)}
html[data-theme="dark"] .home-celebration-hub{background:linear-gradient(180deg,transparent 0,#06111d 72px,#06111d 100%)}
.celebration-hub-shell{display:grid;gap:18px}.campaign-feature{position:relative;min-height:285px;border-radius:30px;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.70);box-shadow:0 28px 80px rgba(112,67,48,.22)}.campaign-photo{position:absolute;inset:0;z-index:-3;background-image:url('/assets/images/2027-celebrations.webp');background-size:100% auto;background-repeat:no-repeat;background-position:center 78%;filter:saturate(1.09) contrast(1.04) brightness(.94);transform:scale(1.005)}.campaign-feature:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(39,15,17,.50),rgba(39,15,17,.13) 52%,rgba(39,15,17,.30)),linear-gradient(0deg,rgba(31,15,18,.25),transparent 70%)}.campaign-shine{position:absolute;inset:-50% -20%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.18) 49%,transparent 60%);transform:translateX(-55%);animation:campaignSweep 8.5s ease-in-out infinite;pointer-events:none}.campaign-logo{position:absolute;left:34px;top:30px;width:105px;filter:brightness(0) invert(1) drop-shadow(0 6px 14px rgba(0,0,0,.2));z-index:2}.campaign-copy{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;text-align:center;padding:36px 180px 34px;color:#fff;text-shadow:0 4px 22px rgba(35,13,16,.38)}.campaign-copy .eyebrow{color:#ffe4ab}.campaign-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.025em;font-size:clamp(2rem,3.7vw,4.15rem)}.campaign-copy p{margin-top:6px;color:rgba(255,255,255,.90);font-size:1.02rem}.campaign-actions{justify-content:center;margin-top:13px}.campaign-glass-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.36);backdrop-filter:blur(16px);color:#fff;font-weight:760}.campaign-glass-btn:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}@keyframes campaignSweep{0%,68%{transform:translateX(-55%)}88%,100%{transform:translateX(55%)}}
.home-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid rgba(5,43,121,.08);border-radius:25px;overflow:hidden;background:rgba(255,255,255,.88);box-shadow:0 14px 38px rgba(5,43,121,.06);backdrop-filter:blur(20px)}.home-quick-actions a{display:grid;grid-template-columns:40px 1fr 20px;gap:12px;align-items:center;padding:18px 20px;transition:.28s ease}.home-quick-actions a:hover{background:#f0f9ff;transform:translateY(-1px)}.home-quick-actions a>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#e7f6ff;color:#0569be;font-weight:900}.home-quick-actions a div{display:grid;gap:2px}.home-quick-actions strong{font-size:.9rem}.home-quick-actions small{color:#6b7e90;font-size:.72rem}.home-quick-actions b{color:#0b69b7}.home-quick-actions a+a{border-left:1px solid rgba(5,43,121,.06)}
html[data-theme="dark"] .home-quick-actions{background:rgba(8,22,36,.92);border-color:rgba(117,231,255,.10)}html[data-theme="dark"] .home-quick-actions a:hover{background:#10263a}html[data-theme="dark"] .home-quick-actions a+a{border-left-color:rgba(117,231,255,.08)}
.official-experience-strip{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr) minmax(220px,.7fr);gap:14px;align-items:stretch;padding:18px;border-radius:26px;background:rgba(255,255,255,.76);border:1px solid rgba(5,43,121,.07);box-shadow:0 16px 44px rgba(5,43,121,.055);backdrop-filter:blur(18px)}.official-experience-copy{padding:10px 14px;display:grid;align-content:center;gap:5px}.official-experience-copy h2{font-size:clamp(1.55rem,2.2vw,2.25rem)}.official-experience-copy p{color:#60758a;font-size:.86rem;max-width:620px}.official-mini-card{display:grid;grid-template-columns:50px 1fr 20px;gap:10px;align-items:center;padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(5,43,121,.08);transition:.28s ease}.official-mini-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(5,43,121,.08)}.official-mini-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#edf8ff;font-size:1.4rem}.official-mini-card div{display:grid;gap:2px}.official-mini-card strong{font-size:.88rem}.official-mini-card small{font-size:.72rem;color:#6d7f90}.official-mini-card b{color:#0868ba}
html[data-theme="dark"] .official-experience-strip,html[data-theme="dark"] .official-mini-card{background:#0a1a2a;border-color:rgba(117,231,255,.10)}html[data-theme="dark"] .official-mini-icon{background:#112b43}

/* The Light/Dark selector is intentionally explicit on the homepage. */
body[data-page="home"] .theme-toggle{display:inline-flex!important}body[data-page="home"] .theme-toggle b{display:inline!important}

/* More visible automatic entrance celebration */
.home-confetti{width:var(--w,9px);height:var(--h,17px);box-shadow:0 3px 7px rgba(0,0,0,.06)}.home-launch-popper{position:absolute;top:43%;font-size:4.2rem;opacity:0;filter:drop-shadow(0 14px 24px rgba(71,35,53,.18));animation:popperBurst 2.9s cubic-bezier(.2,.72,.22,1) .18s forwards}.popper-left{left:-10px;transform:rotate(25deg)}.popper-right{right:-10px;transform:scaleX(-1) rotate(25deg)}.home-launch-cloud{transform:scale(var(--scale,1))}.home-launch-balloon{width:50px;height:64px}.home-launch-balloon:after{top:62px;height:88px}.home-celebration-emoji{font-size:clamp(1.6rem,2.5vw,2.6rem)}@keyframes popperBurst{0%{opacity:0;transform:translateY(30px) scale(.55) rotate(20deg)}18%,64%{opacity:1}100%{opacity:0;transform:translateY(-80px) scale(1.12) rotate(-8deg)}}

@media(max-width:1180px){body[data-page="home"] .hero h1{font-size:clamp(3.5rem,6vw,5.4rem)}.campaign-copy{padding-inline:145px}.campaign-logo{width:88px}.official-experience-strip{grid-template-columns:1fr 1fr}.official-experience-copy{grid-column:1/-1}.home-quick-actions small{display:none}}
@media(max-width:980px){body[data-page="home"] .hero-content{grid-template-columns:1fr .68fr;gap:32px}.party-balloon{opacity:.55}.campaign-feature{min-height:320px}.campaign-copy{padding-inline:110px}.campaign-logo{left:22px;top:22px;width:76px}.home-quick-actions{grid-template-columns:repeat(2,1fr)}.home-quick-actions a:nth-child(3){border-left:0;border-top:1px solid rgba(5,43,121,.06)}.home-quick-actions a:nth-child(4){border-top:1px solid rgba(5,43,121,.06)}}
@media(max-width:760px){body[data-page="home"] .hero{min-height:auto}body[data-page="home"] .hero-content{grid-template-columns:1fr;padding:58px 0 78px}body[data-page="home"] .hero-card{justify-self:start;width:min(330px,90%)}body[data-page="home"] .hero h1{font-size:clamp(3.05rem,15vw,4.7rem)}.balloon-right-2,.balloon-left-2{display:none}.home-celebration-hub{margin-top:-24px}.campaign-feature{min-height:410px}.campaign-photo{background-size:auto 100%;background-position:center bottom}.campaign-copy{padding:105px 28px 30px;align-content:end}.campaign-copy h2{font-size:2.3rem}.campaign-logo{width:74px}.campaign-actions{align-items:stretch}.campaign-actions a{width:100%}.official-experience-strip{grid-template-columns:1fr}.official-experience-copy{grid-column:auto}.home-quick-actions a{padding:15px}.floating-meeting{bottom:18px;right:14px}.theme-toggle button{padding:6px 9px}.theme-toggle button b{font-size:.68rem}}
@media(max-width:520px){.home-quick-actions{grid-template-columns:1fr}.home-quick-actions a+a,.home-quick-actions a:nth-child(3),.home-quick-actions a:nth-child(4){border-left:0;border-top:1px solid rgba(5,43,121,.06)}.campaign-copy h2{font-size:2rem}.campaign-feature{min-height:450px}.party-balloon{transform:scale(.75)}body[data-page="home"] .nav-actions{gap:5px}body[data-page="home"] .lang-toggle{display:none}body[data-page="home"] .official-cart-link span{display:none}}
@media(prefers-reduced-motion:reduce){.campaign-shine,.party-balloon,.party-bubble,.party-heart,.party-spark,.home-launch-popper{animation:none!important}.home-launch-celebration{display:none!important}}

/* =========================================================
   Stage 3.5 — client-handoff visual corrections
   ========================================================= */
body[data-page="home"] .hero:before{
  filter:saturate(1.07) contrast(1.035) brightness(1.015);
}
body[data-page="home"] .hero:after{
  background:
    radial-gradient(circle at 18% 44%,rgba(219,241,255,.48) 0 18%,rgba(222,243,255,.31) 38%,transparent 62%),
    linear-gradient(90deg,rgba(202,232,251,.34) 0%,rgba(210,239,255,.20) 44%,rgba(196,228,248,.10) 72%,rgba(201,231,249,.10) 100%);
}
body[data-page="home"] .hero-discover{
  color:#fff;
  background:linear-gradient(135deg,#087cff,#005eb2);
  border-color:transparent;
  box-shadow:0 18px 42px rgba(0,94,178,.22);
  padding:15px 28px;
}
body[data-page="home"] .hero-discover:hover{background:linear-gradient(135deg,#1590ff,#0069c7);transform:translateY(-2px)}
.hero-trust{
  width:max-content;
  max-width:100%;
  padding:8px 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,rgba(0,94,178,.94),rgba(0,120,255,.88));
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 12px 30px rgba(0,94,178,.18);
  backdrop-filter:blur(14px) saturate(150%);
}
.hero-trust strong,.hero-trust span{color:#fff}.hero-trust>span:last-child{color:rgba(255,255,255,.88)}
html[data-theme="dark"] .hero-trust,html[data-theme="dark"] .hero-trust strong{color:#fff}

/* 2027 banner: keep logo visible and move message/actions away from boat. */
.campaign-logo{
  width:116px;
  left:30px;
  top:26px;
  background:transparent;
  filter:brightness(0) invert(1) drop-shadow(0 7px 17px rgba(0,0,0,.28));
}
.campaign-copy{
  inset:24px 34px auto 42%;
  min-height:225px;
  padding:0;
  align-content:center;
  justify-items:end;
  text-align:right;
  max-width:none;
}
.campaign-copy h2{max-width:720px;font-size:clamp(2rem,3.25vw,3.65rem);line-height:1.02}
.campaign-copy p{max-width:630px}
.campaign-actions{justify-content:flex-end}
.campaign-photo{background-position:center 81%;filter:saturate(1.08) contrast(1.035) brightness(.97)}
.campaign-feature:after{background:linear-gradient(90deg,rgba(38,16,18,.14) 0%,rgba(38,16,18,.06) 38%,rgba(38,16,18,.46) 100%),linear-gradient(0deg,rgba(31,15,18,.18),transparent 66%)}

@media(max-width:980px){
  .campaign-copy{inset:88px 28px 24px 30%;min-height:205px}.campaign-logo{width:90px}.campaign-copy h2{font-size:clamp(2rem,4.6vw,3rem)}
}
@media(max-width:760px){
  .campaign-logo{left:22px;top:20px;width:76px}
  .campaign-copy{inset:auto 24px 24px 24px;min-height:0;text-align:left;justify-items:start;padding:0;align-content:end}
  .campaign-actions{justify-content:flex-start}.campaign-copy h2{font-size:2.15rem}.campaign-feature{min-height:430px}
  .campaign-photo{background-position:44% bottom}
}

/* =========================================================
   Stage 3.6 — cache-safe homepage fidelity + official cart routing
   ========================================================= */
body[data-page="home"] .hero:before{
  background:url('/assets/images/hero-castle.webp') center 50%/cover no-repeat;
  filter:saturate(1.08) contrast(1.045) brightness(1.04);
}
body[data-page="home"] .hero:after{
  background:
    linear-gradient(90deg,rgba(202,235,253,.44) 0%,rgba(215,240,253,.24) 32%,rgba(174,220,247,.11) 55%,rgba(77,157,210,.07) 77%,rgba(14,87,153,.06) 100%),
    linear-gradient(0deg,rgba(214,240,252,.08),rgba(255,255,255,.02));
}
body[data-page="home"] .hero-content{padding-top:82px;padding-bottom:104px}
body[data-page="home"] .hero-copy{max-width:680px}
body[data-page="home"] .hero h1{font-size:clamp(3.85rem,6.05vw,6.25rem);line-height:.93}
body[data-page="home"] .hero-discover{
  background:linear-gradient(135deg,#087cff,#005eb2)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:0 18px 44px rgba(0,94,178,.24),inset 0 1px rgba(255,255,255,.28);
}
body[data-page="home"] .hero-trust{background:linear-gradient(135deg,#087cff,#005eb2);border-color:rgba(255,255,255,.48);color:#fff}
body[data-page="home"] .hero-trust strong,body[data-page="home"] .hero-trust span{color:#fff}

/* Clean 2027 strip: scenic source has no duplicated 10-year badge or embedded text.
   Boat is intentionally placed on the right, while HTML copy owns the left/centre. */
.campaign-photo{
  background-image:url('/assets/images/2027-sunset-clean.webp')!important;
  background-size:cover!important;background-position:center!important;
  filter:saturate(1.10) contrast(1.035) brightness(.99)!important;
  transform:none!important;
}
.campaign-feature{min-height:270px}
.campaign-feature:after{
  background:linear-gradient(90deg,rgba(36,16,18,.34) 0%,rgba(42,18,18,.18) 45%,rgba(28,14,16,.05) 72%,rgba(20,12,14,.08) 100%)!important;
}
.campaign-logo{left:34px;top:50%;transform:translateY(-50%);width:118px}
.campaign-copy{
  inset:0 38% 0 18%;min-height:0;padding:32px 24px;
  align-content:center;justify-items:center;text-align:center;
}
.campaign-copy h2{max-width:760px;font-size:clamp(2.15rem,3.15vw,3.55rem);line-height:1.02}
.campaign-copy p{max-width:610px}.campaign-actions{justify-content:center}

@media(max-width:980px){
  .campaign-copy{inset:0 27% 0 19%;padding-inline:18px}.campaign-logo{width:88px;left:20px}
}
@media(max-width:760px){
  body[data-page="home"] .hero:after{background:linear-gradient(90deg,rgba(205,236,252,.34),rgba(165,216,244,.12))}
  .campaign-feature{min-height:440px}.campaign-photo{background-position:58% center!important}
  .campaign-logo{top:24px;left:22px;transform:none;width:78px}
  .campaign-copy{inset:auto 22px 26px 22px;padding:0;text-align:left;justify-items:start}
  .campaign-actions{justify-content:flex-start}
}

/* =========================================================
   Stage 3.7 — typography + readability regression correction
   Preserve the site's native Apple/system sans-serif language.
   ========================================================= */
body[data-page="home"] .hero-copy{
  position:relative;
  z-index:2;
}
body[data-page="home"] .hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-24px -34px -24px -30px;
  border-radius:32px;
  background:linear-gradient(90deg,rgba(226,244,255,.58) 0%,rgba(231,247,255,.37) 58%,rgba(231,247,255,0) 100%);
  filter:blur(.15px);
  pointer-events:none;
}
body[data-page="home"] .hero h1{
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  color:#071f49;
  font-weight:780;
  letter-spacing:-.055em;
  text-shadow:0 1px 0 rgba(255,255,255,.88),0 8px 24px rgba(6,39,76,.10);
}
body[data-page="home"] .hero .eyebrow{
  color:#005eb2;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:.80rem;
  font-weight:780;
  letter-spacing:.14em;
  text-shadow:0 1px 0 rgba(255,255,255,.92);
}
body[data-page="home"] .hero p{
  color:#16395f;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(1.04rem,1.45vw,1.22rem);
  font-weight:610;
  text-shadow:0 1px 1px rgba(255,255,255,.92);
}
html[data-theme="dark"] body[data-page="home"] .hero-copy::before{
  background:linear-gradient(90deg,rgba(4,19,36,.56),rgba(4,19,36,.18) 62%,transparent);
}
html[data-theme="dark"] body[data-page="home"] .hero h1,
html[data-theme="dark"] body[data-page="home"] .hero .eyebrow,
html[data-theme="dark"] body[data-page="home"] .hero p{
  color:#fff;
  text-shadow:0 8px 26px rgba(0,0,0,.28);
}

/* 2027 banner: restore the site's minimalist sans-serif typography and keep
   every message above the waterline/away from the boat. */
.campaign-copy{
  inset:0 37% 0 20%;
  padding:24px 20px;
  align-content:center;
  justify-items:start;
  text-align:left;
  gap:5px;
}
.campaign-copy .eyebrow,
.campaign-copy h2,
.campaign-copy .campaign-subtitle,
.campaign-copy .campaign-description{
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
}
.campaign-copy .eyebrow{
  color:#ffe4ad;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(42,13,8,.38);
}
.campaign-copy h2{
  margin:0;
  max-width:680px;
  color:#fff;
  font-size:clamp(2.05rem,3.05vw,3.45rem);
  line-height:.98;
  font-weight:780;
  letter-spacing:-.048em;
  text-shadow:0 4px 20px rgba(42,13,8,.42);
}
.campaign-subtitle{
  margin:3px 0 0!important;
  color:#ffe0a0!important;
  font-size:clamp(1.12rem,1.65vw,1.55rem)!important;
  line-height:1.05;
  font-weight:730!important;
  letter-spacing:-.025em;
  text-shadow:0 3px 16px rgba(42,13,8,.42);
}
.campaign-description{
  margin-top:5px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:.92rem!important;
  font-weight:560;
  line-height:1.35;
  max-width:560px!important;
}
.campaign-actions{
  justify-content:flex-start!important;
  margin-top:10px;
}
.campaign-feature:after{
  background:linear-gradient(90deg,rgba(31,12,14,.52) 0%,rgba(31,12,14,.30) 48%,rgba(31,12,14,.06) 69%,rgba(20,12,14,.04) 100%)!important;
}
.campaign-logo{
  left:30px;
  width:110px;
}

@media(max-width:980px){
  .campaign-copy{inset:0 28% 0 19%;padding:24px 14px}
  .campaign-copy h2{font-size:clamp(1.9rem,4.8vw,2.85rem)}
  .campaign-logo{width:84px;left:18px}
}
@media(max-width:760px){
  body[data-page="home"] .hero-copy::before{inset:-18px -18px -18px -18px;border-radius:24px;background:rgba(229,246,255,.46)}
  .campaign-feature{min-height:430px}
  .campaign-copy{inset:auto 22px 24px 22px;padding:0;align-content:end;justify-items:start;text-align:left}
  .campaign-copy h2{font-size:2.2rem}
  .campaign-subtitle{font-size:1.28rem!important}
  .campaign-description{font-size:.88rem!important}
  .campaign-logo{top:22px;left:20px;transform:none;width:76px}
}

/* =========================================================
   Stage 3.8 — LGSA client feedback priority pass
   Prestige cleanup, system theme, homepage content and UX fixes.
   ========================================================= */

/* Header: logo is the home control; appearance follows the device/browser. */
.brand img,.footer-logo img{background:transparent!important;border-radius:0!important;padding:0!important;object-fit:contain}
.theme-toggle{display:none!important}

/* Celebration language: replace playful emoji/balloon layers with restrained light/glass detail. */
.hero-party-scene,.hero-cloud,.home-launch-celebration,.ambient-world{display:none!important}
.prestige-ambient{position:fixed;inset:0;pointer-events:none;z-index:34;overflow:hidden;opacity:.24}
.prestige-glint{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 24px 8px rgba(187,224,255,.3);animation:prestigeFloat 12s ease-in-out infinite}
.glint-a{left:8%;top:30%}.glint-b{right:12%;top:63%;animation-delay:-5s}
.prestige-ring{position:absolute;width:180px;height:180px;border:1px solid rgba(111,182,232,.16);border-radius:50%;filter:blur(.1px)}
.ring-a{right:-70px;top:18%}.ring-b{left:-80px;bottom:12%;width:230px;height:230px}
@keyframes prestigeFloat{0%,100%{transform:translate3d(0,0,0);opacity:.22}50%{transform:translate3d(18px,-26px,0);opacity:.62}}
@media(prefers-reduced-motion:reduce){.prestige-glint{animation:none}}

/* Home hero: retain the castle and introduce an LGSA swimmer without compromising copy. */
body[data-page="home"] .prestige-hero:before{background:linear-gradient(90deg,rgba(222,242,253,.80) 0%,rgba(204,235,251,.56) 42%,rgba(179,222,245,.22) 70%,rgba(164,214,240,.14) 100%),url('/assets/images/hero-castle.webp') center/cover no-repeat!important}
.hero-swimmer-layer{position:absolute;z-index:1;inset:0 0 0 50%;background:url('/assets/images/hero-swimmer.webp') center/cover no-repeat;opacity:.32;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 26%,#000 70%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 26%,#000 70%);animation:heroSwimmerBreathe 14s ease-in-out infinite alternate}
@keyframes heroSwimmerBreathe{from{opacity:.23;transform:scale(1.01)}to{opacity:.38;transform:scale(1.035)}}
html[data-theme="dark"] body[data-page="home"] .prestige-hero:before{background:linear-gradient(90deg,rgba(3,18,35,.82),rgba(4,28,52,.58) 52%,rgba(4,28,52,.28)),url('/assets/images/hero-castle.webp') center/cover no-repeat!important}
html[data-theme="dark"] .hero-swimmer-layer{mix-blend-mode:screen;opacity:.18}
@media(prefers-reduced-motion:reduce){.hero-swimmer-layer{animation:none}}

/* Anniversary: a more elegant, jewellery-like frame without replacing the approved mark. */
body[data-page="home"] .anniversary-prestige{border:1px solid rgba(196,158,80,.52)!important;box-shadow:0 30px 86px rgba(22,62,95,.18),inset 0 0 0 1px rgba(255,255,255,.68),inset 0 0 42px rgba(224,188,112,.10)!important}
.anniversary-prestige:after{content:"";position:absolute;inset:10px;border:1px solid rgba(201,163,84,.28);border-radius:28px;pointer-events:none}
.anniversary-prestige .anniversary-rule{position:relative;z-index:2;width:72px;height:1px;margin:7px auto 0;background:linear-gradient(90deg,transparent,#bd9351,transparent)}
.anniversary-prestige .hero-badge{padding-inline:4px}
.anniversary-prestige .hero-badge strong{font-family:Georgia,"Times New Roman",serif;letter-spacing:.02em;color:#8f6b30}
html[data-theme="dark"] .anniversary-prestige .hero-badge strong{color:#efd59a}

/* Meeting control belongs in the bottom corner rather than mid-page. */
.floating-meeting{top:auto!important;bottom:20px!important;right:20px!important;transform:none!important}
.floating-meeting:hover{transform:translateY(-4px)!important}

/* One clear calendar action; remove duplicate-card visual weight. */
.official-experience-strip.single-calendar{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);align-items:center}
.single-calendar .official-experience-copy{grid-column:auto}
.single-calendar .calendar-primary{min-height:92px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(232,247,255,.92));border:1px solid rgba(0,94,178,.13)}
.single-calendar .calendar-primary strong{font-size:1rem}

/* Story copy remains legible over full-bleed imagery. */
.home-story-copy{background:linear-gradient(135deg,rgba(4,31,63,.78),rgba(4,31,63,.38));backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px 20px}
.home-story-copy p{color:rgba(255,255,255,.88)}

/* Committee/community visual treatment. */
.committee-placeholder{background-image:url('/assets/images/community.webp')!important;background-position:center!important}
.committee-placeholder:after{background:linear-gradient(90deg,rgba(5,43,121,.90),rgba(5,43,121,.22))!important}

/* Route text is separated from dotted route graphics for readability. */
.route-section{background:#f8fcff}
.route-copy{position:relative;z-index:3;max-width:470px;padding:22px 24px;border-radius:22px;background:rgba(255,255,255,.86);border:1px solid rgba(5,43,121,.10);box-shadow:0 14px 38px rgba(5,43,121,.08);backdrop-filter:blur(13px)}
.route-copy p{color:#344f69;line-height:1.62}
.route-line{stroke-width:3.2;stroke-dasharray:7 7;opacity:.88}
html[data-theme="dark"] .route-section{background:#07121e}.route-section .route-map{isolation:isolate}
html[data-theme="dark"] .route-copy{background:rgba(8,26,43,.88);border-color:rgba(117,231,255,.12)}html[data-theme="dark"] .route-copy p{color:#c5dceb}

/* Home live-tracking + community additions. */
.tracker-home{background:linear-gradient(180deg,#fff,#f1faff)}
.home-feature-media{position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);min-height:390px}
.home-feature-media img{width:100%;height:390px;object-fit:cover;transition:transform .65s var(--ease-apple)}
.home-feature-media:hover img{transform:scale(1.025)}
.home-feature-media span{position:absolute;left:20px;bottom:20px;padding:9px 14px;border-radius:999px;background:rgba(5,43,121,.78);color:#fff;font-size:.82rem;font-weight:760;backdrop-filter:blur(12px)}
.community-home{background:#fff}
.community-collage{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.community-collage img{width:100%;height:430px;object-fit:cover}
.community-partner{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:18px;width:max-content;max-width:100%;background:#fff}.community-partner img{width:58px;height:58px;object-fit:contain}.community-partner span{font-size:.86rem;font-weight:720;color:var(--navy)}
html[data-theme="dark"] .tracker-home,html[data-theme="dark"] .community-home{background:#07121e}html[data-theme="dark"] .community-partner{background:#0b1d2e;border-color:rgba(117,231,255,.12)}html[data-theme="dark"] .community-partner span{color:#dff5ff}

/* CTA uses a real LGSA swimmer/finisher image rather than the placeholder graphic. */
.closing-cta{background-image:url('/assets/images/gallery-03.webp')!important;background-position:center 42%!important}
.closing-cta:after{background:linear-gradient(90deg,rgba(5,43,121,.88),rgba(5,43,121,.42))!important}

/* Resources tab bar stays in normal document flow; no half-page floating/sticky overlay. */
.resource-console-wrap{position:relative!important;top:auto!important;z-index:12!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px);box-shadow:0 10px 32px rgba(5,43,121,.06)!important}
.resource-console-wrap .resource-tabs{position:relative!important;top:auto!important;display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:8px!important}
.resource-experience-tabs .resource-tab{min-width:0!important;flex:1 1 170px!important;padding:12px 14px!important}
html[data-theme="dark"] .resource-console-wrap{background:rgba(5,11,19,.94)!important}

/* Legends tab targets land at the selected panel rather than halfway through a banner. */
.story-panel{scroll-margin-top:100px}

@media(max-width:980px){
  .hero-swimmer-layer{inset:0 0 0 38%;opacity:.22}
  .official-experience-strip.single-calendar{grid-template-columns:1fr}
  .single-calendar .official-experience-copy{grid-column:auto}
}
@media(max-width:760px){
  .hero-swimmer-layer{inset:36% 0 0 20%;opacity:.18}
  .home-feature-media,.home-feature-media img{min-height:300px;height:300px}
  .community-collage img{height:330px}
  .resource-experience-tabs .resource-tab{flex-basis:calc(50% - 8px)!important}
}
@media(max-width:520px){.resource-experience-tabs .resource-tab{flex-basis:100%!important}}

/* Stage 3.8 visual-QA corrections */
.hero-swimmer-layer{inset:0 0 0 44%!important;background-position:left center!important;opacity:.50!important;mix-blend-mode:normal!important;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.72) 28%,#000 52%)!important;mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.72) 28%,#000 52%)!important}
.single-calendar .calendar-primary{grid-template-columns:1fr auto!important;width:min(360px,100%);justify-self:end;padding:18px 20px!important}
.single-calendar .calendar-primary div{min-width:0}.single-calendar .calendar-primary strong{display:block;white-space:normal;line-height:1.18}.single-calendar .calendar-primary small{display:block;margin-top:5px;line-height:1.35}
@media(max-width:980px){.single-calendar .calendar-primary{justify-self:start;width:min(420px,100%)}}
@media(max-width:620px){
  body[data-page="home"] .hero-card{display:block!important;width:min(230px,78%)!important;padding:12px!important;border-radius:26px!important;margin-top:8px}
  body[data-page="home"] .hero-card img{border-radius:19px!important}
  body[data-page="home"] .hero-badge{display:grid!important;grid-template-columns:1fr;gap:7px!important}.hero-badge .glass-btn{width:max-content}
  .hero-swimmer-layer{inset:0 0 0 24%!important;opacity:.34!important;background-position:left 55%!important}
}
@media(max-width:620px){
  .floating-meeting{width:52px!important;height:52px!important;min-width:52px!important;padding:5px!important;grid-template-columns:1fr!important;border-radius:50%!important;place-items:center}
  .floating-meeting .floating-meeting-icon{width:40px;height:40px;border-radius:50%}
  .floating-meeting span:nth-child(2),.floating-meeting>b{display:none!important}
}
/* Final visual-QA restraint: keep the swimmer visible without a heavy double-exposure effect. */
.hero-swimmer-layer{opacity:.36!important}
@media(max-width:1100px){
  .floating-meeting{width:56px!important;height:56px!important;min-width:56px!important;padding:7px!important;grid-template-columns:1fr!important;border-radius:50%!important;place-items:center}
  .floating-meeting .floating-meeting-icon{width:42px;height:42px;border-radius:50%}
  .floating-meeting span:nth-child(2),.floating-meeting>b{display:none!important}
}
@media(max-width:620px){.hero-swimmer-layer{opacity:.24!important}}
