
/* Layout: the Doris Duke Foundation grammar on white. Edge-to-edge wordmark masthead, 40px gutters,
   50/50 splits with the title left and the content right, hairline tables, image cards without frames,
   one serif moment per page, and a per-outcome colour that floods the footer and fills project tiles.
   Motion follows dorisduke.org: one opening sequence, 0.6s image fades and hovers, stacked sticky panels,
   titles that sharpen in. Native scrolling throughout. Single light theme by design. */
:root{
  --bg:#ffffff; --ink:#000000; --grey:#5c5c5c; --line:#e5e5e5; --line-2:#cfcfcf; --soft:#f3f3f3;
  --accent:#3285c6; --accent-ink:#2a72ad;
  --flood:#ebe9e4; --flood-on:#111111; --tint:#f5f4f1; --mark:#111111; --tone:#111111; --tone-ink:#111111;
  --on-image:#ffffff;
  --display:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --text:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --logo-box:#b4613c; --paper:#f4efe8; --sand:#e9dfd2; --clay:#e2c7b3; --clay-2:#d9b49b; --terra:#9c4f2d;
  --g:40px; --bar:120px; --float:84px; --tabs-h:58px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-dd:cubic-bezier(.25,1,.5,1);
  color-scheme:light;
}
@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}}
@media (max-width:1100px){:root{--g:28px}}
@media (max-width:760px){:root{--g:16px;--bar:84px;--float:68px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
html.mega-on{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/24px var(--text);letter-spacing:.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;letter-spacing:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.on-image :focus-visible{outline-color:var(--on-image)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:12px;z-index:10000;padding:12px 18px;border-radius:999px;background:#111;color:#fff;font:600 16px/20px var(--text);transform:translateY(-200%)}
.skip:focus{transform:none;outline:2px solid #fff;outline-offset:2px}
#main:focus{outline:none}

/* ---------- opening sequence ---------- */
.intro{display:none}
html.intro-live{overflow:hidden}
html.intro-live .intro{display:block;position:fixed;inset:0;z-index:200}
.intro__bg{position:absolute;inset:0;background:var(--bg)}
.intro__mark{position:absolute;left:50%;top:50%;width:clamp(112px,10.4vw,150px);height:auto;translate:-50% -50%;color:var(--ink);overflow:visible;display:block}
.intro__dot{transform-box:fill-box;transform-origin:50% 50%;scale:0}
.intro__win{position:absolute;inset:0;visibility:hidden;clip-path:inset(50% 50% 50% 50% round 0px)}
.intro__imgs{position:absolute;inset:0}
.intro__imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.intro__imgs img.on{opacity:1}
.intro__shade{position:absolute;inset:0;background:rgba(0,0,0,.34)}
.intro__cap{position:absolute;left:16px;right:16px;top:50%;translate:0 -50%;text-align:center;color:#fff;font:600 clamp(20px,1.7vw,26px)/1.3 var(--text);letter-spacing:.005em;text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 24px rgba(0,0,0,.5);opacity:0}
.intro__m{display:none}
@media (max-width:759px){.intro__cap{left:calc(7vw + 12px);right:calc(7vw + 12px);font-size:14px;font-weight:500}.intro__m{display:inline}}
.intro__ink{position:absolute;inset:0;background:var(--ink);opacity:0}
.intro__skip{position:absolute;right:var(--g);bottom:calc(20px + env(safe-area-inset-bottom,0px));font:400 14px/20px var(--text);color:var(--grey);padding:8px 0;z-index:3}
.intro__skip:hover{color:var(--ink)}
html.intro-live .mast .wm-dot,html.intro-live .bar .wm-dot{opacity:0}

/* ---------- type ---------- */
.t-title{font:300 clamp(40px,4.45vw,66px)/1.02 var(--display);letter-spacing:-.022em;text-wrap:balance}
.t-h2{font:400 clamp(28px,2.65vw,38px)/1.26 var(--display);letter-spacing:-.006em;text-wrap:balance}
.t-h2s{font:400 clamp(24px,2.2vw,32px)/1.25 var(--display);letter-spacing:-.006em;text-wrap:balance}
.t-h3{font:400 24px/32px var(--display);letter-spacing:-.002em;text-wrap:balance}
.t-lead{font:400 clamp(20px,1.72vw,25px)/1.38 var(--display);letter-spacing:-.003em;text-wrap:pretty}
.t-label{font:400 19px/30px var(--text);color:var(--grey);letter-spacing:.005em}
.t-intro{font:400 19px/30px var(--text);letter-spacing:.004em;text-wrap:pretty}
.t-body{font:400 16px/24px var(--text);letter-spacing:.006em;text-wrap:pretty}
.t-small{font:400 14px/20px var(--text);letter-spacing:.012em}
.t-eyebrow{font:700 12px/14px var(--text);letter-spacing:.17em;text-transform:uppercase;color:var(--ink)}
.t-source{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.t-caps{font:400 16px/20px var(--text);letter-spacing:.02em;text-transform:uppercase}
.t-serif{font:400 clamp(30px,2.8vw,40px)/1.2 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.muted{color:var(--grey)}
.ul{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ul:hover{text-decoration-thickness:2px}
.links{display:flex;flex-wrap:wrap;gap:12px 28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 20px;border:1px solid currentColor;font:400 16px/24px var(--text);letter-spacing:.006em;transition:background .6s var(--ease-dd),color .6s var(--ease-dd),border-color .6s var(--ease-dd);text-align:center}
.btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:16px}
.ico{width:20px;height:20px;flex:none}
.ico-s{width:14px;height:14px;flex:none;display:inline-block;vertical-align:-1px}

/* ---------- header ---------- */
.mast{padding:40px var(--g) 0}
.mast__mark{display:block;color:var(--ink)}
.mast__mark svg{display:block;width:100%;height:auto}
.mast__nav{display:flex;justify-content:flex-end;padding-top:24px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--bar);padding-inline:var(--g)}
.bar__logo svg{display:block;height:50px;width:auto}
.bar__logo .isac-lock{height:clamp(44px,4vw,60px);width:auto}
.float .bar__logo .isac-lock{height:46px}
.sheet__top .isac-lock{height:40px;width:auto}
@media (max-width:760px){.bar__logo .isac-lock,.float .bar__logo .isac-lock{height:32px}.sheet__top .isac-lock{height:30px}}
/* very narrow phones (320px): the logo gives way so Menu always fits */
@media (max-width:420px){.bar{gap:12px}.bar__logo{flex:1 1 auto;min-width:0;margin-right:0}.bar__logo .isac-lock,.float .bar__logo .isac-lock{height:auto;width:100%;max-width:230px;max-height:32px}}
.bar.is-over{position:absolute;inset:0 0 auto 0;z-index:6;color:var(--on-image)}
.wm-dot{transform-box:fill-box;transform-origin:50% 58%}
.isac-box{fill:currentColor}
/* over a photo the wordmark is white, so the box is white too and the mark inside turns black */

.isac-logo .wm-dot{fill:#fff}
.nav{display:flex;align-items:center;gap:10px}
.nav a,.nav button{font:400 15px/20px var(--text);letter-spacing:.006em;white-space:nowrap}
/* the links sit together in one soft capsule; the current page is a solid capsule inside it */
.nav__pill{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:#f1f0ec}
.nav__pill > a,.nav__pill > button{padding:9px clamp(11px,1vw,16px);border-radius:999px;color:#1a1a1a;transition:background-color .25s var(--ease-dd),color .25s var(--ease-dd)}
.nav__pill > a:hover,.nav__pill > button:hover,.nav__pill > button[aria-expanded="true"]{background:rgba(0,0,0,.07)}
.nav__pill > a[aria-current="page"],.nav__pill > button.is-current{background:#111;color:#fff}
.nav .nav__search{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color .25s var(--ease-dd)}
.nav .nav__search:hover,.nav .nav__search[aria-expanded="true"]{background:#f1f0ec}
.bar.is-over .nav__pill{background:rgba(0,0,0,.34)}
.bar.is-over .nav__pill > a,.bar.is-over .nav__pill > button{color:#fff}
.bar.is-over .nav__pill > a:hover,.bar.is-over .nav__pill > button:hover{background:rgba(255,255,255,.16)}
.bar.is-over .nav__pill > a[aria-current="page"],.bar.is-over .nav__pill > button.is-current{background:#fff;color:#111}
.bar.is-over .nav .nav__search{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.bar.is-over .nav .nav__search:hover{background:rgba(255,255,255,.16)}
.bar__logo{margin-right:clamp(24px,3vw,56px)}
@media (max-width:1560px){.bar__logo svg{height:40px}.bar__logo{margin-right:24px}.nav__pill > a,.nav__pill > button{padding-inline:12px}}
@media (max-width:1440px){.bar__logo svg{height:36px}.bar__logo{margin-right:20px}.nav__pill > a,.nav__pill > button{padding-inline:10px}.nav a,.nav button{font-size:14px}.nav{gap:8px}}
@media (max-width:1360px){.bar__logo svg{height:32px}.nav__pill > a,.nav__pill > button{padding-inline:8px}}
@media (max-width:1280px){.bar__logo{margin-right:0}}
.menu-btn{display:none;font:400 17px/24px var(--text);min-width:44px;min-height:44px;padding-inline:4px;align-items:center;justify-content:center;flex:0 0 auto}
.float{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);transform:translateY(-101%);transition:transform .45s var(--ease)}
.float.is-on{transform:none}
.float .bar{height:var(--float)}
.float .bar__logo svg{height:38px}
@media (max-width:1280px){.bar .nav,.mast__nav .nav{display:none}.menu-btn{display:inline-flex}.mast__nav{padding-top:18px}}
@media (max-width:760px){.bar__logo svg{height:34px}.float .bar__logo svg{height:30px}}
.sheet{position:fixed;inset:0;z-index:80;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 20px) var(--g) 40px;display:flex;flex-direction:column;gap:36px;overflow:auto}
.sheet__top{display:flex;justify-content:space-between;align-items:center}
.sheet__top svg{height:34px;width:auto;display:block}
.sheet nav{display:grid;gap:6px}
.sheet nav a{font:300 clamp(34px,8vw,48px)/1.1 var(--display);letter-spacing:-.005em}

/* scroll line: crisp segments of the seven Centre colours under the nav, revealed as you read (a Centre's own colour on its pages) */
.sline{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:4px;z-index:55;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-dd),top .45s var(--ease)}
.sline.is-on{opacity:1}
body.float-on .sline{top:calc(env(safe-area-inset-top,0px) + var(--float) - 1px)}
.sline i{display:block;height:100%;background:var(--sgrad);clip-path:inset(0 100% 0 0)}
html.intro-live .sline,html.mega-on .sline{opacity:0}

/* Donate: a warm yellow box. It never moves: on hover its colour simply deepens */
.nav a.donate,.donate{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:9px;padding:10px 18px 10px 15px;background:#fff04d;color:#111;font:500 16px/22px var(--text);text-decoration:none;border-radius:10px;min-height:44px}
.donate__fill{display:none}
.donate__ic{display:flex;font-size:16px;color:#fff;filter:drop-shadow(0 0 .5px rgba(0,0,0,.35))}
.nav a.donate:hover,.donate:hover,.donate:focus-visible{text-decoration:none;background:#ffe100}
.donate.is-current{box-shadow:inset 0 -2px 0 #111}
.bar.is-over .donate{color:#111}
.sheet nav a.sheet__donate{display:inline-flex;align-self:flex-start;margin-top:12px;font-size:clamp(28px,7vw,40px);padding:10px 22px;background:#fff04d;color:#111;border-radius:12px}

/* ---------- menu + search panel ---------- */
/* the platforms strip: a slim dark-grey bar above every page's header, one small lettered box per ISAC platform */
.pbar{background:#2b2b2b;color:#d9d9d9;padding-inline:var(--g);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
.pbar__h{margin:0;font:600 11px/14px var(--text);letter-spacing:.16em;text-transform:uppercase;color:#a6a6a6;white-space:nowrap}
.pbar__l{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.pbar__a{display:flex;align-items:center;min-height:44px;padding-inline:2px;border-radius:9px}
.pbar__a:focus-visible{outline:none}
.pbar__t{display:grid;place-items:center;height:28px;min-width:34px;padding-inline:9px;border-radius:8px;background:#3a3a3a;color:#f2f2f2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font:700 12px/1 var(--display);letter-spacing:.06em;white-space:nowrap;transition:background-color .25s var(--ease-dd),color .25s var(--ease-dd),translate .25s var(--ease-dd)}
.pbar__a:hover .pbar__t{background:#fff;color:#111;translate:0 -1px}
.pbar__a:focus-visible .pbar__t{outline:2px solid #fff;outline-offset:2px}
@media (max-width:600px){.pbar{justify-content:center}}
@media (prefers-reduced-motion:reduce){.pbar__t{transition:none}.pbar__a:hover .pbar__t{translate:none}}
.mega{position:fixed;left:0;right:0;top:var(--mega-top,120px);bottom:0;z-index:70;background:var(--bg);border-top:1px solid var(--line);overflow:auto;opacity:0;transition:opacity .3s var(--ease-dd);container-type:size}
.mega.is-open{opacity:1}
.mega__top{display:flex;justify-content:space-between;align-items:baseline;padding:22px var(--g) 0}
.mega ul{display:grid;gap:12px}
.mega li{opacity:0;translate:0 8px;transition:opacity .45s var(--ease-dd),translate .45s var(--ease-dd);transition-delay:calc(var(--i,0)*22ms)}
.mega.is-open li{opacity:1;translate:0 0}
.mega__close{font:400 14px/20px var(--text)}
.mega__search{display:grid;gap:28px;padding:28px var(--g) 64px}
.sbox input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
@media (max-width:1280px){.mega{display:none}}

/* Our Work: a numbered index of the seven outcomes on the left, and on the right the outcome's photo hanging from
   the index's first hairline to the right edge, over a band of its tint that holds the 2030 goal.
   Every row carries its colour dot; the lit row's tint grows out of that dot into the ISAC capsule (a capsule with
   a dot at its left end, as in the mark). One grid runs the whole panel: the photo shares the list's rows and the
   goal band shares the Global Initiatives rows, so their edges meet on the same hairlines. Rows share whatever
   height the panel has (minmax(min-content,1fr)), so the index fills the space under any header without scrolling. */
.mw{--cg:clamp(56px,6vw,128px);--colw:calc((100cqw - 2 * var(--g) - var(--cg)) / 2);
  --nw:clamp(40px,3vw,64px);--tx:clamp(40px,2.9vw,64px);--dl:clamp(16px,1.2vw,26px);
  --fs:clamp(17px,min(1.68vw,3.3cqh,(var(--colw) - var(--nw) - var(--tx) - 32px) / 22),40px);
  --cfs:clamp(13px,.86vw,17px);--ds:clamp(8px,calc(var(--fs) * .36),13px);
  --rp:clamp(3px,.8cqh,14px);--pt:clamp(12px,2.6cqh,34px);--pb:clamp(12px,3.2cqh,48px);--gp:clamp(3px,1cqh,14px);
  --small:clamp(14px,.92vw,19px);--lmax:calc((var(--colw) + var(--g)) / 1.1);
  display:grid;height:100cqh;
  grid-template-columns:var(--g) minmax(0,1fr) var(--cg) minmax(0,1fr) var(--g);
  grid-template-rows:auto minmax(min-content,var(--lmax)) auto minmax(var(--pb),1fr)}
.mw__top{grid-column:2/5;grid-row:1;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:var(--pt) 0 clamp(10px,2.2cqh,26px);font:400 var(--small)/1.45 var(--text);letter-spacing:.012em}
.mw__close{position:relative;padding:12px;margin:-12px}
/* index */
.mega .mw__list{grid-column:2;grid-row:2;display:grid;grid-template-rows:repeat(var(--n,7),minmax(min-content,1fr));border-top:1px solid var(--line)}
.mw__row{position:relative;isolation:isolate;display:grid;grid-template-columns:var(--nw) var(--tx) minmax(0,1fr);align-content:center;align-items:baseline;padding-block:var(--rp);border-bottom:1px solid var(--line)}
.mw__cap{position:absolute;z-index:-1;inset:0 0 0 var(--nw);border-radius:999px;background:var(--t);clip-path:inset(50%)}
.mw__row.is-on .mw__cap{clip-path:none}
.mw__n{font:400 clamp(12px,.8vw,15px)/1 var(--text);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--grey);transition:color .3s var(--ease-dd)}
.mw__dot{display:block;justify-self:start;width:var(--ds);height:var(--ds);margin-left:calc(var(--dl) - var(--ds) / 2);border-radius:50%;background:var(--m);translate:0 calc(var(--ds) / 2 - var(--fs) * .36)}
.mw__body{display:grid;gap:clamp(2px,.4cqh,6px);justify-items:start;min-width:0}
.mw__t{font:300 var(--fs)/1.1 var(--display);letter-spacing:-.005em;text-transform:uppercase;text-wrap:balance}
.mw__t::after{content:"";position:absolute;inset:0 0 0 var(--nw);border-radius:999px}
.mw__c{position:relative;z-index:1;font:400 var(--cfs)/1.4 var(--text);letter-spacing:.006em;color:var(--grey);transition:color .3s var(--ease-dd)}
.mw__c:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.mw__row.is-on .mw__n{color:var(--ink)}
.mw__row.is-on .mw__c{color:var(--tk)}
/* Global Initiatives: same voice as the outcomes, a size down */
.mw__gi{grid-column:2;grid-row:3;padding-top:clamp(10px,2.4cqh,36px)}
.mw__h{font:400 clamp(13px,.82vw,15px)/18px var(--text);letter-spacing:.012em;color:var(--grey);margin-bottom:clamp(6px,1cqh,12px)}
.mega .mw__gi ul{display:block;gap:0;border-top:1px solid var(--line)}
.mw__gi li{border-bottom:1px solid var(--line)}
.mw__g{position:relative;isolation:isolate;display:grid;grid-template-columns:var(--nw) var(--tx) minmax(0,1fr) auto;align-items:baseline;padding-block:var(--gp)}
.mw__g::before{content:"";position:absolute;inset:0 0 0 var(--nw);z-index:-1;border-radius:999px;background:var(--soft);opacity:0;transition:opacity .35s var(--ease-dd)}
.mw__g:hover::before,.mw__g:focus-visible::before{opacity:1}
.mw__g:hover .mw__gb,.mw__g:focus-visible .mw__gb{color:var(--ink)}
.mw__gt{grid-column:3;font:300 max(17px,calc(var(--fs) * .76))/1.3 var(--display);letter-spacing:.004em;text-transform:uppercase}
.mw__gb{grid-column:4;padding:0 clamp(18px,1.5vw,30px) 0 16px;font:400 var(--cfs)/1.4 var(--text);color:var(--grey);white-space:nowrap;transition:color .3s var(--ease-dd)}
/* preview: photo on the list's rows, goal band on the Global Initiatives rows; both run out to the right edge */
.mw__fig{grid-column:4/6;grid-row:2/5;display:grid;grid-template-rows:subgrid;min-width:0;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-dd) .05s}
.mega.is-open .mw__fig{clip-path:inset(0)}
.mw__img{position:relative;overflow:hidden;background:var(--soft)}
.mw__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--ease-dd)}
.mw__img img.is-off{opacity:0}
.mw__band{grid-row:2/4;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:clamp(8px,2.4cqh,34px) var(--g) calc(var(--pb) + var(--gp)) clamp(24px,2.3vw,48px);background:var(--t);transition:background-color .6s var(--ease-dd)}
.mw__bm{display:block;width:clamp(24px,1.7vw,36px);aspect-ratio:12/5;border-radius:999px;background:var(--m);margin-bottom:clamp(8px,1.8cqh,22px);transition:background-color .6s var(--ease-dd)}
.mw__goal{display:grid;gap:clamp(4px,.9cqh,10px);min-width:0}
.mw__gn{font:300 clamp(34px,min(3.8vw,7cqh),92px)/.9 var(--display);letter-spacing:-.014em;text-transform:uppercase;white-space:nowrap}
.mw__gu{font:400 clamp(15px,1vw,20px)/1.45 var(--text);letter-spacing:.006em;color:var(--tk);transition:color .6s var(--ease-dd)}
/* focus: a dark ring with a white inner line, so it reads on white, on tint and next to the photo */
.mw__t:focus-visible{outline:none}
.mw__t:focus-visible::after{outline:2px solid var(--ink);outline-offset:0;box-shadow:inset 0 0 0 4px var(--bg)}
.mw__c:focus-visible,.mw__top :focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 5px var(--bg)}
.mw__close:focus-visible{outline-offset:-8px;box-shadow:none}
.mw__g::after{content:"";position:absolute;inset:0 0 0 var(--nw);border-radius:999px}
.mw__g:focus-visible{outline:none}
.mw__g:focus-visible::after{outline:2px solid var(--ink);outline-offset:0;box-shadow:inset 0 0 0 4px var(--bg)}
/* refined: outcome tiles instead of numbers, sentence case, no hairlines, a rounded preview with target and progress */
.mw{--nw:0px;--ts:clamp(30px,2.6vw,46px);--tx:calc(var(--ts) + clamp(14px,1.2vw,22px));--pb:clamp(32px,6cqh,72px)}
.mega .mw__list{border-top:0;gap:clamp(2px,.5cqh,6px)}
.mw__row{grid-template-columns:var(--tx) minmax(0,1fr) auto;align-items:center;padding:var(--rp) clamp(12px,1vw,18px);border-bottom:0}
.mw__n{display:none}
.mw__dot{width:var(--ts);height:var(--ts);margin:0;translate:none;background:none;border-radius:clamp(8px,.8vw,12px);overflow:hidden;align-self:center}
.mw__geo{display:block;width:100%;height:100%}
.mw__t{font-weight:400;text-transform:none;letter-spacing:-.018em}
.mw__go{display:flex;opacity:0;translate:-8px 0;transition:opacity .3s var(--ease-dd),translate .3s var(--ease-dd);color:var(--tk)}
.mw__go .ico{width:20px;height:20px}
.mw__row.is-on .mw__go{opacity:1;translate:0 0}
.mega .mw__gi ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:0}
.mw__gi li{border-bottom:0}
.mw__g{display:flex;align-items:center;gap:12px;height:100%;padding:8px 12px;border-radius:18px;background:#f4f2ee;transition:background-color .3s var(--ease-dd)}
.mw__g::before{display:none}
.mw__g:hover,.mw__g:focus-visible{background:#ebe8e1}
.mw__gl{display:grid;place-items:center;flex:0 0 auto;width:clamp(40px,3.2vw,52px);aspect-ratio:1;border-radius:12px;background:#fff;overflow:hidden}
.mw__gl img{width:78%;height:auto}
.mw__gl svg{width:88%;height:auto}
.mw__gtx{display:grid;gap:2px;min-width:0}
.mw__gt{grid-column:auto;font:400 clamp(16px,1.1vw,19px)/1.2 var(--display);letter-spacing:-.01em;text-transform:none}
.mw__gb{grid-column:auto;padding:0;font:400 13px/18px var(--text);white-space:normal}
.mw__fig{grid-column:4/5;grid-row:2/4;border-radius:28px;overflow:hidden;clip-path:inset(0 0 100% 0 round 28px)}
.mega.is-open .mw__fig{clip-path:inset(0 round 28px)}
.mw__band{grid-row:2/3;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(16px,2.6cqh,34px) clamp(20px,2vw,32px)}
.mw__goal,.mw__pr{display:grid;gap:clamp(4px,.8cqh,8px);min-width:0}
.mw__pr{justify-items:end;text-align:right;max-width:46%}
.mw__k{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--tk)}
.mw__gn{text-transform:none;letter-spacing:-.03em}
.mw__trk{display:block;width:clamp(120px,12vw,200px);height:8px;border-radius:999px;background:color-mix(in srgb,var(--tk) 18%,transparent);overflow:hidden}
.mw__trk i{display:block;height:100%;width:calc(var(--p) * 1%);min-width:8px;border-radius:999px;background:var(--tk);transition:width .6s var(--ease-dd)}
.mw__pv{font:400 clamp(13px,.9vw,15px)/1.35 var(--text);color:var(--tk);text-wrap:balance}

/* ---------- expressive layer ---------- */
.colo{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:10px 18px;font:400 10px/13px var(--text);letter-spacing:.01em;color:#111}
.colo__c{display:grid;gap:2px;align-content:start;min-width:0}
.colo__h{font-weight:600}
.colo p{text-wrap:pretty}
.colo a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:760px){.colo{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* hero: the sentence spread across the page with small photo tiles and outcome dots */
.hx-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);margin:clamp(24px,3vw,48px) 0 clamp(36px,4vw,60px)}
.hx-logo{display:block;width:clamp(200px,22vw,340px);height:auto;aspect-ratio:1}
@media (max-width:760px){.hx-row{grid-template-columns:minmax(0,1fr)}.hx-logo{order:-1;width:clamp(120px,36vw,160px)}}
.hx{margin:0;max-width:15.5em;font:300 clamp(38px,5vw,80px)/1.08 var(--display);letter-spacing:-.032em;text-wrap:balance}
.hx__l{display:inline}
.hx__cap{display:inline-block;width:1.9em;height:.74em;border-radius:999px;overflow:hidden;vertical-align:-.04em;margin-inline:.06em;background:var(--m);outline:3px solid transparent;outline-offset:3px;transition:outline-color .3s var(--ease-dd)}
.hx__cap + .hx__cap{width:.74em}
.hx__earth{position:relative;width:1.05em!important;height:1.05em;vertical-align:-.2em;background:#3385c7}
.hx__earth canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
.hx__earth.is-gl canvas{display:block}
.hx__earth.is-gl img{display:none}
.hx__earth.is-gl{background:none;overflow:visible}

.hx__cap img{width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-dd)}
.hx__cap:hover,.hx__cap:focus-visible{outline-color:var(--m)}
.hx__cap:hover img,.hx__cap:focus-visible img{scale:1.1}
.js .hero .hx__cap{animation:capin 1.1s var(--ease) both;animation-delay:calc(.25s + var(--d,0) * 90ms)}
@keyframes capin{from{width:0;margin-inline:0}}
.js .hero .hx__cap + .hx__cap{animation-name:capin2}
@keyframes capin2{from{width:0;margin-inline:0}}
@media (prefers-reduced-motion:reduce){.js .hero .hx__cap{animation:none}}

.pill{display:inline-flex;align-items:center;gap:14px;padding:12px 20px 12px 24px;border-radius:999px;background:#111;color:#fff;font:500 16px/22px var(--text);transition:background .4s var(--ease-dd),translate .35s var(--ease-dd)}
.pill .ico{width:18px;height:18px;transition:translate .35s var(--ease-dd)}
.pill:hover,.pill:focus-visible{translate:0 -2px}
.pill:hover .ico,.pill:focus-visible .ico{translate:4px 0}
.pill--lemon{background:#fff04d;color:#111}

/* Outrider-style colour blocks over photos */


/* goal sheet */
.geo{display:block;overflow:hidden;line-height:0}
.geo svg{display:block;width:100%;height:100%}
.geo .g-a{transform-box:fill-box;transform-origin:center;transition:scale .7s cubic-bezier(.3,1.5,.5,1)}
a:hover .geo .g-a,button:hover .geo .g-a,a:focus-visible .geo .g-a,.gt:hover .g-a,.phead__art .geo:hover .g-a{scale:1.22}
.geo--s{width:46px;height:46px;border-radius:10px;flex:0 0 auto}
.geo--m{width:100%;aspect-ratio:1;border-radius:clamp(10px,1vw,14px)}
@media (prefers-reduced-motion:reduce){.geo .g-a{transition:none}}
/* goal tiles: the outcome's tile beside its 2030 goal */
.gt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:clamp(32px,4vw,56px) var(--g)}
.gt__art{aspect-ratio:1;border-radius:28px}
.gt__goal{display:grid;grid-template-rows:1fr auto;gap:12px}
.gt__goal .st{border-radius:28px}
.gt__k{display:flex;align-items:center;gap:10px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.gt__num{align-self:center;display:flex;align-items:baseline;font:300 clamp(120px,15vw,240px)/.8 var(--display);letter-spacing:-.055em;margin:0}
.gt__num span + span{font-size:.5em;letter-spacing:-.02em;margin-left:.06em}
.gt__g{font:300 clamp(22px,2vw,30px)/1.15 var(--display);letter-spacing:-.012em;max-width:18em;text-wrap:balance}
.gt__trk{max-width:440px;margin-top:18px}
.gt__trk .trk__seg,.gt__trk .trk__dot{background:var(--gd)}
.gt__trk .trk::before{background:color-mix(in srgb,var(--gd) 22%,transparent)}
.gt__prog{font:400 14px/20px var(--text);margin-top:10px}
.gt__counts{font:400 13px/19px var(--text);max-width:40em;color:var(--grey);padding:0 6px}
.gt__counts a{color:inherit}
@media (max-width:760px){.gt{grid-template-columns:minmax(0,1fr)}.gt__num{font-size:clamp(96px,30vw,150px)}.gt__art,.gt__goal{border-radius:20px}}
/* page-head art */
.phead__art{display:flex;gap:8px;align-content:start;align-items:flex-start}
.phead__art > *{flex:0 1 92px;min-width:0}
.phead__art > a > .geo{width:100%}
.phead__art > a{display:block}
@media (max-width:860px){.phead__art{order:2}}
/* project dots */
.plcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.4vw,22px)}
.plc{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:24px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #e6e2da;transition:box-shadow .3s var(--ease-dd),translate .3s var(--ease-dd)}
.plc:has(.plc__a):hover{translate:0 -3px;box-shadow:inset 0 0 0 1px #d6d1c6,0 22px 40px -28px rgba(17,17,17,.45)}
.plc__stage{display:grid;place-items:center;aspect-ratio:16/10;padding:10%;background:#f4f2ee;transition:background-color .4s var(--ease-dd)}
.plc:hover .plc__stage{background:var(--l)}
.plc__stage img{display:block;width:100%;max-width:300px;height:100%;max-height:120px;object-fit:contain}
.plc__stage--icon img{width:auto;max-height:150px;border-radius:14px}
.plc__mono{display:grid;place-items:center;width:clamp(120px,11vw,160px);aspect-ratio:1;border-radius:28px;background:var(--mm);color:#fff;font:300 clamp(54px,5vw,76px)/1 var(--display);letter-spacing:-.04em}
.plc__tx{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2vw,28px);color:#111}
.plc__h{font:300 clamp(26px,2.2vw,34px)/1.05 var(--display);letter-spacing:-.022em}
.plc__a{color:inherit}
.plc__a::after{content:"";position:absolute;inset:0;z-index:1}
.plc__a:focus-visible{outline:none}
.plc:has(.plc__a:focus-visible){outline:2px solid #111;outline-offset:3px}
.plc__p{font:400 15px/22px var(--text);color:#3d3d3d;text-wrap:pretty}
.plc__cs{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.plc__cs li{position:relative;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:999px;background:#f4f2ee;font:500 13px/18px var(--text)}
.plc__cs i{width:8px;height:8px;border-radius:50%;background:var(--m);flex:0 0 auto}
.plc__cs a{color:inherit}
.plc__cs li:hover{background:#ebe8e1}
.plc__go{margin-top:auto;padding-top:14px;border-top:1px solid #eeebe5}
.plc__visit{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text)}
.plc__visit svg{width:12px;height:12px;transition:translate .25s var(--ease-dd)}
.plc:hover .plc__visit svg{translate:2px -2px}
@media (max-width:1100px){.plcs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.plcs{grid-template-columns:minmax(0,1fr)}}
.pdc{position:relative;margin:0;display:grid;gap:18px;max-width:600px}
.pdc__cols{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1vw,14px);align-items:end}
.pdc__col{display:grid;justify-items:center;gap:10px;min-width:0}
.pdc__stack{display:grid;gap:6px;padding:6px;width:min(100%,64px);border-radius:999px;background:var(--l)}
.pdc__d{display:block;aspect-ratio:1;border-radius:50%;background:var(--c);outline:2px solid transparent;outline-offset:2px;transition:outline-color .25s}
.pdc__d:hover,.pdc__d:focus-visible{outline-color:#111}
.pdc__lab{font:500 12px/16px var(--text);color:#3d3d3d;text-align:center;white-space:nowrap}
.pdc__lab:hover{text-decoration:underline;text-underline-offset:3px}
.pdc__cap{font:400 13px/18px var(--text);color:var(--grey);min-height:18px}
.pdc__d::after{content:attr(data-t);position:absolute;left:0;right:0;bottom:0;background:var(--bg);color:#111;font:500 13px/18px var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s;pointer-events:none}
.pdc__d:hover::after,.pdc__d:focus-visible::after{opacity:1}
@media (max-width:560px){.pdc__lab{writing-mode:vertical-rl;rotate:180deg;font-size:11px;text-align:end;height:80px}}
@media (max-width:860px){.gsh__grey .colo{width:100%}.gsh__col{margin:200px 0 0 22%}.gsh__num{font-size:120px}}

/* featured Centre: white sheet with the photo, grey sheet with the numeral, colour sheet with the name */
.fcx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 var(--g) clamp(64px,7vw,104px);background:var(--l);color:var(--d);border-radius:28px;overflow:hidden}
.fcx__img{display:block;min-height:clamp(420px,40vw,600px)}
.fcx__img img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease-dd)}
.fcx:hover .fcx__img img{scale:1.03}
.fcx__tx{display:flex;flex-direction:column;gap:18px;padding:clamp(28px,3.4vw,56px)}
.fcx__k{display:flex;align-items:center;gap:10px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.fcx__h{font:300 clamp(36px,3.6vw,56px)/1.02 var(--display);letter-spacing:-.024em;text-wrap:balance}
.fcx__h a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.fcx__p{font:400 16px/24px var(--text);max-width:34em;text-wrap:pretty}
.fcx__goal{display:grid;gap:6px;margin-top:auto;padding-top:12px}
.fcx__n{font:300 clamp(48px,5vw,76px)/.95 var(--display);letter-spacing:-.03em}
.fcx__u{font:400 14px/20px var(--text)}
.fcx__trk{max-width:420px;margin:10px 0 2px}
.fcx__trk .trk__seg,.fcx__trk .trk__dot{background:var(--d)}
.fcx__trk .trk::before{background:color-mix(in srgb,var(--d) 25%,transparent)}
.fcx__trk .trk::after{background:var(--d)}
.fcx .pill{align-self:flex-start;margin-top:8px}
@media (max-width:860px){.fcx{grid-template-columns:minmax(0,1fr)}.fcx__img{min-height:0;aspect-ratio:4/3}}

/* Our Work: seven vertical colour tabs (Tilda) */
.vt{display:flex;height:clamp(460px,44vw,620px);margin:0 var(--g) clamp(64px,7vw,104px)}
.vt__t{position:relative;display:flex;flex:0 0 clamp(52px,4.4vw,68px);background:var(--sh);overflow:hidden;transition:flex-grow .7s var(--ease),flex-basis .7s var(--ease)}
.vt__t.is-open{flex:1 1 auto}
.vt__lab{flex:0 0 clamp(52px,4.4vw,68px);display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 0;writing-mode:vertical-rl;font:500 clamp(18px,1.5vw,22px)/1 var(--display);letter-spacing:-.005em;color:#111}
.vt__lab .ob{writing-mode:horizontal-tb}
.vt__body{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(18px,2vw,32px);padding:clamp(18px,2vw,28px) clamp(18px,2vw,28px) clamp(18px,2vw,28px) 0;opacity:0;transition:opacity .4s var(--ease-dd)}
.vt__t.is-open .vt__body{opacity:1;transition-delay:.25s}
.vt__img{min-height:0}
.vt__tx{display:grid;gap:14px;align-content:end;min-width:0}
.vt__c{font:400 14px/20px var(--text)}
.vt__h{font:300 clamp(30px,3vw,46px)/1.04 var(--display);letter-spacing:-.02em;text-wrap:balance}
.vt__h a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.vt__g{font:400 15px/21px var(--text)}
.vt__g span{font:300 30px/1 var(--display);margin-right:4px}
.vt__tx .pill{justify-self:start;background:#111;color:#fff}
@media (max-width:860px){.vt{flex-direction:column;height:auto}.vt__t{flex:none;flex-direction:column}.vt__lab{writing-mode:horizontal-tb;flex:none;flex-direction:row;padding:14px 16px}.vt__body{display:none;grid-template-columns:minmax(0,1fr);padding:0 16px 16px}.vt__t.is-open .vt__body{display:grid}.vt__img{aspect-ratio:4/3}}

/* five pathways: stacked sheets */
.pwc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.pwc__c{display:flex;flex-direction:column;gap:10px;min-width:0}
.pwc__geo{aspect-ratio:1;border-radius:20px;margin-bottom:8px}
.pwc__n{font:500 13px/18px var(--text);color:var(--grey)}
.pwc__h{font:300 clamp(24px,2vw,30px)/1.06 var(--display);letter-spacing:-.016em;text-wrap:balance}
.pwc__p{font:400 15px/22px var(--text);color:#3d3d3d;text-wrap:pretty}
.pwc__k{font:500 13px/18px var(--text);margin-top:auto;padding-top:6px}
.pwc__go{display:inline-flex;align-items:center;gap:8px;font:400 15px/22px var(--text);border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:2px}
.pwc__go .ico{width:16px;height:16px;transition:translate .35s var(--ease-dd)}
.pwc__c:hover .pwc__h{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.pwc__c:hover .pwc__go .ico{translate:4px 0}
@media (max-width:1100px){.pwc{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px}}
@media (max-width:640px){.pwc{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px}.pwc__h{font-size:22px}.pwc__geo{border-radius:14px}}

/* footer colophon */
.foot__colo{margin-top:clamp(56px,6vw,88px);padding-top:16px;border-top:1px solid rgba(0,0,0,.18)}
.foot__colo .colo{--cols:5}

/* ---------- home hero + rail ---------- */
.hero{padding:clamp(40px,4.4vw,64px) var(--g) 0}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px 40px;align-items:end}
.hero__side{justify-self:end}
.hero__grid h1{max-width:14em}
.hero__side{display:grid;gap:14px;max-width:30em;padding-bottom:4px}
.rail__h{font:500 clamp(24px,2.2vw,32px)/1.2 var(--display);letter-spacing:-.012em}
.hero__ctl{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(48px,5.5vw,80px);padding-top:16px;border-top:1px solid var(--line)}
@media (max-width:960px){.hero__grid{grid-template-columns:minmax(0,1fr)}}
.arrows{display:flex;gap:10px;flex:none}
@media (max-width:760px){.arrows{display:none}}
.circ{width:40px;height:40px;border:1px solid var(--line-2);border-radius:50%;display:inline-grid;place-items:center;transition:border-color .3s var(--ease-dd)}
.circ:hover{border-color:var(--ink)}
.circ svg{width:16px;height:16px}
.circ-s{width:24px;height:24px;border:1px solid var(--line-2);border-radius:50%;display:inline-grid;place-items:center;flex:none;transition:border-color .3s var(--ease-dd),transform .3s var(--ease-dd)}
.circ-s svg{width:12px;height:12px}
.rail{overflow-x:auto;padding:20px var(--g) 4px;margin-bottom:clamp(64px,7vw,112px);scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none}
.rail::-webkit-scrollbar{display:none}
.rail.is-drag{cursor:grabbing}
.rail__track{display:flex;gap:34px;width:max-content;padding-right:var(--g)}
.rail__card{flex:0 0 clamp(236px,21.5vw,310px);display:block}
.rail__img{aspect-ratio:310/405;position:relative}
.rail__img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--m);scale:0 1;transform-origin:left;transition:scale .5s var(--ease-dd)}
.rail__card:hover .rail__img::after,.rail__card:focus-visible .rail__img::after{scale:1 1}
.rail__cap{margin-top:20px;max-width:248px;text-wrap:balance}
.rail__tag{margin-top:6px;color:var(--grey);font:400 13px/18px var(--text);letter-spacing:.012em;text-wrap:balance;opacity:0;translate:0 -4px;transition:opacity .4s var(--ease-dd),translate .4s var(--ease-dd)}
.rail__card:hover .rail__tag,.rail__card:focus-visible .rail__tag{opacity:1;translate:0 0}
@media (hover:none){.rail__tag{opacity:1;translate:none}}
.rail__card:hover .rail__cap{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* images: fade in on load, settle on hover (dorisduke.org timings) */
.frame{overflow:hidden;background:var(--soft)}
.frame img{width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--ease-dd),scale .6s var(--ease-dd),translate 1.1s var(--ease)}
.frame img.is-wait,.ohero > img.is-wait{opacity:0}
a:hover .frame img,.icard:hover .frame img,.rail__card:hover .frame img{scale:1.05}
a:hover .frame:not(.logo-frame) img,.icard:hover .frame:not(.logo-frame) img{opacity:.9}
.logo-frame{position:relative;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 1px #e5e5e5;border-radius:16px;overflow:hidden}
.logo-frame img{position:absolute;inset:0;margin:auto;width:auto;height:66%;max-width:80%;object-fit:contain}
.logo-frame svg{width:58%;height:auto;transition:scale .6s var(--ease-dd)}
.icard:hover .logo-frame svg{scale:1.04}

/* ---------- sections ---------- */
.sec{padding:clamp(72px,9.4vw,136px) var(--g)}
.sec--rule{border-top:1px solid var(--line)}
/* home: the latest posts follow the focus-areas rail closely, not a full section's gap apart */
.rail:has(+ #home-latest){margin-bottom:clamp(28px,3vw,48px)}
#home-latest{padding-top:clamp(44px,4.6vw,72px)}
.sec--tight{padding-block:clamp(56px,6vw,88px)}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(36px,4.4vw,64px)}
.shead > div{display:grid;gap:12px;min-width:0}
.shead .t-small{white-space:nowrap}
@media (max-width:640px){.shead{flex-direction:column;align-items:flex-start;gap:14px}}
.grid{display:grid;gap:56px 40px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.g4,.g5,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.g2,.g3,.g4,.g5{grid-template-columns:minmax(0,1fr)}.grid{gap:44px}}

/* image card */
.icard{display:flex;flex-direction:column;min-width:0}
#home-gi .icard{background:#fff;border-radius:24px;padding:clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px) clamp(22px,2vw,30px);color:#111;--ink:#000;--grey:#737373;--line:#e5e5e5}
#home-gi .icard .logo-frame{box-shadow:none;background:#e7eefc}
#home-gi .icard:nth-child(2) .logo-frame{background:#fde9dc}
#home-gi .icard > :not(a){padding-inline:clamp(6px,.8vw,12px)}
.icard .frame{aspect-ratio:427/278;margin-bottom:24px}
.icard.is-wide .frame{aspect-ratio:1360/760}
.icard .t-eyebrow{margin-bottom:12px}
.eb-ic{font-size:15px;vertical-align:-.25em;margin-right:2px}
.icard.is-text{border-top:1px solid var(--line);padding-top:20px}
.icard.is-text .icard__t{font:400 22px/28px var(--serif);letter-spacing:-.005em}
.icard__t{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.icard__t svg{margin-top:6px;opacity:0;translate:-10px 0;transition:opacity .3s var(--ease-dd),translate .3s var(--ease-dd)}
.icard:hover .icard__t svg{opacity:1;translate:0 0}
.icard__p{margin-top:16px;max-width:36em}
.icard.is-wide .icard__p{max-width:35em}
.icard__more{margin-top:20px}

/* project tile: one self-contained card. Status at the top, the title and summary in the middle, the outcome at the foot.
   In mixed lists the outcome's tint grows out of its badge on hover; inside one outcome the card is tinted. */
.ptile{display:flex;min-width:0;--ink:#000;--grey:#6b6b6b;--line:#ececec;color:#111}
/* a light card: white, rounded, a hairline at rest and a soft shadow on hover; status as two chips */
.ptile__box{--pad:clamp(20px,1.8vw,28px);position:relative;flex:1;display:flex;flex-direction:column;min-height:clamp(300px,24vw,360px);padding:var(--pad);background:#fff;border-radius:22px;box-shadow:0 0 0 1px rgba(17,17,17,.07);transition:box-shadow .35s var(--ease-dd)}
.ptile:hover .ptile__box,.ptile:focus-visible .ptile__box{box-shadow:0 0 0 1px rgba(17,17,17,.1),0 18px 40px -22px rgba(17,17,17,.35)}
.ptile__top{display:flex;align-items:center;gap:10px}
.ptile__chips{display:flex;flex-wrap:wrap;gap:6px}
.ptile__chip{padding:4px 10px;border-radius:999px;font:500 12px/16px var(--text);box-shadow:inset 0 0 0 1px #dedede;color:#333}
.ptile__chip--d{background:var(--t);box-shadow:none;color:var(--ti)}
.ptile__m{margin-top:12px;font:400 13px/18px var(--text);color:var(--grey);text-wrap:balance}
.ptile__t{margin-top:clamp(22px,2.4vw,34px);font:400 clamp(22px,1.85vw,28px)/1.12 var(--display);letter-spacing:-.016em;text-wrap:balance;max-width:13em}
.ptile__p{margin-top:12px;font:400 15px/22px var(--text);color:#555;text-wrap:pretty;max-width:30em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ptile__foot{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font:500 13px/18px var(--text)}
.ptile__o{display:flex;align-items:center;gap:8px;min-width:0}
.ptile__o i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--m)}
.ptile__arrow{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#f1f0ec;transition:background-color .3s var(--ease-dd),color .3s var(--ease-dd)}
.ptile__arrow .ico{width:18px;height:18px}
.ptile:hover .ptile__arrow,.ptile:focus-visible .ptile__arrow{background:#111;color:#fff}
.ptile.is-done .ob{background:none;box-shadow:inset 0 0 0 1.5px var(--m);color:var(--m)}
.ptile.is-done .ptile__chip--d{background:#f1f0ec;color:#333}

/* heart by the projects title */
.h-heart{display:flex;align-items:center;gap:14px}
.heart{display:inline-flex;color:#b4613c;font-size:.8em;animation:beat 2.4s var(--ease-dd) infinite}
@keyframes beat{0%,62%,100%{scale:1}70%{scale:1.16}78%{scale:.96}86%{scale:1.08}}

/* the latest: one large article, two stacked beside it, four in a row below */
.lat{display:grid;gap:clamp(12px,1.2vw,18px)}
.lat__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(12px,1.2vw,18px)}
.lat__side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,1.2vw,18px)}
.lat__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,18px)}
/* article cards: a soft panel, rounded photo, type chip and date, title, one short line, Centre chip */
.art{display:flex;flex-direction:column;gap:14px;min-width:0;padding:10px 10px 16px;background:#f5f3ee;border-radius:22px;transition:background-color .3s var(--ease-dd)}
.art:hover{background:#efece4}
.art__img{position:relative;overflow:hidden;border-radius:14px;background:#e9e5dc}
.art__img img{width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-dd)}
.art:hover .art__img img{scale:1.04}
.art__tx{display:flex;flex-direction:column;gap:10px;padding:0 8px;flex:1;min-width:0}
.art__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font:400 13px/18px var(--text);color:#6b6b6b}
.art__kind{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;background:#fff;color:#111;font:500 12px/16px var(--text)}
.art__kind svg{width:14px;height:14px}
.art__t{font:400 21px/1.2 var(--display);letter-spacing:-.016em;text-wrap:balance}
.art:hover .art__t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.art__p{font:400 15px/22px var(--text);color:#444;text-wrap:pretty;max-width:36em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.art__c{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:4px;font:500 12px/16px var(--text);color:#333}
.art__c i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--m)}
.art--big .art__img{flex:1;min-height:320px}
.art--big .art__tx{flex:0 0 auto}
.art--big .art__t{font-size:clamp(26px,2.3vw,34px);line-height:1.12}
.art--side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;padding:10px;align-items:stretch}
.art--side .art__img{height:100%;min-height:170px}
.art--side .art__tx{padding:6px 6px 6px 0}
.art--side .art__t{font-size:clamp(19px,1.5vw,22px)}
.art--sm .art__img{aspect-ratio:4/3}
.art--sm .art__t{font-size:18px}
.art__geo{position:relative}
.art__tile{position:absolute;inset:0}
.art__doc{display:grid;place-items:center}
.art__docic{display:flex;font-size:44px;color:#111}
@media (max-width:960px){.lat__top{grid-template-columns:minmax(0,1fr)}.lat__row{grid-template-columns:repeat(2,minmax(0,1fr))}.art--big .art__img{flex:none;aspect-ratio:4/3;min-height:0}}
@media (max-width:560px){.art--side{grid-template-columns:minmax(0,1fr)}.art--side .art__img{aspect-ratio:4/3;height:auto}.art--side .art__tx{padding:0 8px 6px}.lat__row{grid-template-columns:minmax(0,1fr)}}

/* projects filter bar */
.fbar{display:grid;gap:16px;padding-block:22px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:48px}
.fbar__top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--ink)}
.seg button{font:400 14px/20px var(--text);padding:9px 16px;transition:background .3s var(--ease-dd),color .3s var(--ease-dd)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.fbar__count{display:flex;gap:14px;align-items:center;color:var(--grey);font:400 14px/20px var(--text)}
.fbar__count button{color:var(--ink);font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-f{display:inline-flex;align-items:center;gap:8px;font:400 14px/20px var(--text);border:1px solid var(--line-2);padding:8px 12px;transition:border-color .3s var(--ease-dd),background .3s var(--ease-dd),color .3s var(--ease-dd)}
.chip-f:hover{border-color:var(--ink)}
.chip-f[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip-f i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.chip-f .oi{color:var(--m)}
.chip-f[aria-pressed="true"] .oi{color:#fff}
.chip-f span{color:var(--grey)}
.chip-f[aria-pressed="true"] span{color:rgba(255,255,255,.65)}
.chips--s .chip-f{font-size:13px;padding:6px 10px}
.fbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.fbar__group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fbar__label{font:400 13px/20px var(--text);color:var(--grey);margin-right:4px}

/* goals board: the seven 2030 goals. A hairline runs to each goal; the dot marks what is reported.
   On hover the outcome's tint grows out of the row's dot into the ISAC capsule. */
.goals__head,.grow{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.05fr) 24px;gap:12px 36px;align-items:center;padding-inline:20px}
.goals__head{padding-bottom:14px;border-bottom:1px solid var(--ink)}
.goals__head span{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.goals__list{border-top:1px solid var(--ink)}
.goals__list li{border-bottom:1px solid var(--line)}
.grow{position:relative;isolation:isolate;padding-block:clamp(22px,2.4vw,32px)}
.grow::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--t);clip-path:inset(calc(50% - 18px) calc(100% - 58px) calc(50% - 18px) 20px round 999px);transition:clip-path .38s cubic-bezier(.5,0,.75,0)}
.grow:hover::before,.grow:focus-visible::before{clip-path:inset(0 round 999px);transition:clip-path .65s cubic-bezier(.25,1,.5,1)}
.grow__dot{display:grid}
.grow__title{font:400 17px/24px var(--text);text-wrap:balance}
.grow__track{display:grid;gap:8px}
.trk{position:relative;display:block;height:13px}
.trk::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--line-2)}
.trk::after{content:"";position:absolute;right:0;top:0;width:1px;height:13px;background:var(--ink)}
.trk__seg{position:absolute;left:0;top:5.5px;height:2px;width:calc(var(--p) * 1%);background:var(--m)}
.trk__dot{position:absolute;left:calc(var(--p) * 1%);top:2.5px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--m)}
.grow__cap{font:400 14px/20px var(--text);color:var(--grey);transition:color .4s var(--ease-dd)}
.grow__cap.is-on{color:var(--ink)}
.grow__goal{display:grid;gap:6px}
.grow__n{font:300 clamp(40px,4.4vw,64px)/.92 var(--display);letter-spacing:-.012em;white-space:nowrap}
.grow__unit{font:400 14px/20px var(--text);color:var(--grey);text-wrap:balance;transition:color .4s var(--ease-dd)}
.grow__a{opacity:0;translate:-10px 0;transition:opacity .3s var(--ease-dd),translate .3s var(--ease-dd)}
.grow:hover .grow__a,.grow:focus-visible .grow__a{opacity:1;translate:0 0}
.grow:hover .grow__cap,.grow:hover .grow__unit,.grow:focus-visible .grow__cap,.grow:focus-visible .grow__unit{color:var(--ti)}
.grow__title,.grow__track,.grow__goal{transition:opacity .9s var(--ease),filter .9s var(--ease),translate .9s var(--ease),color .4s var(--ease-dd);transition-delay:calc(var(--i,0)*70ms)}
.js .goals:not(.is-in) .grow__title,.js .goals:not(.is-in) .grow__track,.js .goals:not(.is-in) .grow__goal{opacity:0;filter:blur(8px);translate:0 18px}
@media (max-width:860px){
  .goals__head{display:none}
  .grow{grid-template-columns:40px minmax(0,1fr) 24px;padding-inline:0}
  .grow__dot{grid-column:1;grid-row:1}
  .grow__title,.grow__track,.grow__goal{grid-column:2}
  .grow__a{grid-column:3;grid-row:1;opacity:1;translate:0 0}
  .grow::before{inset:0 calc(var(--g) * -1);clip-path:inset(0 100% 0 0);transition:clip-path .38s cubic-bezier(.5,0,.75,0)}
  .grow:hover::before,.grow:focus-visible::before{clip-path:inset(0)}
}

/* latest: one feature, two stacked */
.latest{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:40px}
.latest .icard.is-wide .frame{aspect-ratio:3/2}
.latest__side{display:grid;gap:48px;align-content:start}
.latest__side .icard .frame{aspect-ratio:2/1;margin-bottom:18px}
.latest__side .icard__t{font-size:21px;line-height:28px}
.latest__side .icard__p{margin-top:10px}
@media (max-width:960px){.latest{grid-template-columns:minmax(0,1fr)}}

/* results: the verified numbers, set in the serif as evidence */
.results{gap:40px}
.res{display:grid;gap:10px;align-content:start;border-top:1px solid var(--ink);padding-top:22px}
.res__n{font:400 clamp(48px,5vw,72px)/1 var(--serif);letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums}
.res__w{font:400 19px/26px var(--text);text-wrap:balance}
.res__e{color:var(--grey);font:400 14px/20px var(--text);text-wrap:pretty}
.res__o{display:flex;align-items:center;gap:8px;font:400 14px/20px var(--text);color:var(--c)}


/* pathway columns */
.pways{grid-template-rows:repeat(4,auto);row-gap:12px}
.pway__ic{display:flex;color:var(--ink);font-size:30px;margin-bottom:6px}
.pway__geo{aspect-ratio:1;border-radius:18px;margin-bottom:8px}
.pway--pick[aria-pressed="true"] .pway__ic,a.pway:hover .pway__ic{color:var(--ink)}
.pway{border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
@supports (grid-template-rows:subgrid){.pways .pway{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:12px;align-content:start}}
@supports not (grid-template-rows:subgrid){.pway h3{min-height:3.12em}}
@media (max-width:760px){.pways .pway{margin-bottom:28px}}
.pway h3{font:300 clamp(24px,2.1vw,30px)/1.06 var(--display);letter-spacing:-.016em;text-wrap:balance}
.pway p{color:var(--grey);font:400 14px/20px var(--text);text-wrap:pretty}
.pway a{margin-top:6px;font-size:14px;line-height:20px;align-self:flex-start}
.pway__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font:400 14px/20px var(--text)}
.pway__more svg{width:16px;height:16px;translate:-4px 0;opacity:0;transition:opacity .3s var(--ease-dd),translate .3s var(--ease-dd)}
a.pway:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
a.pway:hover .pway__more svg{opacity:1;translate:0 0}

/* split: title left, content right */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.split > *{min-width:0}
.split__head{display:grid;gap:14px;align-content:start}
.split__head .t-small{max-width:30em}
.split__body{display:grid;gap:28px;align-content:start}
.sec--part{padding-block:clamp(48px,5vw,72px)}
.sec--part .split__head{position:sticky;top:calc(var(--tabs-h) + 32px);align-self:start;transition:top .45s var(--ease)}
body.float-on .sec--part .split__head{top:calc(var(--tabs-h) + var(--float) + 32px)}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.sec--part .split__head{position:static}}

/* the Centre's five parts: one sticky index on the left, the lists on the right */
.pidx ul{display:grid;gap:2px;position:relative}
.pidx a{display:flex;gap:10px;align-items:baseline;padding:6px 0 6px 22px;font:300 clamp(24px,2.1vw,30px)/1.1 var(--display);letter-spacing:-.006em;color:var(--grey);transition:color .3s var(--ease-dd)}
.pidx a:hover,.pidx li.is-on a{color:var(--ink)}
.pidx__n{font:400 14px/20px var(--text);letter-spacing:0}
.pidx__ic{display:inline-flex;font-size:.8em;align-self:center}
.pidx__dot{position:absolute;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--m);transition:translate .45s var(--ease-dd)}
.pidx__ds{display:grid;margin-top:24px;max-width:24em}
.pidx__d{grid-area:1/1;opacity:0;color:var(--grey);font:400 15px/22px var(--text);transition:opacity .2s var(--ease-dd)}
.pidx__d.is-on{opacity:1;transition-duration:.3s}
.pblks{gap:clamp(48px,5vw,72px)}
.pblk{display:grid;gap:14px}
.pblk__h{color:var(--ink)}
@media (min-width:861px){.pblk__h{display:none}}
@media (max-width:860px){.pidx{display:none}}

/* project status: two tracks */
.pstat{display:grid;gap:26px;max-width:660px;margin:6px 0 8px}
.pstat__h{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}
.pstat__track{position:relative;height:46px}
.pstat__seq{position:absolute;left:0;top:0;width:66%;height:100%}
.pstat__seq::before,.pstat__seq::after{content:"";position:absolute;left:0;top:6px;height:1px}
.pstat__seq::before{right:0;background:var(--line-2)}
.pstat__seq::after{width:calc(var(--k) * 100%);background:var(--ink)}
.pstat__s,.pstat__side{position:absolute;top:0;display:grid;gap:8px;justify-items:start}
.pstat__s:nth-child(1){left:0}
.pstat__s:nth-child(2){left:50%;justify-items:center;translate:-50% 0}
.pstat__s:nth-child(3){right:0;justify-items:end}
.pstat__side{left:calc(66% + 64px);max-width:calc(34% - 64px)}
.pstat__s i,.pstat__side i{position:relative;z-index:1;width:4px;height:4px;margin-top:4px;border-radius:50%;background:transparent}
.pstat__s.is-past i{background:var(--ink)}
.pstat__s.is-now i,.pstat__side.is-now i{width:8px;height:8px;margin-top:2px;background:var(--m)}
.pstat__s span,.pstat__side span{font:400 13px/18px var(--text);color:var(--grey);text-wrap:balance;white-space:nowrap}
.pstat__side span{white-space:normal}
.pstat__s.is-now span,.pstat__side.is-now span{color:var(--ink);font-weight:500}
@media (max-width:560px){
  .pstat__track{height:auto}
  .pstat__seq{position:relative;width:100%;height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .pstat__seq::after{width:calc(var(--k) * (66.67% + 7px))}
  .pstat__s,.pstat__s:nth-child(2),.pstat__s:nth-child(3){position:static;translate:none;justify-items:start}
  .pstat__s span{white-space:normal}
  .pstat__side{position:static;margin-top:16px;max-width:none}
}
.cta--one{grid-template-columns:minmax(0,1fr)}
.row__link{display:block;min-width:0}
.row__link:hover .row__t{text-decoration:underline;text-underline-offset:4px}
.row:has(.row__link:hover) .circ-s{border-color:var(--ink);transform:translateX(3px)}

/* support: pick a pathway */
.pway--pick{position:relative;text-align:left;cursor:pointer;background:none;border:0;border-top:1px solid var(--ink);padding:20px 0 0;font:inherit;color:inherit;transition:border-color .3s var(--ease-dd)}
.pway--pick[aria-pressed="true"]{box-shadow:inset 0 1px 0 var(--ink)}
.pway__dot{position:absolute;left:0;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--ink);scale:0;transition:scale .24s var(--ease-dd)}
.pway--pick[aria-pressed="true"] .pway__dot{scale:1;animation:dotdrop 1.1s cubic-bezier(.3,1.2,.4,1) both}
.pway--pick:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.pway__n{font:400 14px/20px var(--text);color:var(--grey)}
.pway__go{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:500}
.pway__go svg{width:14px;height:14px}

/* donate: one button to ISAC's Razorpay page */
.dn{padding:clamp(40px,5.6vw,80px) var(--g) clamp(72px,8vw,120px)}
.dn__top{display:grid;gap:14px;max-width:820px}
.dn__btn{min-height:56px;padding:14px 26px 14px 20px;font-size:18px;border-radius:12px;margin-top:12px}

/* about: how ISAC works (pathways to outcomes) */
.sys{margin:0}
.sys__svg{display:block;width:100%;height:auto;overflow:visible}
.sys__n text{font:400 15px Inter,'Helvetica Neue',Arial,sans-serif;fill:#000;transition:fill .3s var(--ease-dd)}
.sys__edges path{stroke:var(--line-2);stroke-width:1;transition:stroke .3s var(--ease-dd),stroke-width .3s var(--ease-dd),opacity .3s var(--ease-dd)}
.sys__n circle{fill:#000}
.sys__n{cursor:default}
.sys__ic{color:#000}
.sys__ic path{fill:currentColor}
.sys__o .sys__ic{color:var(--m)}
.sys.is-on .sys__edges path{opacity:.35}
.sys.is-on .sys__edges path.is-hi{opacity:1;stroke:#000;stroke-width:1.6}
.sys.is-on[data-by="o"] .sys__edges path.is-hi{stroke:var(--m);stroke-width:2.2}
.sys.is-on .sys__n text{fill:#a6a6a6}
.sys.is-on .sys__n.is-hi text{fill:#000}
.sys__m{display:none}
.sys__h{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin:28px 0 10px}
.sys__mt{display:flex;gap:10px;align-items:center}
@media (max-width:900px){.sys__svg{display:none}.sys__m{display:block}}

/* global initiatives: NSD grade staircase */
.ladder{margin:0;padding-top:24px}
.ladder__steps{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:start;padding-top:calc((var(--n) - 1) * 34px + 30px)}
.ladder__s{position:relative;margin-top:calc(var(--i) * -34px);border-top:1px solid var(--ink);padding:10px 16px 0 0;min-height:110px}
.ladder__s:not(:first-child)::before{content:"";position:absolute;left:-1px;top:-1px;width:1px;height:35px;background:var(--ink)}
.ladder__g{position:absolute;left:0;bottom:calc(100% + 10px);font:400 17px/22px var(--text);white-space:nowrap}
.ladder__s:not(:first-child) .ladder__g{left:12px}
.ladder__note{font:400 13px/18px var(--text);color:var(--grey);text-wrap:pretty;max-width:22em}
.ladder__note span{display:block;color:var(--ink);font-size:14px;margin-bottom:2px}
.ladder__s:not(:first-child) .ladder__note{padding-left:12px}
.ladder__br{position:relative;margin:28px 0 0 calc(100% / var(--n));border-top:1px solid var(--ink);padding-top:12px}
.ladder__br::before,.ladder__br::after{content:"";position:absolute;top:-6px;width:1px;height:6px;background:var(--ink)}
.ladder__br::before{left:0}.ladder__br::after{right:0}
.ladder__br span{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
@media (max-width:900px){
  .ladder__steps{grid-template-columns:minmax(0,1fr);padding-top:0;gap:0}
  .ladder__s{margin:0 0 0 calc(var(--i) * 12px);min-height:0;padding:14px 0 16px;border-top:1px solid var(--line)}
  .ladder__s::before{display:none}
  .ladder__g,.ladder__s:not(:first-child) .ladder__g{position:static;margin-bottom:6px}
  .ladder__s:not(:first-child) .ladder__note{padding-left:0}
  .ladder__br{margin:12px 0 0 12px}
}

/* centres index rows: the dot floods the row on hover */
.tbl__o{display:flex;align-items:center;gap:10px}
.tbl__cn{display:flex;gap:16px;align-items:center}
.tbl__r--tint{position:relative;isolation:isolate}
.tbl__r--tint::before{content:"";position:absolute;inset:0 -20px;z-index:-1;background:var(--t);clip-path:inset(0 100% 0 0);transition:clip-path .38s cubic-bezier(.5,0,.75,0)}
.tbl__r--tint:hover::before,.tbl__r--tint:focus-visible::before{clip-path:inset(0);transition:clip-path .65s cubic-bezier(.25,1,.5,1)}

/* outcome impact: results set large with evidence */
.ifig{display:grid;gap:32px}
.ifig__r{display:grid;gap:10px;border-top:1px solid var(--ink);padding-top:18px}
.ifig__n{font:300 clamp(30px,3.2vw,48px)/1.06 var(--display);letter-spacing:-.012em;text-wrap:balance}
.ifig__e{color:var(--grey);font:400 14px/20px var(--text);text-wrap:pretty}

/* our work: the seven outcomes as a giant one-word index */
.owx{display:flex;flex-direction:column;align-items:flex-start;padding:0 var(--g) clamp(64px,7vw,110px)}
.owx__i{position:relative;isolation:isolate;font:300 clamp(40px,7.2vw,104px)/1 var(--display);letter-spacing:-.012em;padding:2px 10px 4px 0;text-align:left}
.owx__i span{position:relative}
.owx__i::before{content:"";position:absolute;inset:6% -12px 4% -12px;z-index:-1;background:var(--t);scale:0 1;transform-origin:left;transition:scale .3s var(--ease-dd)}
.owx__i:hover::before,.owx__i:focus-visible::before{scale:1 1}
.owx__i{display:inline-flex;align-items:center;gap:18px}
.owx__b{scale:0;transition:scale .35s cubic-bezier(.34,1.4,.64,1)}
.owx__i:hover .owx__b,.owx__i:focus-visible .owx__b{scale:1}

/* projects: list view */
.seg--s{margin-left:6px}
.seg--s button{padding:6px 12px;font-size:13px}
#projectGrid.is-list{display:block}
.ptbl{border-bottom:1px solid var(--line)}
.ptbl__h,.ptbl__r{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:24px;align-items:baseline;padding-inline:12px}
.ptbl__h{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ptbl__r{position:relative;isolation:isolate;padding-block:20px;border-top:1px solid var(--line);font:400 14px/20px var(--text)}
.ptbl__h + .ptbl__r{border-top:0}
.ptbl__r::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--t);clip-path:inset(0 100% 0 0);transition:clip-path .38s cubic-bezier(.5,0,.75,0)}
.ptbl__r:hover::before,.ptbl__r:focus-visible::before{clip-path:inset(0);transition:clip-path .65s cubic-bezier(.25,1,.5,1)}
.ptbl__t{font:400 19px/24px var(--display);letter-spacing:-.006em;text-wrap:balance}
.ptbl__o{display:flex;align-items:center;gap:8px}
.ptbl__o i{width:8px;height:8px;border-radius:50%;background:var(--m);flex:none}
.ptbl__k{display:none}
@media (max-width:860px){
  .ptbl__h{display:none}
  .ptbl__r{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding-inline:0}
  .ptbl__t{grid-column:1/-1;margin-bottom:4px}
  .ptbl__k{display:block;color:var(--grey);font-size:12px;line-height:16px}
}

/* project gallery */
.gal{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;height:clamp(360px,40vw,580px);padding-inline:var(--g)}
.gal__i{margin:0;min-height:0}
.gal__i--big{grid-row:span 2}
.gal__ph{display:grid;place-content:center;justify-items:center;gap:12px;padding:20px;background:var(--t);color:var(--grey);text-align:center}
.gal__ic{display:flex;font-size:34px;color:var(--m)}
.gal__ph figcaption{font:400 13px/18px var(--text);max-width:18em;text-wrap:balance}
.gal__n{position:absolute;left:calc(var(--g) + 16px);bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg);font:500 12px/16px var(--text)}
@media (max-width:760px){.gal__n{top:12px;bottom:auto;left:calc(var(--g) + 12px)}.gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;height:auto}.gal__i--big{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.gal__i:not(.gal__i--big){aspect-ratio:1}}

/* status board */
.stb{display:grid;gap:clamp(24px,2.6vw,36px);margin-top:clamp(40px,4vw,56px);padding-block:clamp(44px,4.6vw,64px)}
.stb__h{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#3f3f3f;margin-bottom:14px}
.stb__line{display:flex;align-items:center;gap:clamp(16px,2vw,32px);flex-wrap:wrap}
.stb__seq{display:flex;align-items:center;flex:0 1 auto;min-width:0;flex-wrap:wrap;gap:10px 0}
/* every state is a readable chip: done = soft white with a tick, current = solid black with the outcome badge, still to come = outlined */
.stb__seq li,.stb__side{display:flex;align-items:center;gap:10px;padding:10px 20px;border-radius:999px;font:400 clamp(18px,1.7vw,24px)/1.1 var(--display);letter-spacing:-.012em;white-space:nowrap;color:#3f3f3f;box-shadow:inset 0 0 0 1.5px rgba(17,17,17,.3)}
.stb__seq li{position:relative}
.stb__seq li + li::before{content:"";position:absolute;right:calc(100% + 6px);top:50%;width:calc(clamp(26px,3.2vw,46px) - 12px);height:1.5px;background:rgba(17,17,17,.35)}
.stb__seq li + li{margin-left:clamp(26px,3.2vw,46px)}
.stb__seq li.is-past{background:rgba(255,255,255,.65);box-shadow:none;color:#111}
.stb__tick{width:20px;height:20px;flex:0 0 auto}
.stb__seq li.is-now,.stb__side.is-now{background:#111;color:#fff;box-shadow:none;padding-left:8px}
.stb__side{margin-left:clamp(10px,1.6vw,24px);font-size:clamp(15px,1.3vw,19px);box-shadow:none;border:1.5px dashed rgba(17,17,17,.38)}
.stb__side.is-now{border-color:#111}
@media (max-width:760px){.stb__seq li + li{margin-left:8px}.stb__seq li + li::before{display:none}.stb__seq li,.stb__side{font-size:17px;padding:8px 14px}.stb__side{margin-left:0}}
.pj-sum{max-width:24em}

/* project facts strip (Augustinus Fonden / Bureaugraphies / Villa Kujoyama / HMS Trust) */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;background:#f4f2ee;border-radius:22px;overflow:hidden}
.facts > div{display:grid;gap:8px;align-content:start;min-width:0;padding:20px clamp(18px,1.8vw,26px) 22px}
.facts > div + div{box-shadow:inset 1px 0 0 rgba(17,17,17,.1)}
.facts dt{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.facts dd{margin:0;font:400 16px/22px var(--text);text-wrap:balance}
.facts a:hover{text-decoration:underline;text-underline-offset:4px}
.facts__o{display:inline-flex;align-items:center;gap:10px}
.facts dt .pi{font-size:13px;vertical-align:-.15em;margin-right:2px}
@media (max-width:860px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts > div:nth-child(3){box-shadow:inset 0 1px 0 rgba(17,17,17,.1)}.facts > div:nth-child(4){box-shadow:inset 1px 0 0 rgba(17,17,17,.1),inset 0 1px 0 rgba(17,17,17,.1)}}
.pj-body .split__head .pstat{margin-top:4px;position:sticky;top:calc(var(--g) + 8px)}
body.float-on .pj-body .split__head .pstat{top:calc(var(--float) + 24px)}
@media (max-width:860px){.pj-body .split__head .pstat{position:static}}

/* icons: Phosphor fill. The outcome badge is the dot carrying its icon. */
.pi{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.14em}
.ob{--s:36px;display:inline-grid;place-items:center;width:var(--s);height:var(--s);border-radius:50%;background:var(--m);color:#fff;flex:none}
.ob .pi{width:54%;height:54%;vertical-align:0}
.ob--s{--s:28px}.ob--l{--s:52px}.ob--xl{--s:64px}
.oi{display:inline-flex;color:var(--m);flex:none}
.oi .pi{width:16px;height:16px;vertical-align:0}
.ink-ic{display:inline-flex;color:var(--ink);flex:none}
.lab-ob{display:inline-flex;align-items:center;gap:14px}

/* events */
.cblog__h{display:flex;align-items:center;gap:10px;margin:36px 0 18px!important}
.cblog__h i{width:9px;height:9px;border-radius:50%;background:var(--m)}
.evs__h{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin:4px 0 -8px}
.evtop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
.evtop .evc{grid-template-columns:minmax(0,1fr)}
.evtop .evc__img{aspect-ratio:4/3}
.evc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,1.6vw,24px);align-items:start}
.evc__img{aspect-ratio:4/3}
.evc__tx{display:grid;gap:8px}
.evc__t{font:400 20px/26px var(--display);letter-spacing:-.006em;text-wrap:balance}
.evc__p{font:400 14px/21px var(--text);color:var(--grey);text-wrap:pretty}
.evc__c,.evr__c{display:flex;align-items:center;gap:8px;font:400 13px/18px var(--text);color:var(--grey)}
.evc__c i,.evr__c i,.cal__list i{width:8px;height:8px;border-radius:50%;background:var(--m);flex:none}
.evr{border-top:1px solid var(--line)}
.evr__r{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,.7fr);gap:6px 24px;padding-block:16px;border-bottom:1px solid var(--line);align-items:baseline}
.evr__d{font:400 14px/20px var(--text);color:var(--grey);font-variant-numeric:tabular-nums}
.evr__t{font:400 16px/23px var(--text);text-wrap:pretty}
@media (max-width:760px){.evtop{grid-template-columns:minmax(0,1fr)}.evc{grid-template-columns:minmax(0,1fr)}.evr__r{grid-template-columns:minmax(0,1fr)}}
.cal{margin-top:20px;max-width:440px;border:1px solid var(--line);padding:18px}
.cal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cal__m{font:400 18px/24px var(--display);letter-spacing:-.004em}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal__w{font:500 10px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);text-align:center;padding-bottom:6px}
.cal__d{position:relative;aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:3px;font:400 13px/1 var(--text);color:#a6a6a6}
.cal__d b{font-weight:400}
.cal__d.has-ev{color:var(--ink);background:var(--soft)}
.cal__d i{width:6px;height:6px;border-radius:50%;background:var(--m)}
.cal__d.is-today b{text-decoration:underline;text-underline-offset:3px}
.cal__list{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:8px}
.cal__list li{display:grid;grid-template-columns:8px auto minmax(0,1fr);gap:10px;align-items:baseline;font:400 13px/18px var(--text)}
.cal__when{color:var(--grey);white-space:nowrap}
.cal__none{display:block!important;color:var(--grey)}

/* published reports as cards */
.rcard{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:10px;min-height:280px;padding:clamp(20px,1.8vw,28px);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.rcard::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tint);clip-path:inset(100% 0 0 0);transition:clip-path .55s var(--ease-dd)}
.rcard:hover::before,.rcard:focus-visible::before{clip-path:inset(0)}
.rcard__ic{display:flex;font-size:40px;margin-bottom:10px}
.rcard__k{font:400 13px/18px var(--text);color:var(--grey)}
.rcard__t{font:400 clamp(22px,1.9vw,28px)/1.15 var(--display);letter-spacing:-.012em;text-wrap:balance}
.rcard__s{font:400 14px/20px var(--text);color:var(--grey)}
.rcard__f{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;font:500 13px/18px var(--text)}
.rcard__a{display:flex;opacity:.35;translate:-6px 0;transition:opacity .3s var(--ease-dd),translate .3s var(--ease-dd)}
.rcard:hover .rcard__a{opacity:1;translate:0 0}

/* featured Centre */
.feat-c{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,3.4vw,56px);align-items:stretch;padding:0 var(--g) clamp(64px,7vw,104px)}
.feat-c__img{min-height:clamp(360px,36vw,540px)}
.feat-c__tx{display:grid;gap:18px;align-content:center;padding:clamp(8px,1.6vw,24px) 0}
.feat-c__k{display:flex;align-items:center;gap:12px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.feat-c__t{font:300 clamp(34px,3.4vw,52px)/1.04 var(--display);letter-spacing:-.02em;text-wrap:balance}
.feat-c__t a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.feat-c__goal{display:grid;gap:8px;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.feat-c__goal .trk{margin-top:6px}
.feat-c__n{font:300 clamp(40px,4vw,60px)/.95 var(--display);letter-spacing:-.012em}
@media (max-width:860px){.feat-c{grid-template-columns:minmax(0,1fr)}.feat-c__img{min-height:0;aspect-ratio:4/3}}

/* centres carousel */
.crail{display:flex;gap:clamp(20px,2vw,32px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);padding:28px var(--g) 8px;scrollbar-width:none}
.crail::-webkit-scrollbar{display:none}
.ccard{flex:0 0 clamp(280px,30vw,420px);scroll-snap-align:start;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s var(--ease-dd)}
.ccard:hover{box-shadow:inset 0 0 0 1px var(--m)}
.ccard__img{aspect-ratio:1;position:relative}
.ccard__geo{position:absolute;inset:0}
.ccard__img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--m);scale:0 1;transform-origin:left;transition:scale .5s var(--ease-dd)}
.ccard:hover .ccard__img::after{scale:1 1}
.ccard__tx{display:grid;gap:10px;padding:clamp(18px,1.6vw,24px);align-content:start}
.ccard__t{font:400 clamp(21px,1.7vw,26px)/1.15 var(--display);letter-spacing:-.012em;text-wrap:balance;margin-top:6px}
.ccard__o{font:400 15px/21px var(--text);color:var(--grey)}
.ccard__g{font:400 14px/20px var(--text);padding-top:12px;border-top:1px solid var(--line)}
.ccard__g span{font:300 26px/1 var(--display);letter-spacing:-.01em;margin-right:4px}
.ccard__p{font:400 12px/17px var(--text);color:var(--grey)}

/* people */
/* people: halftone portraits on colour panels */
.stories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--g) * -1);padding-inline:var(--g);scroll-padding-inline:var(--g);scrollbar-width:none}
.stories::-webkit-scrollbar{display:none}
.story{position:relative;margin:0;flex:0 0 clamp(270px,25vw,380px);height:clamp(460px,40vw,580px);background:var(--bg);color:#111;scroll-snap-align:start;overflow:hidden}
.story:first-child{border-radius:22px 0 0 22px}
.story:last-child{border-radius:0 22px 22px 0}
.story figcaption{position:relative;z-index:1;padding:clamp(18px,1.8vw,26px)}
.story__n{font:600 clamp(22px,1.9vw,28px)/1.02 var(--display);letter-spacing:-.03em;text-wrap:balance;max-width:11em}
.story__r{font:500 13px/18px var(--text);margin-top:8px}
.story__b{font:400 13px/19px var(--text);margin-top:10px;max-width:24em;text-wrap:pretty;opacity:0;translate:0 6px;transition:opacity .4s var(--ease-dd),translate .4s var(--ease-dd)}
.story:hover .story__b,.story:focus-within .story__b{opacity:1;translate:0 0}
.story__img{position:absolute;left:50%;bottom:0;translate:-50% 0;height:66%;width:auto;max-width:none;transition:translate .6s var(--ease-dd)}
.story:hover .story__img{translate:-50% -8px}
@media (hover:none){.story__b{opacity:1;translate:0 0}}
@media (max-width:640px){.story{flex-basis:78vw;height:540px}.story__img{height:58%}}

/* rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;padding-block:22px;border-bottom:1px solid var(--line);align-items:start}
.row__t{font:400 16px/24px var(--text)}
.row__d{color:var(--grey);font:400 14px/20px var(--text);margin-top:4px;max-width:44em}
.row__x{font-size:14px;line-height:24px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.row__meta{display:flex;align-items:center;gap:16px;color:var(--grey);font:400 14px/24px var(--text);white-space:nowrap}
.pdf-ic{font-size:22px}
.chip{display:inline-block;font:500 10px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);padding:5px 6px;color:var(--ink)}
.kv{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);gap:6px 24px;padding-block:20px;border-bottom:1px solid var(--line)}
.kv dt{color:#3d3d3d;font:400 14px/24px var(--text);display:flex;gap:10px;align-items:flex-start}
.kv-ic{font-size:20px;margin-top:2px}
.kv dd{font:400 16px/24px var(--text)}
@media (max-width:560px){.kv{grid-template-columns:minmax(0,1fr)}}
.empty{color:var(--grey);font:400 14px/20px var(--text);padding-block:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* table rows (grant-table style) */
.tbl{border-bottom:1px solid var(--line)}
.tbl__h,.tbl__r{display:grid;grid-template-columns:var(--cols);gap:24px;align-items:center}
.tbl__h{color:var(--grey);font:400 14px/20px var(--text);padding-bottom:14px;border-bottom:1px solid var(--line)}
.tbl__r{padding-block:26px;border-top:1px solid var(--line)}
.tbl__h + .tbl__r{border-top:0}
.tbl__r > *{min-width:0}
.tbl__r:hover .tbl__name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.tbl__r:hover .circ-s{border-color:var(--ink);transform:translateX(3px)}
.tbl__name{font:500 16px/24px var(--text)}
.tbl__sub{color:var(--grey);font:400 14px/20px var(--text);margin-top:4px}
.tbl__k{display:none;color:var(--grey);font:400 13px/18px var(--text)}
@media (max-width:860px){.tbl__h{display:none}.tbl__r{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.tbl__r > .tbl__c{grid-column:1}.tbl__r > .circ-s{grid-column:2;grid-row:1}.tbl__k{display:block}}

/* serif call-to-action module */
.cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center;padding:40px var(--g);border-top:1px solid var(--line)}
.cta__text{display:grid;gap:14px;max-width:560px;padding-block:40px}
.cta__text .btns{margin-top:18px}
.cta .frame{aspect-ratio:660/440}
@media (max-width:860px){.cta{grid-template-columns:minmax(0,1fr)}.cta__text{padding-block:24px 0}}

/* page heads */
.phead{padding:clamp(40px,5.6vw,80px) var(--g) clamp(56px,7vw,100px);display:grid;gap:clamp(32px,4vw,56px)}
.phead__top{display:grid;gap:18px}
.phead__top h1{max-width:16em}
.phead__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.phead__cols > :last-child{grid-column:2;display:grid;gap:20px}
@media (max-width:860px){.phead__cols{grid-template-columns:minmax(0,1fr)}.phead__cols > :last-child{grid-column:1}}
.back{display:inline-flex;align-items:center;gap:10px;color:var(--grey);font:400 14px/20px var(--text)}
.back:hover{color:var(--ink)}

/* Our Work: stacked sticky panels (the dorisduke.org "Our Ideas" pattern) */
.ows{--band:34px}
@media (max-height:760px){.ows{--band:26px}}
.ow{position:sticky;top:calc(var(--i) * var(--band));height:calc(100vh - var(--i) * var(--band));min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center;padding:calc(var(--band) + clamp(24px,3vw,40px)) var(--g) clamp(24px,3vw,40px);background:var(--bg);transition:top .45s var(--ease)}
body.float-on .ow{top:calc(var(--float) + var(--i) * var(--band))}
.ow__tab{position:absolute;inset:0 0 auto;height:var(--band);display:flex;align-items:center;gap:10px;padding-inline:var(--g);background:var(--bg);border-top:1px solid var(--line);font:400 14px/20px var(--text);color:var(--ink);text-align:left}
.ow__tab .oi{transition:scale .3s var(--ease-dd)}
.ow__tab:hover .oi,.ow__tab:focus-visible .oi{scale:1.25}
.ow__tab:hover,.ow__tab:focus-visible{text-decoration:underline;text-underline-offset:4px}
.ow__anchor{display:block;height:0}
.ow__text{display:grid;gap:20px;align-content:center;max-width:620px}
.ow__tag{color:var(--grey);font:400 15px/22px var(--text);display:flex;align-items:center;gap:14px}
.ow__t{font:300 clamp(40px,4.45vw,66px)/1.02 var(--display);letter-spacing:-.022em;text-wrap:balance}
.ow__t a:hover{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.ow__rest{display:grid;gap:20px}
.ow__img{justify-self:end;height:min(calc(74vh - var(--i) * var(--band)),720px);aspect-ratio:4/5;max-width:100%}
.ow__t,.ow__rest{transition:opacity .9s var(--ease),filter .9s var(--ease),translate .9s var(--ease)}
.ow__rest{transition-delay:.12s}
.js .ow:not(.is-in) .ow__t,.js .ow:not(.is-in) .ow__rest{opacity:0;filter:blur(10px);translate:0 22px}
.js .ow:not(.is-in) .ow__img img{translate:0 48px;scale:1.06}
@media (max-width:860px){.ow{position:relative;top:0!important;height:auto;min-height:0;grid-template-columns:minmax(0,1fr);padding-block:calc(var(--band) + 32px) 56px}.ow__img{justify-self:stretch;height:auto;aspect-ratio:4/3}}

/* events hero */
.evh{--rule:#cdc9c2;display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(0,2.85fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto auto;background:#ebe9e4;color:#111;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:min(calc(100svh - var(--bar)),860px)}
.evh__side{grid-row:1/-1;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:22px var(--g) 26px;border-right:1px solid var(--rule)}
.evh__page{font:400 15px/20px var(--text);letter-spacing:.01em;color:#5f5f5f}
.evh__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.evh__li{display:flex;gap:10px;align-items:baseline;text-align:left;background:none;border:0;padding:0;font:400 clamp(17px,1.35vw,20px)/1.22 var(--display);letter-spacing:-.01em;color:#5c5c5c;cursor:pointer;transition:color .25s}
.evh__li i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--m);translate:0 -2px;opacity:.45;transition:opacity .25s}
.evh__li[aria-pressed="true"],.evh__li:hover{color:#111}
.evh__li[aria-pressed="true"] i{opacity:1}
.evh__more{font:500 14px/20px var(--text);color:#111;align-items:center}
.evh__more .ico{width:15px;height:15px}
.evh__main{grid-row:1/-1;grid-column:2;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:22px clamp(20px,2vw,32px) 26px;border-right:1px solid var(--rule)}
.evh__top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.evh__who{font:400 clamp(17px,1.4vw,21px)/1.25 var(--display);letter-spacing:-.008em}
.evh__dates{display:flex;gap:6px;align-items:center}
.evh__d{display:flex;align-items:center;gap:6px;background:none;border:0;padding:0 4px 0 0;cursor:pointer;font:400 clamp(15px,1.2vw,18px)/1 var(--display);color:#111}
.evh__d b{display:grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:999px;background:var(--m);color:#fff;font:500 15px/1 var(--text);opacity:.5;transition:opacity .25s,scale .25s}
.evh__d.is-on b,.evh__d:hover b{opacity:1}
.evh__d.is-on b{scale:1.08}
.evh__d b{position:relative}
.evh__k{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.evh__cd{display:grid;align-content:end;gap:4px;height:100%;padding:clamp(16px,1.6vw,22px)}
.evh__cd span{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#4a4a4a}
.evh__cd b{font:300 clamp(56px,5.4vw,88px)/.9 var(--display);letter-spacing:-.04em;color:#111}
.evh__cd span:first-child::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--m)}
.evh__cd b.evh__cdw{font-size:clamp(24px,2.2vw,32px);line-height:1.05;letter-spacing:-.02em}
.evh__c1{display:grid}
.evh__acts{display:grid;flex:0 1 270px;min-width:220px;border-radius:18px;background:#fff;overflow:hidden}
.evh__act{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:0;background:none;color:#111;text-align:left;cursor:pointer;transition:background-color .2s var(--ease-dd)}
.evh__act + .evh__act{box-shadow:inset 0 1px 0 #ebe8e1}
.evh__act:hover{background:#f5f3ee}
.evh__ai{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f1efea}
.evh__ai svg{width:16px;height:16px}
.evh__at{display:grid;gap:1px;font:500 14px/18px var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evh__at small{font:400 12px/16px var(--text);color:#5c5c5c;overflow:hidden;text-overflow:ellipsis}
.evh__aa{display:flex;transition:translate .25s var(--ease-dd)}
.evh__aa svg{width:15px;height:15px}
.evh__act:hover .evh__aa{translate:3px 0}
.evh__tot{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.evh__tot button{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:#fff;font:400 14px/18px var(--text);color:#333;cursor:pointer}
.evh__tot button:hover{background:#111;color:#fff}
.evh__tot b{font:500 16px/1 var(--display);color:inherit}
.evh__d b em{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#111;color:#fff;font:600 10px/1 var(--text);font-style:normal}
.evh__lab{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#5f5f5f;margin-bottom:12px}
.evh__top{align-items:flex-start}
.evh__top .evh__lab{margin:4px 0 0}
.evh__leaves{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.evh__leaf{position:relative;display:grid;justify-items:center;gap:3px;min-width:68px;padding:10px 10px 9px;border:0;border-radius:16px;background:#fff;color:#111;box-shadow:inset 0 0 0 1px #dcd8cf;cursor:pointer;transition:background-color .2s var(--ease-dd),box-shadow .2s var(--ease-dd),translate .2s var(--ease-dd)}
.evh__leaf:hover{box-shadow:inset 0 0 0 1.5px #111;translate:0 -2px}
.evh__leaf b{font:400 28px/1 var(--display);letter-spacing:-.02em}
.evh__lw,.evh__lm{font:500 10px/12px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#555}
.evh__ld{display:flex;align-items:center;gap:3px;height:8px;margin-top:4px}
.evh__ld i{width:7px;height:7px;border-radius:50%;background:var(--m);box-shadow:0 0 0 1.5px #fff}
.evh__ld small{font:600 10px/1 var(--text);margin-left:2px}
.evh__leaf.is-on{background:#111;color:#fff;box-shadow:none}
.evh__leaf.is-on .evh__lw,.evh__leaf.is-on .evh__lm{color:#d9d9d9}
.evh__leaf.is-on .evh__ld i{box-shadow:0 0 0 1.5px #111}
.evh__chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:999px;background:#fff;font:500 13px/18px var(--text);letter-spacing:0;text-transform:none}
.evh__chip i{width:9px;height:9px;border-radius:50%;background:var(--m)}
.evh__k .evh__chip{color:#111;filter:none}
.evh__li span{display:grid;gap:2px}
.evh__li small{font:400 13px/18px var(--text);letter-spacing:0;color:#555}
.evh__box dd span{display:block;font:400 14px/20px var(--text);color:#5f5f5f;margin-top:2px;filter:none}
.evh__box div:first-child dd span{color:#5f5f5f}
button.evh__cta{width:100%;border:0;text-align:left;cursor:pointer}
.evh__body{display:grid;gap:22px}
.evh__k{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.evh__k > span:not(.evh__chip){color:#111;margin-left:4px}
.evh__h{font:500 clamp(44px,5.4vw,88px)/.98 var(--display);letter-spacing:-.04em;text-wrap:balance;max-width:11em}
.evh__p{font:400 16px/25px var(--text);color:#4a4a4a;max-width:36em;text-wrap:pretty}
.evh__box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;margin:4px 0 0;padding:16px 18px;background:#f6f5f2;max-width:640px}
.evh__box dt{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#5f5f5f}
.evh__box dd{margin:4px 0 0;font:500 clamp(18px,1.5vw,22px)/1.2 var(--display);letter-spacing:-.01em}
.evh__box div:first-child dd{color:#111}
.evh__cell{border-bottom:1px solid var(--rule);min-width:0}
.evh__photo{border-right:1px solid var(--rule)}
.evh__c1in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;height:100%;padding:clamp(14px,1.4vw,20px)}
.evh__c1in .evh__cd{height:auto;padding:0}
.evh__c1{grid-column:3/5;grid-row:1}
.evh__photo{grid-column:3;grid-row:2;aspect-ratio:1;overflow:hidden}
.evh__photo img{width:100%;height:100%;object-fit:cover}
.evh__tile{grid-column:4;grid-row:2;aspect-ratio:1}
.evh__tile .geo{width:100%;height:100%}
.evh__ctaw{grid-column:3/5;grid-row:3;border-bottom:0;padding:clamp(14px,1.4vw,20px)}
.evh__cta{position:relative;display:flex;align-items:flex-end;min-height:clamp(170px,15vw,230px);padding:clamp(18px,1.8vw,26px);background:#fff04d;color:#111;font:500 clamp(22px,1.9vw,28px)/1.12 var(--display);letter-spacing:-.015em;transition:background .3s}
.evh__cta:hover{background:#ffe100}
.evh__arr{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111;color:#fff04d;transition:rotate .35s var(--ease-dd)}
.evh__arr svg{width:16px;height:16px}
.evh__cta:hover .evh__arr{rotate:45deg}
@media (max-width:1000px){
  .evh{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;min-height:0}
  .evh__side{grid-column:1/-1;grid-row:auto;border-right:0;border-bottom:1px solid var(--rule);padding:18px var(--g)}
  .evh__list{margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
  .evh__main{grid-column:1/-1;grid-row:auto;border-right:0;border-bottom:1px solid var(--rule);padding:22px var(--g) 28px;gap:40px}
  .evh__c1{grid-column:1/-1;grid-row:auto;border-bottom:1px solid var(--rule)}
  .evh__photo,.evh__tile{grid-column:auto;grid-row:auto;aspect-ratio:1}
  .evh__ctaw{grid-column:1/-1;grid-row:auto;padding:var(--g)}
}
@media (max-width:560px){.evh__top{flex-direction:column}.evh__box{grid-template-columns:minmax(0,1fr);gap:12px}}

/* projects bento */
#projectGrid.is-bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;row-gap:14px!important}
.bx{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;min-width:0;color:#111}
.bx--text{background:var(--sh);padding:clamp(20px,1.9vw,28px);min-height:clamp(380px,31vw,470px)}
.bx--text + .bx--photo,.bx--photo + .bx--text{align-self:stretch}
.bx--photo{grid-column:span 2;height:clamp(380px,31vw,470px);background:#ddd}
.bx--photo img{position:absolute;inset:0}
.bx--photo img,.bx__img img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease-dd)}
.bx--photo:hover img,.bx--split:hover .bx__img img{scale:1.04}
.bx--split{background:var(--sh)}
.bx__head{display:flex;flex-direction:column;padding:clamp(20px,1.9vw,28px);min-height:clamp(200px,15vw,232px)}
.bx__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:22px 22px 0 0}
.bx__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}
.bx__chip{display:inline-block;padding:4px 7px;border:1px solid currentColor;border-radius:6px;font:600 10px/12px var(--text);letter-spacing:.04em;text-transform:uppercase}
.bx__ic{display:flex;font-size:26px}
.bx__t{font:500 clamp(22px,1.9vw,30px)/1.06 var(--display);letter-spacing:-.025em;text-wrap:balance;max-width:14em}
.bx__foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px}
.bx__go{font:600 12px/16px var(--text);letter-spacing:.03em;text-transform:uppercase}
.bx__arr{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#111;color:#fff;transition:translate .35s var(--ease-dd)}
.bx__arr .ico{width:20px;height:20px}
.bx__arr--w{position:absolute;right:16px;bottom:16px;background:#fff;color:#111}
.bx:hover .bx__arr{translate:4px 0}
.bx:hover .bx__t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media (max-width:1000px){#projectGrid.is-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#projectGrid.is-bento{grid-template-columns:minmax(0,1fr)}.bx--photo{grid-column:auto;height:auto;aspect-ratio:4/3}.bx--text{min-height:300px}}

/* stat cards */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.st{display:flex;flex-direction:column;gap:22px;min-height:clamp(280px,22vw,340px);padding:clamp(20px,2vw,30px);background:var(--bg);color:var(--ink);border-radius:20px;transition:translate .4s var(--ease-dd)}
a.st:hover{translate:0 -4px}
.st--wide{grid-column:span 2}
.st__k{display:flex;align-items:center;gap:10px;font:600 12px/16px var(--text);letter-spacing:.05em;text-transform:uppercase}
.st__ic{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:17px}
.st__fig{display:grid;gap:10px;margin-top:auto}
.st__big{font:400 clamp(56px,5.6vw,96px)/.9 var(--display);letter-spacing:-.045em}
.st--np .st__big{font-size:clamp(30px,2.8vw,44px);letter-spacing:-.02em;opacity:.75}
.st__of{font:400 clamp(16px,1.3vw,20px)/1.35 var(--text);max-width:24em;text-wrap:balance}
.st__of b{font-weight:600}
.st__bar{display:flex;align-items:center;gap:12px}
.st__trk{position:relative;flex:1;height:14px;border-radius:999px;background:color-mix(in srgb,var(--ink) 16%,transparent);overflow:hidden}
.st__trk i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p) * 1%);min-width:14px;border-radius:999px;background:var(--ink)}
.st--np .st__trk{background:none;border:1.5px dashed color-mix(in srgb,var(--ink) 45%,transparent)}
.st--np .st__trk i{display:none}
.st__pct{flex:0 0 auto;min-width:3.2em;text-align:right;font:600 16px/1 var(--text)}
.st--wide .st__big,.st--panel .st__big{font-size:clamp(72px,7.4vw,128px)}
.st--np.st--panel .st__big,.st--np.st--wide .st__big{font-size:clamp(34px,3.2vw,52px)}
.st--panel{height:100%;min-height:0}
/* home initiative cards: every card the same height, vision first, goal at the foot */
.shead .goals__sub{max-width:40em;white-space:normal;font-size:16px;line-height:24px;opacity:.85}
.stats--home{grid-auto-rows:1fr}
.hc{gap:16px;min-height:0}
.hc__v{font:400 clamp(24px,2vw,30px)/1.18 var(--display);letter-spacing:-.015em;text-wrap:balance;max-width:16em}
.hc__t{font:400 clamp(15px,1.1vw,17px)/1.5 var(--text);max-width:30em;text-wrap:pretty}
.hc__goal{display:grid;gap:8px;margin-top:auto;padding-top:8px}
.hc__lab{font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase}
.hc .st__big{font-size:clamp(52px,4.6vw,80px)}
.hc.st--wide .st__big{font-size:clamp(64px,6vw,104px)}
.hc__u{font:600 clamp(15px,1.15vw,18px)/1.3 var(--text)}
.hc__base{font:400 14px/20px var(--text);max-width:30em;opacity:.85}
.hc__cta{display:inline-flex;align-items:center;gap:6px;font:600 14px/1 var(--text)}
.hc:hover .hc__cta,.hc:focus-visible .hc__cta{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.st--wide{grid-column:span 2}}
@media (max-width:640px){.stats{grid-template-columns:minmax(0,1fr)}.st--wide{grid-column:auto}.st__big,.st--wide .st__big,.st--panel .st__big{font-size:clamp(52px,16vw,80px)}}

/* Centre header */
.chx{padding:clamp(28px,3vw,44px) var(--g) 0}
.chx__back{display:inline-flex}
.chx .chx__lab{display:flex;align-items:center;gap:10px;margin-top:clamp(28px,3vw,48px);padding-top:clamp(20px,2.2vw,30px);border-top:3px solid #111;font:500 13px/18px var(--text);letter-spacing:.04em;text-transform:uppercase}
.chx__h{margin-top:14px;font:300 clamp(48px,6.2vw,104px)/.98 var(--display);letter-spacing:-.04em;text-wrap:balance;max-width:13em}
.chx__p{margin:clamp(14px,1.6vw,22px) 0 0;font:400 clamp(18px,1.5vw,23px)/1.45 var(--text);color:#2c2c2c;max-width:32em;text-wrap:pretty}
.chx__row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(12px,1.2vw,18px);margin:clamp(28px,3vw,48px) 0 0}
.chx__photo{position:relative;margin:0;min-height:clamp(300px,30vw,460px);border-radius:28px;overflow:hidden;background:var(--l)}
.chx__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chx__stat .st{height:100%;border-radius:28px}
@media (max-width:900px){.chx__row{grid-template-columns:minmax(0,1fr)}.chx__photo{min-height:0;aspect-ratio:4/3}}


/* Global Initiatives: editorial spreads. Number and label over an ink rule, the name set large, a serif lead,
   ruled facts, and the mark on a quiet tinted plate; the second spread mirrors the first */
.gie{padding-block:clamp(40px,5vw,80px) clamp(56px,7vw,112px)}
.gie__head{display:flex;align-items:baseline;gap:18px;padding-top:14px;border-top:1px solid #111;margin-bottom:clamp(28px,3.6vw,56px)}
.gie__n{font:300 15px/1 var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.gie__k{font:500 11px/14px var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
.gie__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.gie--flip .gie__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.gie--flip .gie__plate{order:2}
.gie__plate{margin:0;aspect-ratio:4/5;background:var(--plate);display:grid;place-items:center;position:sticky;top:calc(var(--bar) + 24px)}
.gie__plate a{display:grid;place-items:center;width:100%;height:100%}
.gie__plate img{width:58%;height:auto}
.gie__plate svg{width:70%;height:auto}
.gie__h{font:300 clamp(48px,6vw,104px)/.96 var(--display);letter-spacing:-.04em;text-wrap:balance;max-width:9em}
.gie__lead{margin-top:clamp(24px,2.6vw,40px);font:400 clamp(20px,1.7vw,26px)/1.42 var(--serif);max-width:30em;text-wrap:pretty;color:#1d1d1d}
.gie__facts{margin:clamp(32px,3.4vw,52px) 0 0;border-top:1px solid #111}
.gie__facts > div{display:grid;grid-template-columns:minmax(140px,30%) minmax(0,1fr);gap:8px 32px;padding:18px 0;border-bottom:1px solid #d9d9d9}
.gie__facts dt{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}
.gie__facts dd{margin:0;font:400 16px/24px var(--text)}
.reg__lead{max-width:44em;margin-top:4px}
.reg__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.6vw,24px)}
.reg__card{background:var(--soft);border-radius:clamp(20px,2vw,28px);padding:clamp(24px,2.6vw,40px);display:grid;align-content:start;gap:12px;min-width:0}
.reg__k{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.reg__h{font:400 clamp(22px,1.9vw,28px)/1.25 var(--display);letter-spacing:-.006em;text-wrap:balance}
.reg__card .t-body{color:#3d3d3d}
.reg__facts{margin:8px 0 0;border-top:1px solid #111}
.reg__facts > div{display:grid;grid-template-columns:minmax(110px,34%) minmax(0,1fr);gap:4px 24px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.reg__facts dt{font:500 11px/22px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.reg__facts dd{margin:0;font:400 16px/24px var(--text);overflow-wrap:anywhere}
@media (max-width:759px){.reg__grid{grid-template-columns:minmax(0,1fr)}}
.gi-close{padding-top:0}
.gi-close p{max-width:30em}
.tm{font-size:.42em;vertical-align:super;line-height:0;margin-left:.04em}
.ab-vals{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ab-vals li{font:500 13px/18px var(--text);letter-spacing:.02em;padding:7px 14px;border:1px solid var(--line-2);border-radius:999px}
.ab-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.ab-story__head{display:grid;gap:14px;position:sticky;top:calc(var(--bar) + 24px)}
.ab-tl{list-style:none;margin:0;padding:0;border-top:1px solid #111}
.ab-tl__i{display:grid;grid-template-columns:minmax(72px,18%) minmax(0,1fr);gap:8px 32px;padding:clamp(22px,2.4vw,32px) 0;border-bottom:1px solid var(--line-2)}
.ab-tl__i > div{display:grid;gap:8px;min-width:0}
.ab-tl__y{font:300 clamp(28px,2.6vw,40px)/1 var(--display);letter-spacing:-.02em}
.ab-tl__h{font:500 18px/26px var(--text)}
.ab-tl__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ab-tl__chips a{display:inline-flex;align-items:center;gap:8px;font:400 14px/20px var(--text);padding:7px 12px;border-radius:999px;background:var(--soft);transition:background .3s var(--ease-dd),color .3s var(--ease-dd)}
.ab-tl__chips a:hover{background:#111;color:#fff}
.ab-tl__chips i{width:8px;height:8px;border-radius:50%;background:var(--m);flex:none}
.band--quote{--band:#1f5cff;--ink:#fff;--grey:rgba(255,255,255,.75);color:#fff}
.fq{margin:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,112px);align-items:center}
.fq__ph{position:relative;max-width:440px;width:100%;justify-self:start}
.fq__ph::before{content:"";position:absolute;inset:0;translate:clamp(12px,1.4vw,20px) clamp(12px,1.4vw,20px);background:#ffd23f;border-radius:clamp(20px,2vw,28px)}
.fq__ph img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:clamp(20px,2vw,28px)}
.fq__tx{display:grid;gap:clamp(16px,1.8vw,24px);min-width:0}
.fq__mark{font:400 clamp(96px,10vw,160px)/.6 var(--serif);color:#ffd23f;height:.42em;margin-left:-.06em}
.fq__k{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.fq__q{margin:0;font:400 clamp(30px,3.4vw,52px)/1.18 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.fq__by{display:grid;gap:2px;margin-top:8px}
.fq__n{font:600 18px/26px var(--text)}
.fq__r{font:400 15px/22px var(--text);color:rgba(255,255,255,.78)}
.fq__strip{display:flex;gap:6px;margin-top:4px}
.fq__strip i{width:28px;height:6px;border-radius:3px;background:var(--m)}
@media (max-width:759px){.fq{grid-template-columns:minmax(0,1fr)}.fq__ph{max-width:300px}}
.ab-vm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,120px)}
.ab-vm > div{display:grid;gap:18px;align-content:start}
.ab-vm__h{font:300 clamp(28px,2.8vw,42px)/1.15 var(--display);letter-spacing:-.015em;text-wrap:balance}
.ab-vm__p{font:400 18px/28px var(--text);color:rgba(255,255,255,.82);text-wrap:pretty}
.ab-ph__k{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:clamp(48px,5vw,80px) 0 16px}
.ab-belief{margin-top:clamp(48px,5vw,80px);padding-top:24px;border-top:1px solid #111;display:grid;gap:10px;font:300 clamp(26px,2.8vw,42px)/1.2 var(--display);letter-spacing:-.015em;max-width:24em;text-wrap:balance}
.ab-belief span{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.ab-sym__sw{width:14px;height:14px;flex:none;border-radius:50%}
.ab-sym__sw--ring{border:3px solid #3385c7}
.ab-sym__sw--open{border:3px solid #3385c7;border-right-color:transparent;rotate:45deg}
.ab-sym__sw--dot{background:#ffb800;width:10px;height:10px;margin-inline:2px}
.ab-sym__sw--type{border-radius:3px;background:#111}
.phead__art > .ab-facts{flex:1 1 auto}
.ab-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:640px}
.ab-facts li{background:var(--c);border-radius:clamp(16px,1.6vw,22px);padding:clamp(16px,1.6vw,24px);display:grid;gap:10px;align-content:space-between;min-height:clamp(150px,13vw,190px);color:#111}
.ab-facts__n{font:300 clamp(26px,2.6vw,40px)/1 var(--display);letter-spacing:-.02em}
.ab-facts__t{font:400 14px/20px var(--text)}
.ab-reg{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);align-items:start}
.ab-reg__head{display:grid;gap:12px}
.ab-reg__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ab-reg__card{background:var(--soft);border-radius:clamp(16px,1.6vw,22px);padding:clamp(18px,1.8vw,26px);display:grid;gap:8px;align-content:start;min-width:0}
.ab-reg__h{font:500 17px/24px var(--text)}
.ab-reg__facts{margin:6px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.ab-reg__facts dt{font:500 10px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.ab-reg__facts dd{margin:2px 0 0;font:400 14px/20px var(--text);overflow-wrap:anywhere}
@media (max-width:1100px){.ab-reg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:759px){.ab-facts{grid-template-columns:minmax(0,1fr)}.ab-facts li{min-height:0;grid-template-columns:auto 1fr;align-items:center;gap:16px}.ab-reg__cards{grid-template-columns:minmax(0,1fr)}}
.aph-name{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.4vw,24px);margin:0 0 clamp(40px,4.4vw,64px);border-top:1px solid #111;padding-top:clamp(20px,2vw,28px)}
.aph-name__l{display:grid;gap:6px;min-width:0}
.aph-name__l b{font:300 clamp(88px,13vw,210px)/.86 var(--display);letter-spacing:-.04em;color:var(--c)}
.aph-name__l span{font:500 clamp(14px,1.3vw,19px)/1.3 var(--text);overflow-wrap:anywhere}
.aph-why{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:start}
.aph-why__k{font:400 clamp(26px,2.6vw,40px)/1.22 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.aph-why__b{display:grid;gap:14px;padding-top:6px}
.aph-pr{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.aph-pr li{position:relative;display:grid;grid-template-rows:1fr auto;gap:clamp(40px,5vw,80px);background:var(--c);border-radius:clamp(20px,2vw,28px);padding:clamp(24px,2.4vw,36px);color:#111;min-height:clamp(340px,30vw,440px)}
.aph-pr li:not(:last-child)::after{content:"\2192";position:absolute;right:calc(-1 * clamp(12px,1.4vw,20px) / 2 - 18px);top:50%;translate:0 -50%;width:36px;height:36px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font:500 18px/1 var(--text);z-index:1}
.aph-pr__s{font:400 clamp(24px,2.2vw,34px)/1.2 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.aph-pr__s em{font-style:italic;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
.aph-pr__b{display:grid;gap:8px;border-top:1px solid rgba(0,0,0,.25);padding-top:16px}
.aph-pr__n{font:500 12px/16px var(--text);letter-spacing:.08em}
.aph-pr__h{font:500 20px/28px var(--text)}
.aph-pr__b p{font:400 15px/22px var(--text)}
.abid__lede{max-width:40em;margin-top:4px}
.abid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,48px);align-items:stretch}
.abid__art{margin:0;background:#0b1f5c;border-radius:clamp(20px,2vw,28px);padding:clamp(32px,5vw,80px) clamp(36px,5vw,80px) clamp(28px,3.6vw,56px);display:grid;gap:clamp(20px,2.6vw,40px);align-content:center;justify-items:center;color:#fff}
.abid__mark{width:100%;height:auto;overflow:visible}
.abid__ring{fill:#fff;transition:opacity .35s}
.abid__dot{fill:#ffd23f;transform-box:fill-box;transform-origin:50% 100%;transition:opacity .35s,scale .35s}
.abid__trace{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1)}
.js .abid__art:not(.is-in) .abid__trace{stroke-dashoffset:1}
.js .abid__art:not(.is-in) .abid__dot{opacity:0}
.abid__art.is-in .abid__dot{animation:dotdrop 1.1s 1.2s cubic-bezier(.3,1.2,.4,1) both}
.abid__gap{fill:none;stroke:#ffd23f;stroke-width:22;stroke-dasharray:40 34;opacity:0;transition:opacity .35s}
.abid__b{transition:opacity .35s}
.abid__b circle{fill:#ffd23f}
.abid__b text{font:600 96px/1 var(--text);fill:#0b1f5c}
.abid__typewrap{position:relative;width:78%;display:flex;justify-content:center}
.abid__type{width:100%;height:auto;filter:invert(1);transition:opacity .35s}
.abid__b--html{position:absolute;right:-34px;top:50%;translate:0 -50%;width:28px;height:28px;border-radius:50%;background:#ffd23f;color:#0b1f5c;display:grid;place-items:center;font:600 13px/1 var(--text)}
.abid__keys{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:center}
.abid__key{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;text-align:left;background:#fff;border-radius:18px;padding:18px 20px;border:1.5px solid transparent;transition:border-color .3s,translate .3s var(--ease-dd);cursor:pointer;color:#111}
.abid__key:hover,.abid__key[aria-pressed="true"]{border-color:#0b1f5c;translate:6px 0}
.abid__n{width:32px;height:32px;border-radius:50%;background:#0b1f5c;color:#fff;display:grid;place-items:center;font:600 14px/1 var(--text)}
.abid__kt{display:grid;gap:4px}
.abid__kt b{font:500 17px/24px var(--text)}
.abid__kt span{font:400 15px/22px var(--text);color:#3d3d3d}
.abid:not(:has(.abid__key:hover)) .abid__art[data-on="ring"] .abid__dot,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="ring"] .abid__type,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="ring"] .abid__b,.abid:has([data-sym="ring"]:hover) .abid__art .abid__dot,.abid:has([data-sym="ring"]:hover) .abid__art .abid__type,.abid:has([data-sym="ring"]:hover) .abid__art .abid__b,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__dot,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__type,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__b,.abid:has([data-sym="open"]:hover) .abid__art .abid__dot,.abid:has([data-sym="open"]:hover) .abid__art .abid__type,.abid:has([data-sym="open"]:hover) .abid__art .abid__b,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="dot"] .abid__ring,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="dot"] .abid__type,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="dot"] .abid__b,.abid:has([data-sym="dot"]:hover) .abid__art .abid__ring,.abid:has([data-sym="dot"]:hover) .abid__art .abid__type,.abid:has([data-sym="dot"]:hover) .abid__art .abid__b,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="type"] .abid__ring,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="type"] .abid__dot,.abid:not(:has(.abid__key:hover)) .abid__art[data-on="type"] .abid__b,.abid:has([data-sym="type"]:hover) .abid__art .abid__ring,.abid:has([data-sym="type"]:hover) .abid__art .abid__dot,.abid:has([data-sym="type"]:hover) .abid__art .abid__b{opacity:.18}
.abid:not(:has(.abid__key:hover)) .abid__art[data-on="ring"] .abid__b[data-k="ring"],.abid:has([data-sym="ring"]:hover) .abid__art .abid__b[data-k="ring"],.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__b[data-k="open"],.abid:has([data-sym="open"]:hover) .abid__art .abid__b[data-k="open"],.abid:not(:has(.abid__key:hover)) .abid__art[data-on="dot"] .abid__b[data-k="dot"],.abid:has([data-sym="dot"]:hover) .abid__art .abid__b[data-k="dot"],.abid:not(:has(.abid__key:hover)) .abid__art[data-on="type"] .abid__b[data-k="type"],.abid:has([data-sym="type"]:hover) .abid__art .abid__b[data-k="type"]{opacity:1}
.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__gap,.abid:has([data-sym="open"]:hover) .abid__gap{opacity:1}
.abid:not(:has(.abid__key:hover)) .abid__art[data-on="open"] .abid__ring,.abid:has([data-sym="open"]:hover) .abid__ring{opacity:.45}
.abid:not(:has(.abid__key:hover)) .abid__art[data-on="dot"] .abid__dot,.abid:has([data-sym="dot"]:hover) .abid__dot{scale:1.12}
.abid__commit{margin-top:clamp(48px,6vw,96px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px clamp(24px,3vw,48px);align-items:end}
.abid__commit .t-label{grid-column:1/-1}
.abid__four{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.abid__four li{display:flex;align-items:center;gap:16px;font:300 clamp(28px,3.2vw,48px)/1.15 var(--display);letter-spacing:-.018em}
.abid__four .ab-sym__sw{width:22px;height:22px}
.abid__four .ab-sym__sw--dot{width:16px;height:16px;margin-inline:3px}
@media (prefers-reduced-motion:reduce){.abid__trace{transition:none}.abid__art.is-in .abid__dot{animation:none}}
@media (max-width:860px){.abid,.abid__commit{grid-template-columns:minmax(0,1fr)}}
@media (max-width:759px){.aph-name__l b{font-size:clamp(56px,19vw,140px)}.aph-name__l span{font-size:12px}.aph-why,.aph-pr{grid-template-columns:minmax(0,1fr)}.aph-pr li{min-height:0}.aph-pr li:not(:last-child)::after{content:"\2193";right:50%;top:auto;bottom:calc(-1 * clamp(12px,1.4vw,20px) / 2 - 18px);translate:50% 0}}
.ab-pw{margin:8px 0 0;border-top:1px solid var(--line-2)}
.ab-pw > div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.ab-pw dt{font:500 11px/20px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.ab-pw dd{margin:0;font:400 16px/24px var(--text)}
.band--night .pill.pill--ghost{background:none;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
@media (max-width:759px){.ab-story,.ab-vm{grid-template-columns:minmax(0,1fr)}.ab-story__head{position:static}.ab-tl__i{grid-template-columns:minmax(0,1fr)}}
.gie__go{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font:400 17px/24px var(--text);border-bottom:1px solid currentColor;padding-bottom:3px}
.gie__go:hover{color:var(--c)}
.gie__go svg{width:14px;height:14px}
@media (max-width:900px){.gie__grid,.gie--flip .gie__grid{grid-template-columns:minmax(0,1fr)}.gie--flip .gie__plate{order:0}.gie__plate{position:static;aspect-ratio:4/3}}

/* spot illustrations */
.ill{display:block;overflow:hidden;line-height:0;border-radius:22px;aspect-ratio:4/3}
.ill svg{display:block;width:100%;height:100%}
.ill--problem{margin-top:clamp(24px,3vw,40px);max-width:460px}
.acc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.acc3__c{display:flex;flex-direction:column;gap:12px}
.acc3__c .ill{margin-bottom:8px}
.acc3__t{font:400 clamp(20px,1.6vw,24px)/1.15 var(--display);letter-spacing:-.012em}
.acc3__p{font:400 15px/22px var(--text);color:var(--grey);text-wrap:pretty}
@media (max-width:900px){.acc3{grid-template-columns:minmax(0,1fr)}.ill--problem{max-width:none}}

/* Centre people: placeholder portraits until names are approved */
.story--ph .story__img{opacity:.85}
.story--ph .story__b{opacity:1;translate:none}
.ppl__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0 0}
.ppl__notes dt{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.ppl__notes dd{margin:6px 0 0;font:400 16px/24px var(--text)}
@media (max-width:640px){.ppl__notes{grid-template-columns:minmax(0,1fr)}}

/* Centres: six cards in a 2 x 3 grid beside one tall featured Centre */
.cgx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(12px,1.2vw,18px);align-items:stretch}
.cgx__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(12px,1.2vw,18px)}
.cgc{display:flex;flex-direction:column;gap:10px;min-height:clamp(220px,17vw,260px);padding:clamp(16px,1.5vw,22px);background:var(--l);color:var(--d);border-radius:22px;transition:translate .35s var(--ease-dd)}
.cgc:hover{translate:0 -3px}
.cgc__top{display:flex;align-items:center;gap:8px}
.cgc__o{font:500 11px/14px var(--text);letter-spacing:.05em;text-transform:uppercase;text-wrap:balance}
.cgc__t{font:400 clamp(20px,1.7vw,26px)/1.1 var(--display);letter-spacing:-.018em;text-wrap:balance}
.cgc:hover .cgc__t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.cgc__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto}
.cgc__g{font:400 13px/18px var(--text);max-width:13em;text-wrap:balance}
.cgc__g b{display:block;font:300 clamp(24px,2vw,30px)/1 var(--display);letter-spacing:-.02em;margin-bottom:4px}
.cgc__geo{flex:0 0 auto;width:clamp(52px,4.4vw,68px);aspect-ratio:1;border-radius:14px}
.cgf{display:flex;flex-direction:column;background:var(--l);color:var(--d);border-radius:28px;overflow:hidden}
.cgf__img{display:block;flex:1 1 42%;min-height:240px;overflow:hidden}
.cgf__img img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease-dd)}
.cgf:hover .cgf__img img{scale:1.03}
.cgf__tx{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.2vw,34px)}
.cgf__k{display:flex;align-items:center;gap:10px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.cgf__h{font:400 clamp(30px,3vw,46px)/1.04 var(--display);letter-spacing:-.026em;text-wrap:balance}
.cgf__p{font:400 15px/22px var(--text);max-width:34em;text-wrap:pretty}
.cgf__goal{display:grid;gap:6px;margin-top:6px}
.cgf__n{font:300 clamp(44px,4.4vw,68px)/.95 var(--display);letter-spacing:-.03em}
.cgf__u{font:400 14px/20px var(--text)}
.cgf__base{font:400 13px/18px var(--text);opacity:.85;max-width:28em}
.cgf__trk{display:block;max-width:420px;margin:8px 0 2px}
.cgf__trk .trk__seg,.cgf__trk .trk__dot{background:var(--d)}
.cgf__trk .trk::before{background:color-mix(in srgb,var(--d) 25%,transparent)}
.cgf__trk .trk::after{background:var(--d)}
.cgf__go{align-self:flex-start;margin-top:6px}
@media (max-width:1000px){.cgx{grid-template-columns:minmax(0,1fr)}.cgf{order:-1}.cgf__img{flex:none;aspect-ratio:16/9;min-height:0}}
@media (max-width:560px){.cgx__grid{grid-template-columns:minmax(0,1fr)}.cgc{min-height:0}}

/* the five parts */
.pcx{display:grid;gap:clamp(12px,1.2vw,18px);padding-top:clamp(36px,4vw,56px)}
.pcx__p{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:start;padding:clamp(22px,2.4vw,36px);background:var(--l);color:var(--d);border-radius:clamp(22px,2.4vw,32px);scroll-margin-top:calc(var(--float) + var(--tabs-h) + 16px)}
.pcx__head{display:grid;gap:12px;align-content:start;position:sticky;top:calc(var(--float) + var(--tabs-h) + 24px)}
.pcx__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--m);color:#fff;font-size:26px}
.pcx__h{display:flex;align-items:baseline;gap:12px;font:400 clamp(30px,3vw,44px)/1.04 var(--display);letter-spacing:-.025em}
.pcx__n{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:var(--d);color:#fff;font:500 15px/1 var(--text);letter-spacing:0;align-self:center}
.pcx__d{font:400 15px/22px var(--text);max-width:24em;text-wrap:pretty;opacity:.85}
.pcx__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px}
.pcx__c{position:relative;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px 18px 16px;background:#fff;color:#111;border-radius:18px;transition:translate .3s var(--ease-dd),box-shadow .3s var(--ease-dd)}
.pcx__c:has(.pcx__a):hover{translate:0 -3px;box-shadow:0 14px 30px -20px rgba(17,17,17,.4)}
.pcx__a{position:absolute;inset:0;border-radius:inherit;z-index:1}
.pcx__ci{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--l);color:var(--d);font-size:17px;margin-bottom:4px}
.pcx__t{font:500 16px/22px var(--text);letter-spacing:-.005em;text-wrap:balance}
.pcx__cd{font:400 14px/20px var(--text);color:#555;text-wrap:pretty}
.pcx__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font:500 13px/18px var(--text);color:var(--d)}
.pcx__go svg{width:12px;height:12px}
.pcx__tbc{margin-top:auto;padding-top:6px;font:400 12px/16px var(--text);color:#6b6b6b}
.pcx__empty{font:400 15px/22px var(--text);padding:18px;background:rgba(255,255,255,.6);border-radius:18px;color:#222}
.cxb--dark .pcx__empty{background:rgba(255,255,255,.1);color:#fff}
@media (max-width:860px){.pcx__p{grid-template-columns:minmax(0,1fr)}.pcx__head{position:static}}

/* Centre page blocks */
.cxw{display:grid;gap:clamp(12px,1.2vw,18px);padding:clamp(16px,2vw,32px) var(--g) clamp(56px,6vw,96px)}
.cxw--end{padding-top:clamp(56px,6vw,96px)}
.cxs{margin-bottom:clamp(28px,3vw,48px)}
.cxr{display:grid;gap:clamp(12px,1.2vw,18px);align-items:stretch}
.cxr--a{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.cxr--b{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.cxr--c{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
.cxr--d{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.cxr--d.cxr--one{grid-template-columns:minmax(0,1fr)}
.cxb{display:flex;flex-direction:column;gap:16px;min-width:0;padding:clamp(20px,2vw,30px);background:var(--l);color:var(--d);border-radius:clamp(22px,2.2vw,30px)}
.cxb--paper{--l:#f4efe8;--d:#111}
.cxb--dark{--l:var(--dk);--d:#fff;--m:rgba(255,255,255,.18)}
.cxb--terra{--l:#9c4f2d;--d:#fff;justify-content:center}
.cxb__top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cxb__h{display:flex;align-items:center;gap:12px;font:400 clamp(22px,2vw,30px)/1.08 var(--display);letter-spacing:-.02em;text-wrap:balance}
.cxb__ic{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--m,#111);color:#fff;font-size:21px}
.cxb--paper .cxb__ic{background:var(--mk,#111)}
.cxb__n{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--d);color:var(--l);font:500 13px/1 var(--text)}
.cxb__link{font:400 14px/20px var(--text)}
.cxb__sub{margin-top:8px;font:500 12px/16px var(--text);letter-spacing:.06em;text-transform:uppercase}
.cxb__big{font:300 clamp(26px,2.4vw,38px)/1.12 var(--display);letter-spacing:-.02em;text-wrap:balance}
.cxb__note{font:400 15px/22px var(--text);opacity:.85}
.cxb__btn{align-self:flex-start;background:#fff;color:#111}
.cxb--terra .t-label{color:#fff;opacity:.85}
.cx__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:10px}
.cx__c.is-more{display:none}
.cxb.is-open .cx__c.is-more{display:flex}
.cx__more{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1.5px solid currentColor;background:none;color:inherit;font:500 14px/18px var(--text);cursor:pointer}
.cx__more span{font-weight:400;opacity:.7}
.pcx__join{position:relative;z-index:2;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:8px 14px;border-radius:999px;background:var(--d);color:#fff;font:500 13px/16px var(--text);transition:background-color .25s}
.pcx__join:hover{background:#111}
.pcx__join svg{width:12px;height:12px}
.plg{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--m);color:#fff;font:600 16px/1 var(--display);letter-spacing:.02em;margin-bottom:4px}
/* projects inside the Centre page */
.pjc__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pjc{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;color:#111;transition:translate .3s var(--ease-dd)}
.pjc:hover{translate:0 -3px}
.pjc__img{display:block;aspect-ratio:4/3;overflow:hidden}
.pjc__img img{width:100%;height:100%;object-fit:cover}
.pjc__tx{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;flex:1}
.pjc__chips{display:flex;flex-wrap:wrap;gap:6px}
.pjc__t{font:500 16px/21px var(--text);text-wrap:balance}
.pjc__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font:500 13px/18px var(--text)}
.pjc__go .ico{width:15px;height:15px}
/* events list */
.cxe{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cxe a{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.08);transition:background-color .25s}
.cxe a:hover{background:rgba(255,255,255,.16)}
.cxe__d{display:grid;place-items:center;align-content:center;height:62px;border-radius:12px;background:#fff;color:#111}
.cxe__d b{font:500 22px/1 var(--display)}
.cxe__d span{font:500 11px/14px var(--text);text-transform:uppercase;letter-spacing:.06em}
.cxe__tx{display:grid;gap:4px;min-width:0}
.cxe__t{font:500 15px/20px var(--text);text-wrap:balance}
.cxe__m{font:400 13px/18px var(--text);opacity:.75}
/* partner logo placeholders */
.plogo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.plogo__real img{max-width:80%;max-height:56px;object-fit:contain}
.plogo li{display:grid;place-items:center;aspect-ratio:2/1;border-radius:14px;background:#fff;color:#6b6b6b;font:500 12px/16px var(--text);letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 0 0 0 1.5px #e3ddd3}
@media (max-width:1100px){.cx__cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.pjc__row{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}}
@media (max-width:900px){.cxr--a,.cxr--b,.cxr--c,.cxr--d{grid-template-columns:minmax(0,1fr)}.plogo{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* events system */
.evp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:end;padding-bottom:clamp(36px,4vw,56px)}
.evp__head{display:grid;gap:18px}
.evn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0;background:#f5f3ee;border-radius:24px;overflow:hidden;transition:background-color .3s var(--ease-dd)}
.evn:hover{background:#efece4}
.evn__img{min-height:220px;overflow:hidden}
.evn__img img{width:100%;height:100%;object-fit:cover}
.evn__tx{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,1.8vw,26px)}
.evn__k{font:500 12px/16px var(--text);letter-spacing:.05em;text-transform:uppercase;color:#6b6b6b}
.evn__t{font:400 clamp(22px,2vw,30px)/1.12 var(--display);letter-spacing:-.018em;text-wrap:balance}
.evn__p{font:400 15px/22px var(--text);color:#444}
.evn__c,.eva__c{display:inline-flex;align-items:center;gap:8px;font:500 12px/16px var(--text)}
.evn__c i,.eva__c i{width:8px;height:8px;border-radius:50%;background:var(--m)}
.evn__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font:500 14px/20px var(--text);text-decoration:underline;text-underline-offset:4px}
.evn__more .ico{width:15px;height:15px}
.evf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:clamp(24px,2.8vw,40px)}
.evf > *{min-width:0}
.evf__q{flex:0 1 340px;display:flex;align-items:center;gap:10px;padding:0 16px;height:46px;border-radius:999px;background:#f5f3ee}
.evf__q .ico{width:18px;height:18px;flex:0 0 auto}
.evf__q input{flex:1;min-width:0;border:0;background:none;font:400 16px/22px var(--text);color:var(--ink);outline:none}
.evf__q:focus-within{box-shadow:0 0 0 2px var(--ink)}
.evf__dd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.evdd{position:relative}
.evdd__b{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 14px 0 16px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #dcd8cf;font:500 15px/20px var(--text);color:#111;cursor:pointer;white-space:nowrap;max-width:100%}
.evdd__b > span{overflow:hidden;text-overflow:ellipsis}
.evdd__b:hover{box-shadow:inset 0 0 0 1.5px #111}
.evdd__b .pi{width:18px;height:18px;flex:0 0 auto}
.evdd__ch{width:16px;height:16px;flex:0 0 auto;transition:transform .2s var(--ease-dd)}
.evdd__b[aria-expanded="true"] .evdd__ch{transform:rotate(180deg)}
.evdd__b.is-on{background:#111;color:#fff;box-shadow:none}
.evdd__dot{width:10px;height:10px;border-radius:50%;background:var(--m);flex:0 0 auto;box-shadow:0 0 0 2px #fff}
.evm{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 32px));max-height:min(600px,72vh);overflow:auto;padding:8px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #e6e2da,0 18px 40px -12px rgba(0,0,0,.22)}
.evm[hidden]{display:none}
.evm__h{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 6px;font:600 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#4a4a4a}
.evm__x{display:none;width:36px;height:36px;border:0;border-radius:50%;background:#f1efea;cursor:pointer;place-items:center}
.evm__x .ico{width:16px;height:16px;transform:rotate(45deg)}
.evm__l{display:grid;gap:2px}
.evm__o{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:12px;background:none;text-align:left;font:500 15px/20px var(--text);color:#111;cursor:pointer}
.evm__o:hover{background:#f5f3ee}
.evm__o.is-on{background:#111;color:#fff}
.evm__o.is-zero:not(.is-on){color:#6b6b6b}
.evm__t{flex:1;min-width:0;display:grid}
.evm__t small{font:400 13px/18px var(--text);color:#5c5c5c}
.evm__o.is-on small{color:rgba(255,255,255,.75)}
.evm__o .evf__n{margin-left:auto}
.evm__o.is-on .evf__n{background:rgba(255,255,255,.18);color:#fff}
.evf__ic{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--m);color:#fff;font-size:13px;flex:0 0 auto}
.evf__n{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#f1efea;font:600 12px/1 var(--text);color:#333}
.evf__clear{font:400 15px/20px var(--text);background:none;border:0;cursor:pointer;padding:0 6px}
@media (max-width:640px){
  .evf__q{flex:1 1 100%}
  .evf__dd{flex-wrap:wrap;width:100%}
  .evdd{max-width:100%}
  .evdd{position:static}
  .evdd__b{height:42px;font-size:14px}
  .evm{position:fixed;z-index:95;top:auto;left:0;right:0;bottom:0;width:auto;max-height:75vh;padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;box-shadow:0 0 0 100vmax rgba(17,17,17,.4)}
  .evm__h{position:sticky;top:-8px;z-index:1;background:#fff;padding:12px 6px 10px;font:500 18px/1.2 var(--display);letter-spacing:0;text-transform:none;color:#111}
  .evm__x{display:grid}
  html.evm-on{overflow:hidden}
}
.evs2__body{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:clamp(24px,3vw,56px);align-items:start}
.ecal{position:sticky;top:calc(var(--float) + 24px);padding:18px;border-radius:22px;background:#f5f3ee}
.ecal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ecal__m{font:400 20px/1.2 var(--display);letter-spacing:-.01em}
.ecal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ecal__w{font:500 10px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;text-align:center;padding-bottom:4px}
.ecal__d{position:relative;display:grid;justify-items:center;align-content:start;gap:3px;aspect-ratio:1;padding-top:6px;border:0;border-radius:10px;background:none;font:400 14px/1 var(--text);color:#6b6b6b;cursor:default}
.ecal__d.has{background:#fff;color:#111;cursor:pointer}
.ecal__d.has:hover{box-shadow:inset 0 0 0 1.5px #111}
.ecal__d.is-today b{display:grid;place-items:center;width:22px;height:22px;margin-top:-3px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #111}
.ecal__d.is-sel{background:#111;color:#fff}
.ecal__dots{display:flex;align-items:center;gap:2px}
.ecal__dots i{width:6px;height:6px;border-radius:50%;background:var(--m)}
.ecal__dots em{font:600 9px/1 var(--text);font-style:normal;margin-left:1px}
.ecal__note{margin-top:12px;font:400 12px/17px var(--text);color:#6b6b6b}
.eva__count{font:500 13px/18px var(--text);color:#6b6b6b;margin-bottom:8px}
.eva__day{padding:6px 0 22px}
.eva__dh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;background:var(--bg);border-bottom:2px solid #111;font:400 clamp(20px,1.7vw,24px)/1.2 var(--display);letter-spacing:-.012em}
.eva__n{font:500 13px/18px var(--text);color:#6b6b6b}
.eva__list{list-style:none;margin:0;padding:0}
.eva__r{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr) 120px auto;gap:18px;align-items:start;padding:16px 0 16px 14px;border-bottom:1px solid var(--line)}
.eva__r::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:4px;background:var(--m)}
.eva__r.is-past .eva__img{opacity:.55}
.eva__r.is-past .eva__t{color:#3d3d3d}
.eva__time{font:500 14px/20px var(--text);font-variant-numeric:tabular-nums}
.eva__main{display:grid;gap:6px;min-width:0}
.eva__t{font:400 19px/1.25 var(--display);letter-spacing:-.01em;text-wrap:balance}
.eva__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font:400 13px/18px var(--text);color:#555}
.eva__badge{padding:2px 8px;border-radius:999px;background:#f1f0ec;color:#111}
.eva__p{font:400 14px/21px var(--text);color:#555;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.eva__img{aspect-ratio:4/3;border-radius:12px;overflow:hidden}
.eva__img img{width:100%;height:100%;object-fit:cover}
.eva__go{align-self:center;display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--text)}
.eva__empty{display:grid;gap:10px;padding:28px;border-radius:22px;background:#f5f3ee}
.eva__et{font:400 22px/1.2 var(--display)}
.eva__ea{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pill--ghost{background:none;color:#111;box-shadow:inset 0 0 0 1.5px #111}
@media (max-width:1000px){.evp{grid-template-columns:minmax(0,1fr)}.evs2__body{grid-template-columns:minmax(0,1fr)}.ecal{position:static}}
@media (max-width:640px){.evn{grid-template-columns:minmax(0,1fr)}.evn__img{min-height:0;aspect-ratio:16/9}.eva__r{grid-template-columns:minmax(0,1fr);gap:8px}.eva__img{display:none}}

/* event dialog */
.eva__t{background:none;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}
.eva__t::after{content:"";position:absolute;inset:0}
.eva__r:hover .eva__t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.eva__r:hover{background:#faf9f6}
.eva__go{position:relative;z-index:1}
.evn{position:relative}
.evn__open{position:absolute;inset:0;z-index:1;border:0;background:none;cursor:pointer;border-radius:inherit}
.evn__more{position:relative;z-index:2;align-self:flex-start;background:none;border:0;padding:0;cursor:pointer;color:inherit}
.evd{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;background:#fff;color:#111;overflow:auto;overscroll-behavior:contain}
.evd::backdrop{background:rgba(17,17,17,.55)}
.evd[open]{animation:evdIn .55s cubic-bezier(.34,1.56,.64,1) both}
@keyframes evdIn{from{opacity:0;translate:0 22px;scale:.96}}
@media (prefers-reduced-motion:reduce){.evd[open]{animation:none}}
.evd__x{position:sticky;top:14px;float:right;margin:14px 14px -58px 0;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18);cursor:pointer;rotate:45deg}
.evd__img{aspect-ratio:16/7;overflow:hidden}
.evd__img img{width:100%;height:100%;object-fit:cover}
.evd__body{display:grid;gap:18px;padding:clamp(22px,3vw,36px)}
.evd__k{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.evd__st{padding:4px 10px;border-radius:999px;font:500 12px/16px var(--text);background:#f1f0ec}
.evd__st--open,.evd__st--now{background:#d9f4dd;color:#0d4a1c}
.evd__st--soon{background:#fff3c4;color:#5a4300}
.evd__st--chg{background:#f3f3f3;color:#3d3d3d}
.evd__t{font:400 clamp(28px,3.2vw,40px)/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
.evd__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.evd__facts > div{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:#f5f3ee}
.evd__facts dt{display:flex;align-items:center;gap:6px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b}
.evd__facts dt svg{width:14px;height:14px}
.evd__facts dd{margin:0;display:grid;gap:2px;font:500 16px/22px var(--text)}
.evd__facts dd span{font-weight:400;font-size:14px;color:#555}
.evd__p{font:400 16px/25px var(--text);color:#333;text-wrap:pretty}
.evd__cal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font:400 14px/20px var(--text)}
.evd__cal svg{width:15px;height:15px}
.evd__act{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.evd__h{font:400 22px/1.2 var(--display);letter-spacing:-.012em}
.evd__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.evd__form{gap:16px}
.evd__note{font:400 13px/18px var(--text);color:#6b6b6b}
.evd__end{font:500 16px/22px var(--text)}
.evd__ok{display:grid;gap:8px;padding:20px;border-radius:18px;background:#d9f4dd;color:#0d4a1c}
.evd__okic{display:flex;font-size:28px}
.evd__okt{font:500 20px/1.2 var(--display)}
@media (max-width:640px){.evd{border-radius:22px}.evd__facts,.evd__fields{grid-template-columns:minmax(0,1fr)}.evd__img{aspect-ratio:16/9}}

/* events hero, simplified: coming-up list | the event | one photo and one action */
.evh{--top:clamp(24px,2.4vw,36px);grid-template-columns:minmax(220px,1fr) minmax(0,2.4fr) minmax(0,1.3fr)!important;grid-template-rows:auto!important;min-height:0!important}
.evh__side{grid-row:auto;justify-content:flex-start!important;gap:0!important;padding:var(--top) var(--g) var(--top)!important}
.evh__side > div{margin-top:clamp(28px,3vw,44px)}
.evh__side .evh__more{margin-top:auto;padding-top:28px}
.evh__page{line-height:28px!important}
.evh__main{grid-row:auto;justify-content:flex-start;gap:clamp(22px,2.4vw,32px);padding:var(--top) clamp(24px,3vw,56px) var(--top)}
.evh__main .evh__k{min-height:28px}
.evh__main .evh__body{margin-top:0;gap:20px}
.evh__h button{all:unset;cursor:pointer}
.evh__h button:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.evh__h button:focus-visible{outline:2px solid #111;outline-offset:4px}
.evh__st{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px #bdb8ad;font:500 13px/18px var(--text);color:#111}
.evh__k .evh__st{color:#111}
.evh__k .evh__st.is-now{background:#111;color:#fff;box-shadow:none}
.evh__right{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(12px,1.2vw,18px);padding:var(--top) clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px);border-left:0}
.evh__right .evh__photo{grid-column:auto;grid-row:auto;aspect-ratio:auto;min-height:260px;border:0;border-radius:20px;overflow:hidden}
.evh__right .evh__photo{position:relative}
.evh__right .evh__photo img,.evh__right .evh__photo .geo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evh__right .evh__cta{width:100%;min-height:clamp(150px,13vw,200px);border:0;border-radius:20px;text-align:left;cursor:pointer}
.evh__cta span:last-child{display:grid;gap:6px}
.evh__cta small{font:400 14px/20px var(--text);letter-spacing:0;color:#3a3a00}
.evh__arr svg{width:18px;height:18px}
.evh__cta:hover .evh__arr{rotate:0deg;translate:4px 0}
@media (max-width:1000px){.evh{grid-template-columns:minmax(0,1fr)!important;min-height:0}.evh__side,.evh__main,.evh__right{grid-column:1}.evh__right .evh__photo{min-height:0;aspect-ratio:16/10}.evh__main .evh__body{margin-top:0}}

/* event ticket */
.evd__done{display:grid;gap:14px}
.evd__okt2{font:400 15px/22px var(--text);color:#333}
.evd__after{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.evd__after .evd__cal{margin:0}
.tkt{display:grid;grid-template-columns:48px minmax(110px,170px) minmax(0,1fr) 64px;min-height:230px;margin:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #e3dfd6}
.tkt__stub{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;background:#111;color:#fff}
.tkt__brand{writing-mode:vertical-rl;rotate:180deg;font:600 13px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.tkt__stub .isac-circle{width:28px;height:28px}
.tkt__art{display:grid;align-items:center;overflow:hidden;background:var(--gb)}
.tkt__art .geo{width:100%;aspect-ratio:1;height:auto}
.tkt__info{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;background:var(--l);color:var(--d)}
.tkt__k{font:600 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase}
.tkt__t{font:400 clamp(20px,2.2vw,26px)/1.08 var(--display);letter-spacing:-.02em;text-wrap:balance;color:#111}
.tkt__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:auto 0 0;padding-top:10px}
.tkt__facts dt{font:600 10px/12px var(--text);letter-spacing:.08em;text-transform:uppercase}
.tkt__facts dd{margin:2px 0 0;font:500 13px/17px var(--text);color:#111;overflow-wrap:anywhere}
.tkt__code{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;padding:14px 10px;background:#fff;border-left:2px dashed #cfcac0}
.tkt__code::before,.tkt__code::after{content:"";position:absolute;left:-10px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e3dfd6}
.tkt__code::before{top:-10px}
.tkt__code::after{bottom:-10px}
.tkt__st{font:600 10px/12px var(--text);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;rotate:180deg}
.tkt__refbox{display:flex;gap:6px;writing-mode:vertical-rl;rotate:180deg;align-items:center}
.tkt__rl{font:600 10px/12px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}
.tkt__ref{font:600 15px/18px var(--display);letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#111}
@media (max-width:640px){.tkt{grid-template-columns:40px minmax(0,1fr) 62px;min-height:250px}.tkt__art{display:none}.tkt__facts{grid-template-columns:minmax(0,1fr)}.evd__after{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.tkt{animation:none}}

/* events hero, premium: white page, light type, one image, one action */
/* events hero: a rounded panel in the event's light Centre colour; the featured event and its photo, with what is coming up as a strip underneath */
.evx{--pad:clamp(28px,3.4vw,56px);--rad:clamp(24px,2.6vw,36px);display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:clamp(28px,3.6vw,64px) clamp(32px,4.4vw,80px);min-height:0!important;margin:clamp(14px,1.6vw,24px) var(--g) 0;padding:var(--pad) var(--pad) 0!important;border:0!important;border-radius:var(--rad);background:var(--hl,#f4efe8)!important;color:#111;transition:background-color .6s var(--ease-dd)}
.evx__main{display:flex;flex-direction:column;gap:20px;min-width:0}
.evx__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 13px/18px var(--text);color:#111}
.evx__c{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 11px;border-radius:999px;background:rgba(255,255,255,.75)}
.evx__c i{width:8px;height:8px;border-radius:50%;background:var(--m)}
.evx__st{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(17,17,17,.18);color:#2c2c2c}
.evx__st.is-now{color:#0b5e25;box-shadow:inset 0 0 0 1px rgba(13,107,42,.35)}
.evx__st.is-now::before{content:"";width:7px;height:7px;border-radius:50%;background:#1f9d4a;box-shadow:0 0 0 3px rgba(31,157,74,.18)}
.evx__h{margin:8px 0 0;font:300 clamp(42px,4.4vw,74px)/1 var(--display);letter-spacing:-.04em;text-wrap:balance}
.evx__h button{all:unset;cursor:pointer}
.evx__h button:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:10px}
.evx__h button:focus-visible{outline:2px solid #111;outline-offset:6px}
.evx__p{font:400 18px/1.55 var(--text);color:#2c2c2c;max-width:32em;text-wrap:pretty}
.evx__facts{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:16px clamp(32px,4vw,64px);margin:4px 0 0;padding-top:18px;border-top:1px solid rgba(17,17,17,.15)}
.evx__facts dt{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.evx__facts dd{display:grid;gap:2px;margin:6px 0 0;font:400 20px/1.3 var(--display);letter-spacing:-.01em;color:#111}
.evx__facts dd span{font:400 14px/20px var(--text);letter-spacing:0;color:#3d3d3d}
.evx__acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:auto;padding-top:10px}
.evx__cta{padding:14px 22px 14px 26px;background:#111!important;color:#fff!important}
.evx__sec{padding:0;border:0;background:none;font:500 15px/20px var(--text);color:#111;cursor:pointer;border-bottom:1px solid #111}
.evx__img{position:relative;min-height:0;border-radius:clamp(18px,2vw,26px);overflow:hidden;background:#f1efea}
.evx__img img,.evx__img .geo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evx__tile{position:absolute;inset:0}
.evx__tile .geo{width:100%;height:100%}
/* coming up: a night band across the foot of the panel; the shown event's line takes its Centre colour */
.evx__side{grid-column:1/-1;display:grid;gap:12px;min-width:0;margin:0 calc(-1 * var(--pad));padding:clamp(22px,2.2vw,30px) var(--pad) clamp(24px,2.6vw,36px);border-radius:0 0 var(--rad) var(--rad);background:#141414;color:#fff}
.evx__side :focus-visible{outline:2px solid #fff;outline-offset:4px}
.evx__sh{display:flex;justify-content:space-between;align-items:center;gap:16px}
.evx__lab{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#c4c4c4}
.evx__all{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;font:500 14px/20px var(--text);color:#fff;cursor:pointer;border-bottom:1px solid #fff}
.evx__all .ico{width:15px;height:15px}
.evx__list{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(12px,1.6vw,24px)}
.evx__li{display:grid;align-content:start;gap:6px;width:100%;height:100%;padding:14px 0 4px;border:0;border-top:3px solid rgba(255,255,255,.16);background:none;text-align:left;color:#fff;cursor:pointer;transition:border-color .25s var(--ease-dd)}
.evx__li:hover{border-top-color:rgba(255,255,255,.42)}
.evx__li[aria-pressed="true"]{border-top-color:var(--m)}
.evx__when{display:flex;align-items:center;gap:7px;font:500 12px/16px var(--text);letter-spacing:.02em;color:#c4c4c4}
.evx__when i{width:7px;height:7px;border-radius:50%;background:var(--m)}
.evx__name{font:400 17px/1.3 var(--display);letter-spacing:-.008em;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.evx__li[aria-pressed="true"] .evx__name{font-weight:500}
@media (max-width:1100px){.evx__list{grid-auto-columns:minmax(200px,1fr);overflow-x:auto;scrollbar-width:none;padding:6px;margin:-6px}.evx__list::-webkit-scrollbar{display:none}}
@media (max-width:760px){
  .evx{--pad:14px;--rad:24px;grid-template-columns:minmax(0,1fr)!important;gap:22px;margin:12px 12px 0}
  .evx__img{aspect-ratio:4/3;order:-1}
  .evx__main{padding:0 6px}
  .evx__side{padding:20px 20px 24px}
  .evx__facts{grid-template-columns:minmax(0,1fr)}
  .evx__list{grid-auto-columns:minmax(64%,1fr);margin-right:-20px;padding-right:20px}
}
/* change chips and rows */
.evchip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 7px;border-radius:999px;font:500 12px/18px var(--text)}
.evchip svg{width:12px;height:12px}
.evchip--change{background:#f5f4f1;box-shadow:inset 0 0 0 1px #cfcfcf;color:#111}
.evchip--cancel{background:#f3f3f3;color:#5c5c5c}
.evchip--cancel svg{rotate:45deg}
.eva__r.is-cancelled .eva__t{color:#5c5c5c}
.eva__r.is-cancelled .eva__time{color:#5c5c5c;text-decoration:line-through}
.eva__r.is-cancelled::before{background:#cfcfcf}
.eva__r--ghost{padding-top:10px;padding-bottom:10px}
.eva__r--ghost .eva__t{font-size:16px;color:#3d3d3d}
.eva__r--ghost::before{background:repeating-linear-gradient(var(--m) 0 4px,transparent 4px 8px)}
/* dialog and page extras */
.evd__banner{padding:12px 16px;border-radius:14px;font:500 15px/22px var(--text)}
.evd__banner--change{background:#f5f4f1;box-shadow:inset 0 0 0 1px #cfcfcf;color:#111}
.evd__banner--cancel{background:#111;color:#fff}
.evd__rec{display:grid;gap:6px}
.evd__mh{margin-top:6px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#5c5c5c}
.evd__more{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.evd__more button{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:14px;background:#f5f3ee;text-align:left;cursor:pointer;font:500 15px/20px var(--text);color:#111}
.evd__more button:hover{background:#ebe8e1}
.evd__more small{font:400 13px/18px var(--text);color:#5c5c5c;white-space:nowrap}
.evd__prev{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:12px;background:#fff8d6;color:#4a3a05;font:500 13px/19px var(--text)}
.evd__prev svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
.evd--page{display:block;width:min(820px,calc(100% - 2 * var(--g)));max-height:none;margin:clamp(20px,3vw,44px) auto clamp(48px,6vw,96px);overflow:hidden;box-shadow:0 0 0 1px #ebe8e1}
.evd__back{margin:18px 0 0 clamp(22px,3vw,36px)}
.evd--page .evd__img{margin-top:16px}
.evnf{max-width:760px}
.evnf .t-intro{margin:18px 0 28px}
/* phone filter bar and full-screen sheet */
}


/* blog */
.blog__f{display:flex;align-items:center;gap:14px;margin-bottom:clamp(24px,2.6vw,40px)}
.blog__n{font:400 15px/20px var(--text);color:#3d3d3d}
.blog__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3.4vw,56px);align-items:center;padding-bottom:clamp(32px,3.6vw,56px);margin-bottom:clamp(32px,3.6vw,56px);border-bottom:1px solid #e3dfd7}
.blog__img{position:relative;display:block;aspect-ratio:16/10;border-radius:clamp(20px,2.2vw,28px);overflow:hidden;background:#f1efea}
.blog__img img,.blog__img .geo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog__tx{display:grid;gap:16px;align-content:center}
.blog__h{font:300 clamp(32px,3.2vw,52px)/1.04 var(--display);letter-spacing:-.03em;text-wrap:balance}
.blog__h a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.blog__p{font:400 18px/1.55 var(--text);color:#2c2c2c;text-wrap:pretty}
.blog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,1.4vw,22px)}
.blog__empty{display:grid;justify-items:start;gap:16px;padding:clamp(28px,3vw,44px);border-radius:24px;background:#f5f3ee;font:400 18px/1.5 var(--text)}
.blog__more{margin-top:clamp(32px,3.6vw,56px);font:500 15px/20px var(--text)}
@media (max-width:900px){.blog__top{grid-template-columns:minmax(0,1fr)}}
.art{position:relative}
.art__a{color:inherit}
.art__a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.art:has(.art__a):hover .art__t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.art__a:focus-visible{outline:none}
.art:has(.art__a:focus-visible){outline:2px solid #111;outline-offset:3px}
/* a post is one reading column (700px); only the cover image runs wider */
.post{max-width:calc(700px + 2 * var(--g));margin:0 auto;padding:clamp(28px,3vw,44px) var(--g) clamp(48px,5vw,80px)}
.post__meta{margin-top:clamp(28px,3vw,44px);flex-wrap:wrap}
.post__c{display:inline-flex;align-items:center;gap:8px;font:500 13px/18px var(--text);color:#111}
a.post__c:hover{text-decoration:underline}
.post__c i{width:8px;height:8px;border-radius:50%;background:var(--m)}
/* the headline steps down as it gets longer (PAGES.post adds --long past 70 characters, --xl past 120) */
.post__h{margin-top:18px;font:400 clamp(36px,3.6vw,54px)/1.08 var(--display);letter-spacing:-.025em;text-wrap:balance}
.post__h--long{font-size:clamp(30px,2.9vw,44px);line-height:1.14;letter-spacing:-.02em}
.post__h--xl{font-size:clamp(28px,2.5vw,38px);line-height:1.2;letter-spacing:-.015em}
.post__stand{margin-top:18px;font:400 clamp(18px,1.4vw,21px)/1.55 var(--text);color:#4a4a4a;text-wrap:pretty}
.post__img{position:relative;margin:clamp(28px,3vw,44px) calc(-1 * min(8vw,120px)) 0;aspect-ratio:16/9;border-radius:clamp(20px,2.2vw,28px);overflow:hidden;background:#f1efea}
.post__img img,.post__img .geo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post__body{display:grid;gap:28px;margin-top:clamp(32px,3.4vw,48px)}
.post__body > .pill{justify-self:start}
.post__facts{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:16px 56px;margin:0}
.post__facts dt{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.post__facts dd{margin:6px 0 0;font:400 20px/1.3 var(--display)}
/* the Studio's facts: an "At a glance" panel, one row per fact */
.post__glance{padding-top:22px;border-top:1px solid #e4e1da}
.post__glance h2{margin:0 0 4px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.post__facts--foot{display:block;margin:0}
.post__facts--foot div{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:4px 24px;padding:14px 0;border-bottom:1px solid #e4e1da}
.post__facts--foot div:last-child{border-bottom:0}
.post__facts--foot dt{padding-top:3px}
.post__facts--foot dd{margin:0;font:400 17px/1.5 var(--text);color:#222}
.legal{max-width:46em}.legal__h{font:400 clamp(24px,2.2vw,30px)/1.2 var(--display, inherit);margin:40px 0 12px}.legal .t-body{margin:0 0 14px}.legal__date{margin-top:14px;color:var(--grey)}.legal__also{margin-top:48px}
.post__tbc{padding:16px 18px;border-radius:16px;background:#f5f3ee;font:400 15px/22px var(--text);color:#3d3d3d}
@media (max-width:1100px){.post__img{margin-inline:0}}
@media (max-width:640px){.post__facts{grid-template-columns:minmax(0,1fr)}.post__facts--foot div{grid-template-columns:minmax(0,1fr)}}
.pcx__join--ask{background:none;color:var(--d);box-shadow:inset 0 0 0 1.5px currentColor}
.pcx__join--ask:hover{background:var(--d);color:#fff}
/* Chair and Fellows: four across inside the page width on wide screens */
@media (min-width:901px){#ce-people .stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1vw,16px);margin-inline:0;padding-inline:0;overflow:visible}#ce-people .story{height:clamp(420px,34vw,540px);border-radius:22px}}

/* Centre page parts, each in its own form: projects as photos, programmes as a numbered band in the Centre colour,
   services and clubs as plain lists, Research Lab as publication covers, platforms as large marks */
.cxk{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:16px;margin-bottom:clamp(18px,1.8vw,26px);border-bottom:2px solid #111}
.cxk__h{display:flex;align-items:center;gap:12px;font:400 clamp(26px,2.4vw,36px)/1.1 var(--display);letter-spacing:-.02em}
.cxk__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cm);color:#111;font-size:18px;flex:0 0 auto}
.cxp{min-width:0;padding-top:4px}
.cxpj{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(14px,1.4vw,22px)}
.cxpj__c{display:grid;align-content:start;gap:10px;color:#111}
.cxpj__img{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#f1efea}
.cxpj__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .5s var(--ease-dd)}
.cxpj__c:hover .cxpj__img img{scale:1.04}
.cxpj__t{font:400 21px/1.2 var(--display);letter-spacing:-.01em;text-wrap:balance}
.cxpj__go{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text)}
.cxpj__go svg{width:14px;height:14px}
.cxg{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);padding:clamp(32px,4vw,64px);border-radius:clamp(24px,2.6vw,36px);background:var(--cl);color:var(--cd)}
.cxg__head{display:grid;align-content:start;gap:14px}
.cxg__lab{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase}
.cxg__lab .pi{width:18px;height:18px}
.cxg__h{font:300 clamp(40px,4.4vw,72px)/1 var(--display);letter-spacing:-.035em;color:#111}
.cxg__d{font:400 16px/24px var(--text)}
.cxg__list{list-style:none;margin:0;padding:0}
.cxg__row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:clamp(14px,2vw,32px);align-items:center;padding:clamp(20px,2vw,28px) 0;border-top:1px solid color-mix(in srgb,var(--cd) 25%,transparent)}
.cxg__row:last-child{border-bottom:1px solid color-mix(in srgb,var(--cd) 25%,transparent)}
.cxg__n{align-self:start;padding-top:6px;font:500 15px/20px var(--text);color:var(--cd)}
.cxg__t{font:400 clamp(24px,2.2vw,32px)/1.12 var(--display);letter-spacing:-.02em;color:#111;text-wrap:balance}
.cxg__p{margin-top:6px;font:400 16px/24px var(--text);color:#2c2c2c;max-width:36em;text-wrap:pretty}
.cxg__go{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#111;color:#fff;font:500 14px/18px var(--text);white-space:nowrap}
.cxg__go svg{width:13px;height:13px}
.cxg__go--ask{background:none;color:#111;box-shadow:inset 0 0 0 1.5px #111}
.cxg__go--ask:hover{background:#111;color:#fff}
.cxl2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,72px);padding-top:clamp(28px,3vw,48px)}
.cxl__list{list-style:none;margin:0;padding:0}
.cxl__row + .cxl__row{border-top:1px solid #e3dfd7}
.cxl__a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6px 24px;padding:18px 0;color:#111}
.cxl__t{font:500 18px/1.3 var(--text);letter-spacing:-.005em}
.cxl__p{font:400 16px/24px var(--text);color:#3d3d3d}
.cxl__go{grid-column:2;display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text)}
.cxl__go svg{width:12px;height:12px}
a.cxl__a:hover .cxl__t{text-decoration:underline}
.cxr2{padding:clamp(28px,3.4vw,52px);margin-top:clamp(28px,3vw,48px);border-radius:clamp(24px,2.6vw,36px);background:#f4efe8}
.cxdoc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(14px,1.4vw,22px)}
.cxdoc__c{position:relative;display:flex;flex-direction:column;gap:10px;aspect-ratio:4/5;padding:clamp(18px,1.8vw,26px);border-radius:6px 18px 18px 6px;box-shadow:inset 6px 0 0 rgba(0,0,0,.12),0 18px 34px -24px rgba(0,0,0,.45)}
.cxdoc__c--0{background:var(--cd);color:#fff}
.cxdoc__c--1{background:var(--cm);color:#000}
.cxdoc__c--2{background:#fff;color:#111}
.cxdoc__k{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase}
.cxdoc__t{margin-top:auto;font:400 clamp(22px,1.9vw,28px)/1.12 var(--display);letter-spacing:-.015em;text-wrap:balance}
.cxdoc__p{font:400 14px/20px var(--text)}
.cxdoc__c--0 .cxdoc__k,.cxdoc__c--0 .cxdoc__p{color:rgba(255,255,255,.86)}
.cxdoc__c--2 .cxdoc__k,.cxdoc__c--2 .cxdoc__p{color:#3d3d3d}
.cxmou{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:clamp(20px,2vw,28px);padding-top:16px;border-top:1px solid #dcd6cc}
.cxmou__k{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.cxmou__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font:400 15px/22px var(--text)}
.cxmou__l li{display:inline-flex;align-items:center;gap:6px}
.cxmou__none{font:400 15px/22px var(--text);color:#3d3d3d}
.cxpl{padding-top:clamp(28px,3vw,48px)}
.cxpl__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(14px,1.4vw,22px)}
.cxpl__c{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.cxpl__mono{display:grid;place-items:center;width:clamp(88px,8vw,116px);aspect-ratio:1;border-radius:24px;background:var(--cd);color:#fff;font:400 clamp(34px,3vw,46px)/1 var(--display);letter-spacing:-.03em}
.cxpl__tx{display:grid;gap:6px}
.cxpl__t{font:400 24px/1.15 var(--display);letter-spacing:-.015em}
.cxpl__p{font:400 15px/22px var(--text);color:#3d3d3d;text-wrap:pretty}
.cxpl__go{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text)}
.cxpl__go svg{width:12px;height:12px}
.cxpl__c:hover .cxpl__t{text-decoration:underline}
@media (max-width:900px){.cxg{grid-template-columns:minmax(0,1fr)}.cxl2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.cxg{padding:24px 20px}.cxg__row{grid-template-columns:36px minmax(0,1fr)}.cxg__go{grid-column:2;justify-self:start}.cxl__a{grid-template-columns:minmax(0,1fr)}.cxl__go{grid-column:1}.cxr2{padding:22px 18px}.cxdoc{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.cxdoc__c{aspect-ratio:auto;min-height:220px}}
.blog__f{margin-bottom:clamp(24px,2.6vw,40px)!important}
.post__img--geo{aspect-ratio:21/9}
.sec#ce-people{padding-top:clamp(56px,5.6vw,88px);padding-bottom:clamp(56px,5.6vw,88px)}
.field__err{display:block;margin-top:6px;font:500 13px/18px var(--text);color:#b3261e}
.evd__form [aria-invalid="true"]{box-shadow:inset 0 0 0 2px #b3261e}
.eva__count{scroll-margin-top:calc(var(--float) + 24px)}
.evd__t:focus{outline:none}
.evd__t:focus-visible{outline:2px solid #111;outline-offset:4px}
.post__prose{display:block}
.post__by{margin-top:14px;font:400 14px/20px var(--text);color:#3d3d3d}
.post__sub{margin:0;font:500 clamp(21px,1.7vw,26px)/1.3 var(--display);letter-spacing:-.01em;color:#111;text-wrap:balance}
.post__lead{margin:0;font:400 clamp(18px,1.45vw,21px)/1.65 var(--text);color:#111;text-wrap:pretty}
/* the dateline opens the first paragraph: BENGALURU / NUREMBERG — */
.post__dl{font-weight:600;font-size:.8em;letter-spacing:.06em;text-transform:uppercase}
.post__dl::after{content:" \2014\00a0";font-weight:400;letter-spacing:0}
.post__points{box-sizing:border-box;width:100%;padding:20px 0 22px;border-block:1px solid #e4e1da}
.post__points h2,.post__src h2{margin:0 0 12px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
/* questions and answers is a section of its own, headed like the article's sections */
.post__faq{margin-top:clamp(12px,1.4vw,20px);padding-top:clamp(28px,3vw,40px)}
.post__faq h2{margin:0 0 20px;font:500 clamp(21px,1.7vw,26px)/1.3 var(--display);letter-spacing:-.01em;color:#111}
.post__points ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.post__points li{position:relative;padding-left:22px;font:400 clamp(16px,1.2vw,18px)/1.55 var(--text);color:#222}
.post__points li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--m)}
.post__pull{margin:clamp(8px,1.2vw,16px) 0 clamp(20px,2vw,28px);padding-left:20px;border-left:3px solid var(--m)}
.post__pull blockquote{margin:0;font:300 clamp(24px,2.2vw,32px)/1.25 var(--display);letter-spacing:-.02em;color:#111;text-wrap:balance}
.post__faq,.post__src{width:100%;padding-top:22px;border-top:1px solid #e4e1da}
.post__faq h3{margin:20px 0 6px;font:500 17px/1.4 var(--text);color:#111}
.post__faq h3:first-of-type{margin-top:0}
.post__faq p{margin:0;font:400 16px/1.65 var(--text);color:#3d3d3d}
.post__src ol{margin:0;padding-left:22px;list-style:decimal;display:grid;gap:8px;font:400 16px/1.5 var(--text)}
.post__topics{margin:0;font:400 14px/20px var(--text);color:#3d3d3d}
.post__prose h2,.post__prose h3{margin:clamp(36px,3.4vw,48px) 0 12px;font:500 clamp(21px,1.7vw,26px)/1.3 var(--display);letter-spacing:-.01em;color:#111;text-wrap:balance}
.post__prose h3{font-size:clamp(18px,1.4vw,21px)}
.post__prose > :first-child{margin-top:0}
.post__prose p{margin:0 0 18px;font:400 clamp(17px,1.3vw,19px)/1.7 var(--text);color:#222;text-wrap:pretty}
.post__prose ul{margin:4px 0 22px;padding:0;list-style:none;display:grid;gap:8px}
.post__prose li{position:relative;padding-left:22px;font:400 clamp(17px,1.3vw,19px)/1.6 var(--text);color:#222}
.post__prose li p{margin:0;font:inherit;color:inherit}
.post__prose li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--m)}
.post__pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:clamp(14px,1.6vw,22px) 0 6px}
.post__pics figure{position:relative;margin:0;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#f1efea}
.post__pics img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.post__pics{grid-template-columns:minmax(0,1fr)}}
/* clubs and chapters */
.clb__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(12px,1.2vw,18px)}
.clb{display:grid;grid-template-rows:auto 1fr;border-radius:22px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #e6e2da;color:#111;transition:translate .3s var(--ease-dd),box-shadow .3s var(--ease-dd)}
.clb:hover{translate:0 -3px;box-shadow:inset 0 0 0 1px #d6d1c6,0 16px 30px -22px rgba(17,17,17,.45)}
.clb__top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;min-height:118px;padding:16px 18px;background:var(--cl);color:var(--cd);overflow:hidden}
.clb__k{display:inline-flex;align-items:center;gap:7px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase}
.clb__k .pi{width:15px;height:15px}
.clb__ic{position:absolute;right:-14px;bottom:-22px;color:var(--cm)}
.clb__ic .pi{width:118px;height:118px}
.clb__tx{display:grid;align-content:start;gap:6px;padding:16px 18px 18px}
.clb__t{font:400 23px/1.15 var(--display);letter-spacing:-.015em}
.clb__city{display:inline-flex;align-items:center;gap:6px;font:500 15px/20px var(--text)}
.clb__city .pi{width:15px;height:15px}
.clb__h{font:400 14px/20px var(--text);color:#4a4a4a}
.clb__c{display:inline-flex;align-items:center;gap:7px;margin-top:6px;font:500 13px/18px var(--text);color:#3d3d3d}
.clb__c i{width:8px;height:8px;border-radius:50%;background:var(--m)}
.clb__go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:500 14px/18px var(--text)}
.clb__go svg{width:14px;height:14px}
.chp__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(12px,1.2vw,18px)}
.chp{display:grid;gap:6px;padding:20px 22px 22px;border-radius:22px;background:#141414;color:#fff;transition:background-color .3s var(--ease-dd)}
.chp:hover{background:#262626}
.chp__k{display:inline-flex;align-items:center;gap:7px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#c4c4c4}
.chp__k .pi{width:15px;height:15px}
.chp__t{margin-top:18px;font:300 clamp(34px,3vw,46px)/1 var(--display);letter-spacing:-.03em}
.chp__n{font:400 14px/20px var(--text);color:#c4c4c4}
.chp__go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:500 14px/18px var(--text)}
.chp__go svg{width:14px;height:14px}
.cxc{padding-top:clamp(28px,3vw,48px)}
.cxc__sub{display:flex;align-items:center;gap:8px;margin:clamp(22px,2.2vw,32px) 0 12px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.cxc__sub .pi{width:15px;height:15px}
.cxc__al{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px 28px}
.cxc__al li{padding:12px 0;border-top:1px solid #e3dfd7;font:400 15px/22px var(--text);color:#3d3d3d}
.cxc__al b{display:block;font-weight:500;color:#111}
.cxl--wide{padding-top:clamp(28px,3vw,48px)}
.cxl__list--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,72px)}
.cxl__list--2 .cxl__row{border-top:1px solid #e3dfd7}
.cxl__list--2 .cxl__row:nth-child(-n+2){border-top:0}
.clbs__intro{max-width:36em;margin-bottom:22px}
.clbs__seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;margin-bottom:clamp(24px,2.6vw,40px);border-radius:999px;background:#f5f3ee;width:max-content;max-width:100%}
.clbs__seg a{padding:10px 16px;border-radius:999px;font:500 14px/18px var(--text);color:#333}
.clbs__seg a:hover{background:#ebe8e1}
.clbs__seg a[aria-current]{background:#111;color:#fff}
.clbs__g + .clbs__g{margin-top:clamp(32px,3.6vw,56px)}
.clbs__h{display:flex;align-items:center;gap:10px;margin-bottom:16px;font:400 clamp(24px,2.2vw,32px)/1.1 var(--display);letter-spacing:-.02em}
.clbs__h .pi{width:24px;height:24px}
.clbs__more{margin-top:14px;font:500 15px/20px var(--text)}
.clp{padding:clamp(28px,3vw,44px) var(--g) clamp(40px,4vw,64px)}
.clp__nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.clp__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);margin-top:clamp(20px,2.4vw,32px);padding:clamp(28px,3.6vw,56px);border-radius:clamp(24px,2.6vw,36px);background:var(--cl,#f4efe8);color:#111}
.clp--ch .clp__head{background:#141414;color:#fff}
.clp__k{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--cd,#111)}
.clp--ch .clp__k{color:#c4c4c4}
.clp__k .pi{width:17px;height:17px}
.clp__h{margin-top:16px;font:300 clamp(40px,4.6vw,76px)/1 var(--display);letter-spacing:-.035em;text-wrap:balance}
.clp__p{margin-top:16px;font:400 18px/1.5 var(--text)}
.clp__facts{display:grid;gap:14px;margin:0;align-content:end}
.clp__facts div{padding-top:12px;border-top:1px solid rgba(17,17,17,.18)}
.clp--ch .clp__facts div{border-top-color:rgba(255,255,255,.2)}
.clp__facts dt{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.clp__facts dd{margin:4px 0 0;font:400 18px/1.35 var(--text)}
.clp__body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);margin-top:clamp(28px,3.4vw,52px)}
.clp__h2{margin:0 0 14px;font:400 clamp(26px,2.4vw,34px)/1.1 var(--display);letter-spacing:-.02em}
.clp__h2 + .clp__list{margin-bottom:clamp(24px,2.6vw,40px)}
.clp__list{list-style:none;margin:0 0 clamp(24px,2.6vw,40px);padding:0;display:grid}
.clp__list li{position:relative;padding:14px 0 14px 24px;border-top:1px solid #e3dfd7;font:400 18px/1.5 var(--text)}
.clp__list li::before{content:"";position:absolute;left:0;top:23px;width:9px;height:9px;border-radius:50%;background:var(--cm,#111)}
.clp__ask{align-self:start;display:grid;gap:14px;justify-items:start;padding:clamp(22px,2.4vw,32px);border-radius:24px;background:#f5f3ee}
.clp__ask h2{font:400 26px/1.15 var(--display);letter-spacing:-.015em}
.clp__ask p{font:400 16px/24px var(--text);color:#2c2c2c}
.clp__ch{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text);text-decoration:underline;text-underline-offset:3px}
.clp__ch .pi{width:15px;height:15px}
.cxe--light a{background:#f5f3ee;color:#111}
.cxe--light a:hover{background:#ebe8e1}
.cxe--light .cxe__d{background:#fff}
.cxe--light .cxe__m{opacity:1;color:#3d3d3d}
@media (max-width:900px){.clp__head,.clp__body{grid-template-columns:minmax(0,1fr)}.cxl__list--2{grid-template-columns:minmax(0,1fr)}.cxl__list--2 .cxl__row:nth-child(2){border-top:1px solid #e3dfd7}}
/* Research Lab publications: designed covers, type, size and a download */
.cxk__n{font:500 14px/20px var(--text);color:#3d3d3d}
.pubs{list-style:none;margin:0;padding:0;display:grid}
.pub{display:grid;grid-template-columns:clamp(104px,10vw,140px) minmax(0,1fr) auto;gap:clamp(18px,2.4vw,40px);align-items:center;padding:clamp(16px,1.6vw,22px) 0}
.pub + .pub{border-top:1px solid #dcd6cc}
.pub__cov{display:block;border-radius:4px 10px 10px 4px;box-shadow:0 1px 0 rgba(0,0,0,.06),0 16px 26px -18px rgba(17,17,17,.55);transition:translate .35s var(--ease-dd),box-shadow .35s var(--ease-dd)}
.pub:hover .pub__cov{translate:0 -3px;box-shadow:0 1px 0 rgba(0,0,0,.06),0 22px 32px -20px rgba(17,17,17,.6)}
.pubc{position:relative;display:grid;grid-template-rows:auto 1fr auto auto;gap:6px;aspect-ratio:1/1.32;padding:10px 10px 10px 13px;border-radius:inherit;background:var(--bg);color:var(--ink);overflow:hidden}
.pubc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:rgba(0,0,0,.14)}
.pubc__k{font:600 6.5px/9px var(--text);letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.pubc__g{align-self:center;justify-self:center;width:68%;aspect-ratio:1}
.pubc__g svg{display:block;width:100%;height:100%}
.pubc__ty{font:400 clamp(13px,1.1vw,16px)/1.05 var(--display);letter-spacing:-.01em}
.pubc__t{font:400 13px/1.1 var(--display)}
.pubc__c{font:500 6.5px/9px var(--text);opacity:.85}
.pub__tx{display:grid;gap:6px;min-width:0}
.pub__k{display:flex;gap:10px;font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#111}
.pub__k span{color:#4a4a4a;letter-spacing:.06em}
.pub__t{font:400 clamp(21px,1.9vw,28px)/1.15 var(--display);letter-spacing:-.015em;text-wrap:balance}
.pub__p{font:400 15px/22px var(--text);color:#3d3d3d}
.pub__act{display:grid;justify-items:end;gap:6px}
.pub__dl{display:inline-flex;align-items:center;gap:8px;padding:11px 18px 11px 14px;border-radius:999px;background:#111;color:#fff;font:500 14px/18px var(--text);white-space:nowrap}
.pub__dl svg{width:16px;height:16px}
.pub__dl:hover{background:#333}
.pub__note{font:400 13px/18px var(--text);color:#3d3d3d;text-align:right}
.pub__note:empty{display:none}
@media (max-width:640px){.pub{grid-template-columns:92px minmax(0,1fr);align-items:start}.pub__act{grid-column:2;justify-items:start}.pub__note{text-align:left}}
/* event posters (Swiss grammar after the Yeah! Club series) */
.cxp{padding-top:4px}
.cxv{padding-top:clamp(36px,4vw,64px)}
.psts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,26px)}
.psts--2{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:clamp(24px,2.6vw,40px)}
.pst{display:grid;grid-template-rows:auto auto;background:#efefed;color:#111;transition:background-color .25s var(--ease-dd)}
.pst:hover{background:#e7e6e2}
.pst__top{display:grid;grid-template-columns:minmax(0,1fr) 40%;min-height:clamp(220px,17vw,260px)}
.pst__l{display:flex;flex-direction:column;padding:14px 14px 13px}
.pst__mk .pi{width:34px;height:34px;color:#111}
.pst__h{display:grid;gap:1px;margin-top:auto}
.pst__h b{font:600 clamp(17px,1.45vw,21px)/1.06 var(--display);letter-spacing:-.02em;text-wrap:balance}
.pst__t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pst__rule{display:block;width:16px;height:2px;margin:9px 0 8px;background:#111}
.pst__w{font:600 15px/1.1 var(--display);letter-spacing:-.01em}
.pst__w small{font:600 10.5px/1 var(--text);letter-spacing:0;white-space:nowrap}
.pst__r{display:flex;flex-direction:column;gap:11px;padding:12px 12px 13px;border-left:1px solid #111;font:500 11px/1.28 var(--text);letter-spacing:-.005em}
.pst__ft{margin-top:auto;padding-top:9px;border-top:1px solid #111}
.pst__img{position:relative;display:block;aspect-ratio:1/.86;overflow:hidden;background:var(--m)}
.pst__img img,.pst__img .geo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .5s var(--ease-dd)}
.pst:hover .pst__img img,.pst:hover .pst__img .geo{scale:1.035}
.pst:focus-visible{outline:2px solid #111;outline-offset:3px}
.pst__grad{position:absolute;inset:0;background:radial-gradient(60% 55% at 22% 28%,var(--g1) 0%,transparent 70%),radial-gradient(55% 60% at 82% 72%,var(--g2) 0%,transparent 72%),radial-gradient(45% 45% at 70% 18%,var(--g3) 0%,transparent 70%),linear-gradient(140deg,var(--g4),var(--g1) 55%,var(--g2));transition:scale .5s var(--ease-dd)}
.pst:hover .pst__grad{scale:1.035}
@media (max-width:1100px){.psts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.psts,.psts--2{grid-template-columns:minmax(0,1fr)}.pst__top{min-height:210px}}
/* clubs on a Centre page: one pathway, school to college to professional */
.cpath{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,34px)}
.cpath__s{position:relative;min-width:0}
.cpath__s:not(:last-child)::after{content:"";position:absolute;z-index:1;top:50%;right:calc(-1 * clamp(18px,2.2vw,34px) / 2 - 16px);width:32px;height:32px;margin-top:-16px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5.5l4.5 4.5-4.5 4.5' fill='none' stroke='%23111' stroke-width='1.6'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 0 1px #e3dfd7}
.cpath__a{display:flex;flex-direction:column;gap:10px;height:100%;padding:clamp(20px,2vw,28px);border-radius:24px;color:#111;transition:translate .3s var(--ease-dd),box-shadow .3s var(--ease-dd)}
.cpath__s--0 .cpath__a{background:var(--cl)}
.cpath__s--1 .cpath__a{background:color-mix(in srgb,var(--cl) 55%,var(--cm))}
.cpath__s--2 .cpath__a{background:var(--cm);color:#000}
.cpath__a:hover{translate:0 -3px;box-shadow:0 18px 32px -24px rgba(17,17,17,.5)}
.cpath__top{display:flex;justify-content:space-between;align-items:center}
.cpath__n{font:600 13px/16px var(--text);letter-spacing:.06em}
.cpath__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.75)}
.cpath__ic .pi{width:22px;height:22px}
.cpath__h{margin-top:clamp(18px,2.4vw,40px);font:300 clamp(30px,2.8vw,44px)/1 var(--display);letter-spacing:-.03em}
.cpath__name{display:grid;gap:4px;font:500 17px/1.3 var(--text)}
.cpath__name span{display:inline-flex;align-items:center;gap:5px;font-weight:400;font-size:15px}
.cpath__name .pi{width:15px;height:15px}
.cpath__p{font:400 15px/22px var(--text);opacity:.85}
.cpath__s--2 .cpath__p{opacity:1}
.cpath__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font:500 15px/20px var(--text)}
.cpath__go svg{width:15px;height:15px;transition:translate .25s var(--ease-dd)}
.cpath__a:hover .cpath__go svg{translate:3px 0}
.chb{margin-top:clamp(18px,2vw,28px);padding:clamp(20px,2.2vw,30px) clamp(22px,2.6vw,36px);border-radius:24px;background:#141414;color:#fff}
.chb__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.chb__k{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#c4c4c4}
.chb__k .pi{width:15px;height:15px}
.chb__all{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text);border-bottom:1px solid #fff}
.chb__all svg{width:12px;height:12px}
.chb__list{list-style:none;margin:clamp(14px,1.6vw,22px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.chb__list li + li{border-left:1px solid rgba(255,255,255,.18)}
.chb__list a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 12px;padding:8px clamp(14px,2vw,28px)}
.chb__list li:first-child a{padding-left:0}
.chb__t{font:300 clamp(32px,3.2vw,52px)/1 var(--display);letter-spacing:-.03em}
.chb__n{grid-column:1;font:400 14px/20px var(--text);color:#c4c4c4}
.chb__go{grid-row:1 / span 2;grid-column:2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);transition:background-color .25s var(--ease-dd)}
.chb__go svg{width:16px;height:16px}
.chb__list a:hover .chb__go{background:#fff;color:#111}
.clb__geo{width:56px;height:56px;border-radius:14px;overflow:hidden;flex:0 0 auto}
.clb__geo .geo{display:block;width:100%;height:100%}
.clb__top{min-height:96px}
@media (max-width:900px){.cpath{grid-template-columns:minmax(0,1fr)}.cpath__s:not(:last-child)::after{top:auto;bottom:calc(-1 * clamp(18px,2.2vw,34px) / 2 - 16px);right:auto;left:50%;margin:0 0 0 -16px;transform:rotate(90deg)}.chb__list{grid-template-columns:minmax(0,1fr)}.chb__list li + li{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.chb__list a{padding:14px 0}}
/* Centres page: progress board (Levenue grammar) */
.cbd__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);gap:8px}
.cbd__p{position:relative;min-width:0;padding:clamp(20px,2.2vw,32px);overflow:hidden;color:#111}
.cbd__chart{grid-column:span 7;background:#fbf6c8;min-height:340px}
.cbd__mint{grid-column:span 5;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr auto;gap:18px 26px;background:#bdf0dc}
.cbd__green{grid-column:span 5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:1fr auto;gap:14px 18px;background:#1d4a2c;color:#fff}
.cbd__maroon{grid-column:span 4;display:grid;grid-template-rows:1fr auto;gap:18px;background:#5a1018;color:#fff}
.cbd__orange{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:#c2410c;color:#fff}
.cbd__orange ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cbd__orange li{display:grid;gap:2px;padding-top:10px;border-top:1px solid rgba(255,255,255,.4)}
.cbd__orange a{font:400 19px/1.2 var(--display);letter-spacing:-.01em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cbd__orange span{font:400 14px/20px var(--text)}
.cbd__inset{display:inline-grid;gap:2px;padding:14px 18px 16px;background:#dcd8fb;position:relative;z-index:2}
.cbd__inset p{font:400 14px/18px var(--text)}
.cbd__inset b{font:400 clamp(38px,4vw,62px)/1 var(--display);letter-spacing:-.03em}
.cbd__inset--sm{position:absolute;right:clamp(20px,2.2vw,32px);bottom:clamp(20px,2.2vw,32px);display:grid;grid-template-columns:auto auto;gap:0;padding:12px 0}
.cbd__inset--sm div{padding:0 18px}
.cbd__inset--sm div + div{border-left:1.5px solid #111}
.cbd__inset--sm p{font-size:12px;color:#4a4a4a}
.cbd__inset--sm b{font:400 clamp(17px,1.5vw,22px)/1.2 var(--display);letter-spacing:-.01em}
.cbd__line{position:absolute;inset:0;width:100%;height:100%}
.cbd__pt{position:absolute;z-index:1;display:grid;justify-items:center;gap:4px;translate:-50% -50%}
.cbd__pt b{padding:6px 7px;background:#111;color:#fff;font:400 15px/1 var(--display)}
.cbd__pt span{font:500 11px/1 var(--text);white-space:nowrap;background:#fbf6c8;padding:2px 3px}
.cbd__pt:hover b{background:#c2410c}
.cbd__sq{display:grid;place-items:center;width:clamp(72px,7vw,96px);aspect-ratio:1;background:#0f2a1c;color:#bdf0dc}
.cbd__sq .pi{width:48%;height:48%}
.cbd__mint h3{font:400 clamp(30px,3vw,46px)/1.02 var(--display);letter-spacing:-.03em}
.cbd__mint p{margin-top:16px;font:400 15px/22px var(--text);max-width:30em}
.cbd__logo{display:block;width:clamp(110px,10vw,140px)}
.cbd__logo svg{width:100%;height:auto}
.cbd__mint .cbd__logo{grid-column:1 / -1;align-self:end}
.cbd__logo--w,.cbd__maroon .cbd__logo{filter:brightness(0) invert(1)}
.cbd__maroon .cbd__logo{filter:none;width:100px}
.cbd__txt{font:400 15px/22px var(--text)}
.cbd__green .cbd__logo{grid-column:1;grid-row:2;align-self:end}
.cbd__card{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:16px 18px 20px;background:#dcd8fb;color:#1d4a2c}
.cbd__sq--g{width:72px;background:#1d4a2c;color:#dcd8fb}
.cbd__card b{font:400 clamp(26px,2.5vw,38px)/1.02 var(--display);letter-spacing:-.025em}
.cbd__card:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.cbd__big{display:grid;align-content:space-between;padding:14px 18px 6px;background:#dcd8fb;color:#5a1018}
.cbd__big b{font:300 clamp(80px,9vw,140px)/1 var(--display);letter-spacing:-.05em}
.cbd__cap{font:400 clamp(18px,1.6vw,24px)/1.2 var(--display);letter-spacing:-.01em}
.cbd__maroon:hover .cbd__cap{text-decoration:underline;text-underline-offset:5px}
.cbd__orange b{font:400 clamp(34px,3.2vw,52px)/1.02 var(--display);letter-spacing:-.03em;text-wrap:balance}
@media (max-width:1100px){.cbd__chart,.cbd__mint,.cbd__green{grid-column:span 12}.cbd__maroon{grid-column:span 7}.cbd__orange{grid-column:span 5}}
@media (max-width:640px){.cbd__grid{grid-auto-rows:auto}.cbd__maroon,.cbd__orange{grid-column:span 12}.cbd__chart{min-height:420px}.cbd__green{grid-template-columns:minmax(0,1fr)}.cbd__card{grid-column:1;grid-row:auto}.cbd__green .cbd__logo{grid-row:auto}.cbd__mint{grid-template-columns:minmax(0,1fr)}.cbd__inset--sm{left:clamp(20px,2.2vw,32px);right:auto}.cbd__orange{min-height:160px}}
/* club and chapter pages: collage header (InVision grammar) */
.cgl{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(4,clamp(96px,9.4vw,150px));gap:8px;margin-top:clamp(20px,2.4vw,32px)}
.cgl__t{position:relative;min-width:0;overflow:hidden}
.cgl__head{grid-column:1 / 6;grid-row:1 / 4;display:flex;flex-direction:column;padding:clamp(20px,2.2vw,32px);background:var(--a);color:#fff}
.cgl__k{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.cgl__k .pi{width:17px;height:17px}
.cgl__h{margin-top:auto;font:300 clamp(36px,3.8vw,62px)/1 var(--display);letter-spacing:-.035em;text-wrap:balance}
.cgl__s{margin-top:12px;font:400 16px/22px var(--text);opacity:.9}
.cgl__s a{text-decoration:underline;text-underline-offset:3px}
.cgl__logo{display:block;width:120px;margin-top:20px;filter:brightness(0) invert(1)}
.cgl__logo svg{width:100%;height:auto}
.cgl__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cgl__ph--a{grid-column:6 / 10;grid-row:1 / 5;background:var(--l)}
.cgl__facts{grid-column:10 / 13;grid-row:1 / 3;display:grid;align-content:start;gap:8px;margin:0;padding:clamp(14px,1.4vw,20px);background:var(--l);color:#111}
.cgl__facts dt{font:600 10.5px/13px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.cgl__facts dd{margin:2px 0 0;font:400 14px/1.3 var(--text)}
.cgl__geo{grid-column:10 / 12;grid-row:3 / 5}
.cgl__geo .geo{display:block;width:100%;height:100%}
.cgl__sq{grid-column:12 / 13;grid-row:3 / 4;background:var(--m)}
.cgl__ph--b{grid-column:12 / 13;grid-row:4 / 5;background:var(--l)}
.cgl__cta{grid-column:1 / 6;grid-row:4 / 5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(20px,2.2vw,32px);background:#141414;color:#fff;font:400 clamp(18px,1.6vw,24px)/1.2 var(--display)}
.cgl__cta svg{width:20px;height:20px;transition:translate .25s var(--ease-dd)}
.cgl__cta:hover svg{translate:4px 0}
@media (max-width:900px){.cgl{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto}
  .cgl__head{grid-column:1 / -1;grid-row:auto;min-height:280px}.cgl__ph--a{grid-column:1 / 5;grid-row:auto;aspect-ratio:4/3}.cgl__geo{grid-column:5 / 7;grid-row:auto}
  .cgl__facts{grid-column:1 / -1;grid-row:auto;order:4}.cgl__sq,.cgl__ph--b{display:none}.cgl__cta{grid-column:1 / -1;grid-row:auto;min-height:72px;order:5}.cgl__head{order:1}.cgl__ph--a{order:2}.cgl__geo{order:3}}
@media (max-width:640px){.cbd__pt span{font-size:10px}}
/* platform logos: a white tile on the card's colour block (Platforms page); a white plate on Centre pages */
.cxpl__mono--logo{background:#fff;box-shadow:inset 0 0 0 1px #e3dfd7}
.cxpl__mono__tile{display:grid;place-items:center;width:100%;height:100%;padding:14%}
.cxpl__mono__tile img{display:block;width:100%;height:100%;object-fit:contain}
.plc__now{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #d6d1c6;font:500 12px/16px var(--text);letter-spacing:0;color:#111}
/* ===== GEM (Architecture, Oct 2026) ===== */
.gemk{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--gl);color:var(--gd);font:600 12px/16px var(--text);letter-spacing:.06em;text-transform:uppercase}
.gemk b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gd);color:#fff;font:600 13px/1 var(--text);letter-spacing:0}
.gem{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:clamp(28px,3vw,48px)}
.gem__c{display:flex;flex-direction:column;gap:6px;padding:clamp(18px,1.8vw,26px);border-radius:22px;background:var(--gl);color:var(--gd);transition:translate .3s var(--ease-dd)}
.gem__c:hover{translate:0 -3px}
.gem__k{display:flex;align-items:center;gap:10px;font:400 clamp(24px,2.2vw,32px)/1 var(--display);letter-spacing:-.02em}
.gem__k b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gd);color:#fff;font:500 20px/1 var(--display)}
.gem__n{font:400 14px/20px var(--text);opacity:.9}
.gem__s{margin-top:12px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--gd) 25%,transparent);font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase}
.gem__c ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font:400 14px/20px var(--text);color:#111}
.gem__c ul b{font-weight:600}
.cx__lede{max-width:40em;margin:-6px 0 clamp(18px,2vw,26px);font:400 16px/24px var(--text);color:#3d3d3d}
.cxk--sm .cxk__h{font-size:clamp(20px,1.8vw,26px)}
.cxk--sm{border-bottom-width:1px;margin-top:clamp(28px,3vw,44px)}
.cxg__head .gemk{justify-self:start}
.cxg__own{font:500 14px/20px var(--text)}
.chx__panel{margin-top:12px;font:400 15px/22px var(--text);color:#3d3d3d}
.cpath__note{margin-top:12px;font:500 14px/20px var(--text);color:#3d3d3d}
.clp__next{margin-bottom:22px;padding:14px 16px;border-radius:14px;background:#f5f3ee;font:400 15px/22px var(--text)}
.pub__soon{font:400 13px/18px var(--text);color:#4a4a4a;text-align:right}
.cbd__sq b{font:600 clamp(16px,1.5vw,20px)/1 var(--text);letter-spacing:.06em}
/* projects as numbers */
.pjns{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}
/* project card: Initiative, name, impact headline, sentence, 2030 commitment, two ways in (no status, no progress) */
.pc{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 22px 20px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #e3dfd7;transition:translate .3s var(--ease-dd),box-shadow .3s var(--ease-dd)}
.pc:hover{translate:0 -2px;box-shadow:inset 0 0 0 1px #cfc9bd,0 16px 30px -24px rgba(17,17,17,.45)}
.pc__i{font:600 11px/15px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--cd)}
.pc__t{font:600 17px/1.3 var(--text);color:#111}
.pc__a{color:inherit}
.pc__a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.pc__h{font:400 clamp(21px,1.7vw,25px)/1.2 var(--display);letter-spacing:-.015em;color:#111;text-wrap:balance}
.pc__d{font:400 14px/21px var(--text);color:#3a3a3a;text-wrap:pretty}
.pc__goal{display:grid;gap:4px;margin-top:auto;padding-top:14px;border-top:1px solid #ece8e0}
.pc__k{font:600 11px/15px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a}
.pc__n{font:400 clamp(38px,3.2vw,48px)/1 var(--display);letter-spacing:-.03em;color:var(--cd)}
.pc__u{font:500 15px/1.3 var(--text);color:#111}
.pc__act{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:8px}
.pc__go{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:#111;color:#fff;font:500 14px/18px var(--text)}
.pc__go:hover{background:var(--cd)}
.pc__more{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text);color:#111}
.pc__more:hover{text-decoration:underline;text-underline-offset:3px}
.pc__go svg,.pc__more svg{width:13px;height:13px}
/* Projects page sections */
.pjh__btns{margin-top:22px}
.pjb__intro{display:grid;gap:14px;max-width:46em;margin-bottom:clamp(24px,2.6vw,40px)}
.pjd__ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--d);color:#fff;font-size:17px}
.pjw{display:grid;gap:clamp(24px,2.6vw,40px)}
.pjw__head{display:grid;gap:14px;max-width:46em}
.pjw__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pjw__w{display:grid;align-content:start;gap:10px;padding:22px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #e3dfd7}
.pjw__w h3{font:500 17px/1.3 var(--text)}
.pjw__w p{font:400 14px/21px var(--text);color:#3a3a3a}
.pja{display:grid;gap:16px;padding-block:clamp(64px,7vw,120px)}
.pja > *{max-width:52rem}
.pjx{display:grid;gap:18px;justify-items:start}
.pjx__h{font:300 clamp(40px,5vw,76px)/1.02 var(--display);letter-spacing:-.03em;max-width:13em;text-wrap:balance}
.pjx__p{font:400 clamp(17px,1.3vw,20px)/1.5 var(--text);max-width:40em;opacity:.9}
.pjx .btns{margin-top:10px}
.pjx .pill.pill--lemon{background:#fff04d;color:#111}
.pjx .pill.pill--ghost{background:none;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
@media (max-width:1100px){.pjw__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pjw__list{grid-template-columns:minmax(0,1fr)}}
.pjb__f{display:grid;gap:12px;margin-bottom:clamp(22px,2.4vw,36px)}
.clbs__seg a span{margin-left:4px;opacity:.7}
.pjb__ini{display:flex;flex-wrap:wrap;gap:6px}
.pjb__ini a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:#f5f3ee;font:500 13px/18px var(--text);color:#111}
.pjb__ini a:hover{background:#ebe8e1}
.pjb__ini a[aria-current]{background:#111;color:#fff}
.pjb__ini i{width:8px;height:8px;border-radius:50%;background:var(--m)}
.pjns--bal{grid-template-columns:repeat(var(--c),minmax(0,1fr))}
@media (max-width:1100px){.pjns--bal{grid-template-columns:repeat(var(--c2),minmax(0,1fr))}}
@media (max-width:640px){.pjns--bal{grid-template-columns:minmax(0,1fr)}}
.pjsec__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;margin-bottom:clamp(20px,2.4vw,36px)}
.pjsec__head .t-small{max-width:34em}
.pjsec__all{margin-top:20px}
.pjns--board{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.pjb__note{margin-top:18px;font:400 14px/20px var(--text);color:#4a4a4a}
/* the Foundation at a glance */
.fmap__intro{max-width:44em;margin-bottom:clamp(22px,2.4vw,34px)}
.fmap__f{display:grid;gap:4px;justify-items:center;padding:18px 22px;border-radius:20px;background:#e4ecf7;color:#0f2a52;text-align:center}
.fmap__f b{font:400 clamp(24px,2.2vw,32px)/1.1 var(--display);letter-spacing:-.015em}
.fmap__f span{font:400 14px/20px var(--text)}
.fmap__ar{width:0;height:0;margin:8px auto;border-left:9px solid transparent;border-right:9px solid transparent;border-top:11px solid #4a4a4a}
.fmap__ins{padding:clamp(14px,1.4vw,20px);border-radius:22px;background:#efe9f8}
.fmap__k{margin:2px 4px 12px;font:600 11px/15px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3b2a5a}
.fmap__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.fmap__i{display:flex;flex-direction:column;gap:6px;padding:14px 12px 14px;border-radius:16px;background:#fff;color:#111;transition:background-color .3s var(--ease-dd)}
.fmap__i:hover{background:var(--cl)}
.fmap__ic{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cm);color:#111}
.fmap__ic .pi{width:16px;height:16px}
.fmap__i b{font:600 13.5px/1.25 var(--text)}
.fmap__o{font:400 12.5px/1.3 var(--text);color:#4a4a4a}
.fmap__n{margin-top:auto;padding-top:8px;font:400 clamp(22px,1.9vw,30px)/1 var(--display);letter-spacing:-.03em;color:var(--cd)}
.fmap__u{font:400 12px/16px var(--text);color:#3d3d3d}
.fmap__ls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fmap__l{display:grid;align-content:start;gap:6px;padding:16px 18px;border-radius:18px;color:#111}
.fmap__l--f{background:#dcefe9}
.fmap__l--s{background:#f6e9d8}
.fmap__l b{font:400 20px/1.15 var(--display)}
.fmap__l span{font:400 14px/20px var(--text);color:#2c2c2c}
.fmap__l:hover b{text-decoration:underline;text-underline-offset:4px}
.fmap__pl{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:8px;padding:16px 20px;border-radius:18px;box-shadow:inset 0 0 0 1px #e3dfd7;color:#111}
.fmap__pl b{font:500 15px/20px var(--text)}
.fmap__pl > span{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px}
.fmap__pl img{height:26px;width:auto;max-width:130px;object-fit:contain}
.fmap__pl em{font:600 15px/1 var(--text);font-style:normal}
.fmap__note{margin-top:12px;font:400 13px/18px var(--text);color:#4a4a4a}
@media (max-width:1100px){.fmap__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fmap__ls{grid-template-columns:repeat(2,minmax(0,1fr))}.gem{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.fmap__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fmap__ls{grid-template-columns:minmax(0,1fr)}}
/* flagship events */
.flg__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.flg__c{display:grid;align-content:space-between;gap:28px;min-height:150px;padding:18px 20px;border-radius:20px;background:#141414;color:#fff}
.flg__c b{font:300 clamp(26px,2.4vw,36px)/1 var(--display);letter-spacing:-.025em}
.flg__c span{font:400 14px/20px var(--text);color:#d0d0d0}
.flg__c--1{background:#1d4a2c}.flg__c--2{background:#5a1018}.flg__c--3{background:#173a6b}
a.flg__c:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media (max-width:900px){.flg__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cxl__a--solo{grid-template-columns:minmax(0,1fr)}
.cbd__chart{display:flex;flex-direction:column;gap:16px}
.cbd__inset--top{align-self:flex-start}
.cbd__plot{position:relative;flex:1;min-height:200px;margin:0 6px}
.cbd__chart .cbd__inset--sm{position:static;align-self:flex-end}
@media (max-width:640px){.pubc{gap:5px;grid-template-rows:auto minmax(0,1fr) auto}.pubc__c{display:none}.pubc__g{width:auto;height:100%;max-height:100%;min-height:0}.pubc__ty{font-size:11.5px;white-space:nowrap}}
.st__today{display:block;margin-top:6px;font-weight:500}
/* community: named clubs and chapters */
.cmf__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:18px}
.cmf__tiers{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cmf__tiers li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border-radius:999px;background:#f5f3ee;font:400 14px/18px var(--text)}
.cmf__tiers li .pi{width:17px;height:17px}
.cmf__tiers li + li::before{content:"→";margin:0 4px 0 -14px;padding-right:8px;color:#6b6b6b;background:#fff}
.cmf__seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:#f5f3ee}
.cmf__seg button{padding:9px 16px;border:0;border-radius:999px;background:none;font:500 14px/18px var(--text);color:#333;cursor:pointer}
.cmf__seg button span{margin-left:3px;color:#555}
.cmf__seg button[aria-pressed="true"] span{color:rgba(255,255,255,.75)}
.cmf__seg button:hover{background:#ebe8e1}
.cmf__seg button[aria-pressed="true"]{background:#111;color:#fff}
.cmg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cmf[data-show="club"] .cmc--chapter,.cmf[data-show="chapter"] .cmc--club{display:none}
.cmc{position:relative;display:flex;flex-direction:column;gap:8px;min-height:250px;padding:20px 20px 18px;border-radius:24px;transition:translate .3s var(--ease-dd),box-shadow .3s var(--ease-dd)}
.cmc:hover{translate:0 -3px;box-shadow:0 20px 34px -26px rgba(17,17,17,.55)}
.cmc--club{background:var(--cl);color:#111}
.cmc--chapter{background:#141414;color:#fff}
.cmc__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto;padding-bottom:18px}
.cmc__geo{width:56px;height:56px;border-radius:16px;overflow:hidden;flex:0 0 auto}
.cmc__geo .geo{display:block;width:100%;height:100%}
.cmc__pin{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.1)}
.cmc__pin .pi{width:24px;height:24px}
.cmc__k{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.7);font:600 11px/16px var(--text);letter-spacing:.06em;text-transform:uppercase}
.cmc--chapter .cmc__k{background:rgba(255,255,255,.12)}
.cmc__t{font:300 clamp(26px,2.4vw,36px)/1.04 var(--display);letter-spacing:-.03em;text-wrap:balance}
.cmc__pl{display:inline-flex;align-items:center;gap:6px;font:500 15px/20px var(--text);color:#2c2c2c}
.cmc__pl .pi{width:15px;height:15px}
.cmc--chapter .cmc__pl{color:#d6d6d6}
.cmc__init{display:inline-flex;align-items:center;gap:7px;font:500 13px/18px var(--text);color:#3d3d3d}
.cmc__init i{width:8px;height:8px;border-radius:50%;background:var(--cd)}
.cmc__from{font:400 14px/20px var(--text);color:#bdbdbd}
.cmc__ft{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:14px;border-top:1px solid rgba(17,17,17,.12)}
.cmc--chapter .cmc__ft{border-top-color:rgba(255,255,255,.18)}
.cmc__tag{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.65);font:500 12.5px/16px var(--text)}
.cmc--chapter .cmc__tag{background:rgba(255,255,255,.1)}
.cmc__go{display:grid;place-items:center;width:36px;height:36px;margin-left:auto;border-radius:50%;background:#111;color:#fff;transition:translate .25s var(--ease-dd)}
.cmc--chapter .cmc__go{background:#fff;color:#111}
.cmc__go svg{width:15px;height:15px}
.cmc:hover .cmc__go{translate:3px 0}
.cmf__note{margin-top:14px;font:400 14px/20px var(--text);color:#3d3d3d}
.clbs__f{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,2.6vw,40px)}
.clbs__f .clbs__seg{margin-bottom:0}
.clbs__h span{font:400 16px/1 var(--text);color:#4a4a4a;letter-spacing:0}
@media (max-width:1000px){.cmg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cmg{grid-template-columns:minmax(0,1fr)}.cmc{min-height:0}.cmf__tiers li + li::before{display:none}}
/* GEM as an equation */
.gemq{margin-bottom:clamp(36px,4vw,64px)}
.gemq__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding-bottom:14px;border-bottom:2px solid #111}
.gemq__h{font:400 clamp(26px,2.4vw,36px)/1.1 var(--display);letter-spacing:-.02em}
.gemq__eq{font:500 clamp(16px,1.4vw,20px)/1 var(--display);letter-spacing:.02em}
.gemq__lede{margin:14px 0 18px;font:400 16px/24px var(--text);color:#3d3d3d}
.gemq__row{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,.9fr);align-items:stretch;gap:6px}
.gemq__op{display:grid;place-items:center;font:300 34px/1 var(--display);color:#4a4a4a}
.gemq__c{display:flex;flex-direction:column;gap:6px;padding:18px 18px 20px;border-radius:22px;background:var(--gl);color:var(--gd)}
.gemq__k{display:flex;align-items:center;gap:10px;font:400 clamp(22px,1.9vw,28px)/1 var(--display);letter-spacing:-.02em}
.gemq__k b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gd);color:#fff;font:500 18px/1 var(--display)}
.gemq__who{font:400 13.5px/19px var(--text)}
.gemq__does{font:500 14px/20px var(--text);color:#111}
.gemq__s{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--gd) 25%,transparent);font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase}
.gemq__s span{letter-spacing:0}
.gemq__c ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:3px}
.gemq__c li a{display:inline;font:400 14px/20px var(--text);color:#111;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--gd) 35%,transparent);text-underline-offset:3px}
.gemq__c li a:hover{text-decoration-color:currentColor}
.gemq__c li a svg{width:11px;height:11px}
.gemq__more a{color:var(--gd)!important;font-weight:500!important}
.gemq__goal{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;border-radius:22px;background:var(--cd);color:#fff}
.gemq__gk{font:600 11px/15px var(--text);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.gemq__gn{margin-top:auto;font:300 clamp(44px,4.4vw,72px)/1 var(--display);letter-spacing:-.04em}
.gemq__gu{font:400 15px/20px var(--text)}
.gemq__bar{display:block;height:8px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}
.gemq__bar i{display:block;height:100%;border-radius:inherit;background:var(--cm)}
.gemq__gt{font:500 14px/20px var(--text);color:rgba(255,255,255,.88)}
.gemq__shared{list-style:none;margin:10px 0 0;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;border-radius:16px;background:#f5f3ee}
.gemq__shared li:first-child span{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.gemq__shared a{display:inline-flex;align-items:center;gap:7px;font:500 14px/20px var(--text);color:#111}
.gemq__shared a:hover{text-decoration:underline;text-underline-offset:3px}
.gemq__shared .pi{width:16px;height:16px}
@media (max-width:1100px){.gemq__row{grid-template-columns:minmax(0,1fr)}.gemq__op{height:26px;font-size:26px}}
/* projects: active ones filled with their Initiative colour */
/* projects board: dot field, Initiative panels */
.pjd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}
.pjd__g{display:grid;gap:10px;align-content:start;padding:14px 14px 12px;border-radius:18px;background:#f5f3ee;color:#111;transition:background-color .25s var(--ease-dd)}
.pjd__g:hover{background:var(--l)}
.pjd__g.is-on{background:var(--l);box-shadow:inset 0 0 0 2px var(--d)}
.pjd__l{font:500 13px/17px var(--text)}
.pjb__f2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(22px,2.4vw,34px)}
.pjg{padding:clamp(18px,2vw,28px);border-radius:28px;background:var(--cl)}
.pjg + .pjg{margin-top:12px}
.pjg__h{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px 18px;margin-bottom:18px}
.pjg__geo{width:52px;height:52px;border-radius:14px;overflow:hidden}
.pjg__geo .geo{display:block;width:100%;height:100%}
.pjg__o{font:600 11px/15px var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--cd)}
.pjg__t{font:300 clamp(24px,2.2vw,34px)/1.05 var(--display);letter-spacing:-.025em}
.pjg__n{font:500 14px/20px var(--text);color:#2c2c2c}
.pjg__go{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:#111;color:#fff;font:500 14px/18px var(--text)}
.pjg__go svg{width:14px;height:14px}
.pjg .pjns{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
@media (max-width:1100px){.pjd{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.pjd{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--g) * -1);padding-inline:var(--g)}.pjd__g{flex:0 0 44%;scroll-snap-align:start}.pjg__h{grid-template-columns:auto minmax(0,1fr)}.pjg__n,.pjg__go{grid-column:1 / -1;justify-self:start}}
/* services as tiles */
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}
.svc__c{display:flex;flex-direction:column;gap:8px;min-height:180px;padding:18px 20px 18px;border-radius:20px;background:#fbe8d2;color:#111}
.svc__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#6b3a0c;color:#fff;margin-bottom:6px}
.svc__ic .pi{width:18px;height:18px}
.svc__t{font:400 clamp(20px,1.7vw,24px)/1.15 var(--display);letter-spacing:-.015em;text-wrap:balance}
.svc__p{font:400 14px/20px var(--text);color:#3d3d3d}
.svc__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font:500 14px/18px var(--text);color:#111}
.svc__go svg{width:14px;height:14px;transition:translate .25s var(--ease-dd)}
.svc__go:hover svg{translate:3px 0}
/* research: two columns on wide screens */
.cxr2 .pub{grid-template-columns:clamp(84px,7vw,104px) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;column-gap:clamp(16px,1.6vw,24px)}
.cxr2 .pub__cov{grid-row:1 / 3}
.cxr2 .pub__act{grid-column:2;justify-items:start;align-self:end}
.cxr2 .pub__note,.cxr2 .pub__soon{text-align:left}
@media (min-width:1101px){.cxr2 .pubs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,3.4vw,56px)}.cxr2 .pub:nth-child(2){border-top:0}}
/* platforms on an Initiative page */
.plcs--in{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.plcs--in .plc{max-width:460px}
/* ===== elasticity: springs that overshoot a little and settle (piyush-motion-kit constants).
   Donate buttons never move; nothing here runs for prefers-reduced-motion ===== */
:root{--spring:cubic-bezier(.34,1.56,.64,1);--spring-soft:cubic-bezier(.3,1.3,.4,1)}
@media (prefers-reduced-motion:no-preference){
  /* hover lifts: overshoot, then settle */
  .cmc,.pc,.plc,.svc__c,.pst,.art,.cpath__a,.pjd__g,.fmap__i,.flg__c,.gemq__c,.gem__c,.clb,.chp,.pub__cov,.blog__img,.cxpj__c{transition:translate .55s var(--spring),box-shadow .4s var(--ease-dd),background-color .3s var(--ease-dd)}
  .svc__c:hover,.pst:hover,.fmap__i:hover,.flg__c:hover,.gemq__c:hover,.pjd__g:hover{translate:0 -3px}
  .cmc__go,.svc__go svg,.cpath__go svg,.pjg__go svg,.cxpj__go svg,.plc__visit svg,.evx__cta svg{transition:translate .5s var(--spring)}
  .pjg__go:hover svg{translate:3px 0}
  /* presses squash, then spring back */
  .pill:not(.donate),.btn:not(.donate),.cmf__seg button,.clbs__seg a,.evdd__b,.evm__o,.pjb__ini a,.cxg__go,.pjg__go,.pub__dl,.evx__cta,.svc__go,.cmc__go{transition:scale .45s var(--spring),background-color .2s,color .2s,box-shadow .2s}
  .pill:not(.donate):active,.btn:not(.donate):active,.cmf__seg button:active,.clbs__seg a:active,.evdd__b:active,.evm__o:active,.cxg__go:active,.pjg__go:active,.pub__dl:active,.evx__cta:active{scale:.95;transition-duration:.08s}
  .cmc:active,.pc:active,.plc:active,.pjd__g:active{scale:.985;transition:scale .08s}
  /* a picked pill bounces */
  .cmf__seg button[aria-pressed="true"],.clbs__seg a[aria-current],.evdd__b.is-on{animation:sprPick .5s var(--spring)}
  @keyframes sprPick{0%{scale:.9}60%{scale:1.05}100%{scale:1}}
  /* cards that appear after a filter change pop in, one after another */
  .cmf.is-touched .cmc{animation:sprIn .55s var(--spring) both}
  .cmf.is-touched .cmc:nth-child(2){animation-delay:.04s}.cmf.is-touched .cmc:nth-child(3){animation-delay:.08s}.cmf.is-touched .cmc:nth-child(4){animation-delay:.12s}.cmf.is-touched .cmc:nth-child(5){animation-delay:.16s}.cmf.is-touched .cmc:nth-child(6){animation-delay:.2s}
  @keyframes sprIn{from{opacity:0;translate:0 16px;scale:.94}}
  /* menus grow from their trigger; phone sheets rise on a soft spring */
  .evm:not([hidden]){animation:sprMenu .42s var(--spring) both;transform-origin:top left}
  @keyframes sprMenu{from{opacity:0;translate:0 -6px;scale:.95}}
  @media (max-width:640px){.evm:not([hidden]){animation:sprSheet .5s var(--spring-soft) both}@keyframes sprSheet{from{translate:0 100%}}}
  /* projects board: hovering an Initiative makes its dots hop in turn */
  /* the GEM equation assembles: columns rise, then + and = pop */
  .gemq.spr-wait .gemq__c,.gemq.spr-wait .gemq__goal,.gemq.spr-wait .gemq__op{opacity:0}
  .gemq.spr-go .gemq__c,.gemq.spr-go .gemq__goal{animation:sprIn .7s var(--spring) both}
  .gemq.spr-go .gemq__op{animation:sprOp .5s var(--spring) both}
  .gemq.spr-go .gemq__row > :nth-child(3){animation-delay:.1s}.gemq.spr-go .gemq__row > :nth-child(5){animation-delay:.2s}.gemq.spr-go .gemq__row > :nth-child(7){animation-delay:.32s}
  .gemq.spr-go .gemq__row > :nth-child(2){animation-delay:.3s}.gemq.spr-go .gemq__row > :nth-child(4){animation-delay:.4s}.gemq.spr-go .gemq__row > :nth-child(6){animation-delay:.5s}
  @keyframes sprOp{from{opacity:0;scale:.3}}
  /* Donate never animates */
  .donate,.donate *,.pc__act a,.sheet__donate{animation:none!important;scale:none!important;translate:none!important}
}
/* ===== Initiative page, calm architecture ===== */
.cxw--calm{display:block}
.cxw--calm > .cxs{margin-bottom:clamp(36px,4vw,56px)}
.cxsec{margin-top:clamp(56px,6.4vw,104px)}
.cxh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:14px 16px;padding-bottom:14px;margin-bottom:clamp(20px,2.2vw,30px);border-bottom:2px solid #111}
.cxh:not(:has(.cxh__b)){grid-template-columns:minmax(0,1fr) auto}
.cxh__b{display:grid;place-items:center;width:40px;height:40px;margin-bottom:4px;border-radius:50%;background:var(--cd);color:#fff;font:500 19px/1 var(--display)}
.cxh__k{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a}
.cxh__t{margin-top:4px;font:400 clamp(30px,2.8vw,44px)/1.04 var(--display);letter-spacing:-.025em}
.cxh__r{align-self:end;margin-bottom:6px;font:400 14px/20px var(--text);color:#3d3d3d}
a.cxh__r{color:#111}
.glc{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1.2fr) 30px minmax(0,1fr);align-items:stretch;gap:4px}
.glc__c,.glc__goal{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;background:#f5f3ee;color:#111;transition:background-color .3s var(--ease-dd)}
.glc__c:hover{background:var(--cl)}
.glc__top{display:flex;align-items:center;gap:9px}
.glc__b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cd);color:#fff;font:500 15px/1 var(--display)}
.glc__w{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase}
.glc__l{font:400 15px/22px var(--text)}
.glc__op{display:grid;place-items:center;font:300 30px/1 var(--display);color:#6b6b6b}
.glc__goal{background:var(--cd);color:#fff}
.glc__n{font:300 clamp(34px,3vw,48px)/1 var(--display);letter-spacing:-.035em}
.glc__u{font:400 14px/20px var(--text);color:rgba(255,255,255,.88)}
.ets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4.4vw,80px)}
.ets__h{display:flex;justify-content:space-between;padding-bottom:2px;font:600 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase}
.ets__h span{letter-spacing:0;color:#4a4a4a}
.ets__l{list-style:none;margin:0;padding:0}
.ets__r{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:6px 14px;align-items:baseline;padding:16px 0;border-bottom:1px solid #e3dfd7}
.ets__n{font:500 13px/18px var(--text);color:var(--cd)}
.ets__t{font:400 clamp(19px,1.6vw,22px)/1.2 var(--display);letter-spacing:-.012em;text-wrap:balance}
.ets__p{margin-top:4px;font:400 14px/20px var(--text);color:#3d3d3d}
.ets__go{display:inline-flex;align-items:center;gap:6px;font:500 14px/18px var(--text);color:#111;white-space:nowrap}
.ets__go svg{width:13px;height:13px}
.ets__go--on{padding:7px 13px;border-radius:999px;background:#111;color:#fff}
.ets__own{margin-top:14px;font:500 14px/20px var(--text);color:#3d3d3d}
.cmf__lede{max-width:36em;font:400 16px/24px var(--text);color:#2c2c2c}
.cmf__also{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:16px;font:400 15px/22px var(--text)}
.cmf__also span{font:600 11px/22px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a}
.cxsub{margin-top:clamp(36px,4vw,56px)}
.cxsub__h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;margin-bottom:18px;border-bottom:1px solid #e3dfd7}
.cxsub__h h3,.cxsub__h h2{font:400 clamp(21px,1.9vw,28px)/1.1 var(--display);letter-spacing:-.015em}
.cxsub__h a{font:500 14px/18px var(--text)}
.cxr2--plain{padding:0;margin:0;border-radius:0;background:none}
.xpn__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);align-items:start}
.xpn__p{font:400 17px/1.55 var(--text);color:#2c2c2c;max-width:28em}
.xpn__m{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.xpn__m li{display:grid;gap:4px}
.xpn__av{display:block;width:84px;height:84px;margin-bottom:8px;border-radius:50%;overflow:hidden;background:var(--cl)}
.xpn__av img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.xpn__m b{font:500 15px/20px var(--text)}
.xpn__m span{font:400 13px/18px var(--text);color:#4a4a4a}
.xpn__shared{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:clamp(22px,2.4vw,32px);padding:12px 16px;border-radius:14px;background:#f5f3ee}
.xpn__shared span{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#3d3d3d}
.xpn__shared a{display:inline-flex;align-items:center;gap:7px;font:500 14px/20px var(--text);color:#111}
.xpn__shared a:hover{text-decoration:underline;text-underline-offset:3px}
.xpn__shared .pi{width:16px;height:16px}
@media (max-width:1100px){.glc{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.glc__op{display:none}.xpn__row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.ets{grid-template-columns:minmax(0,1fr)}.xpn__m{grid-template-columns:repeat(2,minmax(0,1fr))}.cxh{grid-template-columns:auto minmax(0,1fr)}.cxh__r{grid-column:1 / -1}}
@media (max-width:480px){.glc{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:no-preference){
  .glc.spr-wait > *{opacity:0}
  .glc.spr-go > *{animation:sprIn .6s var(--spring) both}
  .glc.spr-go > .glc__op{animation:sprOp .5s var(--spring) both}
  .glc.spr-go > :nth-child(2){animation-delay:.3s}.glc.spr-go > :nth-child(3){animation-delay:.08s}.glc.spr-go > :nth-child(4){animation-delay:.38s}.glc.spr-go > :nth-child(5){animation-delay:.16s}.glc.spr-go > :nth-child(6){animation-delay:.46s}.glc.spr-go > :nth-child(7){animation-delay:.26s}
}
/* ===== club and chapter detail ===== */
.cst{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(20px,2.4vw,32px) 0 0;border-top:2px solid #111;border-bottom:1px solid #e3dfd7}
.cst div{padding:16px 18px 18px}
.cst div + div{border-left:1px solid #e3dfd7}
.cst dt{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a}
.cst dd{margin:6px 0 0;font:300 clamp(24px,2.4vw,38px)/1.05 var(--display);letter-spacing:-.025em}
.clp__sec{margin-top:clamp(40px,4.6vw,72px)}
.ppl2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);align-items:start}
.ppl2__lead{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px 14px}
.ppl2__lead li{display:grid;gap:3px}
.ppl2__av{display:block;width:96px;height:96px;margin-bottom:8px;border-radius:50%;overflow:hidden;background:var(--cl,#f4efe8)}
.ppl2__av img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ppl2__lead b{font:500 15px/20px var(--text)}
.ppl2__lead span{font:500 13px/18px var(--text);color:#111}
.ppl2__lead small{font:400 13px/18px var(--text);color:#4a4a4a}
.ppl2__wall{padding:18px 20px;border-radius:20px;background:#f5f3ee}
.ppl2__k{margin-bottom:12px;font:400 clamp(22px,2vw,30px)/1 var(--display);letter-spacing:-.02em}
.ppl2__wall ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:8px}
.ppl2__d{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--cl,#e8e4dc)}
.ppl2__d--1{background:var(--cm,#d8d2c6)}.ppl2__d--2{background:#e3dfd7}
.ppl2__d::before{content:"";position:absolute;left:50%;top:22%;width:36%;height:36%;margin-left:-18%;border-radius:50%;background:rgba(17,17,17,.28)}
.ppl2__d::after{content:"";position:absolute;left:50%;bottom:-18%;width:76%;height:46%;margin-left:-38%;border-radius:50% 50% 0 0;background:rgba(17,17,17,.28)}
.ppl2__more{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#111;color:#fff;font:500 12px/1 var(--text)}
.ppl2__note{margin-top:12px;font:400 13px/18px var(--text);color:#4a4a4a}
/* a chapter's office bearers, one card each, then its sub-committees and advisors */
.obr{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(18px,2vw,28px)}
.obr__c{display:grid;align-content:start;gap:6px;padding:clamp(18px,1.8vw,24px);border-radius:24px;background:#f5f3ee}
.obr__av{display:block;width:112px;height:112px;margin-bottom:10px;border-radius:50%;overflow:hidden;background:#e8e4dc}
.obr__av img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.obr__n{font:500 18px/24px var(--text);letter-spacing:-.005em}
.obr__r{font:500 14px/20px var(--text);color:#111}
.obr__r span{display:block;font-weight:400;color:#4a4a4a}
.obr__b{margin-top:6px;font:400 14px/21px var(--text);color:#2c2c2c;text-wrap:pretty}
/* sub-committees: one card per committee in an outcome's light colour, its icon, the lead in a white strip, members as chips */
.cmt{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(16px,1.6vw,24px)}
.cmt__c{display:grid;align-content:start;gap:16px;padding:clamp(18px,1.8vw,24px);border-radius:24px;background:var(--l);color:var(--d)}
.cmt__top{display:flex;align-items:center;gap:14px}
.cmt__ic{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--m);color:var(--d);font-size:26px}
.cmt__h{font:500 18px/23px var(--text);letter-spacing:-.005em;color:var(--d)}
.cmt__n{font:500 12px/16px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--d);opacity:.72}
.cmt__lead{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.cmt__lead p{display:grid;gap:1px;min-width:0}
.cmt__lead b{font:600 15px/20px var(--text);color:#111}
.cmt__lead span:not(.cmt__mono){font:500 12px/16px var(--text);color:var(--d)}
.cmt__mono{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--d);color:var(--l);font:600 14px/1 var(--text);letter-spacing:.02em}
.cmt__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cmt__l li{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);font:500 14px/18px var(--text);color:#1a1a1a}
/* advisors: a dark band, each name with a monogram in one of the outcome colours */
.adv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(24px,3.4vw,48px);border-radius:28px;background:#141414;color:#fff}
.adv__h{display:grid;gap:10px}
.adv__k{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px var(--text);letter-spacing:.14em;text-transform:uppercase;color:#fff04d}
.adv__k .pi{font-size:18px}
.adv__h h2{font:300 clamp(30px,3vw,44px)/1.05 var(--display);letter-spacing:-.02em;color:#fff}
.adv__s{font:400 15px/22px var(--text);color:#bdbdbd}
.adv__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px}
.adv__l li{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font:500 15px/20px var(--text);color:#fff}
.adv__mono{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--m);color:#111;font:700 13px/1 var(--text)}
@media (max-width:860px){.adv{grid-template-columns:minmax(0,1fr)}}
.act{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.act__i{display:grid;align-content:start;gap:8px}
.act__ph{position:relative;margin:0 0 4px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--cl,#f1efea)}
.act__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.act__m{display:flex;align-items:center;gap:10px;font:500 13px/18px var(--text);color:#3d3d3d}
.act__k{padding:3px 9px;border-radius:999px;background:var(--cl,#f1efea);color:#111;font:600 11px/14px var(--text);letter-spacing:.04em}
.act__t{font:400 clamp(18px,1.5vw,21px)/1.22 var(--display);letter-spacing:-.01em;text-wrap:balance}
.clp__side{display:grid;gap:14px;align-content:start}
.clp__step{position:relative;display:grid;gap:6px;padding:20px 22px;border-radius:22px;background:#141414;color:#fff}
.clp__stepk{font:600 11px/14px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#c4c4c4}
.clp__step b{font:300 clamp(26px,2.4vw,34px)/1.05 var(--display);letter-spacing:-.025em}
.clp__step span:not(.clp__stepk):not(.clp__stepgo){font:400 14px/20px var(--text);color:#d6d6d6}
.clp__stepgo{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#111}
.clp__stepgo svg{width:15px;height:15px}
.crc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.crc__c{display:grid;gap:10px;padding:22px 24px;border-radius:22px;background:#f5f3ee;color:#111}
.crc__c--dark{background:#141414;color:#fff}
.crc__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(17,17,17,.08)}
.crc__c--dark .crc__ic{background:rgba(255,255,255,.12)}
.crc__ic .pi{width:22px;height:22px}
.crc__c h3{font:400 clamp(24px,2.2vw,32px)/1.05 var(--display);letter-spacing:-.02em}
.crc__c p{font:400 15px/22px var(--text);opacity:.9}
@media (max-width:1000px){.act{grid-template-columns:repeat(2,minmax(0,1fr))}.ppl2{grid-template-columns:minmax(0,1fr)}.cst{grid-template-columns:repeat(2,minmax(0,1fr))}.cst div:nth-child(3){border-left:0}.cst div:nth-child(n+3){border-top:1px solid #e3dfd7}}
@media (max-width:640px){.act{grid-template-columns:minmax(0,1fr)}.crc{grid-template-columns:minmax(0,1fr)}}
.cxw--calm .plogo li{min-height:68px;height:68px;aspect-ratio:auto}
.cxw--calm .cxpl__list{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
/* report covers */
.rcov{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:translate .4s var(--ease-dd)}
.rcov:hover{translate:0 -4px}
.rcov__geo{aspect-ratio:4/3}
.rcov__ill{border-radius:0}
.rcov:hover .rcov__ill svg{scale:1.03}
.rcov__ill svg{transition:scale .6s var(--ease-dd)}
.rcov__tx{display:flex;flex-direction:column;gap:8px;padding:clamp(18px,1.8vw,26px);flex:1}
.rcov__k{font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.rcov__t{font:300 clamp(24px,2vw,30px)/1.08 var(--display);letter-spacing:-.016em;text-wrap:balance}
.rcov__s{font:400 14px/20px var(--text);color:var(--grey)}
.rcov__f{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font:500 13px/18px var(--text)}
.rcov__ic{display:flex;font-size:18px}
.rcov__a{margin-left:auto;display:flex;transition:translate .35s var(--ease-dd)}
.rcov:hover .rcov__a{translate:4px 0}

/* bands */
.band,.band-after{position:relative;border-radius:var(--br) var(--br) 0 0;border-top:0!important}
.band::after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--br);background:var(--band);z-index:-1}
.over{margin-top:calc(var(--br) * -1)}
main{--br:clamp(24px,3vw,44px)}
.band-after{background:var(--bg)}
.band{--bg:var(--band);background:var(--band)}
.band--paper{--band:#f4efe8}
.band--paper,.band--tint,.band--tint-wch{--line:rgba(255,255,255,.95)}
.band--tint{--band:var(--o-l)}
.band--tint-wch{--band:#f7d0a8}
.band--night,.band--deep,.band--terra{--field-line:rgba(255,255,255,.62);--ink:#ffffff;--grey:rgba(255,255,255,.68);--line:rgba(255,255,255,.16);--line-2:rgba(255,255,255,.32);--soft:rgba(255,255,255,.07);color:#fff}
.band--night{--band:#121212}
.band--deep{--band:var(--o-d)}
.band--terra{--band:#9c4f2d}
.band--night .pill,.band--deep .pill,.band--terra .pill{background:#fff;color:#111}
.band--terra .ptile__box{box-shadow:none}
.band--terra .heart{color:#fff04d}
.band--night .grow:hover,.band--deep .grow:hover{background:rgba(255,255,255,.04)}
.band--night .cta,.band--deep .cta{border-top:0}
.band.cta{padding-block:clamp(56px,6vw,96px)}
.foot{position:relative;border-radius:var(--br,40px) var(--br,40px) 0 0}
#app main:has(> section.band:last-child) + .foot{margin-top:calc(var(--br) * -1)}
#app{--br:clamp(24px,3vw,44px)}

/* project brief: summary beside the key facts, set as tiles */
.pbrief{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:start;padding-block:clamp(56px,6vw,96px)}
.pbrief__k{display:flex;align-items:center;gap:10px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin-bottom:20px}
.pbrief__sum{position:sticky;top:calc(var(--bar) + 24px)}
.pbrief__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pb{display:grid;align-content:space-between;gap:28px;min-height:clamp(150px,13vw,200px);padding:clamp(20px,2vw,28px);background:#fff;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(17,17,17,.06)}
.pb--obj{grid-column:1/-1;background:var(--s);min-height:clamp(180px,16vw,240px)}
.pb--obj .pb__v{font-size:clamp(28px,2.9vw,44px);max-width:16em}
.pb--wide{grid-column:1/-1;min-height:0;background:var(--sand)}
.pb__k{display:flex;align-items:center;gap:8px;font:500 11px/14px var(--text);letter-spacing:.06em;text-transform:uppercase;color:#4a4a4a}
.pb__k svg{width:18px;height:18px}
.pb__v{font:300 clamp(20px,1.75vw,26px)/1.18 var(--display);letter-spacing:-.012em;text-wrap:pretty}
@media (max-width:860px){.pbrief{grid-template-columns:minmax(0,1fr)}.pbrief__sum{position:static}.pbrief__grid{grid-template-columns:minmax(0,1fr)}.pb{min-height:0}}

/* outcome hero */
.ohero{position:relative;isolation:isolate;min-height:clamp(560px,62.5vw,900px);display:flex;align-items:center;padding:calc(var(--bar) + 40px) var(--g) 80px;color:var(--on-image);overflow:hidden}
.ohero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-4;transition:opacity .6s var(--ease-dd)}
.js .ohero > img{animation:settle 1.8s var(--ease) both}
@keyframes settle{from{scale:1.09}to{scale:1}}
.ohero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.3) 45%,rgba(0,0,0,.12) 100%)}
.ohero__in{display:grid;gap:10px;width:100%}
/* an outcome's photo leaves room for its section bar at the foot of the first screen (platform strip + bar, about 112px) */
.ohero--tabs{min-height:max(420px,min(clamp(560px,62.5vw,900px),calc(100svh - 112px)))}
@media (max-width:760px){.ohero::before{background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.5) 100%)}}
.ohero__in h1{max-width:14em}
.ohero__in .t-label{color:var(--on-image)}
.ohero__in a:hover{text-decoration:underline;text-underline-offset:5px}
.pj-band img{animation:settle 1.8s var(--ease) both}

/* outcome page: hero promise and goal, the Initiative panel with its projects */
.oh2 .ohero__in{gap:14px}
.oh2__p{font:300 clamp(20px,1.9vw,28px)/1.25 var(--display);letter-spacing:-.01em;max-width:30em;text-wrap:pretty}
.oh2__by{font:400 15px/22px var(--text);opacity:.92}
.oh2__by a{text-decoration:underline;text-underline-offset:4px}
.oh2__row{display:flex;flex-wrap:wrap;align-items:end;gap:28px 40px;margin-top:22px}
.oh2__goal{display:grid;gap:2px}
.oh2__k{font:500 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.oh2__n{font:300 clamp(44px,5vw,72px)/1 var(--display);letter-spacing:-.03em}
.oh2__u{font:500 15px/20px var(--text)}
.oh2 .btn{color:#fff}
.oh2 .btn:hover{background:#fff;color:#000;border-color:#fff}
.oc2i{background:var(--l);color:var(--d);border-radius:32px;margin:clamp(24px,3vw,40px) var(--g);display:grid;gap:clamp(36px,4vw,56px)}
.oc2i__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px 64px;align-items:start}
.oc2i .t-label{color:var(--d);opacity:.8}
.oc2i h2{margin:10px 0 18px}
.oc2i .t-intro{max-width:32em}
.oc2i__goal{display:grid;gap:4px}
.oc2i__n{font:300 clamp(56px,6vw,96px)/1 var(--display);letter-spacing:-.03em}
.oc2i__u{font:500 17px/24px var(--text)}
.oc2i__c{font:400 14px/21px var(--text);opacity:.8;margin-top:12px;max-width:34em}
.oc2i__pj{display:grid;gap:20px;padding-top:clamp(28px,3vw,40px);border-top:1px solid color-mix(in srgb,var(--d) 18%,transparent)}
.oc2i__h{font:400 clamp(22px,2vw,28px)/1.2 var(--display);letter-spacing:-.01em}
.oc2i .pc{background:#fff}
.oc2i.sec{padding-block:clamp(40px,5vw,72px)}
.oc2i__more{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:clamp(24px,3vw,32px);border-top:1px solid color-mix(in srgb,var(--d) 18%,transparent)}
.oc2i__more p{font:400 16px/24px var(--text)}
.sw{display:grid;gap:clamp(28px,3vw,44px)}
.sw__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 48px}
.sw__head .t-intro{margin-top:12px;max-width:34em}
.sw__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.sw__c{display:flex;flex-direction:column;gap:10px;padding:24px 22px;border-radius:24px;background:var(--tint)}
.sw__ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#111;color:#fff}
.sw__ic svg{width:20px;height:20px}
.sw__t{font:400 22px/1.15 var(--display);letter-spacing:-.01em;margin-top:6px}
.sw__d{font:400 14px/21px var(--text);color:var(--grey)}
.sw__go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;font:500 15px/20px var(--text);color:var(--ink);background:none;border:0;cursor:pointer;align-self:flex-start}
.sw__go .ico{width:16px;height:16px;transition:translate .3s var(--ease-dd)}
.sw__go:hover .ico{translate:4px 0}
.enq{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:28px;padding:clamp(24px,3vw,40px);background:var(--bg);color:var(--ink);overflow:auto}
.enq::backdrop{background:rgba(0,0,0,.45)}
.enq[open]{animation:enqIn .35s var(--ease) both}
@keyframes enqIn{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
.enq__top{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px}
.enq__t{font:400 clamp(26px,2.4vw,34px)/1.05 var(--display);letter-spacing:-.02em}
.enq__about{margin-top:8px;font:400 14px/20px var(--text);color:var(--grey)}
.enq__about b{font-weight:500;color:var(--ink)}
.enq__x{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:none;cursor:pointer}
.enq__x .ico{width:18px;height:18px;rotate:45deg}
.enq__f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.enq__wide{grid-column:1/-1}
.enq__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:4px}
.enq__note{font:400 13px/19px var(--text);color:var(--grey)}
@media (max-width:600px){.enq__f{grid-template-columns:minmax(0,1fr)}.enq__foot .pill{width:100%;justify-content:center}}
.eng{display:grid;gap:clamp(32px,4vw,56px)}
.eng__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px 64px;align-items:start}
.eng__wrap{display:grid;justify-items:center}
.eng__hub{display:grid;justify-items:center;text-align:center;gap:6px;padding:26px 48px;border-radius:28px;background:#111;color:#fff;min-width:min(100%,360px)}
.eng__hk{font:500 12px/16px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.eng__hn{font:300 clamp(44px,4.4vw,64px)/1 var(--display);letter-spacing:-.03em}
.eng__hu{font:500 15px/20px var(--text)}
.eng__rail{display:block;width:100%;height:clamp(56px,6vw,90px)}
.eng__rail path{fill:none;stroke:var(--m);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 9;vector-effect:non-scaling-stroke}
@media (prefers-reduced-motion:no-preference){.eng__rail path{animation:engflow 1.1s linear infinite}}
@keyframes engflow{to{stroke-dashoffset:-32}}
.eng__cols{width:100%;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px;align-items:stretch}
.eng__col{background:var(--l);color:var(--d);border-radius:24px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:10px}
.eng__pk{display:flex;align-items:center;gap:10px;font:400 clamp(22px,1.8vw,28px)/1.05 var(--display);letter-spacing:-.02em}
.eng__ic{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--m);color:#fff}
.eng__ic svg{width:18px;height:18px;fill:currentColor}
.eng__job{font:500 12px/16px var(--text);letter-spacing:.06em;text-transform:uppercase}
.eng__pd{font:400 14px/21px var(--text);opacity:.85}
.eng__cs{display:grid;gap:8px;padding-top:6px}
.eng__c{position:relative;background:#fff;border-radius:14px;padding:14px 16px;color:#111;display:grid;gap:4px}
.eng__ct{font:500 14px/20px var(--text)}
.eng__cd{font:400 13px/19px var(--text);color:var(--grey)}
.eng__go{display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--text);margin-top:2px}
.eng__go svg{width:12px;height:12px}
@media (max-width:1180px){.eng__rail{display:none}.eng__hub{margin-bottom:16px}.eng__cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}
@media (max-width:760px){.eng__head{grid-template-columns:minmax(0,1fr)}.eng__hub{width:100%}}
@media (max-width:860px){.oc2i__in{grid-template-columns:minmax(0,1fr)}.oc2i{margin-inline:12px;border-radius:24px}}

/* tabs with one sliding indicator */
.tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);transition:top .45s var(--ease)}
body.float-on .tabs{top:calc(env(safe-area-inset-top,0px) + var(--float))}
.tabs__in{position:relative;display:flex;gap:28px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;padding-inline:var(--g);padding-top:4px}
.tabs__in::-webkit-scrollbar{display:none}
.tabs a{flex:none;font:400 14px/20px var(--text);padding-block:20px 18px;color:var(--grey);transition:color .3s var(--ease-dd)}
.tabs a:hover,.tabs a.is-active{color:var(--ink)}
.tabs__bar{position:absolute;left:0;bottom:-1px;width:12px;height:1px;background:var(--bg);transition:translate .55s var(--ease)}
.tabs__bar::before{content:"";position:absolute;left:2px;top:-10px;width:8px;height:8px;border-radius:50%;background:var(--mark)}
.tabs{--mark-fallback:#111}
[data-anchor]{scroll-margin-top:calc(var(--float) + 70px)}

/* goal block */
.goal{display:grid;gap:18px}
.goal__n{font:300 clamp(52px,6vw,88px)/.9 var(--display);letter-spacing:-.01em}
.goal__u{font:400 19px/28px var(--text)}
.goal__trk{max-width:660px;margin-top:6px}

/* forms */
.form{display:grid;gap:22px}
.field{display:grid;gap:4px}
.field > span{color:var(--grey);font:400 14px/20px var(--text)}
.field input,.field select,.field textarea{font:400 16px/24px var(--text);letter-spacing:.006em;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--field-line, #767676);border-radius:0;padding:8px 0;width:100%;-webkit-appearance:none;appearance:none;transition:border-color .3s var(--ease-dd)}
.field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 2px center/12px}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ink)}
.check{display:flex;gap:12px;align-items:flex-start;font:400 14px/20px var(--text)}
.check input{accent-color:var(--ink);width:16px;height:16px;margin:2px 0 0;flex:none}
.form__msg{font:400 14px/20px var(--text)}
.form__msg:empty{display:none}
.form__about{font:400 14px/20px var(--text);color:var(--grey)}
.form__about b{display:block;margin-top:2px;font-weight:500;color:var(--ink)}
.cta--form{align-items:start}
.cta__form{padding-block:40px;max-width:560px}
.band--night .field select,.band--deep .field select,.band--terra .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='white' stroke-width='1.2'/%3E%3C/svg%3E")}
.field option,.field optgroup{color:#111;background:#fff}
.clp__form{justify-self:stretch;margin-top:6px}
.clp__more{font:500 15px/22px var(--text);color:#111}
@media (max-width:860px){.cta__form{padding-block:0 24px}}

/* accordion (smooth open where the browser supports it) */
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc details::details-content{height:0;overflow:clip;transition:height .5s var(--ease),content-visibility .5s allow-discrete}
.acc details[open]::details-content{height:auto}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:22px;cursor:pointer;font:400 16px/24px var(--text)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover .circ-s{border-color:var(--ink)}
.acc details[open] .circ-s{transform:rotate(45deg)}
.acc details p{color:var(--grey);font:400 14px/20px var(--text);padding-bottom:22px;max-width:40em}

/* feature (news) */
.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding:0 var(--g) clamp(56px,6vw,88px);background:var(--bg)}
.feat .frame{aspect-ratio:660/440}
.feat__text{display:flex;flex-direction:column;gap:20px;min-width:0}
@media (max-width:860px){.feat{grid-template-columns:minmax(0,1fr)}}

/* search */
.sbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:12px}
.sbox input{font:400 clamp(26px,2.65vw,38px)/1.26 var(--display);letter-spacing:-.006em;border:0;background:transparent;padding:0;width:100%;color:var(--ink);min-width:0}
.sbox input:focus{outline:none}
.sbox input::placeholder{color:#a6a6a6}
.suggest{display:grid;gap:12px;justify-items:start}
.suggest a{font:400 19px/30px var(--text)}

/* footer */
.foot{background:var(--flood);color:var(--flood-on);padding:clamp(28px,3vw,40px) var(--g) clamp(40px,5vw,72px)}
.foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.foot__h{font:500 16px/24px var(--text);letter-spacing:.025em;margin-bottom:12px}
.foot__cols ul{display:grid;gap:10px}
.foot__cols a{font:400 15px/20px var(--text);letter-spacing:.02em;text-transform:uppercase}
.foot__cols a:hover{text-decoration:underline;text-underline-offset:4px}
.foot__note{font:400 14px/20px var(--text);max-width:22em;text-wrap:balance}
.foot__mark{display:block;margin-top:clamp(80px,10vw,140px)}
.foot__mark svg{display:block;width:100%;height:auto;overflow:visible}
.js .foot__mark:not(.is-in) .wm-dot{opacity:0;translate:0 -260%}
.foot__mark.is-in .wm-dot{animation:dotdrop 1.1s cubic-bezier(.3,1.2,.4,1) both}
@keyframes dotdrop{0%{opacity:0;translate:0 -260%;scale:1 1}30%{opacity:1}60%{translate:0 0;scale:1.18 .8}78%{translate:0 -22%;scale:.94 1.06}100%{translate:0 0;scale:1 1}}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:22px;font:400 14px/20px var(--text);letter-spacing:.012em}
.foot__legal nav{display:flex;gap:20px}
.foot__legal a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:860px){.foot__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}}

/* review notice (from the brief) */
.notice{position:fixed;right:var(--g);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;max-width:560px;background:#000;color:#fff;padding:16px 16px 16px 18px;display:flex;align-items:center;gap:20px;font:400 14px/20px var(--text);letter-spacing:.012em}
.notice .btn{min-height:40px;padding:8px 16px;font-size:14px;color:#fff;border-color:#fff}
.notice .btn:hover{background:#fff;color:#000}
@media (max-width:560px){.notice{left:var(--g);right:var(--g)}}
.notice{transition:opacity .25s var(--ease-dd),visibility 0s}
.notice.is-away{opacity:0;visibility:hidden;transition:opacity .25s var(--ease-dd),visibility 0s .25s}

.page-in{animation:pagein .45s var(--ease-dd) both}
/* Studio preview: every editable piece is outlined; the picked one is lit */
[data-st-size="s"]{font-size:.82em}[data-st-size="l"]{font-size:1.25em}[data-st-size="xl"]{font-size:1.6em;line-height:1.1}
[data-st-tone="ink"]{color:#111}[data-st-tone="grey"]{color:#646464}[data-st-tone="terra"]{color:#b4613c}[data-st-tone="brown"]{color:#3a1d10}
[data-st-tone="blue"]{color:#2850b8}[data-st-tone="red"]{color:#c4371f}[data-st-tone="green"]{color:#2f7d4f}[data-st-tone="white"]{color:#fff}
[data-st-bold="1"]{font-weight:600}[data-st-mark="1"]{background:#fff04d;color:#111;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.is-editing .is-hidden-sec{opacity:.4;outline:2px dashed #c4371f;outline-offset:-2px}
.is-editing img[data-slot]{cursor:pointer}
.is-editing img[data-slot]:hover{outline:3px solid #2850b8;outline-offset:-3px}
.is-editing img[data-slot].is-sel{outline:3px solid #2850b8;outline-offset:-3px}
.is-editing [data-edit]{outline:2px dotted rgba(180,97,60,.75);outline-offset:4px;cursor:pointer}
.is-editing [data-edit]:hover{outline:2px solid #b4613c}
.is-editing .art[data-edit],.is-editing .st[data-edit],.is-editing .rail__card[data-edit],.is-editing .rcov[data-edit],.is-editing .icard[data-edit]{position:relative}
.is-editing [data-edit]::after{content:attr(data-edit-label) ' \2192';position:absolute;top:12px;right:12px;z-index:6;padding:6px 11px;border-radius:999px;background:#b4613c;color:#fff;font:600 12px/1 var(--text);letter-spacing:.01em;opacity:0;transition:opacity .15s;pointer-events:none;white-space:nowrap}
.is-editing [data-edit]:hover::after{opacity:1}
.is-editing [data-slot]{outline:1px dashed transparent;outline-offset:3px;border-radius:2px;cursor:text}
.is-editing [data-slot]:hover{outline:2px solid #2850b8;background:rgba(40,80,184,.07)}
.is-editing [data-slot].is-sel{outline:2px solid #2850b8;background:rgba(255,240,77,.55);color:#111}
@keyframes pagein{from{opacity:.001}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .ow:not(.is-in) .ow__t,.js .ow:not(.is-in) .ow__rest,.js .ow:not(.is-in) .ow__img img{opacity:1;filter:none;translate:none;scale:none}
  .js .foot__mark:not(.is-in) .wm-dot{opacity:1;translate:none}
  .js .goals:not(.is-in) .grow__title,.js .goals:not(.is-in) .grow__track,.js .goals:not(.is-in) .grow__goal{opacity:1;filter:none;translate:none}
}
/* ===================== immersive motion (GSAP layer, see initMotion) ===================== */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.hl-line{position:relative}
.hl-bar{position:absolute;top:-.06em;bottom:-.1em;left:-.06em;right:-.06em;pointer-events:none}
.mo-num{font-variant-numeric:tabular-nums}
.pgc{position:fixed;inset:0;z-index:190;display:grid;place-items:center;background:#121212;visibility:hidden;pointer-events:none;will-change:transform}
.pgc img{width:clamp(64px,6vw,88px);height:auto}
