/* ==========================================================================
   Homepage hero — "Atlas" treatment
   Scoped entirely to .at-* classes and loaded after style.css, so nothing
   else on the site is affected. Delete this file and the hero markup to
   revert to the previous hero.
   ========================================================================== */

:root{
  --at-ink:#0A1024;
  --at-ink-2:#151E3D;
  --at-deep:#111A38;
  --at-blue:#1D5BD6;
  --at-blue-d:#1A4FBD;
  --at-blue-2:#4886F0;
  --at-blue-soft:#EAF1FE;
  --at-red:#DD2E44;
  --at-gold:#E0A32E;
  --at-gold-2:#F2BC57;
  --at-display:'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;
  --at-ease:cubic-bezier(.22,.8,.28,1);
}

.at-hero{
  position:relative;overflow:hidden;color:#BBC8E4;
  background:radial-gradient(46rem 26rem at 82% -8%,rgba(29,91,214,.42),transparent 62%),
             radial-gradient(30rem 22rem at 6% 104%,rgba(221,46,68,.2),transparent 62%),
             linear-gradient(165deg,var(--at-ink) 0%,var(--at-deep) 100%);
  padding-top:clamp(2.6rem,2rem + 3.6vw,4.6rem);
}
.at-hero__in{
  position:relative;z-index:3;display:grid;align-items:center;
  gap:clamp(2.2rem,1.8rem + 3vw,3.8rem);
  padding-bottom:clamp(2.4rem,2rem + 3vw,3.8rem);
}
@media(min-width:1000px){.at-hero__in{grid-template-columns:1.05fr .95fr}}

.at-hero h1{
  font-family:var(--at-display);font-weight:700;color:#fff;
  font-size:clamp(2.3rem,1.5rem + 3.9vw,4.2rem);
  line-height:1.06;letter-spacing:-.035em;margin:1.2rem 0 0;
}
.at-hero h1 em{font-style:normal;color:var(--at-gold)}
.at-hero__p{font-size:clamp(1rem,.96rem + .34vw,1.12rem);color:#9AAAC9;max-width:50ch;margin-top:1.2rem}

.at-eye{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#BBD2F8;
  background:rgba(255,255,255,.1);padding:.42rem .9rem;border-radius:100px;
}

.at-hero__act{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.at-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--at-display);font-weight:700;font-size:.94rem;
  padding:.95rem 1.75rem;border-radius:10px;border:2px solid transparent;
  transition:transform .3s var(--at-ease),background .25s,box-shadow .3s,color .25s,border-color .25s;
}
.at-btn .icon{width:16px;height:16px;flex:none;transition:transform .3s var(--at-ease)}
.at-btn:hover .icon{transform:translateX(4px)}
.at-btn--gold{background:var(--at-gold);color:var(--at-ink);box-shadow:0 10px 26px rgba(224,163,46,.34)}
.at-btn--gold:hover{background:var(--at-gold-2);transform:translateY(-3px);color:var(--at-ink)}
.at-btn--out-l{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.at-btn--out-l:hover{background:#fff;color:var(--at-ink);transform:translateY(-3px)}
.at-btn--blue{background:var(--at-blue);color:#fff;box-shadow:0 10px 26px rgba(29,91,214,.3)}
.at-btn--blue:hover{background:var(--at-blue-d);transform:translateY(-3px);color:#fff}

.at-proof{display:flex;align-items:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.at-faces{display:flex}
.at-faces span{
  width:42px;height:42px;border-radius:50%;margin-right:-12px;border:3px solid var(--at-deep);
  display:grid;place-items:center;font-family:var(--at-display);font-weight:700;color:#fff;font-size:.9rem;
}
.at-proof b{display:block;color:#fff;font-family:var(--at-display);font-size:1rem}
.at-proof .st{color:var(--at-gold)}

/* landmark stage */
.at-stage{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.at-scard{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:16px;
  padding:1.1rem;position:relative;overflow:hidden;
  transition:transform .35s var(--at-ease),background .3s,border-color .3s;
}
.at-scard:hover{transform:translateY(-6px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.at-scard .lm{width:100%;height:auto;color:var(--at-blue-2);opacity:.9}
.at-scard__f{
  position:absolute;top:.9rem;right:.9rem;width:28px;height:21px;object-fit:cover;
  border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.28);
}
.at-scard b{display:block;font-family:var(--at-display);color:#fff;font-size:.95rem;margin-top:.5rem}
.at-scard span{font-size:.75rem;color:#8FA1C2}
.at-stage__accred{
  grid-column:1/-1;background:#fff;border-radius:12px;padding:.75rem 1rem;
  display:grid;place-items:center;box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.at-stage__accred img{height:38px;width:auto}

/* country ticker */
.at-band{
  position:relative;z-index:3;background:rgba(255,255,255,.05);
  border-top:1px solid rgba(255,255,255,.14);overflow:hidden;padding-block:.85rem;
}
/* travels left-to-right, slowly and continuously */
.at-band__t{display:flex;width:max-content;animation:atrun 150s linear infinite}
.at-band:hover .at-band__t{animation-play-state:paused}
@keyframes atrun{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.at-band__i{display:flex;align-items:center;gap:.55rem;padding-inline:1.4rem;font-size:.86rem;color:#9AAAC9;white-space:nowrap}
.at-band__i img{width:24px;height:18px;object-fit:cover;border-radius:2px}
.at-band__i b{color:#fff;font-weight:600}
.at-band__i i{font-style:normal;color:var(--at-red)}

/* assessment form section directly under the hero */
.at-lead{display:grid;gap:clamp(2rem,1.6rem + 2.6vw,3.4rem);align-items:center}
@media(min-width:980px){.at-lead{grid-template-columns:1fr 1fr}}
.at-lead h2{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:clamp(1.8rem,1.4rem + 2.2vw,2.8rem);line-height:1.08;letter-spacing:-.035em;
}
.at-lead h2 em{font-style:normal;color:var(--at-red)}
.at-eye--red{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--at-red);
  background:#FDEBEE;padding:.42rem .9rem;border-radius:100px;
}
.at-checks{display:grid;gap:.75rem;margin-top:1.5rem;list-style:none;padding:0}
.at-checks li{display:flex;gap:.7rem;align-items:flex-start;font-size:.96rem;margin:0}
.at-checks .icon{
  width:21px;height:21px;flex:none;margin-top:.22rem;padding:3px;border-radius:50%;
  background:var(--at-blue-soft);color:var(--at-blue);
}
.at-formcard{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:clamp(1.4rem,1.1rem + 1.2vw,2rem);box-shadow:0 24px 60px rgba(10,16,36,.1);
}
.at-formcard__h{text-align:center;margin-bottom:1.2rem}
.at-formcard__h h3{font-family:var(--at-display);font-size:1.35rem;margin-bottom:.3rem;letter-spacing:-.03em}
.at-formcard__h p{font-size:.87rem;color:var(--muted)}
.at-formcard .field input,.at-formcard .field select,.at-formcard .field textarea{border-radius:10px}
.at-formcard .field input:focus,.at-formcard .field select:focus,.at-formcard .field textarea:focus{
  border-color:var(--at-blue);box-shadow:0 0 0 4px rgba(29,91,214,.13);
}
.at-formcard .btn{
  background:var(--at-blue);border-radius:10px;font-family:var(--at-display);
  box-shadow:0 10px 26px rgba(29,91,214,.3);
}
.at-formcard .btn:hover{background:var(--at-blue-d)}

/* --- Section heading (centred, Atlas) ---------------------------------- */
.at-title{text-align:center;max-width:44ch;margin:0 auto clamp(2.2rem,1.8rem + 2vw,3.2rem)}
.at-title h2{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:clamp(1.95rem,1.4rem + 2.8vw,3.2rem);line-height:1.08;
  letter-spacing:-.035em;margin-top:.9rem;
}
.at-title h2 em{font-style:normal;color:var(--at-red)}
/* on the dark band red would be too low-contrast, so gold takes over there */
.at-title h2 em.g,.section--dark h2 em{color:var(--at-gold)}
.at-title p{margin-top:.9rem;color:var(--muted)}
.at-title--left{text-align:left}
/* forced line break in a heading — desktop only, mobile wraps naturally */
.at-br{display:none}
@media(min-width:600px){.at-br{display:inline}}
/* wider heading box so a forced two-line break isn't re-wrapped into three */
.at-title--wide{max-width:44rem}
.at-title--wide p{max-width:46ch;margin-inline:auto}

/* process steps: four per row, short final row centres */
.at-steps-4{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}
.at-steps-4>*{flex:1 1 250px;max-width:100%}
@media(min-width:700px){.at-steps-4>*{max-width:calc(50% - .6rem)}}
@media(min-width:1040px){.at-steps-4>*{max-width:calc(25% - .9rem)}}
.at-eye .icon{width:15px;height:15px}
.at-eye--blue{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--at-blue);
  background:var(--at-blue-soft);padding:.42rem .9rem;border-radius:100px;
}

/* --- Service cards (Atlas) --------------------------------------------- */
.at-grid{display:grid;gap:1.2rem}
.at-grid--3{grid-template-columns:repeat(auto-fit,minmax(275px,1fr))}
.at-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.7rem;
  display:flex;flex-direction:column;
  transition:transform .33s var(--at-ease),box-shadow .33s var(--at-ease);
}
.at-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(10,16,36,.11)}
.at-card__ico{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
  margin-bottom:1.1rem;background:var(--at-blue-soft);color:var(--at-blue);
}
.at-card:nth-child(even) .at-card__ico{background:#FDEBEE;color:var(--at-red)}
.at-card__ico .icon{width:25px;height:25px}
.at-card h3{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:1.14rem;letter-spacing:-.03em;margin-bottom:.45rem;
}
.at-card p{font-size:.9rem;color:var(--txt,#5A6480)}
.at-more{
  margin-top:auto;padding-top:1.1rem;display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--at-display);font-weight:700;font-size:.86rem;color:var(--at-blue);
}
.at-more .icon{width:15px;height:15px;transition:transform .3s var(--at-ease)}
.at-card:hover .at-more .icon{transform:translateX(4px)}

/* --- Destination cards (Atlas, landmark + flag medallion) --------------- */
/* Flex rather than grid so a short final row centres instead of hanging
   left. Four per row on desktop. */
.at-dests{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.at-dests>*{flex:1 1 250px;max-width:100%}
@media(min-width:700px){.at-dests>*{max-width:calc(50% - .7rem)}}
@media(min-width:1040px){.at-dests>*{max-width:calc(25% - 1.05rem)}}

.at-dest{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .36s var(--at-ease),box-shadow .36s var(--at-ease),border-color .3s;
}
.at-dest:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(10,16,36,.15);border-color:var(--at-blue-2)}
.at-dest__head{position:relative}
.at-dest__top{
  position:relative;aspect-ratio:16/8.4;display:grid;place-items:end center;
  padding-bottom:.5rem;overflow:hidden;
  background:linear-gradient(165deg,var(--at-blue) 0%,var(--at-ink-2) 100%);
}
.at-dest__top::before{
  content:"";position:absolute;inset:0;opacity:.45;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:24px 24px;
}
.at-dest__top .lm{position:relative;width:74%;height:auto;color:rgba(255,255,255,.94)}
.at-dest__f{
  position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);
  width:50px;height:50px;border-radius:50%;object-fit:cover;border:4px solid #fff;
  box-shadow:0 8px 20px rgba(10,16,36,.26);z-index:3;
}
.at-dest__b{padding:2.2rem 1.3rem 1.4rem;text-align:center;display:flex;flex-direction:column;flex:1}
.at-dest h3{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:1.14rem;letter-spacing:-.03em;margin-bottom:.45rem;
}
.at-dest p{font-size:.88rem;color:var(--txt,#5A6480);margin-bottom:1rem}

/* fact pills, same idea as the live site's ncard__facts */
.at-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1.1rem}
.at-facts span{
  font-size:.74rem;font-weight:600;color:var(--at-blue);
  background:var(--at-blue-soft);border:1px solid #D6E4FC;
  padding:.26rem .6rem;border-radius:100px;
}
.at-dest .at-more{justify-content:center;padding-top:0}

/* Navigational tiles that finish the row. Kept light so they read as part of
   the same family as the destination cards rather than fighting them. */
.at-dest--nav{
  background:linear-gradient(172deg,#F1F6FF 0%,#FFFFFF 62%);
  border-color:#D9E5FA;
}
.at-dest--nav:hover{border-color:var(--at-blue-2)}
.at-dest--nav .at-dest__b{justify-content:center;padding:2.1rem 1.4rem}
.at-dest--nav h3{color:var(--at-ink);font-size:1.18rem}
.at-dest--nav p{color:var(--txt,#5A6480)}
.at-dest--nav .at-nav-ico{
  width:58px;height:58px;border-radius:17px;margin:0 auto 1.1rem;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--at-blue),var(--at-ink-2));color:#fff;
  box-shadow:0 10px 22px rgba(29,91,214,.26);
}
.at-dest--nav .at-nav-ico .icon{width:25px;height:25px}
.at-dest--nav .at-more{color:var(--at-blue)}

/* Europe strip below the grid */
.at-europe{
  margin-top:2.4rem;background:var(--paper-2,#F6F8FC);border:1px solid var(--line);
  border-radius:18px;padding:clamp(1.4rem,1.2rem + 1vw,2rem);text-align:center;
}
.at-europe h3{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:1.2rem;letter-spacing:-.03em;margin-bottom:.4rem;
}
.at-europe p{font-size:.93rem;margin-bottom:1.1rem;color:var(--muted)}
.at-europe .at-pills{justify-content:center}
.at-pills{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.at-pills li{margin:0}
.at-pills a{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.87rem;font-weight:600;
  color:var(--at-ink);background:#fff;border:1px solid var(--line);
  padding:.5rem .95rem;border-radius:100px;transition:all .2s;
}
.at-pills a:hover{border-color:var(--at-blue-2);background:var(--at-blue-soft);color:var(--at-blue)}
.at-pills img{width:22px;height:16px;object-fit:cover;border-radius:2px}

/* --- IELTS course cards (Atlas) ---------------------------------------- */
.at-courses{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.at-courses>*{flex:1 1 260px;max-width:100%}
@media(min-width:700px){.at-courses>*{max-width:calc(50% - .7rem)}}
@media(min-width:1040px){.at-courses>*{max-width:calc(25% - 1.05rem)}}

.at-course{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .33s var(--at-ease),box-shadow .33s var(--at-ease),border-color .3s;
}
.at-course:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(10,16,36,.12);border-color:var(--at-blue-2)}
.at-course__top{
  position:relative;padding:1.5rem 1.4rem 1.3rem;
  background:linear-gradient(170deg,#F1F6FF,#FFFFFF 72%);border-bottom:1px solid var(--line);
}
.at-course__badge{
  position:absolute;top:1.2rem;right:1.2rem;
  font-family:var(--at-display);font-size:.63rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;
  background:var(--at-gold);color:var(--at-ink);padding:.28rem .62rem;border-radius:100px;
}
.at-course__ico{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem;
  background:linear-gradient(145deg,var(--at-blue),var(--at-ink-2));color:#fff;
  box-shadow:0 8px 18px rgba(29,91,214,.24);
}
.at-course__ico .icon{width:22px;height:22px}
.at-course h3{
  font-family:var(--at-display);font-weight:700;color:var(--at-ink);
  font-size:1.1rem;letter-spacing:-.03em;margin-bottom:.3rem;
}
.at-course__tag{font-size:.86rem;color:var(--muted);line-height:1.5}
.at-course__b{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}

/* facts as pills — no cramped two-column grid, no duplicated labels */
.at-facts--left{justify-content:flex-start;margin-bottom:1.2rem}

.at-course ul{list-style:none;padding:0;margin:0 0 1.3rem;display:grid;gap:.55rem}
.at-course ul li{display:flex;gap:.55rem;font-size:.87rem;margin:0;line-height:1.5;color:var(--txt,#5A6480)}
.at-course ul .icon{width:16px;height:16px;color:#12A150;margin-top:.18rem;flex:none}
.at-course .at-btn-course{
  margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--at-display);font-weight:700;font-size:.88rem;
  padding:.8rem 1.2rem;border-radius:10px;border:2px solid var(--line);color:var(--at-ink);
  transition:border-color .25s,background .25s,color .25s,transform .25s var(--at-ease);
}
.at-course .at-btn-course .icon{width:15px;height:15px;transition:transform .3s var(--at-ease)}
.at-course:hover .at-btn-course{border-color:var(--at-blue);background:var(--at-blue);color:#fff}
.at-course:hover .at-btn-course .icon{transform:translateX(4px)}

/* closing CTA card — light, matching the destination nav tiles */
.at-course--cta{
  background:linear-gradient(172deg,#F1F6FF 0%,#FFFFFF 62%);border-color:#D9E5FA;
}
.at-course--cta:hover{border-color:var(--at-blue-2)}
.at-course--cta .at-course__b{justify-content:center;text-align:center;padding:2.1rem 1.4rem}
.at-course--cta .at-course__ico{margin:0 auto 1.1rem;width:56px;height:56px;border-radius:16px}
.at-course--cta .at-course__ico .icon{width:25px;height:25px}
.at-course--cta h3{font-size:1.16rem;margin-bottom:.5rem}
.at-course--cta p{font-size:.9rem;color:var(--txt,#5A6480);margin-bottom:1.4rem}
.at-course--cta .at-btn-cta{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--at-display);font-weight:700;font-size:.9rem;
  padding:.85rem 1.3rem;border-radius:10px;
  background:var(--at-gold);color:var(--at-ink);
  box-shadow:0 10px 24px rgba(224,163,46,.32);
  transition:background .25s,transform .25s var(--at-ease);
}
.at-course--cta .at-btn-cta:hover{background:var(--at-gold-2);transform:translateY(-2px)}
.at-course--cta .at-btn-cta .icon{width:15px;height:15px;transition:transform .3s var(--at-ease)}
.at-course--cta .at-btn-cta:hover .icon{transform:translateX(4px)}

/* --- Rolling student-voice wall ---------------------------------------- */
.at-wallsect{background:var(--at-ink)}
.at-wallsect .at-title h2{color:#fff}
.at-wallsect .at-title p{color:#9AAAC9}
.at-eye--light{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#BBD2F8;
  background:rgba(255,255,255,.1);padding:.42rem .9rem;border-radius:100px;
}
.at-eye--light .icon{width:15px;height:15px}

.at-wall{position:relative;overflow:hidden}
.at-wall::before,.at-wall::after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:3;pointer-events:none}
.at-wall::before{left:0;background:linear-gradient(90deg,var(--at-ink),transparent)}
.at-wall::after{right:0;background:linear-gradient(270deg,var(--at-ink),transparent)}
.at-vrow{display:flex;width:max-content;gap:1rem;margin-bottom:1rem}
.at-vrow--l{animation:atleft 90s linear infinite}
.at-vrow--r{animation:atright 100s linear infinite;margin-bottom:0}
.at-wall:hover .at-vrow{animation-play-state:paused}
@keyframes atleft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes atright{from{transform:translateX(-50%)}to{transform:translateX(0)}}

.at-vc{
  width:min(78vw,356px);flex:none;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:1.3rem 1.4rem;
  transition:background .3s,border-color .3s;
}
.at-vc:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.at-vc .st{color:var(--at-gold);font-size:.85rem;letter-spacing:1px}
.at-vc p{
  font-size:.89rem;color:#BBC8E4;margin-top:.55rem;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.at-vc footer{display:flex;align-items:center;gap:.75rem;margin-top:1.05rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}
.at-vc__av{
  width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:var(--at-display);font-weight:700;color:#fff;font-size:.88rem;
}
.at-vc__w b{display:block;color:#fff;font-family:var(--at-display);font-size:.9rem;line-height:1.2}
.at-vc__w span{font-size:.74rem;color:var(--at-blue-2)}

.at-btn--out{border-color:var(--line);color:var(--at-ink);background:#fff}
.at-btn--out:hover{border-color:var(--at-ink);transform:translateY(-3px);color:var(--at-ink)}

/* --- Trust band (accreditation) ---------------------------------------- */
.at-trust{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,var(--paper-2,#F6F8FC));
  padding:clamp(2rem,1.6rem + 1.8vw,3rem) 0;
}
.at-trust__lab{
  text-align:center;font-family:var(--at-display);font-size:.74rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;
}
.at-trust__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.4rem}
.at-trust__logo{
  display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:.85rem 1.3rem;box-shadow:0 8px 22px rgba(10,16,36,.07);
}
.at-trust__logo img{height:48px;width:auto;display:block}
.at-trust__pt{
  display:inline-flex;align-items:center;gap:.6rem;background:#fff;
  border:1px solid var(--line);border-radius:100px;padding:.72rem 1.25rem;
  font-family:var(--at-display);font-weight:600;font-size:.9rem;color:var(--at-ink);
  transition:border-color .25s,transform .25s var(--at-ease),box-shadow .25s;
}
.at-trust__pt:hover{border-color:var(--at-blue-2);transform:translateY(-3px);box-shadow:0 10px 24px rgba(29,91,214,.13)}
.at-trust__pt .icon{width:18px;height:18px;color:var(--at-blue);flex:none}

/* --- FAQ (Atlas) -------------------------------------------------------- */
.at-faq{max-width:860px;margin-inline:auto;display:grid;gap:.7rem}
.at-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.at-faq details[open]{border-color:var(--at-blue-2);box-shadow:0 10px 28px rgba(10,16,36,.08)}
.at-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.05rem 1.3rem;cursor:pointer;list-style:none;
  font-family:var(--at-display);font-weight:600;font-size:1rem;color:var(--at-ink);
}
.at-faq summary::-webkit-details-marker{display:none}
.at-faq summary:hover{color:var(--at-blue)}
.at-faq .at-chev{width:20px;height:20px;color:var(--at-blue);flex:none;transition:transform .25s}
.at-faq details[open] .at-chev{transform:rotate(180deg)}
.at-faq__b{padding:0 1.3rem 1.2rem;font-size:.94rem;color:var(--txt,#5A6480)}

/* --- Closing CTA (full-bleed section) ----------------------------------- */
.at-ctafull{
  position:relative;overflow:hidden;text-align:center;color:#BBC8E4;
  background:radial-gradient(42rem 24rem at 78% -12%,rgba(29,91,214,.4),transparent 62%),
             linear-gradient(155deg,var(--at-ink),var(--at-blue));
  padding:clamp(3rem,2.4rem + 4vw,5.4rem) 0 clamp(3.2rem,2.6rem + 4vw,5.6rem);
}
.at-ctafull__sky{position:absolute;left:0;right:0;bottom:0;height:150px;color:rgba(255,255,255,.1);pointer-events:none}
.at-ctafull__sky svg{width:100%;height:100%}
.at-ctafull .wrap{position:relative}
.at-ctafull h2{
  color:#fff;font-family:var(--at-display);font-weight:800;letter-spacing:-.035em;line-height:1.08;
  font-size:clamp(1.95rem,1.4rem + 2.9vw,3.3rem);max-width:20ch;margin-inline:auto;
}
.at-ctafull h2 .g,.at-ctafull h2 em{font-style:normal;color:var(--at-gold-2)}
.at-ctafull>.wrap>p{margin:1.1rem auto 0;max-width:50ch;font-size:1.03rem}
.at-ctafull__row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2rem}
.at-ctafull__meta{
  margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.2);
  display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:center;font-size:.86rem;
}
.at-ctafull__meta span,.at-ctafull__meta a{display:inline-flex;align-items:center;gap:.45rem}
.at-ctafull__meta a{color:#fff;font-weight:600}
.at-ctafull__meta .icon{width:15px;height:15px;color:var(--at-gold-2);flex:none}

/* --- Blog cards (Atlas, landmark artwork) ------------------------------ */
.at-posts{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem}
.at-posts>*{flex:1 1 285px;max-width:100%}
@media(min-width:760px){.at-posts>*{max-width:calc(50% - .65rem)}}
@media(min-width:1040px){.at-posts>*{max-width:calc(33.333% - .87rem)}}

.at-post{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .33s var(--at-ease),box-shadow .33s var(--at-ease),border-color .3s;
}
.at-post:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(10,16,36,.12);border-color:var(--at-blue-2)}
.at-post__vis{
  position:relative;aspect-ratio:16/8.6;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(160deg,var(--at-blue),var(--at-ink-2));
}
.at-post__vis::before{
  content:"";position:absolute;inset:0;opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:22px 22px;
}
.at-post__vis .lm{position:relative;width:56%;height:auto;color:rgba(255,255,255,.9)}
.at-post__b{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.at-chip{
  display:inline-flex;align-self:flex-start;font-family:var(--at-display);
  font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:100px;margin-bottom:.8rem;
  background:var(--at-blue-soft);color:var(--at-blue);
}
.at-chip--green{background:#DFF5EC;color:#0F8A5F}
.at-chip--amber{background:#FFF3DC;color:#B47500}
.at-post h3{
  font-family:var(--at-display);font-weight:700;font-size:1.06rem;line-height:1.34;
  letter-spacing:-.03em;margin-bottom:.55rem;
}
.at-post h3 a{color:var(--at-ink)}
.at-post:hover h3 a{color:var(--at-blue)}
.at-post p{font-size:.88rem;color:var(--txt,#5A6480);margin-bottom:1.1rem}
.at-post__meta{display:flex;gap:1rem;font-size:.77rem;color:var(--muted);margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line)}
.at-post__meta span{display:flex;align-items:center;gap:.35rem}
.at-post__meta .icon{width:14px;height:14px}

@media(prefers-reduced-motion:reduce){
  /* The strip is a slow, small-amplitude linear drift rather than a jarring
     effect, so it keeps moving for people who have system animations off —
     just noticeably gentler. Everything else still stops. */
  /* style.css applies a global `* { animation-duration:.01ms !important }`
     reset, so these must be !important to survive it. */
  .at-band__t{animation-duration:300s !important;animation-iteration-count:infinite !important}
  .at-vrow--l,.at-vrow--r{animation-duration:200s !important;animation-iteration-count:infinite !important}
  .at-hero *,.at-lead *{transition-duration:.01ms !important}
}

/* ==========================================================================
   SITE-WIDE BRIDGE
   The homepage was rebuilt on the Atlas system above. Every other page still
   uses the original class names from style.css, so rather than rewriting 22
   templates these rules re-skin the original components in the Atlas visual
   language: same markup, same behaviour, matching type, radii and accents.
   ========================================================================== */

/* --- Typography --------------------------------------------------------- */
h1,h2,.phero h1,.sec-head h2,.ccard h3,.ncard h3,.bcard h3,.step h3{
  font-family:var(--at-display);letter-spacing:-.035em;
}
h1,h2{font-weight:700;line-height:1.1}
h3,h4{font-family:var(--at-display);letter-spacing:-.028em}

.sec-head h2{font-size:clamp(1.95rem,1.4rem + 2.8vw,3.2rem);line-height:1.08;margin-bottom:.9rem}
.sec-head--center{max-width:44rem}
.sec-head p,.sec-sub{color:var(--muted)}

/* Two-tone headings: red accent on light, gold on dark. */
.sec-head h2 em,.phero h1 em,.split h2 em,.wrap--narrow h2 em{font-style:normal;color:var(--at-red)}
.section--dark h2 em,.phero h1 em,.cta-band h2 em,.at-ctafull h2 em{color:var(--at-gold)}
.section--dark .sec-head p,.section--dark .sec-sub{color:#9AAAC9}

/* --- Eyebrow pill ------------------------------------------------------- */
.eyebrow{
  font-family:var(--at-display);font-size:.72rem;letter-spacing:.18em;
  color:var(--at-blue);background:var(--at-blue-soft);border-color:transparent;
  padding:.42rem .9rem;
}
.eyebrow .icon{width:15px;height:15px}
.eyebrow--gold{color:#B47500;background:#FFF3DC;border-color:transparent}
.eyebrow--light{color:#CBDCF7;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}

/* --- Buttons ------------------------------------------------------------ */
.btn{border-radius:10px;font-family:var(--at-display);letter-spacing:-.01em;border-width:2px}
.btn--lg{padding:.95rem 1.75rem}
.btn--gold{--btn-bg:var(--at-gold);--btn-fg:var(--at-ink);box-shadow:0 10px 26px rgba(224,163,46,.34)}
.btn--gold:hover{--btn-bg:var(--at-gold-2);transform:translateY(-3px)}
.btn--primary{--btn-bg:var(--at-blue);box-shadow:0 10px 26px rgba(29,91,214,.3)}
.btn--primary:hover{background:var(--at-blue-d)}
.btn--outline{--btn-bd:var(--line);--btn-fg:var(--at-ink);--btn-bg:#fff}
.btn--outline:hover{--btn-bd:var(--at-ink);--btn-bg:#fff}
.btn--ghost-light{--btn-bg:transparent;--btn-bd:rgba(255,255,255,.4)}
.btn--ghost-light:hover{--btn-bg:#fff;--btn-fg:var(--at-ink)}

/* --- Page hero ---------------------------------------------------------- */
.phero{
  background:radial-gradient(46rem 26rem at 82% -8%,rgba(29,91,214,.42),transparent 62%),
             radial-gradient(30rem 22rem at 6% 104%,rgba(221,46,68,.2),transparent 62%),
             linear-gradient(165deg,var(--at-ink) 0%,var(--at-deep) 100%);
  color:#BBC8E4;
}
.phero h1{font-size:clamp(2.05rem,1.4rem + 3vw,3.5rem);line-height:1.06}
.phero p{color:#9FB3D4}

/* --- Cards -------------------------------------------------------------- */
.card,.ccard,.ncard,.bcard,.step,.tcard,.aside-card{border-radius:18px}
.card:hover,.ccard:hover,.ncard:hover,.bcard:hover{
  transform:translateY(-6px);box-shadow:0 22px 48px rgba(10,16,36,.12);border-color:var(--at-blue-2);
}
.card__ico,.ccard__ico{border-radius:14px}
.card__ico{background:var(--at-blue-soft);color:var(--at-blue)}
.card:hover .card__ico{background:var(--at-blue);color:#fff;transform:none}
.fcard__ico{border-radius:13px;background:var(--at-blue-soft);color:var(--at-blue);border-color:transparent}
.section--dark .fcard__ico{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:var(--at-gold-2)}
.ncard__vis{background:linear-gradient(160deg,var(--at-blue),var(--at-ink-2))}
.ccard__top{background:linear-gradient(150deg,var(--at-blue-soft),#fff)}
.ccard__ico{background:linear-gradient(145deg,var(--at-blue),var(--at-ink-2));box-shadow:0 8px 18px rgba(29,91,214,.24)}
.ccard__badge{background:var(--at-gold);color:var(--at-ink)}
.step::before{background:linear-gradient(180deg,var(--at-blue-2),var(--at-ink-2))}
.step__num{background:linear-gradient(140deg,var(--at-blue),var(--at-ink-2));border-radius:11px}
.chip{font-family:var(--at-display);letter-spacing:.09em}

/* --- Links -------------------------------------------------------------- */
.link-more{font-family:var(--at-display);color:var(--at-blue)}

/* --- Team ---------------------------------------------------------------- */
.at-team{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.at-team>*{flex:1 1 220px;max-width:100%}
@media(min-width:640px){.at-team>*{max-width:calc(50% - .7rem)}}
@media(min-width:980px){.at-team>*{max-width:calc(33.333% - .94rem)}}
@media(min-width:1180px){.at-team--5>*{max-width:calc(20% - 1.12rem)}}

.at-person{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;text-align:center;
  transition:transform .36s var(--at-ease),box-shadow .36s var(--at-ease),border-color .3s;
}
.at-person:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(10,16,36,.16);border-color:var(--at-blue-2)}
.at-person__ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--at-blue-soft)}
.at-person__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--at-ease)}
.at-person:hover .at-person__ph img{transform:scale(1.06)}
.at-person__ph::after{
  content:"";position:absolute;inset:auto 0 0 0;height:45%;pointer-events:none;
  background:linear-gradient(to top,rgba(10,16,36,.55),transparent);
}
.at-person__b{padding:1.1rem 1.1rem 1.3rem;display:flex;flex-direction:column;flex:1}
.at-person h3{
  font-family:var(--at-display);font-weight:700;font-size:1.02rem;line-height:1.3;
  letter-spacing:-.03em;color:var(--at-ink);margin-bottom:.35rem;
}
.at-person__role{
  font-family:var(--at-display);font-size:.76rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--at-blue);margin-bottom:.55rem;
}
.at-person__org{font-size:.76rem;color:var(--muted);margin-bottom:.7rem}
.at-person p{font-size:.84rem;color:var(--txt,#5A6480);margin:0}
.at-person__b::before{
  content:"";width:34px;height:3px;border-radius:2px;background:var(--at-red);
  margin:0 auto .8rem;
}

/* partner variant sits on the tinted band */
.at-person--partner .at-person__role{color:var(--at-gold)}
.at-person--partner .at-person__b::before{background:var(--at-gold)}

/* centre photo band */
.at-gallery{display:grid;gap:1.2rem}
@media(min-width:820px){.at-gallery{grid-template-columns:1fr 1fr}}
.at-shot{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.at-shot img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
.at-shot figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.2rem .95rem;
  background:linear-gradient(to top,rgba(10,16,36,.82),transparent);
  color:#fff;font-family:var(--at-display);font-weight:600;font-size:.92rem;
}

/* --- Header nav: never let a top-level item wrap onto two lines ---------- */
.nav__link{white-space:nowrap}
.header__cta .btn{white-space:nowrap}
@media(min-width:1141px) and (max-width:1320px){
  .nav__list{gap:0}
  .nav__link{padding-inline:.6rem;font-size:.92rem}
  .header__cta .btn--sm{padding-inline:.9rem}
}
