/* ============================================================
   aartees.ph — Single Stylesheet (Tailwind-free, ultra-light)
   Palette: Navy #0b2545 · Teal #0e7c86 · Aqua #35c4bd
   ============================================================ */
:root{
  --navy:#101d35; --navy-2:#1a2d4e; --teal:#0e7d8a; --aqua:#4ecdc4; --mint:#dffaf7;
  --bg:#f7f4ef; --bg-alt:#f1efe9; --ink:#1b2233; --mut:#5c6678;
  --line:#dde4ea; --gold:#d9b36c; --gold-soft:#f6e7c4;
  --r:18px; --r-sm:14px;
  --sh:0 24px 50px -26px rgba(16,29,53,.28);
  --sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4.5rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--ink);background:radial-gradient(circle at top, #fbf8f3 0%, var(--bg) 42%, #f1efe9 100%);
  line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;display:inline-block;vertical-align:middle}
a{color:var(--teal);text-decoration:none}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 14px 0;font-weight:700}
.skip-link:focus{left:0}
.container{width:min(1140px,92%);margin-inline:auto}
.narrow{max-width:820px}
.center{text-align:center}

/* ---------- Typography ---------- */
h1,h2,h3,h4{color:var(--navy);line-height:1.3;font-weight:700;letter-spacing:-.03em}
h1{font-size:clamp(2.2rem,5.5vw,4.2rem);letter-spacing:-.06em;margin-bottom:var(--sp-4)}
h2{font-size:clamp(1.55rem,3.4vw,2.3rem);margin-bottom:var(--sp-5)}
h3{font-size:1.15rem;margin-bottom:var(--sp-3);font-weight:600}
.lede{font-size:clamp(1rem,2vw,1.2rem);color:var(--mut);max-width:56ch;margin-top:var(--sp-4);line-height:1.6}
.grad-text{
  background:linear-gradient(120deg,var(--teal) 15%,var(--aqua) 38%,#7fe6df 50%,var(--aqua) 62%,var(--teal) 85%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:gradShift 7s linear infinite;
}
@keyframes gradShift{to{background-position:-220% center}}
@media(prefers-reduced-motion:reduce){.grad-text{animation:none}}
.dot-teal{color:var(--aqua)}
.muted{color:var(--mut)}
.teal-t{color:var(--teal)}
.nowrap{white-space:nowrap}
.tiny{font-size:.78rem}

/* ---------- Eyebrow / badges ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;font-weight:700;color:var(--teal);margin-bottom:var(--sp-3);
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--aqua);border-radius:2px}
.eyebrow.center::after{content:"";width:26px;height:2px;background:var(--aqua);border-radius:2px}
.badge{
  display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.66);
  color:var(--navy);border:1px solid rgba(16,29,53,.08);padding:.46rem .95rem;border-radius:999px;
  font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:var(--sp-4);box-shadow:0 14px 24px -20px rgba(16,29,53,.22);
}

/* ---------- Buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.9rem 1.6rem;border-radius:999px;font-weight:800;font-size:.95rem;
  border:1px solid transparent;cursor:pointer;overflow:hidden;isolation:isolate;letter-spacing:-.01em;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease,filter .28s ease;
  will-change:transform;box-shadow:0 10px 22px -14px rgba(11,37,69,.35);
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.35) 48%,transparent 72%);
  transform:translateX(-120%);transition:transform .7s ease;
}
.btn:hover::before{transform:translateX(120%)}
.btn svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.btn:hover svg{transform:translateX(5px)}
.btn-primary{
  background:linear-gradient(135deg,#1a3d5f 0%,#0d7d8a 42%,#3accc4 100%);color:#fff;
  box-shadow:0 18px 30px -16px rgba(16,29,53,.56);
}
.btn-primary:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 24px 34px -18px rgba(16,29,53,.7);filter:saturate(1.12)}
.btn-primary:active{transform:translateY(-1px) scale(.99)}
.btn-ghost{border-color:rgba(16,29,53,.12);color:var(--navy);background:rgba(255,255,255,.8)}
.btn-ghost:hover{border-color:rgba(14,124,134,.45);color:var(--navy);transform:translateY(-3px);box-shadow:0 16px 32px -20px rgba(16,29,53,.32)}
.btn-white{background:#fff;color:var(--navy);border-color:rgba(255,255,255,.4);box-shadow:0 18px 32px -22px rgba(16,29,53,.46)}
.btn-white:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 20px 34px -18px rgba(16,29,53,.42)}
.btn-lg{padding:1.12rem 2.2rem;font-size:1.02rem;box-shadow:0 15px 34px -18px rgba(14,124,134,.6)}
.btn-sm{padding:.62rem 1.12rem;font-size:.84rem}
.btn-block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}
.btn-row.center{justify-content:center}
@media(hover:none){.btn:hover{transform:none}.btn:hover::before{transform:translateX(-120%)}}
.btn-pulse{position:relative}
.btn-pulse::after{
  content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(53,196,189,.7);
  opacity:0;animation:btnPulse 2.6s ease-out infinite;
}
@media(prefers-reduced-motion:reduce){.btn-pulse::after{animation:none}}
@keyframes btnPulse{
  0%{opacity:.55;transform:scale(.94)}
  70%{opacity:0;transform:scale(1.13)}
  100%{opacity:0;transform:scale(1.13)}
}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);
  border-bottom:1px solid rgba(16,29,53,.08);
  box-shadow:0 14px 30px -22px rgba(16,29,53,.18);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header{background:#fff}
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:var(--sp-4)}
.brand img{height:44px;width:auto;display:block}
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;border-radius:12px;background:rgba(14,124,134,.05)}
.nav-burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.3s}
.nav-links{display:flex;align-items:center;gap:.65rem}
.nav-links > a, .has-sub > a{
  color:var(--navy);font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;gap:.38rem;
  padding:.72rem .95rem;position:relative;border-radius:999px;transition:all .25s ease;
}
.nav-links .nav-cta{margin-left:.45rem;background:linear-gradient(135deg,#13a5af 0%,#0b2545 100%);color:#fff;border:1px solid transparent;box-shadow:0 14px 24px -18px rgba(11,37,69,.8)}
.nav-links .nav-cta:hover{background:linear-gradient(135deg,#0e7c86 0%,#123156 100%);color:#fff;transform:translateY(-2px)}
.nav-links .nav-cta::after{display:none}
.nav-links > a:hover,.nav-links > a.active,.has-sub:hover > a,.has-sub.open-p > a{
  background:rgba(14,124,134,.08);color:var(--navy)
}
.nav-links > a::after, .has-sub > a::after{
  content:"";position:absolute;left:1rem;right:1rem;bottom:.38rem;height:2px;width:auto;
  background:linear-gradient(90deg,var(--teal),var(--aqua));border-radius:2px;transform:scaleX(0);
  transform-origin:left;transition:transform .25s ease;
}
.nav-links > a:hover::after,.nav-links > a.active::after,
.has-sub:hover > a::after,.has-sub.open-p > a::after{transform:scaleX(1)}
.has-sub{position:relative}
.has-sub .chev{transition:transform .3s}
.has-sub:hover .chev,.has-sub.open-p .chev{transform:rotate(180deg)}
.sub{
  position:absolute;top:calc(100% + 12px);left:-10px;min-width:245px;background:#fff;
  border:1px solid rgba(11,37,69,.08);border-radius:20px;box-shadow:0 25px 48px -24px rgba(11,37,69,.25);
  padding:.55rem;display:none;z-index:60;
}
.sub a{display:flex;align-items:center;gap:.6rem;padding:.72rem .8rem;border-radius:12px;color:var(--ink);font-weight:600;font-size:.9rem}
.sub a:hover{background:#eef7f8;color:var(--teal)}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block;animation:pop .25s ease}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Mobile menu */
.nav-overlay{
  position:fixed;inset:0;z-index:45;background:rgba(11,37,69,.5);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .35s ease;
}
body.nav-open .nav-overlay{opacity:1;pointer-events:auto}
@media(min-width:901px){.nav-overlay{display:none}}
@media(max-width:900px){
  .nav-burger{display:flex;position:relative;z-index:51}
  .nav-burger span{transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}
  .nav-links .nav-cta{display:flex;width:100%;margin:var(--sp-4) 0 0;justify-content:center}
  body.nav-open{overflow:hidden}
  .nav-links{
    position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(86vw,360px);background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:calc(72px + var(--sp-4)) 6% var(--sp-6);border-bottom:0;
    box-shadow:-24px 0 55px -20px rgba(11,37,69,.35);border-radius:24px 0 0 24px;
    transform:translateX(100%);transition:transform .38s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;z-index:50;
  }
  .nav-toggle:checked ~ .nav-links{transform:translateX(0)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0;transform:scaleX(0)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav-links > a,.has-sub > a{padding:1rem .25rem;border-bottom:1px solid #eef3f5;font-size:1rem;border-radius:12px}
  .nav-links > a:hover,.nav-links > a.active,.has-sub:hover > a,.has-sub.open-p > a{background:rgba(14,124,134,.06)}
  .nav-links > a::after,.has-sub > a::after{display:none}
  .has-sub .sub{display:block;position:static;box-shadow:none;border:0;padding:0 0 .6rem .6rem;margin-top:.2rem;background:transparent}
  .has-sub .chev{display:none}
  .sub a{padding:.7rem .5rem}
}
@media(prefers-reduced-motion:reduce){
  .nav-links{transition:none}
  .nav-overlay{transition:none}
}

/* ---------- Heroes ---------- */
.hero,.page-hero{position:relative;padding:var(--sp-8) 0;overflow:hidden}
.page-hero.slim{padding:var(--sp-7) 0}
/* Premium layered gradient-mesh backdrop */
.hero::before,.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(640px 320px at 88% 6%,rgba(78,205,196,.17),transparent 62%),
    radial-gradient(520px 300px at 4% 94%,rgba(217,179,108,.15),transparent 62%),
    radial-gradient(460px 260px at 55% 118%,rgba(14,125,138,.11),transparent 65%);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,3vw,3rem);align-items:center}
.center-col{text-align:center;display:flex;flex-direction:column;align-items:center}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.blob-a{width:420px;height:420px;background:radial-gradient(circle,rgba(78,205,196,.9),transparent 62%);top:-160px;right:-120px;animation:float 12s ease-in-out infinite alternate}
.blob-b{width:340px;height:340px;background:radial-gradient(circle,rgba(217,179,108,.52),transparent 62%);bottom:-140px;left:-110px;animation:float 14s ease-in-out infinite alternate-reverse}
@keyframes float{to{transform:translateY(28px)}}
.hero-checks{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-5)}
.hero-checks li{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.88rem;color:var(--navy)}
.ic{width:18px;height:18px;fill:none;stroke:var(--teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:none}

.program-spotlight{display:grid;gap:.8rem;margin-top:var(--sp-5)}
.spotlight-pill{display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.72);border:1px solid rgba(16,29,53,.08);border-radius:16px;padding:.7rem .85rem;box-shadow:0 18px 30px -26px rgba(16,29,53,.25)}
.spotlight-pill strong{display:block;color:var(--navy);font-size:.95rem;line-height:1.25}
.spotlight-pill small{display:block;color:var(--mut);font-size:.75rem;margin-top:.1rem}
.mini-tag{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;flex:none}
.mini-tag.mba{background:linear-gradient(135deg,#0e7d8a,#0f335f)}
.mini-tag.msc{background:linear-gradient(135deg,#113e65,#0f7d8a)}
.mini-tag.ba{background:linear-gradient(135deg,#d9b36c,#0d7d8a)}

/* Hero visual photo (homepage + inner-page heroes) */
.hero-visual{position:relative}
.hero-photo{
  position:relative;border-radius:32px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(16,29,53,.46);
  aspect-ratio:4/3;isolation:isolate;border:1px solid rgba(255,255,255,.6);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;animation:kenburns 24s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07) translate(-1.5%,1.5%)}}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,29,53,.08),rgba(16,29,53,.40) 72%,rgba(16,29,53,.62));z-index:1}
.hero-photo::after{
  content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(11,37,69,0) 40%,rgba(11,37,69,.55) 100%);
}
.hero-float-badge{
  position:absolute;left:-18px;bottom:-18px;background:#fff;border-radius:var(--r);box-shadow:var(--sh);
  padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:.7rem;z-index:2;
  animation:floatBadge 5s ease-in-out infinite;
}
.hero-float-badge .icon-chip{margin-bottom:0}
.hero-float-badge strong{display:block;color:var(--navy);font-size:1.15rem;line-height:1.1}
.hero-float-badge span{display:block;color:var(--mut);font-size:.76rem}
.hero-float-badge.top{left:auto;right:-16px;top:-16px;bottom:auto;animation-delay:.6s}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.hero-float-badge{animation:none}.hero-photo img{animation:none}}
@media(max-width:1020px){
  .hero-float-badge{display:none}
  .glass-chip{display:none}
  .float-icon{display:none}
}
=======

/* Decorative floating accent icons */
.float-icon{
  position:absolute;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:var(--sh);
  animation:floatIcon 6s ease-in-out infinite;pointer-events:none;z-index:1;
}
.float-icon svg{width:46%;height:46%}
@keyframes floatIcon{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(-6deg)}}
@media(prefers-reduced-motion:reduce){.float-icon{animation:none}}
@media(max-width:1020px){.float-icon{display:none}}

/* Floating frosted-glass accent chips (premium hero accents) */
.glass-chip{
  position:absolute;z-index:2;display:flex;align-items:center;gap:.55rem;
  padding:.6rem .85rem;border-radius:15px;font-size:.78rem;font-weight:700;color:var(--navy);
  background:rgba(255,255,255,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.78);box-shadow:0 16px 32px -18px rgba(16,29,53,.42);
  animation:floatIcon 7s ease-in-out infinite;
}
.glass-chip svg{flex:none}
.glass-chip strong{display:block;line-height:1.15;color:var(--navy)}
.glass-chip small{display:block;color:var(--mut);font-weight:600;font-size:.68rem;line-height:1.25}
.glass-chip.gc-a{top:-16px;right:-8px;animation-delay:.9s}
.glass-chip.gc-b{bottom:36%;left:-24px;animation-delay:1.8s}
@media(max-width:1020px){.glass-chip{display:none}}
@media(prefers-reduced-motion:reduce){.glass-chip{animation:none}}

.photo-mosaic{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-auto-rows:215px;gap:var(--sp-4);margin:0 auto var(--sp-6);max-width:980px}
.mosaic-card{position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(16,29,53,.08);background:#fff;box-shadow:0 18px 34px -26px rgba(16,29,53,.25);transition:transform .35s ease,box-shadow .35s ease}
.mosaic-card:hover{transform:translateY(-4px);box-shadow:0 24px 42px -24px rgba(16,29,53,.32)}
.mosaic-card.large{grid-row:span 2}
.mosaic-card img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.04)}
.mosaic-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,29,53,.05),rgba(16,29,53,.58));}
.mosaic-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1;color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* Hero card */
.hero-card{display:flex;flex-direction:column;gap:var(--sp-3)}
.vertical-card{
  display:flex;align-items:center;gap:var(--sp-4);background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:var(--sp-4) var(--sp-5);box-shadow:0 8px 24px -14px rgba(11,37,69,.18);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.vertical-card:hover{transform:translateY(-4px);border-color:var(--aqua);box-shadow:var(--sh)}
.vertical-card strong{color:var(--navy);font-size:1rem;display:block}
.vertical-card small{color:var(--mut);font-size:.83rem;line-height:1.45;display:block;margin-top:2px}
.vertical-card .arrow{margin-left:auto;color:var(--teal);transition:transform .3s;flex:none}
.vertical-card:hover .arrow{transform:translateX(5px)}
.vc-flag{
  width:58px;height:58px;flex:none;display:grid;place-items:center;background:var(--bg-alt);
  border-radius:14px;border:1px solid var(--line);
}
.vertical-card.alt{background:linear-gradient(135deg,#11253f 0%,#0b2545 42%,#0d7d8a 100%);border:0}
.vertical-card.alt strong,.vertical-card.alt small{color:#fff}
.vertical-card.alt .vc-flag{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}

/* ---------- Stats band ---------- */
.stats-band{background:linear-gradient(135deg,var(--navy),#123a5e);color:#fff;padding:var(--sp-6) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);text-align:center}
.stat .num{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;color:var(--aqua);display:block;font-variant-numeric:tabular-nums}
.stat .lbl{font-size:.82rem;color:#c6d6e4;letter-spacing:.03em}

.trust-strip{
  display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center;align-items:center;
  margin:0 auto var(--sp-6);padding:var(--sp-3) var(--sp-4);max-width:940px;background:rgba(255,255,255,.82);
  border:1px solid rgba(16,29,53,.08);border-radius:999px;box-shadow:0 18px 28px -26px rgba(16,29,53,.22)
}
.trust-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;background:linear-gradient(135deg,#f6f8fb,#eefaf9);color:var(--navy);font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.trust-pill .dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#f3d58c);box-shadow:0 0 0 5px rgba(217,179,108,.2)}

.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.process-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5);box-shadow:0 18px 32px -26px rgba(11,37,69,.22);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.process-card:hover{transform:translateY(-4px);border-color:var(--aqua);box-shadow:0 22px 32px -24px rgba(11,37,69,.24)}
.process-step{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--navy));color:#fff;font-weight:800;margin-bottom:var(--sp-3)}
.process-card h3{margin-bottom:.5rem}
.process-card p{color:var(--mut);font-size:.92rem}

/* ---------- Sections / cards ---------- */
.section{padding:var(--sp-8) 0}
.section.alt-bg{background:var(--bg-alt)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);margin-top:var(--sp-5)}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.card:hover{transform:translateY(-6px);border-color:var(--aqua);box-shadow:var(--sh)}
.card.sm p{font-size:.9rem;color:var(--mut)}
.icon-chip{
  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;margin-bottom:var(--sp-3);
}
.icon-chip svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-chip.teal{background:linear-gradient(135deg,var(--teal),var(--aqua))}
.icon-chip.navy{background:linear-gradient(135deg,var(--navy),#2a5b8f)}
.icon-chip.gold{background:linear-gradient(135deg,#e8a13a,#f4c56a)}
.icon-chip.sm{width:40px;height:40px;margin-bottom:var(--sp-2)}
.icon-chip.sm svg{width:20px;height:20px}
.icon-chip{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.card:hover .icon-chip{transform:scale(1.1) rotate(-6deg)}

.check-list{list-style:none;margin-top:var(--sp-4);display:grid;gap:var(--sp-3)}
.check-list li{padding-left:2rem;position:relative}
.check-list li::before{
  content:"✓";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;
  background:#0e7c86;color:#fff;font-size:.72rem;font-weight:800;line-height:20px;text-align:center;
}
.check-list.tight{gap:var(--sp-2)}
.dash-list{list-style:none;display:grid;gap:.4rem}
.dash-list li{padding-left:1.2rem;position:relative;color:var(--ink)}
.dash-list li::before{content:"—";position:absolute;left:0;color:var(--teal);font-weight:700}

/* Tables */
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);margin-top:var(--sp-4);background:#fff}
.cmp-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.94rem}
.cmp-table th,.cmp-table td{padding:var(--sp-4);text-align:left;border-bottom:1px solid var(--line)}
.cmp-table thead th{background:var(--navy);color:#fff;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.cmp-table tbody tr:last-child td{border-bottom:0}
.cmp-table tbody tr:nth-child(even){background:#f8fcfd}
.good{color:var(--teal);font-weight:700}
.bad{color:#b3423a}

/* Stage cards */
.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.stage-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.stage-card:hover,.stage-card[open]{border-color:var(--aqua);box-shadow:var(--sh)}
.stage-card summary{
  list-style:none;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);cursor:pointer;
}
.stage-card summary::-webkit-details-marker{display:none}
.stage-num{
  width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:800;
  background:linear-gradient(135deg,var(--teal),var(--navy));color:#fff;
}
.stage-card summary strong{color:var(--navy);display:block;font-size:.98rem}
.stage-card summary small{color:var(--teal);font-weight:700;font-size:.8rem}
.stage-card .chev{margin-left:auto;width:18px;height:18px;fill:none;stroke:var(--mut);stroke-width:2.5;stroke-linecap:round;transition:transform .3s}
.stage-card[open] .chev{transform:rotate(180deg)}
.stage-card ul{padding:0 var(--sp-4) var(--sp-4);list-style:none;font-size:.87rem;color:var(--ink)}
.stage-card ul li{padding:.32rem 0 .32rem 1.3rem;position:relative}
.stage-card ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800}

.note-box{
  margin-top:var(--sp-5);background:#fdf6ec;border:1px solid #f2dfc0;border-left:5px solid var(--gold);
  border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);font-size:.9rem;color:#6b5220;
}
.note-box.soft{background:#eef7f8;border-color:#cbe8ea;border-left-color:var(--teal);color:var(--ink);margin-top:var(--sp-4)}

/* Timeline */
.timeline{list-style:none;margin-top:var(--sp-5);border-left:3px solid var(--aqua);padding-left:var(--sp-5);display:grid;gap:var(--sp-5)}
.timeline li{position:relative}
.timeline li::before{
  content:"";position:absolute;left:calc(-1 * var(--sp-5) - 8.5px);top:6px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:4px solid var(--teal);
}
.tl-date{display:block;font-size:.78rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}
.timeline strong{color:var(--navy);font-size:1.02rem}
.timeline small{display:block;color:var(--mut)}

.steps{list-style:none;counter-reset:st;margin-top:var(--sp-4);display:grid;gap:var(--sp-3)}
.steps li{display:flex;gap:var(--sp-4);align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-4)}
.steps span{
  counter-increment:st;flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--teal),var(--navy));color:#fff;font-weight:800;
}
.steps span::before{content:counter(st)}

.partner-strip{
  margin-top:var(--sp-6);display:flex;gap:var(--sp-4);align-items:flex-start;background:#fff;
  border:1px dashed var(--aqua);border-radius:var(--r);padding:var(--sp-5);font-size:.92rem;
}
.partner-strip.big{margin:0 auto;max-width:900px}
.partner-strip svg{flex:none;margin-top:2px}

/* Germany programmes */
.prog{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:var(--sp-4);overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s ease,background .3s ease}
.prog[open],.faq[open],.stage-card[open]{border-color:var(--aqua);box-shadow:0 22px 46px -34px rgba(11,37,69,.32);animation:detailPulse .75s ease}
.prog[open] summary,.faq[open] summary,.stage-card[open] summary{background:linear-gradient(135deg,rgba(14,124,134,.06),rgba(255,255,255,0));}
.prog summary{list-style:none;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);cursor:pointer;flex-wrap:wrap;transition:background .25s ease}
.prog summary::-webkit-details-marker{display:none}
.prog h3{font-size:1.15rem;margin:0}
.prog .muted{font-size:.85rem}
.prog-tag{
  flex:none;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--aqua));
}
.prog-tag.msc{background:linear-gradient(135deg,var(--navy),#2a5b8f)}
.prog-tag.ba{background:linear-gradient(135deg,#e8a13a,#f4c56a);color:var(--navy)}
.prog .chev{margin-left:auto;width:20px;height:20px;fill:none;stroke:var(--mut);stroke-width:2.5;stroke-linecap:round;transition:transform .3s}
.prog[open] .chev{transform:rotate(180deg)}
.prog-body{padding:0 var(--sp-5) var(--sp-5);font-size:.94rem}
.prog-body > p{margin-bottom:var(--sp-3)}
.feature-illustration-wrap{margin:0 auto var(--sp-5);max-width:980px;border-radius:30px;overflow:hidden;border:1px solid rgba(16,29,53,.08);background:linear-gradient(135deg,#eefaf9,#f8fafc);box-shadow:0 24px 38px -28px rgba(11,37,69,.32);position:relative;animation:sectionGlow 6s ease-in-out infinite alternate}
.feature-illustration{display:block;width:100%;height:clamp(240px,28vw,420px);object-fit:cover;filter:saturate(1.08) contrast(1.03)}
@keyframes detailPulse{0%{box-shadow:0 0 0 0 rgba(19,165,175,.18)}50%{box-shadow:0 16px 40px -24px rgba(11,37,69,.32)}100%{box-shadow:0 22px 46px -34px rgba(11,37,69,.32)}}
@keyframes sectionGlow{0%{transform:translateY(0);box-shadow:0 22px 38px -30px rgba(11,37,69,.22)}100%{transform:translateY(-2px);box-shadow:0 28px 44px -26px rgba(11,37,69,.28)}}
.mini-h{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:var(--sp-3) 0 var(--sp-2)}
.mini-h.teal{color:var(--teal)}
.loc{font-size:.86rem;color:var(--teal);font-weight:600}
.chip-wrap{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:#eef7f8;color:var(--navy);border:1px solid #d3ecee;border-radius:999px;padding:.35rem .85rem;font-size:.8rem;font-weight:600}
.chip-wrap.big{margin-top:var(--sp-4)}
.chip-wrap.big .chip{font-size:.9rem;padding:.55rem 1.1rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}

/* Training */
.stat-callout{
  margin-top:var(--sp-5);display:inline-flex;align-items:center;gap:var(--sp-4);background:#fff;
  border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-4) var(--sp-5);text-align:left;
  box-shadow:0 10px 30px -18px rgba(11,37,69,.25);flex-wrap:wrap;justify-content:center;
}
.big-num{font-size:2.4rem;font-weight:800;color:var(--teal);font-variant-numeric:tabular-nums}
.country-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5);text-align:center;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.country-card:hover{transform:translateY(-6px);border-color:var(--aqua);box-shadow:var(--sh)}
.flag-ring{display:inline-grid;place-items:center;width:76px;height:56px;background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;margin-bottom:var(--sp-3)}
.tagline{color:var(--teal);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}
.world-note{
  margin-top:var(--sp-6);text-align:center;font-size:1.05rem;color:var(--navy);
  display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;font-weight:600;
}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.role-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5);transition:transform .3s,box-shadow .3s,border-color .3s}
.role-card:hover{transform:translateY(-5px);border-color:var(--aqua);box-shadow:var(--sh)}
.role-card.wide{grid-column:span 2}
.loc-line{color:var(--mut);font-size:.86rem;margin-bottom:var(--sp-2)}
.pill{
  display:inline-block;background:#e7f6f6;color:var(--teal);font-size:.7rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.28rem .8rem;
}
.pill.grow{background:#fdf1dc;color:#a06b10}

/* Resume showcase */
.resume-showcase{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:var(--sp-6);box-shadow:var(--sh)}
.rs-head{text-align:center;margin-bottom:var(--sp-5)}
.rs-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--sp-5);align-items:start}
.rs-doc{background:linear-gradient(180deg,#fbfeff,#f2f9fa);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5)}
.rs-person{display:flex;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px dashed var(--line);position:relative}
.avatar{width:52px;height:52px;flex:none;border-radius:50%;background:#d7e7ea;display:grid;place-items:center}
.avatar svg{width:28px;height:28px;fill:none;stroke:#7ba2ab;stroke-width:2}
.rs-person strong{color:var(--navy);display:block;font-size:1.05rem;letter-spacing:.02em}
.rs-person small{color:var(--mut)}
.check-badge{
  position:absolute;right:0;top:-6px;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--aqua));display:grid;place-items:center;box-shadow:0 6px 14px -6px rgba(14,124,134,.6);
}
.check-badge svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.rs-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-4);padding-top:var(--sp-4)}
.dim{opacity:.55;filter:blur(.4px)}
.highlight{background:#fff;border:1.5px solid var(--aqua);border-radius:var(--r-sm);padding:var(--sp-4);box-shadow:0 12px 28px -18px rgba(14,124,134,.45)}
.tick-list{list-style:none;display:grid;gap:.45rem;font-size:.9rem}
.tick-list li{padding-left:1.7rem;position:relative}
.tick-list li::before{
  content:"✓";position:absolute;left:0;top:.22em;width:16px;height:16px;border-radius:50%;
  background:#0e7c86;color:#fff;font-size:.6rem;font-weight:800;line-height:16px;text-align:center;
}
.tick-list.big{gap:.7rem;font-size:.95rem}
.rs-foot{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--line);font-weight:600;color:var(--navy)}
.rs-side h3{margin-bottom:var(--sp-3)}
.rs-side .btn{margin-top:var(--sp-4)}

/* FAQ */
.faq-stack{display:grid;gap:var(--sp-3);margin-top:var(--sp-5);text-align:left}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s ease}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4);cursor:pointer;font-weight:700;color:var(--navy);transition:background .25s ease}
.faq summary::-webkit-details-marker{display:none}
.faq .chev{width:18px;height:18px;flex:none;fill:none;stroke:var(--mut);stroke-width:2.5;stroke-linecap:round;transition:transform .3s}
.faq[open] .chev{transform:rotate(180deg)}
.faq p{padding:0 var(--sp-4) var(--sp-4);color:var(--mut);font-size:.94rem}

/* Testimonials */
.t-slider{position:relative;margin-top:var(--sp-5);background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:var(--sp-6);box-shadow:var(--sh);text-align:center;min-height:240px}
.t-slide{display:none;animation:tFade .6s ease}
.t-slide.active{display:block}
@keyframes tFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.t-slide blockquote{font-size:clamp(1.02rem,2.2vw,1.25rem);color:var(--navy);font-weight:600;line-height:1.6;quotes:"\201C" "\201D"}
.t-slide blockquote::before{content:open-quote;color:var(--aqua);font-size:1.6em;line-height:0;vertical-align:-.3em;margin-right:.15em}
.t-slide figcaption{margin-top:var(--sp-4);color:var(--mut);font-size:.9rem}
.t-dots{display:flex;gap:.5rem;justify-content:center;margin-top:var(--sp-4)}
.t-dot{width:24px;height:24px;border-radius:50%;background:transparent;border:0;cursor:pointer;transition:.3s;padding:0;position:relative}
.t-dot::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#d3e4e8;transition:.3s}
.t-dot:hover::before{background:#b7d7dc}
.t-dot.on::before{background:var(--teal);transform:scale(1.25)}
.t-pause{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;
  display:inline-grid;place-items:center;margin-left:.35rem;transition:border-color .3s,transform .3s;vertical-align:middle;
}
.t-pause:hover{border-color:var(--aqua);transform:scale(1.06)}
.t-pause svg{width:13px;height:13px;fill:var(--teal);stroke:none}

/* CTA band */
.cta-band{background:linear-gradient(120deg,#111d34 0%,#16375d 52%,#0f7d8a 110%);color:#fff;padding:var(--sp-7) 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:.3rem}
.cta-band p{color:#cfe3ee}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-6);align-items:start}
.contact-cards{display:grid;gap:var(--sp-3)}
.ccard{
  display:flex;gap:var(--sp-4);align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:var(--sp-4) var(--sp-5);color:inherit;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.ccard:hover{transform:translateY(-3px);border-color:var(--aqua);box-shadow:var(--sh)}
.ccard strong{color:var(--navy);display:block}
.ccard small{color:var(--mut);font-size:.86rem;line-height:1.5}
.hours{display:flex;gap:.6rem;align-items:center;color:var(--mut);font-size:.88rem;padding:.4rem .3rem}
.fic{width:18px;height:18px;fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cform{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:var(--sp-6);box-shadow:var(--sh)}
.frow{margin-bottom:var(--sp-4)}
.frow label{display:block;font-weight:600;font-size:.88rem;color:var(--navy);margin-bottom:.35rem}
.frow input,.frow select,.frow textarea{
  width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-sm);
  font:inherit;color:var(--ink);background:#fbfeff;transition:border-color .25s,box-shadow .25s;
}
.frow input:focus,.frow select:focus,.frow textarea:focus{
  outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(53,196,189,.18);
}

/* Mobile sticky CTA */
.mobile-cta-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:.75rem;
  padding:max(12px, env(safe-area-inset-bottom)) .9rem calc(.9rem + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  box-shadow:0 -12px 30px -24px rgba(11,37,69,.45)
}
.mobile-cta-bar .action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;border-radius:14px;font-weight:800;font-size:.88rem}
.mobile-cta-bar .action.primary{background:linear-gradient(135deg,#13a5af,#0b2545);color:#fff;box-shadow:0 16px 28px -18px rgba(11,37,69,.7)}
.mobile-cta-bar .action.secondary{background:#eef7f8;color:var(--navy);border:1px solid rgba(14,124,134,.12)}
@media(max-width:900px){
  .mobile-cta-bar{display:flex}
  body{padding-bottom:76px}
}

/* Footer */
.site-footer{background:var(--navy);color:#b9cbdb;padding:var(--sp-7) 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--sp-6)}
.site-footer h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:var(--sp-3)}
.site-footer a{color:#b9cbdb;font-size:.92rem;display:block;padding:.22rem 0;transition:color .25s}
.site-footer a:hover{color:var(--aqua)}
.site-footer p{font-size:.9rem;margin-top:var(--sp-3)}
address{font-style:normal;display:grid;gap:.45rem;font-size:.92rem}
address .fic{margin-right:.45rem}
.socials{display:flex;gap:.6rem;margin-top:var(--sp-4)}
.socials a{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);transition:.3s;
}
.socials a:hover{background:var(--teal);transform:translateY(-3px)}
.socials svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:var(--sp-6);padding:var(--sp-4) 0}
.foot-bottom p{font-size:.8rem;margin:0}
.foot-bottom em{opacity:.65}

/* Story split (about page photo + text) */
.story-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-7);align-items:center}
.story-split .hero-photo{aspect-ratio:5/4}
.story-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.story-gallery .gallery-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 2px);overflow:hidden;box-shadow:0 18px 30px -24px rgba(11,37,69,.18)}
.story-gallery .gallery-card img{width:100%;height:220px;object-fit:cover;display:block}
.story-gallery .gallery-card .caption{padding:var(--sp-4);font-weight:700;color:var(--navy)}
@media(max-width:1020px){.story-split{grid-template-columns:1fr}.story-gallery{grid-template-columns:1fr}}

/* Partner logos (about page) */
.partner-logos{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-5)}
.plogo{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.6rem 1.4rem;font-weight:700;font-size:.9rem;color:var(--navy)}

/* Modern feature cards with stock imagery */
.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.visual-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 32px -24px rgba(11,37,69,.18);transition:transform .3s ease,box-shadow .3s ease}
.visual-card:hover{transform:translateY(-4px);box-shadow:0 24px 32px -22px rgba(11,37,69,.22)}
.visual-card img{display:block;width:100%;height:220px;object-fit:cover}
.visual-card .copy{padding:var(--sp-4)}
.visual-card h3{margin-bottom:.4rem}
.visual-card p{color:var(--mut);font-size:.92rem}

/* Scroll reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
[data-reveal].revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .blob{animation:none!important}
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
}

/* Responsive */
@media(max-width:1020px){
  .hero-grid{grid-template-columns:1fr;gap:var(--sp-6)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .photo-mosaic{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stage-grid{grid-template-columns:repeat(2,1fr)}
  .role-grid{grid-template-columns:repeat(2,1fr)}
  .role-card.wide{grid-column:span 2}
  .rs-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .grid-3,.stage-grid,.role-grid,.two-col,.rs-row,.process-grid{grid-template-columns:1fr}
  .role-card.wide{grid-column:auto}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
  .foot-grid{grid-template-columns:1fr}
  .section{padding:var(--sp-7) 0}
  .cta-inner{justify-content:center;text-align:center}
  .btn-row{display:grid;grid-template-columns:1fr}
  .btn-row .btn{width:100%}
  .trust-strip{border-radius:20px;padding:var(--sp-3)}
  .trust-pill{width:100%;justify-content:center}
  .feature-illustration-wrap{border-radius:20px}
  .feature-illustration{height:220px}
  .prog summary,.faq summary,.stage-card summary{padding:1rem;gap:.75rem}
  .prog-tag{width:44px;height:44px}
  .photo-mosaic{grid-template-columns:1fr;grid-auto-rows:auto}
  .mosaic-card{aspect-ratio:16/10}
  .mosaic-card.large{grid-row:auto}
  .resume-showcase,.cform,.t-slider{padding:var(--sp-5) var(--sp-4)}
}

/* ── Inline SVG flags ─────────────────────────────────────────────────── */
.flag{width:1.7em;height:auto;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2);
      vertical-align:-.3em;display:inline-block}

/* ── Cost & ROI sections ─────────────────────────────────────────────── */
.roi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.roi-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5);display:flex;flex-direction:column;gap:.7rem;transition:transform .3s,box-shadow .3s,border-color .3s}
.roi-card:hover{transform:translateY(-5px);border-color:var(--aqua);box-shadow:var(--sh)}
.roi-card h3{color:var(--navy);font-size:1.05rem}
.roi-line{display:flex;justify-content:space-between;gap:.75rem;font-size:.86rem;border-bottom:1px dashed var(--line);padding-bottom:.45rem}
.roi-line span:first-child{color:var(--mut)}
.roi-line strong{text-align:right;color:var(--navy)}
.roi-payback{background:#eef7f8;border-radius:var(--r-sm);padding:.7rem .9rem;font-size:.84rem;font-weight:700;color:var(--teal)}
.roi-card .btn{margin-top:auto}
.bar-row{display:grid;gap:.35rem;margin-top:.55rem}
.bar-top{display:flex;justify-content:space-between;font-size:.82rem;font-weight:700;color:var(--navy)}
.bar-top small{color:var(--mut);font-weight:600}
.bar{height:10px;border-radius:999px;background:var(--bg-alt);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--aqua))}
.bar.gold i{background:linear-gradient(90deg,#e8a13a,#f4c56a)}
.credit-note{font-size:.78rem;color:var(--mut);margin-top:var(--sp-4)}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.gal-card{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;margin:0;transition:transform .3s,box-shadow .3s}
.gal-card:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.gal-card img{width:100%;height:230px;object-fit:cover;display:block}
.gal-card figcaption{padding:.8rem 1rem;font-size:.85rem;font-weight:600;color:var(--navy)}
.gal-card figcaption small{display:block;color:var(--mut);font-weight:400;font-size:.74rem;margin-top:.15rem}
.prog-photo{margin:0 0 var(--sp-4);border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line)}
.prog-photo img{width:100%;height:250px;object-fit:cover;display:block}
.prog-photo figcaption{padding:.6rem .9rem;font-size:.78rem;color:var(--mut);background:#fff}
@media(max-width:900px){
  .roi-grid,.gal-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .roi-card .btn{width:100%}
  .gal-card img{height:200px}
  .prog-photo img{height:190px}
}

/* ── Homepage hero: destination switcher ("what we do" in a nutshell) ─── */
.dest-switcher{display:flex;flex-direction:column;gap:.7rem}
.dest-card{
  position:relative;display:flex;align-items:center;gap:var(--sp-4);
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:var(--sp-4) var(--sp-5);overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
}
.dest-card:hover{transform:translateY(-4px);border-color:var(--aqua);box-shadow:var(--sh)}
.dc-copy{display:flex;flex-direction:column;min-width:0}
.dc-copy small{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:800}
.dc-copy strong{color:var(--navy);font-size:1rem;line-height:1.25}
.dc-copy span{color:var(--mut);font-size:.8rem;line-height:1.4}
.dc-go{
  margin-left:auto;flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:rgba(14,124,134,.08);color:var(--teal);transition:transform .3s,background .3s,color .3s;
}
.dest-card:hover .dc-go{transform:translateX(4px);background:var(--teal);color:#fff}
.dc-bar{
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--teal),var(--aqua));transform-origin:left;transform:scaleX(0);
}
.dest-card.is-active{border-color:rgba(14,124,134,.45);background:linear-gradient(135deg,#ffffff,#f2fbfa);box-shadow:0 20px 38px -26px rgba(11,37,69,.35)}
.dest-card.is-active .dc-bar{animation:dcFill var(--dc-ms,4200ms) linear forwards}
.dest-switcher.paused .dc-bar{animation-play-state:paused}
@keyframes dcFill{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.dest-card.is-active .dc-bar{animation:none;transform:scaleX(1)}}
@media(max-width:640px){
  .dest-card{padding:.9rem 1rem;gap:.8rem}
  .dc-go{display:none}
}

/* Scroll-down cue (homepage hero) */
.scroll-cue{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  width:26px;height:42px;border:2px solid rgba(16,29,53,.22);border-radius:999px;
  display:flex;justify-content:center;padding-top:7px;pointer-events:none;
}
.scroll-cue i{width:4px;height:9px;border-radius:999px;background:var(--teal);animation:cueDrop 1.9s ease-in-out infinite}
@keyframes cueDrop{0%{transform:translateY(0);opacity:0}25%{opacity:1}70%{transform:translateY(15px);opacity:0}100%{transform:translateY(0);opacity:0}}
@media(prefers-reduced-motion:reduce){.scroll-cue i{animation:none}}
@media(max-width:1020px){.scroll-cue{display:none}}

/* ── Germany page: two-route comparison cards ─────────────────────────── */
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-6)}
.route-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);
  padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.route-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--aqua)}
.route-head{display:flex;align-items:center;gap:var(--sp-4)}
.route-num{
  flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  font-weight:800;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,#1a3d5f,#0d7d8a);
}
.route-num.alt{background:linear-gradient(135deg,#0b2545,#35c4bd)}
.route-head h3{margin:0;font-size:1.2rem}
.route-sub{color:var(--mut);font-size:.85rem;margin:0}
.route-price{display:flex;align-items:center;gap:.8rem;background:var(--mint);border-radius:var(--r-sm);padding:.8rem 1rem}
.route-price strong{font-size:1.7rem;color:var(--teal);letter-spacing:-.03em;line-height:1}
.route-price span{font-size:.74rem;color:var(--mut);font-weight:600;line-height:1.35}
.route-card.featured{background:linear-gradient(160deg,#0b2545 0%,#123a5e 55%,#0e7d8a 130%);border-color:transparent;color:#dbeef1}
.route-card.featured:hover{border-color:var(--aqua)}
.route-card.featured h3{color:#fff}
.route-card.featured .route-sub{color:#b9d4dc}
.route-card.featured p{color:#dbeef1}
.route-flag-tag{
  position:absolute;top:-13px;right:22px;background:linear-gradient(135deg,var(--gold),#f4c56a);color:var(--navy);
  font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:.34rem .85rem;border-radius:999px;box-shadow:0 10px 20px -12px rgba(217,179,108,.8);
}
.check-list.light li{color:#e7f2f4}
.check-list.light li::before{background:rgba(255,255,255,.16);color:var(--aqua)}
.route-card .btn{margin-top:auto}
@media(max-width:900px){.route-grid{grid-template-columns:1fr}}
@media(max-width:640px){.route-card{padding:var(--sp-5)}}

/* Two-item gallery variant (Germany campus life) */
.gal-grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.gal-grid.two{grid-template-columns:1fr}}
