@font-face{font-family:"Cabinet Grotesk";font-weight:800;font-style:normal;font-display:swap;src:url(fonts/cabinet-grotesk-800.woff2) format("woff2")}
@font-face{font-family:"Cabinet Grotesk";font-weight:900;font-style:normal;font-display:swap;src:url(fonts/cabinet-grotesk-900.woff2) format("woff2")}
@font-face{font-family:"Satoshi";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/satoshi-400.woff2) format("woff2")}
@font-face{font-family:"Satoshi";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/satoshi-500.woff2) format("woff2")}
@font-face{font-family:"Satoshi";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/satoshi-700.woff2) format("woff2")}
/* Dr Paddy Iyamu: shared design system.
   Type: Cabinet Grotesk (display, 800/900) + Satoshi (text). Both via Fontshare.
   Every page sets body[data-theme] and inherits its own palette from the tokens below.
   Shape rule: buttons are pills, photographs have a 6px radius, panels are square. */
:root{
  --font-d:"Cabinet Grotesk","Satoshi",system-ui,sans-serif;
  --font:"Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif;
  --nav:76px; --gut:clamp(20px,4.2vw,64px); --max:1380px; --r:6px;
  --ease:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --ink:#0b0b0c; --paper:#fff;
  /* defaults = home */
  --bg:#0b0f0c; --fg:#fff; --accent:#0a8a43; --accent-fg:#fff; --soft:#eff3ef; --muted:#5c625d; --line:rgba(11,11,12,.14);
  --logo:none;
}
body[data-theme=meet]{--bg:#0a1f44;--accent:#3d6bff;--soft:#eef2fb;--muted:#55607a}
body[data-theme=education]{--bg:#ffcf1f;--fg:#111;--accent:#111;--accent-fg:#ffcf1f;--soft:#fff9de;--muted:#5d5a48}
body[data-theme=foundation]{--bg:#0b4f56;--accent:#3fd0c0;--accent-fg:#052b2c;--soft:#e8f3f2;--muted:#52615f}
body[data-theme=healthcare]{--bg:#e8434a;--accent:#1b1b1f;--accent-fg:#fff;--soft:#fdeeee;--muted:#6a5b5b}
body[data-theme=advance]{--bg:#0d0d12;--accent:#c8ff3d;--accent-fg:#0d0d12;--soft:#f2f4ec;--muted:#595c52}
body[data-theme=community]{--bg:#ff7a1a;--fg:#1a0f05;--accent:#1a0f05;--accent-fg:#ff9a4d;--soft:#fff1e5;--muted:#6a5744}
body[data-theme=city]{--bg:#0a0a0a;--accent:#e5242b;--soft:#f2f2f2;--muted:#5b5b5b}
body[data-theme=news]{--bg:#5b1230;--accent:#ff8fa3;--accent-fg:#3a0a1e;--soft:#f8eff2;--muted:#6a5b60}
body[data-theme=contact]{--bg:#0a8a43;--accent:#0b0f0c;--accent-fg:#fff;--soft:#eff3ef;--muted:#4f5c53}

*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 12px)}
body{font-family:var(--font);color:var(--ink);background:var(--paper);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
body[data-theme=education] :focus-visible,body[data-theme=community] :focus-visible{outline-color:#111}
.wrap{width:min(var(--max),100% - 2*var(--gut));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 16px;z-index:100;border-radius:99px}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--font-d);font-weight:800;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
p{text-wrap:pretty}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font:700 16px/1 var(--font);letter-spacing:-.005em;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:transform .16s var(--ease),background .25s,color .25s,border-color .25s}
.btn:active{transform:scale(.97)}
.btn-fill{background:var(--accent);color:var(--accent-fg)}
.btn-line{border-color:currentColor;background:transparent;color:inherit}
@media (hover:hover) and (pointer:fine){.btn-fill:hover{filter:brightness(1.08)}.btn-line:hover{background:#fff;color:#111;border-color:#fff}}
.tlink{font-weight:700;border-bottom:2px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.tlink:hover{opacity:.6}

/* Header */
.nav{position:fixed;inset:0 0 auto;height:var(--nav);z-index:60;color:#fff;transition:background-color .35s,color .35s}
.nav .wrap{height:100%;display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(11,11,12,0);transition:background-color .35s}
.nav.solid{color:#fff}
.nav.solid::before{background:rgba(11,11,12,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.logo{display:block;width:78px;flex:none;margin-top:6px}
.logo img{width:100%;filter:var(--logo);transition:filter .35s}
.nav.solid .logo img{filter:none}
.links{display:flex;gap:clamp(14px,1.7vw,28px);margin-left:auto;font-size:15.5px;font-weight:500}
.links a{position:relative;padding:6px 0;opacity:.88}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.links a:hover::after,.links a[aria-current]::after{transform:scaleX(1)}
.links a:hover,.links a[aria-current]{opacity:1}
.nav .btn{min-height:44px;padding:0 20px;font-size:15px}
.nav.solid .btn-fill{background:var(--accent);color:var(--accent-fg)}
.burger{display:none;margin-left:auto;min-height:44px;padding:0 20px;border-radius:99px;border:2px solid currentColor;background:none;color:inherit;font:700 15px var(--font);cursor:pointer}
@media (max-width:1180px){
  .links{position:absolute;inset:100% 0 auto;margin:0;display:none;flex-direction:column;gap:0;background:rgba(11,11,12,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;padding:6px var(--gut) 24px;max-height:calc(100dvh - var(--nav) - 42px);overflow:auto}
  .links.open{display:flex}
  .links a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:21px;font-family:var(--font-d);font-weight:700;letter-spacing:-.02em}
  .links a::after{display:none}
  .burger{display:inline-flex;align-items:center}
  .nav .btn{display:none}
}

/* Page hero (inner pages): full-bleed photograph, tinted into the page colour at the foot */
.phead{position:relative;isolation:isolate;overflow:hidden;color:var(--fg);background:var(--bg);min-height:min(100dvh,980px);display:flex;align-items:flex-end;padding:calc(var(--nav) + 40px) 0 clamp(40px,6vw,88px)}
.phead>.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 40%);z-index:-2}
.phead::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(0,0,0,.42) 0,rgba(0,0,0,0) 26%),
  linear-gradient(0deg,color-mix(in srgb,var(--bg) 95%,transparent) 0,color-mix(in srgb,var(--bg) 78%,transparent) 30%,color-mix(in srgb,var(--bg) 30%,transparent) 62%,transparent 100%)}
.phead h1{font-size:clamp(3rem,8.6vw,8.4rem);font-weight:900;line-height:.9;letter-spacing:-.045em;max-width:15ch}
.phead .lead{font-size:clamp(1.1rem,1.6vw,1.4rem);max-width:48ch;margin-top:26px;line-height:1.45}
.phead .apc{margin-bottom:22px}
@keyframes pan{from{object-position:0% var(--py,40%)}to{object-position:100% var(--py,40%)}}
@media (max-width:760px){.phead{min-height:86dvh}
  /* On a tall phone screen the photo glides left to right so the whole frame is seen */
  .phead>.bgimg{animation:pan 20s ease-in-out infinite alternate}}

/* Sections */
.sec{padding:clamp(72px,10vw,150px) 0}
.sec--soft{background:var(--soft)}
.sec--ink{background:var(--ink);color:#fff}
.sec--accent{background:var(--accent);color:var(--accent-fg)}
.sec h2{font-size:clamp(2.2rem,5.4vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:.95}
.sec .intro{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45;max-width:52ch;color:var(--muted);margin-top:24px}
.sec--ink .intro,.sec--accent .intro{color:inherit;opacity:.82}
.prose p{max-width:62ch;margin-bottom:1.15em}
.prose p:last-child{margin-bottom:0}
.prose strong{font-weight:700}
.cols{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,6vw,100px)}
.cols>:first-child{position:sticky;top:calc(var(--nav) + 28px);align-self:start}
@media (max-width:860px){.cols{grid-template-columns:1fr}.cols>:first-child{position:static}}

/* Photographs */
.ph{border-radius:var(--r);overflow:hidden;background:#d8dbd8}
.ph img{width:100%;height:100%;object-fit:cover}
figcaption{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.4;max-width:60ch}
.sec--ink figcaption{color:rgba(255,255,255,.62)}
.bleed{width:100%}
.bleed img{width:100%;height:clamp(300px,50vw,680px);object-fit:cover}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
.duo img,.trio img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px)}
.tall img{aspect-ratio:4/5}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px)}
.mosaic>.ph{aspect-ratio:4/3;min-width:0}
.mosaic>.ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:0;transition:transform .9s var(--ease)}
@media (hover:hover){.mosaic>.ph:hover img{transform:scale(1.05)}}
@media (max-width:860px){
  .trio,.duo,.mosaic{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .trio::-webkit-scrollbar,.duo::-webkit-scrollbar,.mosaic::-webkit-scrollbar{display:none}
  .trio>*,.duo>*,.mosaic>*{flex:0 0 80%;scroll-snap-align:center}
  .mosaic>.ph{aspect-ratio:4/5}
}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.rail img{height:clamp(260px,32vw,440px);width:auto;border-radius:var(--r);scroll-snap-align:start;flex:none}

/* Timeline (a true sequence) */
.timeline{border-left:2px solid currentColor;margin-left:6px}
.timeline li{position:relative;padding:0 0 38px 32px;display:grid;grid-template-columns:160px 1fr;gap:12px 28px}
.timeline li::before{content:"";position:absolute;left:-9px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--paper)}
.sec--soft .timeline li::before{border-color:var(--soft)}
.timeline time{font-family:var(--font-d);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.timeline p{max-width:54ch}
@media (max-width:620px){.timeline li{grid-template-columns:1fr}}

/* Statement rows (giant record lines) */
.big-lines a{display:flex;align-items:baseline;gap:.35em;flex-wrap:wrap;padding:clamp(14px,2vw,28px) 0;border-top:2px solid var(--ink);font-family:var(--font-d);font-weight:900;letter-spacing:-.05em;line-height:.9;font-size:clamp(2.6rem,9vw,8.4rem);transition:padding .4s var(--ease),background-color .3s,color .3s}
.big-lines a:last-child{border-bottom:2px solid var(--ink)}
.big-lines small{font-family:var(--font);font-weight:500;font-size:clamp(.95rem,1.4vw,1.25rem);letter-spacing:0;line-height:1.3;max-width:26ch;color:var(--muted)}
@media (hover:hover){.big-lines a:hover{padding-left:24px;background:var(--bg);color:var(--fg)}.big-lines a:hover small{color:inherit;opacity:.85}}

/* Door panels */
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,24px)}
.door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(380px,46vw,640px);padding:clamp(24px,3vw,44px);overflow:hidden;isolation:isolate;border-radius:var(--r)}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);z-index:-2;transition:transform 1.1s var(--ease)}
.door::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tint);opacity:.34;transition:opacity .4s}
.door::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0) 60%)}
.door h3{font-size:clamp(2rem,3.6vw,3.4rem);font-weight:900;color:#fff;margin-bottom:10px}
.door p{color:rgba(255,255,255,.9);max-width:38ch;font-size:1rem}
.door .go{margin-top:20px;font-weight:700;color:#fff;border-bottom:2px solid #fff;align-self:flex-start;padding-bottom:2px}
@media (hover:hover){.door:hover img{transform:scale(1.05)}.door:hover::before{opacity:.5}}
@media (max-width:760px){.doors{grid-template-columns:1fr}}

/* Hero carousel (home) */
.hero{position:relative;height:100dvh;min-height:620px;background:#0b0f0c;color:#fff;overflow:hidden;touch-action:pan-y;cursor:grab}
.hero.drag{cursor:grabbing}
.track{display:flex;height:100%;will-change:transform;transition:transform 1.3s var(--ease-io)}
.hero.drag .track{transition:none}
.slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden}
.slide>img{position:absolute;inset:-2% 0;width:100%;height:104%;object-fit:cover;object-position:var(--pos,50% 50%);user-select:none;-webkit-user-drag:none}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,8,6,.82) 0%,rgba(6,8,6,.35) 42%,rgba(6,8,6,.08) 100%)}
.slide .copy{position:absolute;z-index:2;left:0;right:0;bottom:clamp(64px,10vh,110px)}
.slide h1,.slide h2{font-family:var(--font-d);font-weight:900;font-size:clamp(2.7rem,6.6vw,6.6rem);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;max-width:15ch;margin-bottom:24px}
.slide p{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:40ch;color:rgba(255,255,255,.9);line-height:1.4;margin-bottom:30px}
.slide .cta{display:flex;flex-wrap:wrap;gap:12px}
.slide .btn-fill{background:#fff;color:#0b0f0c}
.hero-ctl{position:absolute;z-index:3;right:var(--gut);bottom:28px;display:flex;align-items:center}
.hero-ctl .apc{margin:0}
.hero-line{position:absolute;z-index:3;left:0;bottom:0;height:4px;width:100%;background:rgba(255,255,255,.18)}
.hero-line i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.hero.run .hero-line i{animation:fill 5s linear forwards}
@keyframes fill{to{transform:scaleX(1)}}
@media (max-width:760px){.slide>img{object-position:var(--pos-m,var(--pos,50% 50%));top:var(--top-m,-2%);bottom:auto;height:var(--h-m,104%)}.door img{object-position:var(--pos-m,var(--pos,50% 50%))}
  .slide h1,.slide h2{font-size:clamp(2.3rem,11vw,3.4rem);max-width:12ch}.slide .copy{bottom:84px}.hero-ctl{bottom:20px}}

/* Slide for photos that should not be stretched: sharp photo on the right over a blurred copy */
.slide.contain>img.bg{filter:blur(26px) brightness(.72) saturate(1.1);transform:scale(1.25)}
.slide.contain>img.fg{inset:0 0 0 auto;width:min(60%,1200px);height:100%;object-fit:cover;object-position:50% 24%}
@media (max-width:760px){.slide.contain>img.fg{inset:var(--nav) 0 auto 0;width:100%;height:50%}}

/* Statement */
.statement{font-family:var(--font-d);font-weight:800;font-size:clamp(1.9rem,4.4vw,4.2rem);line-height:1.05;letter-spacing:-.035em;max-width:24ch}
.statement em{font-style:normal;color:var(--accent)}

/* Quote / pull */
.pull{font-family:var(--font-d);font-weight:800;font-size:clamp(1.8rem,3.6vw,3.2rem);letter-spacing:-.03em;line-height:1.05;max-width:26ch}

/* Item list (for achievements) */
.items>article{padding:clamp(30px,4vw,56px) 0;border-top:2px solid currentColor}
.items>article:first-child{border-top:0;padding-top:0}
.items h3{font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:900;margin-bottom:16px}
.items .num{font-family:var(--font-d);font-weight:900;font-size:clamp(3.4rem,8vw,7rem);line-height:.85;letter-spacing:-.05em;display:block;margin-bottom:12px}
.items p{max-width:60ch;color:var(--muted)}
.sec--ink .items p{color:rgba(255,255,255,.76)}

/* Enquiry list */
.enq{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,24px)}
.enq>div{background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.35);padding:clamp(24px,3vw,40px);border-radius:var(--r)}
.enq h3{font-size:1.7rem;font-weight:900;margin-bottom:10px}
.enq p{opacity:.9}
@media (max-width:760px){.enq{grid-template-columns:1fr}}

/* Footer */
footer{background:var(--ink);color:#fff;padding:clamp(56px,8vw,110px) 0 36px}
.f-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;margin-bottom:clamp(40px,6vw,80px)}
.f-top .logo{width:110px}
.f-top .logo img{filter:none}
.f-slogan{font-family:var(--font-d);font-weight:900;font-size:clamp(2rem,4.2vw,3.6rem);letter-spacing:-.04em;line-height:.95;margin-top:24px}
.f-nav{display:grid;grid-template-columns:repeat(4,auto);gap:28px 36px}
.f-nav a{display:block;padding:6px 0;opacity:.78;font-size:16px}
.f-nav a:hover{opacity:1}
.f-nav h4{font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.5;margin-bottom:10px}
.f-base{border-top:1px solid rgba(255,255,255,.16);padding-top:24px;font-size:14px;opacity:.6;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between}
@media (max-width:860px){.f-top{grid-template-columns:1fr}.f-nav{grid-template-columns:1fr 1fr}}

/* Reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .mask{opacity:0;transform:scale(1.03);transition:opacity .9s var(--ease),transform 1.2s var(--ease)}
.js .mask.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv,.js .mask{opacity:1;transform:none}
  .hero .track{transition-duration:.5s!important}
  .slide>img{transform:none!important}
}

/* Party mark */
.apc{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#111;border-radius:10px;padding:7px 16px 7px 7px;font:700 14px/1.2 var(--font);margin-bottom:26px}
.apc img{width:46px;height:auto;border-radius:6px}
.f-apc{display:flex;align-items:center;gap:12px;margin-top:26px;font-size:14px;opacity:.85}
.f-apc img{width:44px;height:auto;border-radius:5px}

/* Forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:16px}
.field .hint{font-size:14px;color:var(--muted);margin-top:-2px}
.field input,.field select{font:500 17px var(--font);color:var(--ink);background:#fff;border:2px solid #1b1b1b;border-radius:10px;min-height:54px;padding:0 16px;width:100%;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}
.field[data-bad] input,.field[data-bad] select{border-color:#c4161c}
.field .err{display:none;color:#b3121a;font-size:14.5px;font-weight:500}
.field[data-bad] .err{display:block}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.45}
.check input{width:22px;height:22px;min-height:0;margin-top:2px;accent-color:var(--accent);flex:none}
.form .btn{justify-self:start}
.form-status{grid-column:1/-1;font-weight:500;min-height:1.5em}
.form-status.bad{color:#b3121a}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.thanks{padding:clamp(28px,4vw,48px);background:var(--accent);color:var(--accent-fg);border-radius:var(--r)}
.thanks h3{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;margin-bottom:10px}
@media (max-width:640px){.form{grid-template-columns:1fr}}

.f-social{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-weight:700}
.f-social a{border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:2px}
.f-social a:hover{border-color:#fff}

/* Phone hero: compact copy block so the photograph stays visible */
@media (max-width:760px){
  .slide h1,.slide h2{font-size:clamp(1.9rem,8.6vw,2.9rem);max-width:none;margin-bottom:14px}
  .slide p{font-size:1rem;margin-bottom:18px;max-width:34ch}
  .slide .cta{flex-wrap:nowrap;gap:10px}
  .slide .btn{min-height:48px;padding:0 16px;font-size:15px}
  .slide .copy{bottom:92px}
  .hero-ctl{bottom:22px}
  .hero-ctl .apc{padding:6px}
  .hero-ctl .apc span{display:none}
}

/* Hero buttons: two equal columns when they fit, stacked full-width when they do not */
@media (max-width:760px){
  .slide .cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%}
  .slide .btn{width:100%;min-width:0;padding:0 10px;font-size:14px;min-height:48px;white-space:nowrap}
}

/* Thumbprint mark beside the APC logo: the thumb vote */
.apc img{order:0}
.apc::after{content:"";order:1;flex:none;width:34px;height:44px;margin-left:2px;background:url("img/thumb-s.webp") center/contain no-repeat}
.apc span{order:2}
.f-apc img{order:0}
.f-apc::after{content:"";order:1;flex:none;width:34px;height:42px;border-radius:6px;background:#fff url("img/thumb-s.webp") center/80% no-repeat}
.f-apc span{order:2}

/* Home introduction: portrait beside the statement on desktop, stacked on phones */
.intro-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,6vw,100px);align-items:end}
@media (max-width:760px){
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .intro-grid .ph{max-width:none}
  .intro-grid .ph img{aspect-ratio:1/1!important;object-position:50% 12%!important}
  .intro-grid .statement{font-size:clamp(1.55rem,6.6vw,2rem);line-height:1.12;max-width:none}
  .intro-grid .prose{margin-top:22px!important}
}

/* Announcement bar (home) */
.notice{position:fixed;inset:0 0 auto;height:42px;z-index:70;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 var(--gut);background:#fff;color:#0b0f0c;font:700 14.5px/1 var(--font);transition:transform .4s var(--ease);white-space:nowrap}
.notice b{background:#0a8a43;color:#fff;padding:6px 11px;border-radius:99px;font-size:12.5px}
.notice u{text-underline-offset:3px;text-decoration-thickness:2px}
.notice .short{display:none}
body.has-notice .nav{top:42px;transition:top .4s var(--ease),background-color .35s}
body.has-notice.scrolled .nav{top:0}
body.has-notice.scrolled .notice{transform:translateY(-100%)}
@media (max-width:760px){.notice{font-size:13.5px;gap:10px}.notice b,.notice .long{display:none}.notice .short{display:inline}}

/* Free surgeries block */
.sec--teal{background:#0b4f56;color:#fff}
.sec--teal .btn-fill{background:#3fd0c0;color:#052b2c}
.sec--teal .btn-line:hover{background:#fff;color:#0b4f56}
.apply{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,6vw,96px);align-items:center}
.apply h2{font-size:clamp(2.4rem,6vw,5.6rem);line-height:.92}
.apply .when{font-family:var(--font-d);font-weight:800;font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.02em;margin-top:18px;color:#3fd0c0}
.apply p{max-width:46ch;opacity:.92}
.apply .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.apply .contacts{margin-top:22px;font-size:15.5px;opacity:.9;line-height:1.7}
.apply .contacts a{border-bottom:1px solid currentColor}
.apply figure img{width:100%;border-radius:var(--r)}
@media (max-width:860px){.apply{grid-template-columns:1fr}.apply figure{max-width:420px}}
.conds{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.conds li{border:2px solid currentColor;border-radius:99px;padding:6px 14px;font-weight:700;font-size:15px}

/* Foundation record in numbers */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,40px)}
.facts b{display:block;font-family:var(--font-d);font-weight:900;letter-spacing:-.05em;line-height:.9;font-size:clamp(2.8rem,6.4vw,6rem)}
.facts span{display:block;margin-top:10px;color:var(--muted);max-width:18ch;line-height:1.3}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr;row-gap:32px}}

.enq .cd{margin-top:14px;font-family:var(--font-d);font-weight:800;font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:-.02em;word-break:break-word}
.enq .cd a{border-bottom:2px solid currentColor;padding-bottom:1px}
@media (max-width:860px){.f-nav{grid-template-columns:1fr 1fr}}
