:root{
  --navy:#0b1f3a;
  --royal:#2b74c7;
  --sky:#3db8ff;
  --sun:#ffcb05;
  --cloud:#f5f8ff;
  --ink:#0c1021;
  --muted:#4b5563;
  --panel:#ffffff;
  --radius:18px;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--cloud);
}

*,
*::before,
*::after{box-sizing:border-box;}

body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 18%, rgba(61,184,255,0.18), transparent 34%),
    radial-gradient(circle at 78% 12%, rgba(255,203,5,0.18), transparent 30%),
    linear-gradient(180deg, #eef3ff 0%, #dfe9ff 45%, #edf5ff 100%);
  color:var(--ink);
}

.site-shell__header{
  position:sticky;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 12px;
  backdrop-filter:blur(14px);
  background:linear-gradient(135deg, rgba(11,31,58,0.92), rgba(43,116,199,0.9));
  box-shadow:0 8px 24px rgba(8,25,58,0.25);
  z-index:10;
}

.site-shell__brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  height:auto;
}

.site-logo{
  width:90px;
  height:38px;
  background:url('/static/logo.png') center/contain no-repeat;
  display:block;
}

.site-shell__nav{
  display:none;
  align-items:center;
  gap:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
}

.site-shell__nav a{
  color:#f6fbff;
  text-decoration:none;
  padding:10px 14px;
  border-radius:12px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.site-shell__nav a:hover{
  background:rgba(255,255,255,0.12);
  box-shadow:0 6px 16px rgba(0,0,0,0.18);
  transform:translateY(-1px);
}

.site-shell__nav .cta{
  background:var(--sun);
  color:var(--navy);
  box-shadow:0 10px 26px rgba(255,203,5,0.35);
}

.site-shell__main{
  width:min(100%,1100px);
  margin:24px auto 40px;
  padding:0 20px;
}

/* ---- GO Tour landing ---- */
.page-tour .site-shell__main{
  width:min(100%,1200px);
}
.tour-page__shell{
  background:#ffffff;
  border-radius:var(--radius);
  padding:28px 24px 36px;
  box-shadow:0 18px 40px rgba(8,25,58,0.16);
  display:flex;
  flex-direction:column;
  gap:20px;
}
.tour-page__header{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.tour-page__eyebrow{
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--royal);
  font-weight:700;
  font-size:0.9rem;
}
.tour-page__header h1{
  margin:0;
  font-size:2rem;
  color:var(--navy);
}
.tour-page__lede{
  margin:0;
  color:var(--muted);
  max-width:680px;
}
.tour-page__banners{
  display:grid;
  gap:16px;
}
.tour-banner{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#0b1220;
  box-shadow:0 14px 32px rgba(0,0,0,0.28);
}
.tour-banner__link{display:block;}
.tour-banner img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#0b1220;
}
.tour-empty{
  margin:0;
  padding:32px 20px;
  text-align:center;
  border:1px dashed rgba(12,16,33,0.18);
  border-radius:16px;
  color:var(--muted);
  background:rgba(61,184,255,0.06);
}

@media(min-width:900px){
  .tour-page__header h1{font-size:2.4rem;}
  .tour-page__banners{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:640px){
  .tour-page__shell{
    padding:22px 16px 30px;
  }
}

.site-shell__footer{
  width:min(100%,1100px);
  margin:0 auto 40px;
  padding:18px 20px;
  background:linear-gradient(135deg, rgba(11,31,58,0.92), rgba(43,116,199,0.9));
  border-radius:var(--radius);
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#f1f5ff;
  box-shadow:0 12px 32px rgba(8,25,58,0.25);
}

.site-footer__links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.site-footer__links a{
  color:#fefefe;
  text-decoration:none;
  font-weight:700;
}

.site-footer__meta p{
  margin:0;
}

.site-footer__disclaimer{
  font-size:0.82rem;
  line-height:1.45;
}
.site-footer__title{
  margin:0 0 6px 0;
  font-weight:700;
  font-size:0.95rem;
  color:#fefefe;
}

.site-nav__menu{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.12);
  color:#f6fbff;
  font-size:1.1rem;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,0.18);
  margin-left:12px;
}

.site-nav-overlay{
  position:fixed;
  inset:0;
  background:radial-gradient(circle at 40% 20%, rgba(61,184,255,0.12), transparent 45%),
             radial-gradient(circle at 70% 10%, rgba(255,203,5,0.12), transparent 50%),
             rgba(6,12,26,0.65);
  backdrop-filter:blur(6px);
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:80px 16px 20px;
  z-index:1500;
}
.site-nav-overlay.is-open{display:flex;}
.site-nav-drawer{
  width:min(900px, 100%);
  background:transparent;
  color:#e2e8f0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.site-nav-drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fefefe;
}
.site-nav-drawer h2{margin:0;font-size:1.2rem;letter-spacing:0.02em;}
.site-nav__close{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2);
  color:#fff;
  width:34px;
  height:34px;
  border-radius:10px;
  cursor:pointer;
}
.site-nav-search input{
  width:100%;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.12);
  color:#f8fafc;
  font-size:1rem;
}
.site-nav-results{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
  max-height:50vh;
  overflow:auto;
  padding-right:4px;
}
.site-nav-result{
  display:inline-flex;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(61,184,255,0.22), rgba(29,78,216,0.22));
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:0 10px 24px rgba(0,0,0,0.22);
}
.site-nav-result__subtitle{
  display:block;
  font-weight:500;
  font-size:0.85rem;
  color:#dbeafe;
  margin-top:4px;
}
.site-nav-result--event{
  background:linear-gradient(135deg, rgba(255,203,5,0.22), rgba(249,115,22,0.22));
}
.site-nav-result--section{
  background:linear-gradient(135deg, rgba(16,185,129,0.22), rgba(8,47,73,0.22));
}
.site-nav-result--page{
  background:linear-gradient(135deg, rgba(96,165,250,0.24), rgba(59,130,246,0.2));
}
.site-nav-result--menu{
  background:linear-gradient(135deg, rgba(61,184,255,0.22), rgba(29,78,216,0.22));
}
.site-nav-result:hover{transform:translateY(-2px);}
.site-nav-empty{
  padding:10px 12px;
  color:#cbd5f5;
  font-size:0.95rem;
}

/* Keep menu button visible at all breakpoints; nav stays hidden unless you re-enable */

@media(max-width:640px){
  .site-shell__header{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .site-shell__main{
    margin-top:22px;
  }
}

.site-scroll-top{
  position:fixed;
  right:18px;
  bottom:24px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(29,78,216,0.9);
  color:#fefefe;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,0.28);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
  z-index:1200;
}
.site-scroll-top.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.site-panel{
  background:var(--panel);
  border-radius:22px;
  box-shadow:0 16px 38px rgba(8,25,58,0.14);
  border:1px solid rgba(43,116,199,0.08);
  overflow:hidden;
}

.site-panel__header{
  padding:18px 20px;
  background:linear-gradient(90deg, rgba(43,116,199,0.12), rgba(61,184,255,0.08));
  font-weight:700;
  color:var(--navy);
}

.site-panel__body{
  padding:20px;
}

.site-hero{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:34px 28px;
  background:linear-gradient(135deg, #0c2340, #2b74c7 45%, #3db8ff 100%);
  color:#f6fbff;
  box-shadow:0 22px 46px rgba(8,25,58,0.35);
}

.site-hero::after{
  content:"";
  position:absolute;
  inset:auto -12% -55% -12%;
  height:70%;
  background:radial-gradient(circle, rgba(255,203,5,0.25), transparent 60%);
  filter:blur(10px);
}

.site-hero__title{
  margin:0 0 10px;
  font-size:2rem;
  line-height:1.1;
  letter-spacing:0.01em;
}

.site-hero__copy{
  margin:0 0 18px;
  color:#dce9ff;
}

.site-hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.btn-blue,
.btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}

.btn-blue{
  background:#ffcb05;
  color:var(--navy);
  box-shadow:0 10px 28px rgba(255,203,5,0.35);
}

.btn-ghost{
  color:#f6fbff;
  border:1px solid rgba(255,255,255,0.45);
  background:rgba(255,255,255,0.08);
}

.btn-blue:hover,
.btn-ghost:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(8,25,58,0.25);
}

@media(max-width:820px){
  .site-shell__nav{
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .site-shell__nav a{
    padding:9px 12px;
  }
}

@media(max-width:640px){
  .site-shell__header{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
  .site-shell__nav{
    width:100%;
  }
  .site-shell__main{
    margin-top:22px;
  }
}
