/* ============================================================
   STUDENT TUITION SUPPORT — "THE ATLAS"
   Dark, cinematic, immersive editorial feature-showcase layout.
   Deep-indigo night canvas, imagery dominant, logo-yellow
   accents, large reversed type. Full-bleed hero, alternating
   cinematic feature bands, a bright-yellow boundary band, large
   destination plates, dark overlay service cards.

   Uses ONLY the brand colours and Plus Jakarta Sans from
   theme.css — no shared component classes are reused. Every
   rule is scoped under .ts-b so nothing collides with theme.
   Static only: no JS, no transitions, no hover state changes.
   ============================================================ */

.ts-b{
  --night:#0a0730;        /* canvas */
  --night-2:#0e0a42;      /* panel */
  --night-3:#141063;      /* lighter indigo panel */
  --indigo:#120F64;
  --yellow:#FFE100;
  --gold:#cea800;
  --ink:#ffffff;
  --dim:rgba(255,255,255,.74);
  --dimmer:rgba(255,255,255,.55);
  --line:rgba(255,255,255,.16);
  --line-2:rgba(255,255,255,.28);
  background:var(--night);
  color:var(--dim);
  font-family:var(--font-body);
  display:block;
  overflow-x:clip;
  font-size:16px;
  line-height:1.68;
}
.ts-b *{box-sizing:border-box}
.ts-b img{display:block;max-width:100%;border-radius:0}
.ts-b h1,.ts-b h2,.ts-b h3,.ts-b h4{font-family:var(--font-display);color:var(--ink);font-weight:800;letter-spacing:-.04em;line-height:1.02}
.ts-b p{margin:0}
.ts-b a{color:inherit;text-decoration:none}

.ts-b .tsb-wrap{max-width:1320px;margin:0 auto;padding:0 clamp(22px,5vw,72px)}
.ts-b .tsb-section{padding-block:clamp(66px,9vw,138px)}
.ts-b .tsb-showcase{padding-bottom:0}
.ts-b .tsb-dest-sec,.ts-b .tsb-faq-sec{padding-top:0}
.ts-b .tsb-kick{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);display:inline-flex;align-items:center;gap:12px}
.ts-b .tsb-kick::before{content:"";width:28px;height:1px;background:var(--yellow);display:inline-block}
.ts-b .tsb-em{color:var(--yellow);font-style:italic;font-weight:800}
.ts-b .tsb-lead{font-size:clamp(1.12rem,1.6vw,1.42rem);line-height:1.5;color:var(--dim);font-weight:500}
.ts-b .tsb-lead a{color:var(--yellow);font-weight:700}

/* numerals */
.ts-b .tsb-num{font-family:var(--font-display);font-weight:800;line-height:.8;letter-spacing:-.03em;color:var(--yellow)}
.ts-b .tsb-num--ghost{color:transparent;-webkit-text-stroke:1.5px rgba(255,225,0,.55);-webkit-text-fill-color:transparent}

/* buttons — root-scoped so they outrank `.ts-b a{color:inherit}` */
.ts-b .tsb-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ts-b .tsb-btn--gold{background:var(--yellow);color:var(--indigo);border-color:var(--yellow)}
.ts-b .tsb-btn--line{background:transparent;color:#fff;border-color:var(--line-2)}

/* section heads */
.ts-b .tsb-head{max-width:820px}
.ts-b .tsb-head h2{font-size:clamp(2rem,4.2vw,3.4rem);margin-top:16px}
.ts-b .tsb-head .tsb-lead{margin-top:18px}

/* ---------- HERO ---------- */
.ts-b .tsb-hero{position:relative;min-height:clamp(640px,96vh,1000px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--night-2)}
.ts-b .tsb-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.ts-b .tsb-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,5,32,.62) 0%,rgba(8,5,32,.12) 30%,rgba(8,5,32,.34) 62%,rgba(7,4,26,.9) 100%)}
.ts-b .tsb-hero-top{position:absolute;top:0;left:0;right:0;z-index:3}
.ts-b .tsb-hero-top .tsb-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:26px}
.ts-b .tsb-hero-top span{font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.ts-b .tsb-hero-top .rule{flex:1;height:1px;background:rgba(255,255,255,.32)}
.ts-b .tsb-hero-body{position:relative;z-index:3;padding-bottom:clamp(40px,6vw,88px);padding-top:80px}
.ts-b .tsb-hero-body .tsb-kick{margin-bottom:22px}
.ts-b .tsb-hero h1{font-size:clamp(2.5rem,7vw,5rem);letter-spacing:-.05em;max-width:16ch;margin-bottom:24px}
.ts-b .tsb-hero .tsb-lead{max-width:60ch;margin-bottom:30px;color:rgba(255,255,255,.86)}
.ts-b .tsb-hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.ts-b .tsb-hero-meta div span{display:block}
.ts-b .tsb-hero-meta .k{font-family:var(--font-ui);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);margin-bottom:5px}
.ts-b .tsb-hero-meta .v{font-family:var(--font-display);font-weight:700;color:#fff;font-size:.98rem;letter-spacing:-.01em}

/* ---------- THESIS (decorative full-bleed backdrop) ---------- */
.ts-b .tsb-thesis{position:relative;min-height:clamp(460px,64vh,680px);display:flex;align-items:center;overflow:hidden;
  background-color:var(--night-2);
  background-image:url("/media/services/student-tuition-support/students-cloister-backlit.jpg?v=af7895c429");
  background-size:cover;background-position:center 40%;background-repeat:no-repeat}
.ts-b .tsb-thesis::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,4,26,.95) 0%,rgba(7,4,26,.84) 52%,rgba(7,4,26,.62) 100%)}
.ts-b .tsb-thesis .tsb-wrap{position:relative;z-index:2;padding-block:clamp(56px,7vw,96px)}
.ts-b .tsb-thesis h2{font-size:clamp(2rem,4.6vw,3.6rem);max-width:20ch;margin:18px 0 22px}
.ts-b .tsb-thesis p{max-width:58ch}
.ts-b .tsb-thesis p+p{margin-top:16px}
.ts-b .tsb-thesis .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.ts-b .tsb-thesis .tag{font-family:var(--font-ui);font-size:.72rem;font-weight:600;color:#fff;border:1px solid var(--line-2);padding:8px 14px}

/* ---------- FEATURE BANDS ---------- */
.ts-b .tsb-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid var(--line);margin-top:clamp(40px,5vw,64px)}
.ts-b .tsb-band+.tsb-band{margin-top:0}
.ts-b .tsb-band-media{position:relative;min-height:clamp(340px,42vw,560px)}
.ts-b .tsb-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-b .tsb-band-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,68px)}
.ts-b .tsb-band-body .tsb-num{font-size:clamp(3rem,7vw,5.6rem);margin-bottom:16px}
.ts-b .tsb-band-body h3{font-size:clamp(1.55rem,2.8vw,2.35rem);margin-bottom:16px}
.ts-b .tsb-band-body p{font-size:1.04rem;max-width:46ch}
.ts-b .tsb-band-body .tag{margin-top:22px;font-family:var(--font-ui);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow)}
.ts-b .tsb-band--rev .tsb-band-media{order:2}
.ts-b .tsb-band--rev .tsb-band-body{order:1}

/* two-up cards for the last two focuses */
.ts-b .tsb-duo{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ts-b .tsb-duo-card{position:relative;min-height:clamp(360px,40vw,460px);display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.ts-b .tsb-duo-card:first-child{border-right:1px solid var(--line)}
.ts-b .tsb-duo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-b .tsb-duo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,32,.24) 0%,rgba(8,5,32,.28) 40%,rgba(7,4,26,.9) 100%)}
.ts-b .tsb-duo-body{position:relative;z-index:2;padding:clamp(26px,3vw,42px)}
.ts-b .tsb-duo-body .tsb-num{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:12px}
.ts-b .tsb-duo-body h3{font-size:clamp(1.35rem,2.2vw,1.85rem);margin-bottom:10px}
.ts-b .tsb-duo-body p{color:rgba(255,255,255,.84);max-width:42ch}

/* ---------- BOUNDARY YELLOW BAND ---------- */
.ts-b .tsb-boundary{background:var(--yellow)}
.ts-b .tsb-boundary .tsb-wrap{display:flex;align-items:center;gap:clamp(20px,4vw,60px);flex-wrap:wrap;padding-block:clamp(48px,6vw,84px)}
.ts-b .tsb-boundary .mk{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--indigo);opacity:.7}
.ts-b .tsb-boundary p{font-family:var(--font-display);font-weight:800;color:var(--indigo);letter-spacing:-.035em;line-height:1.04;font-size:clamp(1.7rem,4.4vw,3.3rem);flex:1;min-width:280px}

/* ---------- APPROACH (decorative full-bleed backdrop) ---------- */
.ts-b .tsb-approach{position:relative;overflow:hidden;
  background-color:var(--night-2);
  background-image:url("/media/services/student-tuition-support/autumn-canopy-gold-blue-sky.jpg?v=e34cb01d59");
  background-size:cover;background-position:center;background-repeat:no-repeat}
.ts-b .tsb-approach::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,32,.93),rgba(8,5,32,.965))}
.ts-b .tsb-approach .tsb-wrap{position:relative;z-index:2}
.ts-b .tsb-steps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(44px,5vw,68px);border-top:1px solid var(--line-2)}
.ts-b .tsb-step{padding:28px clamp(14px,1.5vw,24px) 6px 0;border-right:1px solid var(--line)}
.ts-b .tsb-step:last-child{border-right:0}
.ts-b .tsb-step .n{font-family:var(--font-display);font-weight:800;font-size:1.6rem;color:var(--yellow);letter-spacing:-.02em;margin-bottom:14px;line-height:1}
.ts-b .tsb-step h3{font-size:1.16rem;margin-bottom:10px}
.ts-b .tsb-step p{font-size:.92rem;line-height:1.55;color:var(--dimmer)}

/* ---------- RELATED SERVICES ---------- */
.ts-b .tsb-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,24px);margin-top:clamp(40px,5vw,60px)}
.ts-b .tsb-rel{position:relative;min-height:clamp(420px,46vw,540px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;border:1px solid var(--line)}
.ts-b .tsb-rel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-b .tsb-rel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,32,.1) 0%,rgba(8,5,32,.28) 44%,rgba(7,4,26,.92) 100%)}
.ts-b .tsb-rel-body{position:relative;z-index:2;padding:clamp(26px,2.8vw,36px)}
.ts-b .tsb-rel .lbl{font-family:var(--font-ui);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow)}
.ts-b .tsb-rel h3{font-size:clamp(1.4rem,2vw,1.85rem);margin:12px 0 10px}
.ts-b .tsb-rel p{color:rgba(255,255,255,.86);font-size:.98rem;max-width:34ch}
.ts-b .tsb-rel .cue{margin-top:18px;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);display:inline-flex;gap:8px;align-items:center;border-top:1px solid var(--line-2);padding-top:14px}

/* ---------- DESTINATIONS ---------- */
.ts-b .tsb-dest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px);margin-top:clamp(40px,5vw,58px)}
.ts-b .tsb-dest{position:relative;min-height:clamp(240px,26vw,340px);display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.ts-b .tsb-dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-b .tsb-dest::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,32,0) 30%,rgba(7,4,26,.9) 100%)}
.ts-b .tsb-dest-body{position:relative;z-index:2;padding:clamp(20px,2vw,30px);width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ts-b .tsb-dest .cty{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,2.4vw,2.1rem);letter-spacing:-.03em;color:#fff;line-height:1}
.ts-b .tsb-dest .idx{font-family:var(--font-ui);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);white-space:nowrap}
.ts-b .tsb-dest--wide{grid-column:span 2;min-height:clamp(300px,32vw,420px)}
.ts-b .tsb-dest-note{margin-top:22px;font-family:var(--font-ui);font-size:.84rem;color:var(--dimmer)}
.ts-b .tsb-dest-note a{color:var(--yellow);font-weight:700}

/* ---------- FAQ ---------- */
.ts-b .tsb-faq-list{margin-top:clamp(36px,4vw,52px);border-top:1px solid var(--line-2)}
.ts-b .tsb-faq-item{display:grid;grid-template-columns:auto minmax(0,26ch) 1fr;gap:clamp(16px,3vw,48px);padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ts-b .tsb-faq-item .qn{font-family:var(--font-display);font-weight:800;color:var(--yellow);font-size:1.1rem}
.ts-b .tsb-faq-item h3{font-size:1.24rem;line-height:1.15}
.ts-b .tsb-faq-item p{color:var(--dim)}
.ts-b .tsb-uk{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--night-3);border:1px solid var(--line);padding:26px 30px}
.ts-b .tsb-uk .lbl{font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);display:block;margin-bottom:6px}
.ts-b .tsb-uk p{color:#fff;max-width:56ch}
.ts-b .tsb-uk a{white-space:nowrap;font-family:var(--font-ui);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);background:var(--yellow);padding:14px 22px}

/* ---------- CLOSING (decorative full-bleed backdrop) ---------- */
.ts-b .tsb-close{position:relative;overflow:hidden;text-align:center;
  background-color:var(--night-2);
  background-image:url("/media/services/student-tuition-support/campus-sunflare-crowd.jpg?v=580165afbb");
  background-size:cover;background-position:center 40%;background-repeat:no-repeat}
.ts-b .tsb-close::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 30%,rgba(7,4,26,.70) 0%,rgba(7,4,26,.94) 78%)}
.ts-b .tsb-close .tsb-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.ts-b .tsb-close h2{font-size:clamp(2.2rem,5vw,3.8rem);max-width:18ch;margin:18px 0 22px}
.ts-b .tsb-close .tsb-lead{max-width:62ch;margin-bottom:32px;color:rgba(255,255,255,.86)}
.ts-b .tsb-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,4vw,54px);margin-top:40px;border-top:1px solid var(--line);padding-top:28px}
.ts-b .tsb-facts .k{font-family:var(--font-ui);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);display:block;margin-bottom:6px}
.ts-b .tsb-facts .v{font-family:var(--font-display);font-weight:700;color:#fff;font-size:1rem}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .ts-b .tsb-band{grid-template-columns:1fr}
  .ts-b .tsb-band-media{min-height:clamp(280px,60vw,400px)}
  .ts-b .tsb-band--rev .tsb-band-media{order:0}
  .ts-b .tsb-band--rev .tsb-band-body{order:0}
  .ts-b .tsb-duo{grid-template-columns:1fr}
  .ts-b .tsb-duo-card:first-child{border-right:0;border-bottom:1px solid var(--line)}
  .ts-b .tsb-steps{grid-template-columns:repeat(2,1fr)}
  .ts-b .tsb-step{border-right:0;border-bottom:1px solid var(--line);padding-bottom:20px;padding-right:0}
  .ts-b .tsb-rel-grid{grid-template-columns:1fr;max-width:520px}
  .ts-b .tsb-faq-item{grid-template-columns:1fr}
  .ts-b .tsb-faq-item .qn{display:none}
}
@media(max-width:620px){
  .ts-b .tsb-steps{grid-template-columns:1fr}
  .ts-b .tsb-dest-grid{grid-template-columns:1fr}
  .ts-b .tsb-dest--wide{grid-column:span 1}
  .ts-b .tsb-dest-body{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ---------- MORE (testimonials + events) ---------- */
.tsb-more{background:var(--night-2);border-top:1px solid var(--line)}
.tsb-more h2{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.04;margin:14px 0 clamp(24px,3vw,38px);color:var(--ink)}
.tsb-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,22px)}
.tsb-more-card{display:flex;flex-direction:column;gap:9px;padding:clamp(22px,2.4vw,34px);background:var(--night-3);border:1px solid var(--line)}
.tsb-more-card h3{font-size:1.25rem;line-height:1.12;margin:0;color:var(--ink)}
.tsb-more-card p{font-size:.99rem;line-height:1.6;color:var(--dim);max-width:44ch;margin:0}
.tsb-more-card .go{font-family:var(--font-ui);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-top:4px}
@media (max-width:720px){.tsb-more-grid{grid-template-columns:1fr}}
