.bridge{display:none !important;}
.section-head{max-width:780px;}
.section-head--center{margin-inline:auto;text-align:center;}
.section-title{font-size:clamp(2.2rem,4.6vw,3.7rem);line-height:1.03;letter-spacing:-.025em;font-weight:600;}
.section-lead{font-size:clamp(1.04rem,1.5vw,1.22rem);color:var(--muted);margin-top:20px;line-height:1.62;}
.rule{width:70px;height:3px;background:var(--crimson);margin-top:26px;border-radius:2px;}
.rule--center{margin-inline:auto;}
.rule--light{background:#f0b8bf;}
.page-hero{position:relative;color:#fff;overflow:hidden;
  padding-top:calc(var(--topbar-h) + clamp(78px,10vw,128px));
  padding-bottom:clamp(78px,10vw,128px);}
.page-hero .bg{position:absolute;inset:0;z-index:0;}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;}
.page-hero .bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(5,15,61,.95) 0%,rgba(5,15,61,.82) 45%,rgba(5,15,61,.38) 100%);}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero-inner{max-width:880px;}
.crumb{display:flex;align-items:center;gap:10px;font-size:.78rem;flex-wrap:wrap;
  letter-spacing:.1em;text-transform:uppercase;color:#8f9ab8;margin-bottom:26px;}
.crumb a{color:#b4bbd4;transition:color .2s var(--ease);}
.crumb a:hover{color:#fff;}
.crumb span[aria-current]{color:#f0b8bf;font-weight:600;}
.crumb .sep{opacity:.5;}
.page-hero h1{color:#fff;font-size:clamp(2.7rem,6vw,5.1rem);line-height:1;
  letter-spacing:-.03em;font-weight:600;margin:0;}
.page-hero h1 em{font-style:italic;color:#f0b8bf;font-weight:500;}
.page-hero .lede{font-size:clamp(1.1rem,1.8vw,1.4rem);color:#dbe0f0;
  max-width:58ch;margin-top:28px;line-height:1.55;}
.page-hero .hero-cta{display:flex;flex-wrap:wrap;gap:15px;margin-top:42px;}
.page-hero .hero-cta .btn{padding:17px 34px;font-size:1rem;}
.factbar{background:var(--navy);color:#fff;position:relative;z-index:3;}
.factbar-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.fact{padding:36px 32px;border-right:1px solid rgba(255,255,255,.12);
  transition:background .3s var(--ease);}
.fact:last-child{border-right:none;}
.fact:hover{background:rgba(255,255,255,.05);}
.fact .k{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:#fff;line-height:1.1;}
.fact .l{font-size:.85rem;color:#9aa2bd;margin-top:9px;line-height:1.45;}
@media(max-width:900px){.factbar-grid{grid-template-columns:repeat(2,1fr);}
  .fact:nth-child(2){border-right:none;}
  .fact{border-bottom:1px solid rgba(255,255,255,.12);}}
@media(max-width:560px){.factbar-grid{grid-template-columns:1fr;}.fact{border-right:none;}}

.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,92px);}
.split + .split{margin-top:clamp(70px,10vw,130px);}
.split--reverse .split-media{order:2;}
.split-media{position:relative;}
.split-media .frame{position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);z-index:2;}
.split-media .frame img{width:100%;display:block;transition:transform .7s var(--ease);}
.split:hover .frame img{transform:scale(1.045);}
.split-media::before{content:"";position:absolute;inset:26px -26px -26px 26px;
  border:1.5px solid rgba(185,146,72,.55);border-radius:var(--radius);z-index:1;}
.split--reverse .split-media::before{inset:26px 26px -26px -26px;}
.split-media .tag{position:absolute;top:24px;left:24px;z-index:3;
  background:rgba(5,15,61,.86);backdrop-filter:blur(4px);color:#fff;
  padding:10px 18px;border-radius:100px;font-size:.74rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;}
.split-media .plate{position:absolute;z-index:4;bottom:-24px;right:-16px;
  background:var(--crimson);color:#fff;padding:22px 26px;border-radius:var(--radius);
  box-shadow:var(--shadow-md);max-width:240px;}
.split--reverse .split-media .plate{right:auto;left:-16px;}
.split-media .plate .k{font-family:var(--serif);font-size:1.7rem;font-weight:600;line-height:1;display:block;}
.split-media .plate .l{font-size:.82rem;opacity:.94;margin-top:7px;display:block;line-height:1.4;}
.split-media .plate--navy{background:var(--navy);}
.split-body h2{font-size:clamp(2rem,3.7vw,3rem);margin-bottom:20px;line-height:1.06;letter-spacing:-.02em;}
.split-body h2 em{font-style:italic;color:var(--crimson);font-weight:500;}
.split-body > p{color:var(--muted);font-size:1.08rem;line-height:1.72;margin:0 0 26px;}
.split-body strong{color:var(--ink);font-weight:600;}
.split-list{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:14px;}
.split-list li{display:flex;gap:14px;align-items:flex-start;font-size:1.02rem;color:var(--ink);line-height:1.5;}
.split-list .tick{width:24px;height:24px;flex-shrink:0;color:var(--crimson);margin-top:1px;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:56px;}
  .split--reverse .split-media{order:0;}
  .split-media::before,.split--reverse .split-media::before{inset:16px -16px -16px 16px;}
  .split-media .plate,.split--reverse .split-media .plate{right:16px;left:auto;}}
@media(max-width:520px){.split-media::before,.split--reverse .split-media::before{inset:12px 0 -12px 12px;}
  .split-media .plate{position:static;margin-top:26px;max-width:none;}}

.level-nav{display:flex;flex-wrap:wrap;gap:11px;margin-top:40px;}
.level-pill{padding:12px 22px;background:#fff;border:1px solid var(--line);border-radius:100px;
  font-size:.92rem;font-weight:600;color:var(--ink);cursor:pointer;
  transition:all .2s var(--ease);font-family:var(--sans);}
.level-pill:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-2px);}
.level-pill.is-active{background:var(--navy);color:#fff;border-color:var(--navy);}
.level-pill .count{opacity:.6;margin-left:7px;font-weight:500;}

/* level group */
.level-group{margin-top:clamp(48px,6vw,72px);}
.level-group[hidden]{display:none;}
.level-head{display:flex;align-items:baseline;gap:18px;
  padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:34px;}
.level-head h3{font-size:clamp(1.4rem,2.4vw,2rem);margin:0;line-height:1.1;}
.level-head .n{font-size:.78rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--crimson);margin-left:auto;white-space:nowrap;}

/* programme cards */
.prog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:820px){.prog-list{grid-template-columns:1fr;}}

.prog-item{position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 32px 28px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);}
.prog-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--navy);}
.prog-item.is-flagship{border-color:var(--crimson);}
.prog-item.is-flagship::before{content:"Flagship";position:absolute;top:-1px;right:24px;
  background:var(--crimson);color:#fff;font-size:.66rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:0 0 3px 3px;}

.prog-item h4{font-size:1.24rem;margin:0 0 12px;line-height:1.25;padding-right:10px;}
.prog-item .summary{font-size:.97rem;color:var(--muted);margin:0 0 22px;line-height:1.62;flex:1;}
.prog-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px;}
.prog-meta span{display:inline-flex;align-items:center;gap:7px;
  font-size:.8rem;color:var(--ink);background:var(--parchment);
  border:1px solid var(--line);border-radius:100px;padding:7px 14px;}
.prog-meta svg{width:14px;height:14px;color:var(--navy);flex-shrink:0;}
.prog-note{font-size:.8rem;color:var(--gold);font-style:italic;margin:-12px 0 20px;}

.prog-actions{display:flex;align-items:center;gap:18px;
  padding-top:20px;border-top:1px solid var(--line);}
.prog-apply{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.92rem;
  color:var(--navy);transition:gap .2s var(--ease),color .2s var(--ease);}
.prog-item:hover .prog-apply{color:var(--crimson);gap:14px;}
.prog-ask{font-size:.88rem;color:var(--muted);transition:color .2s var(--ease);margin-left:auto;}
.prog-ask:hover{color:var(--crimson);}

/* ---------- FEATURE CELLS (generic 3-col) ---------- */
.cells{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.cell{background:#fff;padding:36px 32px;position:relative;transition:background .3s var(--ease);}
.cell:hover{background:var(--parchment);}
.cell::after{content:"";position:absolute;left:32px;bottom:0;width:0;height:3px;
  background:var(--crimson);transition:width .35s var(--ease);}
.cell:hover::after{width:44px;}
.cell-icon{width:44px;height:44px;border-radius:var(--radius);background:var(--navy);color:#f0b8bf;
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.cell-icon svg{width:22px;height:22px;}
.cell h3{font-size:1.18rem;margin-bottom:11px;line-height:1.24;}
.cell p{font-size:.95rem;color:var(--muted);margin:0;line-height:1.62;}
.cell .areas{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.cell .areas span{font-size:.76rem;padding:5px 11px;background:var(--parchment);
  border:1px solid var(--line);border-radius:100px;color:var(--ink);}
@media(max-width:960px){.cells{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.cells{grid-template-columns:1fr;}}

/* ---------- TAG CLOUD ---------- */
.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;}
.tag-chip{padding:12px 22px;background:#fff;border:1px solid var(--line);border-radius:100px;
  font-size:.94rem;font-weight:500;color:var(--ink);transition:all .2s var(--ease);}
.tag-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-3px);}

/* ---------- DARK PANEL ---------- */
.panel-dark{position:relative;background:var(--ink);color:#dbe0f0;overflow:hidden;}
.panel-dark::before{content:"";position:absolute;top:-100px;right:-80px;width:440px;height:440px;
  border-radius:50%;background:radial-gradient(circle,rgba(176,0,20,.28),transparent 68%);}
.panel-dark .wrap{position:relative;z-index:2;}
.panel-dark .section-title{color:#fff;}
.panel-dark .eyebrow{color:#f0b8bf;}
.panel-dark .eyebrow::before{border-color:#f0b8bf;}
.panel-dark .section-lead{color:#b4bbd4;}
.panel-lead{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.8rem);color:#fff;
  font-style:italic;line-height:1.4;margin:26px 0 0;padding-left:24px;border-left:2px solid var(--gold);}

.dark-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:52px;
  border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden;
  background:rgba(255,255,255,.1);}
.dark-item{background:var(--ink);padding:30px 28px;display:flex;gap:16px;align-items:flex-start;
  transition:background .3s var(--ease);}
.dark-item:hover{background:rgba(255,255,255,.05);}
.dark-item .tick{width:22px;height:22px;flex-shrink:0;color:#f0b8bf;margin-top:2px;}
.dark-item span{font-size:.98rem;color:#dbe0f0;line-height:1.5;}
@media(max-width:900px){.dark-grid{grid-template-columns:1fr;}}

/* ---------- JOURNALS / NUMBERED LIST ---------- */
.numbered{margin-top:52px;border-top:1px solid var(--line);}
.numbered-row{display:grid;grid-template-columns:80px 1fr;gap:24px;
  padding:30px 0;border-bottom:1px solid var(--line);align-items:start;
  transition:background .25s var(--ease);}
.numbered-row:hover{background:var(--parchment);}
.numbered-row .n{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--crimson);
  line-height:1;padding-top:4px;}
.numbered-row h3{font-size:1.24rem;margin:0 0 9px;line-height:1.25;}
.numbered-row p{font-size:.97rem;color:var(--muted);margin:0;line-height:1.62;}
@media(max-width:600px){.numbered-row{grid-template-columns:52px 1fr;gap:16px;}
  .numbered-row .n{font-size:1.2rem;}}
.prog-cta{position:relative;color:#fff;text-align:center;overflow:hidden;background:var(--navy);}
.prog-cta::before{content:"";position:absolute;inset:0;
  background:radial-gradient(80% 130% at 50% 0%,rgba(176,0,20,.36),transparent 62%);}
.prog-cta .wrap{position:relative;z-index:2;max-width:820px;}
.prog-cta h2{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.06;letter-spacing:-.025em;}
.prog-cta p{color:#dbe0f0;font-size:1.16rem;margin:24px auto 38px;max-width:56ch;line-height:1.62;}
.prog-cta-btns{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;}
.prog-cta-btns .btn{padding:17px 34px;}
.prog-line{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#f0b8bf;margin-top:44px;}