/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* ═══════════════════════════════════════════════
   DESIGN SYSTEM — LIGHT THEME
═══════════════════════════════════════════════ */
:root {
  --bg:        #FFFFFF;
  --bg-2:      #F5F6FF;
  --bg-3:      #EEF0FF;
  --card:      #FFFFFF;
  --card-h:    #F8F9FF;
  --border:    rgba(0,0,0,0.08);
  --border-h:  rgba(124,58,237,0.25);
  --text:      #0D1035;
  --text-2:    #3D4468;
  --text-3:    #6B7499;
  --purple:    #7C3AED;
  --blue:      #2563EB;
  --grad:      linear-gradient(135deg, #7C3AED 0%, #2563EB 100%);
  --grad-r:    linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);
  --grad-soft: linear-gradient(135deg, rgba(124,58,237,0.07) 0%, rgba(37,99,235,0.07) 100%);
  --shadow:    0 2px 16px rgba(13,16,53,0.07);
  --shadow-lg: 0 8px 40px rgba(13,16,53,0.12);
  --shadow-xl: 0 20px 60px rgba(13,16,53,0.15);
  --glow:      0 0 50px rgba(124,58,237,0.18), 0 0 100px rgba(37,99,235,0.08);
  --heading:   'Playfair Display', Georgia, serif;
  --body:      'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
  --nav-h:     72px;
  --max:       1200px;
  --pad:       clamp(1.5rem, 5vw, 5rem);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ─── PARTICLES ─── */
#particles { position: fixed; inset: 0; z-index: 0; pointer-events: none; }

/* ─── CUSTOM CURSOR ─── */
#cdot {
  position: fixed; width: 7px; height: 7px;
  background: var(--purple); border-radius: 50%;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%,-50%);
}
#cring {
  position: fixed; width: 36px; height: 36px;
  border: 1px solid rgba(124,58,237,.45);
  border-radius: 50%; pointer-events: none; z-index: 9997;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, border-color .3s;
}

/* ─── HELPERS ─── */
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.sec  { position: relative; z-index: 2; }
.sec-pad { padding: clamp(5rem,8vw,8rem) 0; }
.overline {
  display: block; font-size: .72rem; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--purple); margin-bottom: .9rem;
}
.h2 {
  font-family: var(--heading); font-size: clamp(2rem,3.8vw,3.1rem);
  font-weight: 300; line-height: 1.18; letter-spacing: -.015em;
  color: var(--text);
}
html[lang="zh-Hans"] .h2,
html[lang="zh-Hans"] .hero h1 {
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', 'Source Han Sans CN', sans-serif;
  font-weight: 700; letter-spacing: .01em;
  font-size: clamp(1.55rem, 2.8vw, 2.5rem);
}
.h2 em {
  font-style: italic;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.sub { font-size: 1.02rem; color: var(--text-2); line-height: 1.78; font-weight: 300; }
.divbar { width: 52px; height: 3px; background: var(--grad); border-radius: 3px; margin: 1.3rem 0; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .6rem 1.4rem; border-radius: 8px;
  font-family: var(--body); font-size: .875rem; font-weight: 500;
  text-decoration: none; cursor: pointer;
  transition: all .24s; border: none; white-space: nowrap;
}
.btn-primary {
  background: var(--grad); color: #fff;
  box-shadow: 0 4px 18px rgba(124,58,237,.3);
}
.btn-primary:hover { box-shadow: 0 8px 28px rgba(124,58,237,.45); transform: translateY(-1px); }
.btn-ghost {
  background: transparent; color: var(--text-2);
  border: 1px solid var(--border);
}
.btn-ghost:hover { color: var(--text); border-color: rgba(0,0,0,.18); background: var(--bg-2); }
.btn-outline {
  background: transparent; color: var(--purple);
  border: 1px solid rgba(124,58,237,.35);
}
.btn-outline:hover { border-color: var(--purple); background: rgba(124,58,237,.06); }
.btn-lg { padding: .9rem 2.2rem; font-size: 1rem; border-radius: 10px; }

/* Scroll reveal */
.reveal {
  opacity: 0; transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.reveal.in { opacity: 1; transform: none; }
.d1 { transition-delay: .08s; }
.d2 { transition-delay: .16s; }
.d3 { transition-delay: .24s; }
.d4 { transition-delay: .32s; }
.d5 { transition-delay: .40s; }

/* Card */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  transition: box-shadow .28s, border-color .28s, transform .28s;
}
.card:hover { box-shadow: var(--shadow-lg); border-color: var(--border-h); transform: translateY(-2px); }

/* Divider line */
.gline { height: 1px; background: var(--border); }

/* ═══════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h); z-index: 500;
  display: flex; align-items: center; padding: 0 var(--pad);
  justify-content: space-between;
  transition: background .4s, border-color .4s, box-shadow .4s;
}
nav.sc {
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 2px 20px rgba(13,16,53,.07);
}
.nav-logo img { height: 34px; display: block; }
.nav-links { display: flex; gap: 1.8rem; list-style: none; }
.nav-links a {
  color: var(--text-2); text-decoration: none;
  font-size: .875rem; font-weight: 500; letter-spacing: .01em;
  transition: color .2s; padding: .3rem 0;
  position: relative;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px; background: var(--grad);
  transform: scaleX(0); transition: transform .25s;
  border-radius: 2px;
}
.nav-links a:hover { color: var(--text); }
.nav-links a:hover::after { transform: scaleX(1); }
.nav-right { display: flex; gap: .75rem; align-items: center; }

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.hero {
  min-height: 100vh; display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding-top: var(--nav-h);
  background: linear-gradient(160deg, #FFFFFF 0%, #F0F1FF 40%, #E8ECFF 100%);
}
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 70% 50% at 80% 30%, rgba(124,58,237,.08) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 20% 70%, rgba(37,99,235,.06) 0%, transparent 60%);
}
.hero-inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr;
  grid-gap: 4rem;
  gap: 4rem; align-items: center;
  padding: 5rem 0 4rem;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .3rem .9rem; border-radius: 100px;
  background: rgba(124,58,237,.08);
  border: 1px solid rgba(124,58,237,.2);
  color: var(--purple); font-size: .75rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 1.6rem;
}
.hero-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--purple); animation: blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

.hero h1 {
  font-family: var(--heading);
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  font-weight: 300; line-height: 1.1;
  letter-spacing: -.02em; margin-bottom: 1.4rem;
  color: var(--text);
}
.hero h1 em {
  font-style: italic;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.hero-sub {
  font-size: 1.08rem; color: var(--text-2);
  font-weight: 300; max-width: 500px; line-height: 1.78;
  margin-bottom: 2.5rem;
}
.hero-ctas { display: flex; gap: .9rem; flex-wrap: wrap; margin-bottom: 2.8rem; }
.hero-trust { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.trust-badge {
  display: flex; align-items: center; gap: .45rem;
  padding: .35rem .85rem; border-radius: 8px;
  background: rgba(255,255,255,.8); border: 1px solid var(--border);
  box-shadow: var(--shadow);
  font-size: .75rem; color: var(--text-2); font-weight: 400;
}
.trust-badge .icon { font-size: .9rem; }

/* ─── Hero visual — light product mockup ─── */
.hero-visual { position: relative; height: 490px; }
.mock-browser {
  position: absolute; inset: 0;
  background: #fff;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.09);
  box-shadow: 0 24px 64px rgba(13,16,53,0.13), 0 4px 16px rgba(13,16,53,0.07);
  overflow: hidden;
  display: flex; flex-direction: column;
}
/* Browser chrome bar */
.mock-chrome {
  display: flex; align-items: center; gap: .45rem;
  padding: .5rem .85rem; background: #F3F4F6;
  border-bottom: 1px solid rgba(0,0,0,0.07); flex-shrink: 0;
}
.m-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.mock-url {
  flex: 1 1; background: #fff; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: .18rem .65rem; font-size: .6rem; color: #6B7280;
  display: flex; align-items: center; gap: .3rem; margin: 0 .5rem;
}
/* App top nav */
.mock-app-nav {
  display: flex; align-items: center; padding: .45rem 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.07); flex-shrink: 0; background: #fff;
}
.mock-brand { font-size: .72rem; font-weight: 800; color: #111; letter-spacing: .05em; }
.mock-nav-links { margin-left: auto; display: flex; gap: 1.2rem; font-size: .63rem; color: #7C3AED; font-weight: 500; }
/* App body */
.mock-app-body { display: flex; flex: 1 1; overflow: hidden; min-height: 0; }
/* Sidebar */
.mock-sidebar {
  width: 165px; flex-shrink: 0;
  border-right: 1px solid rgba(0,0,0,0.07);
  background: #fff; display: flex; flex-direction: column; padding: .6rem 0; gap: .05rem;
}
.mock-sb-item {
  display: flex; align-items: center; gap: .4rem;
  padding: .38rem .75rem; font-size: .64rem; color: #4B5563;
}
.mock-sb-item.sb-active { background: #F5F3FF; color: #7C3AED; }
.mock-sb-label { font-size: .57rem; color: #9CA3AF; text-transform: uppercase; letter-spacing: .1em; padding: .55rem .75rem .15rem; font-weight: 600; }
.mock-sb-divider { height: 1px; background: #F3F4F6; margin: .4rem .75rem; }
.mock-sb-hist { font-size: .57rem; color: #9CA3AF; padding: .3rem .75rem .1rem; }
.mock-sb-histitem { font-size: .6rem; color: #6B7280; padding: .22rem .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Chat main area */
.mock-chat-main { flex: 1 1; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
/* Messages container */
.mock-messages {
  flex: 1 1; display: flex; flex-direction: column; gap: .7rem;
  padding: .85rem .9rem; overflow: hidden; min-height: 0;
}
.mock-msg-user {
  align-self: flex-end;
  background: linear-gradient(135deg, #7C3AED 0%, #2563EB 100%);
  color: #fff; font-size: .67rem; line-height: 1.5;
  padding: .52rem .9rem; border-radius: 14px 14px 3px 14px;
  max-width: 85%; font-weight: 400;
}
/* AI response bubble */
.mock-ai-bubble {
  background: #F9FAFB; border: 1px solid #E9EAEC; border-radius: 3px 14px 14px 14px;
  padding: .7rem .85rem; display: flex; flex-direction: column; gap: .28rem;
}
.mock-ai-avatar {
  width: 20px; height: 20px; border-radius: 50%;
  background: linear-gradient(135deg, #7C3AED 0%, #2563EB 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: .55rem; color: #fff; font-weight: 800; flex-shrink: 0;
  letter-spacing: .02em;
}
.mock-ai-header { display: flex; align-items: center; gap: .45rem; margin-bottom: .2rem; }
.mock-resp-bar {
  font-size: .65rem; font-weight: 700; color: #111827;
}
.mock-resp-text { font-size: .61rem; color: #374151; line-height: 1.55; }
.mock-resp-list { list-style: none; display: flex; flex-direction: column; gap: .22rem; margin: .1rem 0; }
.mock-resp-list li { font-size: .6rem; color: #374151; line-height: 1.4; display: flex; gap: .3rem; }
.mock-resp-list li::before { content: "•"; color: #7C3AED; font-weight: 700; flex-shrink: 0; }
.mock-resp-suggest { font-size: .6rem; color: #7C3AED; font-weight: 600; margin-top: .25rem; }
/* Input row */
.mock-input-row {
  display: flex; align-items: center; gap: .45rem;
  padding: .55rem .7rem; border-top: 1px solid rgba(0,0,0,0.07);
  background: #fff; flex-shrink: 0;
}
.mock-input-field {
  flex: 1 1; background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 8px;
  padding: .4rem .7rem; font-size: .62rem; color: #9CA3AF;
}
.mock-ask-tag {
  font-size: .6rem; color: #374151; background: #F3F4F6;
  border: 1px solid #E5E7EB; border-radius: 6px; padding: .28rem .55rem; white-space: nowrap;
}
.mock-send {
  width: 25px; height: 25px; border-radius: 50%;
  background: var(--grad); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; flex-shrink: 0;
}

/* ═══════════════════════════════════════════════
   TRUST BAR
═══════════════════════════════════════════════ */
.trust-bar {
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  background: var(--bg); padding: 1.4rem 0;
}
.trust-bar-inner {
  display: flex; align-items: center; gap: 2rem;
  flex-wrap: wrap; justify-content: center;
}
.tb-item { display: flex; align-items: center; gap: .55rem; font-size: .8rem; color: var(--text-2); font-weight: 400; }
.tb-icon { font-size: 1rem; }
.tb-sep { width: 1px; height: 22px; background: var(--border); }

/* ═══════════════════════════════════════════════
   AWARD BANNER
═══════════════════════════════════════════════ */
.award-banner {
  background: linear-gradient(135deg, rgba(124,58,237,.05) 0%, rgba(37,99,235,.04) 100%);
  border-top: 1px solid rgba(124,58,237,.12);
  border-bottom: 1px solid rgba(37,99,235,.1);
  padding: clamp(3rem,5vw,5rem) 0;
}
.award-inner {
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; grid-gap: 3.5rem; gap: 3.5rem;
}
.award-left { display: flex; flex-direction: column; gap: 1.4rem; }
.award-top  { display: flex; align-items: center; gap: 1.2rem; }
.award-icon {
  width: 64px; height: 64px; border-radius: 16px; flex-shrink: 0;
  background: var(--grad); display: flex; align-items: center;
  justify-content: center; font-size: 1.8rem;
  box-shadow: 0 8px 24px rgba(124,58,237,.3);
}
.award-text h3 { font-family: var(--heading); font-size: 1.55rem; font-weight: 400; margin-bottom: .4rem; color: var(--text); }
.award-text p  { font-size: .9rem; color: var(--text-2); font-weight: 300; line-height: 1.75; }
.award-chips { display: flex; gap: .75rem; flex-wrap: wrap; }
.award-chip {
  padding: .4rem 1rem; border-radius: 20px; font-size: .75rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
}
.award-chip.chip-purple { background: rgba(124,58,237,.1); color: var(--purple); border: 1px solid rgba(124,58,237,.2); }
.award-chip.chip-gold   { background: rgba(234,179,8,.1); color: #92610a; border: 1px solid rgba(234,179,8,.3); }
.award-cert-wrap {
  flex-shrink: 0;
  position: relative;
}
.award-cert-img {
  width: 260px;
  border-radius: 12px;
  box-shadow: 0 12px 48px rgba(13,16,53,.18), 0 2px 8px rgba(13,16,53,.1);
  border: 1px solid rgba(0,0,0,.07);
  display: block;
  transition: transform .3s, box-shadow .3s;
}
.award-cert-img:hover {
  transform: scale(1.03) rotate(0.5deg);
  box-shadow: 0 20px 60px rgba(124,58,237,.2), 0 4px 16px rgba(13,16,53,.12);
}
@media(max-width:768px){
  .award-inner { grid-template-columns: 1fr; }
  .award-cert-wrap { display: flex; justify-content: center; }
  .award-cert-img { width: 220px; }
}

/* ═══════════════════════════════════════════════
   PLATFORM GRID
═══════════════════════════════════════════════ */
.platform-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  grid-gap: 1.5rem;
  gap: 1.5rem; margin-top: 3.5rem;
}
.pcard {
  padding: 2.2rem 1.8rem; border-radius: 16px;
  background: var(--card); border: 1px solid var(--border);
  box-shadow: var(--shadow);
  transition: box-shadow .28s, border-color .28s, transform .28s;
  position: relative; overflow: hidden;
}
.pcard::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 3px; background: var(--grad); opacity: 0; transition: opacity .28s;
}
.pcard:hover { box-shadow: var(--shadow-lg); border-color: var(--border-h); transform: translateY(-3px); }
.pcard:hover::before { opacity: 1; }
.pcard-icon {
  width: 50px; height: 50px; border-radius: 13px;
  background: var(--grad-soft); border: 1px solid rgba(124,58,237,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; margin-bottom: 1.3rem;
}
.pcard h3 { font-family: var(--heading); font-size: 1.2rem; font-weight: 400; margin-bottom: .6rem; color: var(--text); }
.pcard p  { color: var(--text-2); font-size: .88rem; line-height: 1.7; font-weight: 300; }

/* ═══════════════════════════════════════════════
   TWO COLUMN LAYOUT
═══════════════════════════════════════════════ */
.two-col { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 5rem; gap: 5rem; align-items: center; }
.two-col.flip { direction: rtl; }
.two-col.flip > * { direction: ltr; }

.feat-list { display: flex; flex-direction: column; gap: .85rem; margin-top: 1.8rem; }
.fitem {
  display: flex; gap: 1.1rem; align-items: flex-start;
  padding: 1.15rem 1.2rem; border-radius: 12px;
  background: var(--bg-2); border: 1px solid var(--border);
  transition: background .25s, border-color .25s, transform .25s, box-shadow .25s;
}
.fitem:hover { background: var(--card); border-color: var(--border-h); transform: translateX(5px); box-shadow: var(--shadow); }
.two-col.flip .fitem:hover { transform: translateX(-5px); }
.ficon {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  background: var(--grad-soft); border: 1px solid rgba(124,58,237,.15);
  display: flex; align-items: center; justify-content: center; font-size: .95rem;
}
.ftxt h4 { font-size: .92rem; font-weight: 600; margin-bottom: .22rem; color: var(--text); }
.ftxt p  { font-size: .83rem; color: var(--text-2); line-height: 1.62; font-weight: 300; }

/* Full AI Chat Mockup */
/* UniMatch mockup — light */
.unimatch-mockup {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.09);
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 20px 56px rgba(13,16,53,0.12), 0 4px 14px rgba(13,16,53,0.07);
  display: flex; flex-direction: column;
}
.unimatch-main { display: flex; flex: 1 1; }
.unimatch-content {
  flex: 1 1; padding: .9rem 1rem; background: #F9FAFB; overflow: hidden;
}
.unimatch-title {
  font-size: 1.45rem; font-weight: 800; color: #111827;
  text-align: center; margin-bottom: .2rem;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.unimatch-sub { font-size: .65rem; color: #6B7280; text-align: center; margin-bottom: .8rem; }
.unimatch-card { background: #fff; border: 1px solid #E5E7EB; border-radius: 10px; padding: .75rem .9rem; }
.unimatch-card-hdr {
  font-size: .72rem; font-weight: 700; color: #111827;
  border-bottom: 1px solid #F3F4F6; padding-bottom: .4rem; margin-bottom: .55rem;
  display: flex; align-items: center; justify-content: space-between;
}
.unimatch-reset { font-size: .58rem; color: #6B7280; display: flex; align-items: center; gap: .2rem; }
.uni-form-grid { display: grid; grid-template-columns: 1fr 1fr; grid-gap: .42rem .65rem; gap: .42rem .65rem; }
.uni-field { display: flex; flex-direction: column; gap: .15rem; }
.uni-label { font-size: .57rem; font-weight: 600; color: #374151; }
.uni-label .req { color: #EF4444; }
.uni-input-box {
  background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: .3rem .55rem; font-size: .6rem; color: #374151;
}
.uni-select-box {
  background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 5px;
  padding: .3rem .55rem; font-size: .6rem; color: #374151;
  display: flex; justify-content: space-between; align-items: center;
}
.uni-placeholder { color: #9CA3AF; }
.unimatch-footer { display: flex; justify-content: flex-end; margin-top: .6rem; }
.unimatch-next {
  background: var(--grad); color: #fff; border-radius: 7px;
  padding: .38rem 1rem; font-size: .67rem; font-weight: 600;
}

/* UniMatch results (animated state) */
.uni-results-list { display: flex; flex-direction: column; gap: .45rem; margin-top: .5rem; }
.uni-res-card {
  background: #fff; border: 1px solid #E5E7EB; border-radius: 9px;
  padding: .65rem .9rem; animation: uni-res-in .35s ease both;
}
.uni-res-card:nth-child(2) { animation-delay: .12s; }
.uni-res-card:nth-child(3) { animation-delay: .24s; }
@keyframes uni-res-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.uni-res-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .15rem; }
.uni-res-name { font-size: .76rem; font-weight: 700; color: #111827; }
.uni-res-pct { font-size: .78rem; font-weight: 800; color: #059669; }
.uni-res-course { font-size: .63rem; color: #6B7280; margin-bottom: .38rem; }
.uni-res-bar { height: 3px; background: #E5E7EB; border-radius: 2px; overflow: hidden; margin-bottom: .38rem; }
.uni-res-fill { height: 100%; background: linear-gradient(90deg,#7C3AED,#2563EB); border-radius: 2px; transition: width 0.9s ease; width: 0%; }
.uni-res-tags { display: flex; gap: .3rem; flex-wrap: wrap; }
.uni-res-tags span { background: #EEF2FF; color: #4338CA; border-radius: 4px; padding: .08rem .4rem; font-size: .58rem; font-weight: 600; }
/* Hero chat animation helpers */
.mock-resp-text, .mock-resp-list { transition: opacity 0.35s ease; }
.mock-input-field { transition: color 0.15s; }

/* ═══════════════════════════════════════════════
   EDU DASHBOARD MOCKUP (For Counsellors)
═══════════════════════════════════════════════ */
.edu-browser {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 32px 80px rgba(0,0,0,.18);
  border: 1px solid #e2e4ea;
  background: #fff;
  position: relative;
  max-width: 620px;
  font-size: 11px;
}
.edu-browserbar {
  background: #f0f1f5; display: flex; align-items: center;
  gap: .5rem; padding: .55rem .9rem;
  border-bottom: 1px solid #dde0e8;
}
.edu-bdots { display: flex; gap: 5px; }
.edu-bdot { width: 10px; height: 10px; border-radius: 50%; }
.edu-burl {
  flex: 1 1; background: #fff; border: 1px solid #d6d8e0;
  border-radius: 6px; padding: .3rem .6rem;
  font-size: .68rem; color: #6b7280; display: flex; align-items: center; gap: .35rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.edu-burl svg { width: 10px; height: 10px; flex-shrink: 0; opacity: .5; }
/* Layout */
.edu-layout { display: flex; height: 420px; overflow: hidden; }
/* Sidebar */
.edu-sidebar {
  width: 155px; flex-shrink: 0; background: #1c1e3a;
  padding: .9rem 0; display: flex; flex-direction: column; gap: 0;
  border-right: 1px solid rgba(255,255,255,.07);
}
.edu-slogo {
  padding: .5rem 1rem 1rem; display: flex; align-items: center; gap: .5rem;
}
.edu-slogo img { height: 22px; }
.edu-nav-item {
  display: flex; align-items: center; gap: .55rem;
  padding: .52rem 1rem; font-size: .72rem; color: rgba(255,255,255,.62);
  cursor: pointer; transition: background .18s, color .18s;
  position: relative; white-space: nowrap;
}
.edu-nav-item svg { width: 13px; height: 13px; flex-shrink: 0; }
.edu-nav-item:hover { background: rgba(255,255,255,.07); color: rgba(255,255,255,.9); }
.edu-nav-active {
  background: #2563EB !important; color: #fff !important;
  border-radius: 0;
}
.edu-nav-badge {
  margin-left: auto; background: #EF4444; color: #fff;
  border-radius: 10px; padding: .05rem .38rem;
  font-size: .6rem; font-weight: 700; line-height: 1.4;
}
.edu-nav-caret { margin-left: auto; opacity: .4; font-size: .7rem; }
/* Main area */
.edu-main {
  flex: 1 1; background: #f4f5f9; overflow: hidden;
  display: flex; flex-direction: column; position: relative;
}
/* Top bar */
.edu-topbar {
  display: flex; align-items: center; justify-content: flex-end;
  gap: .6rem; padding: .5rem .9rem;
  background: #fff; border-bottom: 1px solid #e4e6ef;
  flex-shrink: 0;
}
.edu-topbar-icon {
  width: 24px; height: 24px; border-radius: 6px;
  background: #f0f1f5; display: flex; align-items: center;
  justify-content: center; cursor: pointer; position: relative;
}
.edu-topbar-icon svg { width: 13px; height: 13px; opacity: .6; }
.edu-notif-dot {
  position: absolute; top: -3px; right: -3px;
  width: 8px; height: 8px; background: #EF4444;
  border-radius: 50%; border: 1px solid #fff;
  animation: edu-pulse 2s infinite;
}
@keyframes edu-pulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: .7; }
}
.edu-user-av {
  width: 24px; height: 24px; border-radius: 50%;
  background: #1c1e3a; color: #fff; display: flex;
  align-items: center; justify-content: center;
  font-size: .62rem; font-weight: 700;
}
/* Views */
.edu-view { display: none; flex-direction: column; flex: 1 1; overflow-y: auto; padding: .9rem; gap: .7rem; }
.edu-view.edu-view-active { display: flex; }
/* Dashboard view */
.edu-view-header { margin-bottom: .2rem; }
.edu-view-title { font-size: .9rem; font-weight: 700; color: #111827; }
.edu-view-sub { font-size: .7rem; color: #6b7280; margin-top: .1rem; }
.edu-drange-row {
  display: flex; align-items: center; justify-content: space-between;
  flex-shrink: 0; gap: .5rem; margin-bottom: .2rem;
}
.edu-chart-btn {
  display: flex; align-items: center; gap: .3rem;
  background: #fff; border: 1px solid #d6d8e0;
  border-radius: 7px; padding: .3rem .6rem;
  font-size: .67rem; color: #374151; cursor: pointer;
}
.edu-daterange {
  background: #fff; border: 1px solid #d6d8e0;
  border-radius: 7px; padding: .3rem .65rem;
  font-size: .67rem; color: #374151;
  display: flex; align-items: center; gap: .4rem;
}
.edu-kpi-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  grid-gap: .55rem;
  gap: .55rem;
}
.edu-kpi-card {
  background: #fff; border: 1px solid #e4e6ef;
  border-radius: 10px; padding: .75rem .9rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
  transition: box-shadow .2s, transform .2s;
}
.edu-kpi-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.09); transform: translateY(-1px); }
.edu-kpi-top {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: .4rem;
}
.edu-kpi-label { font-size: .7rem; color: #6b7280; font-weight: 500; }
.edu-kpi-ico {
  width: 22px; height: 22px; border-radius: 6px;
  background: #EEF2FF; display: flex; align-items: center;
  justify-content: center;
}
.edu-kpi-ico svg { width: 12px; height: 12px; color: #7C3AED; }
.edu-kpi-num {
  font-family: var(--heading); font-size: 1.55rem; font-weight: 700;
  color: #111827; line-height: 1; margin-bottom: .3rem;
}
.edu-kpi-period { font-size: .6rem; color: #9ca3af; }
/* Reminders */
.edu-rem-card {
  background: #fff; border: 1px solid #e4e6ef;
  border-radius: 10px; padding: .7rem .9rem;
  flex-shrink: 0;
}
.edu-rem-title { font-size: .75rem; font-weight: 700; color: #111827; }
.edu-rem-sub { font-size: .67rem; color: #6b7280; margin-bottom: .5rem; }
.edu-rem-table-head {
  display: grid; grid-template-columns: 2fr 2fr 1.5fr 1.5fr 1fr;
  font-size: .62rem; font-weight: 600; color: #9ca3af;
  text-transform: uppercase; letter-spacing: .06em;
  padding: .3rem 0; border-bottom: 1px solid #e4e6ef;
}
.edu-rem-row {
  display: grid; grid-template-columns: 2fr 2fr 1.5fr 1.5fr 1fr;
  font-size: .67rem; color: #374151; padding: .45rem 0;
  border-bottom: 1px solid #f3f4f6; align-items: center;
}
.edu-rem-row:last-child { border: none; }
/* Lead Management view */
.edu-leads-table { background: #fff; border: 1px solid #e4e6ef; border-radius: 10px; overflow: hidden; }
.edu-lt-head {
  display: grid; grid-template-columns: .5fr 2fr 1.5fr 1.2fr 1fr 1fr;
  background: #f9fafb; font-size: .62rem; font-weight: 600; color: #9ca3af;
  text-transform: uppercase; letter-spacing: .06em;
  padding: .5rem .75rem; border-bottom: 1px solid #e4e6ef;
}
.edu-lt-row {
  display: grid; grid-template-columns: .5fr 2fr 1.5fr 1.2fr 1fr 1fr;
  font-size: .68rem; color: #374151; padding: .5rem .75rem;
  border-bottom: 1px solid #f3f4f6; align-items: center;
  transition: background .15s;
}
.edu-lt-row:hover { background: #f9fafb; }
.edu-lt-row:last-child { border: none; }
.edu-lt-av {
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg,#7C3AED,#2563EB);
  display: flex; align-items: center; justify-content: center;
  font-size: .58rem; font-weight: 700; color: #fff;
}
.edu-badge {
  display: inline-block; padding: .15rem .45rem;
  border-radius: 5px; font-size: .62rem; font-weight: 600;
}
.edu-badge-new { background: #EEF2FF; color: #4338CA; }
.edu-badge-active { background: #ECFDF5; color: #065F46; }
.edu-badge-review { background: #FFF7ED; color: #9A3412; }
.edu-badge-enrolled { background: #EFF6FF; color: #1D4ED8; }
/* Student Management view */
.edu-pipeline { display: flex; gap: .55rem; overflow-x: auto; padding-bottom: .3rem; }
.edu-pipeline-col { flex-shrink: 0; width: 130px; }
.edu-pipe-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .4rem .55rem; border-radius: 7px 7px 0 0;
  font-size: .68rem; font-weight: 700;
}
.edu-pipe-body { display: flex; flex-direction: column; gap: .4rem; padding: .4rem; background: rgba(0,0,0,.03); border-radius: 0 0 7px 7px; }
.edu-stu-card {
  background: #fff; border: 1px solid #e4e6ef;
  border-radius: 7px; padding: .45rem .55rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: transform .15s;
}
.edu-stu-card:hover { transform: translateY(-1px); }
.edu-stu-name { font-size: .68rem; font-weight: 600; color: #111827; }
.edu-stu-info { font-size: .62rem; color: #9ca3af; margin-top: .15rem; }
.edu-stu-prog {
  margin-top: .35rem; height: 3px; background: #e4e6ef; border-radius: 2px; overflow: hidden;
}
.edu-stu-prog-fill { height: 100%; border-radius: 2px; background: linear-gradient(90deg,#7C3AED,#2563EB); }
/* Floating chat button */
.edu-chat-fab {
  position: absolute; bottom: 10px; right: 10px;
  display: flex; align-items: center; gap: .5rem;
  background: #F97316; color: #fff; border-radius: 20px;
  padding: .4rem .7rem .4rem .6rem;
  font-size: .68rem; font-weight: 600;
  box-shadow: 0 4px 14px rgba(249,115,22,.4);
  cursor: pointer; z-index: 10;
  animation: edu-bob 3s ease-in-out infinite;
}
@keyframes edu-bob {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.edu-chat-fab-icon {
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg,#7C3AED,#2563EB);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
}
/* View transition */
.edu-view { animation: edu-fadein .25s ease; }
@keyframes edu-fadein { from { opacity:0; transform: translateY(4px); } to { opacity:1; transform:translateY(0); } }

/* ═══════════════════════════════════════════════
   HOW IT WORKS
═══════════════════════════════════════════════ */
.how-steps { display:flex; flex-direction:column; gap:0; }
.how-step {
  display:flex; gap:1.2rem; align-items:flex-start;
  padding:1.2rem 0;
  border-bottom:1px solid var(--border);
}
.how-step:last-child { border-bottom:none; }
.how-num {
  font-family:var(--heading); font-size:1.4rem; font-weight:600;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
  flex-shrink:0; width:2.5rem; line-height:1;
  opacity:.35; transition:opacity .25s;
}
.how-step:hover .how-num { opacity:1; }
.how-content h4 { font-size:.92rem; font-weight:600; margin-bottom:.3rem; color:var(--text); }
.how-content p  { font-size:.83rem; color:var(--text-2); line-height:1.65; font-weight:300; }

/* ═══════════════════════════════════════════════
   COMPARISON
═══════════════════════════════════════════════ */
.compare-grid { display:grid; grid-template-columns:1fr 1fr; grid-gap:1.5rem; gap:1.5rem; margin-top:3.5rem; }
.compare-col { border-radius:16px; padding:2.2rem 2rem; }
.compare-col.old {
  background: var(--bg-2); border: 1px solid var(--border);
}
.compare-col.new {
  background: linear-gradient(135deg, rgba(124,58,237,.06) 0%, rgba(37,99,235,.05) 100%);
  border: 1px solid rgba(124,58,237,.2);
  box-shadow: var(--shadow-lg);
}
.compare-tag {
  display:inline-block; font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  padding:.25rem .75rem; border-radius:6px; margin-bottom:1.3rem;
}
.compare-col.old .compare-tag { background:rgba(0,0,0,.05); color:var(--text-3); }
.compare-col.new .compare-tag { background:rgba(124,58,237,.1); color:var(--purple); }
.compare-col h3 { font-family:var(--heading); font-size:1.2rem; font-weight:400; margin-bottom:1.5rem; color:var(--text); }
.cmp-item {
  display:flex; gap:.85rem; align-items:flex-start;
  padding:.7rem 0; border-bottom:1px solid var(--border);
}
.cmp-item:last-child { border:none; }
.cmp-ico { width:22px; height:22px; border-radius:6px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.8rem; }
.old-ico { background:rgba(239,68,68,.08); }
.new-ico { background:rgba(124,58,237,.1); }
.cmp-item p { font-size:.85rem; color:var(--text-2); line-height:1.6; font-weight:300; }

/* ═══════════════════════════════════════════════
   MEDIA & PRESS
═══════════════════════════════════════════════ */
.media-featured {
  display:grid; grid-template-columns:1fr 1.3fr; grid-gap:2.5rem; gap:2.5rem;
  align-items:center; background:var(--card);
  border:1px solid var(--border); border-radius:20px;
  padding:2.5rem 3rem; margin-top:3.5rem;
  box-shadow:var(--shadow-lg);
  overflow:hidden; position:relative;
}
.media-featured::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(124,58,237,.04) 0%, rgba(37,99,235,.03) 100%);
  pointer-events:none;
}
.media-feat-tag {
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(124,58,237,.1); color:var(--purple);
  border-radius:20px; padding:.28rem .85rem;
  font-size:.72rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:1rem;
}
.media-feat-tag::before { content:'🏆'; font-size:.85rem; }
.media-feat-title {
  font-family:var(--heading); font-size:1.45rem; font-weight:600;
  color:var(--text); line-height:1.3; margin-bottom:.9rem;
}
.media-feat-title em { color:var(--purple); font-style:normal; }
.media-feat-desc { font-size:.9rem; color:var(--text-2); line-height:1.7; margin-bottom:1.4rem; }
.media-feat-source {
  display:flex; align-items:center; gap:.6rem;
  font-size:.78rem; color:var(--text-3); font-weight:500;
}
.media-feat-source span { color:var(--purple); }
.media-feat-img {
  border-radius:14px; overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.media-feat-img img { width:100%; height:220px; object-fit:cover; display:block; }

.media-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow); transition:box-shadow .28s, transform .28s, border-color .28s;
  display:flex; flex-direction:column;
}
.media-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); border-color:var(--border-h); }
.media-card-img { height:140px; object-fit:cover; width:100%; display:block; }
.media-card-body { padding:1.2rem 1.3rem; flex:1 1; display:flex; flex-direction:column; }
.media-card-tag {
  display:inline-block; font-size:.65rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  padding:.2rem .6rem; border-radius:5px; margin-bottom:.7rem;
}
.media-tag-award { background:rgba(124,58,237,.1); color:var(--purple); }
.media-tag-coverage { background:rgba(37,99,235,.1); color:var(--blue); }
.media-tag-partner { background:rgba(16,185,129,.1); color:#059669; }
.media-tag-launch { background:rgba(249,115,22,.1); color:#EA580C; }
.media-card-title { font-family:var(--heading); font-size:.95rem; font-weight:600; color:var(--text); line-height:1.4; margin-bottom:.5rem; flex:1 1; }
.media-card-excerpt { font-size:.8rem; color:var(--text-2); line-height:1.6; margin-bottom:1rem; }
.media-card-footer {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:.8rem; border-top:1px solid var(--border);
  font-size:.72rem; color:var(--text-3);
}
.media-card-link {
  font-size:.75rem; font-weight:600; color:var(--purple);
  display:flex; align-items:center; gap:.25rem;
  text-decoration:none; transition:gap .18s;
}
.media-card-link:hover { gap:.5rem; }

.media-presskit {
  margin-top:2.5rem; display:grid; grid-template-columns:1fr 1fr;
  grid-gap:1.5rem;
  gap:1.5rem;
}
.media-pk-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2rem 2.2rem;
  display:flex; align-items:flex-start; gap:1.2rem;
  box-shadow:var(--shadow); transition:box-shadow .25s, transform .25s;
}
.media-pk-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.media-pk-icon {
  width:44px; height:44px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; flex-shrink:0;
}
.media-pk-body h4 { font-family:var(--heading); font-size:1rem; font-weight:600; color:var(--text); margin-bottom:.35rem; }
.media-pk-body p { font-size:.83rem; color:var(--text-2); line-height:1.6; margin-bottom:.9rem; }
.media-pk-link {
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.78rem; font-weight:600; color:var(--purple);
  padding:.42rem 1rem; border:1.5px solid var(--purple);
  border-radius:8px; text-decoration:none;
  transition:background .18s, color .18s;
}
.media-pk-link:hover { background:var(--purple); color:#fff; }

/* ═══════════════════════════════════════════════
   STATS
═══════════════════════════════════════════════ */
.stats-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  grid-gap:1rem;
  gap:1rem; margin-top:3rem;
}
.stat-cell {
  padding:2rem 1.5rem; background:var(--card);
  border:1px solid var(--border); border-radius:14px;
  text-align:center; box-shadow:var(--shadow);
  transition:box-shadow .28s, border-color .28s, transform .28s;
}
.stat-cell:hover { box-shadow:var(--shadow-lg); border-color:var(--border-h); transform:translateY(-2px); }
.stat-n {
  font-family:var(--heading); font-size:2.2rem; font-weight:600;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
  display:block; margin-bottom:.35rem;
}
.stat-l { font-size:.78rem; color:var(--text-2); font-weight:300; }

/* Testimonial */
.testimonial {
  margin-top:2rem; padding:2.2rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; position:relative;
  box-shadow:var(--shadow);
}
.testimonial::before {
  content:'"'; position:absolute; top:.5rem; left:1.5rem;
  font-family:var(--heading); font-size:5rem;
  color:rgba(124,58,237,.12); line-height:1; pointer-events:none;
}
.test-quote { font-family:var(--heading); font-size:1.05rem; font-style:italic;
  font-weight:300; line-height:1.7; color:var(--text); padding-left:1rem; }
.test-attr { margin-top:1.2rem; display:flex; align-items:center; gap:.75rem; }
.test-av { width:36px; height:36px; border-radius:50%; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:600; color:#fff; }
.test-name { font-size:.85rem; font-weight:600; color:var(--text); }
.test-role { font-size:.75rem; color:var(--text-2); }

/* ═══════════════════════════════════════════════
   PARTNERS MARQUEE
═══════════════════════════════════════════════ */
.partners-sec { padding:clamp(4rem,6vw,6rem) 0; overflow:hidden; background:var(--bg-2); }
.partners-track-wrap {
  position:relative; overflow:hidden;
  mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.partners-track {
  display:flex; align-items:center; gap:1.5rem;
  width:max-content;
  animation:marquee 32s linear infinite;
}
.partners-track:hover { animation-play-state:paused; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.partner-logo {
  flex-shrink:0; width:160px; height:90px;
  display:flex; align-items:center; justify-content:center;
  padding:.8rem 1.2rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:12px; box-shadow:var(--shadow);
  transition:box-shadow .25s, border-color .25s, transform .25s;
}
.partner-logo:hover { box-shadow:var(--shadow-lg); border-color:var(--border-h); transform:translateY(-3px); }
.partner-logo img {
  max-width:130px; max-height:65px;
  width:auto; height:auto; object-fit:contain;
  opacity:0.85;
  transition:opacity .3s, transform .3s;
}
.partner-logo:hover img { opacity:1; transform:scale(1.05); }
.partner-uts { width:160px; }
.uts-badge { display:flex; flex-direction:column; align-items:center; text-align:center; font-family:var(--heading); }
.uts-uni { font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); font-weight:400; }
.uts-name { font-size:.9rem; font-weight:600; line-height:1.2;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text; opacity:.7; transition:opacity .3s; }
.partner-uts:hover .uts-name { opacity:1; }

/* ═══════════════════════════════════════════════
   CTA SECTION
═══════════════════════════════════════════════ */
.cta-sec {
  background:linear-gradient(135deg, #7C3AED 0%, #2563EB 100%);
  overflow:hidden; position:relative;
}
.cta-orb {
  position:absolute; width:600px; height:600px; border-radius:50%;
  background:rgba(255,255,255,.06);
  top:50%; left:50%; transform:translate(-50%,-50%);
}
.cta-inner { text-align:center; padding:7rem 0; position:relative; z-index:1; }
.cta-inner .h2 {
  font-size:clamp(2.2rem,4.5vw,3.8rem); margin-bottom:1.4rem;
  color:#fff !important;
}
.cta-inner .h2 em {
  font-style:italic;
  background:rgba(255,255,255,.9); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.cta-inner .sub { max-width:540px; margin:0 auto 2.8rem; color:rgba(255,255,255,.8); }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.cta-btns .btn-white {
  background:#fff; color:var(--purple); border:none;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.cta-btns .btn-white:hover { box-shadow:0 8px 30px rgba(0,0,0,.2); transform:translateY(-1px); }
.cta-btns .btn-clear {
  background:rgba(255,255,255,.12); color:#fff;
  border:1px solid rgba(255,255,255,.3);
}
.cta-btns .btn-clear:hover { background:rgba(255,255,255,.2); }
.cta-trust-row { display:flex; gap:1.8rem; justify-content:center; flex-wrap:wrap; margin-top:2.2rem; }
.ctr-item { display:flex; align-items:center; gap:.35rem; font-size:.78rem; color:rgba(255,255,255,.7); }
.ctr-item svg { width:13px; height:13px; color:rgba(255,255,255,.9); flex-shrink:0; }

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
footer { padding:4rem 0 2.8rem; border-top:1px solid var(--border); background:var(--bg); position:relative; z-index:2; }
.foot-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; grid-gap:3rem; gap:3rem; margin-bottom:3rem; }
.foot-brand img { height:30px; margin-bottom:.9rem; display:block; }
.foot-brand > p { font-size:.83rem; color:var(--text-3); line-height:1.72; max-width:300px; font-weight:300; margin-bottom:.9rem; }
.foot-addresses { display:flex; flex-direction:column; gap:.75rem; margin-bottom:.85rem; }
.foot-addr-block .foot-addr-label {
  font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em;
  color:var(--purple); margin-bottom:.25rem;
}
.foot-addr-block p { font-size:.78rem; color:var(--text-2); line-height:1.65; font-weight:300; }
.foot-email-link { font-size:.8rem; color:var(--text-2); text-decoration:none; transition:color .2s; }
.foot-email-link:hover { color:var(--purple); }
/* Social icons */
.foot-social { display:flex; gap:.55rem; margin-top:1.1rem; }
.foot-soc-btn {
  width:34px; height:34px; border-radius:50%;
  background:var(--bg-2); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  transition:all .22s; color:var(--text-2); text-decoration:none;
}
.foot-soc-btn:hover { background:var(--grad); border-color:transparent; color:#fff; transform:translateY(-2px); box-shadow:0 4px 14px rgba(124,58,237,.3); }
.foot-soc-btn svg { width:15px; height:15px; fill:currentColor; }
.foot-col h5 { font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--text-3);
  margin-bottom:.9rem; font-weight:600; }
.foot-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.foot-col a { font-size:.85rem; color:var(--text-2); text-decoration:none; transition:color .2s; }
.foot-col a:hover { color:var(--purple); }
.foot-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:2rem; border-top:1px solid var(--border);
  font-size:.78rem; color:var(--text-3); flex-wrap:wrap; gap:1rem;
}
.foot-links { display:flex; gap:1.5rem; }
.foot-links a { color:var(--text-3); text-decoration:none; transition:color .2s; }
.foot-links a:hover { color:var(--text-2); }

/* ─── Hero face stack ─── */
.hero-faces { display:flex; align-items:center; gap:.7rem; margin-top:1.2rem; }
.face-stack { display:flex; }
.face-stack img {
  width:38px; height:38px; border-radius:50%;
  border:2.5px solid #fff; object-fit:cover;
  margin-left:-10px; box-shadow:0 2px 8px rgba(13,16,53,.12);
}
.face-stack img:first-child { margin-left:0; }
.face-label { font-size:.78rem; color:var(--text-2); font-weight:400; line-height:1.4; }
.face-label strong { color:var(--text); font-weight:600; }

/* ─── Student Stories ─── */
.stories-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  grid-gap:1.6rem;
  gap:1.6rem; margin-top:3.2rem;
}
.story-card {
  background:var(--card); border-radius:18px;
  border:1px solid var(--border); overflow:hidden;
  box-shadow:var(--shadow);
  transition:box-shadow .28s, transform .28s;
}
.story-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.story-photo { width:100%; height:190px; object-fit:cover; object-position:center top; display:block; }
.story-body { padding:1.3rem; }
.story-quote {
  font-size:.88rem; color:var(--text-2); line-height:1.72;
  font-style:italic; font-weight:300; margin-bottom:1rem; position:relative;
  padding-left:1.2rem;
}
.story-quote::before {
  content:'"'; position:absolute; left:0; top:-.1rem;
  color:var(--purple); font-size:1.8rem; line-height:1; font-style:normal;
}
.story-person { display:flex; align-items:center; gap:.75rem; }
.story-avatar {
  width:42px; height:42px; border-radius:50%;
  object-fit:cover; flex-shrink:0;
  border:2px solid var(--border);
}
.story-name { font-size:.85rem; font-weight:600; color:var(--text); }
.story-uni  { font-size:.72rem; color:var(--text-3); margin-top:.12rem; }

/* ─── Enquiry Form ─── */
.enquiry-sec { background: var(--bg-2); }
.enquiry-grid {
  display: grid; grid-template-columns: 1fr 1.55fr;
  grid-gap: 4rem;
  gap: 4rem; align-items: start; margin-top: 3.5rem;
}
.enquiry-info { display: flex; flex-direction: column; gap: 1.8rem; }
.enquiry-info-item { display: flex; gap: 1rem; align-items: flex-start; }
.eq-icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  background: var(--grad-soft); border: 1px solid rgba(124,58,237,.15);
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem;
}
.eq-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-3); font-weight: 600; margin-bottom: .25rem; }
.eq-val { font-size: .9rem; color: var(--text-2); font-weight: 400; line-height: 1.55; }
.eq-val a { color: var(--purple); text-decoration: none; }
.eq-val a:hover { text-decoration: underline; }
/* Form card */
.enquiry-card {
  background: var(--card); border-radius: 20px;
  border: 1px solid var(--border); padding: 2.4rem 2.6rem;
  box-shadow: var(--shadow-lg);
}
.eq-form-grid { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 1.1rem; gap: 1.1rem; }
.eq-field { display: flex; flex-direction: column; gap: .4rem; }
.eq-field.full { grid-column: 1 / -1; }
.eq-field label {
  font-size: .75rem; font-weight: 600; color: var(--text);
  letter-spacing: .01em;
}
.eq-field label .req { color: #EF4444; margin-left: 1px; }
.eq-field input,
.eq-field select,
.eq-field textarea {
  font-family: var(--body); font-size: .88rem; color: var(--text);
  background: var(--bg); border: 1.5px solid var(--border);
  border-radius: 10px; padding: .72rem 1rem;
  transition: border-color .2s, box-shadow .2s;
  outline: none; width: 100%;
}
.eq-field input::placeholder,
.eq-field textarea::placeholder { color: var(--text-3); }
.eq-field input:focus,
.eq-field select:focus,
.eq-field textarea:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(124,58,237,.1);
}
.eq-field textarea { resize: vertical; min-height: 110px; line-height: 1.6; }
.eq-field select { cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239BA3C2' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
.eq-submit {
  grid-column: 1 / -1; margin-top: .5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
}
.eq-btn {
  font-family: var(--body); font-size: .92rem; font-weight: 600;
  background: var(--grad); color: #fff; border: none; cursor: pointer;
  padding: .85rem 2.2rem; border-radius: 10px;
  box-shadow: 0 4px 18px rgba(124,58,237,.3);
  transition: all .24s; display: inline-flex; align-items: center; gap: .5rem;
}
.eq-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(124,58,237,.42); }
.eq-privacy { font-size: .73rem; color: var(--text-3); line-height: 1.5; }
.eq-success {
  display: none; text-align: center; padding: 2rem;
  color: var(--text); font-size: .95rem;
}
.eq-success .eq-tick {
  width: 54px; height: 54px; border-radius: 50%; background: var(--grad);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; margin: 0 auto 1rem; box-shadow: 0 6px 20px rgba(124,58,237,.3);
}
@media(max-width:900px){
  .enquiry-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .enquiry-card { padding: 1.8rem; }
  .eq-form-grid { grid-template-columns: 1fr; }
  .eq-field.full { grid-column: auto; }
}

/* ─── MEDIA & PRESS ─── */
.media-sec { background: var(--bg); }

/* Featured article */
.media-featured {
  display: grid; grid-template-columns: 1.1fr 1fr;
  grid-gap: 0;
  gap: 0; border-radius: 20px; overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  margin-bottom: 2.8rem;
}
.media-feat-img {
  width: 100%; height: 340px;
  object-fit: cover; display: block;
}
.media-feat-body {
  padding: 2.4rem 2.6rem;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--card);
}
.media-source-row {
  display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem;
}
.media-source-badge {
  font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--purple); background: rgba(124,58,237,.08);
  border: 1px solid rgba(124,58,237,.2);
  padding: .25rem .7rem; border-radius: 20px;
}
.media-date {
  font-size: .75rem; color: var(--text-3); font-weight: 400;
}
.media-feat-title {
  font-family: var(--heading); font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 400; line-height: 1.3; color: var(--text);
  margin-bottom: .9rem;
}
.media-feat-excerpt {
  font-size: .9rem; color: var(--text-2); line-height: 1.72;
  font-weight: 300; margin-bottom: 1.5rem;
}
.media-read-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .83rem; font-weight: 600; color: var(--purple);
  text-decoration: none; transition: gap .2s;
}
.media-read-btn:hover { gap: .7rem; }
.media-read-btn svg { flex-shrink: 0; }

/* --- Media & Press horizontal carousel --- */
.media-carousel {
  position: relative;
  margin-top: 2rem;
  --media-carousel-fade: 24px;
}

.media-carousel::before,
.media-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--media-carousel-fade);
  pointer-events: none;
  z-index: 2;
}

.media-carousel::before {
  left: 0;
  background: linear-gradient(to right, var(--bg), transparent);
}

.media-carousel::after {
  right: 0;
  background: linear-gradient(to left, var(--bg), transparent);
}

.media-carousel-track {
  display: flex;
  gap: 1.6rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0.25rem 0;
}

.media-carousel-track::-webkit-scrollbar {
  display: none;
}

.media-carousel-track > .media-card {
  flex: 0 0 auto;
  width: calc((100% - 3 * 1.6rem) / 3.3);
  scroll-snap-align: start;
}

.media-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transition: opacity 160ms ease, transform 160ms ease, background 160ms ease;
}

.media-carousel-btn:hover:not(:disabled) {
  background: #fff;
  transform: translateY(-50%) scale(1.05);
}

.media-carousel-btn:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.media-carousel-btn-prev { left: 8px; }
.media-carousel-btn-next { right: 8px; }

.media-carousel-progress {
  margin-top: 1.25rem;
  height: 2px;
  width: 100%;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 2px;
  overflow: hidden;
}

.media-carousel-progress-fill {
  height: 100%;
  background: var(--grad);
  transition: width 120ms linear;
}

.media-carousel[data-overflows='false'] .media-carousel-btn,
.media-carousel[data-overflows='false'] .media-carousel-progress {
  display: none;
}

.media-carousel[data-overflows='false'] .media-carousel-track {
  scroll-snap-type: none;
}

@media (max-width: 900px) {
  .media-carousel-track {
    gap: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .media-carousel-track > .media-card {
    width: 82vw;
  }
  .media-carousel-btn {
    display: none;
  }
  .media-carousel::before,
  .media-carousel::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .media-carousel-track {
    scroll-behavior: auto;
  }
  .media-carousel-progress-fill {
    transition: none;
  }
}
/* --- end Media & Press carousel --- */

.media-card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: 16px; overflow: hidden;
  box-shadow: var(--shadow);
  transition: box-shadow .25s, transform .25s;
  display: flex; flex-direction: column;
}
.media-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.media-card-img {
  width: 100%; height: 160px; object-fit: cover; display: block;
}
.media-card-body {
  padding: 1.2rem 1.3rem; display: flex; flex-direction: column; flex: 1 1;
}
.media-card-source {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .65rem;
}
.media-card-badge {
  font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--purple); background: rgba(124,58,237,.07);
  border: 1px solid rgba(124,58,237,.15);
  padding: .2rem .55rem; border-radius: 20px;
}
.media-card-date { font-size: .7rem; color: var(--text-3); }
.media-card-title {
  font-family: var(--heading); font-size: 1rem;
  font-weight: 400; line-height: 1.4; color: var(--text);
  margin-bottom: .6rem;
}
.media-card-excerpt {
  font-size: .82rem; color: var(--text-2); line-height: 1.65;
  font-weight: 300; flex: 1 1; margin-bottom: 1rem;
}
.media-card-link {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .78rem; font-weight: 600; color: var(--purple);
  text-decoration: none; transition: gap .2s;
}
.media-card-link:hover { gap: .6rem; }

@media(max-width:900px){
  .media-featured { grid-template-columns: 1fr; }
  .media-feat-img { height: 220px; }
}

/* Scroll indicator */
@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}

/* ─── LANGUAGE TOGGLE ─── */
.lang-toggle {
  display: inline-flex; align-items: center;
  background: var(--bg-3); border: 1.5px solid var(--border);
  border-radius: 20px; padding: 2px; gap: 0;
  font-family: var(--body); font-size: .78rem; font-weight: 600;
  cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; flex-shrink: 0;
  transition: border-color .2s;
}
.lang-toggle:hover { border-color: var(--purple); }
.lang-btn {
  padding: .28rem .72rem; border-radius: 16px;
  transition: background .2s, color .2s;
  color: var(--text-3); white-space: nowrap;
}
.lang-btn.active {
  background: var(--grad); color: #fff;
  box-shadow: 0 2px 8px rgba(124,58,237,.35);
}

/* ═══════════════════════════════════════════════
   HAMBURGER MENU
═══════════════════════════════════════════════ */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 6px;
  border-radius: 8px;
  transition: background .2s;
  flex-shrink: 0;
  z-index: 600;
}
.hamburger:hover { background: var(--bg-2); }
.hamburger span {
  display: block;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: transform .3s, opacity .3s, width .3s;
  transform-origin: center;
}
.hamburger span:nth-child(1) { width: 22px; }
.hamburger span:nth-child(2) { width: 18px; }
.hamburger span:nth-child(3) { width: 22px; }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); width: 22px; }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); width: 22px; }

/* Mobile nav overlay */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(13,16,53,.35);
  z-index: 450;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.mobile-nav-overlay.open { opacity: 1; pointer-events: auto; }

/* Mobile nav drawer */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(300px, 85vw);
  height: 100%;
  background: #fff;
  z-index: 500;
  display: flex;
  flex-direction: column;
  padding: 1.4rem 1.6rem;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
  box-shadow: -8px 0 40px rgba(13,16,53,.12);
  overflow-y: auto;
}
.mobile-nav.open { transform: translateX(0); }

.mobile-nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--border);
}
.mobile-nav-head img { height: 28px; }
.mobile-nav-close {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg-2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--text-2);
  transition: all .2s;
  line-height: 1;
}
.mobile-nav-close:hover { background: var(--bg-3); color: var(--text); }

.mobile-nav-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  flex: 1 1;
}
.mobile-nav-links li a {
  display: block;
  padding: .85rem 1rem;
  border-radius: 10px;
  color: var(--text-2);
  text-decoration: none;
  font-size: .95rem;
  font-weight: 500;
  transition: background .2s, color .2s;
}
.mobile-nav-links li a:hover {
  background: var(--bg-2);
  color: var(--text);
}

.mobile-nav-footer {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.mobile-nav-footer .btn {
  width: 100%;
  justify-content: center;
  padding: .85rem 1.5rem;
  font-size: .92rem;
}
.mobile-lang-row {
  display: flex;
  justify-content: center;
  margin-bottom: .5rem;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 900px)
═══════════════════════════════════════════════ */
@media (max-width:900px) {
  /* Nav */
  .nav-links { display:none; }
  .nav-right .btn-ghost { display:none; }
  .nav-right .btn-primary { display:none; }
  .hamburger { display:flex; }
  .mobile-nav-overlay { display:block; }

  /* Hero */
  .hero-inner { grid-template-columns:1fr; padding: 3.5rem 0 3rem; }
  .hero-visual { display:none; }
  .hero h1 { font-size: clamp(2.2rem, 6vw, 3.2rem); }
  .hero-sub { max-width: 100%; }
  .hero-ctas { gap: .75rem; }
  .hero-ctas .btn-lg { padding: .8rem 1.6rem; font-size: .95rem; }

  /* Grids */
  .platform-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .two-col, .compare-grid { grid-template-columns:1fr; gap:2.5rem; }
  .media-presskit { grid-template-columns:1fr; }
  .media-featured { grid-template-columns:1fr; gap:0; padding: 1.8rem; }
  .media-feat-img { height: 200px; }
  .two-col.flip { direction:ltr; }
  .stories-grid { grid-template-columns:1fr 1fr; }

  /* Footer */
  .foot-grid { grid-template-columns:1fr 1fr; gap: 2rem; }

  /* Misc */
  #cdot, #cring { display:none; }
  #how .wrap > div[style*="grid"] { grid-template-columns:1fr !important; }
  .lang-toggle { font-size:.72rem; }
  .lang-btn { padding:.22rem .55rem; }

  /* Award */
  .award-inner { grid-template-columns:1fr; gap: 2rem; }
  .award-cert-wrap { display:flex; justify-content:center; }
  .award-cert-img { width: 200px; }

  /* Enquiry */
  .enquiry-grid { grid-template-columns:1fr; gap:2rem; }
  .enquiry-card { padding:1.6rem; }
  .eq-form-grid { grid-template-columns:1fr; }
  .eq-field.full { grid-column:auto; }

  /* Media section */
  .media-presskit { grid-template-columns:1fr; }

  /* CTA */
  .cta-inner { padding: 5rem 0; }
  .cta-inner .h2 { font-size: clamp(1.9rem, 5vw, 3rem); }
  .cta-trust-row { gap: 1rem; }

  /* Trust bar */
  .trust-bar-inner { gap: 1rem; }
  .tb-sep { display:none; }
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 600px)
═══════════════════════════════════════════════ */
@media (max-width:600px) {
  :root { --pad: 1.2rem; }

  /* Nav */
  .nav-logo img { height: 28px; }
  nav { padding: 0 1.2rem; }

  /* Hero */
  .hero { min-height: auto; padding-top: var(--nav-h); }
  .hero-inner { padding: 2.8rem 0 2.5rem; }
  .hero h1 { font-size: clamp(1.9rem, 7vw, 2.6rem); }
  .hero-sub { font-size: .95rem; margin-bottom: 1.8rem; }
  .hero-ctas { flex-direction: column; gap: .65rem; }
  .hero-ctas .btn-lg { width: 100%; justify-content: center; text-align: center; }
  .hero-trust { flex-wrap: wrap; gap: .5rem; }
  .trust-badge { font-size: .7rem; }
  .hero-faces { flex-wrap: wrap; }
  .face-label { font-size: .72rem; }

  /* Sections */
  .sec-pad { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
  .h2 { font-size: clamp(1.7rem, 6vw, 2.4rem) !important; }
  .sub { font-size: .93rem; }

  /* Stats */
  .stats-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .stat-cell { padding: 1.3rem 1rem; }
  .stat-n { font-size: 1.8rem; }

  /* Stories — 1 col on small mobile */
  .stories-grid { grid-template-columns: 1fr; }
  .story-photo { height: 220px; }

  /* Platform cards */
  .pcard { padding: 1.6rem 1.3rem; }

  /* Partners */
  .partner-logo { width: 130px; height: 76px; }

  /* Footer */
  .foot-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .foot-bottom { flex-direction: column; align-items: flex-start; gap: .7rem; }
  .foot-links { flex-wrap: wrap; gap: 1rem; }

  /* Enquiry form */
  .enquiry-card { padding: 1.3rem 1.1rem; }
  .eq-submit { flex-direction: column; align-items: stretch; }
  .eq-btn { width: 100%; justify-content: center; }

  /* Media featured */
  .media-featured { padding: 1.4rem; }
  .media-feat-img { height: 170px; }

  /* Trust bar */
  .trust-bar-inner { flex-direction: column; align-items: flex-start; gap: .75rem; padding: 0 1.2rem; }

  /* CTA */
  .cta-inner { padding: 4rem 0; }
  .cta-btns { flex-direction: column; gap: .65rem; }
  .cta-btns .btn-lg { width: 100%; justify-content: center; }
  .cta-trust-row { flex-direction: column; align-items: center; gap: .6rem; }

  /* Compare */
  .compare-col { padding: 1.5rem 1.2rem; }

  /* Award */
  .award-icon { width: 52px; height: 52px; font-size: 1.4rem; }
  .award-text h3 { font-size: 1.25rem; }
}

