:root{
  --sofu-ink:#170b3c;--sofu-purple:#261147;--sofu-violet:#6849c8;--sofu-violet-2:#8d78df;--sofu-lav:#f3efff;--sofu-lav2:#ebe4ff;--sofu-paper:#fff;--sofu-bg:#fbfafe;--sofu-muted:#6b667a;--sofu-line:#e7e1f2;--sofu-gold:#b96b32;--sofu-shadow:0 28px 80px rgba(31,14,70,.12);--sofu-radius:30px;--sofu-max:1220px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sofu-bg);color:var(--sofu-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.sofu-menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sofu-skip-link{position:fixed;left:16px;top:-100px;z-index:99999;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:var(--sofu-shadow)}.sofu-skip-link:focus{top:16px}.sofu-container{width:min(calc(100% - 40px),var(--sofu-max));margin-inline:auto}.sofu-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--sofu-violet);margin-bottom:12px}.sofu-eyebrow-light{color:#cbbfff}.sofu-section-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--sofu-line);border-radius:50%;font-size:.72rem;font-weight:900;letter-spacing:.04em;color:var(--sofu-violet);flex:none}.sofu-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:900}.sofu-section{padding:100px 0}.sofu-section-soft{background:linear-gradient(180deg,#f7f4ff 0,#fdfcff 100%);border-block:1px solid var(--sofu-line)}.sofu-section-heading{max-width:760px;margin-bottom:44px}.sofu-section-heading h2,.sofu-split-heading h2{margin:0;font-size:clamp(2.15rem,4.5vw,4rem);line-height:.98;letter-spacing:-.055em}.sofu-section-heading p,.sofu-split-heading>p{color:var(--sofu-muted);font-size:1.04rem}.sofu-section-heading-center{text-align:center;margin-inline:auto}.sofu-split-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-bottom:42px}.sofu-split-heading>p{margin:0}.sofu-button-row{display:flex;gap:12px;flex-wrap:wrap}.sofu-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:56px;padding:0 18px 0 22px;border-radius:16px;font-weight:850;transition:transform .25s ease,background .25s ease,border-color .25s ease;overflow:hidden}.sofu-button i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;transition:transform .25s}.sofu-button:hover{transform:translateY(-2px)}.sofu-button:hover i{transform:translate(2px,-2px)}.sofu-button-primary{background:var(--sofu-purple);color:#fff;box-shadow:0 14px 38px rgba(38,17,71,.2)}.sofu-button-primary i{background:rgba(255,255,255,.13)}.sofu-button-ghost{border:1px solid var(--sofu-line);background:rgba(255,255,255,.72)}.sofu-button-light{background:#fff;color:var(--sofu-purple)}.sofu-button-light i{background:var(--sofu-lav)}.sofu-text-link,.sofu-cinematic-link{display:inline-flex;align-items:center;gap:10px;font-weight:850}.sofu-text-link span,.sofu-cinematic-link i{transition:transform .2s}.sofu-text-link:hover span,.sofu-cinematic-link:hover i{transform:translateX(5px)}

/* Header + mobile navigation */
.sofu-site-header{position:fixed;left:0;right:0;top:0;z-index:1200;padding:calc(12px + var(--safe-top)) 0 0;transition:transform .35s ease}.admin-bar .sofu-site-header{top:32px}.sofu-site-header.is-hidden{transform:translateY(-125%)}.sofu-header-inner{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 14px;background:rgba(255,255,255,.78);backdrop-filter:blur(22px) saturate(145%);border:1px solid rgba(231,225,242,.95);border-radius:20px;box-shadow:0 12px 40px rgba(32,14,68,.08);transition:.3s}.sofu-site-header.is-scrolled .sofu-header-inner{box-shadow:0 16px 44px rgba(32,14,68,.13)}.sofu-brand{display:flex;align-items:center;gap:11px}.sofu-brand-mark{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,var(--sofu-purple),#7256d6);color:#fff;overflow:hidden}.sofu-brand-mark i{position:absolute;width:28px;height:28px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-10px;top:-7px}.sofu-brand-mark b{font-size:.95rem;z-index:1}.sofu-brand-copy{display:flex;flex-direction:column;line-height:1}.sofu-brand-copy strong{font-size:.82rem;letter-spacing:-.01em}.sofu-brand-copy span{font-size:.68rem;color:var(--sofu-muted);margin-top:5px}.sofu-custom-logo img{display:block;max-height:42px;width:auto}.sofu-custom-logo .custom-logo-link{display:flex}.sofu-menu-toggle{height:46px;display:flex;align-items:center;gap:11px;border:0;background:var(--sofu-ink);color:#fff;border-radius:14px;padding:0 13px 0 16px;cursor:pointer}.sofu-menu-label{font-size:.78rem;font-weight:850;letter-spacing:.02em}.sofu-menu-icon{width:22px;height:22px;display:grid;place-items:center;position:relative}.sofu-menu-icon i{position:absolute;width:18px;height:1.5px;background:#fff;border-radius:3px;transition:.28s ease}.sofu-menu-icon i:first-child{transform:translateY(-4px)}.sofu-menu-icon i:last-child{transform:translateY(4px)}.sofu-menu-open .sofu-menu-icon i:first-child{transform:rotate(45deg)}.sofu-menu-open .sofu-menu-icon i:last-child{transform:rotate(-45deg)}.sofu-nav-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s}.sofu-menu-open .sofu-nav-overlay{z-index:1150;pointer-events:auto;opacity:1}.sofu-nav-backdrop{position:absolute;inset:0;background:rgba(17,7,44,.32);backdrop-filter:blur(8px)}.sofu-nav-panel{position:absolute;inset:0;background:linear-gradient(160deg,#fbf9ff 0,#f2edff 56%,#fff 100%);padding:calc(110px + var(--safe-top)) 24px calc(28px + var(--safe-bottom));display:flex;flex-direction:column;overflow:auto;transform:translateY(-3%);opacity:.35;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s}.sofu-menu-open .sofu-nav-panel{transform:none;opacity:1}.sofu-nav-orbit{position:absolute;width:380px;height:380px;border:1px solid #d9cff3;border-radius:50%;right:-180px;top:90px}.sofu-nav-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--sofu-gold);left:26px;bottom:75px;box-shadow:0 0 0 8px rgba(185,107,50,.1)}.sofu-nav-topline{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--sofu-line);font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-muted);font-weight:800}.sofu-primary-nav{position:relative;z-index:1;margin:auto 0}.sofu-nav-list{list-style:none;margin:0;padding:30px 0;display:grid;gap:2px}.sofu-nav-list>li>a,.sofu-submenu-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 0;background:none;border:0;color:var(--sofu-ink);font-size:clamp(1.8rem,8vw,3.15rem);line-height:1.02;letter-spacing:-.055em;font-weight:780;cursor:pointer;text-align:left}.sofu-nav-list>li>a:before,.sofu-submenu-toggle:before{content:"";width:0;height:1px;background:var(--sofu-violet);transition:.25s;margin-right:0}.sofu-nav-list>li>a:hover:before,.sofu-submenu-toggle:hover:before{width:20px;margin-right:10px}.sofu-submenu-toggle span{font-size:1rem}.sofu-submenu{display:none;list-style:none;padding:4px 0 14px;margin:0}.sofu-has-submenu.is-open .sofu-submenu{display:grid}.sofu-submenu a{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid rgba(231,225,242,.8)}.sofu-submenu strong{font-size:.78rem;color:var(--sofu-violet);letter-spacing:.08em}.sofu-submenu span{font-size:.86rem;color:var(--sofu-muted)}.sofu-nav-foot{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--sofu-line)}.sofu-nav-foot span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted);font-weight:800}

/* Motion */
.sofu-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}.sofu-reveal.is-visible{opacity:1;transform:none}.sofu-hero .sofu-reveal:nth-child(2){transition-delay:.05s}.sofu-hero .sofu-reveal:nth-child(3){transition-delay:.1s}.sofu-hero-image.sofu-reveal{transform:translateY(36px) rotate(2deg) scale(.98)}.sofu-hero-image.sofu-reveal.is-visible{transform:rotate(2deg) scale(1)}

/* Home hero */
.sofu-hero{position:relative;min-height:100svh;padding:calc(105px + var(--safe-top)) 0 74px;overflow:hidden;background:radial-gradient(circle at 76% 13%,#ece5ff 0,rgba(236,229,255,0) 30%),radial-gradient(circle at 6% 72%,rgba(185,107,50,.08) 0,rgba(185,107,50,0) 23%),linear-gradient(180deg,#fff 0,#faf8ff 100%)}.sofu-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(38,17,71,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(38,17,71,.04) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 65%)}.sofu-hero-shell{position:relative;z-index:2}.sofu-hero-aura span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.8}.sofu-hero-aura span:nth-child(1){width:9px;height:9px;background:var(--sofu-gold);left:8%;top:31%;box-shadow:0 0 0 10px rgba(185,107,50,.07)}.sofu-hero-aura span:nth-child(2){width:7px;height:7px;background:var(--sofu-violet);right:9%;top:38%;box-shadow:0 0 0 9px rgba(104,73,200,.06)}.sofu-hero-aura span:nth-child(3){width:5px;height:5px;background:var(--sofu-violet);left:16%;bottom:15%}.sofu-hero-kicker{display:flex;align-items:center;gap:10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--sofu-muted);margin-bottom:30px}.sofu-live-dot{width:8px;height:8px;border-radius:50%;background:var(--sofu-gold);box-shadow:0 0 0 6px rgba(185,107,50,.1)}.sofu-hero-title-wrap{position:relative}.sofu-hero-title{margin:0;font-size:clamp(4rem,12.4vw,8.8rem);line-height:.78;letter-spacing:-.075em;font-weight:760}.sofu-hero-title span{display:block;width:max-content;max-width:100%}.sofu-hero-title .sofu-line-two{margin-left:18%;color:var(--sofu-violet)}.sofu-hero-title .sofu-line-three{margin-left:3%;font-size:.57em;letter-spacing:-.055em;margin-top:.23em}.sofu-hero-index{position:absolute;right:0;top:4px;font-size:.62rem;letter-spacing:.14em;color:var(--sofu-muted);font-weight:850}.sofu-hero-visual{position:relative;width:min(74%,650px);margin:44px 0 38px auto;transform:translateY(var(--parallax-y,0px))}.sofu-hero-image{position:relative;z-index:3;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 34px 90px rgba(31,14,70,.2);background:#ddd}.sofu-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,11,60,.22),transparent 45%);pointer-events:none}.sofu-hero-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.sofu-hero-image figcaption{position:absolute;z-index:3;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;gap:10px;color:#fff;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.sofu-hero-ring{position:absolute;border:1px solid #d5caf0;border-radius:50%;z-index:1;animation:sofuFloat 8s ease-in-out infinite}.sofu-ring-a{width:126%;aspect-ratio:1;right:-24%;top:-18%}.sofu-ring-a:after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--sofu-gold);left:16%;bottom:15%;box-shadow:0 0 0 8px rgba(185,107,50,.08)}.sofu-ring-b{width:70%;aspect-ratio:1;left:-24%;bottom:-14%;animation-delay:-3s}.sofu-hero-chip{position:absolute;z-index:5;background:rgba(255,255,255,.88);backdrop-filter:blur(15px);border:1px solid rgba(231,225,242,.95);box-shadow:0 18px 50px rgba(31,14,70,.14);border-radius:16px;padding:11px 13px;display:flex;flex-direction:column;animation:sofuBob 5s ease-in-out infinite}.sofu-hero-chip span{font-size:.57rem;text-transform:uppercase;letter-spacing:.13em;color:var(--sofu-violet);font-weight:900}.sofu-hero-chip strong{font-size:.7rem;margin-top:4px}.sofu-chip-research{left:-26%;top:16%}.sofu-chip-uganda{right:-16%;bottom:11%;animation-delay:-2s}.sofu-hero-bottom{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end}.sofu-hero-lead{max-width:680px;font-size:1.08rem;color:var(--sofu-muted);margin:0;line-height:1.72}.sofu-scroll-cue{position:absolute;right:0;bottom:-48px;display:flex;align-items:center;gap:10px;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted);font-weight:850}.sofu-scroll-cue i{width:34px;height:34px;border:1px solid var(--sofu-line);border-radius:50%;position:relative}.sofu-scroll-cue i:after{content:"";position:absolute;width:1px;height:12px;background:var(--sofu-violet);left:50%;top:8px;animation:sofuScroll 1.8s infinite}
@keyframes sofuBob{50%{transform:translateY(-7px)}}@keyframes sofuFloat{50%{transform:rotate(3deg) scale(1.01)}}@keyframes sofuScroll{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(10px);opacity:0}}

/* Journey */
.sofu-journey-scene{position:relative;padding:105px 0;background:#fff}.sofu-journey-intro,.sofu-world-heading,.sofu-fight-heading,.sofu-editions-heading,.sofu-unso-story-heading{display:grid;grid-template-columns:42px 1fr;gap:24px;align-items:start;margin-bottom:48px}.sofu-journey-intro h2,.sofu-world-heading h2,.sofu-fight-heading h2,.sofu-editions-heading h2,.sofu-unso-story-heading h2{margin:0;font-size:clamp(2.2rem,4.8vw,4.25rem);line-height:.98;letter-spacing:-.055em}.sofu-world-heading p,.sofu-fight-heading p,.sofu-editions-heading p,.sofu-unso-story-heading p{max-width:680px;color:var(--sofu-muted)}.sofu-journey-mobile-stage,.sofu-journey-scroll-track{display:none}.sofu-journey-desktop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-journey-card{min-height:240px;padding:24px;border:1px solid var(--sofu-line);border-radius:24px;background:linear-gradient(145deg,#fff,#fbf9ff);transition:.3s}.sofu-journey-card:hover{transform:translateY(-5px);box-shadow:var(--sofu-shadow)}.sofu-journey-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sofu-lav);color:var(--sofu-violet);font-size:.75rem;font-weight:900}.sofu-journey-card h3{font-size:1.25rem;margin:52px 0 7px}.sofu-journey-card p{color:var(--sofu-muted);font-size:.9rem;margin:0}

/* UNSO cinematic home */
.sofu-unso-cinematic{position:relative;overflow:hidden;background:var(--sofu-ink);color:#fff;padding:110px 0}.sofu-unso-cinematic:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(141,120,223,.28),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 42%)}.sofu-unso-orbit{position:absolute;width:680px;height:680px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-320px;top:-240px}.sofu-unso-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--sofu-gold);left:44px;bottom:154px;box-shadow:0 0 0 10px rgba(185,107,50,.11)}.sofu-unso-head{position:relative;z-index:1;display:grid;grid-template-columns:.45fr 1.15fr .8fr;gap:36px;align-items:start}.sofu-unso-head>div:first-child{display:flex;gap:20px;align-items:center}.sofu-unso-head .sofu-section-number{border-color:rgba(255,255,255,.16);color:#cbbfff}.sofu-unso-head h2{font-size:clamp(3rem,6.7vw,6.8rem);letter-spacing:-.07em;line-height:.84;margin:0}.sofu-unso-head h2 em{font-style:normal;color:#b8a6ff}.sofu-unso-head>p{margin:8px 0 0;color:#cbc3dd;line-height:1.7}.sofu-unso-edition-card{position:relative;z-index:1;display:grid;grid-template-columns:.38fr 1fr;gap:34px;align-items:end;margin-top:78px;padding:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);backdrop-filter:blur(20px);border-radius:28px}.sofu-unso-year-wrap{display:flex;flex-direction:column}.sofu-unso-year-wrap span{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:#c9bfdc;font-weight:850}.sofu-unso-year-wrap strong{font-size:clamp(4.5rem,8vw,7rem);line-height:.86;letter-spacing:-.07em}.sofu-unso-edition-copy h3{margin:0;font-size:1.65rem}.sofu-unso-edition-copy p{color:#c9bfdc}.sofu-stage-rail,.sofu-programme-rail,.sofu-year-rail{position:relative;z-index:1;display:flex;gap:14px;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding:18px 1px 10px;cursor:grab}.sofu-stage-rail::-webkit-scrollbar,.sofu-programme-rail::-webkit-scrollbar,.sofu-year-rail::-webkit-scrollbar{display:none}.sofu-stage-snap-card{scroll-snap-align:start;flex:1 0 calc(50% - 7px);min-height:260px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.06);transition:.3s}.sofu-stage-snap-card:hover{background:rgba(255,255,255,.11);transform:translateY(-3px)}.sofu-stage-card-top{display:flex;justify-content:space-between;color:#b8a6ff;font-size:.72rem;font-weight:900}.sofu-stage-card-top i{font-style:normal;font-size:1.2rem}.sofu-stage-snap-card small{color:#b8a6ff;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:900}.sofu-stage-snap-card h3{font-size:1.4rem;margin:8px 0 0}.sofu-stage-snap-card p{color:#c9bfdc;margin:0;font-size:.9rem}.sofu-cinematic-link{position:relative;z-index:1;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);width:100%;justify-content:space-between}.sofu-cinematic-link i{font-style:normal}

/* International programmes */
.sofu-world-section{padding:110px 0;background:linear-gradient(180deg,#fff 0,#faf8ff 100%)}.sofu-world-heading{grid-template-columns:42px 1fr;max-width:920px}.sofu-world-heading h2{max-width:800px}.sofu-programme-editorial{scroll-snap-align:start;position:relative;flex:0 0 calc(33.333% - 10px);min-height:430px;padding:24px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:.35s}.sofu-programme-editorial:before{content:"";position:absolute;width:280px;height:280px;border:1px solid #e4ddf6;border-radius:50%;right:-150px;top:-100px;transition:.4s}.sofu-programme-editorial:hover{transform:translateY(-6px);box-shadow:var(--sofu-shadow)}.sofu-programme-editorial:hover:before{transform:scale(1.08)}.sofu-programme-card-index{font-size:.68rem;color:var(--sofu-muted);font-weight:850}.sofu-programme-editorial-acr{font-size:clamp(4.2rem,7vw,6.4rem);line-height:.85;letter-spacing:-.075em;color:var(--sofu-violet);font-weight:800;margin-top:70px}.sofu-programme-editorial-body{margin-top:auto;padding-top:50px}.sofu-programme-editorial-body h3{font-size:1.2rem;line-height:1.15;margin:0 0 10px}.sofu-programme-editorial-body p{font-size:.88rem;color:var(--sofu-muted);margin:0;max-width:95%}.sofu-programme-editorial-arrow{position:absolute;right:22px;bottom:22px;font-size:1.3rem}

/* Events + stories + final */
.sofu-events-section{background:#f8f5ff;border-block:1px solid var(--sofu-line)}.sofu-event-list{display:grid;gap:12px}.sofu-event-card{display:grid;grid-template-columns:92px 1fr auto;gap:22px;align-items:center;padding:19px 22px;border:1px solid var(--sofu-line);border-radius:22px;background:#fff;transition:.25s}.sofu-event-card:hover{transform:translateX(4px);box-shadow:0 16px 45px rgba(31,14,70,.08)}.sofu-event-date{display:flex;align-items:baseline;gap:6px}.sofu-event-date strong{font-size:2.3rem;line-height:1;letter-spacing:-.06em}.sofu-event-date span{font-size:.7rem;color:var(--sofu-muted);font-weight:900}.sofu-event-card h3{margin:3px 0;font-size:1.1rem}.sofu-event-card p{margin:0;color:var(--sofu-muted);font-size:.84rem}.sofu-card-arrow{font-size:1.35rem}.sofu-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sofu-story-card{border:1px solid var(--sofu-line);border-radius:26px;background:#fff;overflow:hidden}.sofu-story-image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sofu-lav)}.sofu-story-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.sofu-story-card:hover .sofu-story-image img{transform:scale(1.04)}.sofu-story-body{padding:22px}.sofu-story-body h3{font-size:1.17rem;line-height:1.2;margin:8px 0}.sofu-story-body p{font-size:.88rem;color:var(--sofu-muted)}.sofu-image-placeholder{height:100%;display:grid;place-items:center;font-size:3rem;font-weight:900;color:var(--sofu-violet)}.sofu-empty-state{position:relative;padding:42px;border:1px dashed #d7cdef;border-radius:26px;background:linear-gradient(135deg,#fff,#f7f3ff);overflow:hidden}.sofu-empty-state h3{font-size:1.5rem;margin:0 0 8px}.sofu-empty-state p{color:var(--sofu-muted);max-width:680px;margin:0}.sofu-empty-orbit{position:absolute;width:170px;height:170px;border:1px solid #ded5f5;border-radius:50%;right:-50px;top:-70px}.sofu-final-cta{padding:30px 0 90px;background:linear-gradient(180deg,#fbfafe,#f4efff)}.sofu-final-shell{position:relative;overflow:hidden;min-height:390px;border-radius:34px;background:var(--sofu-purple);color:#fff;padding:50px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.sofu-final-shell:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-190px;top:-250px}.sofu-final-shell:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--sofu-gold);right:25%;top:24%;box-shadow:0 0 0 10px rgba(185,107,50,.1)}.sofu-final-shell>div,.sofu-final-shell>a{position:relative;z-index:1}.sofu-final-shell h2{font-size:clamp(2.8rem,5vw,5.2rem);line-height:.92;letter-spacing:-.06em;margin:0;max-width:770px}.sofu-final-shell p{color:#cbc3dd;max-width:600px}.sofu-final-index{position:absolute;z-index:1;right:32px;top:28px;font-size:.6rem;letter-spacing:.15em;color:#bfb4d5;font-weight:850}

/* Programme pages */
.sofu-programme-hero{position:relative;overflow:hidden;min-height:86svh;padding:calc(150px + var(--safe-top)) 0 78px;background:linear-gradient(145deg,#fff 0,#f2edff 100%)}.sofu-programme-hero.is-unso{background:radial-gradient(circle at 80% 12%,rgba(141,120,223,.27),transparent 25%),linear-gradient(145deg,#fff 0,#f0eaff 100%)}.sofu-programme-hero-orbit{position:absolute;width:760px;height:760px;border:1px solid #d9cff3;border-radius:50%;right:-380px;top:-340px}.sofu-programme-hero-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--sofu-gold);left:84px;bottom:145px}.sofu-programme-hero-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--sofu-line);padding-bottom:18px;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-muted);font-weight:850}.sofu-programme-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-top:60px}.sofu-large-acronym{display:block;font-size:clamp(5rem,12vw,10rem);line-height:.72;letter-spacing:-.08em;color:var(--sofu-violet);font-weight:800}.sofu-programme-title-wrap h1{font-size:clamp(2.7rem,5.3vw,5.2rem);line-height:.94;letter-spacing:-.06em;margin:35px 0 18px;max-width:820px}.sofu-programme-title-wrap p{max-width:690px;color:var(--sofu-muted);font-size:1.1rem}.sofu-programme-latest{min-height:320px;padding:28px;border-radius:28px;background:var(--sofu-purple);color:#fff;display:flex;flex-direction:column}.sofu-programme-latest>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#cbbfff;font-weight:850}.sofu-programme-latest>strong{font-size:5.5rem;line-height:.9;letter-spacing:-.07em;margin-top:14px}.sofu-programme-latest h2{font-size:1.2rem;margin:18px 0}.sofu-programme-latest p{color:#cbc3dd}.sofu-programme-latest a{margin-top:auto;display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);font-weight:850}.sofu-programme-latest i{font-style:normal}.sofu-programme-scrollcue{display:flex;align-items:center;gap:12px;margin-top:42px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted);font-weight:850}.sofu-programme-scrollcue i{width:36px;height:1px;background:var(--sofu-violet)}

.sofu-unso-mobile-story{padding:110px 0;background:#fff}.sofu-unso-story-heading em,.sofu-fight-heading em{font-style:normal;color:var(--sofu-violet)}.sofu-unso-story-steps{display:grid;gap:12px;margin-left:66px}.sofu-unso-story-step{display:grid;grid-template-columns:70px 1fr;gap:24px;min-height:230px;padding:28px;border:1px solid var(--sofu-line);border-radius:26px;background:linear-gradient(145deg,#fff,#fbf9ff)}.sofu-unso-story-step>span{font-size:.75rem;font-weight:900;color:var(--sofu-violet)}.sofu-unso-story-step small{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-violet);font-weight:900}.sofu-unso-story-step h3{font-size:1.7rem;line-height:1.05;letter-spacing:-.04em;margin:16px 0 10px}.sofu-unso-story-step p{color:var(--sofu-muted);max-width:720px}.sofu-score-equation{display:flex;align-items:center;gap:12px;margin:20px 0}.sofu-score-equation b{font-size:3.8rem;line-height:.9;letter-spacing:-.07em}.sofu-score-equation b:first-child{color:var(--sofu-violet)}.sofu-score-equation i{font-style:normal;color:var(--sofu-muted)}

.sofu-fight-scene{position:relative;overflow:hidden;padding:110px 0;background:var(--sofu-ink);color:#fff}.sofu-fight-scene .sofu-section-number{border-color:rgba(255,255,255,.16);color:#cbbfff}.sofu-fight-heading h2 em{color:#b8a6ff}.sofu-fight-heading p{color:#c9bfdc}.sofu-fight-orbit{position:absolute;width:720px;height:720px;border:1px solid rgba(255,255,255,.1);border-radius:50%;left:-440px;bottom:-470px}.sofu-role-switcher{display:grid;grid-template-columns:.42fr 1fr;gap:18px;margin-left:66px}.sofu-role-buttons{display:grid;gap:10px}.sofu-role-buttons button{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;border-radius:18px;padding:12px;text-align:left;cursor:pointer;transition:.25s}.sofu-role-buttons button span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.08);font-weight:900}.sofu-role-buttons button.is-active{background:#fff;color:var(--sofu-ink)}.sofu-role-buttons button.is-active span{background:var(--sofu-lav);color:var(--sofu-violet)}.sofu-role-display{position:relative;min-height:390px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.06);overflow:hidden}.sofu-role-display article{position:absolute;inset:0;padding:34px;display:grid;grid-template-columns:.4fr 1fr;align-items:end;gap:20px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.35s}.sofu-role-display article.is-active{opacity:1;transform:none;pointer-events:auto}.sofu-role-letter{font-size:12rem;line-height:.65;letter-spacing:-.08em;color:#b8a6ff;font-weight:800;opacity:.42}.sofu-role-display small{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#b8a6ff;font-weight:900}.sofu-role-display h3{font-size:3rem;margin:12px 0;letter-spacing:-.05em}.sofu-role-display p{color:#c9bfdc;max-width:600px}

.sofu-editions-section{padding:110px 0;background:linear-gradient(180deg,#fff,#faf8ff)}.sofu-year-card{scroll-snap-align:start;flex:0 0 calc(33.333% - 10px);min-height:360px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}.sofu-year-card:before{content:"";position:absolute;width:220px;height:220px;border:1px solid #e0d7f4;border-radius:50%;right:-120px;top:-100px}.sofu-year-card-number{font-size:4.7rem;line-height:.85;letter-spacing:-.07em;color:var(--sofu-violet);font-weight:800}.sofu-year-card>div{margin-top:auto}.sofu-year-card small{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted);font-weight:850}.sofu-year-card h3{font-size:1.3rem;line-height:1.14;margin:9px 0}.sofu-year-card p{font-size:.84rem;color:var(--sofu-muted)}.sofu-year-card>i{font-style:normal;position:absolute;right:22px;bottom:20px;font-size:1.2rem}

/* Existing edition/stage/archive content */
.sofu-page-hero{padding:160px 0 85px;background:linear-gradient(145deg,#fff,#f2edff)}.sofu-page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.sofu-page-hero h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.95;letter-spacing:-.06em;margin:0 0 20px}.sofu-page-hero p{color:var(--sofu-muted);max-width:700px}.sofu-page-hero-aside{padding:28px;border-radius:24px;background:var(--sofu-purple);color:#fff;display:flex;flex-direction:column}.sofu-page-hero-aside>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#cbbfff}.sofu-page-hero-aside>strong{font-size:3.4rem;line-height:1;margin:15px 0;letter-spacing:-.06em}.sofu-page-hero-aside p{color:#c9bfdc}.sofu-page-hero-aside a{margin-top:18px;font-weight:850}.sofu-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sofu-score-grid article,.sofu-podium article,.sofu-award-grid article,.sofu-topic-grid article{padding:25px;border:1px solid var(--sofu-line);border-radius:24px;background:#fff}.sofu-score-grid strong{font-size:4.4rem;line-height:.85;color:var(--sofu-violet);letter-spacing:-.07em}.sofu-score-grid h3{margin:16px 0 7px}.sofu-score-grid p,.sofu-topic-grid p{color:var(--sofu-muted)}.sofu-qualifier-banner{margin-top:16px;padding:30px;border-radius:26px;background:var(--sofu-purple);color:#fff}.sofu-qualifier-banner span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#cbbfff}.sofu-qualifier-banner strong{display:block;font-size:3.2rem;line-height:1;margin:12px 0}.sofu-qualifier-banner p{color:#c9bfdc}.sofu-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-best-research{margin-top:20px;padding-top:16px;border-top:1px solid var(--sofu-line);display:flex;flex-direction:column}.sofu-best-research span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:850}.sofu-best-research small{color:var(--sofu-muted)}.sofu-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-podium article:first-child{background:var(--sofu-purple);color:#fff}.sofu-podium span,.sofu-award-grid span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:850}.sofu-podium article:first-child span{color:#cbbfff}.sofu-podium strong{display:block;font-size:1.35rem;line-height:1.2;margin-top:30px}.sofu-recognition-list{display:grid;gap:10px}.sofu-recognition-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;align-items:center;padding:18px 20px;border:1px solid var(--sofu-line);border-radius:18px;background:#fff}.sofu-recognition-list>div>span{color:var(--sofu-violet);font-weight:900}.sofu-recognition-list small{color:var(--sofu-muted)}.sofu-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.sofu-chip-grid span{padding:12px 15px;border:1px solid var(--sofu-line);border-radius:999px;background:#fff;font-weight:750}.sofu-award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-award-grid h3{font-size:1.2rem;margin:24px 0 7px}.sofu-award-grid p,.sofu-award-grid small{color:var(--sofu-muted)}.sofu-prose{max-width:820px;font-size:1.04rem}.sofu-prose h2,.sofu-prose h3{line-height:1.1;letter-spacing:-.03em}.sofu-prose a{text-decoration:underline;text-decoration-color:#b9a9e8;text-underline-offset:3px}.sofu-edition-timeline{display:grid;gap:10px}.sofu-edition-row{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:22px;border:1px solid var(--sofu-line);border-radius:20px;background:#fff}.sofu-timeline-year{font-size:2.2rem;letter-spacing:-.06em;font-weight:800;color:var(--sofu-violet)}.sofu-edition-row h3{margin:0 0 5px}.sofu-edition-row p{margin:0;color:var(--sofu-muted);font-size:.86rem}

/* Footer */
.sofu-site-footer{background:#12072f;color:#fff;padding:64px 0 calc(34px + var(--safe-bottom));}.sofu-footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.sofu-footer-brand{max-width:550px}.sofu-footer-brand h2{font-size:2.3rem;letter-spacing:-.05em;line-height:1;margin:0 0 16px}.sofu-footer-brand p{color:#bcb3ce}.sofu-footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sofu-footer-links h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#b8a6ff}.sofu-footer-links ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.sofu-footer-links a{color:#ddd6e9;font-size:.9rem}.sofu-footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;gap:20px;color:#9287a8;font-size:.73rem}

/* Mobile first sophistication */
@media (max-width:1023px){
  .admin-bar .sofu-site-header{top:46px}.sofu-container{width:min(calc(100% - 28px),var(--sofu-max))}.sofu-section{padding:78px 0}.sofu-site-header{padding-top:calc(9px + var(--safe-top))}.sofu-header-inner{height:56px;border-radius:18px;padding-left:10px}.sofu-brand-copy{display:none}.sofu-brand-mark{width:36px;height:36px}.sofu-menu-toggle{height:40px;border-radius:13px;padding:0 12px 0 14px}.sofu-menu-label{font-size:.72rem}.sofu-nav-panel{padding-inline:20px}.sofu-nav-list>li>a,.sofu-submenu-toggle{font-size:clamp(1.9rem,9.5vw,3rem);padding:9px 0}.sofu-nav-foot{gap:6px}.sofu-nav-foot span{font-size:.56rem}

  .sofu-hero{min-height:100svh;padding:calc(95px + var(--safe-top)) 0 72px}.sofu-hero-kicker{font-size:.58rem;margin-bottom:24px}.sofu-hero-title{font-size:clamp(3.9rem,18.4vw,6.3rem);line-height:.78}.sofu-hero-title .sofu-line-two{margin-left:10%}.sofu-hero-title .sofu-line-three{font-size:.54em;margin-left:0;margin-top:.28em}.sofu-hero-index{font-size:.53rem;top:-4px}.sofu-hero-visual{width:81%;margin:34px 6% 34px auto}.sofu-hero-image{border-radius:24px}.sofu-hero-image.sofu-reveal{transform:translateY(34px) rotate(2.7deg) scale(.97)}.sofu-hero-image.sofu-reveal.is-visible{transform:rotate(2.7deg)}.sofu-ring-a{width:130%;right:-29%;top:-17%}.sofu-ring-b{left:-31%;bottom:-19%}.sofu-hero-chip{padding:9px 10px;border-radius:13px}.sofu-hero-chip strong{font-size:.6rem}.sofu-hero-chip span{font-size:.5rem}.sofu-chip-research{left:-18%;top:11%}.sofu-chip-uganda{right:-14%;bottom:10%}.sofu-hero-bottom{grid-template-columns:1fr;gap:22px}.sofu-hero-lead{font-size:.94rem;line-height:1.68}.sofu-button-row{display:grid;grid-template-columns:1fr}.sofu-button{min-height:54px}.sofu-scroll-cue{display:none}.sofu-hero-image figcaption{font-size:.47rem}

  .sofu-journey-scene{padding:78px 0 0;min-height:600svh;background:#fff}.sofu-journey-intro{grid-template-columns:34px 1fr;gap:14px;position:relative;z-index:4;margin-bottom:18px}.sofu-journey-intro .sofu-section-number{width:34px;height:34px;font-size:.62rem}.sofu-journey-intro h2{font-size:2.45rem;line-height:.93}.sofu-journey-desktop-grid{display:none}.sofu-journey-mobile-stage{position:sticky;top:86px;height:calc(100svh - 100px);display:block;border:1px solid var(--sofu-line);border-radius:30px;background:linear-gradient(145deg,#faf8ff,#fff);overflow:hidden;box-shadow:0 30px 80px rgba(31,14,70,.08);z-index:3}.sofu-journey-progress{position:absolute;left:18px;right:18px;top:18px;height:2px;background:#e5def3;z-index:5}.sofu-journey-progress span{display:block;width:100%;height:100%;background:var(--sofu-violet);transform-origin:left;transform:scaleX(.04);transition:transform .22s linear}.sofu-journey-panel{position:absolute;inset:0;padding:58px 24px 24px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;transform:translateY(32px) scale(.98);transition:opacity .45s,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}.sofu-journey-panel.is-active{opacity:1;transform:none}.sofu-journey-count{font-size:clamp(5rem,26vw,8rem);line-height:.8;letter-spacing:-.08em;color:#dcd3f3;font-weight:800}.sofu-journey-panel h3{font-size:clamp(3rem,15vw,5rem);line-height:.84;letter-spacing:-.07em;margin:0 0 18px;color:var(--sofu-violet)}.sofu-journey-panel p{font-size:1rem;color:var(--sofu-muted);margin:0;max-width:92%}.sofu-journey-watermark{position:absolute;right:-10px;bottom:-26px;font-size:9rem;line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(104,73,200,.045);pointer-events:none}.sofu-journey-scroll-track{display:block;height:calc(500svh);margin-top:calc(-100svh + 100px);pointer-events:none}.sofu-journey-scroll-track span{display:block;height:calc(100svh - 100px)}

  .sofu-unso-cinematic{padding:82px 0}.sofu-unso-orbit{width:430px;height:430px;right:-250px;top:-180px}.sofu-unso-head{grid-template-columns:1fr;gap:20px}.sofu-unso-head>div:first-child{gap:12px}.sofu-unso-head .sofu-section-number{width:34px;height:34px}.sofu-unso-head h2{font-size:clamp(3.4rem,16.4vw,5.3rem);line-height:.82}.sofu-unso-head>p{font-size:.92rem}.sofu-unso-edition-card{grid-template-columns:1fr;gap:16px;margin-top:46px;padding:22px;border-radius:24px}.sofu-unso-year-wrap strong{font-size:5.3rem}.sofu-unso-edition-copy h3{font-size:1.2rem}.sofu-stage-rail{margin-right:-14px;padding-right:14px}.sofu-stage-snap-card{flex:0 0 84%;min-height:305px;border-radius:24px}.sofu-stage-snap-card h3{font-size:1.6rem;line-height:1.06}.sofu-cinematic-link{font-size:.88rem}

  .sofu-world-section{padding:82px 0}.sofu-world-heading{grid-template-columns:34px 1fr;gap:14px;margin-bottom:34px}.sofu-world-heading .sofu-section-number{width:34px;height:34px}.sofu-world-heading h2{font-size:2.75rem;line-height:.92}.sofu-world-heading p{font-size:.92rem}.sofu-programme-rail{margin-right:-14px;padding-right:14px}.sofu-programme-editorial{flex:0 0 86%;min-height:460px;border-radius:26px}.sofu-programme-editorial-acr{font-size:6rem;margin-top:78px}.sofu-programme-editorial-body h3{font-size:1.35rem}.sofu-programme-editorial-body p{font-size:.9rem}

  .sofu-split-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.sofu-split-heading>div:first-child{display:grid;grid-template-columns:34px 1fr;gap:14px}.sofu-split-heading .sofu-section-number{width:34px;height:34px}.sofu-split-heading h2{font-size:2.6rem}.sofu-split-heading>p{font-size:.92rem}.sofu-event-card{grid-template-columns:68px 1fr;gap:14px;padding:16px;border-radius:20px}.sofu-event-card>.sofu-card-arrow{display:none}.sofu-event-date strong{font-size:2rem}.sofu-event-card h3{font-size:1rem}.sofu-story-grid{grid-template-columns:1fr}.sofu-story-card{border-radius:24px}.sofu-empty-state{padding:28px}.sofu-final-cta{padding-bottom:54px}.sofu-final-shell{min-height:520px;padding:30px 24px;grid-template-columns:1fr;align-content:end;border-radius:30px}.sofu-final-shell h2{font-size:3.5rem;line-height:.86}.sofu-final-index{right:24px;top:22px}.sofu-final-shell .sofu-button{width:100%}

  .sofu-programme-hero{min-height:100svh;padding:calc(118px + var(--safe-top)) 0 58px}.sofu-programme-hero-top{font-size:.55rem}.sofu-programme-hero-grid{grid-template-columns:1fr;gap:36px;margin-top:42px}.sofu-large-acronym{font-size:clamp(5.5rem,27vw,8rem)}.sofu-programme-title-wrap h1{font-size:clamp(2.7rem,12vw,4.2rem);line-height:.91;margin-top:28px}.sofu-programme-title-wrap p{font-size:.94rem}.sofu-programme-latest{min-height:260px;border-radius:26px;padding:22px}.sofu-programme-latest>strong{font-size:4.7rem}.sofu-programme-scrollcue{margin-top:28px}

  .sofu-unso-mobile-story{padding:82px 0}.sofu-unso-story-heading{grid-template-columns:34px 1fr;gap:14px}.sofu-unso-story-heading .sofu-section-number{width:34px;height:34px}.sofu-unso-story-heading h2{font-size:2.8rem;line-height:.91}.sofu-unso-story-steps{margin-left:0}.sofu-unso-story-step{grid-template-columns:42px 1fr;gap:12px;min-height:280px;padding:22px;border-radius:24px}.sofu-unso-story-step h3{font-size:2rem}.sofu-score-equation{gap:8px}.sofu-score-equation b{font-size:3rem}

  .sofu-fight-scene{padding:82px 0}.sofu-fight-heading{grid-template-columns:34px 1fr;gap:14px}.sofu-fight-heading .sofu-section-number{width:34px;height:34px}.sofu-fight-heading h2{font-size:2.9rem;line-height:.9}.sofu-role-switcher{grid-template-columns:1fr;margin-left:0}.sofu-role-buttons{grid-template-columns:repeat(3,1fr)}.sofu-role-buttons button{justify-content:center;padding:8px 5px;font-size:.65rem;flex-direction:column;gap:5px;border-radius:16px}.sofu-role-buttons button span{width:34px;height:34px;border-radius:11px}.sofu-role-display{min-height:490px}.sofu-role-display article{padding:24px;grid-template-columns:1fr;align-content:end}.sofu-role-letter{position:absolute;top:46px;left:22px;font-size:13rem;opacity:.2}.sofu-role-display h3{font-size:2.8rem}.sofu-role-display p{font-size:.94rem}

  .sofu-editions-section{padding:82px 0}.sofu-editions-heading{grid-template-columns:34px 1fr;gap:14px}.sofu-editions-heading .sofu-section-number{width:34px;height:34px}.sofu-editions-heading h2{font-size:2.8rem}.sofu-year-rail{margin-right:-14px;padding-right:14px}.sofu-year-card{flex:0 0 86%;min-height:390px}.sofu-year-card-number{font-size:5.1rem}

  .sofu-page-hero{padding:130px 0 70px}.sofu-page-hero-grid{grid-template-columns:1fr;gap:32px}.sofu-page-hero h1{font-size:3.2rem}.sofu-page-hero-aside{border-radius:24px}.sofu-score-grid,.sofu-topic-grid,.sofu-podium,.sofu-award-grid{grid-template-columns:1fr}.sofu-recognition-list>div{grid-template-columns:52px 1fr;gap:10px}.sofu-recognition-list small{grid-column:2}.sofu-qualifier-banner strong{font-size:2.5rem}.sofu-edition-row{grid-template-columns:80px 1fr;gap:14px}.sofu-edition-row>.sofu-card-arrow{display:none}.sofu-timeline-year{font-size:1.9rem}

  .sofu-footer-grid{grid-template-columns:1fr}.sofu-footer-links{grid-template-columns:1fr 1fr}.sofu-footer-bottom{flex-direction:column}
}

@media (min-width:1024px) and (max-width:1240px){.sofu-unso-head{grid-template-columns:.5fr 1.2fr}.sofu-unso-head>p{grid-column:2}.sofu-programme-editorial{flex-basis:calc(50% - 7px)}.sofu-year-card{flex-basis:calc(50% - 7px)}.sofu-role-letter{font-size:9rem}}

@media (min-width:1024px){.sofu-nav-overlay{pointer-events:auto!important;opacity:1!important;position:static}.sofu-nav-backdrop,.sofu-nav-topline,.sofu-nav-foot,.sofu-nav-orbit{display:none}.sofu-nav-panel{position:static;transform:none!important;opacity:1!important;padding:0;background:none;overflow:visible;display:block}.sofu-site-header{padding-top:14px}.sofu-header-inner{height:68px;padding-right:14px}.sofu-menu-toggle{display:none}.sofu-nav-overlay{position:absolute;right:max(20px,calc((100vw - var(--sofu-max))/2));top:14px;left:auto;bottom:auto;width:auto;z-index:1}.sofu-primary-nav{margin:0}.sofu-nav-list{display:flex;align-items:center;gap:3px;padding:0}.sofu-nav-list>li>a,.sofu-submenu-toggle{font-size:.82rem;line-height:1;padding:12px 10px;letter-spacing:0;font-weight:780;border-radius:12px;width:auto}.sofu-nav-list>li>a:before,.sofu-submenu-toggle:before{display:none}.sofu-submenu-toggle span{font-size:.75rem}.sofu-submenu{position:absolute;right:0;top:calc(100% + 8px);width:330px;padding:10px;background:#fff;border:1px solid var(--sofu-line);border-radius:18px;box-shadow:var(--sofu-shadow)}.sofu-has-submenu:hover .sofu-submenu{display:grid}.sofu-submenu a{padding:11px;border-radius:11px}.sofu-submenu a:hover{background:var(--sofu-lav)} }

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sofu-reveal{opacity:1!important;transform:none!important;transition:none!important}.sofu-hero-ring,.sofu-hero-chip,.sofu-scroll-cue i:after{animation:none!important}.sofu-site-header,.sofu-nav-panel,.sofu-role-display article{transition:none!important}.sofu-journey-panel{transition:none!important}.sofu-hero-visual{transform:none!important}}

/* Archive, stage cards, teams */
.sofu-archive-hero{padding:160px 0 74px;background:linear-gradient(145deg,#fff,#f2edff)}.sofu-archive-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.95;letter-spacing:-.06em;margin:0}.sofu-archive-hero p{max-width:720px;color:var(--sofu-muted)}.sofu-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sofu-archive-card{border:1px solid var(--sofu-line);border-radius:26px;background:#fff;overflow:hidden}.sofu-archive-card>a{display:block}.sofu-archive-card img,.sofu-archive-card .sofu-image-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.sofu-archive-card>a>div{padding:22px}.sofu-archive-card h2{font-size:1.25rem;line-height:1.16;margin:8px 0}.sofu-archive-card p{font-size:.88rem;color:var(--sofu-muted)}.sofu-archive-card em{font-style:normal;font-weight:850}.sofu-stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sofu-stage-card{min-height:260px;padding:25px;border:1px solid var(--sofu-line);border-radius:24px;background:#fff;display:flex;flex-direction:column}.sofu-stage-card>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:900}.sofu-stage-card h3{font-size:1.45rem;line-height:1.12;margin:18px 0 8px}.sofu-stage-card p{color:var(--sofu-muted)}.sofu-stage-card em{font-style:normal;font-weight:850;margin-top:auto}.sofu-member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sofu-member-grid article{padding:22px;border:1px solid var(--sofu-line);border-radius:24px;background:#fff}.sofu-member-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--sofu-lav);color:var(--sofu-violet);font-weight:900;font-size:1.2rem}.sofu-member-grid h3{font-size:1.05rem;line-height:1.15;margin:30px 0 8px}.sofu-member-grid p{font-size:.84rem;color:var(--sofu-muted);margin:0 0 12px}.sofu-member-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--sofu-violet)}.nav-links{display:flex;gap:8px;margin-top:30px}.nav-links .page-numbers{padding:10px 13px;border:1px solid var(--sofu-line);border-radius:12px;background:#fff}.nav-links .current{background:var(--sofu-purple);color:#fff;border-color:var(--sofu-purple)}

.sofu-site-footer .sofu-footer-grid{grid-template-columns:1.2fr .45fr .45fr}.sofu-site-footer .sofu-footer-grid>div>h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#b8a6ff;margin:0 0 15px}.sofu-site-footer .sofu-footer-grid>div>ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sofu-site-footer .sofu-footer-grid>div>ul a{color:#ddd6e9;font-size:.9rem}

@media(max-width:1023px){.sofu-archive-hero{padding:128px 0 62px}.sofu-archive-grid{grid-template-columns:1fr}.sofu-stage-grid{grid-template-columns:1fr}.sofu-member-grid{grid-template-columns:1fr 1fr}.sofu-site-footer .sofu-footer-grid{grid-template-columns:1fr}.sofu-site-footer .sofu-footer-grid>div+div{padding-top:8px}}
@media(min-width:1024px) and (max-width:1240px){.sofu-archive-grid{grid-template-columns:repeat(2,1fr)}.sofu-member-grid{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   v0.3 — responsive correction + intentional mobile composition
   ========================================================= */

/* A single typographic voice for the opening statement. */
.sofu-hero-title{
  font-size:clamp(4.5rem,9.2vw,8.25rem);
  line-height:.84;
  letter-spacing:-.068em;
  font-weight:800;
  max-width:1050px;
}
.sofu-hero-title .sofu-title-line{display:block;width:max-content;max-width:100%;font:inherit;letter-spacing:inherit}
.sofu-hero-title .sofu-title-line:nth-child(2){margin-left:11%}
.sofu-hero-title .sofu-title-line:nth-child(3){margin-left:24%}
.sofu-hero-title em{font:inherit;font-style:normal;color:var(--sofu-violet)}
.sofu-hero-visual{width:min(62%,680px);margin-top:20px}
.sofu-hero-image.sofu-reveal{transform:translateY(30px) rotate(1.2deg) scale(.985)}
.sofu-hero-image.sofu-reveal.is-visible{transform:rotate(1.2deg) scale(1)}

/* Navigation is interactive on desktop; the earlier layout-only overlay must never eat clicks. */
@media (min-width:1024px){
  .sofu-nav-overlay,.sofu-nav-panel,.sofu-primary-nav,.sofu-nav-list,.sofu-nav-list a,.sofu-submenu-toggle{pointer-events:auto!important}
  .sofu-nav-list>li>a:hover,.sofu-submenu-toggle:hover{background:rgba(104,73,200,.07)}
}

/* Make horizontal discovery unmistakable rather than relying on user intuition. */
.sofu-rail-discovery{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px;padding:14px 16px;border:1px solid var(--sofu-line);border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px)}
.sofu-rail-hint{display:flex;align-items:center;gap:12px;min-width:0}
.sofu-swipe-glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--sofu-lav);color:var(--sofu-violet);font-weight:900;animation:sofuSwipeCue 1.9s ease-in-out infinite}
.sofu-rail-hint div{display:flex;flex-direction:column;min-width:0}.sofu-rail-hint strong{font-size:.82rem}.sofu-rail-hint small{font-size:.67rem;color:var(--sofu-muted);margin-top:2px}
.sofu-rail-actions{display:flex;align-items:center;gap:8px;flex:none}.sofu-rail-actions button{width:38px;height:38px;border:1px solid var(--sofu-line);border-radius:12px;background:#fff;color:var(--sofu-ink);cursor:pointer;font-weight:900;transition:.2s}.sofu-rail-actions button:hover{background:var(--sofu-purple);border-color:var(--sofu-purple);color:#fff;transform:translateY(-1px)}
.sofu-rail-counter{min-width:60px;text-align:center;font-size:.7rem;color:var(--sofu-muted);font-variant-numeric:tabular-nums}.sofu-rail-counter b{color:var(--sofu-ink)}
.sofu-rail-dots{display:flex;gap:6px;justify-content:center;margin-top:14px}.sofu-rail-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#d8d0e9;cursor:pointer;transition:width .25s,background .25s}.sofu-rail-dots button.is-active{width:24px;background:var(--sofu-violet)}
@keyframes sofuSwipeCue{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}

/* International editions are direct participation archives, not artificial stages. */
.sofu-delegation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sofu-delegation-card{min-height:220px;padding:24px;border:1px solid var(--sofu-line);border-radius:26px;background:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;transition:.3s}.sofu-delegation-card:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}.sofu-delegation-card span{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:var(--sofu-violet);font-weight:900}.sofu-delegation-card h3{font-size:1.5rem;line-height:1.05;margin:10px 0}.sofu-delegation-card p{margin:0;color:var(--sofu-muted)}.sofu-delegation-card i{font-style:normal;font-size:1.35rem;flex:none}

/* The real mobile composition starts much earlier than the old 800px breakpoint.
   This also covers devices/browsers that expose a wider CSS viewport. */
@media (max-width:1023px){
  .sofu-site-header{padding-top:calc(8px + var(--safe-top))}
  .sofu-header-inner{height:58px;padding:0 8px 0 10px;border-radius:19px}
  .sofu-menu-toggle{display:flex!important;background:var(--sofu-ink)}
  .sofu-nav-overlay{position:fixed!important;inset:0!important;width:auto!important;right:0!important;top:0!important;bottom:0!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}
  .sofu-menu-open .sofu-nav-overlay{opacity:1!important;pointer-events:auto!important;z-index:1150!important}
  .sofu-nav-panel{position:absolute!important;inset:0!important;padding:calc(92px + var(--safe-top)) 20px calc(24px + var(--safe-bottom))!important;background:linear-gradient(155deg,#fbf9ff 0,#eee8ff 55%,#fff 100%)!important;display:flex!important;overflow:auto!important}
  .sofu-primary-nav{margin:auto 0!important}.sofu-nav-list{display:grid!important;padding:26px 0!important;gap:2px!important}
  .sofu-nav-list>li>a,.sofu-submenu-toggle{font-size:clamp(2rem,7.2vw,3.7rem)!important;line-height:1.02!important;letter-spacing:-.052em!important;padding:10px 0!important;width:100%!important;border-radius:0!important}
  .sofu-submenu{position:static!important;width:auto!important;padding:2px 0 12px!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .sofu-submenu a{grid-template-columns:52px 1fr!important;border-bottom:1px solid rgba(231,225,242,.9)!important;padding:10px 0!important}

  /* Mobile hero is a separate composition, not a scaled desktop poster. */
  .sofu-hero{min-height:auto!important;padding:calc(90px + var(--safe-top)) 0 58px!important;overflow:clip}
  .sofu-hero-kicker{margin-bottom:22px!important;font-size:.58rem!important}
  .sofu-hero-title-wrap{padding-right:0}
  .sofu-hero-title{font-size:clamp(3.45rem,10.5vw,5.45rem)!important;line-height:.86!important;letter-spacing:-.062em!important;max-width:94%}
  .sofu-hero-title .sofu-title-line{margin-left:0!important}
  .sofu-hero-title .sofu-title-line:nth-child(2){margin-left:5%!important}
  .sofu-hero-title .sofu-title-line:nth-child(3){margin-left:18%!important}
  .sofu-hero-index{top:4px!important;font-size:.52rem!important}
  .sofu-hero-visual{width:calc(100% + 28px)!important;margin:30px -14px 22px!important;transform:none!important}
  .sofu-hero-image{border-radius:28px 28px 68px 28px!important;box-shadow:0 24px 60px rgba(31,14,70,.16)!important}
  .sofu-hero-image img{aspect-ratio:1.13/1!important;object-position:center!important}
  .sofu-hero-image.sofu-reveal,.sofu-hero-image.sofu-reveal.is-visible{transform:none!important}
  .sofu-ring-a{width:92%!important;right:-36%!important;top:-22%!important}.sofu-ring-b{display:none!important}
  .sofu-hero-chip{animation:none!important;padding:9px 11px!important;border-radius:13px!important;box-shadow:0 10px 35px rgba(31,14,70,.12)!important}
  .sofu-chip-research{left:18px!important;top:auto!important;bottom:18px!important}.sofu-chip-uganda{right:18px!important;top:18px!important;bottom:auto!important}
  .sofu-hero-chip span{font-size:.48rem!important}.sofu-hero-chip strong{font-size:.61rem!important}
  .sofu-hero-bottom{grid-template-columns:1fr!important;gap:20px!important}.sofu-hero-lead{font-size:.95rem!important;line-height:1.65!important;max-width:95%}
  .sofu-button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.sofu-button{min-height:52px!important;padding-left:16px!important;font-size:.82rem!important;gap:8px!important}
  .sofu-scroll-cue{display:none!important}

  /* A slightly shorter pinned story keeps the sophistication without feeling endless. */
  .sofu-journey-scene{min-height:500svh!important;padding-top:72px!important}
  .sofu-journey-scroll-track{height:400svh!important;margin-top:calc(-100svh + 100px)!important}
  .sofu-journey-scroll-track span{height:calc(80svh - 80px)!important}

  /* Make it visually obvious that more international programmes exist off-screen. */
  .sofu-world-section{overflow:hidden}
  .sofu-rail-discovery{margin-right:0;padding:11px 12px;border-radius:16px}.sofu-rail-hint strong{font-size:.76rem}.sofu-rail-hint small{font-size:.61rem}.sofu-swipe-glyph{width:34px;height:34px;border-radius:11px}
  .sofu-rail-actions button{width:34px;height:34px}.sofu-rail-counter{min-width:52px;font-size:.64rem}
  .sofu-programme-rail{margin-right:-14px!important;padding:12px 18vw 12px 1px!important;scroll-padding-left:1px!important;overscroll-behavior-x:contain}
  .sofu-programme-editorial{flex:0 0 76%!important;min-height:420px!important;border-radius:26px!important}.sofu-programme-editorial-acr{font-size:5.4rem!important;margin-top:68px!important}
  .sofu-programme-editorial:nth-child(even){transform:translateY(12px)}.sofu-programme-editorial:nth-child(even).is-visible{transform:translateY(12px)}
  .sofu-rail-dots{justify-content:flex-start;padding-left:2px}

  .sofu-delegation-grid{grid-template-columns:1fr}.sofu-delegation-card{min-height:190px;border-radius:24px;padding:22px}
}

@media (max-width:479px){
  .sofu-brand-copy{display:none!important}
  .sofu-hero-title{font-size:clamp(3.05rem,15.2vw,4.4rem)!important;max-width:100%}
  .sofu-hero-title .sofu-title-line:nth-child(2){margin-left:3%!important}.sofu-hero-title .sofu-title-line:nth-child(3){margin-left:12%!important}
  .sofu-button-row{grid-template-columns:1fr!important}
  .sofu-programme-editorial{flex-basis:82%!important}
  .sofu-rail-hint small{display:none}
}

@media (min-width:480px) and (max-width:1023px){.sofu-brand-copy{display:flex!important}}
.sofu-rail-actions button:disabled{opacity:.35;cursor:default;transform:none!important;background:#fff!important;color:var(--sofu-muted)!important;border-color:var(--sofu-line)!important}

/* =========================================================
   v0.4 — vision-led homepage + three-movement pathway
   ========================================================= */

/* Vision-led opening: one idea, one typographic voice. */
.sofu-vision-hero{
  min-height:100svh;
  padding:calc(126px + var(--safe-top)) 0 72px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 79% 18%,rgba(126,92,224,.17) 0,rgba(126,92,224,0) 31%),
    radial-gradient(circle at 7% 78%,rgba(185,107,50,.08) 0,rgba(185,107,50,0) 22%),
    linear-gradient(180deg,#fff 0,#faf8ff 100%);
}
.sofu-vision-shell{position:relative;z-index:2}
.sofu-vision-hero .sofu-hero-kicker{margin-bottom:28px}
.sofu-vision-hero .sofu-hero-kicker i{font-style:normal;margin-left:auto;color:var(--sofu-violet);font-size:.62rem;letter-spacing:.16em}
.sofu-vision-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(42px,6vw,92px);align-items:center}
.sofu-vision-copy{position:relative;z-index:4}
.sofu-vision-title{margin:0;max-width:850px;font-size:clamp(4.25rem,7.15vw,7.35rem);line-height:.86;letter-spacing:-.066em;font-weight:810;text-wrap:balance}
.sofu-vision-title span{display:block}
.sofu-vision-title em{font:inherit;font-style:normal;color:var(--sofu-violet);position:relative;display:inline-block}
.sofu-vision-title em:after{content:"";position:absolute;left:1%;right:0;bottom:.04em;height:1px;background:linear-gradient(90deg,var(--sofu-violet),rgba(104,73,200,0));opacity:.42}
.sofu-vision-lead{max-width:700px;margin:32px 0 26px;color:var(--sofu-muted);font-size:1.06rem;line-height:1.72}
.sofu-method-line{display:flex;align-items:center;gap:10px;margin-top:28px;color:var(--sofu-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
.sofu-method-line span{padding:8px 10px;border:1px solid var(--sofu-line);border-radius:999px;background:rgba(255,255,255,.78)}
.sofu-method-line i{font-style:normal;color:var(--sofu-violet)}
.sofu-vision-visual{position:relative;width:100%;transform:translateY(var(--parallax-y,0px))}
.sofu-vision-image{margin:0;transform:rotate(1.2deg)!important;border-radius:34px 34px 94px 34px;box-shadow:0 34px 90px rgba(31,14,70,.18)}
.sofu-vision-image.sofu-reveal{transform:translateY(28px) rotate(1.2deg) scale(.985)!important}
.sofu-vision-image.sofu-reveal.is-visible{transform:rotate(1.2deg) scale(1)!important}
.sofu-vision-image img{aspect-ratio:1/1.06;object-fit:cover;object-position:center}
.sofu-vision-orbit{position:absolute;border:1px solid rgba(104,73,200,.22);border-radius:50%;pointer-events:none;z-index:-1}
.sofu-vision-orbit-a{width:116%;aspect-ratio:1;right:-28%;top:-13%}
.sofu-vision-orbit-a:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--sofu-gold);left:12%;bottom:23%;box-shadow:0 0 0 8px rgba(185,107,50,.08)}
.sofu-vision-orbit-b{width:62%;aspect-ratio:1;left:-23%;bottom:-10%;border-color:rgba(104,73,200,.12)}
.sofu-vision-chip{position:absolute;z-index:5;display:flex;flex-direction:column;padding:12px 14px;border:1px solid rgba(231,225,242,.96);border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(31,14,70,.12)}
.sofu-vision-chip small{font-size:.53rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-violet);font-weight:900}
.sofu-vision-chip strong{margin-top:4px;font-size:.72rem}
.sofu-vision-chip-a{left:-16%;top:15%}.sofu-vision-chip-b{right:-9%;bottom:15%}
.sofu-vision-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:46px;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:var(--sofu-muted)}
.sofu-vision-footer b{height:1px;background:linear-gradient(90deg,var(--sofu-line),rgba(104,73,200,.35),var(--sofu-line))}

/* Three public-facing movements. The mobile version is a sticky card deck rather than a scroll spacer. */
.sofu-pathway-section{position:relative;padding:112px 0 118px;background:#fff;overflow:clip}
.sofu-pathway-section:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(104,73,200,.08);border-radius:50%;left:-250px;top:18%;pointer-events:none}
.sofu-pathway-section .sofu-journey-intro{max-width:1000px}
.sofu-pathway-section .sofu-journey-intro p{max-width:720px;margin:18px 0 0;color:var(--sofu-muted);font-size:1rem}
.sofu-pathway-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.sofu-pathway-card{position:relative;min-height:470px;padding:24px;border-radius:30px;border:1px solid var(--sofu-line);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(31,14,70,.06);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sofu-pathway-card:hover{transform:translateY(-6px);box-shadow:0 32px 90px rgba(31,14,70,.12)}
.sofu-pathway-regional{background:linear-gradient(145deg,#fff 0,#f5f0ff 100%)}
.sofu-pathway-national{background:linear-gradient(155deg,#2a1450 0,#170b3c 78%);color:#fff;border-color:rgba(255,255,255,.12)}
.sofu-pathway-world{background:linear-gradient(155deg,#6f50ce 0,#3a227e 72%,#261147 100%);color:#fff;border-color:rgba(255,255,255,.14)}
.sofu-pathway-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}
.sofu-pathway-top>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(104,73,200,.1);color:var(--sofu-violet);font-size:.72rem;font-weight:900}
.sofu-pathway-national .sofu-pathway-top>span,.sofu-pathway-world .sofu-pathway-top>span{background:rgba(255,255,255,.1);color:#fff}
.sofu-pathway-top small{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sofu-muted);font-weight:900}
.sofu-pathway-national .sofu-pathway-top small,.sofu-pathway-world .sofu-pathway-top small{color:rgba(255,255,255,.55)}
.sofu-pathway-ghost{position:absolute;right:-14px;top:48px;font-size:11rem;line-height:.78;letter-spacing:-.1em;font-weight:900;color:rgba(104,73,200,.055);pointer-events:none}
.sofu-pathway-national .sofu-pathway-ghost,.sofu-pathway-world .sofu-pathway-ghost{color:rgba(255,255,255,.05)}
.sofu-pathway-body{position:relative;z-index:3;margin-top:auto;padding-top:120px}
.sofu-pathway-body h3{margin:0 0 16px;font-size:clamp(2rem,3vw,3.15rem);line-height:.91;letter-spacing:-.055em}
.sofu-pathway-regional .sofu-pathway-body h3{color:var(--sofu-violet)}
.sofu-pathway-body p{margin:0;color:var(--sofu-muted);font-size:.93rem;line-height:1.65}
.sofu-pathway-national .sofu-pathway-body p,.sofu-pathway-world .sofu-pathway-body p{color:rgba(255,255,255,.68)}
.sofu-pathway-meta{margin-top:20px;padding-top:15px;border-top:1px solid var(--sofu-line);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:var(--sofu-muted)}
.sofu-pathway-national .sofu-pathway-meta,.sofu-pathway-world .sofu-pathway-meta{border-color:rgba(255,255,255,.13);color:rgba(255,255,255,.62)}
.sofu-pathway-arrow{position:absolute;right:22px;bottom:20px;font-size:1.3rem;font-style:normal;color:var(--sofu-violet)}
.sofu-pathway-national .sofu-pathway-arrow,.sofu-pathway-world .sofu-pathway-arrow{color:#fff}

/* Next at SOFU is always part of the homepage. Empty simply means no public dates yet. */
.sofu-next-section{position:relative;padding:108px 0;background:linear-gradient(180deg,#f8f4ff 0,#fdfcff 100%);border-block:1px solid var(--sofu-line);overflow:hidden}
.sofu-next-section:before{content:"NEXT";position:absolute;right:-.04em;top:-.12em;font-size:clamp(9rem,24vw,24rem);font-weight:900;letter-spacing:-.08em;color:rgba(104,73,200,.025);line-height:1;pointer-events:none}
.sofu-next-heading{position:relative;z-index:2;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:24px;align-items:start;margin-bottom:42px}
.sofu-next-heading h2{margin:0;max-width:720px;font-size:clamp(2.3rem,4.8vw,4.6rem);line-height:.95;letter-spacing:-.058em}
.sofu-next-heading p{max-width:650px;margin:16px 0 0;color:var(--sofu-muted)}
.sofu-next-heading>.sofu-text-link{align-self:end;margin-bottom:6px}
.sofu-next-events{display:grid;grid-template-columns:1.16fr .92fr .92fr;gap:14px;position:relative;z-index:2}
.sofu-next-card{position:relative;min-height:330px;padding:24px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:.3s}
.sofu-next-card:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(104,73,200,.1);border-radius:50%;right:-120px;top:-100px}
.sofu-next-card:hover{transform:translateY(-5px);box-shadow:var(--sofu-shadow)}
.sofu-next-card.is-featured{background:var(--sofu-purple);color:#fff;border-color:var(--sofu-purple)}
.sofu-next-card.is-featured:before{border-color:rgba(255,255,255,.12)}
.sofu-next-brandmark{position:absolute;z-index:0;right:-34px;bottom:-34px;width:58%;height:72%;display:grid;place-items:center;pointer-events:none;transform:rotate(-6deg);transform-origin:center;transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .35s ease;opacity:.72}
.sofu-next-brandmark img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(34%) sepia(38%) saturate(1530%) hue-rotate(217deg) brightness(91%) contrast(91%);opacity:.085}
.sofu-next-card.is-featured .sofu-next-brandmark{width:66%;height:78%;right:-46px;bottom:-42px;transform:rotate(7deg)}
.sofu-next-card.is-featured .sofu-next-brandmark img{filter:brightness(0) invert(1);opacity:.105}
.sofu-next-card:hover .sofu-next-brandmark{transform:translate(-4px,-5px) scale(1.035) rotate(-3deg)}
.sofu-next-card.is-featured:hover .sofu-next-brandmark{transform:translate(-4px,-5px) scale(1.035) rotate(5deg)}
.sofu-next-date,.sofu-next-copy,.sofu-next-arrow{position:relative;z-index:2}

.sofu-next-date{display:flex;align-items:baseline;gap:7px;position:relative;z-index:2}
.sofu-next-date strong{font-size:clamp(3.5rem,6.5vw,6.5rem);line-height:.75;letter-spacing:-.07em}
.sofu-next-date span{font-size:.72rem;letter-spacing:.08em;font-weight:900}.sofu-next-date small{font-size:.62rem;color:var(--sofu-muted)}
.sofu-next-card.is-featured .sofu-next-date small{color:rgba(255,255,255,.55)}
.sofu-next-copy{margin-top:auto;position:relative;z-index:2}.sofu-next-copy .sofu-kicker{display:inline-block;margin-bottom:9px}
.sofu-next-card.is-featured .sofu-kicker{color:#cfbfff}
.sofu-next-copy h3{margin:0 0 8px;font-size:1.4rem;line-height:1.08;letter-spacing:-.025em}.sofu-next-copy p{margin:0;color:var(--sofu-muted);font-size:.85rem}
.sofu-next-card.is-featured .sofu-next-copy p{color:rgba(255,255,255,.64)}
.sofu-next-arrow{position:absolute;right:20px;bottom:18px;font-size:1.3rem}
.sofu-next-empty{position:relative;z-index:2;min-height:290px;padding:34px;border:1px solid var(--sofu-line);border-radius:30px;background:rgba(255,255,255,.82);display:grid;grid-template-columns:180px 1fr auto;gap:34px;align-items:center;overflow:hidden}
.sofu-next-empty:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(104,73,200,.09);border-radius:50%;right:-160px;top:-190px;pointer-events:none}
.sofu-next-empty-mark{position:relative;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--sofu-line);background:linear-gradient(145deg,#fff,#f3eeff)}
.sofu-next-empty-mark span{font-size:.7rem;letter-spacing:.17em;font-weight:900;color:var(--sofu-violet)}
.sofu-next-empty-mark i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--sofu-gold);right:16px;top:40px;box-shadow:0 0 0 7px rgba(185,107,50,.08)}
.sofu-next-empty h3{font-size:2rem;line-height:1.05;letter-spacing:-.04em;margin:0 0 10px}.sofu-next-empty p{margin:0;color:var(--sofu-muted);max-width:620px}
.sofu-next-empty>a{position:relative;z-index:2;font-weight:850;display:flex;align-items:center;gap:10px;white-space:nowrap}.sofu-next-empty>a span{color:var(--sofu-violet)}

/* Reframe the international section around the former hero phrase. */
.sofu-world-heading h2 em{font:inherit;font-style:normal;color:var(--sofu-violet)}
.sofu-world-heading p strong{color:var(--sofu-ink)}

@media (max-width:1023px){
  .sofu-vision-hero{min-height:auto!important;padding:calc(92px + var(--safe-top)) 0 58px!important;display:block!important}
  .sofu-vision-hero .sofu-hero-kicker{margin-bottom:22px!important}.sofu-vision-hero .sofu-hero-kicker i{display:none}
  .sofu-vision-grid{display:flex;flex-direction:column;gap:28px}
  .sofu-vision-title{font-size:clamp(3.1rem,12.8vw,5.2rem);line-height:.88;letter-spacing:-.058em;max-width:100%}
  .sofu-vision-title span{width:auto}
  .sofu-vision-lead{margin:24px 0 20px;font-size:.95rem;line-height:1.66;max-width:96%}
  .sofu-vision-copy .sofu-button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .sofu-method-line{margin-top:21px;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.sofu-method-line::-webkit-scrollbar{display:none}.sofu-method-line span{padding:7px 9px;white-space:nowrap;font-size:.59rem}.sofu-method-line i{font-size:.63rem}
  .sofu-vision-visual{width:calc(100% + 12px);margin-left:-6px;transform:none!important}
  .sofu-vision-image{border-radius:28px 28px 74px 28px;transform:none!important;box-shadow:0 24px 62px rgba(31,14,70,.15)}
  .sofu-vision-image.sofu-reveal,.sofu-vision-image.sofu-reveal.is-visible{transform:none!important}
  .sofu-vision-image img{aspect-ratio:1.16/1;object-position:center}
  .sofu-vision-orbit-a{width:88%;right:-40%;top:-20%}.sofu-vision-orbit-b{display:none}
  .sofu-vision-chip{padding:9px 11px;border-radius:13px}.sofu-vision-chip small{font-size:.46rem}.sofu-vision-chip strong{font-size:.61rem}.sofu-vision-chip-a{left:14px;top:auto;bottom:17px}.sofu-vision-chip-b{right:14px;top:16px;bottom:auto}
  .sofu-vision-footer{margin-top:28px;grid-template-columns:auto 1fr;gap:11px}.sofu-vision-footer span:last-child{display:none}

  .sofu-pathway-section{padding:78px 0 72px;overflow:visible}
  .sofu-pathway-section .sofu-journey-intro{grid-template-columns:34px 1fr;gap:14px;margin-bottom:32px}.sofu-pathway-section .sofu-section-number{width:34px;height:34px;font-size:.62rem}.sofu-pathway-section .sofu-journey-intro h2{font-size:2.65rem;line-height:.93}.sofu-pathway-section .sofu-journey-intro p{font-size:.9rem;line-height:1.65;margin-top:13px}
  .sofu-pathway-deck{display:block;position:relative}
  .sofu-pathway-card{position:sticky;top:82px;min-height:min(70svh,590px);margin-bottom:19vh;padding:22px;border-radius:30px;box-shadow:0 24px 65px rgba(31,14,70,.11)}
  .admin-bar .sofu-pathway-card{top:128px}
  .sofu-pathway-card:nth-child(1){z-index:1}.sofu-pathway-card:nth-child(2){z-index:2;top:92px}.sofu-pathway-card:nth-child(3){z-index:3;top:102px;margin-bottom:0}
  .admin-bar .sofu-pathway-card:nth-child(2){top:138px}.admin-bar .sofu-pathway-card:nth-child(3){top:148px}
  .sofu-pathway-ghost{font-size:10rem;top:54px;right:-5px}.sofu-pathway-body{padding-top:132px}.sofu-pathway-body h3{font-size:clamp(3rem,13vw,4.6rem);line-height:.86;margin-bottom:17px}.sofu-pathway-body p{font-size:.94rem;line-height:1.62;max-width:94%}.sofu-pathway-meta{font-size:.58rem;letter-spacing:.08em;padding-right:28px}
  .sofu-pathway-top>span{width:42px;height:42px}

  .sofu-next-section{padding:82px 0}.sofu-next-heading{grid-template-columns:34px 1fr;gap:14px;margin-bottom:30px}.sofu-next-heading .sofu-section-number{width:34px;height:34px}.sofu-next-heading h2{font-size:2.65rem;line-height:.92}.sofu-next-heading p{font-size:.9rem;line-height:1.62;margin-top:13px}.sofu-next-heading>.sofu-text-link{grid-column:2;font-size:.8rem;margin-top:2px;justify-self:start}
  .sofu-next-events{display:grid;grid-template-columns:1fr;gap:11px}.sofu-next-card{min-height:245px;border-radius:24px;padding:20px}.sofu-next-card.is-featured{min-height:300px}.sofu-next-date strong{font-size:4.6rem}.sofu-next-copy h3{font-size:1.32rem;max-width:88%}.sofu-next-brandmark{width:64%;height:68%;right:-28px;bottom:-24px}.sofu-next-card.is-featured .sofu-next-brandmark{width:76%;height:72%;right:-40px;bottom:-28px}
  .sofu-next-empty{min-height:360px;padding:26px;grid-template-columns:1fr;gap:24px;border-radius:28px}.sofu-next-empty-mark{width:112px;height:112px}.sofu-next-empty h3{font-size:2rem}.sofu-next-empty>a{white-space:normal;font-size:.85rem}

  .sofu-world-heading h2{font-size:2.9rem!important;line-height:.9!important}.sofu-world-heading p strong{display:block;margin-bottom:4px}
}

@media (max-width:479px){
  .sofu-vision-title{font-size:clamp(2.95rem,14.2vw,4.15rem)}
  .sofu-vision-copy .sofu-button-row{grid-template-columns:1fr!important}
  .sofu-pathway-card{min-height:68svh;margin-bottom:16vh}.sofu-pathway-body{padding-top:116px}.sofu-pathway-body h3{font-size:clamp(2.8rem,14vw,4rem)}
}

@media (min-width:1024px){
  .sofu-pathway-card:nth-child(2){transform:translateY(28px)}.sofu-pathway-card:nth-child(2):hover{transform:translateY(22px)}
  .sofu-pathway-card:nth-child(3){transform:translateY(56px)}.sofu-pathway-card:nth-child(3):hover{transform:translateY(50px)}
  .sofu-pathway-section{padding-bottom:174px}
}
@media (max-width:1023px){.sofu-vision-image img{aspect-ratio:1.16/1!important}}


/* =========================================================
   v0.5 — editorial vision hero: exact vision, mobile-first order
   ========================================================= */
.sofu-vision-grid{
  grid-template-areas:
    "heading visual"
    "support visual";
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  column-gap:clamp(42px,6vw,92px);
  row-gap:20px;
  align-items:center;
}
.sofu-vision-heading{grid-area:heading;position:relative;z-index:4;align-self:end;min-width:0}
.sofu-vision-support{grid-area:support;position:relative;z-index:4;align-self:start;min-width:0}
.sofu-vision-visual{grid-area:visual}
.sofu-vision-title{
  max-width:900px;
  font-size:clamp(4.5rem,7.35vw,7.75rem);
  line-height:.77;
  letter-spacing:-.07em;
  text-wrap:initial;
}
.sofu-vision-title .sofu-vision-line{display:block;white-space:nowrap;width:max-content;max-width:100%}
.sofu-vision-line-1{font-size:.83em;margin-left:0}
.sofu-vision-line-2{font-size:1.02em;margin-left:10%}
.sofu-vision-line-3{font-size:.80em;margin-left:18%}
.sofu-vision-line-4{font-size:.60em;margin-left:27%;letter-spacing:-.055em;margin-top:.12em}
.sofu-vision-title em{color:var(--sofu-violet)}
.sofu-vision-lead{margin-top:8px}
.sofu-vision-support .sofu-button-row{margin-top:0}

@media (max-width:1023px){
  .sofu-vision-grid{
    display:grid!important;
    grid-template-areas:
      "heading"
      "visual"
      "support";
    grid-template-columns:minmax(0,1fr)!important;
    gap:26px!important;
  }
  .sofu-vision-heading{grid-area:heading;width:100%}
  .sofu-vision-visual{grid-area:visual}
  .sofu-vision-support{grid-area:support;width:100%}
  .sofu-vision-title{
    font-size:clamp(3.45rem,14vw,5.5rem)!important;
    line-height:.78!important;
    letter-spacing:-.066em!important;
    width:100%;
    overflow:visible;
  }
  .sofu-vision-line-1{font-size:.80em;margin-left:0}
  .sofu-vision-line-2{font-size:1em;margin-left:7%}
  .sofu-vision-line-3{font-size:.75em;margin-left:13%}
  .sofu-vision-line-4{font-size:.52em;margin-left:20%;margin-top:.20em;letter-spacing:-.048em}
  .sofu-vision-lead{margin:2px 0 20px!important;max-width:100%!important}
  .sofu-vision-support .sofu-button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .sofu-method-line{margin-top:21px}
  .sofu-vision-footer{margin-top:28px}
}

@media (max-width:479px){
  .sofu-vision-title{font-size:clamp(3.2rem,14.6vw,4.65rem)!important}
  .sofu-vision-line-1{font-size:.78em}
  .sofu-vision-line-2{margin-left:6%}
  .sofu-vision-line-3{font-size:.72em;margin-left:10%}
  .sofu-vision-line-4{font-size:.49em;margin-left:17%;letter-spacing:-.045em}
  .sofu-vision-support .sofu-button-row{grid-template-columns:1fr!important}
}


/* =========================================================
   v0.6 — "Advancing scientific method" hero
   Short display proposition + formal vision beneath it.
   ========================================================= */

/* The shorter proposition restores the editorial stepped rhythm without
   forcing long institutional copy into display typography. */
.sofu-vision-title-advancing{
  max-width:760px;
  font-size:clamp(5.25rem,7.65vw,8.35rem);
  line-height:.77;
  letter-spacing:-.068em;
}
.sofu-vision-title-advancing .sofu-vision-line{
  display:block;
  white-space:nowrap;
  width:max-content;
  max-width:100%;
}
.sofu-vision-title-advancing .sofu-vision-line-1{
  font-size:.90em;
  margin-left:0;
}
.sofu-vision-title-advancing .sofu-vision-line-2{
  font-size:.92em;
  margin-left:11%;
}
.sofu-vision-title-advancing .sofu-vision-line-3{
  font-size:.94em;
  margin-left:23%;
  margin-top:.03em;
}
.sofu-vision-title-advancing em{
  color:var(--sofu-violet);
}
.sofu-vision-title-advancing em:after{
  left:2%;
  right:2%;
  opacity:.30;
}

/* Keep the proposition and image as two confident objects rather than
   allowing either to visually collide with the other. */
@media (min-width:1024px){
  .sofu-vision-grid{
    grid-template-columns:minmax(0,.94fr) minmax(430px,1.06fr);
    column-gap:clamp(52px,6.5vw,108px);
  }
  .sofu-vision-heading{align-self:end}
  .sofu-vision-visual{justify-self:end;max-width:650px}
  .sofu-vision-support{max-width:690px}
  .sofu-vision-lead{max-width:650px;margin-top:12px}
  .sofu-vision-lead strong{color:var(--sofu-ink);font-weight:760}
}

/* Mobile reading order stays: proposition -> image -> official vision/support. */
@media (max-width:1023px){
  .sofu-vision-title-advancing{
    width:100%;
    max-width:100%;
    font-size:clamp(4.25rem,15.2vw,6.25rem)!important;
    line-height:.76!important;
    letter-spacing:-.066em!important;
  }
  .sofu-vision-title-advancing .sofu-vision-line-1{
    font-size:.88em;
    margin-left:0;
  }
  .sofu-vision-title-advancing .sofu-vision-line-2{
    font-size:.88em;
    margin-left:7%;
  }
  .sofu-vision-title-advancing .sofu-vision-line-3{
    font-size:.90em;
    margin-left:16%;
    margin-top:.035em;
  }
  .sofu-vision-lead strong{
    display:block;
    margin-bottom:7px;
    color:var(--sofu-ink);
    font-weight:780;
    line-height:1.48;
  }
}

@media (max-width:479px){
  .sofu-vision-title-advancing{
    font-size:clamp(3.8rem,16vw,5.25rem)!important;
  }
  .sofu-vision-title-advancing .sofu-vision-line-2{margin-left:6%}
  .sofu-vision-title-advancing .sofu-vision-line-3{margin-left:13%}
}

/* Very narrow devices get smaller offsets instead of shrinking the type into
   conventional-looking centred text. */
@media (max-width:360px){
  .sofu-vision-title-advancing{
    font-size:clamp(3.35rem,15.8vw,4.25rem)!important;
  }
  .sofu-vision-title-advancing .sofu-vision-line-2{margin-left:4%}
  .sofu-vision-title-advancing .sofu-vision-line-3{margin-left:9%}
}

/* =========================================================
   v0.7 — editorial media pass
   Photography augments the established text/card system without
   turning the homepage into a conventional gallery.
   ========================================================= */

/* Pathway cards: keep the strong typography, add one disciplined image window. */
.sofu-pathway-card{min-height:548px}
.sofu-pathway-media{position:relative;z-index:2;height:174px;margin:18px 0 0;border-radius:22px;overflow:hidden;border:1px solid rgba(104,73,200,.10);background:#eee9f8}
.sofu-pathway-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.sofu-pathway-card:hover .sofu-pathway-media img{transform:scale(1.035)}
.sofu-pathway-media:after{content:"";position:absolute;inset:auto 0 0;height:52%;background:linear-gradient(180deg,transparent,rgba(17,8,38,.42));pointer-events:none}
.sofu-pathway-media figcaption{position:absolute;z-index:2;left:12px;bottom:10px;margin:0;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);color:var(--sofu-ink);font-size:.54rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.sofu-pathway-national .sofu-pathway-media,.sofu-pathway-world .sofu-pathway-media{border-color:rgba(255,255,255,.13)}
.sofu-pathway-ghost{top:245px;font-size:8.6rem}
.sofu-pathway-body{padding-top:28px}

/* UNSO: a photographic editorial ribbon inside the dark flagship scene. */
.sofu-unso-media-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.34fr) minmax(280px,.66fr);gap:14px;margin-top:58px}
.sofu-unso-media-grid figure{position:relative;margin:0;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05)}
.sofu-unso-media-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.sofu-unso-media-grid figure:hover img{transform:scale(1.025)}
.sofu-unso-media-main{height:470px}
.sofu-unso-media-stack{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.sofu-unso-media-stack figure{min-height:228px}
.sofu-unso-media-grid figure:after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(180deg,transparent,rgba(12,5,31,.78));pointer-events:none}
.sofu-unso-media-grid figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:19px;display:flex;flex-direction:column;gap:4px;color:#fff}
.sofu-unso-media-grid figcaption small,.sofu-unso-media-grid figcaption span{font-size:.57rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#d2c5ff}
.sofu-unso-media-grid figcaption strong{font-size:1.14rem;letter-spacing:-.025em}
.sofu-unso-media-grid + .sofu-unso-edition-card{margin-top:18px}

/* International programmes: one archive portrait per programme, with the
   acronym remaining the dominant graphic element. Featured images in WP
   automatically replace these fallbacks later. */
.sofu-programme-editorial-media{position:absolute;z-index:1;right:0;top:0;width:46%;height:54%;margin:0;overflow:hidden;border-radius:0 28px 0 42px;background:var(--sofu-lav)}
.sofu-programme-editorial-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.42),transparent 28%)}
.sofu-programme-editorial-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.sofu-programme-editorial:hover .sofu-programme-editorial-media img{transform:scale(1.045)}
.sofu-programme-card-index,.sofu-programme-editorial-acr,.sofu-programme-editorial-body,.sofu-programme-editorial-arrow{position:relative;z-index:2}
.sofu-programme-editorial-acr{max-width:62%;text-shadow:0 1px 0 rgba(255,255,255,.6)}

/* Programme pages: let the latest-edition card carry an image without
   turning the whole hero into a photo background. */
.sofu-programme-latest.has-media{position:relative;overflow:hidden;padding-bottom:190px}
.sofu-programme-latest.has-media>*:not(.sofu-programme-latest-media){position:relative;z-index:2}
.sofu-programme-latest-media{position:absolute;z-index:1;left:0;right:0;bottom:0;height:170px;margin:0;overflow:hidden;border-top:1px solid rgba(255,255,255,.13)}
.sofu-programme-latest-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,17,71,.08),rgba(38,17,71,.28))}
.sofu-programme-latest-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%}
.sofu-programme-latest.has-media a{position:absolute!important;z-index:3;left:28px;right:28px;bottom:18px;margin:0;padding-top:13px;text-shadow:0 1px 12px rgba(17,8,38,.55)}

/* UNSO programme page: a two-frame bridge makes the change from months of
   preparation to tournament-day argument visible before the Science Fight. */
.sofu-unso-photo-bridge{padding:0 0 96px;background:#fff;overflow:hidden}
.sofu-unso-photo-bridge-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-left:66px}
.sofu-unso-photo-bridge figure{position:relative;margin:0;height:390px;border-radius:30px;overflow:hidden;border:1px solid var(--sofu-line);background:var(--sofu-lav)}
.sofu-unso-photo-bridge figure.is-national{transform:translateY(44px)}
.sofu-unso-photo-bridge img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.sofu-unso-photo-bridge figure:hover img{transform:scale(1.025)}
.sofu-unso-photo-bridge figure:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(18,8,40,.78))}
.sofu-unso-photo-bridge figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}
.sofu-unso-photo-bridge figcaption small{display:block;margin-bottom:6px;font-size:.58rem;text-transform:uppercase;letter-spacing:.15em;color:#d4c8ff;font-weight:900}
.sofu-unso-photo-bridge figcaption strong{display:block;max-width:460px;font-size:1.25rem;line-height:1.08;letter-spacing:-.025em}

@media (max-width:1023px){
  .sofu-pathway-card{min-height:min(74svh,640px);margin-bottom:14vh}
  .sofu-pathway-media{height:205px;margin-top:16px;border-radius:20px}
  .sofu-pathway-ghost{top:274px;font-size:8rem}
  .sofu-pathway-body{padding-top:24px}
  .sofu-pathway-body h3{font-size:clamp(2.75rem,12.6vw,4rem)!important}

  .sofu-unso-media-grid{grid-template-columns:1fr;gap:10px;margin-top:40px}
  .sofu-unso-media-main{height:300px}
  .sofu-unso-media-stack{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:10px}
  .sofu-unso-media-stack figure{min-height:168px}
  .sofu-unso-media-grid figure{border-radius:22px}
  .sofu-unso-media-grid figcaption{left:15px;right:15px;bottom:14px}
  .sofu-unso-media-grid figcaption strong{font-size:.93rem}

  .sofu-programme-editorial-media{width:48%;height:51%;border-radius:0 26px 0 34px}
  .sofu-programme-editorial-acr{max-width:64%;position:relative;z-index:2}

  .sofu-programme-latest.has-media{padding-bottom:174px;min-height:390px}
  .sofu-programme-latest-media{height:156px}
  .sofu-programme-latest.has-media a{left:22px;right:22px;bottom:16px}

  .sofu-unso-photo-bridge{padding:0 0 72px}
  .sofu-unso-photo-bridge-grid{grid-template-columns:1fr 1fr;gap:9px;margin-left:0}
  .sofu-unso-photo-bridge figure{height:270px;border-radius:22px}
  .sofu-unso-photo-bridge figure.is-national{transform:translateY(24px)}
  .sofu-unso-photo-bridge figcaption{left:15px;right:15px;bottom:14px}
  .sofu-unso-photo-bridge figcaption strong{font-size:.92rem}
}

@media (max-width:479px){
  .sofu-pathway-card{min-height:660px;margin-bottom:12vh}
  .sofu-pathway-media{height:196px}
  .sofu-pathway-ghost{top:265px}
  .sofu-unso-media-main{height:270px}
  .sofu-unso-media-stack figure{min-height:150px}
  .sofu-programme-editorial-media{width:50%;height:48%}
  .sofu-unso-photo-bridge-grid{grid-template-columns:1fr}
  .sofu-unso-photo-bridge figure{height:270px}
  .sofu-unso-photo-bridge figure.is-national{transform:none}
}

/* =========================================================
   SOFU Foundation v0.8.0 — Definitive UNSO programme pass
   ========================================================= */

/* Current/latest season: one compact status surface instead of another
   conventional programme card. It is intentionally editorial and data-led. */
.sofu-unso-season-strip{padding:0 0 105px;background:#fff}
.sofu-unso-season-shell{display:grid;grid-template-columns:.88fr 1.12fr;gap:14px;padding:14px;border:1px solid var(--sofu-line);border-radius:34px;background:linear-gradient(145deg,#faf8ff,#fff);box-shadow:0 28px 80px rgba(38,17,71,.07)}
.sofu-unso-season-intro{position:relative;overflow:hidden;min-height:390px;padding:34px;border-radius:26px;background:var(--sofu-purple);color:#fff;display:flex;flex-direction:column;align-items:flex-start}
.sofu-unso-season-intro:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-190px;top:-170px}
.sofu-unso-season-intro .sofu-kicker{color:#cfbfff;position:relative;z-index:1}
.sofu-unso-season-intro>strong{position:relative;z-index:1;font-size:clamp(5.4rem,10vw,8rem);line-height:.74;letter-spacing:-.08em;margin:34px 0 20px;color:#fff}
.sofu-unso-season-intro h2{position:relative;z-index:1;margin:0;max-width:460px;font-size:1.35rem;line-height:1.08;letter-spacing:-.035em}
.sofu-status-pill{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);font-size:.68rem;font-weight:850}
.sofu-status-pill i{width:7px;height:7px;border-radius:50%;background:var(--sofu-gold);box-shadow:0 0 0 5px rgba(194,116,45,.13)}
.sofu-unso-season-intro>a{position:relative;z-index:1;margin-top:auto;display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-weight:850}
.sofu-unso-season-stages{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sofu-unso-season-stage{position:relative;overflow:hidden;min-height:390px;padding:28px;border-radius:26px;border:1px solid var(--sofu-line);background:#fff;display:flex;flex-direction:column}
.sofu-unso-season-stage:before{content:"";position:absolute;width:240px;height:240px;border:1px solid #e6dff7;border-radius:50%;right:-130px;top:-110px}
.sofu-unso-season-stage>span{position:relative;z-index:1;font-size:4.6rem;line-height:.8;letter-spacing:-.07em;color:#e5ddf8;font-weight:800}
.sofu-unso-season-stage small{position:relative;z-index:1;margin-top:auto;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:var(--sofu-violet);font-weight:900}
.sofu-unso-season-stage h3{position:relative;z-index:1;margin:10px 0 5px;font-size:1.55rem;line-height:1.03;letter-spacing:-.04em}
.sofu-unso-season-stage p{position:relative;z-index:1;margin:0;color:var(--sofu-muted);font-size:.85rem}
.sofu-unso-season-stage>a{position:absolute;z-index:2;right:24px;bottom:24px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--sofu-lav);color:var(--sofu-violet);font-size:1.15rem;font-weight:900;transition:.25s}
.sofu-unso-season-stage>a:hover{transform:translate(2px,-2px);background:var(--sofu-purple);color:#fff}
.sofu-unso-season-stage:first-child{background:linear-gradient(155deg,#fff,#f8f3ff)}
.sofu-unso-season-stage:last-child{background:linear-gradient(155deg,#fff,#fff9f4)}

/* Latest National Tournament: a compact championship preview, not a duplicate
   of the Stage result page. */
.sofu-unso-result-feature{padding:110px 0;background:linear-gradient(180deg,#f8f5ff,#fff);border-block:1px solid var(--sofu-line)}
.sofu-unso-result-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:30px}
.sofu-unso-result-heading>div{max-width:680px}
.sofu-unso-result-heading h2{margin:10px 0 0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.94;letter-spacing:-.06em}
.sofu-unso-result-heading>a{font-size:.8rem;font-weight:850;border-bottom:1px solid #c7b8eb;padding-bottom:4px;white-space:nowrap}
.sofu-unso-podium-feature{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:12px}
.sofu-unso-podium-feature article{position:relative;overflow:hidden;min-height:320px;padding:26px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;display:flex;flex-direction:column}
.sofu-unso-podium-feature article:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #e9e2f7;border-radius:50%;right:-135px;bottom:-150px}
.sofu-unso-podium-feature article.is-champion{background:var(--sofu-purple);border-color:var(--sofu-purple);color:#fff}
.sofu-unso-podium-feature article.is-champion:after{border-color:rgba(255,255,255,.11)}
.sofu-unso-podium-feature small{position:relative;z-index:1;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-violet);font-weight:900}
.sofu-unso-podium-feature .is-champion small{color:#cfbfff}
.sofu-unso-podium-feature span{position:relative;z-index:1;margin-top:42px;font-size:5rem;line-height:.75;letter-spacing:-.08em;color:#e1d8f5;font-weight:800}
.sofu-unso-podium-feature .is-champion span{color:rgba(255,255,255,.16)}
.sofu-unso-podium-feature h3{position:relative;z-index:1;margin:auto 0 0;max-width:420px;font-size:1.35rem;line-height:1.08;letter-spacing:-.035em}
.sofu-unso-beyond-podium{display:grid;grid-template-columns:.72fr 1.28fr;gap:14px;margin-top:14px}
.sofu-unso-beyond-copy{padding:28px;border-radius:26px;background:#fff;border:1px solid var(--sofu-line)}
.sofu-unso-beyond-copy h3{margin:10px 0;font-size:1.9rem;line-height:1.02;letter-spacing:-.045em}
.sofu-unso-beyond-copy p{margin:0;color:var(--sofu-muted);font-size:.92rem}
.sofu-unso-recognition-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sofu-unso-recognition-preview>div{min-height:112px;padding:18px;border-radius:20px;border:1px solid var(--sofu-line);background:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.sofu-unso-recognition-preview small{font-size:.57rem;text-transform:uppercase;letter-spacing:.13em;color:var(--sofu-violet);font-weight:900}
.sofu-unso-recognition-preview strong{margin-top:5px;font-size:.94rem;line-height:1.1}

/* Hall of Champions: archival, tactile and horizontal on small screens. */
.sofu-hall-champions{padding:110px 0;background:#fff}
.sofu-hall-heading{display:grid;grid-template-columns:42px 1fr;gap:24px;max-width:860px;margin-bottom:42px}
.sofu-hall-heading h2{margin:0;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.94;letter-spacing:-.06em}
.sofu-hall-heading p{max-width:720px;color:var(--sofu-muted)}
.sofu-champion-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}
.sofu-champion-rail::-webkit-scrollbar{display:none}
.sofu-champion-card{position:relative;overflow:hidden;scroll-snap-align:start;flex:0 0 calc(33.333% - 8px);min-height:390px;padding:26px;border-radius:28px;background:linear-gradient(150deg,#261147,#170b3c);color:#fff;display:flex;flex-direction:column}
.sofu-champion-card:before{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-150px;top:-145px}
.sofu-champion-card small{position:relative;z-index:1;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:#cabaff;font-weight:900}
.sofu-champion-card>strong{position:relative;z-index:1;margin-top:36px;font-size:5.2rem;line-height:.78;letter-spacing:-.08em;color:#b8a6ff}
.sofu-champion-card h3{position:relative;z-index:1;margin:auto 0 22px;font-size:1.45rem;line-height:1.08;letter-spacing:-.035em;max-width:360px}
.sofu-champion-card>span{position:relative;z-index:1;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);font-size:.76rem;font-weight:850}
.sofu-champion-card:nth-child(even){background:linear-gradient(150deg,#fff,#f4efff);color:var(--sofu-ink);border:1px solid var(--sofu-line)}
.sofu-champion-card:nth-child(even) small{color:var(--sofu-violet)}
.sofu-champion-card:nth-child(even)>strong{color:var(--sofu-violet)}
.sofu-champion-card:nth-child(even)>span{border-color:var(--sofu-line)}
.sofu-champion-card:nth-child(even):before{border-color:#ddd4f2}

/* Make UNSO's existing journey read as one deliberate chapter after the
   season snapshot. */
.sofu-programme-hero.is-unso + .sofu-unso-season-strip{margin-top:-1px}
.sofu-unso-season-strip + .sofu-unso-mobile-story{padding-top:95px}

@media(max-width:1023px){
  .sofu-unso-season-strip{padding:0 0 76px}
  .sofu-unso-season-shell{grid-template-columns:1fr;padding:10px;border-radius:28px}
  .sofu-unso-season-intro{min-height:360px;padding:25px;border-radius:22px}
  .sofu-unso-season-intro>strong{font-size:6.5rem;margin-top:28px}
  .sofu-unso-season-stages{grid-template-columns:1fr 1fr;gap:9px}
  .sofu-unso-season-stage{min-height:275px;padding:19px;border-radius:22px}
  .sofu-unso-season-stage>span{font-size:3.8rem}
  .sofu-unso-season-stage h3{font-size:1.2rem;padding-right:25px}
  .sofu-unso-season-stage>a{right:16px;bottom:16px;width:36px;height:36px}

  .sofu-unso-result-feature{padding:82px 0}
  .sofu-unso-result-heading{display:block;margin-bottom:22px}
  .sofu-unso-result-heading>a{display:inline-block;margin-top:18px;white-space:normal}
  .sofu-unso-podium-feature{grid-template-columns:1fr 1fr}
  .sofu-unso-podium-feature article{min-height:260px;padding:20px;border-radius:22px}
  .sofu-unso-podium-feature article.is-champion{grid-column:1/-1;min-height:300px}
  .sofu-unso-podium-feature span{font-size:4.2rem;margin-top:32px}
  .sofu-unso-beyond-podium{grid-template-columns:1fr;margin-top:10px}
  .sofu-unso-recognition-preview{grid-template-columns:1fr 1fr}

  .sofu-hall-champions{padding:82px 0}
  .sofu-hall-heading{grid-template-columns:34px 1fr;gap:14px;margin-bottom:28px}
  .sofu-hall-heading .sofu-section-number{width:34px;height:34px}
  .sofu-hall-heading h2{font-size:2.8rem}
  .sofu-champion-rail{margin-right:-14px;padding-right:14px}
  .sofu-champion-card{flex-basis:78%;min-height:380px;border-radius:24px}
}

@media(max-width:479px){
  .sofu-unso-season-stages{grid-template-columns:1fr}
  .sofu-unso-season-stage{min-height:220px}
  .sofu-unso-season-stage>span{font-size:3.4rem}
  .sofu-unso-podium-feature{grid-template-columns:1fr}
  .sofu-unso-podium-feature article.is-champion{grid-column:auto}
  .sofu-unso-podium-feature article{min-height:250px}
  .sofu-unso-recognition-preview{grid-template-columns:1fr}
  .sofu-champion-card{flex-basis:86%;min-height:360px}
}

/* UNSO Edition pages inherit the same editorial language as the flagship page. */
.sofu-edition-hero .sofu-page-hero-aside.has-edition-photo{position:relative;overflow:hidden;min-height:420px;padding:0;background:var(--sofu-purple)}
.sofu-edition-hero .sofu-page-hero-aside.has-edition-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sofu-edition-hero .sofu-page-hero-aside.has-edition-photo:after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(180deg,transparent,rgba(20,8,43,.84))}
.sofu-edition-aside-copy{position:relative;z-index:2;margin-top:auto;width:100%;padding:28px;color:#fff}
.sofu-edition-aside-copy>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#d2c5ff;font-weight:900}
.sofu-edition-aside-copy>strong{display:block;font-size:4.5rem;line-height:.78;letter-spacing:-.08em;margin:14px 0 12px}
.sofu-edition-aside-copy p{margin:0;color:#eee7ff}
.sofu-edition-journey{padding:105px 0;background:#fff}
.sofu-edition-journey-head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end;margin-bottom:30px}
.sofu-edition-journey-head h2{margin:8px 0 0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.94;letter-spacing:-.06em}
.sofu-edition-journey-head>p{margin:0;color:var(--sofu-muted);font-size:1.02rem}
.sofu-edition-stage-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sofu-edition-stage-panel{position:relative;overflow:hidden;min-height:390px;padding:28px;border-radius:28px;border:1px solid var(--sofu-line);background:linear-gradient(150deg,#fff,#f8f4ff);display:flex;flex-direction:column}
.sofu-edition-stage-panel:nth-child(2){background:linear-gradient(150deg,#fff,#fff9f4)}
.sofu-edition-stage-panel>span{font-size:5rem;line-height:.8;letter-spacing:-.08em;color:#e3dbf7;font-weight:800}
.sofu-edition-stage-panel small{margin-top:auto;font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-violet);font-weight:900}
.sofu-edition-stage-panel h3{margin:9px 0;font-size:2rem;line-height:1;letter-spacing:-.045em}
.sofu-edition-stage-panel p{max-width:580px;color:var(--sofu-muted);font-size:.93rem}
.sofu-edition-stage-panel a{margin-top:18px;font-weight:850}
.sofu-edition-regional-summary{padding:0 0 105px;background:#fff}
.sofu-edition-regional-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;align-items:stretch}
.sofu-edition-regional-grid>div:first-child{padding:32px;border-radius:28px;background:var(--sofu-purple);color:#fff}
.sofu-edition-regional-grid>div:first-child .sofu-kicker{color:#cfbfff}
.sofu-edition-regional-grid h2{margin:12px 0;font-size:2.4rem;line-height:.96;letter-spacing:-.05em}
.sofu-edition-regional-grid>div:first-child p{color:#d1c7e3}
.sofu-edition-score-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sofu-edition-score-mini>div{min-height:220px;padding:22px;border-radius:24px;border:1px solid var(--sofu-line);background:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.sofu-edition-score-mini strong{font-size:3.8rem;line-height:.8;letter-spacing:-.07em;color:var(--sofu-violet)}
.sofu-edition-score-mini span{margin-top:15px;font-size:.76rem;font-weight:800;color:var(--sofu-muted)}
.sofu-edition-score-mini .is-cut{background:var(--sofu-lav)}
.sofu-edition-score-mini .is-cut strong{font-size:2.4rem}
.sofu-edition-champion-banner{padding:0 0 105px;background:#fff}
.sofu-edition-champion-link{position:relative;overflow:hidden;min-height:310px;padding:32px;border-radius:30px;background:linear-gradient(145deg,#261147,#170b3c);color:#fff;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:end}
.sofu-edition-champion-link:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-180px;top:-190px}
.sofu-edition-champion-link .sofu-kicker{color:#cfbfff}
.sofu-edition-champion-link h2{position:relative;z-index:1;margin:10px 0 0;font-size:clamp(2.3rem,4vw,4rem);line-height:.98;letter-spacing:-.05em}
.sofu-edition-champion-link>strong{position:relative;z-index:1;font-size:7rem;line-height:.7;letter-spacing:-.08em;color:#b9a7ff;opacity:.32}
.sofu-edition-champion-link>i{position:relative;z-index:1;font-style:normal;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--sofu-purple);font-size:1.15rem;font-weight:900}

@media(max-width:1023px){
  .sofu-edition-hero .sofu-page-hero-aside.has-edition-photo{min-height:380px}
  .sofu-edition-journey{padding:82px 0}
  .sofu-edition-journey-head{grid-template-columns:1fr;gap:16px;margin-bottom:24px}
  .sofu-edition-journey-head h2{font-size:3rem}
  .sofu-edition-stage-pair{grid-template-columns:1fr}
  .sofu-edition-stage-panel{min-height:330px;border-radius:24px}
  .sofu-edition-regional-summary,.sofu-edition-champion-banner{padding-bottom:82px}
  .sofu-edition-regional-grid{grid-template-columns:1fr}
  .sofu-edition-score-mini{grid-template-columns:1fr 1fr}
  .sofu-edition-score-mini .is-cut{grid-column:1/-1}
  .sofu-edition-champion-link{grid-template-columns:1fr auto;min-height:330px;border-radius:25px}
  .sofu-edition-champion-link>strong{position:absolute;right:22px;top:40px;font-size:8rem}
  .sofu-edition-champion-link>i{grid-column:2;align-self:end}
}
@media(max-width:479px){
  .sofu-edition-score-mini{grid-template-columns:1fr}
  .sofu-edition-score-mini .is-cut{grid-column:auto}
  .sofu-edition-score-mini>div{min-height:180px}
  .sofu-edition-champion-link{grid-template-columns:1fr;gap:18px;min-height:350px}
  .sofu-edition-champion-link>i{grid-column:auto}
}

/* =========================================================
   v0.9 — International Olympiad experience
   ========================================================= */
.sofu-intl-manifesto,.sofu-intl-latest,.sofu-intl-archive,.sofu-intl-edition-story,.sofu-intl-delegation-section,.sofu-intl-recognition,.sofu-team-uganda-hero,.sofu-team-roster-section{--intl-accent:#6b49d7;--intl-soft:#f1ecff;--intl-ink:#180b3d}
.is-ijso{--intl-accent:#e56b4f;--intl-soft:#fff0ec}
.is-iynt{--intl-accent:#278f7a;--intl-soft:#e9f8f4}
.is-iypt{--intl-accent:#3f63d8;--intl-soft:#edf1ff}
.is-imc{--intl-accent:#b67b1e;--intl-soft:#fff5df}

.sofu-intl-manifesto{padding:110px 0;background:#fff;overflow:hidden}
.sofu-intl-manifesto-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:70px;align-items:center}
.sofu-intl-manifesto-copy{position:relative}
.sofu-intl-manifesto-copy>.sofu-section-number{position:absolute;right:0;top:-20px;font-size:.72rem;font-weight:900;letter-spacing:.18em;color:var(--intl-accent)}
.sofu-intl-manifesto-copy .sofu-eyebrow{color:var(--intl-accent)}
.sofu-intl-manifesto-copy h2{max-width:780px;margin:17px 0 22px;font-size:clamp(3.8rem,6.3vw,6.8rem);line-height:.88;letter-spacing:-.075em;color:var(--intl-ink)}
.sofu-intl-manifesto-copy>p{max-width:680px;font-size:1.08rem;line-height:1.75;color:var(--sofu-muted)}
.sofu-intl-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:46px}
.sofu-intl-principles article{min-height:235px;padding:20px;border:1px solid var(--sofu-line);border-radius:24px;background:linear-gradient(155deg,#fff,var(--intl-soft));display:flex;flex-direction:column;justify-content:flex-end}
.sofu-intl-principles article>span{margin-bottom:auto;font-size:.65rem;font-weight:900;letter-spacing:.16em;color:var(--intl-accent)}
.sofu-intl-principles strong{font-size:1.45rem;letter-spacing:-.035em;color:var(--intl-ink)}
.sofu-intl-principles p{margin:9px 0 0;font-size:.82rem;line-height:1.5;color:var(--sofu-muted)}
.sofu-intl-manifesto-media{position:relative;min-height:650px;margin:0;border-radius:36px;overflow:hidden;background:var(--intl-soft);box-shadow:0 30px 80px rgba(34,17,70,.12)}
.sofu-intl-manifesto-media:before{content:"";position:absolute;z-index:2;inset:18px;border:1px solid rgba(255,255,255,.45);border-radius:27px;pointer-events:none}
.sofu-intl-manifesto-media img{width:100%;height:100%;min-height:650px;object-fit:cover;object-position:center top}
.sofu-intl-manifesto-media figcaption{position:absolute;z-index:3;left:22px;right:22px;bottom:22px;padding:17px 18px;border-radius:19px;background:rgba(21,9,55,.88);backdrop-filter:blur(14px);color:#fff;display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:end}
.sofu-intl-manifesto-media figcaption small{grid-column:1;font-size:.62rem;text-transform:uppercase;letter-spacing:.17em;color:#d9d0ff}
.sofu-intl-manifesto-media figcaption strong{grid-column:1;font-size:2.1rem;line-height:.9;letter-spacing:-.06em}
.sofu-intl-manifesto-media figcaption span{grid-column:2;grid-row:1/3;align-self:center;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;color:#fff9}

.sofu-intl-latest{padding:0 0 110px;background:#fff}
.sofu-intl-latest-shell{position:relative;overflow:hidden;padding:30px;border-radius:34px;background:linear-gradient(145deg,#1b0b42,#0f0728);color:#fff;display:grid;grid-template-columns:.58fr 1fr .72fr;gap:30px;min-height:490px}
.sofu-intl-latest-shell:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-180px;bottom:-300px}
.sofu-intl-latest-shell:after{content:"";position:absolute;width:340px;height:340px;background:var(--intl-accent);filter:blur(120px);opacity:.17;border-radius:50%;right:-60px;top:-180px}
.sofu-intl-latest-year,.sofu-intl-latest-copy,.sofu-intl-latest-roster{position:relative;z-index:1}
.sofu-intl-latest-year{padding:16px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.12)}
.sofu-intl-latest-year small{font-size:.63rem;text-transform:uppercase;letter-spacing:.17em;color:#fff9;font-weight:850}
.sofu-intl-latest-year strong{font-size:clamp(5.8rem,10vw,10rem);line-height:.72;letter-spacing:-.09em;color:#fff}
.sofu-intl-latest-year span{width:max-content;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#fffbc}
.sofu-intl-latest-copy{padding:25px 0;align-self:center}
.sofu-intl-latest-copy .sofu-kicker{color:#cabdff}
.sofu-intl-latest-copy h2{margin:13px 0 16px;max-width:600px;font-size:clamp(2.6rem,4vw,4.4rem);line-height:.94;letter-spacing:-.06em}
.sofu-intl-latest-copy>p{max-width:600px;color:#d8d0e8;line-height:1.65}
.sofu-intl-result-line{font-size:1.15rem!important;color:#fff!important;font-weight:750}
.sofu-intl-latest-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:27px}
.sofu-button-light{background:#fff!important;color:var(--sofu-purple)!important}
.sofu-text-link-light{font-size:.76rem;font-weight:850;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:4px}
.sofu-intl-latest-roster{align-self:stretch;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:25px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.sofu-intl-roster-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.1)}
.sofu-intl-roster-head span{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:#fff8}
.sofu-intl-roster-head strong{font-size:2.7rem;line-height:.8;color:#fff}
.sofu-intl-name-stack{margin-top:9px}
.sofu-intl-name-stack>div{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.sofu-intl-name-stack>div>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--intl-accent);font-size:.67rem;font-weight:900;color:#fff}
.sofu-intl-name-stack p{margin:0;min-width:0}
.sofu-intl-name-stack strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:#fff}
.sofu-intl-name-stack small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.61rem;color:#fff7}
.sofu-intl-roster-empty{font-size:.76rem;line-height:1.6;color:#fff8}

.sofu-intl-archive{background:linear-gradient(180deg,#fbfaff,#fff);padding-top:105px}
.sofu-intl-archive .sofu-editions-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:28px}
.sofu-archive-guide{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--sofu-line);border-radius:999px;background:#fff;white-space:nowrap}
.sofu-archive-guide>span{padding:0 8px;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted)}
.sofu-archive-guide button{width:34px;height:34px;border:0;border-radius:50%;background:var(--sofu-lav);color:var(--sofu-purple);cursor:pointer;font-weight:900}
.sofu-archive-guide button:disabled{opacity:.35;cursor:default}
.sofu-archive-guide>b{font-size:.66rem;color:var(--sofu-muted)}
.sofu-archive-guide em{font-style:normal;color:var(--intl-accent)}
.sofu-intl-year-rail{gap:16px;padding-bottom:18px}
.sofu-intl-year-card{position:relative;flex:0 0 min(560px,78vw);min-height:510px;padding:0!important;overflow:hidden;border-radius:30px;background:#fff}
.sofu-intl-year-card figure{position:absolute;inset:0;margin:0}
.sofu-intl-year-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,7,49,.06) 15%,rgba(19,7,49,.91) 88%)}
.sofu-intl-year-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.sofu-intl-year-card:hover figure img{transform:scale(1.035)}
.sofu-intl-year-card .sofu-year-card-number{position:absolute;z-index:2;top:24px;left:24px;color:#fff;font-size:4.5rem;text-shadow:0 2px 24px #170b3c66}
.sofu-intl-year-card>div{position:absolute;z-index:2;left:24px;right:70px;bottom:27px;color:#fff}
.sofu-intl-year-card>div small{color:#dcd4ef}
.sofu-intl-year-card>div h3{color:#fff;font-size:1.7rem}
.sofu-intl-year-card>div p{color:#fffbd;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sofu-intl-year-card>i{z-index:3;right:24px;bottom:25px;background:#fff;color:var(--sofu-purple)}
.sofu-intl-year-dots{margin-top:14px;justify-content:flex-start}

/* International edition */
.sofu-intl-edition-story{padding:100px 0 54px;background:#fff}
.sofu-intl-edition-outcome{min-height:330px;padding:30px;border-radius:32px;background:var(--intl-soft);display:grid;grid-template-columns:.45fr 1fr auto;gap:35px;align-items:end;border:1px solid color-mix(in srgb,var(--intl-accent) 18%,transparent)}
.sofu-intl-outcome-index{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid color-mix(in srgb,var(--intl-accent) 22%,transparent);padding-right:26px}
.sofu-intl-outcome-index span{font-size:.65rem;font-weight:900;letter-spacing:.18em;color:var(--intl-accent)}
.sofu-intl-outcome-index strong{font-size:clamp(5.4rem,9vw,9rem);line-height:.72;letter-spacing:-.085em;color:var(--intl-ink)}
.sofu-intl-outcome-copy .sofu-kicker{color:var(--intl-accent)}
.sofu-intl-outcome-copy h2{margin:10px 0 14px;font-size:clamp(2.3rem,4vw,4.4rem);line-height:.94;letter-spacing:-.06em;color:var(--intl-ink)}
.sofu-intl-outcome-copy p{max-width:690px;line-height:1.65;color:var(--sofu-muted)}
.sofu-intl-edition-outcome>a{align-self:end;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:transparent;background:var(--intl-ink);font-size:0}
.sofu-intl-edition-outcome>a span{color:#fff;font-size:1rem}
.sofu-intl-edition-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.sofu-intl-edition-facts>div{min-height:180px;padding:21px;border:1px solid var(--sofu-line);border-radius:23px;display:flex;flex-direction:column;justify-content:flex-end;background:#fff}
.sofu-intl-edition-facts small{margin-bottom:auto;font-size:.61rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sofu-muted);font-weight:850}
.sofu-intl-edition-facts strong{font-size:3rem;line-height:.9;letter-spacing:-.06em;color:var(--intl-accent)}
.sofu-intl-edition-facts span{margin-top:9px;font-size:.76rem;color:var(--sofu-muted)}

.sofu-intl-delegation-section{padding:90px 0 105px;background:#fbfaff;overflow:hidden}
.sofu-intl-delegation-heading{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end;margin-bottom:32px}
.sofu-intl-delegation-heading>div{position:relative;padding-left:72px}
.sofu-intl-delegation-heading .sofu-section-number{position:absolute;left:0;top:5px;color:var(--intl-accent)}
.sofu-intl-delegation-heading h2{margin:8px 0 10px;font-size:clamp(3rem,5vw,5.3rem);line-height:.9;letter-spacing:-.065em;color:var(--intl-ink)}
.sofu-intl-delegation-heading p{max-width:650px;color:var(--sofu-muted)}
.sofu-intl-delegation-heading>a{font-size:.72rem;font-weight:850;color:var(--sofu-purple);padding-bottom:5px;border-bottom:1px solid var(--sofu-line)}
.sofu-intl-member-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px max(0px,calc((100vw - var(--sofu-max))/2)) 14px 0}
.sofu-intl-member-rail::-webkit-scrollbar{display:none}
.sofu-intl-member-card{scroll-snap-align:start;flex:0 0 310px;min-height:375px;padding:20px;border-radius:25px;border:1px solid var(--sofu-line);background:#fff;display:flex;flex-direction:column}
.sofu-intl-member-index{font-size:.65rem;font-weight:900;letter-spacing:.15em;color:var(--intl-accent)}
.sofu-intl-member-mark{margin:auto 0 28px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--intl-soft);color:var(--intl-accent);font-size:3rem;font-weight:900;letter-spacing:-.05em}
.sofu-intl-member-card small{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--intl-accent)}
.sofu-intl-member-card h3{margin:8px 0 5px;font-size:1.48rem;line-height:1.05;letter-spacing:-.035em;color:var(--intl-ink)}
.sofu-intl-member-card p{margin:0;color:var(--sofu-muted);font-size:.78rem;line-height:1.45}

.sofu-intl-recognition{padding:100px 0;background:#fff}
.sofu-intl-recognition-grid{display:grid;grid-template-columns:.72fr 1fr;gap:65px;align-items:start}
.sofu-intl-recognition-intro{position:sticky;top:130px;padding-left:65px;position:sticky}
.sofu-intl-recognition-intro .sofu-section-number{position:absolute;left:0;top:5px;color:var(--intl-accent)}
.sofu-intl-recognition-intro h2{margin:8px 0 15px;font-size:clamp(3rem,4.5vw,4.8rem);line-height:.92;letter-spacing:-.06em;color:var(--intl-ink)}
.sofu-intl-recognition-intro p{line-height:1.65;color:var(--sofu-muted)}
.sofu-intl-recognition-list{display:grid;gap:10px}
.sofu-intl-recognition-list article{min-height:180px;padding:23px;border-radius:24px;background:var(--intl-soft);display:flex;flex-direction:column;justify-content:flex-end}
.sofu-intl-recognition-list small{margin-bottom:auto;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--intl-accent)}
.sofu-intl-recognition-list h3{margin:10px 0 5px;font-size:1.7rem;letter-spacing:-.04em;color:var(--intl-ink)}
.sofu-intl-recognition-list p{margin:0;color:var(--sofu-muted);font-size:.8rem}

.sofu-intl-edition-nav{padding:0 0 105px;background:#fff}
.sofu-intl-edition-nav-shell{display:grid;grid-template-columns:1fr .55fr 1fr;border:1px solid var(--sofu-line);border-radius:26px;overflow:hidden}
.sofu-intl-edition-nav-shell>a,.sofu-intl-edition-nav-shell>div{min-height:135px;padding:21px;display:flex;flex-direction:column;justify-content:center}
.sofu-intl-edition-nav-shell>a+*{border-left:1px solid var(--sofu-line)}
.sofu-intl-edition-nav-shell a span{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-muted);font-weight:850}
.sofu-intl-edition-nav-shell a strong{margin-top:9px;font-size:2.3rem;line-height:.9;letter-spacing:-.055em;color:var(--sofu-purple)}
.sofu-intl-edition-nav-shell .is-programme{align-items:center;text-align:center;background:var(--sofu-lav)}
.sofu-intl-edition-nav-shell .is-next{align-items:flex-end;text-align:right}

/* Team Uganda single */
.sofu-team-uganda-hero{padding:155px 0 90px;background:linear-gradient(180deg,#fbfaff,#fff);overflow:hidden}
.sofu-team-uganda-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:55px;align-items:center}
.sofu-team-uganda-copy .sofu-eyebrow{color:var(--intl-accent)}
.sofu-team-uganda-copy h1{margin:16px 0 21px;font-size:clamp(4.2rem,7vw,7.4rem);line-height:.84;letter-spacing:-.075em;color:var(--intl-ink)}
.sofu-team-result{max-width:650px;font-size:1.18rem;line-height:1.55;color:var(--sofu-muted)}
.sofu-team-uganda-meta{display:grid;grid-template-columns:auto auto 1fr;gap:14px;align-items:end;margin-top:42px;padding-top:24px;border-top:1px solid var(--sofu-line)}
.sofu-team-uganda-meta>span{font-size:3.8rem;line-height:.78;letter-spacing:-.07em;color:var(--intl-accent);font-weight:900}
.sofu-team-uganda-meta>strong{font-size:2.1rem;line-height:.85;color:var(--intl-ink)}
.sofu-team-uganda-meta>small{font-size:.7rem;color:var(--sofu-muted)}
.sofu-team-uganda-links{display:flex;gap:22px;margin-top:28px;flex-wrap:wrap}
.sofu-team-uganda-links a{font-size:.72rem;font-weight:850;color:var(--sofu-purple);border-bottom:1px solid var(--sofu-line);padding-bottom:4px}
.sofu-team-uganda-photo{position:relative;min-height:620px;margin:0;border-radius:36px;overflow:hidden;background:var(--intl-soft)}
.sofu-team-uganda-photo img{width:100%;height:100%;min-height:620px;object-fit:cover}
.sofu-team-uganda-photo figcaption{position:absolute;right:22px;bottom:22px;min-width:150px;padding:15px 17px;border-radius:18px;background:#160938e8;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px}
.sofu-team-uganda-photo figcaption span{font-size:.6rem;letter-spacing:.15em;color:#fff9;font-weight:900}
.sofu-team-uganda-photo figcaption strong{font-size:2rem;line-height:.85}
.sofu-team-roster-section{padding:105px 0;background:#fff}
.sofu-team-roster-heading{display:grid;grid-template-columns:auto 1fr;gap:24px;margin-bottom:40px}
.sofu-team-roster-heading>.sofu-section-number{color:var(--intl-accent)}
.sofu-team-roster-heading h2{margin:8px 0 12px;font-size:clamp(3.4rem,5.5vw,5.8rem);line-height:.9;letter-spacing:-.065em;color:var(--intl-ink)}
.sofu-team-roster-heading p{color:var(--sofu-muted);max-width:660px}
.sofu-team-roster-list{border-top:1px solid var(--sofu-line)}
.sofu-team-roster-row{display:grid;grid-template-columns:55px 52px 1fr minmax(150px,.38fr);gap:18px;align-items:center;padding:20px 8px;border-bottom:1px solid var(--sofu-line);transition:background .25s ease,padding .25s ease}
.sofu-team-roster-row:hover{background:var(--intl-soft);padding-left:17px;padding-right:17px}
.sofu-team-row-index{font-size:.63rem;font-weight:900;letter-spacing:.13em;color:var(--intl-accent)}
.sofu-team-row-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--intl-soft);color:var(--intl-accent);font-weight:900}
.sofu-team-roster-row h3{margin:0;font-size:1.22rem;letter-spacing:-.025em;color:var(--intl-ink)}
.sofu-team-roster-row p{margin:4px 0 0;font-size:.74rem;color:var(--sofu-muted)}
.sofu-team-roster-row>strong{text-align:right;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--intl-accent)}

@media(max-width:1023px){
  .sofu-intl-manifesto{padding:76px 0}
  .sofu-intl-manifesto-grid{grid-template-columns:1fr;gap:32px}
  .sofu-intl-manifesto-copy h2{font-size:clamp(3.4rem,11vw,5.6rem)}
  .sofu-intl-manifesto-media{min-height:520px;max-width:680px;width:100%}
  .sofu-intl-manifesto-media img{min-height:520px}
  .sofu-intl-latest{padding-bottom:80px}
  .sofu-intl-latest-shell{grid-template-columns:.55fr 1fr;min-height:auto}
  .sofu-intl-latest-roster{grid-column:1/-1;display:grid;grid-template-columns:120px 1fr;gap:20px}
  .sofu-intl-roster-head{display:block;border:0;padding:10px;border-right:1px solid rgba(255,255,255,.1)}
  .sofu-intl-roster-head strong{display:block;margin-top:22px}
  .sofu-intl-name-stack{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:0}
  .sofu-intl-archive .sofu-editions-heading{grid-template-columns:auto 1fr}
  .sofu-archive-guide{grid-column:2;justify-self:start}
  .sofu-intl-edition-outcome{grid-template-columns:.42fr 1fr}
  .sofu-intl-edition-outcome>a{position:absolute;right:28px;bottom:28px}
  .sofu-intl-edition-facts{grid-template-columns:1fr 1fr 1fr}
  .sofu-intl-delegation-heading{grid-template-columns:1fr}
  .sofu-intl-recognition-grid{grid-template-columns:1fr;gap:35px}
  .sofu-intl-recognition-intro{position:relative;top:auto}
  .sofu-team-uganda-grid{grid-template-columns:1fr;gap:32px}
  .sofu-team-uganda-copy{order:1}
  .sofu-team-uganda-photo{order:2;min-height:500px}
  .sofu-team-uganda-photo img{min-height:500px}
}

@media(max-width:767px){
  .sofu-intl-principles{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-14px;padding-right:14px}
  .sofu-intl-principles::-webkit-scrollbar{display:none}
  .sofu-intl-principles article{flex:0 0 76%;scroll-snap-align:start;min-height:215px}
  .sofu-intl-manifesto-media{min-height:470px;border-radius:27px}
  .sofu-intl-manifesto-media img{min-height:470px}
  .sofu-intl-manifesto-media figcaption{left:14px;right:14px;bottom:14px}
  .sofu-intl-latest-shell{padding:19px;border-radius:27px;grid-template-columns:1fr;gap:17px}
  .sofu-intl-latest-year{min-height:245px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .sofu-intl-latest-year strong{font-size:7rem}
  .sofu-intl-latest-copy{padding:12px 8px}
  .sofu-intl-latest-copy h2{font-size:2.6rem}
  .sofu-intl-latest-roster{grid-column:auto;grid-template-columns:1fr;padding:15px}
  .sofu-intl-roster-head{display:flex;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .sofu-intl-roster-head strong{margin:0}
  .sofu-intl-name-stack{grid-template-columns:1fr}
  .sofu-intl-archive{padding-top:75px}
  .sofu-intl-archive .sofu-editions-heading{grid-template-columns:1fr}
  .sofu-intl-archive .sofu-editions-heading>.sofu-section-number{display:none}
  .sofu-archive-guide{grid-column:auto;justify-self:stretch;justify-content:space-between}
  .sofu-archive-guide>span{display:none}
  .sofu-intl-year-card{flex-basis:83vw;min-height:470px}
  .sofu-intl-year-card .sofu-year-card-number{font-size:3.7rem}
  .sofu-intl-edition-story{padding:72px 0 40px}
  .sofu-intl-edition-outcome{grid-template-columns:1fr;gap:24px;padding:20px;min-height:0}
  .sofu-intl-outcome-index{min-height:185px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--intl-accent) 22%,transparent);padding:0 0 20px}
  .sofu-intl-outcome-index strong{font-size:6rem}
  .sofu-intl-outcome-copy h2{font-size:2.65rem}
  .sofu-intl-edition-outcome>a{position:relative;right:auto;bottom:auto;width:auto;height:auto;padding:13px 16px;border-radius:14px;color:#fff;font-size:.7rem;display:flex;justify-content:space-between}
  .sofu-intl-edition-outcome>a span{margin-left:auto}
  .sofu-intl-edition-facts{grid-template-columns:1fr}
  .sofu-intl-edition-facts>div{min-height:150px}
  .sofu-intl-delegation-section{padding:75px 0}
  .sofu-intl-delegation-heading>div{padding-left:0}
  .sofu-intl-delegation-heading .sofu-section-number{display:none}
  .sofu-intl-delegation-heading h2{font-size:3.2rem}
  .sofu-intl-member-rail{margin-right:-14px}
  .sofu-intl-member-card{flex-basis:76vw;min-height:345px}
  .sofu-intl-recognition{padding:75px 0}
  .sofu-intl-recognition-intro{padding-left:0}
  .sofu-intl-recognition-intro .sofu-section-number{display:none}
  .sofu-intl-recognition-intro h2{font-size:3.1rem}
  .sofu-intl-edition-nav{padding-bottom:78px}
  .sofu-intl-edition-nav-shell{grid-template-columns:1fr 1fr}
  .sofu-intl-edition-nav-shell>.is-programme{grid-column:1/-1;grid-row:1;border-left:0;border-bottom:1px solid var(--sofu-line)}
  .sofu-intl-edition-nav-shell>.is-previous{grid-column:1;grid-row:2}
  .sofu-intl-edition-nav-shell>.is-next{grid-column:2;grid-row:2;border-left:1px solid var(--sofu-line)}
  .sofu-intl-edition-nav-shell>div{display:none}
  .sofu-team-uganda-hero{padding:120px 0 72px}
  .sofu-team-uganda-copy h1{font-size:clamp(3.8rem,14vw,5.4rem)}
  .sofu-team-uganda-meta{grid-template-columns:auto auto;align-items:end}
  .sofu-team-uganda-meta>small{grid-column:1/-1}
  .sofu-team-uganda-photo{min-height:440px;border-radius:27px}
  .sofu-team-uganda-photo img{min-height:440px}
  .sofu-team-roster-section{padding:78px 0}
  .sofu-team-roster-heading{grid-template-columns:1fr}
  .sofu-team-roster-heading>.sofu-section-number{display:none}
  .sofu-team-roster-heading h2{font-size:3.3rem}
  .sofu-team-roster-row{grid-template-columns:38px 44px 1fr;gap:12px;padding:16px 3px}
  .sofu-team-roster-row>strong{grid-column:3;text-align:left;margin-top:2px}
}

@media(max-width:420px){
  .sofu-intl-manifesto-copy h2{font-size:3.5rem}
  .sofu-intl-manifesto-copy>p{font-size:.96rem}
  .sofu-intl-manifesto-media,.sofu-intl-manifesto-media img{min-height:430px}
  .sofu-intl-year-card{flex-basis:86vw;min-height:445px}
  .sofu-intl-member-card{flex-basis:82vw}
}

/* =========================================================
   v1.0 — institutional layer
   About / impact / history / stories / resources / partners / contact
   ========================================================= */
.sofu-institutional-hero,.sofu-contact-hero,.sofu-editorial-archive-hero,.sofu-resource-hero,.sofu-partners-hero,.sofu-events-hero{padding:170px 0 92px;position:relative;overflow:hidden;background:radial-gradient(circle at 83% 18%,#ece5ff 0,rgba(236,229,255,0) 30%),linear-gradient(180deg,#fff 0,#faf8ff 100%)}
.sofu-institutional-hero:after,.sofu-contact-hero:after,.sofu-editorial-archive-hero:after,.sofu-resource-hero:after,.sofu-partners-hero:after,.sofu-events-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(38,17,71,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(38,17,71,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
.sofu-institutional-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}.sofu-institutional-copy h1,.sofu-contact-hero h1,.sofu-editorial-archive-hero h1,.sofu-resource-hero h1,.sofu-partners-hero h1,.sofu-events-hero h1{font-size:clamp(4.5rem,8.2vw,8rem);line-height:.86;letter-spacing:-.07em;margin:0}.sofu-contact-hero h1,.sofu-editorial-archive-hero h1,.sofu-resource-hero h1,.sofu-partners-hero h1,.sofu-events-hero h1{max-width:1040px}.sofu-contact-hero h1 em,.sofu-editorial-archive-hero h1 em,.sofu-resource-hero h1 em,.sofu-partners-hero h1 em,.sofu-events-hero h1 em{font:inherit;color:var(--sofu-violet)}.sofu-institutional-copy>p,.sofu-contact-hero .sofu-container>p,.sofu-editorial-archive-hero .sofu-container>p,.sofu-resource-hero .sofu-container>p,.sofu-partners-hero .sofu-container>p,.sofu-events-hero .sofu-container>p{max-width:720px;color:var(--sofu-muted);font-size:1.08rem;margin:30px 0 0}.sofu-institutional-vision{margin-top:34px;padding:22px 0 0;border-top:1px solid var(--sofu-line);display:grid;gap:8px}.sofu-institutional-vision small{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:900;color:var(--sofu-violet)}.sofu-institutional-vision strong{font-size:1.12rem;max-width:560px}.sofu-institutional-visual{position:relative;margin:0;min-height:560px}.sofu-institutional-visual:before{content:"";position:absolute;width:82%;aspect-ratio:1;border:1px solid #d9cff3;border-radius:50%;right:-14%;top:-8%}.sofu-institutional-visual img{position:absolute;inset:7% 3% 4% 9%;width:88%;height:89%;object-fit:cover;border-radius:34px 34px 100px 34px;box-shadow:var(--sofu-shadow);transform:rotate(1.3deg)}.sofu-institutional-visual figcaption{position:absolute;left:0;bottom:4%;display:grid;gap:6px;padding:16px 18px;background:#fff;border:1px solid var(--sofu-line);border-radius:16px;box-shadow:0 14px 36px rgba(31,14,70,.1)}.sofu-institutional-visual figcaption span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--sofu-violet)}

.sofu-about-method{background:#fff}.sofu-about-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sofu-about-method-card{min-height:330px;padding:28px;border:1px solid var(--sofu-line);border-radius:30px;background:linear-gradient(150deg,#fff,#faf8ff);display:flex;flex-direction:column}.sofu-about-method-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--sofu-lav);color:var(--sofu-violet);font-size:.7rem;font-weight:900}.sofu-about-method-card h3{font-size:2.3rem;letter-spacing:-.05em;margin:auto 0 10px}.sofu-about-method-card p{color:var(--sofu-muted);margin:0}
.sofu-about-impact,.sofu-home-impact{background:var(--sofu-ink);color:#fff;padding:96px 0;position:relative;overflow:hidden}.sofu-about-impact:after,.sofu-home-impact:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-200px;top:-240px}.sofu-about-impact-head,.sofu-home-impact-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px;position:relative;z-index:1}.sofu-about-impact-head h2,.sofu-home-impact-heading h2{font-size:clamp(2.8rem,5.8vw,5.5rem);line-height:.9;letter-spacing:-.06em;margin:0;max-width:820px}.sofu-home-impact-heading a{color:#fff;font-weight:850}.sofu-impact-grid,.sofu-home-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);position:relative;z-index:1}.sofu-impact-stat,.sofu-home-impact-stat{min-height:250px;background:var(--sofu-ink);padding:28px;display:flex;flex-direction:column}.sofu-impact-stat strong,.sofu-home-impact-stat strong{font-size:clamp(3.7rem,6vw,6.2rem);letter-spacing:-.07em;line-height:.9;color:#c9baff}.sofu-impact-stat h3,.sofu-home-impact-stat span{font-size:1rem;margin:auto 0 5px;font-weight:850}.sofu-impact-stat p,.sofu-home-impact-stat small{color:#bcb4ca;font-size:.78rem;margin:0}

.sofu-about-history{background:linear-gradient(180deg,#f8f5ff,#fff)}.sofu-history-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 20px;scrollbar-width:none}.sofu-history-rail::-webkit-scrollbar{display:none}.sofu-history-card{flex:0 0 min(390px,86vw);scroll-snap-align:start;min-height:300px;padding:28px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;display:flex;flex-direction:column}.sofu-history-card>span{font-size:3.8rem;line-height:.9;letter-spacing:-.06em;color:var(--sofu-violet);font-weight:850}.sofu-history-card h3{font-size:1.55rem;line-height:1.05;margin:auto 0 12px}.sofu-history-card p{color:var(--sofu-muted);margin:0}
.sofu-about-programme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sofu-about-programme-card{min-height:260px;border:1px solid var(--sofu-line);border-radius:30px;background:#fff;padding:28px;display:grid;grid-template-columns:1fr auto;align-content:end;position:relative;overflow:hidden;transition:.3s}.sofu-about-programme-card:before{content:attr(data-acr);position:absolute;right:-4%;top:-20%;font-size:8rem;font-weight:900;color:#f5f1ff;letter-spacing:-.08em}.sofu-about-programme-card>span{grid-column:1/-1;align-self:start;font-size:.68rem;letter-spacing:.13em;color:var(--sofu-violet);font-weight:900}.sofu-about-programme-card h3{font-size:2rem;line-height:1.02;letter-spacing:-.045em;margin:50px 0 8px}.sofu-about-programme-card p{color:var(--sofu-muted);margin:0;max-width:500px}.sofu-about-programme-card i{grid-column:2;grid-row:2/4;font-style:normal;font-size:1.4rem;align-self:end}.sofu-about-programme-card:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}

.sofu-partner-strip,.sofu-home-partners{padding:86px 0;background:#fff;border-block:1px solid var(--sofu-line)}.sofu-partner-strip-head,.sofu-home-partners-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.sofu-partner-strip-head h2,.sofu-home-partners-head h2{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:.92;letter-spacing:-.055em;margin:0}.sofu-partner-strip-head>a,.sofu-home-partners-head>a{font-weight:850}.sofu-partner-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sofu-partner-logo-card,.sofu-home-partner-card{min-height:145px;padding:22px;border:1px solid var(--sofu-line);border-radius:24px;background:#fcfbff;display:grid;place-items:center;text-align:center}.sofu-partner-logo-card img,.sofu-home-partner-card img{max-width:170px;max-height:80px;object-fit:contain;filter:saturate(.9)}.sofu-home-partner-rail{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.sofu-home-partner-rail::-webkit-scrollbar{display:none}.sofu-home-partner-card{flex:0 0 250px;scroll-snap-align:start}

.sofu-contact-hero .sofu-container,.sofu-editorial-archive-hero .sofu-container,.sofu-resource-hero .sofu-container,.sofu-partners-hero .sofu-container,.sofu-events-hero .sofu-container{position:relative;z-index:1}.sofu-contact-channels{padding-top:24px}.sofu-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sofu-contact-card{min-height:330px;padding:28px;border:1px solid var(--sofu-line);border-radius:30px;background:#fff;display:grid;grid-template-columns:1fr auto;align-content:start;position:relative;transition:.3s}.sofu-contact-card>span{font-size:.7rem;font-weight:900;color:var(--sofu-violet)}.sofu-contact-card>small{grid-column:1/-1;margin-top:56px;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;font-weight:900;color:var(--sofu-muted)}.sofu-contact-card h2{grid-column:1/-1;font-size:clamp(1.6rem,3vw,2.8rem);letter-spacing:-.05em;line-height:1;margin:10px 0 20px;overflow-wrap:anywhere}.sofu-contact-card p{color:var(--sofu-muted);margin:auto 0 0;max-width:520px}.sofu-contact-card i{grid-column:2;grid-row:1;font-style:normal;font-size:1.3rem}.sofu-contact-card:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}.sofu-contact-card-accent{background:var(--sofu-purple);color:#fff}.sofu-contact-card-accent>span,.sofu-contact-card-accent>small{color:#cbbfff}.sofu-contact-card-accent p{color:#d8d0e4}.sofu-contact-context{padding:94px 0;background:var(--sofu-ink);color:#fff}.sofu-contact-context-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px}.sofu-contact-context-copy h2{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.9;letter-spacing:-.06em;margin:0}.sofu-contact-context-copy p{color:#c7c0d1;max-width:670px}.sofu-contact-address{align-self:end;border-left:1px solid rgba(255,255,255,.14);padding-left:34px}.sofu-contact-address small{color:#bcaeff;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.sofu-contact-address h3{font-size:1.6rem;margin:10px 0}.sofu-contact-address p{color:#c7c0d1}.sofu-social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.sofu-social-links a{padding:9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;font-size:.76rem;font-weight:800}

.sofu-feature-story{padding:20px 0 70px;background:#faf8ff}.sofu-feature-story-card{display:grid;grid-template-columns:1.15fr .85fr;min-height:520px;border:1px solid var(--sofu-line);border-radius:34px;overflow:hidden;background:#fff}.sofu-feature-story-card figure{margin:0;min-height:100%}.sofu-feature-story-card figure img{width:100%;height:100%;object-fit:cover}.sofu-feature-story-card>div{padding:44px;display:flex;flex-direction:column}.sofu-feature-story-card>div>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:900}.sofu-feature-story-card h2{font-size:clamp(2.6rem,4.4vw,4.6rem);line-height:.93;letter-spacing:-.06em;margin:auto 0 18px}.sofu-feature-story-card p{color:var(--sofu-muted)}.sofu-feature-story-card strong{margin-top:12px}.sofu-story-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.sofu-story-archive-card>a{display:block;height:100%;border:1px solid var(--sofu-line);border-radius:28px;overflow:hidden;background:#fff;transition:.3s}.sofu-story-archive-card figure{margin:0;aspect-ratio:1.35/1;overflow:hidden}.sofu-story-archive-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.sofu-story-archive-card>a:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}.sofu-story-archive-card>a:hover figure img{transform:scale(1.03)}.sofu-story-archive-card>a>div{padding:24px}.sofu-story-archive-card span{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sofu-violet);font-weight:900}.sofu-story-archive-card h2{font-size:1.6rem;line-height:1.05;letter-spacing:-.04em;margin:15px 0 10px}.sofu-story-archive-card p{color:var(--sofu-muted)}

.sofu-resource-controls{position:sticky;top:88px;z-index:8;margin-bottom:28px;padding:18px;border:1px solid var(--sofu-line);border-radius:24px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}.sofu-resource-controls label{display:block}.sofu-resource-controls label span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:var(--sofu-muted);margin-bottom:7px}.sofu-resource-controls input{width:100%;border:0;background:#f7f4ff;border-radius:15px;padding:14px 16px;outline:none}.sofu-resource-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.sofu-resource-filter-row button{border:1px solid var(--sofu-line);border-radius:999px;background:#fff;padding:8px 12px;font-size:.72rem;font-weight:850;cursor:pointer}.sofu-resource-filter-row button.is-active{background:var(--sofu-purple);color:#fff;border-color:var(--sofu-purple)}.sofu-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-resource-card{min-height:310px;padding:26px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;display:flex;flex-direction:column}.sofu-resource-card[hidden]{display:none!important}.sofu-resource-card-top{display:flex;justify-content:space-between}.sofu-resource-card-top span{font-size:2.2rem;font-weight:850;letter-spacing:-.05em;color:#d5caf8}.sofu-resource-card-top i{font-style:normal}.sofu-resource-card>small{margin-top:auto;text-transform:uppercase;letter-spacing:.11em;font-size:.62rem;color:var(--sofu-violet);font-weight:900}.sofu-resource-card h2{font-size:1.55rem;line-height:1.05;letter-spacing:-.035em;margin:12px 0}.sofu-resource-card p{color:var(--sofu-muted);margin:0 0 14px}.sofu-resource-card>a{font-weight:850;margin-top:auto}.sofu-resource-no-results{padding:30px;border:1px dashed var(--sofu-line);border-radius:20px;text-align:center;color:var(--sofu-muted)}.sofu-resource-single{padding:170px 0 70px;background:linear-gradient(180deg,#fff,#faf8ff)}.sofu-resource-single .sofu-container{display:grid;grid-template-columns:1fr 260px;gap:70px}.sofu-resource-single h1{font-size:clamp(3.7rem,7vw,7rem);line-height:.88;letter-spacing:-.065em;margin:0 0 25px}.sofu-resource-single-head>p{color:var(--sofu-muted);font-size:1.05rem}.sofu-resource-single-meta{border-left:1px solid var(--sofu-line);padding-left:25px;display:grid;align-content:end;gap:22px}.sofu-resource-single-meta span{display:grid;gap:5px;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sofu-muted)}.sofu-resource-single-meta strong{font-size:1rem;text-transform:none;letter-spacing:0;color:var(--sofu-ink)}

.sofu-partner-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sofu-partner-archive-card>a{display:block;height:100%;padding:22px;border:1px solid var(--sofu-line);border-radius:28px;background:#fff;transition:.3s}.sofu-partner-archive-card>a:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}.sofu-partner-archive-logo{height:150px;border-radius:20px;background:#faf8ff;display:grid;place-items:center;padding:20px;margin-bottom:23px}.sofu-partner-archive-logo img{max-height:90px;max-width:200px;object-fit:contain}.sofu-partner-archive-card small{font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;color:var(--sofu-violet);font-weight:900}.sofu-partner-archive-card h2{font-size:1.55rem;line-height:1.05;margin:12px 0}.sofu-partner-archive-card p{color:var(--sofu-muted)}.sofu-partner-single{padding:170px 0 100px}.sofu-partner-single-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.sofu-partner-single figure{margin:0;min-height:360px;border:1px solid var(--sofu-line);border-radius:30px;background:#fff;display:grid;place-items:center;padding:45px}.sofu-partner-single figure img{max-height:240px;object-fit:contain}.sofu-partner-single h1{font-size:clamp(3.4rem,6vw,6rem);line-height:.9;letter-spacing:-.06em;margin:0 0 24px}

.sofu-event-list{display:grid}.sofu-event-list-row{display:grid;grid-template-columns:120px 1.25fr 1fr 50px;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid var(--sofu-line)}.sofu-event-list-row>div{display:flex;align-items:baseline;gap:7px}.sofu-event-list-row>div strong{font-size:2.7rem;letter-spacing:-.05em;color:var(--sofu-violet)}.sofu-event-list-row>div span{font-size:.7rem;font-weight:900;color:var(--sofu-muted)}.sofu-event-list-row h3{font-size:1.35rem;line-height:1.05;margin:0}.sofu-event-list-row p{margin:0;color:var(--sofu-muted)}.sofu-event-list-row i{font-style:normal}.sofu-event-past{padding:75px 0;background:var(--sofu-ink);color:#fff}.sofu-event-past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.sofu-event-past-grid a{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:24px}.sofu-event-past-grid span{font-size:2.3rem;color:#bcaeff;font-weight:850}.sofu-event-past-grid h3{font-size:1.3rem;line-height:1.05}.sofu-event-past-grid p{color:#bcb4c8}

@media(max-width:1023px){
  .sofu-institutional-hero,.sofu-contact-hero,.sofu-editorial-archive-hero,.sofu-resource-hero,.sofu-partners-hero,.sofu-events-hero{padding:125px 0 64px}
  .sofu-institutional-hero-grid{grid-template-columns:1fr;gap:34px}.sofu-institutional-copy h1,.sofu-contact-hero h1,.sofu-editorial-archive-hero h1,.sofu-resource-hero h1,.sofu-partners-hero h1,.sofu-events-hero h1{font-size:clamp(3.4rem,12vw,6rem);line-height:.87}.sofu-institutional-visual{min-height:420px;order:2}.sofu-institutional-visual img{inset:3% 0 4% 4%;width:94%;height:90%}.sofu-institutional-visual figcaption{left:8px;bottom:2%}
  .sofu-about-method-grid,.sofu-about-programme-grid,.sofu-contact-grid,.sofu-story-archive-grid,.sofu-resource-grid,.sofu-partner-archive-grid{grid-template-columns:1fr}.sofu-about-method-card{min-height:250px}.sofu-about-method-card h3{margin-top:56px}.sofu-about-programme-card{min-height:230px}
  .sofu-about-impact,.sofu-home-impact{padding:70px 0}.sofu-about-impact-head,.sofu-home-impact-heading{align-items:start;flex-direction:column}.sofu-impact-grid,.sofu-home-impact-grid{grid-template-columns:repeat(2,1fr)}.sofu-impact-stat,.sofu-home-impact-stat{min-height:210px;padding:20px}.sofu-impact-stat strong,.sofu-home-impact-stat strong{font-size:4.2rem}
  .sofu-partner-logo-grid{grid-template-columns:repeat(2,1fr)}.sofu-partner-strip-head,.sofu-home-partners-head{align-items:start;flex-direction:column}.sofu-partner-strip,.sofu-home-partners{padding:68px 0}
  .sofu-contact-context-grid{grid-template-columns:1fr;gap:44px}.sofu-contact-address{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:28px 0 0}.sofu-contact-context{padding:70px 0}.sofu-contact-card{min-height:290px}
  .sofu-feature-story-card{grid-template-columns:1fr;min-height:0}.sofu-feature-story-card figure{aspect-ratio:1.3/1}.sofu-feature-story-card>div{padding:28px}.sofu-feature-story-card h2{margin:50px 0 16px}.sofu-resource-controls{top:78px}.sofu-resource-filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.sofu-resource-filter-row button{flex:none}.sofu-resource-single .sofu-container,.sofu-partner-single-grid{grid-template-columns:1fr;gap:34px}.sofu-resource-single-meta{border-left:0;border-top:1px solid var(--sofu-line);padding:20px 0 0;grid-template-columns:1fr 1fr}.sofu-resource-single,.sofu-partner-single{padding:130px 0 70px}
  .sofu-event-list-row{grid-template-columns:84px 1fr 30px;gap:14px}.sofu-event-list-row>p{grid-column:2/3;font-size:.86rem}.sofu-event-list-row>i{grid-column:3;grid-row:1/3}.sofu-event-list-row>div strong{font-size:2.1rem}.sofu-event-past-grid{grid-template-columns:1fr}
}
@media(max-width:479px){
  .sofu-institutional-copy h1,.sofu-contact-hero h1,.sofu-editorial-archive-hero h1,.sofu-resource-hero h1,.sofu-partners-hero h1,.sofu-events-hero h1{font-size:clamp(3.15rem,14vw,4.7rem)}
  .sofu-institutional-visual{min-height:350px}.sofu-institutional-visual figcaption{padding:11px 12px}.sofu-institutional-visual figcaption span{font-size:.52rem}
  .sofu-impact-grid,.sofu-home-impact-grid{grid-template-columns:1fr 1fr}.sofu-impact-stat,.sofu-home-impact-stat{min-height:180px;padding:16px}.sofu-impact-stat strong,.sofu-home-impact-stat strong{font-size:3.3rem}.sofu-impact-stat h3,.sofu-home-impact-stat span{font-size:.84rem}
  .sofu-partner-logo-grid{grid-template-columns:1fr 1fr}.sofu-partner-logo-card{min-height:115px;padding:14px}.sofu-contact-card{padding:22px;min-height:270px}.sofu-contact-card>small{margin-top:38px}.sofu-contact-card h2{font-size:1.55rem}.sofu-history-card{flex-basis:84vw}.sofu-resource-card{min-height:280px;padding:22px}
}

/* =========================================================
   v1.1.0 — inner-page mobile experience + archive portrait system
   ========================================================= */
.sofu-record-hero{position:relative;overflow:hidden;padding:175px 0 100px;background:linear-gradient(145deg,#fff,#f4efff)}
.sofu-record-hero:after{content:"";position:absolute;width:55vw;height:55vw;max-width:760px;max-height:760px;border:1px solid #d9cff3;border-radius:50%;right:-12vw;top:-20vw}
.sofu-record-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.sofu-record-title h1{font-size:clamp(5rem,9vw,9rem);line-height:.82;letter-spacing:-.075em;margin:14px 0 0}.sofu-record-title h1 em{font:inherit;color:var(--sofu-violet)}
.sofu-record-note{border-left:1px solid var(--sofu-line);padding:20px 0 15px 35px;display:grid;gap:14px}.sofu-record-note>span,.sofu-record-note>small{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--sofu-violet)}.sofu-record-note p{font-size:1.05rem;color:var(--sofu-muted);max-width:560px}.sofu-record-note strong{font-size:1.35rem;line-height:1.18;max-width:560px}
.sofu-record-impact{padding:20px 0 100px;background:#f8f5ff}.sofu-record-impact-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.sofu-record-impact-rail::-webkit-scrollbar{display:none}.sofu-record-impact-rail article{scroll-snap-align:start;flex:1 1 0;min-width:250px;min-height:270px;padding:24px;border-radius:28px;background:var(--sofu-purple);color:#fff}.sofu-record-impact-rail strong{display:block;font-size:4.8rem;line-height:.86;letter-spacing:-.07em}.sofu-record-impact-rail h2{font-size:1.1rem;margin:32px 0 6px}.sofu-record-impact-rail p{color:#cdc4de;font-size:.78rem}
.sofu-record-history{padding:105px 0;background:#fff}.sofu-record-history-head{display:grid;grid-template-columns:auto 1fr;gap:24px;margin-bottom:42px}.sofu-record-history-head h2{font-size:clamp(3.4rem,6vw,6.3rem);line-height:.87;letter-spacing:-.07em;margin:7px 0 14px}.sofu-record-history-head p{color:var(--sofu-muted);max-width:700px}

.sofu-intl-member-card.has-photo{padding:0;overflow:hidden;position:relative;background:var(--intl-ink);color:#fff}.sofu-intl-member-card.has-photo .sofu-intl-member-index{position:absolute;z-index:3;top:18px;left:18px;background:rgba(255,255,255,.92);color:var(--intl-ink);padding:8px 10px;border-radius:999px}.sofu-intl-member-photo{position:absolute;inset:0;margin:0}.sofu-intl-member-photo img{width:100%;height:100%;object-fit:cover;display:block}.sofu-intl-member-card.has-photo:after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(180deg,transparent,rgba(18,8,40,.94))}.sofu-intl-member-card.has-photo .sofu-intl-member-copy{position:relative;z-index:2;margin-top:auto;padding:190px 20px 22px}.sofu-intl-member-card.has-photo small{color:#d9cfff}.sofu-intl-member-card.has-photo h3{color:#fff}.sofu-intl-member-card.has-photo p{color:#ddd5e8}.sofu-member-award{display:inline-flex;margin-top:10px;padding:7px 10px;border-radius:999px;background:rgba(107,73,215,.13);color:var(--intl-accent);font-size:.62rem!important;text-transform:uppercase;letter-spacing:.08em;font-weight:900!important}.sofu-intl-member-card.has-photo .sofu-member-award{background:rgba(255,255,255,.13);color:#fff}
.sofu-team-row-photo{width:52px;height:62px;margin:0;border-radius:15px;overflow:hidden;background:var(--intl-soft)}.sofu-team-row-photo img{width:100%;height:100%;object-fit:cover;display:block}.sofu-team-roster-row.has-photo{grid-template-columns:55px 52px 1fr minmax(150px,.38fr)}

@media(max-width:1023px){
  /* Programme pages become mobile covers rather than desktop columns stacked vertically. */
  .sofu-programme-hero{min-height:auto;padding:calc(112px + var(--safe-top)) 0 50px}
  .sofu-programme-hero-top{position:relative;z-index:5}
  .sofu-programme-hero-grid{display:block;margin-top:30px}
  .sofu-programme-title-wrap{position:relative;z-index:3;padding-bottom:22px}.sofu-large-acronym{font-size:clamp(6.2rem,28vw,10rem);opacity:.12;position:absolute;top:-15px;right:-5px;line-height:.75;pointer-events:none}.sofu-programme-title-wrap h1{font-size:clamp(3rem,13vw,5.3rem);max-width:92%;margin:25px 0 16px}.sofu-programme-title-wrap p{max-width:86%;font-size:.96rem}
  .sofu-programme-latest{margin-top:22px;min-height:64svh;position:relative;overflow:hidden;padding:0;border-radius:34px;background:var(--sofu-purple)}
  .sofu-programme-latest.has-media>.sofu-programme-latest-media{display:block!important;position:absolute;inset:0;margin:0}.sofu-programme-latest-media img{width:100%;height:100%;object-fit:cover}.sofu-programme-latest.has-media:after{content:"";position:absolute;inset:22% 0 0;background:linear-gradient(180deg,transparent,rgba(24,9,55,.94))}
  .sofu-programme-latest>span,.sofu-programme-latest>strong,.sofu-programme-latest>h2,.sofu-programme-latest>p,.sofu-programme-latest>a{position:relative;z-index:2;margin-left:22px;margin-right:22px}.sofu-programme-latest>span{margin-top:auto;padding-top:57svh}.sofu-programme-latest>strong{font-size:5.2rem}.sofu-programme-latest>h2{font-size:1.35rem}.sofu-programme-latest>a{margin-bottom:22px}.sofu-programme-scrollcue{display:none}

  /* Generic inner-page hero: a mobile poster with a floating information plate. */
  .sofu-page-hero{padding:calc(116px + var(--safe-top)) 0 42px;min-height:auto;overflow:hidden}.sofu-page-hero-grid{display:block;position:relative}.sofu-page-hero-grid>div:first-child{position:relative;z-index:3;padding:0 0 26px}.sofu-page-hero h1{font-size:clamp(3.5rem,14vw,5.8rem);line-height:.85;max-width:92%;margin:12px 0 18px}.sofu-page-hero p{font-size:.92rem;max-width:86%}
  .sofu-page-hero-aside{position:relative;min-height:54svh!important;margin:6px 0 0;border-radius:32px!important;overflow:hidden}.sofu-page-hero-aside:not(.has-edition-photo){background:linear-gradient(150deg,var(--sofu-purple),#623bd1);justify-content:flex-end}.sofu-page-hero-aside:not(.has-edition-photo):before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-180px;top:-120px}.sofu-page-hero-aside>span,.sofu-page-hero-aside>strong,.sofu-page-hero-aside>p,.sofu-page-hero-aside>a{position:relative;z-index:2}.sofu-edition-hero .sofu-page-hero-aside.has-edition-photo{min-height:62svh!important}.sofu-edition-aside-copy{padding:24px!important}

  /* International edition = visual swipe deck. */
  .sofu-intl-delegation-section{overflow:hidden}.sofu-intl-delegation-heading{display:block!important}.sofu-intl-delegation-heading>a{display:inline-flex;margin-top:18px}.sofu-intl-member-rail{margin-left:calc((100vw - min(100% - 36px, var(--sofu-max))) / -2 + 18px);margin-right:calc((100vw - min(100% - 36px, var(--sofu-max))) / -2 + 18px);padding:0 18px 14px;scroll-padding-left:18px}.sofu-intl-member-card{flex-basis:79vw;min-height:510px;border-radius:32px}.sofu-intl-member-card:not(.has-photo){background:linear-gradient(145deg,#fff,var(--intl-soft));justify-content:flex-end}.sofu-intl-member-card:not(.has-photo) .sofu-intl-member-mark{font-size:8rem;opacity:.12;position:absolute;right:12px;top:40px}.sofu-intl-member-card:not(.has-photo)>div:last-child{margin-top:auto}.sofu-intl-member-card.has-photo .sofu-intl-member-copy{padding-top:320px}.sofu-intl-member-card h3{font-size:1.8rem}
  .sofu-intl-edition-facts{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.sofu-intl-edition-facts::-webkit-scrollbar{display:none}.sofu-intl-edition-facts>div{flex:0 0 72vw;scroll-snap-align:start;min-height:190px}

  /* Team Uganda roster is its own mobile portrait rail, not a list squeezed vertically. */
  .sofu-team-roster-list{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;border-top:0;padding-bottom:12px;scrollbar-width:none}.sofu-team-roster-list::-webkit-scrollbar{display:none}.sofu-team-roster-row,.sofu-team-roster-row.has-photo{flex:0 0 78vw;min-height:430px;scroll-snap-align:start;display:flex!important;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid var(--sofu-line);border-radius:30px;background:linear-gradient(145deg,#fff,var(--intl-soft));position:relative;overflow:hidden}.sofu-team-roster-row:hover{padding:18px}.sofu-team-row-index{position:absolute;z-index:3;top:18px;left:18px;background:#fff;border:1px solid var(--sofu-line);padding:7px 9px;border-radius:999px}.sofu-team-row-photo{width:calc(100% + 36px);height:265px;margin:-18px -18px 22px;border-radius:0 0 38px 0}.sofu-team-row-mark{font-size:8rem!important;opacity:.13;margin:50px 0 auto!important}.sofu-team-roster-row>div{margin-top:auto}.sofu-team-roster-row h3{font-size:1.65rem}.sofu-team-roster-row>strong{margin-top:13px;text-align:left}.sofu-team-roster-row .sofu-member-award{margin-top:9px}

  /* UNSO stage detail becomes horizontally explorable instead of long card stacks. */
  .sofu-score-grid,.sofu-topic-grid,.sofu-podium,.sofu-award-grid{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.sofu-score-grid::-webkit-scrollbar,.sofu-topic-grid::-webkit-scrollbar,.sofu-podium::-webkit-scrollbar,.sofu-award-grid::-webkit-scrollbar{display:none}.sofu-score-grid article,.sofu-topic-grid article,.sofu-podium article,.sofu-award-grid article{flex:0 0 78vw;min-height:310px;scroll-snap-align:start;border-radius:30px;display:flex;flex-direction:column;justify-content:flex-end}.sofu-score-grid strong{font-size:6rem}.sofu-podium article:first-child{flex-basis:84vw}.sofu-chip-grid{overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}.sofu-chip-grid::-webkit-scrollbar{display:none}.sofu-chip-grid span{flex:none;scroll-snap-align:start;padding:16px 20px}

  /* Editorial archives: purposeful horizontal discovery on mobile. */
  .sofu-story-archive-grid,.sofu-partner-archive-grid,.sofu-contact-grid{display:flex!important;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:13px}.sofu-story-archive-grid::-webkit-scrollbar,.sofu-partner-archive-grid::-webkit-scrollbar,.sofu-contact-grid::-webkit-scrollbar{display:none}.sofu-story-archive-card,.sofu-partner-archive-card,.sofu-contact-card{flex:0 0 82vw;scroll-snap-align:start}.sofu-contact-card{min-height:430px}.sofu-feature-story-card{display:flex!important;flex-direction:column;border-radius:32px;overflow:hidden}.sofu-feature-story-card figure{min-height:52svh}.sofu-feature-story-card>div{padding:24px!important}
  .sofu-resource-grid{display:flex!important;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px}.sofu-resource-grid::-webkit-scrollbar{display:none}.sofu-resource-card{flex:0 0 82vw;scroll-snap-align:start;min-height:390px}
  .sofu-event-list{border-top:0}.sofu-event-list-row{border:1px solid var(--sofu-line);border-radius:26px;margin-bottom:12px;padding:20px!important;background:#fff;grid-template-columns:70px 1fr 24px!important}.sofu-event-list-row>p{grid-column:2/4!important}

  /* Institutional/About is now a factual mobile record, intentionally unlike home. */
  .sofu-record-hero{padding:calc(120px + var(--safe-top)) 0 68px;min-height:84svh;display:flex;align-items:flex-end}.sofu-record-hero:after{width:95vw;height:95vw;right:-48vw;top:15vw}.sofu-record-hero-grid{display:block}.sofu-record-title h1{font-size:clamp(4.5rem,19vw,7.5rem);line-height:.78}.sofu-record-note{margin-top:48px;border-left:0;border-top:1px solid var(--sofu-line);padding:22px 0 0}.sofu-record-note p{font-size:.94rem}.sofu-record-impact-rail{margin:0 -18px;padding:0 18px}.sofu-record-impact-rail article{flex:0 0 74vw;min-height:310px}.sofu-record-history{padding:80px 0}.sofu-record-history-head{grid-template-columns:1fr}.sofu-record-history-head>.sofu-section-number{display:none}.sofu-record-history-head h2{font-size:3.8rem}
}
@media(max-width:479px){
  .sofu-intl-member-card,.sofu-team-roster-row,.sofu-team-roster-row.has-photo,.sofu-story-archive-card,.sofu-partner-archive-card,.sofu-contact-card,.sofu-resource-card{flex-basis:86vw}
  .sofu-page-hero h1{font-size:clamp(3.25rem,15vw,4.8rem)}.sofu-programme-title-wrap h1{font-size:clamp(3rem,14vw,4.6rem)}
}

/* =========================================================
   v1.2 — interaction fixes, compact mobile programme covers,
   richer UNSO results and year-specific international imagery
   ========================================================= */

/* Desktop dropdown: remove the hover dead-zone between the trigger and panel. */
@media (min-width:1024px){
  .sofu-has-submenu{position:relative}
  .sofu-submenu{
    top:100%!important;right:0!important;padding:16px 10px 10px!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    z-index:30!important;isolation:isolate;
  }
  .sofu-submenu:before{
    content:"";position:absolute;z-index:-1;left:0;right:0;top:8px;bottom:0;
    background:#fff;border:1px solid var(--sofu-line);border-radius:18px;box-shadow:var(--sofu-shadow);
  }
  .sofu-has-submenu:hover>.sofu-submenu,
  .sofu-has-submenu:focus-within>.sofu-submenu,
  .sofu-has-submenu.is-open>.sofu-submenu{display:grid!important}
  .sofu-submenu a{position:relative;z-index:1}
}

/* Richer UNSO podium, top schools and recognitions. */
.sofu-unso-podium-feature article{position:relative;overflow:hidden}
.sofu-unso-podium-feature article>figure{height:190px;margin:-24px -24px 22px;overflow:hidden;background:#eee8ff}
.sofu-unso-podium-feature article>figure img{width:100%;height:100%;object-fit:cover;display:block}
.sofu-unso-podium-feature article.is-champion>figure{height:230px}
.sofu-podium-badge{position:absolute;right:18px;top:18px;width:58px;height:58px;object-fit:contain;padding:7px;border-radius:16px;background:#fffffff0;box-shadow:0 10px 26px rgba(26,12,58,.18)}
.sofu-unso-top-schools-block,.sofu-unso-awards-preview{margin-top:54px;padding-top:44px;border-top:1px solid var(--sofu-line)}
.sofu-unso-mini-heading{display:grid;grid-template-columns:minmax(260px,.75fr) 1fr;gap:46px;align-items:end;margin-bottom:26px}
.sofu-unso-mini-heading h3{font-size:clamp(2rem,3.7vw,3.6rem);line-height:.94;letter-spacing:-.055em;margin:8px 0 0}
.sofu-unso-mini-heading p{margin:0;color:var(--sofu-muted);max-width:650px}
.sofu-unso-top-school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sofu-unso-top-school-grid article{min-height:270px;padding:24px;border:1px solid var(--sofu-line);border-radius:28px;background:linear-gradient(155deg,#fff,#f6f2ff);display:flex;flex-direction:column;align-items:flex-start}
.sofu-unso-top-school-grid figure{width:80px;height:80px;margin:0 0 auto;border-radius:21px;background:#fff;border:1px solid var(--sofu-line);display:grid;place-items:center;padding:8px}
.sofu-unso-top-school-grid figure img{width:100%;height:100%;object-fit:contain}
.sofu-school-badge-placeholder{width:72px;height:72px;margin-bottom:auto;border-radius:21px;background:var(--sofu-purple);color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:900}
.sofu-unso-top-school-grid small{margin-top:28px;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-size:.62rem;font-weight:900}
.sofu-unso-top-school-grid strong{font-size:1.35rem;line-height:1.08;margin-top:8px}
.sofu-unso-top-school-grid p{color:var(--sofu-muted);font-size:.78rem;margin:9px 0 0}
.sofu-unso-awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sofu-unso-awards-grid article{min-height:150px;padding:16px;border:1px solid var(--sofu-line);border-radius:24px;background:#fff;display:grid;grid-template-columns:66px 1fr;gap:15px;align-items:center}
.sofu-unso-awards-grid figure,.sofu-award-mark{width:66px;height:82px;margin:0;border-radius:18px;overflow:hidden;background:var(--sofu-lav);display:grid;place-items:center;color:var(--sofu-violet);font-size:1.6rem;font-weight:900}
.sofu-unso-awards-grid figure img{width:100%;height:100%;object-fit:cover}
.sofu-unso-awards-grid small{display:block;color:var(--sofu-violet);text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;font-weight:900}
.sofu-unso-awards-grid strong{display:block;margin-top:6px;font-size:1rem;line-height:1.14}.sofu-unso-awards-grid p{margin:5px 0 0;color:var(--sofu-muted);font-size:.72rem}

/* Hall of Champions now carries the school identity visually. */
.sofu-champion-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:auto}
.sofu-champion-card-top figure{width:76px;height:76px;margin:0;padding:8px;border-radius:22px;background:#fff;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}
.sofu-champion-card-top figure img{width:100%;height:100%;object-fit:contain}
.sofu-champion-card:not(a){cursor:default}

/* Delegation is complete on the Edition page; no third public page is required. */
.sofu-delegation-swipe-hint{display:none;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;border:1px solid var(--sofu-line);border-radius:16px;background:var(--intl-soft)}
.sofu-delegation-swipe-hint>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;color:var(--intl-accent);font-weight:900}
.sofu-delegation-swipe-hint strong{font-size:.76rem}.sofu-delegation-swipe-hint small{margin-left:auto;color:var(--sofu-muted);font-size:.62rem}

@media (max-width:1023px){
  /* Programme cover card: image first, content immediately after it. No 60vh blank slab. */
  .sofu-programme-latest,.sofu-programme-latest.has-media{
    min-height:0!important;display:block!important;padding:0 0 18px!important;margin-top:24px!important;
    border-radius:30px!important;overflow:hidden!important;background:var(--sofu-purple)!important;
  }
  .sofu-programme-latest.has-media:after{display:none!important}
  .sofu-programme-latest-media,.sofu-programme-latest.has-media>.sofu-programme-latest-media{
    display:block!important;position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    width:100%!important;height:270px!important;margin:0 0 22px!important;border:0!important;overflow:hidden!important;
  }
  .sofu-programme-latest-media:after{background:linear-gradient(180deg,transparent,rgba(38,17,71,.18))!important}
  .sofu-programme-latest-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
  .sofu-programme-latest>span,.sofu-programme-latest>strong,.sofu-programme-latest>h2,.sofu-programme-latest>p,.sofu-programme-latest>a{
    position:relative!important;z-index:2!important;margin-left:22px!important;margin-right:22px!important;padding-top:0!important;
  }
  .sofu-programme-latest>span{display:block!important;margin-top:0!important}
  .sofu-programme-latest>strong{display:block!important;margin-top:12px!important;font-size:4.6rem!important}
  .sofu-programme-latest>h2{margin-top:14px!important;margin-bottom:22px!important;font-size:1.25rem!important}
  .sofu-programme-latest>a{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:26px!important;margin-bottom:0!important;padding:15px 0 0!important}

  /* International programme story: never let a horizontal child inflate the text column. */
  .sofu-intl-manifesto,.sofu-intl-manifesto-grid,.sofu-intl-manifesto-copy{min-width:0!important;max-width:100%!important}
  .sofu-intl-manifesto-grid{overflow:hidden!important}
  .sofu-intl-manifesto-copy h2{max-width:100%!important;font-size:clamp(2.65rem,10.5vw,4rem)!important;line-height:.92!important;letter-spacing:-.06em!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .sofu-intl-manifesto-copy>p{max-width:100%!important;overflow-wrap:anywhere!important}
  .sofu-intl-principles{width:100%!important;max-width:100%!important;min-width:0!important;margin-right:0!important;padding-right:18vw!important;overflow-x:auto!important;overscroll-behavior-x:contain}
  .sofu-intl-principles article{flex:0 0 78%!important;min-width:0!important}
  .sofu-intl-manifesto-media{width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important}
  .sofu-intl-manifesto-media img{min-height:0!important;height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important}
  .sofu-intl-manifesto-media figcaption{grid-template-columns:1fr!important}.sofu-intl-manifesto-media figcaption span{grid-column:1!important;grid-row:auto!important;margin-top:7px!important;white-space:normal!important}

  .sofu-delegation-swipe-hint{display:flex}
  .sofu-intl-member-rail{padding-right:16vw!important}

  .sofu-unso-mini-heading{grid-template-columns:1fr;gap:10px}.sofu-unso-top-school-grid,.sofu-unso-awards-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;padding-right:16vw;scrollbar-width:none}.sofu-unso-top-school-grid::-webkit-scrollbar,.sofu-unso-awards-grid::-webkit-scrollbar{display:none}
  .sofu-unso-top-school-grid article{flex:0 0 78vw;scroll-snap-align:start;min-height:250px}.sofu-unso-awards-grid article{flex:0 0 82vw;scroll-snap-align:start;min-height:150px}
  .sofu-unso-podium-feature{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:11px!important;padding-right:15vw!important;scrollbar-width:none}.sofu-unso-podium-feature::-webkit-scrollbar{display:none}.sofu-unso-podium-feature article{flex:0 0 82vw!important;scroll-snap-align:start!important;min-height:390px!important}.sofu-unso-podium-feature article>figure{height:215px!important}.sofu-unso-podium-feature article.is-champion>figure{height:245px!important}
  .sofu-champion-card-top figure{width:66px;height:66px}
}

@media (max-width:479px){
  .sofu-programme-latest-media,.sofu-programme-latest.has-media>.sofu-programme-latest-media{height:235px!important}
  .sofu-intl-manifesto-copy h2{font-size:clamp(2.5rem,12vw,3.5rem)!important}
  .sofu-delegation-swipe-hint small{display:none}
}

/* ==========================================================================
   v1.3 — current UNSO vs historical archive
   ========================================================================== */
.sofu-live-unso-hero{position:relative;overflow:hidden;padding:160px 0 100px;background:
radial-gradient(circle at 82% 14%,rgba(123,83,224,.32),transparent 24%),
linear-gradient(145deg,#170b3c 0%,#261147 58%,#3c1a78 100%);color:#fff}
.sofu-live-unso-orbit{position:absolute;width:820px;height:820px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-330px;top:-310px}
.sofu-live-unso-orbit:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--sofu-gold);left:120px;bottom:170px;box-shadow:0 0 28px rgba(204,121,32,.5)}
.sofu-live-unso-topline{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.15);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.15em;color:#d8cef1}
.sofu-live-unso-topline strong{color:#fff}
.sofu-live-unso-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-top:58px}
.sofu-live-unso-copy{position:relative;z-index:2}
.sofu-live-unso-year{display:block;font-size:clamp(6.5rem,13vw,11rem);line-height:.7;letter-spacing:-.09em;color:#9f7cff;font-weight:850;margin-bottom:38px}
.sofu-live-unso-copy .sofu-eyebrow{color:#d2c4f5}
.sofu-live-unso-copy h1{margin:12px 0 16px;max-width:760px;font-size:clamp(3rem,5.7vw,5.6rem);line-height:.91;letter-spacing:-.06em}
.sofu-live-unso-copy h2{margin:0 0 16px;max-width:700px;font-size:clamp(1.55rem,2.4vw,2.3rem);line-height:1.05;letter-spacing:-.035em;color:#fff}
.sofu-live-unso-copy>p{max-width:680px;color:#d5cde4;font-size:1.05rem}
.sofu-live-unso-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px}
.sofu-live-unso-actions .sofu-text-link{color:#fff}
.sofu-live-unso-meta{display:flex;gap:36px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}
.sofu-live-unso-meta span{display:flex;flex-direction:column;gap:5px}.sofu-live-unso-meta small{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#bfaee7}.sofu-live-unso-meta strong{font-size:.95rem}
.sofu-live-unso-media{position:relative;min-height:620px;margin:0;border-radius:38px;overflow:hidden;background:#3d2374;box-shadow:0 34px 90px rgba(8,3,20,.32)}
.sofu-live-unso-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sofu-live-unso-media:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,rgba(18,7,42,.92))}
.sofu-live-unso-media figcaption{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;display:grid;grid-template-columns:1fr auto;gap:7px 20px;align-items:end}
.sofu-live-unso-media figcaption small{grid-column:1/-1;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#cabafa}
.sofu-live-unso-media figcaption strong{font-size:2rem;letter-spacing:-.04em}.sofu-live-unso-media figcaption span{font-size:.72rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.08em}

.sofu-live-unso-overview{padding:100px 0;background:#fff}
.sofu-live-unso-overview-head{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;margin-bottom:30px}
.sofu-live-unso-overview-head h2{margin:7px 0 0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.94;letter-spacing:-.06em}
.sofu-live-unso-overview-head>p{margin:0;color:var(--sofu-muted);font-size:1.02rem}
.sofu-live-unso-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sofu-live-unso-stage-card{position:relative;min-height:330px;padding:28px;border:1px solid var(--sofu-line);border-radius:30px;background:linear-gradient(145deg,#faf8ff,#fff);display:flex;flex-direction:column}
.sofu-live-unso-stage-card>span{font-size:5rem;line-height:.8;letter-spacing:-.08em;color:#d9cff5;font-weight:850}
.sofu-live-unso-stage-card>small{margin-top:32px;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:var(--sofu-violet);font-weight:850}
.sofu-live-unso-stage-card h3{font-size:2rem;line-height:1;margin:10px 0}.sofu-live-unso-stage-card p{max-width:520px;color:var(--sofu-muted)}
.sofu-live-unso-stage-card>strong{margin-top:auto;padding-top:24px;font-size:.9rem}.sofu-live-unso-stage-card>a{position:absolute;right:24px;bottom:24px;font-weight:850}.sofu-live-unso-stage-card>a i{font-style:normal}
.sofu-live-registration-band{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:16px;padding:30px;border-radius:30px;background:linear-gradient(130deg,#170b3c,#37136d);color:#fff}
.sofu-live-registration-band h3{margin:7px 0;font-size:2rem;letter-spacing:-.035em}.sofu-live-registration-band p{margin:0;color:#cabfe1;max-width:650px}

@media(max-width:1023px){
  /* On mobile the UNSO programme hero introduces the programme only. The
     current-edition treatment lives in the active season section below. */
  .sofu-programme-hero.is-unso{min-height:auto!important;padding-bottom:44px!important}
  .sofu-programme-hero.is-unso .sofu-programme-latest{display:none!important}
  .sofu-programme-hero.is-unso .sofu-programme-hero-grid{display:block!important}
  .sofu-programme-hero.is-unso .sofu-programme-scrollcue{display:none!important}

  .sofu-live-unso-hero{padding:calc(118px + var(--safe-top)) 0 58px}
  .sofu-live-unso-grid{grid-template-columns:1fr;gap:28px;margin-top:36px}
  .sofu-live-unso-year{font-size:clamp(6rem,27vw,8.2rem);margin-bottom:26px}
  .sofu-live-unso-copy h1{font-size:clamp(3.2rem,13.5vw,5rem);max-width:96%}
  .sofu-live-unso-copy h2{font-size:1.6rem}
  .sofu-live-unso-copy>p{font-size:.94rem}
  .sofu-live-unso-actions{align-items:stretch;flex-direction:column}
  .sofu-live-unso-actions .sofu-button{justify-content:space-between;width:100%}
  .sofu-live-unso-meta{gap:20px;display:grid;grid-template-columns:1fr 1fr}
  .sofu-live-unso-media{min-height:58svh;border-radius:32px}
  .sofu-live-unso-media figcaption{left:22px;right:22px;bottom:22px}
  .sofu-live-unso-overview{padding:76px 0}
  .sofu-live-unso-overview-head{grid-template-columns:1fr;gap:15px}
  .sofu-live-unso-overview-head h2{font-size:3rem}
  .sofu-live-unso-stage-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;padding-right:15vw;scrollbar-width:none}
  .sofu-live-unso-stage-grid::-webkit-scrollbar{display:none}
  .sofu-live-unso-stage-card{flex:0 0 82vw;min-height:360px;scroll-snap-align:start;padding:23px;border-radius:26px}
  .sofu-live-registration-band{align-items:flex-start;flex-direction:column;padding:24px;border-radius:26px}
  .sofu-live-registration-band .sofu-button{width:100%;justify-content:space-between}
}
@media(max-width:480px){
  .sofu-live-unso-media{min-height:52svh}
  .sofu-live-unso-meta{grid-template-columns:1fr}
  .sofu-live-unso-stage-card{flex-basis:86vw}
}

/* ==========================================================================
   v1.4 — UNSO flagship hub: programme + current tournament + history
   ========================================================================== */
.sofu-unso-flagship-hero{position:relative;overflow:hidden;padding:calc(145px + var(--safe-top)) 0 86px;background:radial-gradient(circle at 79% 10%,rgba(137,108,224,.28),transparent 25%),linear-gradient(145deg,#fff 0,#f0eaff 100%)}
.sofu-unso-flagship-orbit{position:absolute;width:820px;height:820px;border:1px solid #d9cff3;border-radius:50%;right:-385px;top:-365px;pointer-events:none}.sofu-unso-flagship-orbit:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--sofu-gold);left:92px;bottom:155px;box-shadow:0 0 24px rgba(204,121,32,.28)}
.sofu-unso-flagship-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:66px;align-items:end;margin-top:56px}.sofu-unso-flagship-copy{position:relative;min-width:0}.sofu-unso-flagship-mark{position:absolute;z-index:0;left:-12px;top:-42px;font-size:clamp(9rem,18vw,16rem);line-height:.7;letter-spacing:-.1em;font-weight:900;color:rgba(85,44,154,.055);pointer-events:none}.sofu-unso-flagship-copy>*:not(.sofu-unso-flagship-mark){position:relative;z-index:1}.sofu-unso-flagship-copy h1{margin:18px 0 22px;max-width:850px;font-size:clamp(4rem,7.3vw,7.3rem);line-height:.82;letter-spacing:-.075em}.sofu-unso-flagship-copy h1 em{font-style:normal;color:var(--sofu-violet)}.sofu-unso-flagship-copy>p{max-width:680px;font-size:1.08rem;color:var(--sofu-muted)}.sofu-unso-learn-link{display:inline-flex;align-items:center;gap:18px;margin-top:25px;padding-bottom:5px;border-bottom:1px solid #cfc2ef;font-weight:850}.sofu-unso-learn-link span{font-size:1.15rem;color:var(--sofu-violet)}
.sofu-unso-fastlane{position:relative;overflow:hidden;min-height:590px;border-radius:38px;background:#1b0c40;color:#fff;box-shadow:0 36px 90px rgba(38,17,71,.22);display:flex;flex-direction:column;padding:28px}.sofu-unso-fastlane figure{position:absolute;inset:0;margin:0}.sofu-unso-fastlane figure img{width:100%;height:100%;object-fit:cover;object-position:center 34%;display:block}.sofu-unso-fastlane-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,11,60,.18) 0%,rgba(23,11,60,.3) 30%,rgba(23,11,60,.96) 83%)}.sofu-unso-fastlane-top,.sofu-unso-fastlane-main,.sofu-unso-fastlane-actions{position:relative;z-index:2}.sofu-unso-fastlane-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.sofu-unso-fastlane-top>span{display:flex;align-items:center;gap:8px;color:#fff}.sofu-unso-fastlane-top i{width:8px;height:8px;border-radius:50%;background:#d98a33;box-shadow:0 0 0 5px rgba(217,138,51,.15);animation:sofu-live-pulse 1.9s ease-in-out infinite}.sofu-unso-fastlane-top b{font-weight:900;color:#d8ccf7}.sofu-unso-fastlane-main{margin-top:auto}.sofu-unso-fastlane-main>strong{display:block;font-size:clamp(5.6rem,10vw,8.6rem);line-height:.7;letter-spacing:-.09em;color:#b99dff}.sofu-unso-fastlane-main h2{margin:24px 0 7px;max-width:520px;font-size:1.7rem;line-height:1;letter-spacing:-.045em}.sofu-unso-fastlane-main p{margin:0;color:#ded5ef}.sofu-unso-fastlane-actions{display:grid;gap:10px;margin-top:22px}.sofu-unso-fastlane-actions .sofu-button{justify-content:space-between}.sofu-unso-fastlane-detail{display:flex;justify-content:space-between;padding:14px 3px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;font-weight:850;color:#fff}.sofu-unso-mobile-live-ribbon{display:none}
@keyframes sofu-live-pulse{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.12);opacity:1}}

.sofu-unso-programme-story{position:relative}.sofu-unso-story-swipe-hint{display:none}.sofu-unso-programme-story .sofu-unso-story-step{transition:transform .35s,box-shadow .35s,border-color .35s}.sofu-unso-programme-story .sofu-unso-story-step:hover{transform:translateY(-4px);border-color:#d5c7f2;box-shadow:0 22px 55px rgba(38,17,71,.08)}

.sofu-unso-live-hub{position:relative;overflow:hidden;padding:118px 0 122px;background:linear-gradient(155deg,#150a35 0,#211046 46%,#32156b 100%);color:#fff}.sofu-unso-live-hub-glow{position:absolute;width:900px;height:900px;border-radius:50%;right:-560px;top:-450px;background:radial-gradient(circle,rgba(152,120,247,.18),transparent 63%);pointer-events:none}.sofu-unso-live-heading{position:relative;display:grid;grid-template-columns:.52fr 1.48fr;gap:65px;align-items:end}.sofu-unso-live-heading>div:first-child{display:flex;flex-direction:column}.sofu-unso-live-heading .sofu-kicker{color:#cbbaff}.sofu-unso-live-heading>div:first-child>strong{font-size:clamp(8rem,17vw,15rem);line-height:.68;letter-spacing:-.1em;color:#a98aff}.sofu-unso-live-heading>div:last-child{padding-bottom:5px}.sofu-unso-live-heading h2{margin:18px 0 14px;max-width:860px;font-size:clamp(3rem,5.7vw,5.7rem);line-height:.89;letter-spacing:-.065em}.sofu-unso-live-heading p{max-width:760px;color:#cfc6df;font-size:1.05rem}.sofu-status-pill.is-light{display:inline-flex;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}.sofu-unso-live-actions{position:relative;display:flex;gap:12px;flex-wrap:wrap;margin:38px 0 46px;padding-top:25px;border-top:1px solid rgba(255,255,255,.13)}.sofu-button-ghost-light{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#fff}.sofu-button-ghost-light:hover{background:#fff;color:var(--sofu-purple)}
.sofu-unso-season-progress{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:70px;border-block:1px solid rgba(255,255,255,.13)}.sofu-unso-season-progress>div{position:relative;display:grid;gap:20px;padding:22px 18px 22px 0;color:#786b92}.sofu-unso-season-progress>div:not(:last-child):after{content:"";position:absolute;right:16px;top:50%;width:52px;height:1px;background:rgba(255,255,255,.12)}.sofu-unso-season-progress span{font-size:.62rem;letter-spacing:.13em;font-weight:900}.sofu-unso-season-progress b{font-size:.9rem}.sofu-unso-season-progress .is-done{color:#b7a5df}.sofu-unso-season-progress .is-current{color:#fff}.sofu-unso-season-progress .is-current span{color:#d8923c}.sofu-unso-season-progress .is-current:before{content:"";position:absolute;left:0;bottom:-2px;width:54%;height:3px;border-radius:3px;background:#d8923c}
.sofu-unso-live-dates{margin-bottom:34px}.sofu-unso-live-subhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.sofu-unso-live-subhead>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;color:#cbbaff;font-weight:900}.sofu-unso-live-subhead>small{color:#8e80aa}.sofu-unso-date-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sofu-unso-date-rail article{min-height:175px;padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(255,255,255,.045);display:flex;flex-direction:column}.sofu-unso-date-rail article small{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:#bbaaDC;font-weight:850}.sofu-unso-date-rail article>strong{margin-top:auto;font-size:3.8rem;line-height:.8;letter-spacing:-.08em;color:#fff}.sofu-unso-date-rail article>span{margin-top:8px;font-size:.64rem;letter-spacing:.1em;color:#a894d8;font-weight:900}.sofu-unso-date-rail article.is-event{background:#fff;color:var(--sofu-ink)}.sofu-unso-date-rail article.is-event small{color:var(--sofu-violet)}.sofu-unso-date-rail article.is-event>strong{color:var(--sofu-violet)}.sofu-unso-date-rail article.is-event h3{margin:15px 0 0;font-size:.95rem;line-height:1.05}
.sofu-unso-live-stage-stack{position:relative;display:grid;gap:18px}.sofu-unso-live-stage{position:relative;overflow:hidden;padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:36px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.sofu-unso-live-stage.is-regional{background:linear-gradient(145deg,rgba(92,54,163,.42),rgba(255,255,255,.035))}.sofu-unso-live-stage.is-national{background:linear-gradient(145deg,rgba(204,121,32,.11),rgba(255,255,255,.04))}.sofu-unso-live-stage-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.12)}.sofu-unso-live-stage-head>div:first-child>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#baa6ed;font-weight:900}.sofu-unso-live-stage-head h3{margin:11px 0 0;max-width:780px;font-size:clamp(2.5rem,4.8vw,4.6rem);line-height:.91;letter-spacing:-.06em}.sofu-unso-live-stage-grid{display:grid;grid-template-columns:1fr .8fr;gap:45px;padding-top:30px}.sofu-unso-live-stage-copy>p{max-width:650px;color:#cfc5de}.sofu-unso-cut{display:flex;flex-direction:column;gap:4px;margin:28px 0;padding:20px;border-left:3px solid #b99dff;background:rgba(255,255,255,.05)}.sofu-unso-cut span{font-size:.6rem;text-transform:uppercase;letter-spacing:.13em;color:#ad9ccf;font-weight:900}.sofu-unso-cut strong{font-size:1.5rem}.sofu-unso-live-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sofu-unso-live-scoreboard>div{min-height:220px;padding:22px;border-radius:25px;background:#fff;color:var(--sofu-ink);display:flex;flex-direction:column;justify-content:flex-end}.sofu-unso-live-scoreboard strong{font-size:5.2rem;line-height:.75;letter-spacing:-.08em;color:var(--sofu-violet)}.sofu-unso-live-scoreboard span{margin-top:18px;font-weight:850}.sofu-unso-problem-wrap{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.sofu-unso-problem-rail,.sofu-unso-national-topic-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sofu-unso-problem-rail article,.sofu-unso-national-topic-rail article{min-height:210px;padding:21px;border:1px solid rgba(255,255,255,.13);border-radius:23px;background:rgba(255,255,255,.045)}.sofu-unso-problem-rail article>span,.sofu-unso-national-topic-rail article>span{font-size:2.4rem;line-height:.8;color:#8c72cc;font-weight:850}.sofu-unso-problem-rail h4,.sofu-unso-national-topic-rail h4{margin:42px 0 8px;font-size:1.28rem;line-height:1.04}.sofu-unso-problem-rail p,.sofu-unso-national-topic-rail p{color:#bcb2ca;font-size:.84rem}.sofu-unso-national-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;padding-top:30px}.sofu-unso-national-grid>div>p{max-width:580px;color:#cec5dc}.sofu-unso-national-grid dl{display:grid;gap:12px;margin:28px 0}.sofu-unso-national-grid dl>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.sofu-unso-national-grid dt{font-size:.59rem;text-transform:uppercase;letter-spacing:.1em;color:#9d8fb9;font-weight:900}.sofu-unso-national-grid dd{margin:0;font-weight:850}.sofu-unso-national-grid figure{position:relative;margin:0;min-height:430px;border-radius:28px;overflow:hidden}.sofu-unso-national-grid figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.sofu-unso-national-grid figure:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(180deg,transparent,rgba(18,8,40,.86))}.sofu-unso-national-grid figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.sofu-unso-national-grid figcaption span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;color:#cab9f4;font-weight:900}.sofu-unso-national-grid figcaption strong{display:block;margin-top:7px;font-size:1.3rem}
.sofu-unso-updates{margin-top:54px;padding-top:35px;border-top:1px solid rgba(255,255,255,.13)}.sofu-unso-updates-heading{display:grid;grid-template-columns:.48fr 1fr;gap:42px;align-items:end;margin-bottom:22px}.sofu-unso-updates-heading .sofu-kicker{color:#c9b7f8}.sofu-unso-updates-heading h3{margin:0;font-size:clamp(2.3rem,4.4vw,4rem);line-height:.94;letter-spacing:-.055em}.sofu-unso-update-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sofu-unso-update-rail article{min-height:270px;padding:23px;border-radius:25px;background:#fff;color:var(--sofu-ink);display:flex;flex-direction:column}.sofu-unso-update-rail time{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:900}.sofu-unso-update-rail h4{font-size:1.5rem;line-height:1.02;margin:38px 0 10px}.sofu-unso-update-rail p{color:var(--sofu-muted);font-size:.88rem}.sofu-unso-update-rail a{margin-top:auto;font-weight:850;color:var(--sofu-violet)}

/* Archive transition now reads explicitly as history, never as the live season. */
.sofu-hall-champions+.sofu-editions-section{border-top:1px solid var(--sofu-line)}

@media(max-width:1023px){
  .sofu-unso-flagship-hero{padding:calc(108px + var(--safe-top)) 0 44px;min-height:auto}.sofu-unso-flagship-orbit{width:520px;height:520px;right:-365px;top:-250px}.sofu-unso-flagship-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.sofu-unso-flagship-copy{min-height:48svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:8px}.sofu-unso-flagship-mark{position:absolute;left:-6px;top:8px;font-size:44vw;color:rgba(83,47,150,.06)}.sofu-unso-flagship-copy h1{font-size:clamp(4rem,17vw,6.4rem);line-height:.79;margin:11px 0 17px;max-width:96%}.sofu-unso-flagship-copy>p{font-size:.94rem;max-width:92%}.sofu-unso-learn-link{display:none}
  .sofu-unso-fastlane{min-height:49svh;border-radius:30px;padding:20px;box-shadow:0 28px 70px rgba(38,17,71,.19)}.sofu-unso-fastlane-main>strong{font-size:clamp(5.5rem,28vw,8rem)}.sofu-unso-fastlane-main h2{font-size:1.35rem;max-width:86%}.sofu-unso-fastlane-top{font-size:.54rem}.sofu-unso-fastlane-actions{gap:7px}.sofu-unso-fastlane-actions .sofu-button{padding:13px 15px}.sofu-unso-fastlane-detail{font-size:.7rem}

  .sofu-unso-programme-story{padding:78px 0 68px;overflow:hidden}.sofu-unso-programme-story .sofu-unso-story-heading{margin-bottom:24px}.sofu-unso-story-swipe-hint{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px 48px;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sofu-violet);font-weight:900}.sofu-unso-story-swipe-hint i{font-style:normal;font-size:1rem}.sofu-unso-programme-story .sofu-unso-story-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;margin-left:48px;margin-right:calc((100vw - min(100vw - 32px,1180px))/ -2);padding-right:16vw;scrollbar-width:none}.sofu-unso-programme-story .sofu-unso-story-steps::-webkit-scrollbar{display:none}.sofu-unso-programme-story .sofu-unso-story-step{flex:0 0 78vw;scroll-snap-align:start;min-height:55svh;padding:23px;grid-template-columns:38px 1fr;align-content:end}.sofu-unso-programme-story .sofu-unso-story-step>span{padding-top:4px}.sofu-unso-programme-story .sofu-unso-story-step h3{font-size:2.15rem}.sofu-unso-programme-story .sofu-score-equation b{font-size:3rem}

  .sofu-unso-live-hub{padding:86px 0 88px}.sofu-unso-live-heading{display:block}.sofu-unso-live-heading>div:first-child{position:relative;min-height:0;display:block;padding-top:2px}.sofu-unso-live-heading .sofu-kicker{display:block;position:relative;z-index:2;margin:0 0 24px;line-height:1.35}.sofu-unso-live-heading>div:first-child>strong{display:block;position:relative;z-index:1;width:max-content;max-width:100%;margin:0;transform:translateX(-.025em);font-size:clamp(8.4rem,36vw,12rem);line-height:.72;letter-spacing:-.085em;color:#a486ed}.sofu-unso-live-heading>div:last-child{margin-top:38px}.sofu-unso-live-heading h2{font-size:clamp(3rem,13vw,4.8rem);line-height:.87}.sofu-unso-live-heading p{font-size:.94rem}.sofu-unso-live-actions{align-items:stretch;flex-direction:column;margin:28px 0 35px}.sofu-unso-live-actions .sofu-button{width:100%;justify-content:space-between}
  .sofu-unso-season-progress{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;margin:0 -16px 46px;padding:0 16px;border:0;scrollbar-width:none}.sofu-unso-season-progress::-webkit-scrollbar{display:none}.sofu-unso-season-progress>div{flex:0 0 46vw;scroll-snap-align:start;min-height:125px;padding:17px;border:1px solid rgba(255,255,255,.11);border-radius:18px;margin-right:8px;background:rgba(255,255,255,.035)}.sofu-unso-season-progress>div:not(:last-child):after{display:none}.sofu-unso-season-progress .is-current:before{left:16px;right:16px;width:auto;bottom:10px;height:2px}
  .sofu-unso-date-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:9px;padding-right:18vw;scrollbar-width:none}.sofu-unso-date-rail::-webkit-scrollbar{display:none}.sofu-unso-date-rail article{flex:0 0 54vw;min-height:185px;scroll-snap-align:start}
  .sofu-unso-live-stage-stack{gap:14px}.sofu-unso-live-stage{padding:22px;border-radius:29px}.sofu-unso-live-stage-head{display:block;padding-bottom:19px}.sofu-unso-live-stage-head .sofu-status-pill{margin-top:18px}.sofu-unso-live-stage-head h3{font-size:clamp(2.65rem,12vw,4rem)}.sofu-unso-live-stage-grid,.sofu-unso-national-grid{grid-template-columns:1fr;gap:24px}.sofu-unso-live-scoreboard{order:-1}.sofu-unso-live-scoreboard>div{min-height:180px;padding:17px}.sofu-unso-live-scoreboard strong{font-size:4.5rem}.sofu-unso-live-stage-copy>p{font-size:.92rem}.sofu-unso-problem-rail,.sofu-unso-national-topic-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:9px;padding-right:15vw;scrollbar-width:none}.sofu-unso-problem-rail::-webkit-scrollbar,.sofu-unso-national-topic-rail::-webkit-scrollbar{display:none}.sofu-unso-problem-rail article,.sofu-unso-national-topic-rail article{flex:0 0 76vw;min-height:245px;scroll-snap-align:start}.sofu-unso-national-grid figure{order:-1;min-height:48svh}.sofu-unso-national-grid dl>div{grid-template-columns:72px 1fr}
  .sofu-unso-updates{margin-top:42px}.sofu-unso-updates-heading{grid-template-columns:1fr;gap:10px}.sofu-unso-updates-heading h3{font-size:2.8rem}.sofu-unso-update-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:9px;padding-right:15vw;scrollbar-width:none}.sofu-unso-update-rail::-webkit-scrollbar{display:none}.sofu-unso-update-rail article{flex:0 0 80vw;min-height:300px;scroll-snap-align:start}
}
@media(max-width:479px){
  .sofu-unso-flagship-copy{min-height:44svh}.sofu-unso-flagship-copy h1{font-size:clamp(3.7rem,18vw,5.3rem)}.sofu-unso-fastlane{min-height:52svh}.sofu-unso-fastlane-main h2{font-size:1.2rem}
  .sofu-unso-programme-story .sofu-unso-story-steps{margin-left:0}.sofu-unso-story-swipe-hint{margin-left:0}.sofu-unso-programme-story .sofu-unso-story-step{flex-basis:84vw}
  .sofu-unso-live-heading .sofu-kicker{margin-bottom:21px}.sofu-unso-live-heading>div:first-child>strong{font-size:clamp(8rem,39vw,10.5rem);line-height:.73}.sofu-unso-live-heading>div:last-child{margin-top:34px}.sofu-unso-live-scoreboard>div{min-height:160px}.sofu-unso-date-rail article{flex-basis:62vw}.sofu-unso-season-progress>div{flex-basis:55vw}.sofu-unso-problem-rail article,.sofu-unso-national-topic-rail article{flex-basis:82vw}
}
@media(prefers-reduced-motion:reduce){.sofu-unso-fastlane-top i{animation:none}}


/* v1.4.2 — Mobile live-year alignment: give the current-tournament kicker its own line box and prevent oversized year glyphs from overlapping it. */

/* =========================================================
   v1.5 — UNSO archive as one documentary page
   Regional Qualifiers + National Tournament, no page maze.
   ========================================================= */
.sofu-archive-chapter-nav{position:sticky;top:96px;z-index:60;background:rgba(251,250,254,.88);backdrop-filter:blur(18px) saturate(140%);border-block:1px solid rgba(231,225,242,.85)}
.admin-bar .sofu-archive-chapter-nav{top:128px}.sofu-archive-chapter-nav .sofu-container{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:10px}.sofu-archive-chapter-nav .sofu-container::-webkit-scrollbar{display:none}.sofu-archive-chapter-nav a{flex:none;display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap;color:var(--sofu-muted);transition:.25s}.sofu-archive-chapter-nav a span{font-size:.58rem;color:var(--sofu-violet);letter-spacing:.08em}.sofu-archive-chapter-nav a:hover,.sofu-archive-chapter-nav a.is-active{background:var(--sofu-purple);color:#fff}.sofu-archive-chapter-nav a:hover span,.sofu-archive-chapter-nav a.is-active span{color:#cbbfff}
.sofu-unso-archive-overview{padding:72px 0 88px;background:linear-gradient(180deg,#fff,#f7f4ff)}.sofu-archive-overview-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:end}.sofu-archive-overview-copy h2{font-size:clamp(3rem,5.7vw,5.8rem);line-height:.87;letter-spacing:-.065em;margin:10px 0 24px}.sofu-archive-overview-copy h2 em{font-style:normal;color:var(--sofu-violet)}.sofu-archive-overview-copy p{max-width:580px;color:var(--sofu-muted);font-size:1.04rem}.sofu-archive-overview-track{display:grid;grid-template-columns:1fr 36px 1fr;gap:12px;align-items:center}.sofu-archive-overview-track>a{min-height:210px;padding:24px;border-radius:26px;border:1px solid var(--sofu-line);background:#fff;display:flex;flex-direction:column;box-shadow:0 18px 55px rgba(38,17,71,.07);transition:.25s}.sofu-archive-overview-track>a:hover{transform:translateY(-4px);box-shadow:var(--sofu-shadow)}.sofu-archive-overview-track small{font-size:.68rem;color:var(--sofu-violet);font-weight:900;letter-spacing:.12em}.sofu-archive-overview-track strong{font-size:1.45rem;line-height:1.05;margin-top:auto}.sofu-archive-overview-track span{font-size:.76rem;color:var(--sofu-muted);margin-top:8px}.sofu-archive-overview-track>i{font-style:normal;text-align:center;color:var(--sofu-violet);font-size:1.4rem}
.sofu-unso-archive-chapter{scroll-margin-top:160px}.sofu-unso-archive-chapter.is-regional{padding:108px 0 120px;background:#fbfefd;position:relative;overflow:hidden}.sofu-unso-archive-chapter.is-regional:before{content:"R";position:absolute;right:-3vw;top:-8vw;font-size:34vw;font-weight:900;line-height:1;color:rgba(62,151,132,.035);pointer-events:none}.sofu-archive-chapter-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;position:relative;z-index:1}.sofu-chapter-index{display:inline-flex;font-size:.7rem;font-weight:900;letter-spacing:.15em;color:#2f9a82;margin-bottom:20px}.sofu-archive-chapter-copy h2,.sofu-national-archive-copy h2{font-size:clamp(3.2rem,6vw,6.2rem);line-height:.86;letter-spacing:-.065em;margin:0 0 24px}.sofu-archive-chapter-copy h2 em,.sofu-national-archive-copy h2 em{font-style:normal;color:#2f9a82}.sofu-archive-chapter-copy p,.sofu-national-archive-copy>p{color:var(--sofu-muted);font-size:1.03rem;max-width:580px}.sofu-archive-publication-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.sofu-archive-chapter-photo{position:relative;margin:0;min-height:540px;border-radius:34px;overflow:hidden;box-shadow:0 36px 100px rgba(25,72,62,.14);transform:rotate(1.2deg)}.sofu-archive-chapter-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.sofu-archive-chapter-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,44,37,.72))}.sofu-archive-chapter-photo figcaption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;display:flex;justify-content:space-between;align-items:end;color:#fff}.sofu-archive-chapter-photo figcaption span{font-size:.66rem;letter-spacing:.14em;font-weight:900}.sofu-archive-chapter-photo figcaption strong{font-size:3.8rem;line-height:.8;letter-spacing:-.06em}
.sofu-archive-scoreboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:70px 0}.sofu-archive-scoreboard>div{min-height:230px;border-radius:28px;padding:24px;border:1px solid #d7eee8;background:rgba(255,255,255,.76);display:flex;flex-direction:column}.sofu-archive-scoreboard strong{font-size:5.5rem;line-height:.8;letter-spacing:-.07em;color:#2f9a82}.sofu-archive-scoreboard span{font-size:1rem;font-weight:850;margin-top:auto}.sofu-archive-scoreboard small{color:var(--sofu-muted);font-size:.74rem;margin-top:8px}.sofu-archive-scoreboard .is-qualification{background:#173f37;color:#fff;border-color:#173f37}.sofu-archive-scoreboard .is-qualification strong{color:#9be2d1}.sofu-archive-scoreboard .is-qualification small{color:#bad7d0}
.sofu-archive-subheading{display:grid;grid-template-columns:.7fr 1.2fr;gap:22px;align-items:end;margin:70px 0 30px}.sofu-archive-subheading>span{font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#2f9a82}.sofu-archive-subheading h3{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:.9;letter-spacing:-.055em;margin:0}.sofu-archive-subheading p{grid-column:2;color:var(--sofu-muted);margin:0;max-width:680px}.sofu-archive-subheading.is-light>span{color:#b7a5ff}.sofu-archive-subheading.is-light h3{color:#fff}.sofu-archive-subheading.is-light p{color:#c9c0dd}
.sofu-regional-problem-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 18px}.sofu-regional-problem-rail::-webkit-scrollbar{display:none}.sofu-regional-problem-card{flex:0 0 calc(33.333% - 11px);min-height:420px;scroll-snap-align:start;border:1px solid #d7eee8;border-radius:30px;background:#fff;overflow:hidden;position:relative;display:flex;flex-direction:column}.sofu-regional-problem-card figure{margin:0;height:190px;overflow:hidden}.sofu-regional-problem-card figure img{width:100%;height:100%;object-fit:cover}.sofu-problem-number{position:absolute;right:18px;top:16px;font-size:1rem;font-weight:900;color:#2f9a82;background:rgba(255,255,255,.9);border-radius:999px;padding:6px 10px;z-index:2}.sofu-regional-problem-copy{padding:24px;display:flex;flex-direction:column;flex:1}.sofu-regional-problem-copy>small{font-size:.63rem;letter-spacing:.12em;color:#2f9a82;font-weight:900;text-transform:uppercase}.sofu-regional-problem-copy h4{font-size:1.5rem;line-height:1.05;margin:10px 0 12px}.sofu-regional-problem-copy p{color:var(--sofu-muted);font-size:.84rem}.sofu-best-research{margin-top:auto;padding-top:20px;border-top:1px solid #e1efeb;display:grid;gap:4px}.sofu-best-research span{font-size:.6rem;color:#2f9a82;font-weight:900;letter-spacing:.12em}.sofu-best-research strong{font-size:.96rem}.sofu-best-research small{color:var(--sofu-muted)}
.sofu-mobile-swipe-cue{display:none}.sofu-qualified-teams-block{margin-top:76px;padding:34px;border-radius:32px;background:#fff;border:1px solid #d7eee8;box-shadow:0 22px 70px rgba(32,77,66,.07)}.sofu-qualified-teams-head{display:flex;align-items:end;justify-content:space-between;gap:28px;padding-bottom:24px;border-bottom:1px solid #e1efeb}.sofu-qualified-teams-head h3{font-size:2.5rem;line-height:.95;margin:8px 0}.sofu-qualified-teams-head p{max-width:720px;color:var(--sofu-muted);font-size:.86rem}.sofu-qualified-teams-head>a{font-weight:850;color:#2f9a82;white-space:nowrap}.sofu-ranking-tools{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:24px 0 14px}.sofu-ranking-tools label{display:grid;gap:6px;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--sofu-muted);width:min(420px,100%)}.sofu-ranking-tools input{width:100%;height:46px;border:1px solid #d7eee8;background:#fbfefd;border-radius:14px;padding:0 14px;color:var(--sofu-ink);outline:none}.sofu-ranking-tools input:focus{border-color:#2f9a82}.sofu-ranking-tools button{border:0;border-radius:14px;background:#173f37;color:#fff;padding:13px 16px;font-weight:850;cursor:pointer}.sofu-qualified-ranking{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sofu-qualified-ranking article{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;min-height:68px;padding:8px 14px;border:1px solid #e3efec;border-radius:16px}.sofu-qualified-ranking article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf8f4;color:#2f9a82;font-size:.72rem;font-weight:900}.sofu-qualified-ranking article div{display:grid}.sofu-qualified-ranking article strong{font-size:.88rem}.sofu-qualified-ranking article small{font-size:.7rem;color:var(--sofu-muted)}.sofu-qualified-ranking article>b{font-size:.78rem;color:#2f9a82}.sofu-archive-empty-note{padding:20px 0;color:var(--sofu-muted)}
.sofu-unso-archive-chapter.is-national{padding:120px 0;background:linear-gradient(155deg,#180b3e 0,#261147 56%,#12072d 100%);color:#fff;position:relative;overflow:hidden}.sofu-unso-archive-chapter.is-national:after{content:"02";position:absolute;right:-5vw;top:2vw;font-size:28vw;line-height:.8;font-weight:900;color:rgba(255,255,255,.025);pointer-events:none}.sofu-national-archive-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:68px;align-items:center;position:relative;z-index:1}.sofu-national-archive-photo{margin:0;min-height:620px;border-radius:36px;overflow:hidden;position:relative;box-shadow:0 38px 110px rgba(5,0,24,.35);transform:rotate(-1.1deg)}.sofu-national-archive-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sofu-national-archive-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(15,7,36,.9))}.sofu-national-archive-photo figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;display:flex;align-items:end;justify-content:space-between}.sofu-national-archive-photo figcaption span{font-size:.66rem;font-weight:900;letter-spacing:.14em}.sofu-national-archive-photo figcaption strong{font-size:4rem;line-height:.8;letter-spacing:-.06em;color:#c8b7ff}.sofu-national-archive-copy .sofu-chapter-index{color:#b7a5ff}.sofu-national-archive-copy h2 em{color:#a98eee}.sofu-national-archive-copy>p{color:#c9c0dd}.sofu-national-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.sofu-national-meta span{padding:14px 0;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:5px}.sofu-national-meta small{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#a99fbd}.sofu-national-meta strong{font-size:.84rem}
.sofu-archive-podium-rail{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:14px}.sofu-archive-podium-rail article{min-height:460px;border-radius:30px;overflow:hidden;background:#2e1a50;border:1px solid rgba(255,255,255,.12);position:relative;display:flex;align-items:end}.sofu-archive-podium-rail article figure{position:absolute;inset:0;margin:0}.sofu-archive-podium-rail article figure img{width:100%;height:100%;object-fit:cover}.sofu-archive-podium-rail article.has-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(19,7,48,.96))}.sofu-archive-podium-rail article>div{position:relative;z-index:2;padding:26px;width:100%}.sofu-archive-podium-rail article>div>span{font-size:4rem;line-height:.8;font-weight:900;color:#a98eee;letter-spacing:-.06em}.sofu-archive-podium-rail small{display:block;margin-top:16px;color:#c3b8dc;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.sofu-archive-podium-rail h4{font-size:1.5rem;line-height:1.05;margin:7px 0 0}.sofu-archive-podium-rail .is-champion{min-height:520px}.sofu-archive-podium-rail .is-champion h4{font-size:2rem}
.sofu-national-recognition-block{margin-top:82px}.sofu-archive-school-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sofu-archive-school-rail article{min-height:250px;padding:24px;border-radius:28px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.sofu-archive-school-rail figure{margin:0 0 30px;width:76px;height:76px;border-radius:22px;background:#fff;padding:8px;display:grid;place-items:center}.sofu-archive-school-rail figure img{max-width:100%;max-height:100%;object-fit:contain}.sofu-archive-school-rail small{color:#a98eee;font-weight:900;letter-spacing:.1em}.sofu-archive-school-rail strong{font-size:1.25rem;line-height:1.08;margin-top:auto}.sofu-archive-school-rail p{color:#bcb1d1;font-size:.78rem}.sofu-archive-awards-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.sofu-archive-awards-rail::-webkit-scrollbar{display:none}.sofu-archive-awards-rail article{flex:0 0 calc(25% - 9px);scroll-snap-align:start;min-height:310px;border-radius:28px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);position:relative;display:flex;align-items:end}.sofu-archive-awards-rail figure{position:absolute;inset:0;margin:0}.sofu-archive-awards-rail figure img{width:100%;height:100%;object-fit:cover}.sofu-archive-awards-rail article.has-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#21103e)}.sofu-archive-awards-rail article>div{position:relative;z-index:2;padding:20px}.sofu-archive-awards-rail small{font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:#c8b7ff;font-weight:900}.sofu-archive-awards-rail strong{display:block;font-size:1rem;line-height:1.08;margin-top:6px}.sofu-archive-awards-rail p{font-size:.7rem;color:#bdb2d3}
.sofu-national-problem-band{margin-top:80px;padding:32px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:rgba(255,255,255,.055)}.sofu-national-problem-band>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.sofu-national-problem-band h3{font-size:2.3rem;line-height:.95;margin:0;max-width:650px}.sofu-national-topic-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.sofu-national-topic-rail::-webkit-scrollbar{display:none}.sofu-national-topic-rail article{flex:0 0 240px;scroll-snap-align:start;min-height:160px;border-radius:22px;background:#fff;color:var(--sofu-ink);padding:18px;display:flex;flex-direction:column}.sofu-national-topic-rail article span{font-size:.66rem;color:var(--sofu-violet);font-weight:900}.sofu-national-topic-rail strong{font-size:1rem;line-height:1.05;margin-top:auto}.sofu-national-topic-rail small{font-size:.7rem;color:var(--sofu-muted);margin-top:8px}.sofu-archive-document-band{margin-top:26px;display:flex;justify-content:space-between;align-items:end;gap:30px;padding:26px 0;border-top:1px solid rgba(255,255,255,.16)}.sofu-archive-document-band h3{font-size:1.9rem;margin:5px 0 0}.sofu-archive-document-band>div:last-child{display:flex;gap:20px;flex-wrap:wrap}.sofu-archive-document-band a{font-weight:850;color:#c8b7ff}
.sofu-unso-archive-gallery{scroll-margin-top:160px;padding:110px 0;background:#f7f4ff}.sofu-archive-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.sofu-archive-gallery-grid figure{margin:0;border-radius:24px;overflow:hidden}.sofu-archive-gallery-grid figure.is-feature{grid-column:span 2;grid-row:span 2}.sofu-archive-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.sofu-archive-gallery-grid figure:hover img{transform:scale(1.03)}

@media(max-width:1023px){
  .sofu-archive-chapter-nav{top:90px}.admin-bar .sofu-archive-chapter-nav{top:90px}.sofu-archive-chapter-nav .sofu-container{width:100%;padding-inline:18px}.sofu-archive-chapter-nav a{font-size:.65rem;padding:8px 11px}
  .sofu-unso-archive-overview{padding:54px 0 68px}.sofu-archive-overview-grid{display:block}.sofu-archive-overview-copy h2{font-size:3.8rem;line-height:.84}.sofu-archive-overview-copy p{font-size:.92rem}.sofu-archive-overview-track{margin-top:34px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-20px;padding-right:20px}.sofu-archive-overview-track::-webkit-scrollbar{display:none}.sofu-archive-overview-track>a{flex:0 0 78%;min-height:190px;scroll-snap-align:start}.sofu-archive-overview-track>i{display:none}
  .sofu-unso-archive-chapter.is-regional{padding:70px 0 88px}.sofu-archive-chapter-hero{display:flex;flex-direction:column;gap:28px}.sofu-archive-chapter-copy{order:1}.sofu-archive-chapter-photo{order:2;width:calc(100% + 8px);min-height:440px;align-self:center;border-radius:30px;transform:rotate(.6deg)}.sofu-archive-chapter-photo figcaption strong{font-size:3rem}.sofu-archive-chapter-copy h2,.sofu-national-archive-copy h2{font-size:4.15rem;line-height:.83}.sofu-archive-publication-actions{display:grid;grid-template-columns:1fr}.sofu-archive-publication-actions .sofu-button{width:100%}
  .sofu-archive-scoreboard{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:44px -20px 0;padding:0 20px 12px}.sofu-archive-scoreboard::-webkit-scrollbar{display:none}.sofu-archive-scoreboard>div{flex:0 0 76%;min-height:280px;scroll-snap-align:center}.sofu-archive-scoreboard strong{font-size:7.2rem}.sofu-archive-scoreboard span{font-size:1.05rem}
  .sofu-archive-subheading{display:block;margin:52px 0 22px}.sofu-archive-subheading h3{font-size:3.2rem;margin:8px 0 14px}.sofu-archive-subheading p{font-size:.88rem}.sofu-regional-problem-rail{margin-right:-20px;padding-right:20px}.sofu-regional-problem-card{flex:0 0 84%;min-height:480px}.sofu-regional-problem-card figure{height:220px}.sofu-regional-problem-copy h4{font-size:1.75rem}.sofu-mobile-swipe-cue{display:flex;align-items:center;gap:8px;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:#2f9a82;margin-top:10px}.sofu-mobile-swipe-cue span{font-size:1rem}.sofu-mobile-swipe-cue.is-light{color:#b7a5ff}
  .sofu-qualified-teams-block{margin-top:54px;padding:24px 18px;border-radius:28px}.sofu-qualified-teams-head{display:block}.sofu-qualified-teams-head h3{font-size:2.45rem}.sofu-qualified-teams-head>a{display:inline-flex;margin-top:16px}.sofu-ranking-tools{display:block}.sofu-ranking-tools label{width:100%}.sofu-ranking-tools button{width:100%;margin-top:10px}.sofu-qualified-ranking{grid-template-columns:1fr}.sofu-qualified-ranking article{min-height:74px}
  .sofu-unso-archive-chapter.is-national{padding:80px 0 92px}.sofu-national-archive-intro{display:flex;flex-direction:column;gap:30px}.sofu-national-archive-photo{width:calc(100% + 8px);align-self:center;min-height:520px;order:2;border-radius:30px;transform:rotate(-.6deg)}.sofu-national-archive-copy{order:1}.sofu-national-archive-copy h2{font-size:4.1rem}.sofu-national-meta{grid-template-columns:1fr 1fr}.sofu-national-archive-photo figcaption strong{font-size:3rem}
  .sofu-archive-podium-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 12px}.sofu-archive-podium-rail::-webkit-scrollbar{display:none}.sofu-archive-podium-rail article,.sofu-archive-podium-rail .is-champion{flex:0 0 86%;min-height:560px;scroll-snap-align:center}.sofu-archive-podium-rail article>div>span{font-size:5.5rem}.sofu-archive-podium-rail h4,.sofu-archive-podium-rail .is-champion h4{font-size:1.8rem}
  .sofu-national-recognition-block{margin-top:58px}.sofu-archive-school-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-20px;padding-right:20px}.sofu-archive-school-rail::-webkit-scrollbar{display:none}.sofu-archive-school-rail article{flex:0 0 76%;min-height:270px;scroll-snap-align:start}.sofu-archive-school-rail figure{width:88px;height:88px}.sofu-archive-awards-rail{margin-right:-20px;padding-right:20px}.sofu-archive-awards-rail article{flex:0 0 76%;min-height:430px}.sofu-archive-awards-rail article>div{padding:24px}.sofu-archive-awards-rail strong{font-size:1.2rem}
  .sofu-national-problem-band{padding:22px 18px;margin-top:58px}.sofu-national-problem-band>div:first-child{display:block}.sofu-national-problem-band h3{font-size:2rem;margin-top:8px}.sofu-national-topic-rail{margin-right:-18px;padding-right:18px}.sofu-national-topic-rail article{flex-basis:78%;min-height:190px}.sofu-archive-document-band{display:block}.sofu-archive-document-band>div:last-child{margin-top:18px;display:grid;gap:12px}
  .sofu-unso-archive-gallery{padding:78px 0}.sofu-archive-gallery-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 12px}.sofu-archive-gallery-grid::-webkit-scrollbar{display:none}.sofu-archive-gallery-grid figure,.sofu-archive-gallery-grid figure.is-feature{flex:0 0 86%;height:520px;scroll-snap-align:center}.sofu-archive-gallery-grid img{height:100%;width:100%;object-fit:cover}
}
@media(max-width:430px){.sofu-archive-overview-copy h2{font-size:3.35rem}.sofu-archive-chapter-copy h2,.sofu-national-archive-copy h2{font-size:3.55rem}.sofu-archive-scoreboard>div{flex-basis:82%}.sofu-archive-scoreboard strong{font-size:6.4rem}.sofu-regional-problem-card{flex-basis:88%}.sofu-archive-podium-rail article,.sofu-archive-podium-rail .is-champion{flex-basis:90%;min-height:520px}.sofu-archive-gallery-grid figure,.sofu-archive-gallery-grid figure.is-feature{flex-basis:90%;height:480px}}

/* =========================================================
   v1.5.1 — International archive rail: visible-next-card cue
   Keep part of the next year visible on first paint at every viewport.
   ========================================================= */
/* Desktop: two complete archive cards plus a deliberate sliver of the next.
   This avoids relying on the visitor to discover horizontal scrolling only
   after the first interaction. */
@media (min-width:1024px){
  .sofu-intl-year-rail{
    scroll-padding-inline:0;
  }
  .sofu-intl-year-card{
    flex:0 0 calc(47.17% - 15px);
    min-width:0;
  }
}

/* Tablet: one dominant card with a substantial preview of the next. */
@media (min-width:768px) and (max-width:1023px){
  .sofu-intl-year-card{
    flex:0 0 74%;
  }
}

/* Phone: retain an unmistakable next-card preview from first paint. */
@media (max-width:767px){
  .sofu-intl-year-rail{
    margin-right:-14px;
    padding-right:14px;
    scroll-padding-left:0;
  }
  .sofu-intl-year-card{
    flex-basis:82vw;
  }
}
@media (max-width:420px){
  .sofu-intl-year-card{
    flex-basis:84vw;
  }
}

/* =========================================================
   v1.6 — Desktop navigation reimagined as a SOFU command bar
   ========================================================= */
.sofu-desktop-command{display:none}

@media (min-width:1024px){
  /* Mobile overlay remains exclusively mobile; desktop gets its own navigation object. */
  .sofu-nav-overlay{display:none!important}
  .sofu-site-header{padding-top:14px}
  .sofu-header-inner{
    height:76px;
    padding:0 10px 0 13px;
    border-radius:24px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(225,217,242,.96);
    box-shadow:0 16px 54px rgba(29,12,65,.09);
    backdrop-filter:blur(26px) saturate(150%);
    overflow:visible;
    gap:18px;
  }
  .sofu-site-header.is-scrolled .sofu-header-inner{box-shadow:0 20px 64px rgba(29,12,65,.14)}
  .sofu-brand{flex:none;min-width:178px}
  .sofu-brand-mark{width:42px;height:42px;border-radius:15px}
  .sofu-brand-copy strong{font-size:.78rem}.sofu-brand-copy span{font-size:.62rem;margin-top:4px}
  .sofu-menu-toggle{display:none!important}

  .sofu-desktop-command{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0;flex:1}
  .sofu-desktop-nav{
    position:relative;
    display:flex;
    align-items:center;
    gap:2px;
    padding:5px;
    border:1px solid rgba(226,219,239,.9);
    border-radius:18px;
    background:linear-gradient(180deg,rgba(251,249,255,.82),rgba(245,241,252,.66));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
    min-width:0;
  }
  .sofu-desktop-link,.sofu-desktop-world-trigger{
    position:relative;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 13px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:var(--sofu-ink);
    cursor:pointer;
    white-space:nowrap;
    font-weight:820;
    font-size:.73rem;
    letter-spacing:-.012em;
    transition:background .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease;
  }
  .sofu-desktop-link small,.sofu-desktop-world-trigger small{
    display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;
    background:#ede7fb;color:var(--sofu-violet);font-size:.49rem;letter-spacing:.04em;font-weight:950;
  }
  .sofu-desktop-link:after{
    content:"";position:absolute;left:13px;right:13px;bottom:6px;height:2px;border-radius:999px;background:var(--sofu-violet);
    transform:scaleX(0);transform-origin:left;transition:transform .24s ease;
  }
  .sofu-desktop-link:hover,.sofu-desktop-world-trigger:hover,.sofu-desktop-world-menu.is-open>.sofu-desktop-world-trigger{
    background:#fff;box-shadow:0 7px 20px rgba(39,18,77,.08);transform:translateY(-1px)
  }
  .sofu-desktop-link:hover:after,.sofu-desktop-link.is-current:after{transform:scaleX(1)}
  .sofu-desktop-link.is-current{background:#fff}
  .sofu-desktop-world-trigger i{font-style:normal;font-size:.72rem;color:var(--sofu-muted);transition:transform .24s ease}
  .sofu-desktop-world-menu:hover>.sofu-desktop-world-trigger i,.sofu-desktop-world-menu.is-open>.sofu-desktop-world-trigger i{transform:rotate(180deg)}

  .sofu-desktop-world-menu{position:relative}
  .sofu-desktop-world-menu:after{content:"";position:absolute;left:-18px;right:-18px;top:100%;height:20px}
  .sofu-desktop-mega{
    position:absolute;
    top:calc(100% + 13px);
    right:-190px;
    width:min(720px,calc(100vw - 48px));
    padding:10px;
    display:grid;
    grid-template-columns:240px 1fr;
    gap:10px;
    border-radius:26px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(224,216,240,.98);
    box-shadow:0 28px 80px rgba(28,11,64,.19);
    backdrop-filter:blur(30px) saturate(160%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transform-origin:70% 0;
    transition:opacity .22s ease,transform .28s cubic-bezier(.2,.75,.2,1),visibility .22s;
    z-index:1400;
  }
  .sofu-desktop-world-menu:hover .sofu-desktop-mega,
  .sofu-desktop-world-menu:focus-within .sofu-desktop-mega,
  .sofu-desktop-world-menu.is-open .sofu-desktop-mega{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
  }
  .sofu-desktop-mega-intro{
    position:relative;overflow:hidden;min-height:278px;padding:24px 22px;border-radius:20px;
    background:linear-gradient(150deg,#241044 0,#32145e 57%,#6d4dd0 150%);color:#fff;
    display:flex;flex-direction:column;justify-content:flex-end;
  }
  .sofu-desktop-mega-intro .sofu-kicker{position:absolute;left:22px;top:22px;color:#cbbcff;font-size:.54rem;letter-spacing:.16em}
  .sofu-desktop-mega-intro strong{position:relative;z-index:2;font-size:2rem;line-height:.92;letter-spacing:-.055em}
  .sofu-desktop-mega-intro p{position:relative;z-index:2;margin:12px 0 0;color:#d9d1e8;font-size:.72rem;line-height:1.55;max-width:185px}
  .sofu-desktop-mega-orbit{position:absolute;width:230px;height:230px;border:1px solid rgba(217,204,255,.22);border-radius:50%;right:-90px;top:-54px}
  .sofu-desktop-mega-orbit:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#d28842;left:21px;bottom:50px;box-shadow:0 0 0 8px rgba(210,136,66,.08)}
  .sofu-desktop-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .sofu-desktop-mega-card{
    position:relative;min-height:135px;padding:16px;border:1px solid var(--sofu-line);border-radius:18px;background:#fbfaff;
    display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;
    transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease;
  }
  .sofu-desktop-mega-card:before{content:"";position:absolute;width:96px;height:96px;border-radius:50%;right:-42px;top:-42px;background:rgba(108,77,204,.07);transition:transform .3s ease}
  .sofu-desktop-mega-card:hover{transform:translateY(-3px);background:#fff;border-color:#d7ccef;box-shadow:0 13px 30px rgba(33,14,72,.09)}
  .sofu-desktop-mega-card:hover:before{transform:scale(1.2)}
  .sofu-desktop-mega-index{position:relative;z-index:1;font-size:.62rem;letter-spacing:.12em;font-weight:950;color:var(--sofu-violet)}
  .sofu-desktop-mega-card strong{position:relative;z-index:1;font-size:.83rem;line-height:1.12;max-width:155px}
  .sofu-desktop-mega-card i{position:absolute;right:14px;bottom:13px;font-style:normal;font-size:.8rem;color:var(--sofu-violet)}
  .sofu-desktop-mega-card.is-ijso{background:linear-gradient(145deg,#fbfaff,#f0ecff)}
  .sofu-desktop-mega-card.is-iynt{background:linear-gradient(145deg,#fbfffd,#edf8f5)}
  .sofu-desktop-mega-card.is-iypt{background:linear-gradient(145deg,#fffdf9,#fbf1e6)}
  .sofu-desktop-mega-card.is-imc{background:linear-gradient(145deg,#fcfbff,#f3efff)}

  .sofu-desktop-live{
    position:relative;flex:none;height:58px;min-width:174px;padding:0 11px 0 14px;border-radius:18px;
    background:linear-gradient(135deg,#251046,#32135f);color:#fff;
    display:grid;grid-template-columns:9px 1fr 26px;align-items:center;gap:9px;
    box-shadow:0 11px 28px rgba(37,16,70,.18);overflow:hidden;transition:transform .24s ease,box-shadow .24s ease;
  }
  .sofu-desktop-live:before{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(196,179,255,.18);border-radius:50%;right:-53px;top:-62px}
  .sofu-desktop-live:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(37,16,70,.25)}
  .sofu-desktop-live-dot{width:8px;height:8px;border-radius:50%;background:#d68a3c;box-shadow:0 0 0 5px rgba(214,138,60,.13);animation:sofuLivePulse 2.1s ease-in-out infinite}
  .sofu-desktop-live-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0;position:relative;z-index:1}
  .sofu-desktop-live-copy small{font-size:.52rem;text-transform:uppercase;letter-spacing:.12em;color:#c9bcdf;font-weight:900}
  .sofu-desktop-live-copy strong{font-size:.69rem;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sofu-desktop-live i{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.11);font-style:normal;font-size:.72rem}
}

@keyframes sofuLivePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.72}}

@media (min-width:1024px) and (max-width:1180px){
  .sofu-header-inner{gap:10px}.sofu-brand{min-width:auto}.sofu-brand-copy{display:none}
  .sofu-desktop-link,.sofu-desktop-world-trigger{padding-inline:10px;font-size:.68rem}
  .sofu-desktop-link small{display:none}.sofu-desktop-live{min-width:150px}
  .sofu-desktop-mega{right:-170px;width:min(680px,calc(100vw - 32px))}
}

@media (min-width:1024px) and (max-width:1080px){
  .sofu-desktop-live{min-width:58px;width:58px;grid-template-columns:8px 26px;padding:0 8px 0 11px}
  .sofu-desktop-live-copy{display:none}.sofu-desktop-live:before{display:none}
  .sofu-desktop-link,.sofu-desktop-world-trigger{padding-inline:8px}
}

@media (max-width:1023px){
  .sofu-desktop-command{display:none!important}
}

@media (prefers-reduced-motion:reduce){.sofu-desktop-live-dot{animation:none!important}.sofu-desktop-mega,.sofu-desktop-link,.sofu-desktop-world-trigger,.sofu-desktop-live{transition:none!important}}


/* v1.7.3 — Event logo watermarks. Core now provides a tightly cropped,
   transparent derivative; the theme treats it as an oversized monochrome
   emblem rather than a rectangular image layer. */
.sofu-next-brandmark{
  right:-7%;bottom:-12%;width:72%;height:88%;opacity:1;
  transform:rotate(-4deg);transform-origin:55% 55%;
  mix-blend-mode:multiply;
}
.sofu-next-brandmark img{
  width:100%;height:100%;object-fit:contain;object-position:center;
  filter:brightness(0) saturate(100%) invert(26%) sepia(44%) saturate(1645%) hue-rotate(220deg) brightness(86%) contrast(97%);
  opacity:.13;
}
.sofu-next-card.is-featured .sofu-next-brandmark{
  width:82%;height:92%;right:-10%;bottom:-15%;transform:rotate(5deg);
  mix-blend-mode:screen;
}
.sofu-next-card.is-featured .sofu-next-brandmark img{filter:brightness(0) invert(1);opacity:.14}
.sofu-next-card:hover .sofu-next-brandmark{transform:translate(-5px,-6px) scale(1.045) rotate(-2deg)}
.sofu-next-card.is-featured:hover .sofu-next-brandmark{transform:translate(-5px,-6px) scale(1.045) rotate(3deg)}
@media (max-width:1023px){
  .sofu-next-brandmark{width:78%;height:82%;right:-10%;bottom:-9%;transform:rotate(-3deg)}
  .sofu-next-card.is-featured .sofu-next-brandmark{width:88%;height:86%;right:-13%;bottom:-11%;transform:rotate(4deg)}
}


/* Client-side watermark preparation keeps opaque source rectangles out of the
   interface while the logo is being converted. If conversion cannot run, the
   logo fails quietly rather than showing a tilted square. */
.sofu-next-brandmark img{opacity:0!important}
.sofu-next-brandmark img.is-brandmark-ready{filter:none!important;opacity:.14!important}
.sofu-next-card:not(.is-featured) .sofu-next-brandmark img.is-brandmark-ready{opacity:.125!important}
.sofu-next-brandmark img.is-brandmark-unavailable{display:none!important}

/* =========================================================
   Resources 1.8 — Preparation Library
   ========================================================= */
.sofu-resource-room-hero{position:relative;overflow:hidden;padding:174px 0 96px;background:linear-gradient(145deg,#12082e 0,#1b0c45 54%,#2c1760 100%);color:#fff}
.sofu-resource-room-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000 10%,transparent 90%)}
.sofu-resource-room-hero:after{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(191,169,255,.18);border-radius:50%;right:-260px;top:-330px;box-shadow:0 0 0 120px rgba(174,145,255,.025),0 0 0 240px rgba(174,145,255,.018)}
.sofu-resource-room-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:72px;align-items:center}
.sofu-resource-room-copy .sofu-eyebrow{color:#bca7ff}.sofu-resource-room-copy h1{font-size:clamp(4.5rem,8vw,8rem);line-height:.84;letter-spacing:-.075em;margin:18px 0 28px;max-width:900px}.sofu-resource-room-copy h1 em{font:inherit;color:#a786ff}.sofu-resource-room-copy>p{max-width:680px;font-size:1.08rem;line-height:1.7;color:#cfc7dc;margin:0}
.sofu-resource-room-stats{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.sofu-resource-room-stats span{display:flex;gap:7px;align-items:center;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#cfc7dc;font-size:.72rem}.sofu-resource-room-stats strong{color:#fff;font-size:.75rem}
.sofu-resource-room-visual{position:relative;min-height:520px}.sofu-resource-sheet{position:absolute;width:285px;height:390px;padding:24px;border-radius:24px;border:1px solid rgba(255,255,255,.18);box-shadow:0 36px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;justify-content:space-between;transform-origin:center}.sofu-resource-sheet span{font-size:.63rem;letter-spacing:.15em;font-weight:900}.sofu-resource-sheet b{font-size:4.2rem;line-height:.8;letter-spacing:-.08em}.sheet-a{right:22%;top:4%;background:#fff;color:#190d3b;transform:rotate(8deg)}.sheet-b{left:6%;top:22%;background:#7250db;color:#fff;transform:rotate(-9deg)}.sheet-c{right:2%;bottom:0;background:#f1edff;color:#29154f;transform:rotate(3deg)}.sofu-resource-orbit{position:absolute;left:4%;bottom:1%;width:74%;aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:end center;padding-bottom:20px;color:#9f91b8;font-size:.58rem;letter-spacing:.13em;font-weight:850;transform:rotate(-8deg)}

.sofu-resource-command{padding:70px 0 0;background:linear-gradient(180deg,#fbfaff 0,#fff 28%,#faf8ff 100%);min-height:900px}.sofu-resource-search-shell{position:sticky;top:82px;z-index:20;display:grid;grid-template-columns:270px minmax(320px,1fr);gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--sofu-line);border-radius:25px;background:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(33,16,75,.07);backdrop-filter:blur(22px)}.sofu-resource-search-copy{display:grid;gap:3px}.sofu-resource-search-copy small{text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;font-weight:900;color:var(--sofu-violet)}.sofu-resource-search-copy strong{font-size:.88rem}.sofu-resource-search-field{height:50px;display:flex;align-items:center;gap:10px;border-radius:15px;background:#f6f3ff;padding:0 15px}.sofu-resource-search-field span{font-size:1.25rem;color:var(--sofu-violet)}.sofu-resource-search-field input{flex:1;border:0;outline:0;background:transparent;font:inherit;color:var(--sofu-ink);min-width:0}.sofu-resource-search-field input::placeholder{color:#9b96a6}.sofu-resource-type-filters{grid-column:1/-1;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.sofu-resource-type-filters::-webkit-scrollbar{display:none}.sofu-resource-type-filters button{flex:none;border:1px solid var(--sofu-line);background:#fff;border-radius:999px;padding:7px 11px;font-size:.66rem;font-weight:850;cursor:pointer;color:var(--sofu-ink)}.sofu-resource-type-filters button.is-active{background:var(--sofu-purple);color:#fff;border-color:var(--sofu-purple)}

.sofu-resource-family-dock{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0 26px}.sofu-resource-family-dock.is-searching{opacity:.35;pointer-events:none}.sofu-resource-family-dock button{position:relative;overflow:hidden;text-align:left;border:1px solid var(--sofu-line);background:#fff;border-radius:22px;padding:18px 18px 16px;min-height:105px;cursor:pointer;transition:.28s}.sofu-resource-family-dock button:after{content:"";position:absolute;width:92px;height:92px;border:1px solid #e7e0f6;border-radius:50%;right:-32px;bottom:-35px}.sofu-resource-family-dock b{display:block;font-size:1.65rem;letter-spacing:-.05em}.sofu-resource-family-dock span{display:block;margin-top:20px;font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;color:var(--sofu-muted);font-weight:850}.sofu-resource-family-dock button:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(40,19,81,.09)}.sofu-resource-family-dock button.is-active{background:var(--sofu-purple);color:#fff;border-color:var(--sofu-purple)}.sofu-resource-family-dock button.is-active span{color:#c9bbe9}.sofu-resource-family-dock button.is-active:after{border-color:rgba(255,255,255,.15)}

.sofu-resource-family-panel{display:none;padding:48px 0 100px}.sofu-resource-family-panel.is-active{display:block}.sofu-resource-family-panel[hidden]{display:none!important}.sofu-resource-family-header{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:24px;min-height:300px;padding:44px;border-radius:36px;background:linear-gradient(135deg,#f3efff,#fff 72%);border:1px solid var(--sofu-line);margin-bottom:18px}.sofu-resource-family-header>div:first-child{position:relative;z-index:2;max-width:730px}.sofu-resource-family-header small{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:900;color:var(--sofu-violet)}.sofu-resource-family-header h2{font-size:clamp(3.2rem,6vw,6.2rem);line-height:.88;letter-spacing:-.065em;margin:24px 0 18px}.sofu-resource-family-header p{max-width:660px;font-size:1rem;color:var(--sofu-muted)}.sofu-resource-family-mark{position:absolute;right:-20px;bottom:-54px;font-size:13rem;line-height:.8;font-weight:900;letter-spacing:-.09em;color:rgba(102,73,202,.08)}.sofu-resource-family-facts{position:absolute;right:30px;top:30px;display:flex;gap:7px;z-index:3}.sofu-resource-family-facts span{padding:8px 10px;border:1px solid var(--sofu-line);background:rgba(255,255,255,.75);border-radius:999px;text-transform:uppercase;letter-spacing:.09em;font-size:.56rem;font-weight:900;color:var(--sofu-muted)}

.sofu-resource-browser{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.sofu-resource-year-nav{position:sticky;top:202px;max-height:calc(100vh - 225px);overflow:auto;padding:14px;border:1px solid var(--sofu-line);border-radius:26px;background:#fff;scrollbar-width:thin}.sofu-resource-year-nav-label{padding:9px 10px 13px;text-transform:uppercase;letter-spacing:.13em;font-size:.57rem;font-weight:900;color:var(--sofu-muted)}.sofu-resource-year-nav button{width:100%;display:grid;grid-template-columns:1fr auto;gap:3px 9px;align-items:center;text-align:left;border:0;background:transparent;border-radius:14px;padding:11px 12px;cursor:pointer;color:var(--sofu-ink);transition:.22s}.sofu-resource-year-nav button strong{font-size:1rem}.sofu-resource-year-nav button small{grid-row:2;grid-column:1;font-size:.55rem;color:var(--sofu-muted);font-weight:750;line-height:1.2}.sofu-resource-year-nav button span{grid-row:1/3;grid-column:2;font-size:.6rem;color:#9d94aa}.sofu-resource-year-nav button:hover{background:#f7f4ff}.sofu-resource-year-nav button.is-active{background:var(--sofu-purple);color:#fff}.sofu-resource-year-nav button.is-active small,.sofu-resource-year-nav button.is-active span{color:#cabce8}
.sofu-resource-year-stage{min-width:0}.sofu-resource-year-panel{display:none}.sofu-resource-year-panel.is-active{display:block}.sofu-resource-year-hero{min-height:220px;padding:34px 36px;border-radius:30px;background:var(--sofu-ink);color:#fff;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end;position:relative;overflow:hidden}.sofu-resource-year-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-80px;top:-105px;box-shadow:0 0 0 65px rgba(255,255,255,.018)}.sofu-resource-year-hero>div,.sofu-resource-year-hero>span{position:relative;z-index:1}.sofu-resource-year-hero small{text-transform:uppercase;letter-spacing:.13em;font-size:.57rem;font-weight:900;color:#bbaaf4}.sofu-resource-year-hero h3{font-size:clamp(3.4rem,6vw,6.2rem);line-height:.85;letter-spacing:-.07em;margin:12px 0 0}.sofu-resource-year-hero p{color:#c8c0d4;margin:12px 0 0}.sofu-resource-year-hero>span{font-size:2.8rem;font-weight:850;letter-spacing:-.06em;display:grid;text-align:right}.sofu-resource-year-hero>span small{font-size:.52rem;color:#b8afc3;margin-top:5px}
.sofu-resource-section-stack{display:grid;gap:12px;margin-top:12px}.sofu-resource-document-group{border:1px solid var(--sofu-line);border-radius:27px;background:#fff;overflow:hidden}.sofu-resource-document-group-title{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--sofu-line);background:#faf9fd}.sofu-resource-document-group-title span{font-weight:850}.sofu-resource-document-group-title small{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sofu-muted);font-weight:850}.sofu-resource-document-list{display:grid}.sofu-resource-document-row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #eee9f6;color:var(--sofu-ink);transition:.2s}.sofu-resource-document-row:last-child{border-bottom:0}.sofu-resource-document-row:hover{background:#f8f5ff}.sofu-resource-doc-badge{width:40px;height:48px;border-radius:10px;background:#f0ebff;color:var(--sofu-violet);display:grid;place-items:center;font-size:.56rem;letter-spacing:.08em;font-weight:900;position:relative}.sofu-resource-doc-badge:after{content:"";position:absolute;right:0;top:0;border-left:9px solid transparent;border-bottom:9px solid #d9cdf7}.sofu-resource-document-row>div{display:grid;gap:3px;min-width:0}.sofu-resource-document-row>div small{text-transform:uppercase;letter-spacing:.1em;font-size:.52rem;font-weight:900;color:var(--sofu-violet)}.sofu-resource-document-row>div strong{font-size:.92rem;line-height:1.25}.sofu-resource-document-row>div em{font-style:normal;font-size:.68rem;color:var(--sofu-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sofu-resource-document-row>i{font-style:normal;font-size:1.1rem}

.sofu-resource-search-results{padding:28px 0 88px}.sofu-resource-search-results[hidden]{display:none!important}.sofu-resource-search-results-head{display:flex;justify-content:space-between;align-items:end;margin:28px 0 18px}.sofu-resource-search-results-head small{text-transform:uppercase;letter-spacing:.13em;font-size:.58rem;font-weight:900;color:var(--sofu-violet)}.sofu-resource-search-results-head h2{font-size:clamp(2.4rem,5vw,4.7rem);letter-spacing:-.055em;line-height:.9;margin:9px 0 0}.sofu-resource-search-results-head>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--sofu-muted)}.sofu-resource-search-result-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sofu-resource-search-result-list .sofu-resource-document-row{border:1px solid var(--sofu-line);border-radius:18px;background:#fff}.sofu-resource-search-result-list .sofu-resource-document-row[hidden]{display:none!important}

.sofu-resource-closing{padding:110px 0;background:#12082e;color:#fff;position:relative;overflow:hidden}.sofu-resource-closing:after{content:"RESOURCE";position:absolute;right:-20px;bottom:-65px;font-size:13rem;font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.035)}.sofu-resource-closing .sofu-container{position:relative;z-index:1}.sofu-resource-closing small{text-transform:uppercase;letter-spacing:.15em;font-size:.6rem;font-weight:900;color:#bba6ff}.sofu-resource-closing h2{font-size:clamp(3.7rem,7vw,7rem);line-height:.86;letter-spacing:-.067em;margin:18px 0}.sofu-resource-closing h2 em{font:inherit;color:#a887ff}.sofu-resource-closing p{max-width:650px;color:#c8c0d4;font-size:1rem}

@media(max-width:1023px){
  .sofu-resource-room-hero{padding:135px 0 70px}.sofu-resource-room-hero-grid{grid-template-columns:1fr;gap:42px}.sofu-resource-room-copy h1{font-size:clamp(4rem,10vw,6.4rem)}.sofu-resource-room-visual{min-height:390px;max-width:680px;width:100%;margin:auto}.sofu-resource-sheet{width:225px;height:310px}.sofu-resource-sheet b{font-size:3.5rem}.sofu-resource-search-shell{top:76px}.sofu-resource-family-dock{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.sofu-resource-family-dock::-webkit-scrollbar{display:none}.sofu-resource-family-dock button{scroll-snap-align:start}.sofu-resource-browser{grid-template-columns:190px minmax(0,1fr)}.sofu-resource-family-header{padding:34px;min-height:270px}.sofu-resource-family-mark{font-size:10rem}
}

@media(max-width:860px){
  .sofu-resource-room-hero{padding:118px 0 58px}.sofu-resource-room-hero-grid{gap:30px}.sofu-resource-room-copy h1{font-size:clamp(3.65rem,13vw,5.4rem);max-width:96%;line-height:.86}.sofu-resource-room-copy>p{font-size:.98rem}.sofu-resource-room-stats{overflow-x:auto;flex-wrap:nowrap;margin-right:-20px;padding-right:20px;scrollbar-width:none}.sofu-resource-room-stats::-webkit-scrollbar{display:none}.sofu-resource-room-stats span{flex:none}.sofu-resource-room-visual{min-height:350px}.sofu-resource-sheet{width:190px;height:265px;padding:18px;border-radius:20px}.sofu-resource-sheet b{font-size:3rem}.sheet-a{right:11%;top:1%}.sheet-b{left:2%;top:23%}.sheet-c{right:0;bottom:0}.sofu-resource-orbit{display:none}
  .sofu-resource-command{padding-top:26px}.sofu-resource-search-shell{position:relative;top:auto;display:block;padding:15px;border-radius:21px}.sofu-resource-search-copy{padding:3px 3px 12px}.sofu-resource-search-copy strong{font-size:.8rem}.sofu-resource-search-field{height:54px}.sofu-resource-type-filters{margin-top:9px}.sofu-resource-family-dock{position:sticky;top:74px;z-index:15;margin:18px -20px 15px;padding:10px 20px;background:rgba(250,248,255,.94);backdrop-filter:blur(18px);display:flex;gap:8px;overflow-x:auto}.sofu-resource-family-dock button{flex:0 0 128px;min-height:82px;padding:13px 14px;border-radius:18px}.sofu-resource-family-dock b{font-size:1.35rem}.sofu-resource-family-dock span{margin-top:12px;font-size:.54rem}
  .sofu-resource-family-panel{padding:24px 0 75px}.sofu-resource-family-header{display:block;min-height:330px;padding:28px 24px;border-radius:28px}.sofu-resource-family-header h2{font-size:clamp(3rem,12vw,4.7rem);max-width:88%;margin-top:18px}.sofu-resource-family-header p{font-size:.92rem;max-width:88%}.sofu-resource-family-mark{font-size:8.5rem;right:-12px;bottom:-30px}.sofu-resource-family-facts{position:absolute;top:auto;right:auto;left:23px;bottom:22px}.sofu-resource-family-facts span{font-size:.5rem}
  .sofu-resource-browser{display:block}.sofu-resource-year-nav{position:relative;top:auto;max-height:none;display:flex;gap:7px;overflow-x:auto;padding:10px 0 13px;border:0;border-radius:0;background:transparent;scrollbar-width:none;margin-right:-20px;padding-right:20px}.sofu-resource-year-nav::-webkit-scrollbar{display:none}.sofu-resource-year-nav-label{display:none}.sofu-resource-year-nav button{flex:0 0 auto;width:auto;min-width:88px;display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--sofu-line);padding:10px 11px;border-radius:15px}.sofu-resource-year-nav button strong{font-size:.88rem}.sofu-resource-year-nav button small{max-width:90px}.sofu-resource-year-stage{scroll-margin-top:165px}.sofu-resource-year-hero{min-height:250px;padding:26px 23px;border-radius:26px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.sofu-resource-year-hero h3{font-size:clamp(3.2rem,14vw,5rem)}.sofu-resource-year-hero>span{position:absolute;right:22px;top:22px;font-size:2rem}.sofu-resource-section-stack{gap:10px}.sofu-resource-document-group{border-radius:22px}.sofu-resource-document-group-title{padding:15px 17px}.sofu-resource-document-row{grid-template-columns:40px 1fr auto;gap:11px;padding:14px}.sofu-resource-doc-badge{width:37px;height:44px}.sofu-resource-document-row>div strong{font-size:.86rem}.sofu-resource-document-row>div em{font-size:.62rem}
  .sofu-resource-search-result-list{grid-template-columns:1fr}.sofu-resource-search-results-head{align-items:start;gap:15px}.sofu-resource-search-results-head h2{font-size:2.8rem}.sofu-resource-closing{padding:82px 0}.sofu-resource-closing h2{font-size:clamp(3.3rem,13vw,5rem)}.sofu-resource-closing:after{font-size:7rem;bottom:-25px}
}

@media(max-width:480px){
  .sofu-resource-room-copy h1{font-size:3.65rem}.sofu-resource-room-visual{min-height:300px}.sofu-resource-sheet{width:165px;height:232px}.sofu-resource-sheet b{font-size:2.55rem}.sofu-resource-family-header{min-height:355px}.sofu-resource-family-header h2{font-size:3.2rem}.sofu-resource-family-mark{font-size:7rem}.sofu-resource-year-hero h3{font-size:3.35rem}.sofu-resource-document-row>div em{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.sofu-resource-search-results-head{display:block}.sofu-resource-search-results-head>span{display:block;margin-top:10px}
}

/* =========================================================
   v1.9 — Signature footer / SOFU closing brand scene
   ========================================================= */
.sofu-footer-signature{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,#09021d 0%,#140532 42%,#251052 100%);color:#fff;padding:0 0 calc(26px + var(--safe-bottom));border-radius:42px 42px 0 0;margin-top:0}
.sofu-footer-signature:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 18% 18%,rgba(104,73,200,.22),transparent 30%),radial-gradient(circle at 88% 48%,rgba(185,107,50,.12),transparent 24%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}
.sofu-footer-signature:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(166,143,255,.8),transparent)}
.sofu-footer-orbits{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-2}
.sofu-footer-orbits i{position:absolute;border:1px solid rgba(188,168,255,.12);border-radius:50%}
.sofu-footer-orbits i:first-child{width:620px;height:620px;right:-260px;top:105px}.sofu-footer-orbits i:nth-child(2){width:320px;height:320px;left:-130px;bottom:180px}
.sofu-footer-orbits b{position:absolute;width:9px;height:9px;border-radius:50%;background:#c37737;right:17%;top:25%;box-shadow:0 0 0 10px rgba(195,119,55,.08)}
.sofu-footer-motion-rail{height:58px;border-bottom:1px solid rgba(255,255,255,.09);overflow:hidden;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.sofu-footer-motion-track{display:flex;align-items:center;gap:24px;white-space:nowrap;min-width:max-content;animation:sofu-footer-drift 28s linear infinite;font-size:.67rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#cfc3ef}
.sofu-footer-motion-track em{font-style:normal;color:#a17fec;font-size:.8rem}.sofu-footer-motion-track span:nth-of-type(4n){color:#fff}
@keyframes sofu-footer-drift{to{transform:translateX(-50%)}}
.sofu-footer-main{position:relative;padding-top:76px;z-index:2}
.sofu-footer-manifesto{padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.12)}
.sofu-footer-label{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:#b6a9d2;margin-bottom:44px}
.sofu-footer-label i{width:8px;height:8px;border-radius:50%;background:#c37737;box-shadow:0 0 0 8px rgba(195,119,55,.07)}
.sofu-footer-label:after{content:"";height:1px;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent);grid-column:2/3;grid-row:1;align-self:center;margin-left:250px}.sofu-footer-label span,.sofu-footer-label b{position:relative;z-index:1;background:#11042d}.sofu-footer-label b{font-size:.61rem;color:#8e80ad;font-weight:850}
.sofu-footer-manifesto-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:80px;align-items:end}
.sofu-footer-statement{max-width:780px}.sofu-footer-mini{margin:0 0 15px!important;font-size:.63rem!important;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:#aa99cf!important}
.sofu-footer-statement h2{margin:0;max-width:760px;font-size:clamp(4rem,7.2vw,7.4rem);letter-spacing:-.075em;line-height:.82;font-weight:820}.sofu-footer-statement h2 span{color:#8f72eb}.sofu-footer-statement>p:last-child{max-width:650px;margin:28px 0 0;color:#bfb4d4;font-size:1rem;line-height:1.75}
.sofu-footer-contact-cta{justify-self:end;width:min(100%,360px);padding:26px 0 4px;border-top:1px solid rgba(255,255,255,.16)}
.sofu-footer-contact-cta>span{display:block;color:#998dab;font-size:.78rem;line-height:1.55;margin-bottom:18px}.sofu-footer-contact-cta>a{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border-bottom:1px solid rgba(255,255,255,.17);padding:0 0 18px;transition:.25s}.sofu-footer-contact-cta>a strong{font-size:1.4rem;letter-spacing:-.035em}.sofu-footer-contact-cta>a i{font-style:normal;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#170b3c;font-size:1.05rem;transition:.25s}.sofu-footer-contact-cta>a:hover{border-color:#a58bed}.sofu-footer-contact-cta>a:hover i{transform:translate(2px,-2px) rotate(5deg)}.sofu-footer-contact-cta small{display:block;margin-top:13px;color:#8f82a9}
.sofu-footer-pathways{padding:54px 0 58px;border-bottom:1px solid rgba(255,255,255,.12)}
.sofu-footer-pathway-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:#9d90b7}.sofu-footer-pathway-head b{font-weight:850;color:#6f6389}
.sofu-footer-pathway-rail{display:grid;grid-template-columns:1.18fr repeat(3,1fr);gap:10px}
.sofu-footer-pathway{position:relative;min-height:245px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,background .3s ease,border-color .3s ease}.sofu-footer-pathway:before{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-75px;top:-72px;transition:.35s}.sofu-footer-pathway>span{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:#9687b7}.sofu-footer-pathway strong{margin-top:auto;font-size:1.52rem;line-height:.98;letter-spacing:-.045em}.sofu-footer-pathway small{color:#9186a7;margin-top:13px;font-size:.72rem}.sofu-footer-pathway>i{position:absolute;right:19px;bottom:17px;font-style:normal;color:#bba9f3;transition:.25s}.sofu-footer-pathway:hover{transform:translateY(-5px);background:rgba(255,255,255,.07);border-color:rgba(173,147,247,.35)}.sofu-footer-pathway:hover:before{transform:scale(1.18)}.sofu-footer-pathway:hover>i{transform:translate(3px,-3px)}
.sofu-footer-pathway-featured{background:linear-gradient(150deg,#34206d,#221049);border-color:rgba(163,136,243,.32)}.sofu-footer-pathway-featured:after{content:"UNSO";position:absolute;right:-13px;top:34px;font-size:5.5rem;line-height:1;font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.04);transform:rotate(-90deg)}
.sofu-footer-world{display:grid;grid-template-columns:.48fr 1.52fr;gap:54px;align-items:center;padding:50px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.sofu-footer-world-copy>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:#a994e1}.sofu-footer-world-copy p{margin:8px 0 0;color:#8f83a8;font-size:.78rem}.sofu-footer-world-links{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden}.sofu-footer-world-links a{position:relative;min-height:92px;padding:17px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-right:1px solid rgba(255,255,255,.09);transition:.25s}.sofu-footer-world-links a:last-child{border-right:0}.sofu-footer-world-links a b{font-size:.55rem;color:#756b89}.sofu-footer-world-links a strong{font-size:1.2rem;letter-spacing:-.03em}.sofu-footer-world-links a span{color:#a994e1}.sofu-footer-world-links a:hover{background:#fff;color:#170b3c}.sofu-footer-world-links a:hover b{color:#8e78cd}
.sofu-footer-signal{display:grid;grid-template-columns:.65fr 1.35fr;gap:54px;padding:50px 0 44px;border-bottom:1px solid rgba(255,255,255,.12)}
.sofu-footer-signal-primary>span{font-size:.61rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850;color:#9788b5}.sofu-footer-signal-primary p{margin:12px 0 0;max-width:330px;color:#d3cbe0;font-size:.91rem;line-height:1.55}
.sofu-footer-signal-links{display:grid;grid-template-columns:repeat(2,1fr);column-gap:26px}.sofu-footer-signal-links a{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);transition:.25s}.sofu-footer-signal-links a span{font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:#887c9e}.sofu-footer-signal-links a strong{font-size:.78rem;color:#dcd6e8;text-align:right}.sofu-footer-signal-links a:hover{border-color:#856bd6}.sofu-footer-signal-links a:hover strong{color:#fff}
.sofu-footer-socials{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 0}.sofu-footer-socials>span{font-size:.61rem;text-transform:uppercase;letter-spacing:.15em;color:#7e7295;font-weight:850}.sofu-footer-socials>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sofu-footer-socials a{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#bfb7cf;font-size:.7rem;transition:.25s}.sofu-footer-socials a i{font-style:normal;color:#8f75df}.sofu-footer-socials a:hover{background:#fff;color:#170b3c;border-color:#fff;transform:translateY(-2px)}
.sofu-footer-signature .sofu-footer-bottom{position:relative;z-index:2;margin:0;padding:23px 0 112px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;color:#776b8e;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.sofu-footer-signature .sofu-footer-bottom span:nth-child(2){color:#9a8bb6}.sofu-footer-top-link{justify-self:end;color:#a696c9;transition:.2s}.sofu-footer-top-link:hover{color:#fff;transform:translateY(-2px)}
.sofu-footer-giant-word{position:absolute;left:50%;bottom:-.15em;transform:translateX(-50%);font-size:min(25vw,24rem);font-weight:900;letter-spacing:-.115em;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);white-space:nowrap;pointer-events:none;z-index:1}

@media(max-width:1100px) and (min-width:861px){
  .sofu-footer-manifesto-grid{grid-template-columns:1fr .48fr;gap:45px}.sofu-footer-pathway-rail{grid-template-columns:repeat(2,1fr)}.sofu-footer-world{grid-template-columns:1fr}.sofu-footer-signal{grid-template-columns:.5fr 1.5fr}
}

@media(max-width:860px){
  .sofu-footer-signature{border-radius:30px 30px 0 0}.sofu-footer-motion-rail{height:49px}.sofu-footer-motion-track{font-size:.58rem;gap:18px;animation-duration:24s}.sofu-footer-main{padding-top:45px}.sofu-footer-manifesto{padding-bottom:43px}.sofu-footer-label{grid-template-columns:auto 1fr;gap:10px;margin-bottom:31px}.sofu-footer-label:after{display:none}.sofu-footer-label b{display:none}.sofu-footer-label span{background:none;font-size:.56rem}.sofu-footer-manifesto-grid{display:block}.sofu-footer-statement h2{font-size:clamp(3.7rem,17vw,5.8rem);line-height:.84;max-width:96%;text-wrap:balance}.sofu-footer-statement>p:last-child{font-size:.9rem;line-height:1.68;margin-top:22px;max-width:94%}.sofu-footer-mini{font-size:.55rem!important}.sofu-footer-contact-cta{justify-self:auto;width:100%;margin-top:39px;padding-top:20px}.sofu-footer-contact-cta>a strong{font-size:1.25rem}.sofu-footer-contact-cta>a i{width:40px;height:40px}
  .sofu-footer-pathways{padding:38px 0 45px;margin-inline:calc((100vw - min(calc(100vw - 40px),var(--sofu-max)))/-2);padding-inline:20px;overflow:hidden}.sofu-footer-pathway-head{margin-bottom:18px}.sofu-footer-pathway-head b{display:none}.sofu-footer-pathway-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-right:17vw}.sofu-footer-pathway-rail::-webkit-scrollbar{display:none}.sofu-footer-pathway{flex:0 0 78vw;max-width:360px;min-height:270px;scroll-snap-align:start;padding:22px}.sofu-footer-pathway strong{font-size:1.7rem}.sofu-footer-pathway small{max-width:78%}.sofu-footer-pathway:first-child{flex-basis:84vw}.sofu-footer-pathway-featured:after{font-size:6.2rem;right:-7px;top:54px}
  .sofu-footer-world{display:block;padding:39px 0}.sofu-footer-world-copy{margin-bottom:20px}.sofu-footer-world-links{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:0;border-radius:0;gap:8px;padding-right:18vw}.sofu-footer-world-links::-webkit-scrollbar{display:none}.sofu-footer-world-links a{flex:0 0 150px;min-height:102px;border:1px solid rgba(255,255,255,.11)!important;border-radius:17px;scroll-snap-align:start;background:rgba(255,255,255,.025);grid-template-columns:1fr auto;align-content:space-between}.sofu-footer-world-links a b{grid-column:1/2}.sofu-footer-world-links a strong{grid-column:1/2;font-size:1.35rem}.sofu-footer-world-links a span{grid-column:2/3;grid-row:1/3;align-self:end}
  .sofu-footer-signal{display:block;padding:39px 0}.sofu-footer-signal-primary{margin-bottom:22px}.sofu-footer-signal-links{display:block}.sofu-footer-signal-links a{padding:15px 0}.sofu-footer-signal-links a strong{max-width:60%}.sofu-footer-socials{display:block;padding:23px 0 29px}.sofu-footer-socials>span{display:block;margin-bottom:13px}.sofu-footer-socials>div{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin-right:-20px;padding-right:20px}.sofu-footer-socials>div::-webkit-scrollbar{display:none}.sofu-footer-socials a{flex:none}
  .sofu-footer-signature .sofu-footer-bottom{grid-template-columns:1fr auto;padding:22px 0 84px;font-size:.57rem}.sofu-footer-signature .sofu-footer-bottom span:nth-child(2){display:none}.sofu-footer-top-link{justify-self:end}.sofu-footer-giant-word{font-size:42vw;bottom:-.08em;-webkit-text-stroke-color:rgba(255,255,255,.08)}
}
@media(max-width:430px){.sofu-footer-pathway{flex-basis:82vw}.sofu-footer-pathway:first-child{flex-basis:86vw}.sofu-footer-statement h2{font-size:16.5vw}.sofu-footer-label span{letter-spacing:.12em}.sofu-footer-contact-cta small{font-size:.68rem}.sofu-footer-world-links a{flex-basis:138px}.sofu-footer-signature .sofu-footer-bottom{font-size:.53rem;letter-spacing:.05em}}
@media(prefers-reduced-motion:reduce){.sofu-footer-motion-track{animation:none}.sofu-footer-pathway,.sofu-footer-socials a,.sofu-footer-contact-cta>a i{transition:none}}


/* =========================================================
   v1.9.1 — Compact signature footer
   ========================================================= */
.sofu-footer-compact{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#09021d 0%,#160735 58%,#21104b 100%);color:#fff;padding:0 0 calc(20px + var(--safe-bottom));border-radius:34px 34px 0 0}
.sofu-footer-compact:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 84% 22%,rgba(134,104,222,.17),transparent 28%),radial-gradient(circle at 8% 78%,rgba(188,108,48,.08),transparent 23%),linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px}
.sofu-footer-compact:after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(159,133,238,.72),transparent)}
.sofu-footer-compact-orbit{position:absolute;width:390px;height:390px;border:1px solid rgba(189,170,244,.11);border-radius:50%;right:-190px;top:40px;pointer-events:none}.sofu-footer-compact-orbit:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#c37737;left:32px;top:94px;box-shadow:0 0 0 9px rgba(195,119,55,.07)}
.sofu-footer-compact-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:70px;align-items:end;padding:58px 0 40px;border-bottom:1px solid rgba(255,255,255,.11)}
.sofu-footer-compact-brand{max-width:740px}.sofu-footer-kicker{display:flex;align-items:center;gap:9px;font-size:.59rem;letter-spacing:.15em;text-transform:uppercase;color:#a99ac7;font-weight:850}.sofu-footer-kicker i{width:7px;height:7px;border-radius:50%;background:#c37737}
.sofu-footer-compact-brand h2{margin:15px 0 13px;font-size:clamp(2.65rem,4.2vw,4.65rem);line-height:.92;letter-spacing:-.065em;max-width:720px}.sofu-footer-compact-brand h2::first-letter{color:inherit}.sofu-footer-compact-brand p{margin:0;max-width:620px;color:#b9aecb;font-size:.9rem;line-height:1.62}
.sofu-footer-conversation{display:block;border-top:1px solid rgba(255,255,255,.15);padding:17px 0 5px}.sofu-footer-conversation>span{display:block;color:#887c9e;font-size:.69rem;line-height:1.45;margin-bottom:11px}.sofu-footer-conversation strong{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:1.02rem;letter-spacing:-.02em}.sofu-footer-conversation i{font-style:normal;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#170b3c;transition:.2s}.sofu-footer-conversation:hover i{transform:translate(2px,-2px)}
.sofu-footer-compact-body{display:grid;grid-template-columns:1.35fr .65fr;gap:72px;padding:36px 0 33px;border-bottom:1px solid rgba(255,255,255,.1)}
.sofu-footer-compact-nav{display:grid;grid-template-columns:1.25fr .75fr;gap:50px}.sofu-footer-compact-nav>div>span,.sofu-footer-compact-contact>span{display:block;margin-bottom:15px;font-size:.57rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850;color:#8e80aa}
.sofu-footer-compact-nav>div:first-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.sofu-footer-compact-nav>div:first-child>span{grid-column:1/-1}.sofu-footer-compact-nav>div:first-child>a{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.sofu-footer-compact-nav a strong{font-size:.79rem;color:#ece7f5}.sofu-footer-compact-nav a em{font-size:.61rem;font-style:normal;color:#7f7395}.sofu-footer-compact-nav a:hover strong{color:#fff}
.sofu-footer-programme-pills{display:flex;flex-wrap:wrap;gap:7px}.sofu-footer-programme-pills a{display:flex;gap:10px;align-items:center;padding:9px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#c8bed7;font-size:.68rem;font-weight:800;transition:.2s}.sofu-footer-programme-pills a i{font-style:normal;color:#8f75df}.sofu-footer-programme-pills a:hover{background:#fff;color:#170b3c;border-color:#fff;transform:translateY(-1px)}
.sofu-footer-compact-contact p{margin:0 0 10px;color:#cfc7db;font-size:.76rem;line-height:1.5}.sofu-footer-contact-lines{display:grid}.sofu-footer-contact-lines a{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.sofu-footer-contact-lines b{font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:#7f7394}.sofu-footer-contact-lines span{font-size:.68rem;color:#c5bdcf;text-align:right;max-width:70%}
.sofu-footer-compact-socials{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09)}.sofu-footer-compact-socials>span{font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:#796d90;font-weight:850}.sofu-footer-compact-socials>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px}.sofu-footer-compact-socials a{font-size:.65rem;color:#a99fb9}.sofu-footer-compact-socials a:hover{color:#fff}
.sofu-footer-compact-bottom{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 0 50px;color:#6f6384;font-size:.56rem;text-transform:uppercase;letter-spacing:.07em}.sofu-footer-compact-bottom span:nth-child(2){color:#8f81a8}.sofu-footer-compact-bottom a{justify-self:end;color:#9d90b7}.sofu-footer-compact-bottom a:hover{color:#fff}
.sofu-footer-compact-word{position:absolute;left:50%;bottom:-.18em;transform:translateX(-50%);font-size:min(12.5vw,10.5rem);font-weight:900;letter-spacing:-.11em;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;white-space:nowrap}
@media(max-width:1023px){.sofu-footer-compact-top{grid-template-columns:1.4fr .6fr;gap:35px}.sofu-footer-compact-body{grid-template-columns:1fr .55fr;gap:38px}.sofu-footer-compact-nav{gap:28px}}
@media(max-width:860px){
 .sofu-footer-compact{border-radius:28px 28px 0 0}.sofu-footer-compact-orbit{width:280px;height:280px;right:-145px;top:25px}
 .sofu-footer-compact-top{display:block;padding:41px 0 29px}.sofu-footer-compact-brand h2{font-size:clamp(2.8rem,12.5vw,4.5rem);max-width:92%;margin-top:13px}.sofu-footer-compact-brand p{font-size:.82rem;line-height:1.55;max-width:94%}.sofu-footer-conversation{margin-top:27px;padding-top:15px}.sofu-footer-conversation strong{font-size:1rem}
 .sofu-footer-compact-body{display:block;padding:27px 0 24px}.sofu-footer-compact-nav{display:grid;grid-template-columns:1fr;gap:25px}.sofu-footer-compact-nav>div:first-child{grid-template-columns:1fr 1fr;gap:0 16px}.sofu-footer-compact-nav>div:first-child>a{padding:9px 0}.sofu-footer-programme-pills{gap:6px}.sofu-footer-programme-pills a{padding:8px 10px}
 .sofu-footer-compact-contact{margin-top:28px;padding-top:23px;border-top:1px solid rgba(255,255,255,.09)}.sofu-footer-contact-lines a{padding:9px 0}.sofu-footer-compact-socials{display:block;padding:17px 0}.sofu-footer-compact-socials>span{display:block;margin-bottom:10px}.sofu-footer-compact-socials>div{justify-content:flex-start;gap:12px}
 .sofu-footer-compact-bottom{grid-template-columns:1fr auto;padding:17px 0 45px;font-size:.52rem}.sofu-footer-compact-bottom span:nth-child(2){display:none}.sofu-footer-compact-word{font-size:24vw;bottom:-.13em}
}
@media(max-width:430px){.sofu-footer-compact-brand h2{font-size:12vw}.sofu-footer-compact-nav>div:first-child{display:block}.sofu-footer-compact-nav>div:first-child>span{display:block}.sofu-footer-contact-lines span{max-width:66%}.sofu-footer-compact-bottom{letter-spacing:.04em}}


/* =========================================================
   v1.10 — Page transitions, mobile menu close, search intent,
   and a healed rounded-footer transition
   ========================================================= */
.sofu-page-loader{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;background:linear-gradient(145deg,#0b0220 0%,#17063b 56%,#241058 100%);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.sofu-page-loader.is-active{opacity:1;visibility:visible;pointer-events:auto}
.sofu-page-loader-stage{position:relative;display:grid;justify-items:center;text-align:center;min-width:min(82vw,420px);padding:48px 30px;isolation:isolate}
.sofu-page-loader-mark{position:relative;z-index:3;display:grid;place-items:center;width:68px;height:68px;border-radius:23px;background:linear-gradient(145deg,#7653df,#4d2aa7);box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden}
.sofu-page-loader-mark i{position:absolute;width:58px;height:58px;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-24px;top:-20px}.sofu-page-loader-mark b{font-size:1.45rem;line-height:1;position:relative;z-index:1}
.sofu-page-loader-stage>small{margin-top:22px;font-size:.56rem;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#aa9ac9}
.sofu-page-loader-stage>strong{margin-top:10px;font-size:clamp(1.45rem,4vw,2.15rem);letter-spacing:-.045em;line-height:1;color:#fff}
.sofu-page-loader-orbit{position:absolute;left:50%;top:18px;border:1px solid rgba(189,169,244,.19);border-radius:50%;transform:translateX(-50%);z-index:-1}
.sofu-page-loader-orbit.orbit-a{width:210px;height:210px;animation:sofuLoaderOrbit 4s linear infinite}.sofu-page-loader-orbit.orbit-b{width:280px;height:280px;border-color:rgba(189,169,244,.08);animation:sofuLoaderOrbitReverse 6.5s linear infinite}
.sofu-page-loader-orbit.orbit-a:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#c47a36;top:27px;left:29px;box-shadow:0 0 0 8px rgba(196,122,54,.08)}
.sofu-page-loader-progress{display:block;width:150px;height:2px;margin-top:24px;background:rgba(255,255,255,.11);overflow:hidden;border-radius:999px}.sofu-page-loader-progress i{display:block;width:42%;height:100%;background:linear-gradient(90deg,#a987ff,#fff);border-radius:inherit;animation:sofuLoaderProgress 1.05s ease-in-out infinite}
@keyframes sofuLoaderOrbit{to{transform:translateX(-50%) rotate(360deg)}}@keyframes sofuLoaderOrbitReverse{to{transform:translateX(-50%) rotate(-360deg)}}@keyframes sofuLoaderProgress{0%{transform:translateX(-115%)}100%{transform:translateX(345%)}}
.sofu-page-transitioning{overflow:hidden}

.sofu-nav-close{display:none}
@media(max-width:1023px){
  .sofu-nav-topline{align-items:center;padding-bottom:15px}
  .sofu-nav-close{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(83,57,145,.12);background:rgba(255,255,255,.68);color:var(--sofu-ink);border-radius:999px;padding:8px 11px 8px 13px;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(12px)}
  .sofu-nav-close i{position:relative;width:20px;height:20px;border-radius:50%;background:var(--sofu-ink)}
  .sofu-nav-close i:before,.sofu-nav-close i:after{content:"";position:absolute;left:5px;top:9px;width:10px;height:1.5px;background:#fff;border-radius:2px}.sofu-nav-close i:before{transform:rotate(45deg)}.sofu-nav-close i:after{transform:rotate(-45deg)}
  .sofu-nav-close:active{transform:scale(.97)}
}

/* Rounded footer corners reveal a bed matching the section behind them instead of body white. */
.sofu-footer-corner-bed{height:34px;margin-bottom:-34px;position:relative;z-index:0;background:#fbfafe;pointer-events:none}
.sofu-site-footer{position:relative;z-index:1}
body.post-type-archive-sofu_resource .sofu-footer-corner-bed{background:#12082e}
@media(max-width:767px){.sofu-footer-corner-bed{height:28px;margin-bottom:-28px}}

/* Search intentionally keys off programme/tournament + year metadata, while type
   filters narrow the returned paper set. */
.sofu-resource-search-copy strong:after{content:"  Tournament + year is enough.";color:var(--sofu-violet);font-weight:750}

@media(prefers-reduced-motion:reduce){.sofu-page-loader-orbit,.sofu-page-loader-progress i{animation:none!important}.sofu-page-loader{transition:none}}


/* =========================================================
   v1.10.2 — true floating mobile close + reliable return top
   ========================================================= */
.sofu-return-top{
  --sofu-scroll-progress:0deg;
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:5000;
  width:62px;
  height:62px;
  padding:4px;
  border:0;
  border-radius:50%;
  background:conic-gradient(var(--sofu-violet) var(--sofu-scroll-progress),rgba(104,73,200,.14) 0);
  box-shadow:0 16px 44px rgba(27,12,62,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(16px) scale(.9);
  transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility .22s;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.sofu-return-top:before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.88);
  backdrop-filter:blur(14px) saturate(150%);
}
.sofu-return-top-core{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--sofu-ink),#3b1a71);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.sofu-return-top-core i{position:relative;width:18px;height:22px;display:block}
.sofu-return-top-core i:before{
  content:"";
  position:absolute;
  left:8px;
  top:5px;
  width:2px;
  height:15px;
  border-radius:2px;
  background:#fff;
}
.sofu-return-top-core i:after{
  content:"";
  position:absolute;
  left:4px;
  top:5px;
  width:9px;
  height:9px;
  border-left:2px solid #fff;
  border-top:2px solid #fff;
  transform:rotate(45deg);
  transform-origin:center;
}
.sofu-return-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.sofu-return-top:hover{transform:translateY(-3px);box-shadow:0 20px 52px rgba(27,12,62,.25)}
.sofu-return-top:active{transform:scale(.94)}
body.sofu-menu-open .sofu-return-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media (max-width:1023px){
  /* The close control is a transparent touch target with a large visible X.
     It is absolutely positioned so it never participates in the menu layout. */
  .sofu-nav-close{
    display:grid!important;
    place-items:center;
    position:absolute!important;
    z-index:20!important;
    top:calc(20px + var(--safe-top))!important;
    right:22px!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    color:var(--sofu-ink)!important;
    cursor:pointer;
    align-self:auto!important;
    -webkit-tap-highlight-color:transparent;
  }
  .admin-bar .sofu-nav-close{top:calc(64px + var(--safe-top))!important}
  .sofu-nav-close i{
    position:relative!important;
    display:block!important;
    width:38px!important;
    height:38px!important;
    border-radius:0!important;
    background:transparent!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
  }
  .sofu-nav-close i:before,.sofu-nav-close i:after{
    content:"";
    position:absolute!important;
    left:2px!important;
    top:17px!important;
    width:34px!important;
    height:3px!important;
    border-radius:999px!important;
    background:var(--sofu-ink)!important;
    transform-origin:center!important;
  }
  .sofu-nav-close i:before{transform:rotate(45deg)!important}
  .sofu-nav-close i:after{transform:rotate(-45deg)!important}
  .sofu-menu-open .sofu-nav-close i{animation:sofuCloseXIn .42s cubic-bezier(.2,.8,.2,1) both}
  .sofu-nav-close:active i{transform:rotate(12deg) scale(.84)!important}
  .sofu-nav-topline{padding-right:0!important}

  .sofu-return-top{
    right:16px;
    bottom:calc(16px + var(--safe-bottom));
    width:56px;
    height:56px;
    padding:3px;
  }
  .sofu-return-top:before{inset:3px}
}
@keyframes sofuCloseXIn{
  0%{opacity:0;transform:rotate(-70deg) scale(.62)}
  65%{opacity:1;transform:rotate(8deg) scale(1.06)}
  100%{opacity:1;transform:rotate(0) scale(1)}
}
@media (min-width:1024px){.sofu-nav-close{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .sofu-return-top,.sofu-nav-close i{transition:none!important;animation:none!important}
  .sofu-return-top:hover{transform:none}
}


/* =========================================================
   v1.10.3 — homepage vision-chip sequencing + restored motion
   Practice leads to Outcome on mobile; both labels retain gentle life.
   ========================================================= */
.sofu-vision-chip{
  will-change:transform;
  transform-origin:center;
}
.sofu-vision-chip-a{
  animation:sofuVisionPractice 5.2s cubic-bezier(.45,.05,.55,.95) infinite;
}
.sofu-vision-chip-b{
  animation:sofuVisionOutcome 5.8s cubic-bezier(.45,.05,.55,.95) -1.35s infinite;
}
@keyframes sofuVisionPractice{
  0%,100%{transform:translate3d(0,0,0) rotate(-.35deg)}
  50%{transform:translate3d(0,-8px,0) rotate(.35deg)}
}
@keyframes sofuVisionOutcome{
  0%,100%{transform:translate3d(0,0,0) rotate(.35deg)}
  50%{transform:translate3d(0,7px,0) rotate(-.35deg)}
}
.sofu-vision-support .sofu-button-row.sofu-single-action{
  display:flex!important;
  grid-template-columns:none!important;
}
.sofu-vision-support .sofu-button-row.sofu-single-action .sofu-button{
  width:min(100%,250px);
}
@media (max-width:1023px){
  /* Cause before effect: Practice is encountered first, Outcome resolves the image. */
  .sofu-vision-chip-a{left:14px!important;top:16px!important;bottom:auto!important}
  .sofu-vision-chip-b{right:14px!important;top:auto!important;bottom:17px!important}
  .sofu-vision-support .sofu-button-row.sofu-single-action{display:grid!important;grid-template-columns:1fr!important}
  .sofu-vision-support .sofu-button-row.sofu-single-action .sofu-button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .sofu-vision-chip{animation:none!important;transform:none!important}
}


/* =========================================================
   v1.11 — SOFU brand mark, international lifecycle clarity,
   floating mobile header, deterministic archive peep
   ========================================================= */

/* Approved SOFU wordmarks: theme-purple on light surfaces, white on dark. */
.sofu-brand-logo{display:flex;align-items:center;min-width:0}
.sofu-brand-logo img{display:block;width:154px;height:auto;max-height:44px;object-fit:contain;object-position:left center}
.sofu-page-loader-logo{position:relative;z-index:3;display:grid;place-items:center;width:min(250px,62vw);min-height:72px}
.sofu-page-loader-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 45px rgba(0,0,0,.16))}
.sofu-footer-logo{width:178px;margin-bottom:13px;opacity:.9}
.sofu-footer-logo img{display:block;width:100%;height:auto}

/* Next international round is an active/upcoming layer, not an archive card. */
.sofu-intl-next-round{padding:38px 0 92px;background:linear-gradient(180deg,#faf8ff 0,#fff 100%)}
.sofu-intl-next-round-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:.36fr 1fr;gap:38px;align-items:stretch;border:1px solid var(--sofu-line);border-radius:34px;background:#fff;box-shadow:0 26px 90px rgba(31,14,70,.08)}
.sofu-intl-next-round-shell:after{content:"NEXT";position:absolute;right:-.05em;bottom:-.24em;font-size:clamp(7rem,16vw,14rem);font-weight:900;letter-spacing:-.1em;color:rgba(104,76,196,.045);pointer-events:none}
.sofu-intl-next-round-year{position:relative;z-index:1;min-height:330px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#1a0b3f,#2d155e);color:#fff}
.sofu-intl-next-round-year small{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:900;color:#c8baf1}
.sofu-intl-next-round-year strong{font-size:clamp(5.3rem,9vw,8.5rem);line-height:.72;letter-spacing:-.085em;color:#b69cff}
.sofu-intl-next-round-copy{position:relative;z-index:1;padding:34px 42px 34px 0;display:flex;flex-direction:column;justify-content:center}
.sofu-intl-next-round-copy h2{margin:10px 0 22px;max-width:800px;font-size:clamp(2.25rem,4.2vw,4.5rem);line-height:.92;letter-spacing:-.055em}
.sofu-intl-next-round-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.sofu-intl-next-round-meta span{min-width:150px;padding:12px 14px;border:1px solid var(--sofu-line);border-radius:15px;background:#fbf9ff;display:grid;gap:4px}
.sofu-intl-next-round-meta small{text-transform:uppercase;letter-spacing:.1em;color:var(--sofu-muted);font-size:.55rem;font-weight:850}
.sofu-intl-next-round-meta b{font-size:.77rem}
.sofu-intl-next-round-copy .sofu-button{width:max-content}
.sofu-intl-next-note{max-width:620px;margin:0;color:var(--sofu-muted)}
.sofu-programme-next-status{position:relative;z-index:2;width:max-content;margin:9px 0 0;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(23,11,60,.24);color:#fff;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}

/* Mobile header is no longer a white capsule. The brand and toggle float as
   independent controls over the page background, and Menu morphs into Close
   in exactly the same position. */
@media(max-width:1023px){
  .sofu-site-header{padding-top:calc(12px + var(--safe-top))}
  .sofu-header-inner,
  .sofu-site-header.is-scrolled .sofu-header-inner{
    height:52px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .sofu-brand-logo img{width:122px;max-height:38px}
  .sofu-menu-toggle{
    height:46px!important;
    padding:0!important;
    gap:9px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--sofu-ink)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .sofu-menu-label{font-size:.78rem!important;letter-spacing:.015em}
  .sofu-menu-icon{width:25px;height:25px}
  .sofu-menu-icon i{width:23px;height:2px;background:var(--sofu-ink)!important}
  .sofu-menu-icon i:first-child{transform:translateY(-5px)}
  .sofu-menu-icon i:last-child{transform:translateY(5px)}
  .sofu-menu-open .sofu-menu-icon i:first-child{transform:rotate(45deg)}
  .sofu-menu-open .sofu-menu-icon i:last-child{transform:rotate(-45deg)}
  body.sofu-menu-open .sofu-site-header{transform:none!important}
  .sofu-nav-close{display:none!important}
  .sofu-nav-panel{padding-top:calc(94px + var(--safe-top))}
  .sofu-nav-topline{padding-top:10px}
  .sofu-intl-next-round{padding:26px 0 70px}
  .sofu-intl-next-round-shell{display:block;border-radius:28px}
  .sofu-intl-next-round-year{min-height:205px;padding:24px}
  .sofu-intl-next-round-year strong{font-size:6.4rem}
  .sofu-intl-next-round-copy{padding:26px 24px 30px}
  .sofu-intl-next-round-copy h2{font-size:2.8rem}
  .sofu-intl-next-round-meta{display:flex;overflow-x:auto;flex-wrap:nowrap;margin-right:-24px;padding-right:24px;scrollbar-width:none}
  .sofu-intl-next-round-meta::-webkit-scrollbar{display:none}
  .sofu-intl-next-round-meta span{flex:0 0 60%;min-width:0}
  .sofu-intl-next-round-copy .sofu-button{width:100%}

  /* Exact mobile geometry: the first card always leaves enough room for the
     second card to announce itself before any interaction. */
  .sofu-intl-year-rail{
    margin-right:-14px!important;
    padding-right:14px!important;
    scroll-padding-left:0!important;
  }
  .sofu-intl-year-card{
    flex:0 0 calc(100% - 58px)!important;
    max-width:calc(100% - 58px)!important;
    min-width:0!important;
    scroll-snap-align:start;
  }
}
@media(max-width:430px){
  .sofu-brand-logo img{width:112px}
  .sofu-intl-year-card{
    flex-basis:calc(100% - 48px)!important;
    max-width:calc(100% - 48px)!important;
  }
}

/* Slightly smaller brand on tighter desktop command bars. */
@media(min-width:1024px) and (max-width:1240px){
  .sofu-brand-logo img{width:126px}
}

/* The old separate close-control CSS may exist from previous versions; the
   header toggle is now the one and only Menu/Close control. */
.sofu-nav-close{display:none!important}

.sofu-programme-next-status{position:relative;z-index:2}
@media(max-width:1023px){
  .sofu-programme-next-status{margin-left:22px!important;margin-right:22px!important}
}

/* =========================================================
   v1.11.2 — stronger desktop brand presence + reliable
   mobile Menu/Close stacking above the full-screen navigation
   ========================================================= */

/* Use the vertical room already available in the command bar. The logo grows
   inside the existing 76px header; the header itself does not become taller. */
@media (min-width:1241px){
  .sofu-brand-logo img{
    width:auto!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}
@media (min-width:1024px) and (max-width:1240px){
  .sofu-brand-logo img{
    width:auto!important;
    height:54px!important;
    max-height:54px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}

/* The navigation overlay is a sibling of the header controls. In the previous
   build its high z-index could paint over the Menu/Close toggle immediately
   after opening. Keep the floating brand and toggle definitively above it. */
@media (max-width:1023px){
  .sofu-header-inner{
    position:relative!important;
    z-index:1305!important;
  }
  .sofu-brand-logo,
  .sofu-menu-toggle{
    position:relative!important;
    z-index:1310!important;
  }
  .sofu-nav-overlay{
    z-index:1150!important;
  }
  body.sofu-menu-open .sofu-menu-toggle{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.sofu-menu-open .sofu-brand-logo{
    visibility:visible!important;
    opacity:1!important;
  }
}
/* Science Fight Academy entry points */
.sofu-fight-academy-cta{margin:24px 0 0 66px;padding:24px 26px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:30px}.sofu-fight-academy-cta strong{display:block;font-size:1.4rem;margin:5px 0}.sofu-fight-academy-cta p{margin:0;color:#c9bfdc;max-width:650px;font-size:.86rem}.sofu-intl-fight-guide-link{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:16px 18px;border:1px solid var(--sofu-line);border-radius:18px;background:rgba(255,255,255,.7);font-weight:900}.sofu-intl-fight-guide-link small{display:block;color:var(--sofu-violet);font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}.sofu-intl-fight-guide-link i{font-style:normal;font-size:1.25rem}.sofu-desktop-learn small{background:#fff3e8;color:#9d5d2e}
@media(max-width:1023px){.sofu-fight-academy-cta{margin:22px 0 0;display:grid}.sofu-fight-academy-cta .sofu-button{width:100%}.sofu-intl-fight-guide-link{margin-top:18px}}


/* =========================================================
   v2.3.5 - UNSO archive refinement pass
   ========================================================= */

/* Participation KPIs replace scoring-formula cards in completed Qualifier archives. */
.sofu-archive-scoreboard{grid-template-columns:repeat(4,minmax(0,1fr))}
.sofu-archive-scoreboard>div{min-width:0}
.sofu-archive-scoreboard strong{font-size:clamp(3.7rem,5vw,5.4rem)}

/* Regional problem cards keep the research problem itself on one common top line.
   Best Research photography now lives with the recognition, not above the problem. */
.sofu-regional-problem-card{min-height:440px}
.sofu-regional-problem-copy{padding:26px;min-height:100%;display:flex;flex-direction:column;align-items:stretch}
.sofu-regional-problem-copy>small{padding-right:58px}
.sofu-regional-problem-copy h4{margin:12px 0 13px;min-height:0}
.sofu-regional-problem-copy>p{margin:0 0 20px}
.sofu-best-research{margin-top:auto;padding-top:18px}
.sofu-best-research-winners{display:grid;gap:9px;margin-top:8px}
.sofu-best-research-winner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border-top:1px solid #edf4f1}
.sofu-best-research-winner:first-child{border-top:0}
.sofu-best-research-winner figure{width:48px!important;height:48px!important;margin:0!important;border-radius:14px;overflow:hidden;background:#eef8f5;flex:none}
.sofu-best-research-winner figure img{width:100%!important;height:100%!important;object-fit:cover!important}
.sofu-best-research-winner>div{display:grid;gap:2px;min-width:0}
.sofu-best-research-winner strong{font-size:.9rem;line-height:1.1}
.sofu-best-research-winner small{font-size:.7rem;color:var(--sofu-muted)}

/* National Round topic cards use a genuine shared top origin rather than pushing
   titles downward according to the amount of description in each card. */
.sofu-national-topic-rail article{justify-content:flex-start}
.sofu-national-topic-rail strong{margin-top:20px}
.sofu-national-topic-rail small{margin-top:10px}

/* School-wide excellence: oversized, background-cleaned school crests behave as
   atmospheric brandmarks. This deliberately avoids the tiny badge-in-a-box look. */
.sofu-archive-school-rail{gap:14px}
.sofu-archive-school-rail .sofu-school-excellence-card{
  position:relative;isolation:isolate;overflow:hidden;min-height:330px;padding:28px;
  border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;
}
.sofu-school-excellence-card:before{
  content:attr(data-rank);position:absolute;right:18px;top:2px;z-index:-1;
  font-size:clamp(8rem,12vw,12rem);line-height:.9;font-weight:900;letter-spacing:-.08em;
  color:rgba(255,255,255,.025);pointer-events:none;
}
.sofu-school-brandmark{
  position:absolute!important;z-index:-1!important;right:-12%!important;top:-11%!important;
  width:72%!important;height:118%!important;margin:0!important;padding:0!important;border-radius:0!important;
  background:transparent!important;display:grid!important;place-items:center!important;
  transform:rotate(-7deg);pointer-events:none;overflow:visible!important;
}
.sofu-school-excellence-card:nth-child(2n) .sofu-school-brandmark{right:-8%!important;top:-7%!important;transform:rotate(5deg)}
.sofu-school-excellence-card:nth-child(3n) .sofu-school-brandmark{right:-15%!important;top:-5%!important;transform:rotate(-3deg)}
.sofu-school-brandmark img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;opacity:0!important}
.sofu-school-brandmark img.is-brandmark-ready{opacity:.13!important;filter:none!important}
.sofu-school-brandmark img.is-brandmark-unavailable{display:none!important}
.sofu-school-excellence-rank,.sofu-school-excellence-copy{position:relative;z-index:2}
.sofu-school-excellence-rank{display:grid;gap:4px;align-content:start}
.sofu-school-excellence-rank span{font-size:2.3rem;line-height:.82;letter-spacing:-.06em;color:#c0adff;font-weight:900}
.sofu-school-excellence-rank small{font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:#a99dbd;font-weight:850}
.sofu-school-excellence-copy{margin-top:auto;max-width:82%}
.sofu-school-excellence-copy strong{display:block;font-size:1.55rem!important;line-height:1.02!important;margin:0!important;color:#fff}
.sofu-school-excellence-copy p{margin:10px 0 0;color:#c9bfdc!important;font-size:.78rem!important}

/* A real collage: several image geometries repeat through the record instead of
   one dominant image followed by a uniform matrix. */
.sofu-archive-gallery-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:92px;
  grid-auto-flow:dense;gap:12px;
}
.sofu-archive-gallery-grid figure{height:auto;min-height:0;border-radius:22px}
.sofu-archive-gallery-grid figure.is-wide{grid-column:span 5;grid-row:span 3}
.sofu-archive-gallery-grid figure.is-tall{grid-column:span 3;grid-row:span 4}
.sofu-archive-gallery-grid figure.is-square{grid-column:span 3;grid-row:span 3}
.sofu-archive-gallery-grid figure.is-landscape{grid-column:span 4;grid-row:span 2}
.sofu-archive-gallery-grid figure.is-portrait{grid-column:span 3;grid-row:span 4}
.sofu-archive-gallery-grid figure.is-wide-tall{grid-column:span 6;grid-row:span 4}

@media(max-width:1023px){
  .sofu-archive-scoreboard{display:flex}
  .sofu-archive-scoreboard strong{font-size:5.35rem}
  .sofu-regional-problem-card{min-height:500px}
  .sofu-regional-problem-copy h4{font-size:1.7rem}
  .sofu-best-research-winner figure{width:54px!important;height:54px!important}
  .sofu-archive-school-rail .sofu-school-excellence-card{flex:0 0 78%;min-height:340px;padding:26px;scroll-snap-align:start}
  .sofu-school-brandmark{width:78%!important;height:116%!important;right:-17%!important}
  .sofu-school-excellence-copy{max-width:88%}
  .sofu-school-excellence-copy strong{font-size:1.65rem!important}

  .sofu-archive-gallery-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px;
    gap:9px;overflow:visible;scroll-snap-type:none;margin:0;padding:0;
  }
  .sofu-archive-gallery-grid figure,
  .sofu-archive-gallery-grid figure.is-wide,
  .sofu-archive-gallery-grid figure.is-tall,
  .sofu-archive-gallery-grid figure.is-square,
  .sofu-archive-gallery-grid figure.is-landscape,
  .sofu-archive-gallery-grid figure.is-portrait,
  .sofu-archive-gallery-grid figure.is-wide-tall{
    flex:none;width:auto;height:auto;scroll-snap-align:none;
  }
  .sofu-archive-gallery-grid figure.is-wide{grid-column:span 2;grid-row:span 2}
  .sofu-archive-gallery-grid figure.is-tall{grid-column:span 1;grid-row:span 2}
  .sofu-archive-gallery-grid figure.is-square{grid-column:span 1;grid-row:span 1}
  .sofu-archive-gallery-grid figure.is-landscape{grid-column:span 2;grid-row:span 1}
  .sofu-archive-gallery-grid figure.is-portrait{grid-column:span 1;grid-row:span 2}
  .sofu-archive-gallery-grid figure.is-wide-tall{grid-column:span 2;grid-row:span 2}
}
@media(max-width:430px){
  .sofu-archive-scoreboard strong{font-size:4.9rem}
  .sofu-archive-gallery-grid{grid-auto-rows:118px;gap:8px}
  .sofu-archive-gallery-grid figure{border-radius:18px}
  .sofu-school-excellence-card:before{font-size:8.5rem}
  .sofu-school-brandmark{width:86%!important;right:-23%!important}
}

/* v2.3.6 - School crests retain identity rather than becoming giant silhouettes. */
.sofu-archive-school-rail .sofu-school-excellence-card{
  min-height:330px;
  background:
    radial-gradient(circle at 82% 42%,rgba(255,255,255,.075),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.028));
}
.sofu-school-excellence-card:before{
  right:14px;top:10px;font-size:clamp(7rem,10vw,10rem);color:rgba(255,255,255,.02)
}
.sofu-school-brandmark,
.sofu-school-excellence-card:nth-child(2n) .sofu-school-brandmark,
.sofu-school-excellence-card:nth-child(3n) .sofu-school-brandmark{
  z-index:1!important;
  right:20px!important;top:54px!important;
  width:49%!important;height:61%!important;
  transform:none!important;
  display:grid!important;place-items:center!important;
  overflow:visible!important;
  opacity:1!important;
}
.sofu-school-brandmark:before{
  content:"";position:absolute;inset:4% 0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.12) 0,rgba(255,255,255,.055) 42%,rgba(255,255,255,0) 72%);
  filter:blur(2px);pointer-events:none;
}
.sofu-school-brandmark img,
.sofu-school-brandmark img.is-brandmark-ready{
  position:relative;z-index:1;
  width:100%!important;height:100%!important;
  object-fit:contain!important;
  opacity:.76!important;
  filter:saturate(.96) brightness(1.06) contrast(1.04) drop-shadow(0 18px 24px rgba(7,2,20,.24))!important;
}
.sofu-school-brandmark img:not(.is-brandmark-ready):not(.is-brandmark-unavailable){opacity:0!important}
.sofu-school-excellence-rank,.sofu-school-excellence-copy{z-index:3}
.sofu-school-excellence-copy{max-width:68%}
.sofu-school-excellence-copy strong{font-size:1.42rem!important;line-height:1.04!important}

/* v2.3.6 - Dense puzzle collage. Larger tiles create rhythm; ordinary 1x1
   tiles remain available to fill every internal cavity left by those spans. */
.sofu-archive-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:180px!important;
  grid-auto-flow:dense!important;
  gap:10px!important;
  overflow:visible!important;
  margin:0!important;padding:0!important;
}
.sofu-archive-gallery-grid figure,
.sofu-archive-gallery-grid figure[class]{
  grid-column:span 1!important;grid-row:span 1!important;
  width:auto!important;height:auto!important;min-height:0!important;
  margin:0!important;border-radius:22px!important;overflow:hidden!important;
}
/* Only introduce a large tile once enough smaller photographs exist to pack
   around it. That keeps the interior completely filled even with shorter galleries. */
.sofu-archive-gallery-grid:has(figure:nth-child(5)) figure:nth-child(1){grid-column:span 2!important;grid-row:span 2!important}
.sofu-archive-gallery-grid:has(figure:nth-child(6)) figure:nth-child(6){grid-column:span 2!important;grid-row:span 1!important}
.sofu-archive-gallery-grid:has(figure:nth-child(9)) figure:nth-child(9){grid-column:span 2!important;grid-row:span 1!important}
.sofu-archive-gallery-grid img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}

@media(max-width:1023px){
  .sofu-school-brandmark,
  .sofu-school-excellence-card:nth-child(2n) .sofu-school-brandmark,
  .sofu-school-excellence-card:nth-child(3n) .sofu-school-brandmark{
    width:52%!important;height:60%!important;right:16px!important;top:62px!important;
  }
  .sofu-school-excellence-copy{max-width:70%}
  .sofu-archive-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:155px!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(5)) figure:nth-child(1){grid-column:span 2!important;grid-row:span 2!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(6)) figure:nth-child(6){grid-column:span 2!important;grid-row:span 1!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(9)) figure:nth-child(9){grid-column:span 2!important;grid-row:span 1!important}
}
@media(max-width:640px){
  .sofu-school-brandmark,
  .sofu-school-excellence-card:nth-child(2n) .sofu-school-brandmark,
  .sofu-school-excellence-card:nth-child(3n) .sofu-school-brandmark{
    width:52%!important;height:55%!important;right:12px!important;top:72px!important;
  }
  .sofu-school-excellence-copy{max-width:72%}
  .sofu-school-brandmark img,.sofu-school-brandmark img.is-brandmark-ready{opacity:.72!important}
  .sofu-archive-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:128px!important;gap:8px!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(5)) figure:nth-child(1){grid-column:span 2!important;grid-row:span 2!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(6)) figure:nth-child(6){grid-column:span 2!important;grid-row:span 1!important}
  .sofu-archive-gallery-grid:has(figure:nth-child(9)) figure:nth-child(9){grid-column:span 2!important;grid-row:span 1!important}
  .sofu-archive-gallery-grid figure{border-radius:17px!important}
}

/* ==========================================================================
   v2.3.7 - Main UNSO Hall of Champions + recognition refinement
   ========================================================================== */

/* Hall of Champions is a continuous roll of honour, deliberately unlike the
   rounded year cards in the Tournament Archive immediately below it. */
.sofu-hall-champions{
  position:relative;overflow:hidden;padding:118px 0 126px;
  background:
    radial-gradient(circle at 92% 5%,rgba(112,78,214,.30),transparent 29%),
    radial-gradient(circle at 8% 92%,rgba(90,54,188,.18),transparent 31%),
    #170b3c;color:#fff;
}
.sofu-hall-champions:before{
  content:"HALL";position:absolute;right:-.03em;top:-.20em;pointer-events:none;
  font-size:clamp(11rem,23vw,27rem);font-weight:950;line-height:1;letter-spacing:-.09em;
  color:rgba(255,255,255,.018);
}
.sofu-hall-heading{position:relative;z-index:2;max-width:930px;margin-bottom:54px}
.sofu-hall-heading .sofu-section-number{border-color:rgba(255,255,255,.22);color:#d0c3ff}
.sofu-hall-heading h2{color:#fff}
.sofu-hall-heading p{color:#beb2d4}
.sofu-champion-ledger{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16)}
.sofu-champion-entry{
  display:grid;grid-template-columns:58px 150px 82px minmax(0,1fr) 130px;
  gap:22px;align-items:center;min-height:128px;padding:18px 6px;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none;
  transition:background .25s ease,padding .25s ease;
}
a.sofu-champion-entry:hover{background:rgba(255,255,255,.045);padding-left:18px;padding-right:18px}
.sofu-champion-entry-index{font-size:.62rem;font-weight:900;letter-spacing:.14em;color:#9175e7}
.sofu-champion-entry-year{font-size:clamp(2.9rem,5vw,5.2rem);line-height:.8;letter-spacing:-.075em;color:#b7a4ff}
.sofu-champion-entry-badge{width:68px;height:68px;padding:7px;border-radius:20px;background:#fff;display:grid;place-items:center;box-shadow:0 14px 34px rgba(3,0,15,.22)}
.sofu-champion-entry-badge img{display:block;width:100%;height:100%;object-fit:contain}
.sofu-champion-entry-badge>span{color:var(--sofu-purple);font-size:1.35rem;font-weight:900}
.sofu-champion-entry-copy{min-width:0}
.sofu-champion-entry-copy small{display:block;margin-bottom:6px;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:#a993ef;font-weight:900}
.sofu-champion-entry-copy h3{margin:0;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.02;letter-spacing:-.04em;color:#fff}
.sofu-champion-entry-action{justify-self:end;font-size:.72rem;font-weight:850;color:#d7ccf5;white-space:nowrap}

/* Main UNSO School-wide Excellence adopts the same strong crest-led composition
   as the archive cards, translated into the light programme-page environment. */
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso{
  position:relative;isolation:isolate;overflow:hidden;min-height:330px;padding:28px;
  border:1px solid #ddd4ef;border-radius:30px;
  background:
    radial-gradient(circle at 78% 40%,rgba(109,76,205,.10),transparent 34%),
    linear-gradient(145deg,#fbf9ff,#f1ebff);
  display:flex;flex-direction:column;align-items:stretch;
}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso:before{
  content:attr(data-rank);position:absolute;right:14px;top:8px;z-index:-1;
  font-size:clamp(7rem,10vw,10rem);line-height:.9;font-weight:950;letter-spacing:-.08em;
  color:rgba(82,47,172,.045);pointer-events:none;
}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark{
  position:absolute!important;z-index:1!important;right:20px!important;top:54px!important;
  width:49%!important;height:61%!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;display:grid!important;place-items:center!important;
  transform:none!important;overflow:visible!important;pointer-events:none;
}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark:before{
  content:"";position:absolute;inset:4% 0;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(255,255,255,.58) 37%,rgba(255,255,255,0) 73%);
  filter:blur(2px);pointer-events:none;
}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark img,
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark img.is-brandmark-ready{
  position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;
  opacity:.84!important;filter:saturate(.98) contrast(1.05) drop-shadow(0 16px 24px rgba(38,17,71,.12))!important;
}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-rank,
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy{position:relative;z-index:3}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-rank{display:grid;gap:4px;align-content:start}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-rank span{font-size:2.3rem;line-height:.82;letter-spacing:-.06em;color:#6844ce;font-weight:950}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-rank small{margin:0;font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:#756b87;font-weight:850}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy{margin-top:auto;max-width:68%}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy strong{display:block;margin:0!important;font-size:1.42rem!important;line-height:1.04!important;color:#170b3c}
.sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy p{margin:10px 0 0!important;color:var(--sofu-muted)!important;font-size:.78rem!important}

/* Every recognition entered in SOFU Studio is public. The desktop grid simply
   grows to additional rows instead of silently truncating after six cards. */
.sofu-unso-awards-grid{align-items:stretch}
.sofu-unso-awards-grid article{height:100%}

@media(max-width:1023px){
  .sofu-hall-champions{padding:88px 0 94px}
  .sofu-hall-heading{margin-bottom:36px}
  .sofu-champion-entry{grid-template-columns:44px 105px 66px minmax(0,1fr);gap:14px;min-height:116px}
  .sofu-champion-entry-year{font-size:3.45rem}
  .sofu-champion-entry-badge{width:58px;height:58px;border-radius:17px}
  .sofu-champion-entry-action{display:none}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso{flex:0 0 78vw;min-height:340px;padding:26px;scroll-snap-align:start}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark{width:52%!important;height:60%!important;right:16px!important;top:62px!important}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy{max-width:70%}
}
@media(max-width:640px){
  .sofu-hall-champions{padding:76px 0 82px}
  .sofu-hall-heading{grid-template-columns:1fr;gap:12px}
  .sofu-hall-heading>.sofu-section-number{display:none}
  .sofu-hall-heading h2{font-size:2.7rem}
  .sofu-champion-entry{grid-template-columns:72px 58px minmax(0,1fr);gap:12px;min-height:108px;padding:16px 0}
  .sofu-champion-entry-index{display:none}
  .sofu-champion-entry-year{font-size:2.45rem}
  .sofu-champion-entry-badge{width:54px;height:54px;padding:6px;border-radius:16px}
  .sofu-champion-entry-copy small{font-size:.53rem}
  .sofu-champion-entry-copy h3{font-size:1.05rem;line-height:1.05}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark{width:52%!important;height:55%!important;right:12px!important;top:72px!important}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-excellence-copy{max-width:72%}
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark img,
  .sofu-unso-top-school-grid .sofu-school-excellence-card.is-main-unso .sofu-school-brandmark img.is-brandmark-ready{opacity:.78!important}
}

/* v2.3.8 - year-specific UNSO tournament identity */
.sofu-edition-hero .sofu-page-hero-aside.has-tournament-logo{position:relative;overflow:hidden}
.sofu-unso-tournament-logo{position:absolute;z-index:4;top:24px;right:24px;width:min(190px,44%);padding:13px 14px 14px;border:1px solid rgba(23,11,60,.12);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 20px 54px rgba(13,5,35,.2);backdrop-filter:blur(12px)}
.sofu-unso-tournament-logo small{display:block;margin:0 0 10px;color:#6f5c98;font-size:.54rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.sofu-unso-tournament-logo img{display:block;width:100%;height:92px;object-fit:contain;object-position:center}
@media(max-width:760px){.sofu-unso-tournament-logo{top:18px;right:18px;width:min(158px,46%);padding:10px 11px 11px;border-radius:17px}.sofu-unso-tournament-logo small{font-size:.48rem;margin-bottom:7px}.sofu-unso-tournament-logo img{height:72px}}

/* =========================================================
   v2.3.10 - Explicit mobile "next card peep" for key rails.
   The rails go viewport-wide while their first card remains
   aligned with the normal mobile page gutter.
   ========================================================= */
@media (max-width:767px){
  /* UNSO: A long scientific journey. */
  .sofu-unso-programme-story .sofu-unso-story-steps{
    width:auto;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:18px!important;
    padding-right:22vw!important;
    scroll-padding-left:18px;
    gap:12px;
    box-sizing:border-box;
  }
  .sofu-unso-programme-story .sofu-unso-story-step{
    flex:0 0 78vw!important;
  }
  .sofu-unso-story-swipe-hint{
    margin-left:0!important;
  }

  /* International edition archives: People behind the flag. */
  .sofu-intl-delegation-section .sofu-intl-member-rail{
    width:auto;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:18px!important;
    padding-right:22vw!important;
    scroll-padding-left:18px;
    gap:12px;
    box-sizing:border-box;
  }
  .sofu-intl-delegation-section .sofu-intl-member-card{
    flex:0 0 78vw!important;
  }
}


/* v2.3.12 - mouse/trackpad parity for all horizontal discovery rails. */
@media (hover:hover) and (pointer:fine){
  .sofu-pointer-drag-rail.is-horizontally-scrollable{cursor:grab}
  .sofu-pointer-drag-rail.is-horizontally-scrollable.is-pointer-dragging{cursor:grabbing!important;scroll-behavior:auto!important;scroll-snap-type:none!important;user-select:none!important;-webkit-user-select:none!important}
  .sofu-pointer-drag-rail.is-pointer-dragging *{user-select:none!important;-webkit-user-select:none!important}
  .sofu-pointer-drag-rail img{-webkit-user-drag:none}
}

/* v2.3.13 - button-card rails remain clickable but advertise desktop dragging. */
@media (hover:hover) and (pointer:fine){
  .fight-phase-rail.sofu-pointer-drag-rail.is-horizontally-scrollable .fight-phase-card{cursor:grab}
  .fight-phase-rail.sofu-pointer-drag-rail.is-pointer-dragging .fight-phase-card{cursor:grabbing}
}
