/* Guardianship and University Companionship — "First Weeks"
   Bold modular poster / high-contrast editorial gallery.

   Deep-indigo blocks, bright logo-yellow punch, warm-white canvas, oversized
   outline numerals, split-screen hero, portrait diptych, bento destination
   wall and poster cards.

   Self-contained: takes only the brand colour tokens and Plus Jakarta Sans
   from /css/theme.css. Every rule is scoped under the .gc-b root class (set on
   the page's <main>) with gcb- prefixed children, so nothing collides with the
   shared theme component classes used by the header and footer.

   Static only: no JS, no motion, no pointer-state styling (hover, focus and
   active are all left untouched), no sticky or scroll effects, no disclosure
   widgets. Everything is visible on load.

   NOTE ON SPECIFICITY: the resets below (.gc-b p, .gc-b a, .gc-b img) are
   specificity (0,1,1) and will silently beat any single-class rule (0,1,0).
   Rules that set margin on a bare <p> must therefore be written
   `.gc-b .gcb-thing { … }` — see .gc-b .gcb-band-sub and .gc-b .gcb-dest-foot. */

.gc-b{
  --indigo:#120F64;
  --indigo-2:#1b1685;
  --indigo-deep:#0a0834;
  --yellow:#FFE100;
  --yellow-2:#ffef5a;
  --gold:#cea800;
  --paper:#FEFDF6;
  --paper-2:#F5F2E4;
  --ink:#100d30;
  --body:#4a4766;
  --muted:#7a7690;
  --line:#e7e1cc;
  --line-2:#d7cfb2;
  --on-dark:rgba(255,255,255,.76);
  --on-dark-line:rgba(255,255,255,.16);
  background:var(--paper);
  color:var(--body);
  font-family:var(--font-body);
  display:block;
  overflow-x:hidden;
  font-size:clamp(16px,1.05vw,17px);
  line-height:1.7;
}
.gc-b *{box-sizing:border-box}
.gc-b img{display:block;border-radius:0;max-width:100%}
.gc-b h1,.gc-b h2,.gc-b h3,.gc-b h4{font-family:var(--font-display);color:var(--indigo);font-weight:800;letter-spacing:-.04em;line-height:.98}
.gc-b p{margin:0}
.gc-b a{color:inherit;text-decoration:none}
.gcb-wrap{max-width:1340px;margin:0 auto;padding:0 clamp(20px,4.5vw,68px)}
.gcb-kick{font-family:var(--font-ui);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:inline-block}
.gcb-kick--y{color:var(--yellow)}
.gcb-mark{background:var(--yellow);color:var(--indigo);padding:0 .12em;font-style:normal}
.gcb-under{box-shadow:inset 0 -.34em 0 var(--yellow)}

/* ───────── buttons ───────── */
.gcb-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.gc-b .gcb-btn--y{background:var(--yellow);color:var(--indigo);border-color:var(--yellow)}
.gc-b .gcb-btn--indigo{background:var(--indigo);color:#fff;border-color:var(--indigo)}
.gc-b .gcb-btn--line{background:transparent;color:var(--indigo);border-color:var(--indigo)}
.gc-b .gcb-btn--line-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}

/* ───────── hero (split screen) ───────── */
.gcb-hero{display:grid;grid-template-columns:1fr 1.04fr;background:var(--indigo);min-height:clamp(560px,88vh,880px)}
.gcb-hero-txt{padding:clamp(40px,5vw,80px) clamp(24px,4vw,72px);display:flex;flex-direction:column;justify-content:center;position:relative}
.gcb-hero-tag{position:absolute;top:clamp(28px,4vw,52px);left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px);display:flex;align-items:center;gap:16px}
.gcb-hero-tag span{font-family:var(--font-ui);font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);white-space:nowrap}
.gcb-hero-tag .ln{flex:1;height:1px;background:rgba(255,255,255,.28)}
.gcb-hero .gcb-kick{margin-bottom:26px}
.gcb-hero h1{color:#fff;font-size:clamp(2.5rem,4.5vw,4.05rem);line-height:.98;letter-spacing:-.045em;margin:0 0 28px}
.gcb-hero h1 em{font-style:normal;color:var(--yellow)}
.gc-b .gcb-hero .lead{color:rgba(255,255,255,.9);font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.56;max-width:44ch;margin:0 0 36px}
.gcb-hero-fig{position:relative;overflow:hidden;background:var(--indigo-deep);min-height:340px}
.gcb-hero-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.gcb-hero-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,100,.55) 0%,transparent 34%)}

/* ───────── statement band ───────── */
.gcb-band{background:var(--paper);padding:clamp(56px,8vw,120px) 0}
.gcb-band-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,5vw,80px);align-items:start}
.gcb-band-no{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,8vw,7rem);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--line-2);letter-spacing:-.05em}
.gc-b .gcb-band-lead{font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.1;letter-spacing:-.035em;max-width:20ch;margin:0}
.gcb-band-lead em{font-style:normal;color:var(--indigo)}
.gc-b .gcb-band-sub{margin-top:40px;font-size:1.08rem;line-height:1.75;color:var(--body);max-width:56ch}

/* ───────── section head ───────── */
.gcb-head{margin-bottom:clamp(34px,4.5vw,60px)}
.gcb-head .gcb-kick{margin-bottom:18px}
.gcb-head h2{font-size:clamp(2rem,4.6vw,3.4rem);line-height:.98;letter-spacing:-.04em;margin:0;max-width:20ch}
.gcb-head--split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);align-items:end}
.gcb-head--split p{font-size:1.1rem;line-height:1.6;color:var(--body);max-width:48ch}

/* ───────── distinction diptych ───────── */
.gcb-dip{padding:0 0 clamp(56px,7vw,104px)}
.gcb-dip-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px)}
.gcb-dip-card{position:relative;overflow:hidden;min-height:clamp(440px,52vw,640px);display:flex;align-items:flex-end;background:var(--indigo-deep)}
.gcb-dip-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gcb-dip-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,6,32,.9) 0%,rgba(8,6,32,.18) 50%,rgba(8,6,32,.32) 100%)}
.gcb-dip-body{position:relative;z-index:2;padding:clamp(26px,3vw,48px);width:100%}
.gcb-dip-no{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,4vw,3.4rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--yellow);display:block;margin-bottom:20px}
.gcb-dip-tag{font-family:var(--font-ui);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);display:block;margin-bottom:14px}
.gcb-dip-card h3{color:#fff;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.02;margin:0 0 16px}
.gcb-dip-card p{color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.66;max-width:46ch}

/* ───────── scope bento ───────── */
.gcb-scope{padding:clamp(56px,7vw,104px) 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gcb-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,26px)}
.gcb-tile{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line-2);display:flex;flex-direction:column}
.gcb-tile:nth-child(1){grid-column:span 7}
.gcb-tile:nth-child(2){grid-column:span 5}
.gcb-tile:nth-child(3){grid-column:span 5}
.gcb-tile:nth-child(4){grid-column:span 7}
.gcb-tile-fig{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--indigo-deep)}
.gcb-tile-fig img{width:100%;height:100%;object-fit:cover}
.gcb-tile-no{position:absolute;top:14px;left:18px;z-index:2;font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:#fff;letter-spacing:-.03em}
.gcb-tile-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,6,36,.66),transparent 38%)}
.gcb-tile-body{padding:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;gap:12px}
.gcb-tile-body .tg{font-family:var(--font-ui);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.gcb-tile h3{font-size:clamp(1.35rem,2.1vw,1.85rem);line-height:1.06;margin:0}
.gcb-tile p{font-size:1.02rem;line-height:1.68;color:var(--body);max-width:52ch}

/* ───────── approach plate ───────── */
.gcb-plate{position:relative;overflow:hidden;background:var(--indigo-deep);min-height:clamp(360px,42vw,560px);display:flex;align-items:center}
.gcb-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.gcb-plate::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,7,40,.92) 0%,rgba(9,7,40,.66) 46%,rgba(9,7,40,.22) 100%)}
.gcb-plate-inner{position:relative;z-index:2;padding:clamp(48px,7vw,96px) 0}
.gcb-plate .gcb-kick{color:var(--yellow);margin-bottom:22px}
.gcb-plate h2{color:#fff;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.03em;max-width:22ch;margin:0}
.gcb-plate h2 em{font-style:normal;color:var(--yellow)}
.gc-b .gcb-plate p{color:rgba(255,255,255,.86);font-size:1.1rem;line-height:1.7;max-width:50ch;margin:24px 0 0}

/* ───────── approach strip ───────── */
.gcb-appr{padding:clamp(56px,7vw,104px) 0;background:var(--indigo)}
.gcb-appr .gcb-head h2{color:#fff}
.gcb-appr .gcb-head p{color:var(--on-dark)}
.gcb-appr-row{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.6vw,22px)}
.gcb-appr-cell{border-top:2px solid rgba(255,255,255,.22);padding-top:22px}
.gcb-appr-cell .n{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,3vw,3.2rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--yellow);letter-spacing:-.04em;display:block;margin-bottom:18px}
.gcb-appr-cell h3{color:#fff;font-size:1.18rem;line-height:1.12;margin:0 0 10px}
.gcb-appr-cell p{color:var(--on-dark);font-size:.96rem;line-height:1.6}

/* ───────── audience (yellow band) ───────── */
.gcb-aud{padding:clamp(56px,7vw,104px) 0;background:var(--yellow)}
.gcb-aud .gcb-kick{color:var(--indigo)}
.gcb-aud .gcb-head h2{color:var(--indigo)}
.gcb-aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(18,15,100,.22);border:1px solid rgba(18,15,100,.22)}
.gcb-aud-cell{background:var(--yellow);padding:clamp(22px,2.4vw,34px)}
.gcb-aud-cell .n{font-family:var(--font-display);font-weight:800;color:var(--indigo);font-size:1rem;letter-spacing:.08em;display:block;margin-bottom:14px}
.gcb-aud-cell h3{color:var(--indigo);font-size:1.18rem;line-height:1.1;margin:0 0 8px}
.gcb-aud-cell p{color:#3a3550;font-size:.98rem;line-height:1.58}

/* ───────── destinations bento wall ───────── */
.gcb-dest{padding:clamp(56px,7vw,104px) 0}
.gcb-wall{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,15vw,205px);gap:clamp(12px,1.5vw,20px)}
.gcb-dcard{position:relative;overflow:hidden;display:flex;align-items:flex-end;background:var(--indigo-deep)}
.gcb-dcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gcb-dcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,6,32,.84) 0%,rgba(8,6,32,.08) 56%,rgba(8,6,32,.3) 100%)}
.gcb-dcard-body{position:relative;z-index:2;padding:clamp(16px,1.8vw,26px);width:100%}
.gc-b .gcb-dcard .ctry{font-family:var(--font-display);font-weight:800;color:#fff;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1;letter-spacing:-.03em;margin:0 0 6px}
.gcb-dcard .city{font-family:var(--font-ui);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.gcb-dcard--uk{grid-column:span 6;grid-row:span 2}
.gcb-dcard--uk::after{background:linear-gradient(0deg,rgba(8,6,32,.95) 0%,rgba(8,6,32,.9) 30%,rgba(8,6,32,.4) 66%,rgba(8,6,32,.34) 100%)}
.gcb-dcard--uk .ctry{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.gc-b .gcb-dcard--uk .tagline{color:rgba(255,255,255,.9);font-size:1rem;line-height:1.55;margin:12px 0 0;max-width:38ch}
.gcb-dcard--uk .go{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--font-ui);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.gcb-dcard--uk .go .a{width:18px;height:2px;background:currentColor;position:relative;display:inline-block}
.gcb-dcard--uk .go .a::after{content:"";position:absolute;right:0;top:-4px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.gcb-dcard--us{grid-column:span 6}
.gcb-dcard--sq{grid-column:span 3}
.gcb-dcard--qt{grid-column:span 3}
.gc-b .gcb-dest-foot{margin-top:clamp(22px,3vw,34px);font-size:1.02rem;line-height:1.7;color:var(--body);max-width:78ch}
.gcb-dest-foot a{color:var(--indigo);font-weight:700;box-shadow:inset 0 -.32em 0 var(--yellow)}

/* ───────── related services (poster cards) ───────── */
.gcb-rel{padding:clamp(56px,7vw,104px) 0;background:var(--paper-2);border-top:1px solid var(--line)}
.gcb-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}
.gcb-rel-card{background:var(--paper);border:1px solid var(--line-2);display:flex;flex-direction:column}
.gcb-rel-fig{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--indigo-deep)}
.gcb-rel-fig img{width:100%;height:100%;object-fit:cover}
.gcb-rel-body{padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:13px;flex:1}
.gcb-rel-body .lbl{font-family:var(--font-ui);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.gcb-rel-body h3{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.04;margin:0}
.gcb-rel-body p{font-size:1rem;line-height:1.66;color:var(--body);flex:1}
.gcb-rel-body .cue{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--indigo);margin-top:4px}
.gcb-rel-body .cue .a{width:18px;height:2px;background:currentColor;position:relative;display:inline-block}
.gcb-rel-body .cue .a::after{content:"";position:absolute;right:0;top:-4px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}

/* ───────── FAQ ───────── */
.gcb-faq{padding:clamp(56px,7vw,104px) 0}
.gcb-faq-list{display:flex;flex-direction:column}
.gcb-faq-item{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,48px);padding:clamp(24px,3vw,38px) 0;border-top:1px solid var(--line-2)}
.gcb-faq-item:last-child{border-bottom:1px solid var(--line-2)}
.gcb-faq-item .n{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,2vw,2rem);color:transparent;-webkit-text-stroke:1.5px var(--gold);line-height:1}
.gcb-faq-item h3{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.1;margin:0 0 12px}
.gcb-faq-item p{font-size:1.05rem;line-height:1.7;color:var(--body);max-width:70ch}

/* ───────── closing ───────── */
.gcb-close{position:relative;overflow:hidden;background:var(--indigo-deep)}
.gcb-close img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%}
.gcb-close::after{content:"";position:absolute;inset:0;background:linear-gradient(85deg,rgba(9,7,40,.96) 0%,rgba(9,7,40,.92) 46%,rgba(9,7,40,.66) 100%)}
.gcb-close-inner{position:relative;z-index:2;padding:clamp(70px,10vw,150px) 0}
.gcb-close .gcb-kick{color:var(--yellow);margin-bottom:24px}
.gcb-close h2{color:#fff;font-size:clamp(2.2rem,5vw,4rem);line-height:.98;letter-spacing:-.04em;max-width:17ch;margin:0 0 24px}
.gcb-close h2 em{font-style:normal;color:var(--yellow)}
.gc-b .gcb-close p{color:rgba(255,255,255,.9);font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;max-width:52ch;margin:0 0 38px}
.gc-b .gcb-close .fine{font-size:.9rem;color:rgba(255,255,255,.58);max-width:66ch;margin-top:34px;line-height:1.62}

/* ───────── responsive ───────── */
@media (max-width:960px){
  .gcb-hero{grid-template-columns:1fr}
  .gcb-hero-fig{min-height:360px;order:-1}
  .gcb-hero-txt{padding-top:clamp(32px,7vw,56px)}
  /* the two labels are nowrap; without wrapping they force the 1fr grid track
     wider than the viewport and get silently clipped by overflow-x */
  .gcb-hero-tag{position:static;left:auto;right:auto;top:auto;margin-bottom:26px;flex-wrap:wrap;gap:4px 16px}
  .gcb-hero-tag .ln{display:none}
  .gcb-band-grid{grid-template-columns:1fr;gap:20px}
  .gcb-head--split{grid-template-columns:1fr;gap:16px}
  .gcb-dip-grid{grid-template-columns:1fr}
  .gcb-dip-card{min-height:420px}
  .gcb-bento{gap:18px}
  .gcb-tile,.gcb-tile:nth-child(n){grid-column:span 12}
  .gcb-appr-row{grid-template-columns:1fr 1fr;gap:20px}
  .gcb-aud-grid{grid-template-columns:1fr}
  .gcb-wall{grid-auto-rows:clamp(140px,30vw,180px)}
  .gcb-dcard--uk{grid-column:span 12;grid-row:span 2}
  .gcb-dcard--us{grid-column:span 12}
  .gcb-dcard--sq,.gcb-dcard--qt{grid-column:span 6}
  .gcb-rel-grid{grid-template-columns:1fr;gap:20px}
  .gcb-rel-fig{aspect-ratio:16/9}
}
@media (max-width:540px){
  .gcb-appr-row{grid-template-columns:1fr}
  .gcb-dcard--sq,.gcb-dcard--qt{grid-column:span 12}
  .gcb-faq-item{grid-template-columns:1fr;gap:10px}
}

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