:root{
  --bg0:#030206;
  --bg1:#06040a;
  --card:#0f0d1d;
  --card2:#121028;
  --text:#f4f3ff;
  --muted:#b8b3d6;
  --line:rgba(255,255,255,.08);
  --brand:#d6b354;
  --brand-rgb:214 179 84;
  --brand2:#f4f3ff;
  --brand2-rgb:244 243 255;
  --shadow:0 18px 50px rgba(0,0,0,.55);
  --radius:18px;
  --radius2:26px;
  --max:1100px;
  --display: "Playfair Display", ui-serif, Georgia, serif;
  --auto: "Montserrat", Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg, var(--bg0), var(--bg1));
}
a{color:inherit;text-decoration:none}

.bg{min-height:100%}
.shell{max-width:var(--max); margin:0 auto; padding:18px 16px 44px}
.routeHome .shell{max-width:1400px; padding:0 18px 44px}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 2px 18px;
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:saturate(140%) blur(12px);
  background:linear-gradient(180deg, rgba(4,3,7,.96), rgba(4,3,7,.78));
  border-bottom:1px solid var(--line);
}
.routeHome .topbar{
  position:absolute;
  left:0;
  right:0;
  top:0;
  padding:18px 18px;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
  display:grid;
  grid-template-columns:1fr auto 1fr;
}
.routeHome .brand{grid-column:2; justify-self:center}
.routeHome .nav{grid-column:3; justify-self:end}
.routeHome .navToggle{grid-column:1; justify-self:start}
.brand{display:flex; align-items:center; gap:10px}
.brandMark{
  width:14px; height:14px; border-radius:6px;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.20));
  box-shadow:0 0 0 6px rgba(255,255,255,.08);
}
.brandText{
  font-family:var(--auto);
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgb(var(--brand-rgb));
}

.topNotice{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.35);
  border-radius:999px;
  padding:10px 12px;
  text-align:center;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(244,243,255,.80);
}

.navToggle{
  display:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  color:rgba(244,243,255,.9);
  border-radius:999px;
  padding:8px 12px;
  font-size:14px;
  font-weight:700;
}
.navToggle:hover{border-color:rgb(var(--brand-rgb) / .50)}
.navToggle:active{transform:translateY(1px)}

.nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.navLink{
  font-size:14px;
  color:rgba(244,243,255,.86);
  padding:8px 10px;
  border-radius:999px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.navLink:hover{background:rgba(255,255,255,.06)}
.navButton{
  background:transparent;
  border:1px solid var(--line);
  color:rgba(244,243,255,.9);
  border-radius:999px;
  padding:8px 12px;
  font-size:14px;
}
.navButton:hover{border-color:rgb(var(--brand-rgb) / .50)}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, rgb(var(--brand-rgb) / .95), rgb(var(--brand-rgb) / .55));
  color:#0a0812;
  font-weight:700;
  font-size:14px;
  box-shadow:0 10px 26px rgb(var(--brand-rgb) / .18);
}
.pill:hover{filter:saturate(120%)}
.inline{display:inline}

.flash{
  margin:16px 0 0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}
.flashError{border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.08)}
.flashSuccess{border-color:rgb(var(--brand2-rgb) / .35); background:rgb(var(--brand2-rgb) / .08)}

.main{padding:18px 0 0}
.routeHome .main{padding-top:0}
.hero{
  padding:20px 0 28px;
}
.heroGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:stretch;
}
.badge{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  color:rgba(244,243,255,.82);
}
.h1{
  margin:14px 0 10px;
  font-size:52px;
  line-height:1.02;
  letter-spacing:-.03em;
}
.lead{
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.55;
  max-width:54ch;
}
.heroActions{display:flex; gap:12px; margin:18px 0 0; flex-wrap:wrap}
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--brand), rgb(var(--brand-rgb) / .65));
  border:1px solid rgb(var(--brand-rgb) / .35);
  color:#0a0812;
  font-weight:800;
  box-shadow:0 20px 55px rgb(var(--brand-rgb) / .16);
}
.cta:hover{filter:saturate(120%)}
.ctaGhost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  color:rgba(244,243,255,.9);
  font-weight:700;
}
.ctaGhost:hover{border-color:rgb(var(--brand-rgb) / .45)}

.pitHero{
  position:relative;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  min-height:500px;
  background:#000;
  box-shadow:var(--shadow);
}
.routeHome .pitHero{
  width:100vw;
  margin-left:calc(50% - 50vw);
  border-radius:0;
  border-left:0;
  border-right:0;
  margin-top:0;
}
.pitHeroVideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.pitHeroBg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:opacity .55s ease;
  opacity:1;
}
.pitHeroBg.isFading{opacity:0}
.routeHome .pitHero{margin-top:78px}
.pitHeroShade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.32) 52%, rgba(0,0,0,.66));
}
.pitHeroInner{
  position:relative;
  padding:140px 18px 44px;
  max-width:1100px;
  margin:0 auto;
}
.pitHeroCopy{max-width:680px}
.pitHeroCopy{
  background:rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px 14px 16px;
  backdrop-filter:saturate(120%) blur(10px);
}
.pitKicker{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(0,0,0,.35);
  color:rgba(244,243,255,.85);
}
.pitH1{
  margin:14px 0 10px;
  font-family:var(--auto);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:56px;
  line-height:1.02;
  text-shadow:0 10px 40px rgba(0,0,0,.65);
}
.pitSub{
  color:rgba(244,243,255,.82);
  line-height:1.7;
  max-width:60ch;
}
.pitHeroActions{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}
.pitBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, rgb(var(--brand-rgb) / .95), rgb(var(--brand-rgb) / .60));
  border:1px solid rgb(var(--brand-rgb) / .35);
  color:#0a0812;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
}
.pitBtnGhost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  color:rgba(244,243,255,.90);
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
}
.pitBtn:hover{filter:saturate(115%)}
.pitBtnGhost:hover{border-color:rgb(var(--brand-rgb) / .45)}

.pitPanels{padding:18px 0 8px}
.pitPanelsGrid{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:stretch}
.pitPanel{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:16px;
}
.pitPanelAlt{background:rgba(255,255,255,.03)}
.pitPanelTitle{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
}
.pitServiceList{margin-top:12px; display:grid; gap:12px}
.svcCard{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  overflow:hidden;
}
.svcSum{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
}
.svcSum::-webkit-details-marker{display:none}
.svcLeft{display:flex; align-items:center; gap:10px}
.svcName{
  color:rgba(244,243,255,.92);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:12px;
  line-height:1.35;
}
.svcChevron{
  width:10px;
  height:10px;
  border-right:2px solid rgba(244,243,255,.55);
  border-bottom:2px solid rgba(244,243,255,.55);
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.svcCard[open] .svcChevron{transform:rotate(-135deg)}
.svcBody{
  border-top:1px solid rgba(255,255,255,.08);
  padding:12px 12px 14px;
}
.svcIncl{font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:12px; color:rgba(244,243,255,.78)}
.svcList{margin:10px 0 0; padding-left:18px; color:rgba(244,243,255,.82); line-height:1.65; font-size:14px}
.svcList li + li{margin-top:6px}

.svcIcon{
  width:22px;
  height:22px;
  border-radius:10px;
  border:1px solid rgb(var(--brand-rgb) / .25);
  background:rgb(var(--brand-rgb) / .08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.svcIcon::before{
  content:"";
  width:14px;
  height:14px;
  background:rgb(var(--brand-rgb) / .95);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.svcIconshield::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 20 6v7c0 6-4 9-8 9S4 19 4 13V6l8-4Zm0 3.2L7 7.6V13c0 4 2.6 6.3 5 6.8 2.4-.5 5-2.8 5-6.8V7.6l-5-2.4Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 20 6v7c0 6-4 9-8 9S4 19 4 13V6l8-4Zm0 3.2L7 7.6V13c0 4 2.6 6.3 5 6.8 2.4-.5 5-2.8 5-6.8V7.6l-5-2.4Z'/%3E%3C/svg%3E");
}
.svcIconspark::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 9.8 9.8 2 12l7.8 2.2L12 22l2.2-7.8L22 12l-7.8-2.2L12 2Zm0 5.2.9 3.2 3.2.9-3.2.9-.9 3.2-.9-3.2-3.2-.9 3.2-.9.9-3.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 9.8 9.8 2 12l7.8 2.2L12 22l2.2-7.8L22 12l-7.8-2.2L12 2Zm0 5.2.9 3.2 3.2.9-3.2.9-.9 3.2-.9-3.2-3.2-.9 3.2-.9.9-3.2Z'/%3E%3C/svg%3E");
}
.svcIconseat::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h7a3 3 0 0 1 3 3v7h-2V6a1 1 0 0 0-1-1H9v8h7a3 3 0 0 1 3 3v3H7a3 3 0 0 1-3-3v-4h3V3Zm0 11H6v4a1 1 0 0 0 1 1h10v-1a1 1 0 0 0-1-1H7v-3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h7a3 3 0 0 1 3 3v7h-2V6a1 1 0 0 0-1-1H9v8h7a3 3 0 0 1 3 3v3H7a3 3 0 0 1-3-3v-4h3V3Zm0 11H6v4a1 1 0 0 0 1 1h10v-1a1 1 0 0 0-1-1H7v-3Z'/%3E%3C/svg%3E");
}
.svcIconspray::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2h6v4h-2V4h-2v2h-2V2Zm-3 7h11v2h-2v9a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2v-9H5V9h5Zm-1 2v9h8v-9H9Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2h6v4h-2V4h-2v2h-2V2Zm-3 7h11v2h-2v9a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2v-9H5V9h5Zm-1 2v9h8v-9H9Z'/%3E%3C/svg%3E");
}
.svcIconstar::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 17.3 6.2 20.6l1.3-6.6-5-4.8 6.9-.8L12 2l2.6 6.4 6.9.8-5 4.8 1.3 6.6L12 17.3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 17.3 6.2 20.6l1.3-6.6-5-4.8 6.9-.8L12 2l2.6 6.4 6.9.8-5 4.8 1.3 6.6L12 17.3Z'/%3E%3C/svg%3E");
}
.pitContactRow{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap}
.pitContactItem{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  padding:8px 10px;
  font-size:12px;
  color:rgba(244,243,255,.80);
  background:rgba(0,0,0,.22);
}

.pitBookForm{margin-top:12px; display:grid; gap:10px}
.pitField{display:grid; gap:6px}
.pitLabel{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,243,255,.70); font-weight:900}
.pitSelect,.pitInput{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.44);
  color:rgba(244,243,255,.92);
  padding:12px 12px;
  font-size:14px;
  outline:none;
}
.pitSelect:focus,.pitInput:focus{border-color:rgb(var(--brand-rgb) / .55); box-shadow:0 0 0 4px rgb(var(--brand-rgb) / .14)}
.pitDateWrap{position:relative}
.pitDateNative{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}
.pitDateText{font-variant-numeric:tabular-nums; letter-spacing:.08em}
.pitNext{
  margin-top:6px;
  width:100%;
  border-radius:14px;
  border:1px solid rgb(var(--brand-rgb) / .35);
  background:linear-gradient(135deg, rgb(var(--brand-rgb) / .95), rgb(var(--brand-rgb) / .62));
  color:#0a0812;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:12px 12px;
}
.pitNext:hover{filter:saturate(115%)}
.pitHelp{
  margin-top:10px;
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.22);
  color:rgba(244,243,255,.90);
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:12px 12px;
  font-size:12px;
}
.pitHelp:hover{border-color:rgb(var(--brand-rgb) / .45); background:rgb(var(--brand-rgb) / .10)}

.pitAbout{padding:12px 0 0}
.pitAboutInner{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:16px;
}
.pitAboutTitle{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
}
.pitAboutText{margin-top:10px; color:rgba(244,243,255,.78); line-height:1.7}

.baSection{padding:18px 0 0}
.baHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.baTitle{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
}
.baWrap{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  background:#000;
  position:relative;
  min-height:260px;
}
.baImg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
}
.baAfter{clip-path:inset(0 0 0 50%)}
.baHandle{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  background:rgb(var(--brand-rgb) / .85);
  box-shadow:0 0 0 2px rgba(0,0,0,.35);
}
.baKnob{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgb(var(--brand-rgb));
  font-weight:900;
}
.baRange{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
}
.baTag{
  position:absolute;
  top:12px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.35);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(244,243,255,.85);
}
.baTagBefore{left:12px}
.baTagAfter{right:12px}

.revSection{padding:18px 0 0}
.revWrap{position:relative; margin-top:10px}
.revTrack{
  display:flex;
  gap:12px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding:4px 38px;
}
.revCard{
  flex:0 0 min(520px, 86vw);
  scroll-snap-align:center;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  overflow:hidden;
  display:grid;
  grid-template-columns:160px 1fr;
}
.revPhoto{min-height:160px; background-size:cover; background-position:center}
.revBody{padding:14px}
.revStars{color:rgb(var(--brand-rgb)); letter-spacing:.16em; font-weight:900}
.revText{margin-top:10px; color:rgba(244,243,255,.82); line-height:1.7}
.revMeta{margin-top:10px; color:rgba(244,243,255,.70); font-size:12px}
.revNav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  color:rgba(244,243,255,.90);
  font-weight:900;
}
.revNav:hover{border-color:rgb(var(--brand-rgb) / .45); background:rgb(var(--brand-rgb) / .10)}
.revPrev{left:0}
.revNext{right:0}

.certSection{padding:16px 0 0}
.certLabel{font-weight:900; letter-spacing:.14em; text-transform:uppercase; font-size:12px; color:rgba(244,243,255,.72)}
.certRow{display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-top:10px}
.certLogo{
  height:34px;
  max-width:140px;
  object-fit:contain;
  filter:grayscale(1) contrast(1.1) brightness(.95);
  opacity:.88;
}

.quiz{
  position:fixed;
  inset:0;
  z-index:60;
}
.quizBack{position:absolute; inset:0; background:rgba(0,0,0,.72)}
.quizPanel{
  position:relative;
  width:min(560px, calc(100vw - 24px));
  margin:68px auto 0;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,6,12,.98);
  box-shadow:var(--shadow);
  padding:14px;
}
.quizHead{display:flex; align-items:center; justify-content:space-between; gap:12px}
.quizTitle{font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:12px}
.quizClose{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(244,243,255,.92);
  font-weight:900;
  font-size:18px;
}
.quizClose:hover{border-color:rgb(var(--brand-rgb) / .45); background:rgb(var(--brand-rgb) / .10)}
.quizQ{margin-top:12px; font-weight:900; font-size:18px; letter-spacing:-.01em}
.quizOptions{display:grid; gap:10px; margin-top:12px}
.quizOpt{
  width:100%;
  text-align:left;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  padding:12px 12px;
  color:rgba(244,243,255,.92);
  font-weight:900;
}
.quizOpt:hover{border-color:rgb(var(--brand-rgb) / .45); background:rgb(var(--brand-rgb) / .10)}
.quizRec{margin-top:10px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; color:rgb(var(--brand-rgb))}
body.modalOpen{overflow:hidden}

.waFloat{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:55;
  border-radius:999px;
  padding:12px 14px;
  border:1px solid rgb(var(--brand-rgb) / .45);
  background:linear-gradient(135deg, rgb(var(--brand-rgb) / .95), rgb(var(--brand-rgb) / .65));
  color:#0a0812;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
  box-shadow:var(--shadow);
}
.waFloat:hover{filter:saturate(115%)}

.process{padding:18px 0 0}
.processGrid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:10px}
.processCard{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:14px;
}
.processNum{
  width:36px;
  height:36px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgb(var(--brand-rgb) / .35);
  background:rgb(var(--brand-rgb) / .14);
  color:rgb(var(--brand-rgb));
  font-weight:900;
}
.processTitle{margin-top:10px; font-weight:900; letter-spacing:-.01em}
.processText{margin-top:6px; color:rgba(244,243,255,.78); line-height:1.65}

.homeHero{padding:22px 0 10px}
.homeHeroInner{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(950px 420px at 10% 0%, rgb(var(--brand2-rgb) / .10), transparent 55%),
             radial-gradient(880px 420px at 80% 30%, rgb(var(--brand-rgb) / .10), transparent 58%),
             rgba(255,255,255,.015);
  box-shadow:var(--shadow);
  padding:22px 18px;
  overflow:hidden;
}
.homeKicker{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  color:rgba(244,243,255,.78);
}
.homeH1{
  margin:16px 0 10px;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:900;
  font-size:60px;
  line-height:1.02;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.homeLead{
  margin:0;
  color:rgba(244,243,255,.78);
  font-size:16px;
  line-height:1.7;
  max-width:66ch;
}
.homeActions{display:flex; gap:12px; margin:18px 0 0; flex-wrap:wrap}

.homeCollections{padding:22px 0 6px}
.homeSectionHead{margin-bottom:12px}
.homeH2{font-family:var(--display); font-weight:700; font-size:26px; letter-spacing:-.02em}

.collectionGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.collectionTile{
  position:relative;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(700px 280px at 20% 0%, rgb(var(--brand2-rgb) / .12), transparent 55%),
             rgba(255,255,255,.02);
  min-height:170px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.collectionOverlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.78));
}
.collectionTop{position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.collectionTitle{
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:13px;
}
.collectionArrow{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:rgba(244,243,255,.95);
  flex:0 0 auto;
}
.collectionMeta{
  position:relative;
  color:rgba(244,243,255,.86);
  font-size:13px;
  width:max-content;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  padding:6px 10px;
  background:rgba(0,0,0,.22);
}
.collectionTile:hover{border-color:rgb(var(--brand2-rgb) / .45)}

.homeAbout{padding:18px 0 6px}
.aboutWrap{display:grid; grid-template-columns:1.2fr .8fr; gap:12px; align-items:stretch}
.aboutPanel{
  position:relative;
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:20px 18px;
  overflow:hidden;
}
.aboutTitle{margin-top:10px; font-family:var(--display); font-weight:700; font-size:28px; letter-spacing:-.02em}
.aboutActions{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap}
.aboutWord{
  position:absolute;
  right:-12px;
  bottom:-30px;
  font-family:var(--display);
  font-weight:700;
  font-size:92px;
  letter-spacing:-.04em;
  color:rgba(244,243,255,.07);
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
}
.aboutStats{display:grid; gap:10px}
.aboutStat{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:14px;
}
.aboutStatValue{font-weight:900; letter-spacing:-.02em}
.aboutStatLabel{color:rgba(244,243,255,.75); font-size:13px; margin-top:4px}

.featureGrid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:12px}
.featureCard{
  border-radius:var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  padding:14px;
}
.featureTitle{font-weight:900; letter-spacing:-.01em}

.heroStats{
  margin:18px 0 0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.statCard{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding:12px;
}
.statValue{font-weight:900; letter-spacing:-.02em}
.statLabel{color:var(--muted); font-size:13px; margin-top:2px}

.setupCallout{
  margin-top:16px;
  border-radius:var(--radius2);
  border:1px solid rgb(var(--brand2-rgb) / .25);
  background:radial-gradient(700px 220px at 20% 0%, rgb(var(--brand2-rgb) / .12), transparent 55%), rgba(255,255,255,.02);
  padding:14px;
}
.setupTitle{font-weight:800}
.setupText{color:var(--muted); margin-top:6px; font-size:14px}

.heroMedia{height:100%}
.mediaCard{
  height:100%;
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:radial-gradient(850px 360px at 60% 0%, rgb(var(--brand-rgb) / .22), transparent 60%),
             radial-gradient(650px 320px at 20% 80%, rgb(var(--brand2-rgb) / .10), transparent 55%),
             linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  overflow:hidden;
}
.mediaKicker{letter-spacing:.24em; text-transform:uppercase; font-size:12px; color:rgba(244,243,255,.75)}
.mediaTitle{font-size:34px; font-weight:900; letter-spacing:-.03em; margin-top:8px}
.mediaSub{margin-top:10px; color:var(--muted); line-height:1.6}
.mediaPane{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,8,18,.65);
  padding:14px;
}
.paneRow{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px}
.paneChip{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgb(var(--brand-rgb) / .35);
  background:rgb(var(--brand-rgb) / .10);
}
.paneChipAlt{border-color:rgb(var(--brand2-rgb) / .30); background:rgb(var(--brand2-rgb) / .08)}
.paneBig{font-weight:900; font-size:20px; letter-spacing:-.02em}
.paneSmall{margin-top:6px; color:rgba(244,243,255,.78); font-size:13px}

.section{padding:26px 0}
.sectionHead{margin-bottom:14px}
.h2{
  margin:0;
  font-size:28px;
  letter-spacing:-.02em;
}
.muted{color:var(--muted); line-height:1.55}
.small{font-size:13px}
.kicker{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(244,243,255,.78);
}

.cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
.card{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:190px;
}
.cardHot{
  border-color:rgb(var(--brand-rgb) / .40);
  background:radial-gradient(600px 220px at 30% 0%, rgb(var(--brand-rgb) / .16), transparent 60%),
             linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.cardTop{display:flex; align-items:flex-start; justify-content:space-between; gap:10px}
.cardTitle{font-weight:900; letter-spacing:-.01em}
.cardMeta{color:rgba(244,243,255,.75); font-size:13px; border:1px solid var(--line); padding:6px 8px; border-radius:999px}
.cardDesc{color:var(--muted); font-size:14px; line-height:1.6; flex:1}
.cardImage{
  height:120px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background-size:cover;
  background-position:center;
  background-color:rgba(255,255,255,.02);
}
.cardBottom{display:flex; align-items:center; justify-content:space-between; gap:10px}
.cardPrice{font-weight:900}
.cardCta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  background:rgb(var(--brand-rgb) / .14);
  border:1px solid rgb(var(--brand-rgb) / .35);
  font-weight:800;
}
.cardCta:hover{background:rgb(var(--brand-rgb) / .20)}

.split{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:start;
}
.bullets{margin-top:14px; display:grid; gap:10px}
.bullet{
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  padding:12px;
}
.bulletTitle{font-weight:900}
.bulletText{color:var(--muted); margin-top:6px; font-size:14px}
.stack{display:grid; gap:12px}
.miniCard{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:radial-gradient(650px 240px at 20% 0%, rgb(var(--brand-rgb) / .16), transparent 60%), rgba(255,255,255,.02);
  padding:16px;
}
.miniCardAlt{background:radial-gradient(650px 240px at 20% 0%, rgb(var(--brand2-rgb) / .14), transparent 60%), rgba(255,255,255,.02)}
.miniTitle{font-weight:900; font-size:18px}
.miniText{color:var(--muted); margin-top:8px}

.ctaBand{padding:10px 0 30px}
.ctaBandInner{
  border-radius:var(--radius2);
  border:1px solid rgb(var(--brand-rgb) / .35);
  background:radial-gradient(900px 300px at 20% 0%, rgb(var(--brand-rgb) / .18), transparent 65%),
             rgba(255,255,255,.02);
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.ctaBandTitle{font-weight:900; font-size:18px}
.ctaBandText{color:var(--muted); margin-top:4px}
.ctaBandActions{display:flex; gap:10px; flex-wrap:wrap}

.panel{
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding:16px;
}
.panelHead{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px}

.form{display:grid; gap:12px; margin-top:12px}
.field{display:grid; gap:6px}
.label{font-size:13px; color:rgba(244,243,255,.86); font-weight:600}
.input{
  width:100%;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(10,8,18,.55);
  color:var(--text);
  padding:12px 12px;
  font-size:15px;
  outline:none;
}
.input:focus{border-color:rgb(var(--brand-rgb) / .55); box-shadow:0 0 0 4px rgb(var(--brand-rgb) / .14)}
.inputSmall{padding:10px 10px; font-size:14px}
textarea.input{resize:vertical}
select.input{appearance:none}
select.input option{background:rgba(10,8,18,.95); color:var(--text)}

.row{display:flex; align-items:center; gap:10px; margin-top:12px; flex-wrap:wrap}
.rowTight{margin-top:8px}
.link{color:rgb(var(--brand-rgb) / .95); font-weight:700}
.link:hover{text-decoration:underline}

.accordion{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.accordionSummary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  cursor:pointer;
}
.accordionSummary::-webkit-details-marker{display:none}
.accordionTitle{font-weight:900}
.accordion[open] .accordionSummary{border-bottom:1px solid var(--line); background:rgba(255,255,255,.01)}
.formTight{margin-top:0; padding:12px 12px}

.checkRow{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.02);
  color:rgba(244,243,255,.86);
  font-size:14px;
  line-height:1.35;
}
.check{
  margin-top:2px;
  width:18px;
  height:18px;
  accent-color:var(--brand);
}

.empty{padding:18px 0}
.emptyTitle{font-weight:900; font-size:18px}

.slotGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}
.slot{display:block}
.slotInput{position:absolute; opacity:0; pointer-events:none}
.slotPill{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  padding:12px 10px;
  font-weight:800;
  cursor:pointer;
}
.slotInput:checked + .slotPill{
  border-color:rgb(var(--brand-rgb) / .55);
  background:rgb(var(--brand-rgb) / .16);
}

.priceBox{
  border-radius:22px;
  border:1px solid rgb(var(--brand-rgb) / .35);
  background:radial-gradient(850px 220px at 20% 0%, rgb(var(--brand-rgb) / .22), transparent 60%),
             rgba(255,255,255,.02);
  padding:14px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.priceKicker{color:rgba(244,243,255,.72); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:12px}
.priceValue{font-weight:950; font-size:40px; letter-spacing:-.03em; line-height:1}
.priceSub{margin-top:4px}

.addonGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.addonCard{display:block}
.addonCheck{position:absolute; opacity:0; pointer-events:none}
.addonInner{
  display:block;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  padding:12px;
  cursor:pointer;
  transition:border-color .08s ease, background .08s ease, transform .08s ease;
}
.addonTop{display:flex; align-items:flex-start; justify-content:space-between; gap:10px}
.addonName{font-weight:900}
.addonPrice{font-weight:950; color:rgb(var(--brand2-rgb) / .95)}
.addonDesc{display:block; margin-top:8px; color:var(--muted); font-size:13px; line-height:1.55}
.addonCheck:checked + .addonInner{
  border-color:rgb(var(--brand-rgb) / .55);
  background:rgb(var(--brand-rgb) / .10);
  transform:translateY(-1px);
}
.addonInner:hover{border-color:rgb(var(--brand-rgb) / .35)}

.packageGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.packagePick{display:block}
.packageCard{
  display:block;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  padding:12px;
  cursor:pointer;
  transition:transform .08s ease, border-color .08s ease, background .08s ease;
}
.packageTop{display:flex; align-items:flex-start; justify-content:space-between; gap:10px}
.packageName{font-weight:900; letter-spacing:-.01em}
.packageMeta{color:rgba(244,243,255,.75); font-size:13px; border:1px solid var(--line); padding:6px 8px; border-radius:999px; white-space:nowrap}
.packageDesc{display:block; margin-top:8px; color:var(--muted); font-size:13px; line-height:1.55}
.packageBottom{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px}
.packagePrice{font-weight:900}
.packageTag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgb(var(--brand2-rgb) / .30);
  background:rgb(var(--brand2-rgb) / .10);
  font-size:12px;
  font-weight:900;
}
.slotInput:checked + .packageCard{
  border-color:rgb(var(--brand-rgb) / .55);
  background:rgb(var(--brand-rgb) / .10);
  transform:translateY(-1px);
}
.packageCard:hover{border-color:rgb(var(--brand-rgb) / .35)}

.grid2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px}

.list{display:grid; gap:10px; margin-top:12px}
.listItem{
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  padding:14px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.listTitle{font-weight:900}
.listMeta{color:var(--muted); font-size:13px; margin-top:6px; line-height:1.4}
.listActions{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.iconBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(244,243,255,.90);
  font-weight:800;
  font-size:12px;
  margin-left:8px;
}
.iconBtn:hover{border-color:rgb(var(--brand-rgb) / .35); background:rgb(var(--brand-rgb) / .10)}

.checklist{margin-top:10px}
.checklistSummary{
  cursor:pointer;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
  padding:10px 12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
  list-style:none;
}
.checklistSummary::-webkit-details-marker{display:none}
.checklistBody{
  margin-top:8px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  padding:10px 10px;
  display:grid;
  gap:8px;
}

.status{
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.statusPending{border-color:rgba(234,179,8,.35); background:rgba(234,179,8,.08)}
.statusOk{border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.08)}
.statusBad{border-color:rgba(239,68,68,.28); background:rgba(239,68,68,.06)}

.btnTiny{
  border-radius:999px;
  padding:9px 10px;
  border:1px solid rgb(var(--brand2-rgb) / .35);
  background:rgb(var(--brand2-rgb) / .10);
  color:rgba(244,243,255,.92);
  font-weight:800;
  font-size:13px;
}
.btnTinyGold{
  border-color:rgb(var(--brand-rgb) / .45);
  background:linear-gradient(180deg, rgb(var(--brand-rgb) / .95), rgb(var(--brand-rgb) / .75));
  color:rgba(7,6,12,.98);
}
.btnTinyGold:hover{filter:saturate(110%); border-color:rgb(var(--brand-rgb) / .62)}
.btnTinyAlt{border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.08)}
.btnTiny:hover{filter:saturate(115%)}

.linkTiny{
  font-size:13px;
  color:rgba(244,243,255,.68);
  padding:6px 2px;
}
.linkTiny:hover{color:rgba(244,243,255,.92); text-decoration:underline}
.linkTinyDanger{color:rgba(239,68,68,.80)}
.linkTinyDanger:hover{color:rgba(239,68,68,.95)}

.switch{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(0,0,0,.22);
  padding:10px 10px;
}
.switch input{position:absolute; opacity:0; pointer-events:none}
.switchTrack{
  width:44px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  position:relative;
  flex:0 0 auto;
}
.switchTrack::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(244,243,255,.88);
  transition:transform .18s ease, background .18s ease;
}
.switchText{font-weight:800; letter-spacing:.10em; text-transform:uppercase; font-size:12px; color:rgba(244,243,255,.85)}
.switch input:checked + .switchTrack{border-color:rgb(var(--brand-rgb) / .45); background:rgb(var(--brand-rgb) / .14)}
.switch input:checked + .switchTrack::after{transform:translateX(18px); background:rgb(var(--brand-rgb) / .95)}

.routeAccount .listMeta{margin-top:10px; line-height:1.55}
.routeAccount .listMain .muted.small{margin-top:8px}

.footer{padding:26px 0 0; border-top:1px solid var(--line); margin-top:26px}
.footerInner{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap}
.footerTitle{font-weight:900}
.footerMeta{color:var(--muted); font-size:13px; margin-top:6px}
.footerRight{display:flex; gap:12px; flex-wrap:wrap}
.footerLink{color:rgba(244,243,255,.78); font-size:14px; padding:6px 8px; border-radius:999px}
.footerLink:hover{background:rgba(255,255,255,.06)}

.calHead{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:10px}
.calTitle{font-weight:900; font-size:18px}
.calNav{display:flex; gap:10px; flex-wrap:wrap}
.legend{display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 10px; color:rgba(244,243,255,.82); font-size:13px}
.legendItem{display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; padding:8px 10px; background:rgba(255,255,255,.02)}
.dot{width:10px; height:10px; border-radius:999px; border:1px solid rgba(255,255,255,.10)}
.dotConfirmed{background:rgb(var(--brand2-rgb) / .95)}
.dotPending{background:rgb(var(--brand-rgb) / .95)}
.dotBlocked{background:rgba(239,68,68,.85)}
.dotClosed{background:rgba(148,163,184,.55)}
.calGrid{display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:10px}
.calDow{color:rgba(244,243,255,.70); font-size:12px; letter-spacing:.12em; text-transform:uppercase; padding:6px 4px}
.calCell{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  padding:12px;
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:visible;
}
.calCell:hover{border-color:rgba(255,255,255,.14)}
.calOut{opacity:.40}
.calToday{border-color:rgb(var(--brand-rgb) / .55); background:rgb(var(--brand-rgb) / .08)}
.calStatusConfirmed{border-color:rgba(34,197,94,.20); background:rgba(34,197,94,.06); box-shadow:0 0 0 1px rgba(34,197,94,.10) inset}
.calStatusPending{border-color:rgb(var(--brand-rgb) / .20); background:rgb(var(--brand-rgb) / .06); box-shadow:0 0 0 1px rgb(var(--brand-rgb) / .10) inset}
.calStatusBlocked{border-color:rgba(239,68,68,.20); background:rgba(239,68,68,.055); box-shadow:0 0 0 1px rgba(239,68,68,.10) inset}
.calStatusConfirmed:hover{box-shadow:0 0 0 1px rgba(34,197,94,.18) inset, 0 18px 44px rgba(0,0,0,.40)}
.calStatusPending:hover{box-shadow:0 0 0 1px rgb(var(--brand-rgb) / .18) inset, 0 18px 44px rgba(0,0,0,.40)}
.calDay{display:flex; align-items:flex-start; justify-content:space-between; gap:10px}
.calNum{font-weight:900; font-size:14px}
.calCount{
  position:absolute;
  right:12px;
  top:12px;
  color:rgba(244,243,255,.92);
  font-size:12px;
  font-weight:900;
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 10px;
  width:max-content;
  background:rgba(255,255,255,.03);
}
.calStatusConfirmed .calCount{border-color:rgba(34,197,94,.32); background:rgba(34,197,94,.10)}
.calStatusPending .calCount{border-color:rgb(var(--brand-rgb) / .30); background:rgb(var(--brand-rgb) / .12)}
.calQuick{
  position:absolute;
  right:10px;
  top:10px;
  width:26px;
  height:26px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(244,243,255,.85);
  font-weight:900;
}
.calQuick:hover{border-color:rgb(var(--brand-rgb) / .35); background:rgb(var(--brand-rgb) / .10); color:rgba(244,243,255,.95)}
.calCap{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
}
.calCapFill{
  height:100%;
  background:linear-gradient(90deg, rgb(var(--brand-rgb) / .92), rgb(var(--brand-rgb) / .55));
}
.calCapList{width:96px; margin-top:0; position:relative; left:auto; right:auto; bottom:auto}
.calPop{
  position:absolute;
  left:10px;
  right:10px;
  top:52px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(7,6,12,.98);
  box-shadow:var(--shadow);
  padding:10px 10px;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
  z-index:3;
}
.calPopTitle{font-weight:900; letter-spacing:.10em; text-transform:uppercase; font-size:11px}
.calPopMeta{margin-top:6px}
.calCell:hover .calPop,.calCell:focus .calPop,.calCell.isOpen .calPop{opacity:1; transform:translateY(0)}

.calList{display:none; margin-top:12px}
.calListRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.calListRow + .calListRow{margin-top:8px}
.calListRow:hover{border-color:rgb(var(--brand-rgb) / .35)}
.calListToday{border-color:rgb(var(--brand-rgb) / .55); background:rgb(var(--brand-rgb) / .08)}
.calListLeft{display:flex; align-items:center; gap:10px}
.calListRight{display:flex; align-items:center; gap:10px}

.glanceBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.02);
  padding:12px 12px;
  margin-top:12px;
}
.glanceTitle{font-weight:900; letter-spacing:.08em; text-transform:uppercase; font-size:12px}
.glanceMeta{margin-top:6px}
.glanceSide{display:flex; gap:8px; flex-wrap:wrap}
.glanceChip{
  border-radius:999px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.glanceChipBad{border-color:rgba(239,68,68,.25); background:rgba(239,68,68,.08)}

.loadout{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(0,0,0,.18);
  padding:12px 12px;
  margin-top:10px;
}
.loadoutTitle{font-weight:900; letter-spacing:.10em; text-transform:uppercase; font-size:12px}
.loadoutList{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
.loadoutItem{
  border-radius:999px;
  border:1px solid rgb(var(--brand-rgb) / .22);
  background:rgb(var(--brand-rgb) / .10);
  padding:8px 10px;
  font-weight:900;
  font-size:12px;
  color:rgba(244,243,255,.92);
}

.galleryGrid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:14px}
.galleryItem{border-radius:18px; border:1px solid var(--line); background:rgba(255,255,255,.02); overflow:hidden}
.galleryItem:hover{border-color:rgb(var(--brand-rgb) / .35)}
.galleryThumb{height:140px; background-size:cover; background-position:center}
.galleryMeta{padding:10px 12px}
.galleryTitle{font-weight:900; font-size:13px}

@media (max-width: 980px){
  .heroGrid,.split{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .h1{font-size:42px}
  .slotGrid{grid-template-columns:repeat(3, minmax(0,1fr))}
  .packageGrid{grid-template-columns:1fr}
  .addonGrid{grid-template-columns:1fr}
  .galleryGrid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .homeH1{font-size:46px}
  .collectionGrid{grid-template-columns:repeat(3, minmax(220px, 1fr)); overflow:auto; scroll-snap-type:x mandatory}
  .collectionTile{scroll-snap-align:start}
  .aboutWrap{grid-template-columns:1fr}
  .featureGrid{grid-template-columns:1fr}
  .pitPanelsGrid{grid-template-columns:1fr}
  .pitH1{font-size:44px}
  .reviewGrid{grid-template-columns:1fr}
  .processGrid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .navToggle{display:inline-flex}
  .nav{
    display:none;
    position:absolute;
    left:12px;
    right:12px;
    top:60px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:6px;
    padding:10px;
    border-radius:18px;
    border:1px solid var(--line);
    background:rgba(7,6,12,.98);
    box-shadow:var(--shadow);
  }
  body.navOpen .nav{display:flex}
  .navLink,.navButton,.pill{width:100%; justify-content:center}
  .inline{width:100%}
  .inline .navButton{width:100%}
  .collectionGrid{grid-template-columns:repeat(3, minmax(240px, 1fr))}
  .calGrid{display:none}
  .calList{display:block}
}
@media (max-width: 520px){
  .shell{padding:12px 12px 40px}
  .h1{font-size:36px}
  .heroStats{grid-template-columns:1fr; gap:8px}
  .grid2{grid-template-columns:1fr}
  .slotGrid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .galleryGrid{grid-template-columns:1fr}
  .homeH1{font-size:40px}
  .aboutWord{font-size:74px; bottom:-24px}
  .pitH1{font-size:34px}
  .pitHeroActions{gap:10px}
  .pitBtn,.pitBtnGhost{width:100%}
  .pitHeroCopy{padding:12px}
}
