/* ============================================================
   EDU SWIFT — stylesheet
   Design language: editorial navy + brass/gold, serif display type,
   angled dividers, ticket-stub voucher cards. Icons via Bootstrap Icons.
   ============================================================ */

:root{
  --navy-950:#070f1e;
  --navy-900:#0d2546;
  --navy-850:#123056;
  --navy-800:#173a63;
  --navy-700:#22507f;
  --navy-600:#3a6ea3;

  --gold-700:#9c7218;
  --gold-600:#b9861f;
  --gold-500:#cf9d2e;
  --gold-400:#e2b74e;
  --gold-200:#f3d789;
  --gold-100:#fbecc7;

  --green-700:#254a21;
  --green-600:#336b2e;
  --green-500:#3f7a38;

  --cream:#faf5ea;
  --paper:#fffdf8;
  --line:rgba(13,37,70,.13);
  --line-strong:rgba(13,37,70,.24);

  --ink:#171d2b;
  --ink-soft:#4a5266;
  --ink-faint:#7c8395;

  --font-display:'Fraunces', 'Georgia', serif;
  --font-body:'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  --radius-sm:3px;
  --radius-md:6px;
  --radius-lg:10px;

  --shadow-sm:0 2px 10px rgba(13,37,70,.07);
  --shadow-md:0 14px 34px rgba(13,37,70,.12);
  --shadow-gold:0 10px 26px rgba(185,134,31,.28);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--navy-900); margin:0 0 .5em; line-height:1.15; font-weight:600; }
p{ margin:0 0 1em; color:var(--ink-soft); line-height:1.7; }
.wrap{ width:100%; margin:0; padding:0 7%; box-sizing:border-box; }

/* ============ buttons ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--font-body); font-weight:600; font-size:.95rem;
  padding:.85em 1.7em; border-radius:var(--radius-sm);
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn--gold{ background:var(--gold-500); color:var(--navy-950); box-shadow:var(--shadow-gold); }
.btn--gold:hover{ background:var(--gold-400); transform:translateY(-2px); }
.btn--navy{ background:var(--navy-900); color:var(--cream); }
.btn--navy:hover{ background:var(--navy-800); transform:translateY(-2px); }
.btn--outline{ background:transparent; border-color:var(--navy-900); color:var(--navy-900); }
.btn--outline:hover{ background:var(--navy-900); color:var(--cream); }
.btn--outline-light{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.btn--outline-light:hover{ background:#fff; color:var(--navy-900); }
.btn--ghost{ background:transparent; color:var(--navy-900); border-color:var(--line-strong); }
.btn--ghost:hover{ border-color:var(--navy-900); }
.btn--sm{ padding:.6em 1.2em; font-size:.85rem; }
.btn--lg{ padding:1.05em 2.2em; font-size:1.02rem; }
.btn--block{ width:100%; }

/* ============ utility bar ============ */
.utilitybar{ background:var(--navy-950); color:#cfd8e8; font-size:.8rem; }
.utilitybar__inner{ display:flex; align-items:center; justify-content:space-between; padding-top:.5em; padding-bottom:.5em; gap:1em; flex-wrap:wrap; }
.utilitybar__left{ display:flex; gap:1.6em; }
.utilitybar__left a{ color:#cfd8e8; opacity:.9; transition:opacity .15s, color .15s; }
.utilitybar__left a:hover{ opacity:1; color:var(--gold-400); }
.utilitybar__right{ display:flex; align-items:center; gap:1.4em; color:#a9b4c9; }
.utilitybar__badge{ color:var(--gold-400); font-weight:600; }
.utilitybar i{ margin-right:.4em; }

/* ============ header ============ */
.site-header{ background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:200; transition:box-shadow .2s; }
.site-header.scrolled{ box-shadow:var(--shadow-sm); }
.header__inner{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2em; padding-top:.7em; padding-bottom:.7em; }
.brand{ display:flex; align-items:center; flex-shrink:0; }
.brand__logo{ height:52px; width:auto; }
.nav{ display:flex; justify-content:center; gap:.6em; }
.nav__link{
  font-weight:600; font-size:.86rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink); position:relative; padding:.55em 1.1em; border-radius:8px;
  transition:background .2s ease, color .2s ease;
}
.nav__link:hover{ background:var(--gold-100); color:var(--navy-900); }
.nav__link.is-active{ background:var(--navy-900); color:#fff; }
.header__cta{ display:flex; align-items:center; gap:1em; flex-shrink:0; }
.hamburger{
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  background:var(--navy-900); border:none; border-radius:8px; cursor:pointer;
  width:44px; height:44px; padding:0; flex-shrink:0;
}
.hamburger span{ width:20px; height:2px; background:var(--gold-400); transition:.25s; }
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-nav{
  display:none; flex-direction:column; background:var(--paper); border-bottom:1px solid var(--line);
  max-height:0; overflow:hidden; transition:max-height .3s ease;
}
.mobile-nav.open{ max-height:400px; }
.mobile-nav a{ padding:.9em 7%; border-top:1px solid var(--line); font-weight:600; transition:background .2s ease, color .2s ease; }
.mobile-nav a:hover{ background:var(--gold-100); color:var(--navy-900); }
.mobile-nav a.is-active{ background:var(--navy-900); color:#fff; }
.mobile-nav .btn{ margin:1em 7%; }

@media (max-width:960px){
  .header__inner{ display:flex; justify-content:space-between; align-items:center; }
  .nav, .header__cta{ display:none; }
  .hamburger{ display:flex; }
  .mobile-nav{ display:flex; }
  .utilitybar__left a:nth-child(2){ display:none; }
}

/* ============ reveal-on-scroll ============ */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in-view{ opacity:1; transform:none; }

/* ============ section scaffolding ============ */
.eyebrow{
  display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:.78rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-600); margin-bottom:.9em;
}
.eyebrow::before{ content:''; width:22px; height:2px; background:var(--gold-500); display:inline-block; }
.eyebrow--dark{ color:var(--gold-400); }
.section-head{ max-width:640px; margin-bottom:3em; }
.section-head h2{ font-size:clamp(1.7rem,3vw,2.5rem); }
.section-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head--dark h2{ color:#fff; }
.section-head--dark p{ color:#c3cbdc; }

section{ position:relative; }
.slant-top{ clip-path:polygon(0 3.2vw,100% 0,100% 100%,0 100%); }
.slant-bottom{ clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 3.2vw)); }

/* ============ HERO ============ */
.hero{ background:var(--paper); padding:5.5em 0 0; overflow:hidden; }
.hero__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:3.5em; align-items:center; padding-bottom:4.5em; }
.hero__badge{
  display:inline-flex; align-items:center; gap:.6em; background:var(--gold-100); color:var(--gold-700);
  font-weight:700; font-size:.82rem; padding:.5em 1em; border-radius:30px; margin-bottom:1.4em;
}
.hero__title{ font-size:clamp(2.3rem,4.4vw,3.5rem); letter-spacing:-.01em; }
.hero__title .hl{ color:var(--gold-600); font-style:italic; }
.hero__title .hl--navy{ color:var(--navy-700); }
.hero__sub{ font-size:1.1rem; max-width:520px; }
.hero__actions{ display:flex; gap:1em; flex-wrap:wrap; margin:1.8em 0 2.6em; }
.hero__stats{ display:flex; gap:2.6em; border-top:1px solid var(--line); padding-top:1.8em; }
.stat__num{ display:block; font-family:var(--font-display); font-size:2rem; font-weight:700; color:var(--navy-900); }
.stat__label{ font-size:.82rem; color:var(--ink-faint); line-height:1.4; }

.hero__art{ position:relative; width:90%; margin-left:auto; }
.hero__panel{
  position:relative; overflow:hidden; aspect-ratio:4/5;
  border-radius:14px; box-shadow:var(--shadow-md);
  clip-path:polygon(6% 0,100% 0,100% 94%,94% 100%,0 100%,0 6%);
}
.hero__photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__panel::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(200deg, rgba(13,37,70,.12) 15%, rgba(13,37,70,.55) 65%, rgba(7,15,30,.88) 100%),
             radial-gradient(circle at 85% 10%, rgba(226,183,78,.32), transparent 45%);
}
.hero__ticket-chip{
  position:absolute; z-index:2; left:20px; right:20px; bottom:20px;
  display:flex; align-items:center; gap:.9em; background:rgba(7,15,30,.72);
  backdrop-filter:blur(6px); border:1px solid rgba(226,183,78,.45); border-radius:10px;
  padding:1em 1.2em; box-shadow:var(--shadow-md);
}
.hero__ticket-chip i{ color:var(--gold-400); font-size:1.5rem; flex-shrink:0; }
.hero__ticket-chip strong{ display:block; font-family:var(--font-display); font-size:1rem; color:#fff; }
.hero__ticket-chip span{ font-size:.78rem; color:#c3cbdc; }
.float-card{
  position:absolute; background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-md);
  padding:.7em 1.1em; display:flex; align-items:center; gap:.6em; font-weight:700; font-size:.82rem; color:var(--navy-900);
  z-index:3;
}
.float-card i{ color:var(--gold-600); font-size:1.1rem; }
.float-card--a{ top:8%; left:-6%; }
.float-card--b{ bottom:10%; right:-6%; }
.float-card--a i, .float-card--b i.check{ color:var(--green-600); }

@media (max-width:960px){
  .hero__inner{ grid-template-columns:1fr; }
  .hero__art{ width:100%; max-width:378px; margin:2.5em auto 0; }
  .float-card{ display:none; }
}

/* ============ EXAM STRIP ============ */
.examband{ background:var(--navy-950); padding:2.4em 0; }
.examband__label{ text-align:center; color:#93a0ba; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.6em; }
.examband__row{ display:flex; justify-content:center; flex-wrap:wrap; gap:1em 1.4em; }
.exam-chip{
  display:flex; align-items:center; justify-content:center; background:#fff;
  padding:1em 1.7em; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:transform .2s ease;
}
.exam-chip:hover{ transform:translateY(-3px); }
.exam-chip img{ height:42px; width:auto; max-width:190px; object-fit:contain; display:block; }

/* ============ ABOUT TEASER ============ */
.about-teaser{ padding:6em 0; background:var(--paper); }
.about-teaser__grid{ display:grid; grid-template-columns:1fr 1fr; gap:4em; align-items:center; }
.about-teaser__grid h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); margin-bottom:.5em; }
.about-teaser__points{ display:flex; flex-direction:column; gap:1.4em; margin:2em 0; }
.about-point{ display:flex; gap:1em; align-items:flex-start; }
.feature__icon{
  flex-shrink:0; width:46px; height:46px; border-radius:var(--radius-md); background:var(--navy-900);
  display:flex; align-items:center; justify-content:center; color:var(--gold-400); font-size:1.25rem;
}
.about-point h4{ margin:0 0 .25em; font-size:1.05rem; }
.about-point p{ margin:0; font-size:.94rem; }

.about-visual{ width:82%; margin-left:auto; }
.about-visual__frame{
  position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:14px; box-shadow:var(--shadow-md);
  clip-path:polygon(0 0,94% 0,100% 8%,100% 100%,6% 100%,0 92%);
}
.about-visual__frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-visual__frame::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(0deg, rgba(7,15,30,.88) 0%, rgba(13,37,70,.2) 42%, rgba(13,37,70,0) 65%);
}
.about-visual__badge{
  position:absolute; z-index:2; left:18px; right:18px; bottom:18px;
  display:flex; align-items:center; gap:1em; background:rgba(7,15,30,.65);
  backdrop-filter:blur(6px); border:1px solid rgba(226,183,78,.4); border-radius:10px; padding:1em 1.1em;
}
.about-visual__ring-sm{
  width:52px; height:52px; flex-shrink:0; border-radius:50%; position:relative;
  background:conic-gradient(var(--gold-400) 0% 100%, transparent 0);
  display:flex; align-items:center; justify-content:center;
}
.about-visual__ring-sm::before{ content:''; position:absolute; inset:5px; background:var(--navy-950); border-radius:50%; }
.about-visual__ring-sm span{ position:relative; z-index:2; font-family:var(--font-display); font-weight:700; color:#fff; font-size:.85rem; }
.about-visual__badge strong{ display:block; color:#fff; font-size:.95rem; }
.about-visual__badge-sub{ font-size:.78rem; color:#c3cbdc; }

.about-visual__stats{ display:grid; grid-template-columns:1fr 1fr; gap:1em; margin-top:1.2em; }
.about-visual__stats .stat-mini{ background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:1.1em; text-align:center; }
.about-visual__stats .stat-mini strong{ display:block; font-family:var(--font-display); font-size:1.5rem; color:var(--navy-900); }
.about-visual__stats .stat-mini span{ font-size:.78rem; color:var(--ink-faint); }

@media (max-width:900px){ .about-teaser__grid{ grid-template-columns:1fr; } .about-visual{ width:88%; margin:0 auto; } }

/* ============ HOW IT WORKS ============ */
.steps-section{ padding:6em 0; background:var(--cream); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:2em; position:relative; }
.steps::before{
  content:''; position:absolute; top:26px; left:12%; right:12%; height:3px; border-radius:2px;
  background:repeating-linear-gradient(90deg,var(--line-strong) 0 10px, transparent 10px 18px);
  z-index:0;
}
.steps::after{
  content:''; position:absolute; top:26px; left:12%; right:12%; height:3px; border-radius:2px;
  overflow:hidden; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, var(--gold-400) 15%, var(--gold-600) 50%, var(--gold-400) 85%, transparent 100%);
  background-size:40% 100%; background-repeat:no-repeat; background-position:-40% 0;
  animation:steps-line-move 2.8s linear infinite;
}
@keyframes steps-line-move{
  0%{ background-position:-40% 0; }
  100%{ background-position:140% 0; }
}
.step{ position:relative; z-index:1; text-align:center; }
.step__num{
  width:54px; height:54px; border-radius:50%; background:var(--navy-900); color:var(--gold-400);
  font-family:var(--font-display); font-weight:700; font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.1em; box-shadow:var(--shadow-md);
}
.step h3{ font-size:1.08rem; }
.step p{ font-size:.9rem; }
@media (max-width:900px){
  .steps{ grid-template-columns:1fr 1fr; }
  .steps::before, .steps::after{ display:none; }
}
@media (max-width:560px){ .steps{ grid-template-columns:1fr; } }

/* ============ VOUCHERS / TICKETS ============ */
.vouchers-section{ padding:6em 0; background:var(--navy-950); position:relative; overflow:hidden; }
.vouchers-section::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 12% 20%, rgba(226,183,78,.08), transparent 45%),
             radial-gradient(circle at 88% 80%, rgba(63,122,56,.10), transparent 45%);
}
.vouchers-section.vouchers-section--light{ background:var(--cream); }
.vouchers-section.vouchers-section--light::before{ display:none; }
.vouchers-section .section-head h2{ color:inherit; }
.vouchers-section.vouchers-section--light h2, .vouchers-section.vouchers-section--light .eyebrow{ color:var(--navy-900); }
.vouchers-section.vouchers-section--light .eyebrow{ color:var(--gold-600); }
.vouchers-section:not(.vouchers-section--light) .section-head h2{ color:#fff; }
.vouchers-section:not(.vouchers-section--light) .section-head p{ color:#c3cbdc; }

.ticket-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2em; position:relative; z-index:1; }
.ticket-grid--five{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .ticket-grid, .ticket-grid--five{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .ticket-grid, .ticket-grid--five{ grid-template-columns:1fr; } }

.vticket{
  background:var(--paper); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
  display:flex; flex-direction:column; position:relative;
}
.vticket__head{ padding:1.8em 1.8em 1.4em; }
.vticket__icon{
  width:52px; height:52px; border-radius:50%; background:var(--navy-900); color:var(--gold-400);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1em;
}
.vticket__head h3{ font-size:1.2rem; margin-bottom:.2em; }
.vticket__tag{ font-size:.85rem; color:var(--ink-faint); margin:0; }

.vticket__perf{
  position:relative; border-top:2px dashed var(--line-strong); margin:0 1.8em;
}
.vticket__perf::before,.vticket__perf::after{
  content:''; position:absolute; top:-9px; width:18px; height:18px; background:var(--cream); border-radius:50%;
}
.vticket__perf::before{ left:-27px; }
.vticket__perf::after{ right:-27px; }
.vouchers-section:not(.vouchers-section--light) .vticket__perf::before,
.vouchers-section:not(.vouchers-section--light) .vticket__perf::after{ background:var(--navy-950); }

.vticket__body{ padding:1.4em 1.8em 1.8em; flex:1; display:flex; flex-direction:column; }
.vticket__was{ font-size:.9rem; color:var(--ink-faint); margin:0 0 .3em; display:flex; align-items:baseline; gap:.4em; }
.vticket__was span{ color:#dc2626; font-weight:700; font-size:1.55rem; text-decoration:line-through; }
.vticket__price{ display:flex; align-items:baseline; gap:.5em; margin-bottom:.7em; }
.vticket__price .now{ font-family:var(--font-display); font-size:2.1rem; font-weight:700; color:var(--navy-900); }
.save-chip{
  display:inline-flex; align-self:flex-start; background:var(--green-600); color:#fff; font-weight:700;
  font-size:.76rem; padding:.3em .8em; border-radius:20px; margin-bottom:1.1em;
}
.vticket__note{ font-size:.86rem; flex:1; }
.vticket .btn{ margin-top:auto; align-self:flex-start; }

.vticket--cta{ background:var(--navy-900); color:#fff; align-items:center; justify-content:center; text-align:center; padding:2.4em 1.8em; }
.vticket--cta .vticket__icon{ background:var(--gold-500); color:var(--navy-950); margin:0 auto 1em; }
.vticket--cta h3{ color:#fff; }
.vticket--cta p{ color:#c3cbdc; }
.vticket--cta .btn{ margin-top:1.6em; align-self:center; }

.vouchers__note{ text-align:center; font-size:.85rem; color:var(--ink-faint); margin-top:2.6em; }
.vouchers-section:not(.vouchers-section--light) .vouchers__note{ color:#8b96ac; }

/* ============ TESTIMONIALS ============ */
.reviews{ padding:6em 0; background:var(--paper); }
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6em; }
@media (max-width:900px){ .review-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .review-grid{ grid-template-columns:1fr; } }
.review-card{
  background:var(--cream); border:1px solid var(--line); border-left:3px solid var(--gold-500);
  border-radius:var(--radius-md); padding:1.8em;
}
.review-card__quote{ font-family:var(--font-display); font-size:2rem; color:var(--gold-500); line-height:1; margin-bottom:.2em; }
.review-card__stars{ color:var(--gold-500); font-size:.85rem; margin-bottom:.7em; letter-spacing:.15em; }
.review-card p.review-text{ color:var(--ink); font-size:.95rem; }
.review-card__who{ display:flex; align-items:center; gap:.8em; margin-top:1em; }
.avatar{
  width:40px; height:40px; border-radius:50%; background:var(--navy-900); color:var(--gold-400);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex-shrink:0;
}
.review-card__who strong{ display:block; font-size:.9rem; color:var(--navy-900); }
.review-card__who span{ font-size:.8rem; color:var(--ink-faint); }

/* ============ CTA BANNER ============ */
.cta-banner{ position:relative; background:var(--navy-950); overflow:hidden; padding:6em 0; }
.cta-banner__bg{ position:absolute; inset:0; z-index:0; }
.cta-banner__bg img{ width:100%; height:100%; object-fit:cover; }
.cta-banner__bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(7,15,30,.96) 22%, rgba(7,15,30,.72) 58%, rgba(13,37,70,.5) 100%);
}
.cta-banner::before{
  content:''; position:absolute; z-index:1; top:-40%; right:-8%; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(226,183,78,.18), transparent 68%);
}
.cta-banner::after{
  content:''; position:absolute; z-index:1; bottom:-30%; left:-6%; width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle, rgba(63,122,56,.16), transparent 68%);
}
.cta-banner__inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:2em; flex-wrap:wrap; }
.cta-banner h2{ color:#fff; margin-bottom:.3em; font-size:clamp(1.5rem,2.6vw,2.1rem); }
.cta-banner p{ color:#c3cbdc; margin:0; }
.cta-banner__actions{ display:flex; gap:1em; flex-wrap:wrap; }

/* ============ PAGE HERO (inner pages) ============ */
.page-hero{ background:linear-gradient(155deg,var(--navy-950),var(--navy-800)); padding:5em 0 6em; position:relative; overflow:hidden; }
.page-hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(226,183,78,.16), transparent 50%);
}
.page-hero__inner{ position:relative; z-index:1; max-width:720px; }
.crumb{ font-size:.82rem; color:#a9b4c9; margin-bottom:1em; }
.crumb a{ color:var(--gold-400); }
.page-hero h1{ color:#fff; font-size:clamp(2rem,4vw,2.9rem); }
.page-hero p{ color:#c3cbdc; font-size:1.05rem; }

/* ============ FEATURE GRID (about/why-us) ============ */
.why-us{ background:var(--navy-950); padding:6em 0; }
.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.8em; }
.feature-grid--three{ grid-template-columns:repeat(3,1fr); }
@media (max-width:960px){ .feature-grid, .feature-grid--three{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .feature-grid, .feature-grid--three{ grid-template-columns:1fr; } }
.feature{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); padding:2em 1.6em; }
.feature .feature__icon{ background:var(--gold-500); color:var(--navy-950); margin-bottom:1.2em; }
.feature h3{ color:#fff; font-size:1.08rem; }
.feature p{ color:#b7c0d4; font-size:.92rem; margin:0; }

/* ============ STATS GRID ============ */
.stats-section{ padding:6em 0; background:var(--cream); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6em; }
@media (max-width:900px){ .stats-grid{ grid-template-columns:1fr 1fr; } }
.stat-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md); padding:2em 1.4em; text-align:center;
}
.stat-card__icon{ width:50px; height:50px; border-radius:50%; background:var(--navy-900); color:var(--gold-400); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin:0 auto 1em; }
.stat-card .stat__num{ font-size:2rem; }
.stat-card .stat__label{ color:var(--ink-faint); }

/* ============ ABOUT: story split ============ */
.story-alt{ padding:6em 0; background:var(--cream); }

/* ============ MISSION & VISION ============ */
.mission-vision{ padding:6em 0; background:var(--paper); }
.mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2em; }
.mv-card{
  background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--gold-500);
  border-radius:var(--radius-md); padding:2.6em 2.2em;
}
.mv-card .feature__icon{ margin-bottom:1.3em; }
.mv-card h3{ font-size:1.35rem; }
.mv-card p{ margin:0; }
@media (max-width:700px){ .mv-grid{ grid-template-columns:1fr; } }

/* ============ CONTACT ============ */
.contact-section{ padding:5em 0 6em; background:var(--paper); }
.contact-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4em; margin-bottom:3.5em; }
@media (max-width:960px){ .contact-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ background:var(--navy-900); border-radius:var(--radius-md); padding:1.8em 1.5em; color:#fff; }
.contact-card__icon{ width:46px; height:46px; border-radius:50%; background:var(--gold-500); color:var(--navy-950); display:flex; align-items:center; justify-content:center; font-size:1.15rem; margin-bottom:1em; }
.contact-card h3{ color:#fff; font-size:1.05rem; }
.contact-card p{ color:#c3cbdc; font-size:.9rem; margin:0; }
.contact-card p a{ color:var(--gold-400); font-weight:600; }

.contact-panel{ display:grid; grid-template-columns:1fr 1fr; gap:3em; align-items:stretch; }
@media (max-width:900px){ .contact-panel{ grid-template-columns:1fr; } }
.contact-form{ background:var(--cream); border:1px solid var(--line); border-radius:var(--radius-lg); padding:2.4em; }
.contact-form h3{ font-size:1.4rem; }
.field{ margin-bottom:1.2em; }
.field label{ display:block; font-weight:600; font-size:.86rem; margin-bottom:.4em; color:var(--navy-900); }
.field input, .field select, .field textarea{
  width:100%; padding:.8em 1em; border:1.5px solid var(--line-strong); border-radius:var(--radius-sm);
  font-family:var(--font-body); font-size:.95rem; background:var(--paper); color:var(--ink);
}
.field textarea{ min-height:110px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold-500); }
.contact-map-wrap{ border-radius:var(--radius-lg); overflow:hidden; min-height:340px; box-shadow:var(--shadow-sm); }
.contact-map-wrap iframe{ width:100%; height:100%; min-height:340px; border:0; }

/* ============ LEGAL PAGES ============ */
.legal{ padding:5em 0 7em; background:var(--paper); }
.legal__layout{ display:grid; grid-template-columns:260px 1fr; gap:3.5em; align-items:start; }
@media (max-width:860px){ .legal__layout{ grid-template-columns:1fr; } }
.legal__toc{ position:sticky; top:100px; display:flex; flex-direction:column; gap:.2em; border-left:2px solid var(--line); padding-left:1.2em; }
.legal__toc-label{ font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-600); margin-bottom:.8em; }
.legal__toc a{ padding:.5em 0; font-size:.9rem; color:var(--ink-soft); border-bottom:1px solid transparent; }
.legal__toc a:hover{ color:var(--navy-900); }
.legal__updated{ display:inline-block; background:var(--gold-100); color:var(--gold-700); font-weight:600; font-size:.82rem; padding:.4em 1em; border-radius:20px; margin-bottom:2em; }
.legal__content h2{ font-size:1.35rem; margin-top:1.8em; padding-top:.4em; }
.legal__content h2:first-of-type{ margin-top:0; }
.legal__content ul{ margin:0 0 1.2em; padding-left:1.3em; list-style:disc; }
.legal__content li{ color:var(--ink-soft); margin-bottom:.5em; line-height:1.7; }

/* ============ FOOTER ============ */
.site-footer{ background:var(--navy-950); color:#a9b4c9; padding-top:4.5em; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:2.5em; padding-bottom:3em; border-bottom:1px solid rgba(255,255,255,.1); }
@media (max-width:900px){ .footer__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer__top{ grid-template-columns:1fr; } }
.footer__logo-chip{ background:var(--paper); display:inline-flex; padding:.7em 1.1em; border-radius:var(--radius-md); margin-bottom:1.2em; }
.footer__logo{ height:38px; width:auto; }
.footer__col h4{ color:#fff; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1.1em; }
.footer__col a{ display:block; padding:.35em 0; color:#a9b4c9; font-size:.92rem; }
.footer__col a:hover{ color:var(--gold-400); }
.footer__col p{ color:#a9b4c9; font-size:.9rem; }
.footer__col--contact p{ display:flex; gap:.6em; align-items:flex-start; }
.footer__col--contact i{ color:var(--gold-400); margin-top:.2em; }
.footer__col--contact p a{ display:inline; padding:0; }
.gstin{ opacity:.75; }
.footer__social{ display:flex; gap:.8em; }
.footer__social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; color:#cfd8e8; }
.footer__social a:hover{ background:var(--gold-500); color:var(--navy-950); }
.footer__bottom{ display:flex; justify-content:space-between; padding-top:1.6em; padding-bottom:1.6em; font-size:.82rem; flex-wrap:wrap; gap:.5em; }

/* ============ FLOATING BUTTONS ============ */
.fab-whatsapp{
  position:fixed; bottom:24px; left:24px; width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; box-shadow:0 8px 22px rgba(37,211,102,.4); z-index:150;
}
.fab-top{
  position:fixed; bottom:24px; right:24px; width:46px; height:46px; border-radius:50%;
  background:var(--navy-900); color:var(--gold-400); border:none; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.25s; z-index:150; box-shadow:var(--shadow-md);
}
.fab-top.visible{ opacity:1; visibility:visible; transform:none; }

/* ============ misc ============ */
.divider-slant{ height:60px; background:var(--cream); }
::selection{ background:var(--gold-400); color:var(--navy-950); }
