:root {
  --brand:#B1892B;       /* deep gold (primary) */
  --brandDark:#35534e;   /* gold accent */
  --brandLight:#E7C4AD;  /* blush */
  --ink:#1f2d2e;
  --bgFrom:#FBF8F4;
  --bgMid:#F9F6F2;
  --bgTo:#F4F1EC;
}

/* ===== Typography ===== */
.hero-title { font-family:'Cormorant Garamond', serif; }
body, nav, p, li, a, button, span {
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* ===== Buttons ===== */
.btn {
  border-radius:6px;
  padding:10px 16px;
  font-weight:400;
  font-size:11px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.25), 0 2px 6px rgba(0,0,0,.12);
}
.btn:focus { outline:2px solid rgba(19,60,62,.35); outline-offset:2px; }
.btn:hover { transform:translateY(-1px); }

.btn-primary {
  color:#fff;
  border:1px solid #133c3e;
  background:
    radial-gradient(120% 160% at 30% -20%, rgba(255,255,255,.4) 0 18%, rgba(255,255,255,0) 40%),
    linear-gradient(180deg,#1f585b 0%,#164749 45%,#133c3e 100%);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}
.btn-primary:hover {
  background:
    radial-gradient(140% 190% at 70% -10%, rgba(255,255,255,.35) 0 18%, rgba(255,255,255,0) 48%),
    linear-gradient(180deg,#357072 0%,#1f585b 40%,#133c3e 100%);
  box-shadow:0 0 18px rgba(19,60,62,.4), inset 0 1px 2px rgba(255,255,255,.2);
}
.btn-primary:active {
  transform:translateY(0);
  background:linear-gradient(180deg,#2c5f61 0%,#1d4547 50%,#133c3e 100%);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.35);
}

.btn-ghost {
  color:#133c3e;
  background:#fff;
  border:1px solid rgba(19,60,62,.55);
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.btn-ghost:hover {
  background:linear-gradient(180deg,#ffffff 0%,#f5fafa 40%,#d9e8e5 100%);
  border-color:#2c5f61;
  box-shadow:0 0 14px rgba(19,60,62,.25);
}
.btn-ghost:active {
  background:#d9e8e5;
  border-color:#133c3e;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.25);
}

/* ===== Card Wrapper ===== */
.glow-card {
  position:relative;
  background:#fff;
  border:1px solid rgba(19,60,62,.25);
  border-radius:10px;
  box-shadow:0 8px 18px rgba(19,60,62,.25);
}
.glow-card::after {
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border:1px solid rgba(217,232,229,.45);
  box-shadow:0 0 18px 2px rgba(19,60,62,.25);
  mix-blend-mode:multiply;
  border-radius:inherit;
}

/* ===== Timer ===== */
.timer-wrap {
  background:linear-gradient(180deg,#f9fbfb 0%,#d9e8e5 48%,#ffffff 100%);
  border:1px solid rgba(19,60,62,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 6px 20px rgba(19,60,62,.12);
  border-radius:12px;
}
.timer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.timer-block {
  background:linear-gradient(180deg,#1f585b 0%,#164749 50%,#133c3e 100%);
  color:#fff;
  border:1px solid #133c3e;
  border-radius:10px;
  padding:12px 8px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.2),0 2px 8px rgba(0,0,0,.12);
  font-size:clamp(20px,4.2vw,34px);
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  letter-spacing:.02em;
  text-shadow:0 1px 1px rgba(0,0,0,.4);
}
.timer-label {
  color:#133c3e;
  opacity:.9;
  font-size:11px;
  letter-spacing:.06em;
  font-weight:700;
  text-transform:uppercase;
}
@media (max-width:480px) {
  .timer-grid { gap:6px; }
  .timer-block { padding:8px 6px; font-size:clamp(14px,4.4vw,18px); }
  .timer-label { font-size:10px; }
}

/* ===== Chips ===== */
.chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  border-radius:9999px;
  border:1px solid rgba(19,60,62,.35);
  color:#133c3e;
  background:#d9e8e5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.06);
  transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;
}
.chip:hover {
  background:linear-gradient(180deg,#d9e8e5 0%,#c1d6d3 100%);
  border-color:#1f585b;
  box-shadow:0 0 10px rgba(19,60,62,.25);
}
.chip svg { width:14px; height:14px; flex:0 0 14px; fill:currentColor; }

.chip--price {
  color:#fff;
  border:1px solid #133c3e;
  background:radial-gradient(120% 180% at 30% -20%,rgba(255,255,255,.18) 0 20%,rgba(255,255,255,0) 40%),linear-gradient(180deg,#1f585b 0%,#163f41 50%,#133c3e 100%);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}
.chip--price:hover {
  background:radial-gradient(140% 190% at 70% -10%,rgba(255,255,255,.22) 0 16%,rgba(255,255,255,0) 46%),linear-gradient(180deg,#3a7a7d 0%,#1f585b 45%,#133c3e 100%);
  box-shadow:0 0 14px rgba(19,60,62,.45);
}
.chip--students {
  color:#133c3e;
  background:linear-gradient(180deg,#edf5f4 0%,#d9e8e5 100%);
  border:1px solid rgba(19,60,62,.35);
}
.chip--students:hover {
  color:#fff;
  background:linear-gradient(180deg,#2c5f61 0%,#1f494b 100%);
  border-color:#133c3e;
}

/* ===== Bullets ===== */
.features-list {
  display:flex;
  flex-direction:column;
  gap:12px;
}
@media (min-width:768px) { .features-list { gap:14px; } }
.bullet {
  font-weight:500;
  font-size:15px;
  line-height:1.5;
  color:#6b6156;
  display:flex;
  align-items:flex-start;
  gap:6px;
}
.bullet .sq { color:var(--brandDark); line-height:1; margin-top:2px; }

/* ===== Reviews ===== */
.reviews {
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfb 50%,#d9e8e5 100%);
  border:1px solid #1f585b;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(19,60,62,.12),0 4px 10px rgba(0,0,0,.06);
  position:relative;
  transition:box-shadow .3s ease,transform .3s ease;
}
.reviews::before {
  content:"";
  position:absolute;
  inset:-1px;
  border:1px solid rgba(19,60,62,.35);
  border-radius:inherit;
  pointer-events:none;
}
.reviews:hover {
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(19,60,62,.18),0 6px 14px rgba(0,0,0,.08);
}

/* ===== Helpers ===== */
.max-wrap { max-width:1180px; }

.iframeWrap {
  border:1px solid rgba(19,60,62,.25);
  box-shadow:0 10px 24px rgba(19,60,62,.12), 0 4px 10px rgba(0,0,0,.06);
  border-radius:12px;
  overflow:hidden;
}

/* ===== Mobile Nav ===== */
.mobile-menu { display:none; }
.mobile-menu.open { display:block; }
.fullwidth-section {
  width: 99vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media (max-width: 1024px) {
  .fullwidth-section {
    width: auto;
    position: static;
    left: auto;
    right: auto;
    margin-left: 0;
    margin-right: 0;
  }
}

