@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url('/fonts/Inter-Regular.woff') format('woff');}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url('/fonts/Inter-Medium.woff') format('woff');}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url('/fonts/Inter-SemiBold.woff') format('woff');}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:url('/fonts/Inter-Bold.woff') format('woff');}
@font-face{font-family:'Inter Display';font-weight:600;font-style:normal;font-display:swap;src:url('/fonts/InterDisplay-SemiBold.woff') format('woff');}
@font-face{font-family:'Inter Display';font-weight:700;font-style:normal;font-display:swap;src:url('/fonts/InterDisplay-Bold.woff') format('woff');}
/* nuantu space, light theme: white, mist and bright indigo, with terracotta and gold accents */
:root{
  --ink:#1B143F;            /* deep indigo, text on light */
  --bright:#4034C4;         /* bright indigo */
  --bright2:#6A5CF0;
  --mist:#F4F2FD;           /* light indigo tint */
  --sand:#F8F0E4;
  --terracotta:#CC6640;
  --gold:#ECA226;
  --display:'Inter Display','Inter','Segoe UI',system-ui,sans-serif;
  --body:'Inter','Segoe UI',ui-sans-serif,system-ui,sans-serif;
  --pad:1.25rem;
  --shadow:0 18px 40px -22px rgba(27,20,63,.35);
}
@media(min-width:768px){ :root{ --pad:2.5rem; } }
@media(min-width:1200px){ :root{ --pad:4.5rem; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; background:#fff; color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ display:block; max-width:100%; height:auto; }
h1,h2,h3,h4{ font-family:var(--display); font-weight:600; margin:0; letter-spacing:-.02em; line-height:1.1; }
p{ margin:0; } ul{ margin:0; padding:0; list-style:none; } a{ color:inherit; text-decoration:none; }
.wrap{ width:100%; max-width:1240px; margin:0 auto; padding:0 var(--pad); }
.skip{ position:absolute; left:-9999px; }
.skip:focus{ position:fixed; left:1rem; top:1rem; z-index:80; background:var(--gold); color:var(--ink); padding:.75rem 1.25rem; border-radius:999px; font-weight:600; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:4px; }

/* theme variables per section */
.sec{ position:relative; padding:4.5rem 0; background:var(--bg,#fff); color:var(--fg); --fg:var(--ink); --muted:rgba(27,20,63,.7); --line:rgba(27,20,63,.12); --card:#fff; --cardline:rgba(27,20,63,.09); --accent:var(--bright); --label:var(--terracotta); --soft:rgba(64,52,196,.07); }
@media(min-width:900px){ .sec{ padding:8.5rem 0; } }
.sec.mist{ --bg:var(--mist); } .sec.sand{ --bg:var(--sand); }
.sec.bright{ --bg:linear-gradient(135deg,var(--bright) 0%,var(--bright2) 100%); --fg:#fff; --muted:rgba(255,255,255,.82); --line:rgba(255,255,255,.28); --card:rgba(255,255,255,.12); --cardline:rgba(255,255,255,.24); --accent:var(--gold); --label:var(--gold); --soft:rgba(255,255,255,.12); }
.sec.deep{ --bg:var(--ink); --fg:#fff; --muted:rgba(255,255,255,.72); --line:rgba(255,255,255,.18); --card:rgba(255,255,255,.07); --cardline:rgba(255,255,255,.16); --accent:var(--gold); --label:var(--gold); --soft:rgba(255,255,255,.08); }
.sec{ background:var(--bg); }

.label{ display:inline-flex; align-items:center; gap:.8rem; font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--label); margin-bottom:1.3rem; }
.label::before{ content:''; width:32px; height:2px; background:currentColor; display:inline-block; }
h2{ font-size:clamp(2rem,4.8vw,3.7rem); max-width:20ch; }
.sub{ margin-top:1.4rem; max-width:60ch; color:var(--muted); font-size:1.08rem; font-weight:400; }
.lead{ font-size:1.12rem; color:var(--muted); max-width:62ch; }
.split{ display:grid; gap:2.5rem; }
@media(min-width:1000px){ .split{ grid-template-columns:5fr 7fr; gap:5rem; align-items:start; } .split .sticky{ position:sticky; top:12vh; } }

/* nav */
.nav{ position:fixed; top:0; left:0; right:0; z-index:40; transition:background .25s, box-shadow .25s; }
.nav .inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.1rem 0; }
.nav .logo img{ height:34px; width:auto; } .nav .logo .l-dark{ display:none; }
@media(min-width:768px){ .nav .logo img{ height:40px; } }
.menu{ display:none; align-items:center; gap:1.5rem; font-size:.9rem; font-weight:500; color:rgba(255,255,255,.88); }
.menu a{ padding:.3rem 0; border-bottom:2px solid transparent; transition:color .2s,border-color .2s; }
.menu a:hover,.menu a[aria-current="page"]{ color:#fff; border-color:var(--gold); }
.menu .lang{ font-size:.78rem; letter-spacing:.1em; border:1px solid rgba(255,255,255,.45); border-radius:999px; padding:.3rem .8rem; }
.menu .lang:hover{ background:#fff; color:var(--bright); border-color:#fff; }
.menu .nav-cta{ background:var(--gold); color:var(--ink); font-family:var(--display); font-weight:700; border-radius:999px; padding:.6rem 1.2rem; border:0; }
.menu .nav-cta:hover{ background:#fff; }
@media(min-width:1280px){ .menu{ display:flex; } .burger{ display:none; } }
.burger{ background:none; border:1px solid rgba(255,255,255,.5); color:#fff; border-radius:999px; padding:.5rem 1.1rem; font:inherit; font-size:.88rem; cursor:pointer; }
.drawer{ display:none; position:absolute; top:100%; left:0; right:0; background:#fff; color:var(--ink); padding:.5rem var(--pad) 1.5rem; box-shadow:var(--shadow); }
.drawer.open{ display:block; } .drawer a{ display:block; padding:.85rem 0; border-bottom:1px solid rgba(27,20,63,.1); font-size:1.05rem; }
@media(min-width:1200px){ .drawer{ display:none !important; } }
.nav.scrolled{ background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(12px); box-shadow:0 6px 24px -14px rgba(27,20,63,.4); }
.nav.scrolled .logo .l-light{ display:none; } .nav.scrolled .logo .l-dark{ display:block; }
.nav.scrolled .menu{ color:var(--ink); } .nav.scrolled .menu a:hover,.nav.scrolled .menu a[aria-current="page"]{ color:var(--bright); }
.nav.scrolled .menu .lang{ border-color:rgba(27,20,63,.25); } .nav.scrolled .menu .lang:hover{ background:var(--bright); color:#fff; border-color:var(--bright); }
.nav.scrolled .burger{ color:var(--ink); border-color:rgba(27,20,63,.3); }

/* hero */
.hero{ position:relative; overflow:hidden; color:#fff; background:linear-gradient(135deg,#3226B0 0%,var(--bright) 45%,var(--bright2) 100%); padding:8.5rem 0 7rem; }
.hero.full{ min-height:92svh; display:flex; align-items:center; padding:8rem 0 8rem; }
@media(min-width:900px){ .hero{ padding:11rem 0 9rem; } .hero.full{ padding:9rem 0 9rem; } }
.hero .bg{ position:absolute; inset:0; z-index:0; }
.hero .bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 50%; opacity:.6; }
.hero .bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(27,20,63,.94) 0%,rgba(42,32,115,.78) 48%,rgba(42,32,115,.38) 100%); }
@media(max-width:899px){ .hero .bg img{ opacity:.45; object-position:62% 50%; } .hero .bg::after{ background:linear-gradient(180deg,rgba(27,20,63,.85),rgba(42,32,115,.6)); } }
.hero .rings{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero .rings circle{ fill:none; stroke:#fff; stroke-opacity:.14; }
.hero .rings circle.g{ stroke:var(--gold); stroke-opacity:.5; }
.hero .wrap{ position:relative; z-index:1; }
.eyebrow{ display:inline-flex; align-items:center; gap:.7rem; font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-bottom:1.75rem; }
.eyebrow .pulse{ width:8px; height:8px; border-radius:50%; background:var(--gold); position:relative; }
.eyebrow .pulse::after{ content:''; position:absolute; inset:-5px; border-radius:50%; border:1px solid var(--gold); opacity:.6; animation:ping 2.6s ease-out infinite; }
@keyframes ping{ 0%{ transform:scale(.6); opacity:.7 } 100%{ transform:scale(1.6); opacity:0 } }
h1{ font-size:clamp(2.6rem,7vw,6rem); max-width:16ch; letter-spacing:-.035em; }
.hero:not(.full) h1{ font-size:clamp(2.2rem,5.2vw,4.1rem); max-width:21ch; }
h1 .dim{ color:rgba(255,255,255,.62); }
.hero .lede{ margin-top:1.75rem; max-width:52ch; font-size:clamp(1.05rem,1.5vw,1.28rem); color:rgba(255,255,255,.9); }
.actions{ display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; margin-top:2.5rem; }
.pill{ display:inline-flex; align-items:center; gap:.5rem; background:var(--bright); color:#fff; font-family:var(--display); font-weight:700; font-size:.95rem; padding:1rem 2rem; border-radius:999px; border:0; cursor:pointer; box-shadow:0 12px 24px -14px rgba(64,52,196,.8); transition:transform .22s cubic-bezier(.22,.61,.36,1), background-color .22s, color .22s; }
.pill:hover{ background:var(--ink); transform:translateY(-2px); }
.hero .pill,.sec.bright .pill,.sec.deep .pill{ background:var(--gold); color:var(--ink); box-shadow:0 12px 24px -14px rgba(0,0,0,.5); }
.hero .pill:hover,.sec.bright .pill:hover,.sec.deep .pill:hover{ background:#fff; }
.pill.ghost{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); box-shadow:none; }
.hero .pill.ghost:hover,.sec.bright .pill.ghost:hover{ background:#fff; color:var(--bright); }
.textlink{ font-size:.98rem; font-weight:600; color:var(--bright); border-bottom:2px solid rgba(64,52,196,.3); padding-bottom:.2rem; transition:color .2s,border-color .2s; }
.textlink:hover{ color:var(--terracotta); border-color:var(--terracotta); }
.hero .textlink,.sec.bright .textlink,.sec.deep .textlink{ color:#fff; border-color:rgba(255,255,255,.5); } .hero .textlink:hover,.sec.bright .textlink:hover{ color:var(--gold); border-color:var(--gold); }
.chips{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:3rem; }
.chips span{ border:1px solid rgba(255,255,255,.4); border-radius:999px; padding:.45rem 1.1rem; font-size:.88rem; font-weight:600; background:rgba(255,255,255,.1); backdrop-filter:blur(4px); }
.wave{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:clamp(40px,6vw,90px); display:block; z-index:1; }
.wave path{ fill:#fff; }

/* lists, cards */
.item{ padding:1.8rem 0; border-bottom:1px solid var(--line); }
.item:first-child{ border-top:1px solid var(--line); }
.item h3{ font-size:clamp(1.2rem,2.1vw,1.55rem); transition:color .25s; }
.item p{ margin-top:.55rem; color:var(--muted); max-width:56ch; }
.item:hover h3{ color:var(--accent); }
.grid{ display:grid; gap:1.25rem; margin-top:3rem; }
@media(min-width:700px){ .grid.c2,.grid.c4{ grid-template-columns:1fr 1fr; } .grid.c3{ grid-template-columns:1fr 1fr; } }
@media(min-width:1000px){ .grid.c3{ grid-template-columns:repeat(3,1fr); } .grid.c4{ grid-template-columns:repeat(4,1fr); } }
.card{ background:var(--card); border:1px solid var(--cardline); border-radius:8px; padding:1.9rem; display:flex; flex-direction:column; gap:.8rem; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s, border-color .25s; position:relative; overflow:hidden; }
.sec.bright .card,.sec.deep .card{ box-shadow:none; }
.card:hover{ transform:translateY(-4px); border-color:var(--accent); }
.card h3{ font-size:1.25rem; } .card p{ color:var(--muted); font-size:.99rem; }
.card .tag{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--label); }
.card .num{ font-family:var(--display); font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:700; color:var(--accent); line-height:1; letter-spacing:-.04em; }
.card .meta{ margin-top:auto; padding-top:.9rem; border-top:1px solid var(--line); font-size:.86rem; color:var(--muted); }
.card .meta a{ color:var(--accent); font-weight:600; }
.card ul{ display:grid; gap:.5rem; font-size:.97rem; color:var(--muted); } .card li{ padding-left:1.1rem; position:relative; } .card li::before{ content:''; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:var(--label); }
.card.accent{ background:linear-gradient(160deg,#fff 0%,var(--mist) 100%); }
.card .cover{ width:calc(100% + 3.8rem); margin:-1.9rem -1.9rem .6rem; max-width:none; height:170px; object-fit:cover; }
.icon{ width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--soft); color:var(--accent); font-family:var(--display); font-weight:700; font-size:1.15rem; }
.sec.bright .icon{ color:var(--gold); }
.note{ margin-top:2rem; padding:1.3rem 1.6rem; border-left:4px solid var(--gold); background:var(--soft); border-radius:0 16px 16px 0; max-width:64ch; font-weight:500; }
.src{ margin-top:2.25rem; font-size:.8rem; color:var(--muted); max-width:80ch; }

/* ladder, phases, gates */
.ladder{ display:grid; gap:1rem; margin-top:3rem; counter-reset:st; }
@media(min-width:1000px){ .ladder{ grid-template-columns:repeat(4,1fr); } }
.step{ background:#fff; border:1px solid var(--cardline); border-radius:24px; padding:1.8rem; counter-increment:st; display:flex; flex-direction:column; gap:.8rem; box-shadow:var(--shadow); }
.step::before{ content:counter(st); font-family:var(--display); font-weight:700; font-size:.9rem; width:2.1rem; height:2.1rem; border-radius:50%; background:var(--bright); color:#fff; display:grid; place-items:center; }
.step .quote{ font-family:var(--display); font-size:1.12rem; line-height:1.25; letter-spacing:-.02em; }
.step dl{ margin:0; display:grid; gap:.6rem; font-size:.94rem; } .step dt{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); } .step dd{ margin:0; color:var(--muted); }
.step .entry{ margin-top:auto; padding-top:.9rem; border-top:1px solid var(--line); font-size:.86rem; color:var(--bright); font-weight:700; }
.phases{ display:grid; gap:1rem; margin-top:3rem; } @media(min-width:1000px){ .phases{ grid-template-columns:repeat(4,1fr); } .phases.c3{ grid-template-columns:repeat(3,1fr); } }
.phase{ border-radius:24px; background:var(--card); border:1px solid var(--cardline); padding:1.8rem 1.6rem; display:flex; flex-direction:column; gap:.7rem; position:relative; overflow:hidden; }
.phase::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg,var(--gold),var(--terracotta)); }
.phase.p4::before{ background:linear-gradient(90deg,var(--terracotta),var(--bright2)); }
.phase .k{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--label); }
.phase h3{ font-size:1.25rem; } .phase p{ color:var(--muted); font-size:.98rem; }
.phase .gate{ margin-top:auto; padding-top:.9rem; border-top:1px dashed var(--line); font-size:.87rem; }
.phase .gate b{ color:var(--accent); }

/* images */
.ph{ position:relative; overflow:hidden; border-radius:8px; min-height:260px; background:linear-gradient(135deg,var(--bright),var(--bright2)); box-shadow:var(--shadow); }
.ph::before{ content:''; position:absolute; inset:0; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'><g fill='none' stroke='white' stroke-opacity='.25'><circle cx='280' cy='160' r='150'/><circle cx='280' cy='160' r='100' stroke='%23ECA226' stroke-opacity='.6'/><circle cx='280' cy='160' r='60'/></g><circle cx='280' cy='10' r='5' fill='%23ECA226'/></svg>") center/cover no-repeat; }
.ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ph figcaption{ position:absolute; left:0; right:0; bottom:0; padding:2.5rem 1.25rem .9rem; font-size:.75rem; color:rgba(255,255,255,.9); background:linear-gradient(0deg,rgba(27,20,63,.8),transparent); }
.ph.noimg figcaption{ display:none; } .ph.wide{ min-height:320px; } @media(min-width:900px){ .ph.wide{ min-height:400px; } }
.figrow{ display:grid; gap:1.25rem; margin-top:3rem; } @media(min-width:900px){ .figrow{ grid-template-columns:1fr 1fr; } }

/* value chain columns, tiers, roles, flow */
.cols3{ display:grid; gap:1.25rem; margin-top:3rem; } @media(min-width:1000px){ .cols3{ grid-template-columns:repeat(3,1fr); } }
.rules{ margin-top:1.5rem; padding:1.2rem 1.5rem; border:1.5px dashed var(--line); border-radius:18px; color:var(--muted); font-size:.96rem; } .rules b{ color:var(--accent); }
.tiers{ margin-top:3rem; border-top:1px solid var(--line); }
.tier{ display:grid; gap:.4rem 2rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
@media(min-width:900px){ .tier{ grid-template-columns:2.2fr 5fr 3fr; align-items:baseline; } }
.tier h3{ font-size:1.3rem; } .tier .scope{ color:var(--muted); } .tier .who{ font-size:.88rem; color:var(--bright); font-weight:700; }
.tier h3 span{ display:block; font-family:var(--body); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); font-weight:700; margin-bottom:.3rem; }
.roles{ margin-top:3rem; }
.role{ display:grid; gap:.4rem 2rem; padding:1.5rem 0; border-top:1px solid var(--line); } .role:last-child{ border-bottom:1px solid var(--line); }
@media(min-width:900px){ .role{ grid-template-columns:3fr 4fr 5fr; align-items:baseline; } }
.role h3{ font-size:1.25rem; } .role .brings,.role .gets{ color:var(--muted); font-size:.98rem; }
.role small{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--label); margin-bottom:.25rem; }
.flow{ display:grid; gap:.8rem; margin-top:3rem; counter-reset:fl; } @media(min-width:1000px){ .flow{ grid-template-columns:repeat(5,1fr); } .flow.f4{ grid-template-columns:repeat(4,1fr); } }
.flow div{ border:1px solid var(--cardline); background:var(--card); border-radius:20px; padding:1.3rem; counter-increment:fl; position:relative; }
.flow div b{ display:block; font-family:var(--display); font-size:1.1rem; margin-bottom:.4rem; color:var(--accent); }
.flow div span{ font-size:.94rem; color:var(--muted); } .flow div.opt{ border-style:dashed; }
.wps{ display:grid; gap:1rem; margin-top:3rem; } @media(min-width:700px){ .wps{ grid-template-columns:1fr 1fr; } } @media(min-width:1000px){ .wps{ grid-template-columns:repeat(3,1fr); } }
.wp{ background:#fff; border:1px solid var(--cardline); border-radius:20px; padding:1.4rem 1.5rem; box-shadow:var(--shadow); }
.wp b{ font-family:var(--display); font-size:.8rem; color:var(--terracotta); letter-spacing:.06em; } .wp h3{ font-size:1.1rem; margin:.25rem 0 .4rem; } .wp p{ font-size:.94rem; color:var(--muted); }

/* people, values */
.people{ display:grid; gap:1.5rem; margin-top:3rem; } @media(min-width:900px){ .people{ grid-template-columns:1fr 1fr; } }
.person{ background:#fff; border-radius:8px; padding:2.1rem; border:1px solid var(--cardline); box-shadow:var(--shadow); }
.person .av{ width:68px; height:68px; border-radius:50%; background:linear-gradient(135deg,var(--bright),var(--bright2)); color:#fff; display:grid; place-items:center; font-family:var(--display); font-weight:700; font-size:1.25rem; margin-bottom:1.1rem; }
.person .av.photo{ width:96px; height:96px; object-fit:cover; }
.person h3{ font-size:1.5rem; } .person .role-t{ color:var(--terracotta); font-weight:700; font-size:.92rem; margin-top:.3rem; } .person .lead-t{ margin-top:.9rem; font-size:.9rem; color:var(--muted); }
.person ul{ margin-top:1rem; display:grid; gap:.6rem; color:var(--muted); font-size:.98rem; } .person li{ padding-left:1.1rem; position:relative; } .person li::before{ content:''; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:var(--terracotta); }
.values{ display:grid; gap:1.25rem; margin-top:3rem; } @media(min-width:700px){ .values{ grid-template-columns:1fr 1fr; } } @media(min-width:1000px){ .values{ grid-template-columns:repeat(4,1fr); } }
.values div{ border-top:3px solid var(--gold); padding-top:1rem; } .values h3{ font-size:1.2rem; } .values p{ margin-top:.5rem; color:var(--muted); font-size:.98rem; }
.bigquote{ font-family:var(--display); font-size:clamp(1.6rem,3.4vw,2.7rem); line-height:1.2; letter-spacing:-.03em; max-width:30ch; font-weight:600; }
.bigquote em{ font-style:normal; color:var(--terracotta); }
.sec.bright .bigquote em{ color:var(--gold); }

/* home doors, pillars */
.doors{ display:grid; gap:1.25rem; margin-top:3rem; } @media(min-width:900px){ .doors{ grid-template-columns:1fr 1fr; } }
.door{ display:flex; flex-direction:column; gap:.9rem; padding:2.3rem; border-radius:28px; background:linear-gradient(140deg,var(--bright),var(--bright2)); color:#fff; box-shadow:0 24px 50px -26px rgba(64,52,196,.9); transition:transform .25s; }
.door:hover{ transform:translateY(-5px); } .door.alt{ background:linear-gradient(140deg,#2A2073,var(--bright)); }
.door .tag{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.door h3{ font-size:clamp(1.4rem,2.4vw,1.9rem); } .door p{ color:rgba(255,255,255,.85); } .door .go{ margin-top:.5rem; color:var(--gold); font-weight:700; font-family:var(--display); font-size:.95rem; }
.pillars{ display:grid; gap:2rem; margin-top:3rem; } @media(min-width:900px){ .pillars{ grid-template-columns:repeat(3,1fr); gap:3rem; } }
.pillars div{ border-top:3px solid var(--terracotta); padding-top:1.1rem; } .pillars h3{ font-size:1.6rem; } .pillars p{ margin-top:.6rem; color:var(--muted); }

/* news */
.news{ display:grid; gap:1.5rem; margin-top:3rem; } @media(min-width:900px){ .news{ grid-template-columns:1fr 1fr; } }
.news .card .date{ font-size:.85rem; font-weight:600; color:var(--muted); }

/* contact */
.contact .direct{ margin-top:2.2rem; display:grid; gap:.5rem; } .contact .direct a{ color:var(--bright); font-weight:700; border-bottom:2px solid rgba(64,52,196,.3); padding-bottom:.2rem; justify-self:start; } .contact .direct span{ color:var(--muted); }
.f input,.f textarea,.f select{ width:100%; background:#fff; border:1.5px solid rgba(27,20,63,.18); border-radius:14px; padding:.9rem 1rem; color:var(--ink); font-family:var(--body); font-size:1.02rem; transition:border-color .2s, box-shadow .2s; }
.f textarea{ min-height:130px; resize:vertical; }
.f input:focus,.f textarea:focus,.f select:focus{ outline:none; border-color:var(--bright); box-shadow:0 0 0 4px rgba(64,52,196,.15); }
.f label{ display:block; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:.45rem; }
.f input::placeholder,.f textarea::placeholder{ color:rgba(27,20,63,.35); }
.rowtwo{ display:grid; gap:1.5rem; } @media(min-width:560px){ .rowtwo{ grid-template-columns:1fr 1fr; } }
form .stack{ display:grid; gap:1.5rem; } .sendrow{ display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; }
.submit{ border:0; cursor:pointer; background:var(--bright); color:#fff; font-family:var(--display); font-weight:700; font-size:.95rem; padding:1rem 2.2rem; border-radius:999px; transition:background-color .22s,transform .22s; }
.submit:hover{ background:var(--ink); transform:translateY(-2px); } .submit:disabled{ opacity:.55; cursor:default; transform:none; }
#msg{ font-size:.92rem; color:var(--muted); } #msg.ok{ color:#157A4B; font-weight:600; } #msg.err{ color:#B3341A; font-weight:600; }
.hp{ position:absolute; left:-9999px; }

/* CTA band */
.band h2{ max-width:24ch; font-size:clamp(1.7rem,3.6vw,2.8rem); } .band .sub{ color:rgba(255,255,255,.9); }

/* footer */
footer{ background:var(--ink); color:#fff; padding:4.5rem 0 3rem; }
.fgrid{ display:grid; gap:2.5rem; } @media(min-width:900px){ .fgrid{ grid-template-columns:4fr 3fr 3fr 3fr; } }
footer img{ height:32px; width:auto; }
footer h4{ font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); font-family:var(--body); font-weight:700; margin-bottom:.9rem; }
footer li{ margin-bottom:.5rem; } footer a{ color:rgba(255,255,255,.8); } footer a:hover{ color:var(--gold); }
footer .meta{ margin-top:1.1rem; font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.7; }
.rights{ margin-top:3rem; font-size:.76rem; color:rgba(255,255,255,.45); line-height:1.7; } .credits{ display:block; margin-top:.8rem; max-width:90ch; }

/* motion */
.rise{ opacity:0; transform:translateY(22px); animation:rise .9s cubic-bezier(.22,.61,.36,1) forwards; }
.r1{animation-delay:.08s}.r2{animation-delay:.24s}.r3{animation-delay:.4s}.r4{animation-delay:.56s}
@keyframes rise{ to{ opacity:1; transform:none; } }
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } .rise{ animation:none; opacity:1; transform:none; } .reveal{ opacity:1; transform:none; transition:none; } .eyebrow .pulse::after{ animation:none; } }

/* French copy runs about 20% longer: smaller display sizes and wider measure keep headlines balanced */
html[lang="fr"] h1{ font-size:clamp(2.3rem,5.8vw,5rem); max-width:19ch; }
html[lang="fr"] .hero:not(.full) h1{ font-size:clamp(2rem,4.4vw,3.4rem); max-width:24ch; }
html[lang="fr"] h2{ font-size:clamp(1.8rem,3.9vw,3rem); max-width:23ch; }
html[lang="fr"] .band h2{ font-size:clamp(1.5rem,3.1vw,2.3rem); max-width:28ch; }
html[lang="fr"] .bigquote{ font-size:clamp(1.4rem,2.9vw,2.2rem); max-width:34ch; }
html[lang="fr"] .door h3{ font-size:clamp(1.25rem,2vw,1.6rem); }
html[lang="fr"] .item h3{ font-size:clamp(1.1rem,1.8vw,1.35rem); }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.menu a{ white-space:nowrap; }
html[lang="fr"] .menu{ gap:1.15rem; font-size:.86rem; }


/* ===== v4 layout components ===== */
.sec.deep{ overflow:hidden; background:radial-gradient(circle at 92% 8%,rgba(106,92,240,.45) 0,rgba(106,92,240,0) 38%),var(--ink); }
.sec.deep::after{ content:''; position:absolute; right:-14vw; top:-14vw; width:46vw; height:46vw; border-radius:50%; border:1px solid rgba(255,255,255,.1); box-shadow:0 0 0 7vw rgba(255,255,255,.025),0 0 0 14vw rgba(255,255,255,.02); pointer-events:none; }
.sec>.wrap{ position:relative; z-index:2; }
.sec.cut::before{ content:''; position:absolute; top:-1px; left:0; width:100%; height:clamp(28px,5vw,76px); background:var(--prev,#fff); clip-path:polygon(0 0,100% 0,0 100%); z-index:1; }
.sec.bright{ overflow:hidden; }

/* standards strip */
.strip{ background:#fff; border-bottom:1px solid rgba(27,20,63,.09); padding:1.6rem 0; }
.strip .wrap{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 2.5rem; }
.strip .sl{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--terracotta); }
.strip ul{ display:flex; flex-wrap:wrap; gap:.6rem 2.2rem; }
.strip li{ font-family:var(--display); font-weight:700; letter-spacing:.06em; font-size:1.02rem; color:rgba(27,20,63,.5); }

/* numbered editorial rows */
.nrows{ margin-top:3.5rem; border-bottom:1px solid var(--line); }
.nrow{ display:grid; gap:.6rem 2.5rem; padding:2.4rem 0; border-top:1px solid var(--line); align-items:start; transition:background .3s,padding .3s; }
@media(min-width:900px){ .nrow{ grid-template-columns:7rem 1fr 1.15fr; padding:2.8rem 0; } }
.nrow .n{ font-family:var(--display); font-weight:700; font-size:clamp(2.6rem,5vw,4.2rem); line-height:1; color:transparent; -webkit-text-stroke:1.5px var(--accent); transition:color .3s; }
.nrow h3{ font-size:clamp(1.4rem,2.6vw,2.1rem); }
.nrow p{ color:var(--muted); max-width:52ch; }
.nrow:hover .n{ color:var(--accent); }
@media(min-width:900px){ .nrow:hover{ padding-left:1.2rem; } }

/* hairline columns with outlined numerals */
.hcols{ display:grid; gap:2.5rem 3rem; margin-top:3.5rem; }
@media(min-width:760px){ .hcols.c2,.hcols.c4{ grid-template-columns:1fr 1fr; } .hcols.c3{ grid-template-columns:1fr 1fr; } }
@media(min-width:1000px){ .hcols.c3{ grid-template-columns:repeat(3,1fr); } .hcols.c4{ grid-template-columns:repeat(4,1fr); } }
.hc{ border-top:1px solid var(--line); padding-top:1.5rem; }
.hc .k{ display:block; font-family:var(--display); font-weight:700; font-size:clamp(2.6rem,4.6vw,3.8rem); line-height:1; color:transparent; -webkit-text-stroke:1.5px var(--accent); margin-bottom:1.2rem; }
.hc .k.kt{ font-family:var(--body); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--label); -webkit-text-stroke:0; margin-bottom:.7rem; }
.hc h3{ font-size:clamp(1.25rem,2vw,1.6rem); }
.hc p{ margin-top:.7rem; color:var(--muted); }
.hc ul{ margin-top:1rem; display:grid; gap:.55rem; color:var(--muted); font-size:.98rem; } .hc li{ padding-left:1.1rem; position:relative; }
.hc li::before{ content:''; position:absolute; left:0; top:.68em; width:7px; height:7px; border-radius:50%; background:var(--label); }
.kv{ display:grid; gap:1.8rem 3rem; margin-top:2.2rem; }
@media(min-width:760px){ .kv{ grid-template-columns:1fr 1fr; } } @media(min-width:1000px){ .kv.c3{ grid-template-columns:repeat(3,1fr); } }
.kv>div{ border-top:1px solid var(--line); padding-top:1.1rem; } .kv h3{ font-size:1.2rem; } .kv p{ margin-top:.45rem; color:var(--muted); font-size:.98rem; }
.subhead{ margin-top:5rem; } .subhead h3{ font-size:clamp(1.6rem,3vw,2.4rem); max-width:26ch; } .subhead p{ margin-top:.9rem; color:var(--muted); max-width:58ch; }

/* stat band */
.stats{ display:grid; gap:2.5rem 0; margin-top:3.5rem; }
@media(min-width:700px){ .stats{ grid-template-columns:1fr 1fr; } } @media(min-width:1000px){ .stats{ grid-template-columns:repeat(auto-fit,minmax(0,1fr)); } }
.stat{ padding:0 2rem 0 0; } @media(min-width:1000px){ .stat+.stat{ border-left:1px solid var(--line); padding-left:2rem; } }
.stat b{ display:block; font-family:var(--display); font-weight:700; font-size:clamp(2.4rem,4.6vw,4.2rem); line-height:1; letter-spacing:-.04em; color:var(--accent); }
.stat span{ display:block; margin-top:.9rem; color:var(--muted); max-width:24ch; font-size:1rem; }
.sec.bright .stat b,.sec.deep .stat b{ color:#fff; } .sec.bright .stats{ margin-top:0; } .sec.bright .actions{ margin-top:3rem; }
.answer{ margin-top:4.5rem; padding-top:2.2rem; border-top:1px solid var(--line); }
.answer p{ font-family:var(--display); font-weight:600; font-size:clamp(1.4rem,2.8vw,2.2rem); line-height:1.25; letter-spacing:-.025em; max-width:36ch; } .answer strong{ color:var(--gold); }

/* full-bleed photo band */
.pband{ position:relative; color:#fff; background:var(--ink); padding:7rem 0; overflow:hidden; }
@media(min-width:900px){ .pband{ padding:10rem 0; } }
.pimg{ position:absolute; inset:0; background:linear-gradient(135deg,#2A2073,var(--bright)); }
.pimg img{ width:100%; height:100%; object-fit:cover; opacity:.75; }
.pband::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(27,20,63,.94) 0%,rgba(27,20,63,.68) 55%,rgba(27,20,63,.25) 100%); }
.pband .wrap{ position:relative; z-index:2; }
.pin{ max-width:820px; } .pband .label{ color:var(--gold); } .pband h2{ max-width:16ch; } .pband .sub{ color:rgba(255,255,255,.82); }
.pband .bigquote{ max-width:26ch; font-size:clamp(1.7rem,3.8vw,3rem); } .pband .credit{ margin-top:1.4rem; font-size:.78rem; color:rgba(255,255,255,.6); }
.pcols{ display:grid; gap:2rem 3rem; margin-top:3rem; } @media(min-width:760px){ .pcols{ grid-template-columns:1fr 1fr; } }
.pcols>div{ border-top:1px solid rgba(255,255,255,.35); padding-top:1.2rem; } .pcols .tag{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.pcols h3{ font-size:1.6rem; margin:.5rem 0; } .pcols p{ color:rgba(255,255,255,.82); }
.pband .actions{ margin-top:2.5rem; } .pband .textlink{ color:#fff; border-color:rgba(255,255,255,.5); } .pband .textlink:hover{ color:var(--gold); border-color:var(--gold); }

/* two full-bleed doors */
.duo{ display:grid; } @media(min-width:900px){ .duo{ grid-template-columns:1fr 1fr; } }
.duo-cell{ position:relative; display:flex; flex-direction:column; gap:1rem; color:#fff; padding:4.5rem var(--pad); overflow:hidden; transition:filter .3s; }
@media(min-width:900px){ .duo-cell{ padding-top:7rem; padding-bottom:7rem; } .duo-cell.a{ padding-left:max(var(--pad),calc((100vw - 1240px)/2 + var(--pad))); padding-right:4rem; } .duo-cell.b{ padding-right:max(var(--pad),calc((100vw - 1240px)/2 + var(--pad))); padding-left:4rem; } }
.duo-cell.a{ background:linear-gradient(140deg,var(--bright),var(--bright2)); } .duo-cell.b{ background:linear-gradient(140deg,#150F38,#2A2073); }
.duo-cell::after{ content:''; position:absolute; right:-90px; bottom:-90px; width:300px; height:300px; border-radius:50%; border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 40px rgba(255,255,255,.04); transition:transform .5s; }
.duo-cell:hover::after{ transform:scale(1.25); }
.duo-cell .tag{ font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.duo-cell h3{ font-size:clamp(1.8rem,3.4vw,2.8rem); max-width:16ch; } .duo-cell p{ color:rgba(255,255,255,.85); max-width:42ch; } .duo-cell .go{ margin-top:1rem; color:var(--gold); font-family:var(--display); font-weight:700; }
html[lang="fr"] .duo-cell h3{ font-size:clamp(1.6rem,2.9vw,2.4rem); }

/* timeline */
.tl{ margin-top:3.5rem; display:grid; gap:2rem; border-left:2px solid var(--line); padding-left:2rem; }
.tl>div{ position:relative; }
.tl>div::before{ content:''; position:absolute; left:calc(-2rem - 8px); top:.35rem; width:14px; height:14px; border-radius:50%; background:var(--bright); box-shadow:0 0 0 5px var(--soft); }
.tl .tl-g::before{ border-radius:2px; transform:rotate(45deg); background:var(--gold); box-shadow:none; }
.tl .k{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--label); }
.tl h3{ font-size:1.5rem; margin:.4rem 0 .5rem; } .tl p{ color:var(--muted); font-size:.98rem; } .tl .tl-g h3{ font-size:1.15rem; }
@media(min-width:1000px){
  .tl{ grid-template-columns:1.5fr .9fr 1.5fr .9fr 1.5fr; gap:1.8rem; border-left:0; padding-left:0; padding-top:2.6rem; position:relative; }
  .tl::before{ content:''; position:absolute; left:0; right:0; top:.75rem; height:2px; background:linear-gradient(90deg,var(--bright),var(--bright2) 60%,var(--gold)); }
  .tl>div::before{ left:0; top:-2.6rem; margin-top:.35rem; }
}

/* ascending steps */
.stairs{ display:grid; gap:1rem; margin-top:3.5rem; }
.stair{ border-top:4px solid var(--gold); padding:1.5rem 1.4rem 1.8rem; display:flex; flex-direction:column; gap:.65rem; background:linear-gradient(180deg,rgba(64,52,196,.1),rgba(64,52,196,.025)); }
.sec.mist .stair{ background:linear-gradient(180deg,rgba(64,52,196,.1),rgba(255,255,255,.5)); }
.stair .k{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--label); }
.stair h3{ font-size:1.25rem; } .stair p{ color:var(--muted); font-size:.96rem; } .stair .who{ margin-top:auto; padding-top:.9rem; border-top:1px solid var(--line); font-size:.85rem; font-weight:700; color:var(--bright); }
.stair .quote{ font-family:var(--display); font-size:1.12rem; line-height:1.25; letter-spacing:-.02em; color:var(--ink); }
.stairs.s4 .stair .k{ font-family:var(--display); font-size:2.4rem; letter-spacing:0; color:transparent; -webkit-text-stroke:1.5px var(--bright); }
.stair dl{ margin:0; display:grid; gap:.6rem; font-size:.94rem; } .stair dt{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); } .stair dd{ margin:0; color:var(--muted); }
@media(min-width:1000px){
  .stairs.s5{ grid-template-columns:repeat(5,1fr); align-items:stretch; gap:.8rem; } .stairs.s5 .stair{ margin-top:calc((4 - var(--i))*44px); }
  .stairs.s4{ grid-template-columns:repeat(4,1fr); align-items:stretch; gap:.8rem; } .stairs.s4 .stair{ margin-top:calc((3 - var(--i))*50px); }
}

/* values with numerals */
.values{ counter-reset:v; } .values div{ counter-increment:v; border-top:1px solid var(--line); }
.values div::before{ content:'0' counter(v); display:block; font-family:var(--display); font-weight:700; font-size:2.6rem; line-height:1; margin-bottom:1rem; color:transparent; -webkit-text-stroke:1.5px var(--accent); }

/* flow with chevrons */
.flow div{ border-radius:6px; border-top:3px solid var(--gold); border-left:0; border-right:0; border-bottom:0; background:var(--card); }
.sec.deep .flow div{ background:rgba(255,255,255,.06); }
@media(max-width:999px){ .nrow .n{ font-size:2.4rem; } }

.sec.tight{ padding:4.5rem 0; } .sec.tight .stats{ margin-top:0; } .sec.tight .actions{ margin-top:2.5rem; }

/* legal pages */
.legal{ max-width:760px; } .lg{ padding:1.8rem 0; border-top:1px solid var(--line); } .lg:first-child{ border-top:0; padding-top:0; }
.lg h3{ font-size:1.25rem; margin-bottom:.7rem; } .lg p{ color:var(--muted); } .lg p+p{ margin-top:.6rem; }
.legallinks{ display:block; margin-top:.8rem; } .legallinks a{ color:rgba(255,255,255,.75); text-decoration:underline; text-underline-offset:3px; } .legallinks a:hover{ color:var(--gold); }
.pin.wide{ max-width:1000px; } .pband .pcols h3{ font-size:1.35rem; }
.stairs.s5 .stair dl{ margin:0; display:grid; gap:.7rem; font-size:.92rem; }

.person .bio{ margin-top:1rem; color:var(--muted); font-size:.98rem; line-height:1.55; }

.shot{ margin:2.5rem 0 3.5rem; } .shot img{ width:100%; height:auto; max-height:520px; object-fit:cover; border-radius:8px; display:block; }
.shot figcaption{ margin-top:.6rem; font-size:.8rem; color:var(--muted); }
@media(min-width:900px){ .shot img{ max-height:560px; } }

/* optional image slots, hidden when empty */
img.slot{ display:block; width:100%; object-fit:cover; border-radius:6px; }
.nrow.has-img{ align-items:center; }
@media(min-width:900px){ .nrow.has-img{ grid-template-columns:7rem 1fr 1.15fr 200px; } }
.nrow .slot.th{ aspect-ratio:3/2; max-width:240px; }
.flow div img.slot{ width:calc(100% + 2.6rem); max-width:none; margin:-1.3rem -1.3rem 1rem; aspect-ratio:16/10; border-radius:0; }
.kv img.slot{ aspect-ratio:2/1; margin-bottom:1rem; }
html{ scroll-padding-top:72px; }

/* upstream / midstream / downstream chain */
.chain{ display:grid; gap:1.25rem; margin-top:3.2rem; }
@media(min-width:900px){ .chain{ grid-template-columns:repeat(3,1fr); gap:2rem; } }
.ch{ position:relative; background:var(--card); border:1px solid var(--cardline); border-radius:16px; padding:2.1rem 1.8rem 1.8rem; box-shadow:var(--shadow); overflow:visible; }
.ch::before{ content:''; position:absolute; left:0; right:0; top:0; height:5px; border-radius:16px 16px 0 0; background:var(--bright); }
.ch.c2::before{ background:var(--bright2); } .ch.c3::before{ background:var(--gold); }
.ch .tag{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--label); }
.ch .big{ display:block; margin-top:1rem; font-family:var(--display); font-weight:700; font-size:clamp(3.4rem,5vw,4.8rem); line-height:1; letter-spacing:-.04em; color:var(--accent); }
.ch .bl{ display:block; margin-top:.6rem; color:var(--muted); font-size:.95rem; }
@media(min-width:900px){ .ch .bl{ min-height:4.6em; } }
.ch h3{ margin:1.5rem 0 .5rem; font-size:1.35rem; }
.ch p{ color:var(--muted); }
.ch ul{ list-style:none; padding:0; margin:1.3rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem; }
.ch li{ font-size:.8rem; font-weight:600; padding:.3rem .75rem; border-radius:999px; background:var(--soft); color:var(--accent); }
@media(min-width:900px){ .ch:not(:last-child)::after{ content:'\2192'; position:absolute; right:-2rem; top:50%; width:2rem; height:2rem; display:grid; place-items:center; font-size:1.1rem; color:var(--bright); z-index:2; } }
@media(max-width:899px){ .ch:not(:last-child)::after{ content:'\2193'; position:absolute; left:50%; bottom:-1.25rem; width:1.25rem; text-align:center; transform:translateX(-50%); color:var(--bright); z-index:2; line-height:1.25rem; } }

/* regions */
.regions{ display:grid; gap:1.25rem; margin-top:3rem; }
@media(min-width:760px){ .regions{ grid-template-columns:repeat(3,1fr); } }
.rg{ display:block; border:1px solid rgba(255,255,255,.3); border-radius:16px; padding:1.5rem; background:rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.rg h3{ font-size:1.55rem; margin:.9rem 0 0; }
.rg p{ color:rgba(255,255,255,.82); margin-top:.5rem; }
.live{ display:inline-flex; align-items:center; gap:.55rem; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.live i{ width:8px; height:8px; border-radius:50%; background:var(--gold); position:relative; }
.live i::after{ content:''; position:absolute; inset:-5px; border-radius:50%; border:1px solid var(--gold); opacity:.6; animation:ping 2.6s ease-out infinite; }
.live.soon i{ background:transparent; border:1.5px solid var(--gold); } .live.soon i::after{ display:none; }
.rg.next{ border-style:dashed; transition:background .25s; } .rg.next:hover{ background:rgba(255,255,255,.16); }
.rg .go{ display:inline-block; margin-top:1rem; font-weight:600; color:var(--gold); }
.pband .note{ margin-top:1.6rem; font-size:.92rem; color:rgba(255,255,255,.72); }
.pin:has(.regions){ max-width:1000px; }

/* chain visuals */
.ch .vis{ margin:-.2rem 0 1.4rem; padding:.9rem 1rem; background:var(--soft); border-radius:12px; color:var(--bright); }
.ch.c2 .vis{ color:var(--bright2); } .ch.c3 .vis{ color:var(--bright); }
.ch .vis svg{ display:block; width:100%; height:auto; max-height:128px; }
.ch .vis svg *{ fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ch .vis svg .g{ stroke:var(--gold); }
