@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Montserrat";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/montserrat-latin-600-normal.woff2) format("woff2");}
html,body{margin:0;}
.f-legal{display:inline-flex;gap:18px;}
.f-legal a:hover{color:var(--ink);}

/* Layout: one fixed WebGL stage behind six full-screen chapters; the scroll drives a particle morph
   logo → Suisse → domicile → attestée → publics → logo. Text alternates left / right of the object. */
:root{
  --bg:#050d1a;          /* bleu nuit, jamais noir */
  --navy:#0a1a2f;
  --ink:#f2f5fb;
  --muted:#9fb0c9;
  --blue:#2a62f0;
  --glow:#8fb2ff;
  --red:#e30613;
  --line:rgba(143,178,255,.18);
  --glass:rgba(12,30,58,.42);
  --accent:#1e6bff;      /* bleu roi du logo */
  --panel:rgba(5,13,26,.62);
  --f-display:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-body:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-mono:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --gutter:max(16px, 5vw, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, 5vw, env(safe-area-inset-right, 0px));
  color-scheme:dark;
}
html{background:var(--bg);}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);}
::selection{background:var(--blue);color:#fff;}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:6px;}

#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none;}
.no-webgl #stage{display:none;}
.no-webgl body{background:radial-gradient(900px 600px at 70% 40%,#163a7a 0%,var(--bg) 65%) fixed;}
.vignette{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(5,13,26,.85) 100%);}
.grain{position:fixed;inset:-50%;z-index:2;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1s steps(4) infinite;}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}

/* Loader */
.loader{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;justify-content:space-between;
  padding-block:max(28px, env(safe-area-inset-top,0px)) max(28px, env(safe-area-inset-bottom,0px));padding-left:var(--gutter);padding-right:var(--gutter-r);
  transition:transform 1.1s cubic-bezier(.76,0,.24,1);}
.loader.done{transform:translateY(-100%);}
.loader .l-top{display:flex;justify-content:space-between;font:500 12px var(--f-mono);letter-spacing:.14em;color:var(--muted);}
.loader .l-num{font:700 clamp(96px,22vw,320px)/.8 var(--f-display);letter-spacing:-.06em;font-variant-numeric:tabular-nums;}
.loader .l-bar{height:1px;background:var(--line);position:relative;overflow:hidden;}
.loader .l-bar i{position:absolute;inset:0;background:var(--glow);transform-origin:left;transform:scaleX(0);}

/* Cursor */
.cursor,.cursor-dot{position:fixed;left:0;top:0;z-index:60;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);}
.cursor{width:38px;height:38px;border:1px solid rgba(143,178,255,.6);transition:width .3s,height .3s,background .3s,border-color .3s;}
.cursor.hot{width:78px;height:78px;background:rgba(42,98,240,.18);border-color:rgba(143,178,255,.9);}
.cursor-dot{width:5px;height:5px;background:#fff;}
@media (pointer:coarse){.cursor,.cursor-dot{display:none;}}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:28px;
  padding-top:calc(env(safe-area-inset-top,0px) + 22px);padding-bottom:22px;padding-left:var(--gutter);padding-right:var(--gutter-r);}
.brand{display:flex;align-items:center;gap:12px;font:700 16px var(--f-display);letter-spacing:.08em;}
.brand img{width:32px;height:32px;border-radius:9px;display:block;box-shadow:0 0 24px rgba(42,98,240,.45);}
.navlinks{display:flex;gap:26px;font-size:14px;color:var(--muted);margin-left:24px;}
.navlinks a{position:relative;transition:color .25s;}
.navlinks a:hover{color:var(--ink);}
.nav-cta{margin-left:auto;font-size:14px;font-weight:500;padding:11px 20px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s;}
.nav-cta:hover{background:#fff;color:#05204f;}
.progress{position:fixed;right:max(18px, env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:14px;}
.progress button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:10px;font:500 10.5px var(--f-mono);letter-spacing:.12em;color:transparent;transition:color .3s;}
.progress button::after{content:"";width:6px;height:6px;border-radius:50%;background:rgba(143,178,255,.3);transition:all .35s;}
.progress button.on{color:var(--muted);}
.progress button.on::after{background:#fff;box-shadow:0 0 12px var(--glow);height:22px;border-radius:4px;}
.progress button:hover{color:var(--ink);}

/* Chapters */
main{position:relative;z-index:3;}
.sec{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;
  padding-block:120px 80px;padding-left:var(--gutter);padding-right:var(--gutter-r);box-sizing:border-box;}
.copy{max-width:600px;min-width:0;}
.sec.right .copy{margin-left:auto;}
.panelled .copy{background:var(--panel);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);
  box-shadow:inset 0 0 0 1px var(--line),0 40px 90px rgba(0,0,0,.35);border-radius:28px;padding:clamp(24px,3.2vw,48px);box-sizing:border-box;}
.panelled .copy h2{margin-top:18px;}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,13,26,.82) 0%,rgba(5,13,26,.55) 38%,rgba(5,13,26,0) 62%);}
.hero .copy{position:relative;}
.gridlines{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(90deg,rgba(143,178,255,.06) 1px,transparent 1px);background-size:calc(100% / 6) 100%;
  mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:600 12.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--accent);}
h1,h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.045em;margin:20px 0 22px;text-wrap:balance;color:var(--ink);}
h1{font-size:clamp(46px,7.6vw,124px);line-height:.94;}
h2{font-size:clamp(36px,4.6vw,76px);line-height:.98;}
h1 em,h2 em{font:inherit;color:inherit;font-style:normal;letter-spacing:inherit;}
.lede{font-size:clamp(17px,1.45vw,20px);line-height:1.6;color:#c3cfe2;max-width:30em;margin:0;}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:17px 26px;border-radius:999px;font-size:15px;font-weight:600;border:0;cursor:pointer;color:#fff;overflow:hidden;transition:transform .3s;}
.btn.primary{background:#ffffff;color:#05204f;box-shadow:0 18px 50px rgba(30,107,255,.35);}
.btn.primary::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(30,107,255,.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s;}
.btn.primary:hover::before{transform:translateX(120%);}
.btn.ghost{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.btn .arr{transition:transform .3s;} .btn:hover .arr{transform:translateX(4px);}

/* Hero extras */
.hero .copy{max-width:760px;}
.hero h1{font-size:clamp(52px,9vw,148px);}
.slogan-sign{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font:500 12px var(--f-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}
.slogan-sign::before{content:"";width:28px;height:1px;background:var(--glow);}
.scrollhint{position:absolute;left:var(--gutter);bottom:calc(36px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:14px;font:500 11px var(--f-mono);letter-spacing:.16em;color:var(--muted);}
.scrollhint i{width:1px;height:44px;background:linear-gradient(var(--glow),transparent);position:relative;overflow:hidden;}
.scrollhint i::after{content:"";position:absolute;left:0;top:-30%;width:1px;height:30%;background:#fff;animation:drip 1.8s ease-in-out infinite;}
@keyframes drip{to{top:110%}}
.marquee{position:absolute;left:0;right:0;bottom:-6px;overflow:hidden;pointer-events:none;white-space:nowrap;opacity:.9;}
.marquee div{display:inline-block;font:800 clamp(64px,11vw,180px)/1 var(--f-display);letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1px rgba(143,178,255,.16);will-change:transform;}

/* Chips & facts */
.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;}
.chip{font:500 12px var(--f-mono);letter-spacing:.08em;padding:9px 14px;border-radius:999px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);}
.chip b{color:var(--ink);font-weight:700;margin-right:6px;}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;max-width:520px;}
.timeline div{padding:16px 0 0;border-top:1px solid var(--line);position:relative;}
.timeline div::before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:2px;background:var(--accent);}
.timeline div:last-child::before{background:#fff;}
.timeline span{display:block;font:500 11px var(--f-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;}
.timeline b{display:block;margin-top:6px;font-size:17px;font-weight:600;}

/* Audiences */
.aud{flex-direction:column;justify-content:center;align-items:stretch;gap:56px;}
.aud .copy{max-width:820px;margin:0 auto;text-align:center;}
.aud .lede{margin:0 auto;}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;perspective:1200px;max-width:1240px;width:100%;margin:0 auto;}
.card{position:relative;min-width:0;padding:30px 28px 28px;border-radius:26px;background:linear-gradient(160deg,rgba(26,56,104,.55),rgba(8,20,40,.55));
  box-shadow:inset 0 0 0 1px rgba(143,178,255,.2),0 40px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;}
.card:hover{box-shadow:inset 0 0 0 1px rgba(143,178,255,.45),0 50px 100px rgba(0,0,0,.45),0 0 80px rgba(42,98,240,.25);}
.card .shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(143,178,255,.28),transparent 45%);}
.card:hover .shine{opacity:1;}
.card .ico{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--accent);box-shadow:inset 0 0 0 1px rgba(143,178,255,.35);transform:translateZ(60px);margin-bottom:56px;}
.card .ico svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.card h3{font:700 28px/1.05 var(--f-display);letter-spacing:-.03em;margin:0 0 12px;transform:translateZ(40px);}
.card .tl{display:block;font:600 15px var(--f-body);letter-spacing:-.01em;color:var(--ink);margin:0 0 12px;transform:translateZ(35px);}
.card p{margin:0 0 22px;color:var(--muted);line-height:1.55;font-size:15.5px;transform:translateZ(25px);}
.card .more{font-size:14px;font-weight:600;display:inline-flex;gap:10px;transform:translateZ(30px);}
.card .more span{transition:transform .3s;} .card:hover .more span{transform:translateX(5px);}

/* Final */
.final .copy{max-width:640px;}
.contact{margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:560px;font-size:14.5px;line-height:1.6;color:var(--muted);}
.contact b{display:block;font:600 11px var(--f-mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;}
.contact span{color:var(--ink);user-select:all;}
footer{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:400 11.5px var(--f-mono);letter-spacing:.06em;color:#6f819e;
  padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));padding-left:var(--gutter);padding-right:var(--gutter-r);border-top:1px solid var(--line);}

/* Reveal: visible at rest, sharpened on entry */
.js .rv{transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s;}
.js .rv:not(.in){opacity:.18;transform:translateY(34px);filter:blur(8px);}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}

/* Split headings: letters rise from a mask */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.16em .04em .1em 0;margin:-.16em -.04em -.1em 0;}
.ch{display:inline-block;transition:transform 1.05s cubic-bezier(.16,.84,.2,1);transition-delay:calc(var(--i) * 18ms);will-change:transform;}
.js .rv.split:not(.in){opacity:1;filter:none;transform:none;}
.js .split:not(.in) .ch{transform:translateY(112%) rotate(4deg);}
.copy{transform:skewY(var(--skew,0deg));transform-origin:left center;}
.btn{will-change:transform;}

/* Manifesto: words light up with the scroll */
.manif{display:block;min-height:220vh;padding-block:0;}
.manif .pin::before{content:"";position:absolute;inset:-10% 0;z-index:-1;background:radial-gradient(closest-side,rgba(5,13,26,.75),transparent);}
.manif .pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:34px;max-width:1180px;margin:0 auto;}
.manif .big{font:700 clamp(30px,4.4vw,66px)/1.06 var(--f-display);letter-spacing:-.04em;margin:0;text-wrap:balance;}
.manif .big span{color:rgba(242,245,251,.13);transition:color .5s,text-shadow .5s;}
.manif .big span.lit{color:var(--ink);}
.manif .big span.hl.lit{color:var(--ink);}
.manif .sign{font:500 12px var(--f-mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}
.counter{position:fixed;left:var(--gutter);bottom:calc(30px + env(safe-area-inset-bottom,0px));z-index:20;font:500 11px var(--f-mono);letter-spacing:.16em;color:var(--muted);display:flex;gap:12px;align-items:center;transition:opacity .4s;}
.counter b{color:var(--ink);font-weight:500;min-width:2ch;}
.counter i{width:60px;height:1px;background:var(--line);position:relative;overflow:hidden;}
.counter i::after{content:"";position:absolute;inset:0;background:var(--glow);transform-origin:left;transform:scaleX(var(--p,0));}
.counter.hide{opacity:0;}

@media (max-width:900px){
  .counter{display:none;}
  .manif .pin{justify-content:flex-end;padding-bottom:64px;box-sizing:border-box;}
  .navlinks,.progress,.scrollhint{display:none;}
  .sec{align-items:flex-end;padding-block:110px 64px;}
  .sec.right .copy{margin-left:0;}
  .hero::before{background:linear-gradient(180deg,rgba(5,13,26,0) 30%,rgba(5,13,26,.85) 62%);}
  .cards{grid-template-columns:1fr;}
  .card .ico{margin-bottom:28px;}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr));}
  .contact{grid-template-columns:1fr;}
  .aud{align-items:stretch;}
  .aud .copy{text-align:left;} .aud .lede{margin:0;}
}
@media (prefers-reduced-motion:reduce){
  .js .split:not(.in) .ch{transform:none;}
  .manif .big span{color:var(--ink);}
  .grain,.scrollhint i::after{animation:none;}
  .js .rv:not(.in){opacity:1;transform:none;filter:none;}
  .loader{transition:none;}
}

/* ===== Institutional layer ===== */
:root{--paper:#f3f6fb;--paper-ink:#0a1a2f;--paper-muted:#4a5a72;--paper-line:#d9e1ec;}
.ch-flag{display:inline-block;width:12px;height:12px;border-radius:2px;flex:none;vertical-align:-1px;margin-right:10px;
  background:linear-gradient(#fff,#fff) center/2px 7px no-repeat,linear-gradient(#fff,#fff) center/7px 2px no-repeat,var(--red);}
.top{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);
  background:rgba(5,13,26,.72);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--line);}
.util{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);padding-block:8px;padding-left:var(--gutter);padding-right:var(--gutter-r);border-bottom:1px solid rgba(143,178,255,.1);}
.util span{display:inline-flex;align-items:center;}
.util a:hover{color:var(--ink);}
.top nav{position:static;padding-top:14px;padding-bottom:14px;}
.nav-cta{background:#fff;color:#05204f;box-shadow:none;}
.nav-cta:hover{background:var(--accent);color:#fff;}
.sec{padding-block:150px 80px;}
.hero h1{font-size:clamp(50px,8vw,132px);font-weight:700;}
h2{font-weight:650;}
.byline{display:flex;align-items:center;margin-top:28px;font-size:13px;color:var(--muted);}
.btn{border-radius:12px;}
.btn.primary::before{display:none;}
.chip{border-radius:10px;font-size:13px;letter-spacing:0;}
.chip b{margin-right:8px;}
.chip sup{font-size:.7em;}
.panelled .copy{border-radius:20px;}
.card{border-radius:20px;}
.card .ico{border-radius:12px;}
.manif .big{font-weight:600;}
.loader{justify-content:center;align-items:center;gap:36px;}
.loader .l-mid{display:flex;align-items:center;gap:18px;}
.loader .l-mid img{width:64px;height:64px;border-radius:16px;}
.loader .l-mid b{display:block;font:700 28px var(--f-display);letter-spacing:.08em;}
.loader .l-mid span{display:block;margin-top:4px;color:var(--muted);font-size:14px;}
.loader .l-bar{width:min(320px,70vw);}
.loader .l-foot{position:absolute;bottom:max(28px, env(safe-area-inset-bottom,0px));font-size:12px;color:var(--muted);letter-spacing:.04em;}
/* light editorial band */
.light{background:var(--paper);color:var(--paper-ink);flex-direction:column;align-items:stretch;justify-content:center;gap:64px;z-index:4;}
.light .eyebrow{color:var(--paper-muted);}
.light h2{color:var(--paper-ink);}
.ed{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);max-width:1240px;width:100%;margin:0 auto;align-items:start;}
.ed-main p{font-size:clamp(17px,1.4vw,19px);line-height:1.65;color:var(--paper-muted);max-width:36em;margin:0 0 16px;}
.ed-facts{margin:8px 0 0;display:grid;gap:0;border-top:1px solid var(--paper-line);}
.ed-facts div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--paper-line);}
.ed-facts dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-muted);padding-top:3px;}
.ed-facts dd{margin:0;font-size:16px;line-height:1.5;color:var(--paper-ink);font-variant-numeric:tabular-nums;}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1240px;width:100%;margin:0 auto;}
.principles div{padding-top:20px;border-top:2px solid var(--paper-ink);}
.principles b{font-size:20px;font-weight:650;letter-spacing:-.02em;}
.principles p{margin:8px 0 0;color:var(--paper-muted);line-height:1.55;}
.light .rv:not(.in){filter:none;}
/* footer */
.foot{position:relative;z-index:4;background:#030914;border-top:1px solid var(--line);color:var(--muted);font-size:14px;
  padding-block:64px calc(28px + env(safe-area-inset-bottom,0px));padding-left:var(--gutter);padding-right:var(--gutter-r);display:block;}
.f-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;max-width:1240px;margin:0 auto 48px;}
.f-grid h4{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);}
.f-grid a,.f-grid span{display:block;line-height:1.9;}
.f-grid a:hover{color:var(--ink);}
.f-brand p{margin:14px 0 0;color:var(--ink);font-size:17px;font-weight:600;}
.f-brand .f-small{margin-top:6px;color:var(--muted);font-size:14px;font-weight:400;}
.f-bottom{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;}
.f-bottom span{display:inline-flex;align-items:center;}
.counter{bottom:calc(30px + env(safe-area-inset-bottom,0px));}
@media (max-width:900px){
  .util span{font-size:11px;} .util a{display:none;}
  .ed,.principles{grid-template-columns:1fr;}
  .ed-facts div{grid-template-columns:110px minmax(0,1fr);}
  .f-grid{grid-template-columns:1fr 1fr;}
  .f-brand{grid-column:1/-1;}
  .nav-cta{padding:10px 14px;font-size:13px;}
  .sec{padding-block:140px 64px;}
}
.onlight .progress button::after{background:rgba(10,26,47,.25);}
.onlight .progress button.on{color:var(--paper-muted);}
.onlight .progress button.on::after{background:var(--paper-ink);box-shadow:none;}
