/* =========================================================================
   Focus College–Spain · Master of Global Business
   Brand: December 2025 Focus red #D80010 on white, Open Sans throughout
   (headings and body), per the Focus College brand note.
   ========================================================================= */

:root{
  /* palette */
  --white:#ffffff;
  --paper:#f7f4f1;
  --paper-deep:#efeae5;
  --ink:#212529;
  --ink-strong:#14171a;
  --muted:#6c757d;
  --line:#e2dbd5;
  --line-soft:#ece6e1;
  --accent:#d80010;
  --accent-hover:#c33427;
  --accent-tint:#f79ba1;
  --dark:#17191c;
  --dark-2:#20242a;
  --dark-line:#343a41;
  --dark-muted:#a7aeb6;

  /* type: Open Sans only, weight and tracking carry the hierarchy */
  --display:"Open Sans",Arial,Helvetica,sans-serif;
  --body:"Open Sans",Arial,Helvetica,sans-serif;

  /* spacing scale */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  /* one radius */
  --r:4px;

  --measure:68ch;
  --shell:1220px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@media (max-width:600px){ body{font-size:16px} }

h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:700;line-height:1.15;letter-spacing:-0.015em}
p{margin:0 0 var(--s4)}
p:last-child{margin-bottom:0}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(216,0,16,.32);transition:color .15s ease,border-color .15s ease}
a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}
em{font-style:italic}
b,strong{font-weight:700}
img{max-width:100%;height:auto}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r)}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.skip{position:absolute;left:var(--s4);top:-64px;z-index:100;background:var(--accent);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r);border:0;font-weight:600;transition:top .18s ease}
.skip:focus{top:var(--s3)}

.wrap{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--s5)}
@media (max-width:600px){ .wrap{padding:0 var(--s4)} }

/* =========================== masthead =============================== */
.masthead{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.masthead__inner{max-width:var(--shell);margin:0 auto;padding:var(--s3) var(--s5);display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap}
@media (max-width:600px){ .masthead__inner{padding:var(--s3) var(--s4);gap:var(--s3)} }

.brand{display:flex;align-items:center;gap:var(--s3);border:0;color:var(--ink);margin-right:auto}
.brand:hover{color:var(--ink)}
.brand__logo{display:block;height:46px;width:auto}
@media (max-width:600px){ .brand__logo{height:38px} }
.brand__rule{width:1px;height:34px;background:var(--line)}
.brand__unit{display:flex;flex-direction:column;font-weight:700;font-size:.9375rem;letter-spacing:.02em;line-height:1.1}
.brand__sub{font-weight:400;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}

.navtoggle{display:none;align-items:center;gap:var(--s2);background:none;border:1px solid var(--line);border-radius:var(--r);padding:9px var(--s3);font:inherit;font-size:.8125rem;font-weight:600;color:var(--ink);cursor:pointer}
.navtoggle:hover{border-color:var(--accent);color:var(--accent)}
.navtoggle__bars{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;width:16px}
.navtoggle__bars i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.navtoggle[aria-expanded="true"] .navtoggle__bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.navtoggle[aria-expanded="true"] .navtoggle__bars i:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] .navtoggle__bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.sitenav ul{display:flex;gap:var(--s5);list-style:none;margin:0;padding:0}
.sitenav a{border:0;color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:var(--s2) 0;position:relative}
.sitenav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--accent);transition:right .2s ease}
.sitenav a:hover{color:var(--ink)}
.sitenav a:hover::after,.sitenav a.is-current::after{right:0}
.sitenav a.is-current{color:var(--ink)}

@media (max-width:1020px){
  .navtoggle{display:inline-flex}
  .sitenav{flex-basis:100%;display:none}
  .sitenav.is-open{display:block}
  .sitenav ul{flex-direction:column;gap:0;padding:var(--s2) 0 var(--s3);border-top:1px solid var(--line-soft);margin-top:var(--s3)}
  .sitenav li+li{border-top:1px solid var(--line-soft)}
  .sitenav a{display:block;padding:var(--s3) 0;font-size:.875rem}
  .sitenav a::after{display:none}
}

/* ============================ shared ================================ */
.section{padding:var(--s9) 0}
@media (max-width:760px){ .section{padding:var(--s8) 0} }
.section--paper{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--dark{background:var(--dark);color:#e9ecef}
.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}

.eyebrow{display:flex;align-items:center;gap:var(--s3);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s5)}
.eyebrow__mark{display:inline-block;width:26px;height:2px;background:var(--accent)}
.eyebrow--onDark{color:var(--dark-muted)}
.eyebrow--onDark .eyebrow__mark{background:var(--accent-tint)}

.sectionmark{display:flex;align-items:baseline;gap:var(--s3);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s5);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}
.sectionmark__num{font-family:var(--display);font-size:1rem;font-weight:800;letter-spacing:0;color:var(--accent)}

.display{font-size:clamp(2.625rem,7vw,5rem);font-weight:800;line-height:1;letter-spacing:-0.035em;margin:0 0 var(--s5)}
.h2{font-size:clamp(1.75rem,3.4vw,2.625rem);font-weight:800;line-height:1.08;letter-spacing:-0.025em;max-width:22ch;margin:0 0 var(--s5)}
.h2--onDark{max-width:20ch}
.h3{font-size:1.3125rem;letter-spacing:-0.01em;margin:0 0 var(--s4)}
.h3--spaced{margin-top:var(--s8)}
.h4{font-size:1.0625rem;font-family:var(--body);font-weight:700;letter-spacing:.01em;margin:var(--s6) 0 var(--s3)}
.h4:first-of-type{margin-top:0}

.lede{font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;max-width:60ch;color:#33383d}
.intro{max-width:var(--measure);color:#3a4046;margin-bottom:var(--s6)}
.intro--onDark{color:var(--dark-muted);max-width:78ch}
.fine{font-size:.875rem;line-height:1.62;color:var(--muted);max-width:var(--measure)}
.fine--onDark{color:var(--dark-muted);margin-top:var(--s6)}

.btn{display:inline-block;padding:14px var(--s5);border-radius:var(--r);font-size:.875rem;font-weight:700;letter-spacing:.03em;border:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.btn--accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn--accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}

/* ============================= hero ================================= */
.hero{padding:clamp(var(--s8),9vw,var(--s10)) 0 var(--s8);background:
  linear-gradient(180deg,var(--white) 0%,var(--paper) 100%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(var(--s6),5vw,var(--s9));align-items:start}
@media (max-width:960px){ .hero__grid{grid-template-columns:1fr;gap:var(--s7)} }

.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7)}

.specpanel{border:1px solid var(--line);border-top:3px solid var(--ink-strong);border-radius:var(--r);background:var(--white);padding:var(--s5)}
.specpanel__title{font-family:var(--body);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s4)}
.specs{margin:0}
.specs>div{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:var(--s3);padding:11px 0;border-top:1px solid var(--line-soft)}
.specs>div:first-child{border-top:0;padding-top:0}
.specs dt{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.specs dd{margin:0;font-size:.9375rem;line-height:1.45}

.statusbar{margin-top:clamp(var(--s7),6vw,var(--s9));padding:var(--s4) var(--s5);border-left:3px solid var(--accent);background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:var(--r);font-size:.9375rem;color:#3a4046;max-width:96ch}
.statusbar strong{color:var(--ink)}

/* ========================== attribution ============================= */
.attribution{background:var(--ink-strong);color:#eceff1;padding:clamp(var(--s8),7vw,var(--s9)) 0}
.attribution__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(var(--s6),5vw,var(--s8));align-items:start}
@media (max-width:900px){ .attribution__grid{grid-template-columns:1fr;gap:var(--s6)} }
.attribution__statement{font-size:clamp(1.6875rem,3.4vw,2.625rem);line-height:1.16;color:#fff;font-weight:600;letter-spacing:-0.025em;max-width:16ch}
.attribution__statement em{font-style:normal;font-weight:800;color:#fff;box-shadow:inset 0 -0.16em 0 var(--accent)}
.attribution__logo{display:block;height:44px;width:auto;margin-bottom:var(--s5)}
@media (max-width:900px){ .attribution__logo{height:38px} }
.attribution__detail{color:#c4cad0;font-size:1rem;line-height:1.62;padding-top:var(--s2)}
.attribution__detail p+p{margin-top:var(--s4)}

/* ====================== architecture feature ======================== */
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(var(--s6),4vw,var(--s8))}
@media (max-width:960px){ .feature{grid-template-columns:1fr} }

.doccard{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s6) var(--s5)}
.doccard--lead{border-top:4px solid var(--accent);position:sticky;top:96px}
@media (max-width:960px){ .doccard--lead{position:static} }
.doccard__kicker{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s3)}
.doccard__title{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;line-height:1.1;letter-spacing:-0.025em;margin-bottom:var(--s5)}
.doccard__meta{margin:0 0 var(--s5)}
.doccard__meta>div{padding:10px 0;border-top:1px solid var(--line-soft)}
.doccard__meta dt{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:2px}
.doccard__meta dd{margin:0;font-size:.9375rem;line-height:1.45}
.doccard__note{font-size:.875rem;color:var(--muted);line-height:1.6;padding-top:var(--s4);border-top:1px solid var(--line-soft)}

.ticklist{list-style:none;margin:var(--s5) 0;padding:0}
.ticklist li{position:relative;padding:0 0 var(--s3) var(--s5);font-size:.9375rem}
.ticklist li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--accent)}

.crosslist{list-style:none;margin:0 0 var(--s4);padding:0}
.crosslist li{position:relative;padding:8px 0 8px var(--s5);border-top:1px solid var(--line-soft);font-size:.9375rem;line-height:1.5}
.crosslist li:first-child{border-top:0}
.crosslist li::before{content:"";position:absolute;left:2px;top:1.05em;width:6px;height:6px;border-radius:50%;background:var(--line);}

.figures{display:flex;flex-wrap:wrap;gap:var(--s6) var(--s8);margin-top:var(--s9);padding-top:var(--s6);border-top:1px solid var(--line)}
.figure{display:flex;flex-direction:column;gap:2px}
.figure__n{font-family:var(--display);font-size:clamp(2.25rem,4.4vw,3.25rem);line-height:1;letter-spacing:-0.035em;font-weight:800}
.figure__l{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}

/* ===================== vision / mission / values ==================== */
.vm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--s6);margin-top:var(--s7)}
@media (max-width:860px){ .vm{grid-template-columns:1fr} }
.vm__block{margin:0;padding:var(--s5) 0 0;border-top:2px solid var(--ink-strong)}
.vm__label{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s4)}
.vm blockquote{margin:0;font-family:var(--display);font-size:clamp(1.125rem,1.9vw,1.4375rem);font-weight:600;line-height:1.42;letter-spacing:-0.015em;color:var(--ink-strong)}

.values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s5) var(--s6)}
.values li{display:grid;grid-template-columns:auto 1fr;column-gap:var(--s4);row-gap:2px;padding-top:var(--s4);border-top:1px solid var(--line)}
.values__n{grid-row:span 2;font-family:var(--display);font-size:1.375rem;line-height:1.1;color:var(--accent);font-weight:800;letter-spacing:-0.02em}
.values__t{font-weight:700;font-size:.9375rem}
.values__d{font-size:.875rem;color:var(--muted);line-height:1.55}

.plos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s6) var(--s7)}
.plo{border-top:2px solid var(--ink-strong);padding-top:var(--s4)}
.plo__code{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2)}
.plo__t{font-size:1.125rem;margin-bottom:var(--s3)}
.plo p:last-child{font-size:.9375rem;color:#3a4046}

/* ============================ courses =============================== */
.banner{max-width:78ch;margin-bottom:var(--s7)}
.banner__title{font-size:clamp(2.25rem,5.6vw,3.75rem);font-weight:800;line-height:1.02;letter-spacing:-0.035em;margin:0 0 var(--s5)}
.banner__sub{color:var(--dark-muted);font-size:1.0625rem;max-width:70ch}

.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}
.chip{font:inherit;font-size:.8125rem;font-weight:600;letter-spacing:.03em;color:#cfd5db;background:transparent;border:1px solid var(--dark-line);border-radius:var(--r);padding:9px var(--s4);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.chip:hover{border-color:#5a636c;color:#fff}
.chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.filters__count{font-size:.8125rem;color:var(--dark-muted);margin:0 0 var(--s6)}

.courses{list-style:none;margin:0;padding:0;border-top:1px solid var(--dark-line)}
.course{border-bottom:1px solid var(--dark-line)}
.course[hidden]{display:none}
.course__head{margin:0;font-family:var(--body);font-weight:400}
.course__btn{display:grid;grid-template-columns:104px minmax(0,1fr) auto 24px;align-items:center;gap:var(--s4);width:100%;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:var(--s5) var(--s2);cursor:pointer;transition:background-color .16s ease}
.course__btn:hover{background:rgba(255,255,255,.04)}
.course__btn:hover .course__title{color:#fff}
.course__code{font-family:var(--display);font-size:.9375rem;font-weight:800;letter-spacing:.04em;color:var(--accent-tint)}
.course__title{font-family:var(--display);font-size:clamp(1.0625rem,1.7vw,1.3125rem);font-weight:600;line-height:1.28;color:#e9ecef;letter-spacing:-0.015em;transition:color .16s ease}
.course__tags{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end}
.tag{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-muted);border:1px solid var(--dark-line);border-radius:var(--r);padding:4px 8px;white-space:nowrap}
.tag--focus{color:var(--accent-tint);border-color:rgba(216,0,16,.55)}
.tag--neb{color:#cfd5db;border-color:#4a525a}
.tag--joint{color:#fff;border-color:#6b747d}
.course__chev{position:relative;width:14px;height:14px;justify-self:end}
.course__chev::before,.course__chev::after{content:"";position:absolute;background:#cfd5db;transition:transform .2s ease,opacity .2s ease}
.course__chev::before{left:0;top:6px;width:14px;height:2px}
.course__chev::after{left:6px;top:0;width:2px;height:14px}
.course__btn[aria-expanded="true"] .course__chev::after{transform:scaleY(0);opacity:0}
.course__btn[aria-expanded="true"] .course__chev::before{background:var(--accent-tint)}

.course__panel{padding:0 var(--s2) var(--s7) 116px;max-width:104ch;color:#c4cad0}
@media (max-width:860px){
  .course__btn{grid-template-columns:1fr 24px;grid-template-areas:"code chev" "title title" "tags tags";row-gap:var(--s3);padding:var(--s5) var(--s2)}
  .course__code{grid-area:code}
  .course__title{grid-area:title}
  .course__tags{grid-area:tags;justify-content:flex-start}
  .course__chev{grid-area:chev;align-self:start}
  .course__panel{padding:0 var(--s2) var(--s6)}
}
.sig{border-left:2px solid var(--accent);padding:var(--s2) 0 var(--s2) var(--s4);margin:var(--s5) 0;font-size:.9375rem;color:#dfe3e7}
.sig__label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-tint);margin-bottom:var(--s2)}
.assess{list-style:none;margin:var(--s5) 0;padding:0}
.assess li{display:flex;justify-content:space-between;gap:var(--s4);padding:10px 0;border-top:1px solid var(--dark-line);font-size:.875rem}
.assess li:first-child{border-top:0}
.assess b{font-family:var(--display);font-weight:700;color:#fff;white-space:nowrap}
.plomap{font-size:.875rem;color:var(--dark-muted)}
.plomap__label{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#cfd5db;margin-right:var(--s3)}
.course--capstone .course__code{color:#fff}

/* ============================= tables =============================== */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.tablewrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.grid{width:100%;border-collapse:collapse;font-size:.875rem;min-width:640px}
.grid--wide{min-width:820px}
.grid th,.grid td{padding:var(--s3) var(--s4);text-align:left;vertical-align:top;border-top:1px solid var(--line-soft)}
.grid thead th{border-top:0;background:var(--paper-deep);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;white-space:nowrap}
.grid tbody th{font-weight:600;font-size:.875rem;color:var(--ink);max-width:34ch}
.grid tbody td{text-align:center;font-weight:600}
.grid--wide tbody td{text-align:left;font-weight:400;color:#3a4046}
.grid td.m{color:var(--accent);font-weight:700}
.grid td.nil{color:var(--line);font-weight:400}
.grid tbody tr:hover{background:var(--paper)}

.pill{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r);color:var(--muted);white-space:nowrap}
.pill--strong{color:var(--accent);border-color:rgba(216,0,16,.35)}
.pill--warn{color:var(--ink);border-color:var(--ink);border-style:dashed}

/* ============================== duo ================================= */
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(var(--s6),4vw,var(--s8))}
.duo--top{margin-top:var(--s8)}
.section--paper .duo{margin-top:var(--s8)}
.duo__col p{font-size:.9375rem}

.callout{margin-top:var(--s5);padding:var(--s5);background:var(--white);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r)}
.callout__t{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s3)}
.callout p:last-child{font-size:.9375rem;color:#3a4046;margin:0}

/* =========================== paired ILOs ============================ */
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pair__panel{padding:clamp(var(--s5),3vw,var(--s7));background:var(--white)}
.pair__panel--alt{background:var(--paper);border-left:1px solid var(--line)}
@media (max-width:760px){ .pair__panel--alt{border-left:0;border-top:1px solid var(--line)} }
.pair__tag{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s3)}
.pair__title{font-size:1.375rem;margin-bottom:var(--s5);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}
.pair__foot{margin-top:var(--s5);font-size:.875rem;color:var(--muted);max-width:88ch}

.ilos{list-style:none;margin:0;padding:0}
.ilos li{display:grid;grid-template-columns:auto 1fr;column-gap:var(--s4);row-gap:2px;padding:var(--s4) 0;border-top:1px solid var(--line-soft)}
.ilos li:first-child{border-top:0;padding-top:0}
.ilos__n{grid-row:span 2;font-family:var(--display);font-size:.9375rem;font-weight:800;letter-spacing:.02em;color:var(--accent);white-space:nowrap;padding-top:2px}
.ilos__t{font-weight:700;font-size:.9375rem}
.ilos__d{font-size:.875rem;color:var(--muted);line-height:1.55}

.scale{list-style:none;margin:0;padding:0}
.scale li{padding:var(--s3) 0;border-top:1px solid var(--line-soft);font-size:.875rem;line-height:1.55}
.scale li:first-child{border-top:0}
.cycle{margin:0;padding-left:1.25em;font-size:.875rem;line-height:1.55}
.cycle li{padding:6px 0}
.cycle li::marker{color:var(--accent);font-weight:700}

/* ========================== partnership ============================= */
.split{margin:var(--s7) 0 var(--s5)}
.splitbar{display:flex;height:52px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.splitbar__f,.splitbar__n{display:flex;align-items:center;padding:0 var(--s4);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.splitbar__f{background:var(--accent);color:#fff}
.splitbar__n{background:var(--ink-strong);color:#fff}
.split__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s6);margin-top:var(--s5)}
.split__figure{font-family:var(--display);font-size:2rem;line-height:1;font-weight:800;letter-spacing:-0.03em;margin-bottom:var(--s4)}
.split__figure span{display:block;font-family:var(--body);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:var(--s2)}
.split__col p:last-child{font-size:.9375rem}

.findings{margin:0;padding-left:1.3em}
.findings li{padding:var(--s3) 0;font-size:.9375rem;border-top:1px solid var(--line-soft)}
.findings li:first-child{border-top:0;padding-top:0}
.findings li::marker{font-family:var(--display);color:var(--accent);font-weight:800}

.numlist{margin:0;padding-left:1.3em}
.numlist li{padding:6px 0;font-size:.9375rem}
.numlist li::marker{color:var(--muted);font-weight:700;font-size:.8125rem}

/* ============================= careers ============================== */
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s6)}
.route{border-top:2px solid var(--ink-strong);padding-top:var(--s4)}
.route:first-child{border-top-color:var(--accent)}
.route__tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s3)}
.route__lead{font-family:var(--display);font-size:1.125rem;font-weight:600;line-height:1.38;letter-spacing:-0.012em;color:var(--ink-strong);margin-bottom:var(--s3)}
.route__roles{font-size:.875rem;color:var(--muted)}

.families{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 var(--s7)}
.families li{padding:var(--s3) 0;border-top:1px solid var(--line);font-size:.9375rem}

/* ============================ documents ============================= */
.docs{list-style:none;margin:var(--s8) 0 0;padding:0;counter-reset:none}
.doc{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--s5);padding:var(--s5) 0;border-top:1px solid var(--dark-line)}
@media (max-width:700px){ .doc{grid-template-columns:1fr;gap:var(--s2)} }
.doc__n{font-family:var(--display);font-size:.9375rem;font-weight:800;color:var(--accent-tint);margin:0;letter-spacing:.04em}
.doc__t{font-size:1.125rem;margin-bottom:var(--s2)}
.doc__m{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dark-muted);margin-bottom:var(--s3)}
.doc p:last-child{font-size:.9375rem;color:#c4cad0;max-width:78ch}

/* ============================== footer ============================== */
.footer{background:var(--ink-strong);color:#c4cad0;padding:var(--s8) 0 var(--s7);border-top:1px solid var(--dark-line)}
.footer__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s7)}
@media (max-width:860px){ .footer__grid{grid-template-columns:1fr;gap:var(--s6)} }
.footer__logo{display:block;height:40px;width:auto;margin-bottom:var(--s5)}
.footer__brand{font-family:var(--display);font-size:1.125rem;font-weight:700;letter-spacing:-0.01em;color:#fff;margin-bottom:var(--s2)}
.footer__tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-tint)}
.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s6)}
.footer__h{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:var(--s3)}
.footer__h--gap{margin-top:var(--s5)}
.footer__nav ul{list-style:none;margin:0;padding:0}
.footer__nav li{padding:5px 0}
.footer__nav a{color:#c4cad0;border-bottom-color:transparent;font-size:.875rem}
.footer__nav a:hover{color:#fff;border-bottom-color:var(--accent-tint)}
.footer__note p{font-size:.875rem;line-height:1.6}
.footer__note strong{color:#fff}

/* ============================ motion ================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

@media print{
  .masthead,.filters,.skip{display:none}
  body{font-size:11pt}
  .section--dark,.attribution,.footer{background:#fff;color:#000}
  .course__panel[hidden]{display:block !important}
}
