body{
  background:#08111f;
  color:#f8fafc;
  font-family:Inter,system-ui,sans-serif;
}

.light body,
body[data-theme="light"]{
  background:#f6f7fb;
  color:#0f172a;
}

.page-shell{
  max-width:1280px;
  margin:0 auto;
  padding:1.5rem 1rem;
}

.surface-panel,
.theme-card{
  border-radius:28px;
  background:rgba(2,6,23,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 60px rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
}

body[data-theme="light"] .surface-panel,
body[data-theme="light"] .theme-card{
  background:#fff;
  border-color:#e2e8f0;
  box-shadow:0 12px 36px rgba(15,23,42,.08);
}

.input-lite{
  width:100%;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  padding:.95rem 1rem;
  color:inherit;
}

.input-lite::placeholder{
  color:rgba(255,255,255,.45);
}

body[data-theme="light"] .input-lite{
  background:#fff;
  border-color:#cbd5e1;
}

body[data-theme="light"] .input-lite::placeholder{
  color:#94a3b8;
}

.table-lite{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}

.table-lite th{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#cbd5e1;
  text-align:left;
  padding:0 .9rem;
}

body[data-theme="light"] .table-lite th{
  color:#64748b;
}

.table-lite td{
  background:rgba(255,255,255,.03);
  padding:1rem .9rem;
}

.table-lite tbody tr td:first-child{
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}

.table-lite tbody tr td:last-child{
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}

body[data-theme="light"] .table-lite td{
  background:#f8fafc;
}

.plan-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:9999px;
  background:#d48b27;
  color:#fff !important;
  padding:.9rem 1.35rem;
  font-weight:700;
  border:1px solid rgba(212,139,39,.75);
  white-space:nowrap;
}

.ghost-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:9999px;
  border:1px solid rgba(255,255,255,.15);
  padding:.85rem 1.2rem;
  color:inherit;
  background:transparent;
}

body[data-theme="light"] .ghost-btn{
  border-color:#cbd5e1;
}

.site-select{
  border-radius:9999px;
  padding:.75rem 1rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#f8fafc;
}

body[data-theme="light"] .site-select{
  background:#fff;
  border-color:#cbd5e1;
  color:#0f172a;
}

.site-select option,
.field-input option,
.form-control option{
  background:#0f172a;
  color:#f8fafc;
}

body[data-theme="light"] .site-select option,
body[data-theme="light"] .field-input option,
body[data-theme="light"] .form-control option{
  background:#fff;
  color:#0f172a;
}

.site-header{
  background:linear-gradient(180deg,rgba(2,6,23,.85),rgba(2,6,23,.55));
  backdrop-filter:blur(16px);
}

body[data-theme="light"] .site-header{
  background:rgba(255,255,255,.9);
}

.site-logo-wrap{
  width:64px;
  height:64px;
  border-radius:9999px;
  overflow:hidden;
  background:#fff;
  display:grid;
  place-items:center;
}

.site-logo-img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.site-brand-title{
  font-size:1rem;
  font-weight:800;
  letter-spacing:.25em;
}

.site-brand-sub{
  font-size:.75rem;
  letter-spacing:.35em;
  color:#d48b27;
}

.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.78rem 1rem;
  border-radius:9999px;
  color:rgba(255,255,255,.92);
  font-weight:600;
}

body[data-theme="light"] .nav-link{
  color:#334155;
}

.nav-link.is-active,
.nav-link:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}

body[data-theme="light"] .nav-link.is-active,
body[data-theme="light"] .nav-link:hover{
  background:#f1f5f9;
  color:#0f172a;
}

.icon-btn{
  width:44px;
  height:44px;
  border-radius:9999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
}

body[data-theme="light"] .icon-btn{
  border-color:#cbd5e1;
  color:#0f172a;
}

body[data-theme="dark"] .theme-toggle .icon-sun{
  color:#fff !important;
}

body[data-theme="dark"] .theme-toggle .icon-moon{
  color:#fff !important;
}

.mobile-drawer{
  background:rgba(2,6,23,.96);
}

body[data-theme="light"] .mobile-drawer{
  background:#fff;
}

.mobile-link{
  display:block;
  padding:.9rem 1rem;
  border-radius:16px;
}

.hero-full{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,10,20,.35),rgba(4,10,20,.65));
}

.section-shell{
  max-width:1280px;
  margin:0 auto;
  padding:0 1rem;
}

.section-title{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.section-title span{
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.badge{
  display:inline-flex;
  align-items:center;
  border-radius:9999px;
  padding:.55rem .95rem;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-weight:700;
  backdrop-filter:blur(8px);
}

.card-image{
  width:100%;
  height:260px;
  object-fit:cover;
}

.stat-line{
  color:inherit;
  opacity:.82;
}

.partner-logo{
  max-height:64px;
  width:auto;
  object-fit:contain;
}

.map-wrap{
  overflow:hidden;
}

.map-wrap iframe{
  width:100%;
  min-height:420px;
  border:0;
  border-radius:20px;
}

.experience-overlay-card{
  position:relative;
  min-height:320px;
  border-radius:24px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}

.experience-overlay-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.experience-overlay-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,.08) 0%,rgba(15,23,42,.72) 100%);
}

.experience-overlay-content{
  position:relative;
  z-index:1;
  width:100%;
  padding:1.4rem;
  color:#fff;
}

.experience-overlay-content h2{
  font-size:1.45rem;
  font-weight:800;
  line-height:1.2;
}

.experience-overlay-content p{
  margin-top:.45rem;
  color:rgba(255,255,255,.88);
  font-size:.95rem;
}

.home-cta-band{
  margin-top:1.5rem;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,#d48b27,#f29b38);
  color:#fff;
  box-shadow:0 18px 60px rgba(212,139,39,.25);
}

.home-cta-band-inner{
  display:grid;
  gap:1.25rem;
  align-items:center;
  padding:1.5rem;
}

@media (min-width: 768px){
  .home-cta-band-inner{
    grid-template-columns:1.3fr auto;
    padding:2rem 2.2rem;
  }
}

.home-cta-band h3{
  margin:0;
  font-size:1.8rem;
  line-height:1.2;
  font-weight:800;
}

.home-cta-band p{
  margin:.65rem 0 0;
  color:rgba(255,255,255,.92);
  max-width:680px;
}

.home-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.home-cta-band .ghost-btn{
  border-color:rgba(255,255,255,.4);
  color:#fff;
}