/* =========================================================
   GO CAREER 365  —  styles.css
   Aesthetic: warm editorial cream + deep ink, emerald "GO"
   energy accent, gold premium touches. Clash Display + Satoshi.
   ========================================================= */

:root{
  --ink:        #0C1322;
  --ink-2:      #111A2E;
  --ink-soft:   #1B2740;
  --cream:      #FBF8F3;
  --cream-2:    #F3EDE2;
  --paper:      #FFFFFF;

  --emerald:    #0E9F6E;
  --emerald-d:  #0A7E57;
  --emerald-l:  #1FD17F;
  --gold:       #E0A93B;
  --gold-d:     #C68F26;

  --text:       #1A2236;
  --muted:      #5B6477;
  --line:       #E7DFD2;

  --font-display: "Clash Display", sans-serif;
  --font-body:    "Satoshi", sans-serif;
  --font-author:  "Author", serif;

  --radius:   22px;
  --radius-s: 14px;
  --shadow:   0 24px 60px -28px rgba(12,19,34,.30);
  --shadow-sm:0 12px 34px -18px rgba(12,19,34,.28);
  --ease:     cubic-bezier(.16,.84,.44,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:90px; overflow-x:hidden; }
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
body.loading-safe{ width:100%; }
h1,h2,h3,h4,h5,h6{ font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; }
a{ text-decoration:none; color:inherit; transition:color .25s var(--ease); }
img{ max-width:100%; height:auto; }
section{ position:relative; overflow-x:clip; }
.container,.container-fluid{ min-width:0; }

/* Grain texture overlay */
.grain{
  position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%; z-index:10000;
  background:linear-gradient(90deg,var(--emerald),var(--gold));
}

/* ============ SHARED ============ */
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-body);
  font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--emerald-d); background:rgba(14,159,110,.10); padding:.45rem .9rem;
  border-radius:100px; margin-bottom:1.1rem;
}
.eyebrow.center{ display:inline-flex; }
.eyebrow.light{ color:var(--emerald-l); background:rgba(31,209,127,.14); }
.eyebrow i{ font-size:.8rem; }
.section-title{ font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.05; margin-bottom:1.1rem; }
.section-title.light{ color:var(--cream); }
.hl{ color:var(--emerald); }
.hl-gold{ color:var(--gold); }
.section-lead{ color:var(--muted); font-size:1.08rem; line-height:1.7; max-width:620px; }
.section-lead.light{ color:rgba(255,255,255,.72); }
.section-head{ margin-bottom:3rem; }
.section-head .section-lead{ margin-left:auto; margin-right:auto; }

/* Buttons */
.btn{ font-family:var(--font-body); font-weight:700; border-radius:100px; padding:.7rem 1.5rem;
  transition:all .3s var(--ease); border:none; }
.btn-lg{ padding:.95rem 1.9rem; font-size:1.02rem; }
.btn-sm{ padding:.5rem 1.05rem; font-size:.85rem; }
.btn-cta{ background:var(--emerald); color:#fff; box-shadow:0 14px 30px -12px rgba(14,159,110,.6); }
.btn-cta:hover{ background:var(--emerald-d); color:#fff; transform:translateY(-3px); box-shadow:0 20px 38px -12px rgba(14,159,110,.7); }
.btn-ghost{ background:transparent; color:var(--ink); border:1.6px solid var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:#fff; transform:translateY(-3px); }
.btn-ghost-light{ background:transparent; color:#fff; border:1.6px solid rgba(255,255,255,.35); }
.btn-ghost-light:hover{ background:rgba(255,255,255,.1); color:#fff; border-color:#fff; }
.btn-dark-cta{ background:var(--ink); color:#fff; box-shadow:var(--shadow-sm); }
.btn-dark-cta:hover{ background:var(--ink-soft); color:#fff; transform:translateY(-3px); }

/* ============ TOPBAR ============ */
.topbar{ background:var(--ink); color:rgba(255,255,255,.78); font-size:.84rem; padding:.55rem 0; }
.topbar a{ color:rgba(255,255,255,.78); }
.topbar a:hover{ color:var(--emerald-l); }
.topbar-tag{ color:var(--gold); font-weight:600; }
.topbar-right a{ margin-left:1rem; font-size:1rem; }

/* ============ NAVBAR ============ */
.site-nav{ background:rgba(251,248,243,.82); backdrop-filter:blur(14px); position:sticky; top:0; z-index:9000;
  padding:.8rem 0; border-bottom:1px solid transparent; transition:background-color .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease); }
.site-nav.scrolled{ background:rgba(251,248,243,.94); box-shadow:0 8px 30px -18px rgba(12,19,34,.4); border-bottom-color:var(--line); }
.brand-logo{ height:64px; transition:none; }
.brand-text{ display:none; align-items:baseline; font-family:var(--font-display); font-size:1.55rem; font-weight:700; letter-spacing:-.02em; }
.bt-go{ color:var(--emerald); }
.bt-career{ color:var(--ink); }
.bt-365{ color:var(--gold); margin-left:2px; }
.brand-text.light .bt-career{ color:#fff; }
.site-nav .nav-link{ font-weight:600; color:var(--ink); padding:.4rem 1rem; position:relative; }
.site-nav .nav-link::after{ content:""; position:absolute; left:1rem; right:1rem; bottom:.1rem; height:2px;
  background:var(--emerald); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.site-nav .nav-link:hover{ color:var(--emerald-d); }
.site-nav .nav-link:hover::after{ transform:scaleX(1); }
.navbar-toggler{ border:none; padding:.4rem; }
.navbar-toggler:focus{ box-shadow:none; }
.toggler-bar{ display:block; width:26px; height:2.5px; background:var(--ink); margin:5px 0; border-radius:2px; transition:.3s var(--ease); }

/* ============ HERO ============ */
.hero{ background:radial-gradient(120% 130% at 80% 0%, #FFFDF8 0%, var(--cream) 45%, var(--cream-2) 100%);
  padding:5rem 0 0; position:relative; overflow:hidden; }
.hero-bg-shape{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; z-index:0; }
.hero-bg-shape.one{ width:480px; height:480px; background:radial-gradient(circle,rgba(14,159,110,.30),transparent 70%); top:-120px; right:-100px; }
.hero-bg-shape.two{ width:380px; height:380px; background:radial-gradient(circle,rgba(224,169,59,.28),transparent 70%); bottom:-60px; left:-120px; }
.hero .container{ position:relative; z-index:2; }
.hero-badge{ display:inline-flex; align-items:center; gap:.6rem; background:#fff; border:1px solid var(--line);
  padding:.55rem 1.05rem; border-radius:100px; font-weight:600; font-size:.9rem; box-shadow:var(--shadow-sm); margin-bottom:1.6rem; }
.pulse-dot{ width:9px; height:9px; border-radius:50%; background:var(--emerald); position:relative; }
.pulse-dot.sm{ width:7px; height:7px; }
.pulse-dot::after{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--emerald); animation:pulse 1.8s infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(3.2); opacity:0; } }
.hero-title{ font-size:clamp(2.6rem,6.4vw,5rem); line-height:1.02; font-weight:700; letter-spacing:-.03em; margin-bottom:1.5rem; }
.rotator-wrap{ display:inline-flex; align-items:baseline; gap:.3em; flex-wrap:wrap; }
.rotator{ color:var(--emerald); position:relative; display:inline-block; min-width:4ch;
  border-bottom:5px solid rgba(224,169,59,.45); padding-bottom:.02em; }
.hero-sub{ font-size:1.18rem; color:var(--muted); line-height:1.7; max-width:560px; margin-bottom:2rem; }
.hero-sub strong{ color:var(--ink); }
.hero-sub em{ color:var(--emerald-d); font-style:normal; font-weight:600; }
.hero-cta-row{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:2.2rem; }
.hero-trust{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.avatars{ display:flex; }
.ava{ width:40px; height:40px; border-radius:50%; color:#fff; font-weight:700; font-size:.8rem;
  display:flex; align-items:center; justify-content:center; border:3px solid var(--cream); margin-left:-12px; }
.avatars .ava:first-child{ margin-left:0; }
.hero-trust-text{ color:var(--muted); font-size:.95rem; }
.hero-trust-text strong{ color:var(--ink); }

/* Hero floating card */
.hero-card{ background:var(--ink); color:#fff; border-radius:var(--radius); padding:1.8rem; box-shadow:var(--shadow);
  position:relative; overflow:hidden; }
.hero-card::before{ content:""; position:absolute; top:-40px; right:-40px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle,rgba(31,209,127,.4),transparent 70%); }
.hero-card-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.4rem; position:relative; }
.hc-tag{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; }
.hc-tag i{ color:var(--emerald-l); margin-right:.4rem; }
.hc-live{ display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--emerald-l);
  background:rgba(31,209,127,.14); padding:.25rem .65rem; border-radius:100px; }
.hc-step{ display:flex; align-items:center; gap:.7rem; padding:.7rem .9rem; border-radius:12px; margin-bottom:.55rem;
  font-weight:600; font-size:.95rem; color:rgba(255,255,255,.55); background:rgba(255,255,255,.03); }
.hc-step i{ font-size:1.05rem; }
.hc-step.done{ color:rgba(255,255,255,.85); } .hc-step.done i{ color:var(--emerald-l); }
.hc-step.active{ color:#fff; background:rgba(31,209,127,.12); border:1px solid rgba(31,209,127,.35); }
.hc-step.active i{ color:var(--gold); }
.hc-progress{ height:7px; border-radius:100px; background:rgba(255,255,255,.1); margin:1.1rem 0; overflow:hidden; }
.hc-progress-bar{ height:100%; width:0; border-radius:100px; background:linear-gradient(90deg,var(--emerald),var(--emerald-l)); transition:width 1.6s var(--ease); }
.hc-foot{ display:flex; justify-content:space-between; align-items:center; }
.hc-num{ font-family:var(--font-display); font-size:2rem; font-weight:700; color:var(--emerald-l); }
.hc-pct{ font-family:var(--font-display); font-size:1.2rem; color:var(--emerald-l); }
.hc-foot small{ display:block; color:rgba(255,255,255,.5); font-size:.72rem; }

/* Hero marquee */
.hero-marquee{ margin-top:3.5rem; background:var(--ink); padding:1rem 0; overflow:hidden; white-space:nowrap; }
.marquee-track{ display:inline-flex; gap:1.6rem; animation:marquee 28s linear infinite; }
.marquee-track span{ font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:rgba(255,255,255,.42); }
.marquee-track span:nth-child(odd){ color:var(--emerald-l); }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ============ STATS ============ */
.stats{ background:var(--paper); padding:3.4rem 0; border-bottom:1px solid var(--line); }
.stat-num{ font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem,4vw,3rem); color:var(--ink); line-height:1; }
.stat-num span{ color:var(--emerald); }
.stat-label{ color:var(--muted); font-weight:600; margin-top:.4rem; font-size:.95rem; }

/* ============ PROBLEM ============ */
.problem{ padding:6rem 0; }
.pain-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-s); padding:1.6rem;
  height:100%; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.pain-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-sm); }
.pain-card i{ font-size:1.6rem; color:var(--gold); margin-bottom:.9rem; }
.pain-card h5{ font-size:1.1rem; margin-bottom:.5rem; }
.pain-card p{ color:var(--muted); font-size:.95rem; margin:0; line-height:1.6; }

/* ============ SERVICES ============ */
.services{ padding:6rem 0; background:var(--cream-2); }
.svc-card{ background:var(--paper); border-radius:var(--radius); padding:2rem 1.7rem; height:100%; position:relative;
  border:1px solid var(--line); overflow:hidden; transition:all .35s var(--ease); }
.svc-card::after{ content:""; position:absolute; left:0; bottom:0; height:4px; width:0; background:var(--emerald); transition:width .4s var(--ease); }
.svc-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.svc-card:hover::after{ width:100%; }
.svc-no{ position:absolute; top:1.1rem; right:1.4rem; font-family:var(--font-display); font-weight:700; font-size:2.6rem; color:var(--cream-2); }
.svc-ico{ width:62px; height:62px; border-radius:16px; background:linear-gradient(145deg,var(--emerald),var(--emerald-d));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem; margin-bottom:1.2rem;
  box-shadow:0 12px 24px -12px rgba(14,159,110,.6); }
.svc-card:nth-child(2) .svc-ico,.col-lg-3:nth-child(2) .svc-ico{ }
.svc-card h4{ font-size:1.25rem; margin-bottom:.7rem; }
.svc-card p{ color:var(--muted); font-size:.95rem; line-height:1.65; margin-bottom:1.1rem; }
.svc-link{ font-weight:700; color:var(--emerald-d); font-size:.9rem; display:inline-flex; align-items:center; gap:.4rem; }
.svc-card:hover .svc-link i{ transform:translateX(5px); }
.svc-link i{ transition:transform .3s var(--ease); }

/* ============ QUIZ ============ */
.quiz{ padding:6rem 0; background:var(--ink); position:relative; overflow:hidden; }
.quiz::before{ content:""; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(14,159,110,.18),transparent 65%); }
.quiz .container{ position:relative; z-index:2; }
.quiz-shell{ max-width:760px; margin:0 auto; background:var(--ink-2); border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius); padding:2.4rem; box-shadow:var(--shadow); }
.quiz-top{ margin-bottom:1.8rem; }
.quiz-step-label{ color:var(--emerald-l); font-weight:700; font-size:.85rem; letter-spacing:.05em; }
.quiz-bar{ height:8px; background:rgba(255,255,255,.08); border-radius:100px; margin-top:.6rem; overflow:hidden; }
.quiz-bar-fill{ height:100%; width:25%; border-radius:100px; background:linear-gradient(90deg,var(--emerald),var(--gold)); transition:width .5s var(--ease); }
.quiz-stage{ min-height:280px; }
.q-question{ color:#fff; font-family:var(--font-display); font-size:clamp(1.4rem,3.4vw,1.9rem); font-weight:600;
  margin-bottom:1.6rem; line-height:1.2; }
.q-options{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.q-opt{ background:rgba(255,255,255,.04); border:1.5px solid rgba(255,255,255,.1); border-radius:14px;
  padding:1.1rem 1.2rem; color:rgba(255,255,255,.85); font-weight:600; font-size:1rem; text-align:left; cursor:pointer;
  display:flex; align-items:center; gap:.9rem; transition:all .25s var(--ease); }
.q-opt i{ font-size:1.2rem; color:var(--emerald-l); width:24px; text-align:center; }
.q-opt:hover{ border-color:var(--emerald); background:rgba(14,159,110,.12); transform:translateY(-3px); color:#fff; }
.quiz-anim-in{ animation:qIn .45s var(--ease); }
@keyframes qIn{ from{ opacity:0; transform:translateX(30px); } to{ opacity:1; transform:translateX(0); } }

/* quiz result */
.quiz-result{ text-align:center; animation:qIn .5s var(--ease); }
.qr-burst{ width:84px; height:84px; border-radius:50%; margin:0 auto 1.2rem;
  background:linear-gradient(145deg,var(--emerald),var(--gold)); display:flex; align-items:center; justify-content:center;
  font-size:2rem; color:#fff; box-shadow:0 0 0 12px rgba(14,159,110,.12); }
.qr-eyebrow{ color:var(--gold); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; }
.quiz-result h3{ color:#fff; font-size:clamp(1.6rem,4vw,2.4rem); margin:.5rem 0 .8rem; }
.quiz-result>p{ color:rgba(255,255,255,.7); max-width:520px; margin:0 auto 1.4rem; line-height:1.65; }
.qr-degrees{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-bottom:1.8rem; }
.qr-degrees span{ background:rgba(31,209,127,.12); border:1px solid rgba(31,209,127,.3); color:var(--emerald-l);
  padding:.45rem 1rem; border-radius:100px; font-weight:600; font-size:.9rem; }
.qr-cta{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1rem; }
.qr-note{ color:rgba(255,255,255,.4); font-size:.82rem; display:block; }

/* ============ DEGREES ============ */
.degrees{ padding:6rem 0; }
.degree-controls{ max-width:900px; margin:0 auto 2.4rem; }
.degree-search{ position:relative; margin-bottom:1.4rem; }
.degree-search i.fa-magnifying-glass{ position:absolute; left:1.2rem; top:50%; transform:translateY(-50%); color:var(--muted); }
.degree-search input{ width:100%; padding:1rem 3rem 1rem 3rem; border-radius:100px; border:1.5px solid var(--line);
  background:var(--paper); font-family:var(--font-body); font-size:1rem; font-weight:500; transition:border .25s var(--ease); }
.degree-search input:focus{ outline:none; border-color:var(--emerald); box-shadow:0 0 0 4px rgba(14,159,110,.1); }
.degree-clear{ position:absolute; right:1rem; top:50%; transform:translateY(-50%); border:none; background:var(--cream-2);
  width:28px; height:28px; border-radius:50%; color:var(--muted); cursor:pointer; }
.degree-tabs{ display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center; }
.dtab{ border:1.5px solid var(--line); background:var(--paper); color:var(--muted); font-weight:600; font-size:.88rem;
  padding:.5rem 1.05rem; border-radius:100px; cursor:pointer; transition:all .25s var(--ease); }
.dtab:hover{ border-color:var(--emerald); color:var(--emerald-d); }
.dtab.active{ background:var(--ink); color:#fff; border-color:var(--ink); }

.degree-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.degree-grid-collapsed .deg-card:nth-child(n+13){ display:none; }
.degree-grid-expanded .deg-card:nth-child(n+13){ display:block; }
.degree-grid-filtering .deg-card:nth-child(n+13){ display:block; }
.deg-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-s); padding:1.3rem;
  transition:all .3s var(--ease); position:relative; overflow:hidden; }
.deg-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-sm); border-color:var(--emerald); }
.deg-card .deg-ico{ width:44px; height:44px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:#fff; margin-bottom:.9rem; }
.deg-abbr{ font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--ink); margin-bottom:.15rem; }
.deg-full{ color:var(--muted); font-size:.86rem; line-height:1.4; }
.deg-cat{ position:absolute; top:1rem; right:1rem; font-size:.66rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--gold-d); }
.degree-grid .deg-card.deg-hide{ display:none!important; }
.degree-more-wrap{ display:flex; justify-content:center; margin-top:1.6rem; }
.degree-more-wrap.d-none{ display:none!important; }
.degree-more-btn i{ transition:transform .25s var(--ease); }
.degree-more-btn[aria-expanded="true"] i{ transform:rotate(180deg); }
.degree-empty{ text-align:center; padding:3rem 1rem; color:var(--muted); }
.degree-empty i{ font-size:2.4rem; color:var(--line); margin-bottom:1rem; }
.degree-empty a{ color:var(--emerald-d); font-weight:700; }
.degree-foot{ text-align:center; color:var(--muted); margin-top:2rem; font-weight:600; }

/* category color accents */
.cat-engineering .deg-ico{ background:linear-gradient(145deg,#3B6FE0,#2A53B0); }
.cat-management  .deg-ico{ background:linear-gradient(145deg,#E0A93B,#C68F26); }
.cat-medical     .deg-ico{ background:linear-gradient(145deg,#C2536B,#9E3E54); }
.cat-law         .deg-ico{ background:linear-gradient(145deg,#6B57C2,#4E3E9E); }
.cat-design      .deg-ico{ background:linear-gradient(145deg,#E07A3B,#C25E26); }
.cat-arts        .deg-ico{ background:linear-gradient(145deg,#0E9F6E,#0A7E57); }
.cat-education   .deg-ico{ background:linear-gradient(145deg,#3BB0C2,#2A8D9E); }
.cat-hospitality .deg-ico{ background:linear-gradient(145deg,#C2A53B,#9E8526); }
.cat-doctoral    .deg-ico{ background:linear-gradient(145deg,#1A2236,#0C1322); }

/* ============ PROCESS ============ */
.process{ padding:6rem 0; background:var(--ink); }
.timeline{ position:relative; margin-top:2rem; }
.tl-line{ position:absolute; top:26px; left:8%; right:8%; height:3px; background:rgba(255,255,255,.1); border-radius:100px; display:none; }
.tl-line-fill{ height:100%; width:0; background:linear-gradient(90deg,var(--emerald),var(--gold)); border-radius:100px; transition:width 1.4s var(--ease); }
@media(min-width:992px){ .tl-line{ display:block; } }
.tl-step{ text-align:center; padding:0 .6rem; }
.tl-dot{ width:54px; height:54px; border-radius:50%; background:var(--ink-2); border:2px solid var(--emerald);
  color:var(--emerald-l); font-family:var(--font-display); font-weight:700; font-size:1.3rem; display:flex;
  align-items:center; justify-content:center; margin:0 auto 1.2rem; position:relative; z-index:2; }
.tl-ico{ font-size:1.7rem; color:var(--gold); margin-bottom:.8rem; display:block; }
.tl-step h5{ color:#fff; font-size:1.2rem; margin-bottom:.5rem; }
.tl-step p{ color:rgba(255,255,255,.6); font-size:.92rem; line-height:1.6; }

/* ============ WHY ============ */
.why{ padding:6rem 0; background:var(--cream-2); }
.why-list{ list-style:none; padding:0; margin:1.6rem 0; }
.why-list li{ display:flex; gap:.9rem; align-items:flex-start; margin-bottom:1rem; }
.why-list i{ color:var(--emerald); font-size:1.2rem; margin-top:.15rem; }
.why-list strong{ color:var(--ink); }
.why-list div{ color:var(--muted); line-height:1.55; }
.why-visual{ position:relative; min-height:420px; display:flex; align-items:center; justify-content:center; }
.why-core{ width:200px; height:200px; border-radius:50%; background:var(--ink); color:#fff; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; box-shadow:var(--shadow); position:relative; z-index:2; }
.wc-num{ font-family:var(--font-display); font-weight:700; font-size:3rem; color:var(--gold); line-height:1; }
.wc-text{ font-size:.9rem; color:rgba(255,255,255,.7); margin-top:.3rem; }
.why-chip{ position:absolute; background:var(--paper); border:1px solid var(--line); border-radius:100px; padding:.6rem 1.1rem;
  font-weight:600; font-size:.86rem; box-shadow:var(--shadow-sm); white-space:nowrap; animation:float 5s ease-in-out infinite; }
.why-chip i{ color:var(--emerald); margin-right:.4rem; }
.chip-1{ top:6%; left:0; animation-delay:0s; }
.chip-2{ top:18%; right:0; animation-delay:.6s; }
.chip-3{ bottom:24%; left:-4%; animation-delay:1.2s; }
.chip-4{ bottom:6%; right:4%; animation-delay:1.8s; }
.chip-5{ top:46%; right:-6%; animation-delay:2.4s; }
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }

/* ============ STORIES ============ */
.stories{ padding:6rem 0; overflow:hidden; }
.story-track{ display:flex; gap:1.4rem; overflow-x:auto; padding:1rem .5rem 2rem; scroll-snap-type:x mandatory; }
.story-track::-webkit-scrollbar{ height:8px; }
.story-track::-webkit-scrollbar-thumb{ background:var(--line); border-radius:100px; }
.story-card{ flex:0 0 360px; max-width:360px; scroll-snap-align:center; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.8rem; box-shadow:var(--shadow-sm); }
.stars{ color:var(--gold); margin-bottom:1rem; }
.story-card p{ font-family:var(--font-author); font-size:1.12rem; line-height:1.65; color:var(--text); margin-bottom:1.4rem; }
.story-by{ display:flex; align-items:center; gap:.8rem; }
.story-by strong{ display:block; color:var(--ink); }
.story-by small{ color:var(--muted); }

/* ============ FAQ ============ */
.faq{ padding:6rem 0; background:var(--cream-2); }
.faq-acc .accordion-item{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-s)!important;
  margin-bottom:.9rem; overflow:hidden; }
.faq-acc .accordion-button{ font-family:var(--font-display); font-weight:600; font-size:1.08rem; color:var(--ink);
  background:var(--paper); padding:1.2rem 1.4rem; box-shadow:none; }
.faq-acc .accordion-button:not(.collapsed){ color:var(--emerald-d); background:var(--paper); }
.faq-acc .accordion-button:focus{ box-shadow:none; }
.faq-acc .accordion-button::after{ background-size:1rem; }
.faq-acc .accordion-body{ color:var(--muted); line-height:1.7; padding:0 1.4rem 1.3rem; }

/* ============ BOOK ============ */
.book{ padding:6rem 0; }
.book-shell{ background:var(--ink); border-radius:calc(var(--radius) + 6px); overflow:hidden; box-shadow:var(--shadow); }
.book-left{ padding:3rem; position:relative; }
.book-left::before{ content:""; position:absolute; bottom:-60px; left:-60px; width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle,rgba(224,169,59,.25),transparent 70%); }
.eyebrow.center-left{ display:inline-flex; }
.book-title{ color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.1; margin-bottom:1rem; position:relative; }
.book-sub{ color:rgba(255,255,255,.68); line-height:1.65; margin-bottom:1.6rem; }
.book-points{ list-style:none; padding:0; margin:0 0 1.8rem; }
.book-points li{ color:rgba(255,255,255,.85); font-weight:600; margin-bottom:.6rem; }
.book-points i{ color:var(--emerald-l); margin-right:.6rem; }
.book-contact{ border-top:1px solid rgba(255,255,255,.1); padding-top:1.4rem; }
.book-contact a,.book-contact span{ display:block; color:rgba(255,255,255,.72); font-size:.92rem; margin-bottom:.7rem; line-height:1.5; }
.book-contact i{ color:var(--emerald-l); margin-right:.6rem; width:18px; }
.book-contact a:hover{ color:var(--emerald-l); }
.book-right{ background:var(--paper); padding:3rem; }
.book-right label{ font-weight:700; font-size:.86rem; color:var(--ink); margin-bottom:.4rem; display:block; }
.book-right label .opt{ color:var(--muted); font-weight:500; }
.book-right .form-control,.book-right .form-select{ border:1.5px solid var(--line); border-radius:12px; padding:.8rem 1rem;
  font-family:var(--font-body); font-size:.95rem; }
.book-right .form-control:focus,.book-right .form-select:focus{ border-color:var(--emerald); box-shadow:0 0 0 4px rgba(14,159,110,.1); }
.form-fine{ font-size:.78rem; color:var(--muted); margin-top:.8rem; text-align:center; }
.book-success{ text-align:center; padding:2rem 1rem; animation:qIn .5s var(--ease); }
.book-success i{ font-size:3rem; color:var(--emerald); margin-bottom:1rem; }
.book-success h4{ font-size:1.6rem; margin-bottom:.6rem; }
.book-success p{ color:var(--muted); }

/* ============ FOOTER ============ */
.site-footer{ background:var(--ink); color:rgba(255,255,255,.7); padding:4rem 0 1.6rem; }
.footer-brand{ display:inline-flex; align-items:center; margin-bottom:1.1rem; }
.footer-brand .brand-logo{ height:80px; }
.footer-about{ font-size:.92rem; line-height:1.65; color:rgba(255,255,255,.6); max-width:340px; }
.footer-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.07); display:inline-flex;
  align-items:center; justify-content:center; margin-right:.6rem; margin-top:.6rem; transition:all .25s var(--ease); }
.footer-social a:hover{ background:var(--emerald); transform:translateY(-3px); }
.site-footer h6{ color:#fff; font-family:var(--font-display); font-size:1rem; margin-bottom:1rem; }
.site-footer ul{ list-style:none; padding:0; margin:0; }
.site-footer ul li{ margin-bottom:.6rem; }
.site-footer ul a{ color:rgba(255,255,255,.6); font-size:.92rem; }
.site-footer ul a:hover{ color:var(--emerald-l); }
.footer-contact li{ display:flex; gap:.6rem; font-size:.9rem; line-height:1.5; }
.footer-contact i{ color:var(--emerald-l); margin-top:.2rem; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:2.6rem; padding-top:1.4rem; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.84rem; color:rgba(255,255,255,.45); }
.footer-bottom i{ color:#C2536B; }

/* ============ FLOATING ============ */
.float-call{ position:fixed; bottom:24px; left:24px; z-index:9000; background:var(--emerald); color:#fff;
  border-radius:100px; padding:.85rem 1.3rem; font-weight:700; box-shadow:0 14px 30px -10px rgba(14,159,110,.7);
  display:inline-flex; align-items:center; gap:.5rem; animation:float 3.5s ease-in-out infinite; }
.float-call:hover{ background:var(--emerald-d); color:#fff; transform:scale(1.05); }
.back-top{ position:fixed; bottom:24px; right:24px; z-index:9000; width:48px; height:48px; border-radius:50%;
  background:var(--ink); color:#fff; border:none; opacity:0; pointer-events:none; transition:all .3s var(--ease);
  box-shadow:var(--shadow-sm); }
.back-top.show{ opacity:1; pointer-events:auto; }
.back-top:hover{ background:var(--emerald); transform:translateY(-3px); }

/* ============ RESPONSIVE ============ */
@media(max-width:991px){
  [data-aos^=fade][data-aos^=fade]{ transform:none!important; }
  .site-nav{ background:var(--cream); }
  .navbar-collapse{ background:var(--paper); border-radius:var(--radius-s); margin-top:1rem; padding:1rem; box-shadow:var(--shadow-sm); }
  .site-nav .nav-link::after{ display:none; }
  .nav-item .btn-cta{ display:block; text-align:center; margin-top:.6rem; }
  .hero{ padding-top:3rem; }
  .hero-card{ margin-top:2rem; }
  .why-visual{ min-height:auto; display:block; }
  .why-core{ margin:0 auto 1rem; }
  .why-chip{ position:relative; inset:auto; display:inline-flex; margin:.35rem; animation:none; white-space:normal; }
  .story-track{ max-width:100%; }
}
@media(max-width:575px){
  body{ max-width:100vw; }
  .hero-title{ font-size:clamp(2.25rem,12vw,3.2rem); }
  .hero-badge{ max-width:100%; align-items:flex-start; border-radius:18px; }
  .rotator-wrap{ display:inline; }
  .degree-search input{ border-radius:18px; font-size:.92rem; padding:.95rem 2.7rem .95rem 2.7rem; }
  .degree-tabs{ flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:.2rem .1rem .8rem; -webkit-overflow-scrolling:touch; }
  .dtab{ flex:0 0 auto; }
  .degree-grid{ grid-template-columns:1fr; }
  .degree-grid-collapsed .deg-card:nth-child(n+9){ display:none; }
  .degree-grid-expanded .deg-card:nth-child(n+9),
  .degree-grid-filtering .deg-card:nth-child(n+9){ display:block; }
  .story-card{ flex-basis:86vw; max-width:86vw; }
  .q-options{ grid-template-columns:1fr; }
  .quiz-shell,.book-left,.book-right{ padding:1.6rem; }
  .hero-cta-row .btn{ width:100%; }
  .float-call span{ display:none; }
  .footer-bottom{ justify-content:center; text-align:center; }
}
