:root{
  --bg:#FFFFFF; --bg-2:#F7F4EC;
  --ink:#01122F; --muted:#667282; --line:#D7DDE5;
  --navy:#01122F; --navy-2:#0B1D33;
  --blue:#173B63; --steel:#9AA4B2;
  --gold:#B6904D; --gold-2:#C5A15D; --amber:#8A5B1F;
  --success:#2E6758; --error:#8E3333;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono',Consolas,monospace;
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-soft:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
img,video{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
@media(max-width:760px){.wrap{padding:0 24px}}

/* ---- FREIGHT-STYLE MICRO LABEL : "+ LABEL" ---- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"+";font-size:11px;color:var(--gold);transform:translateY(-.5px)}

/* ---- TYPE SCALE : light + large (Freight) ---- */
h1,h2,h3{font-weight:300;letter-spacing:-.02em}
.sechead{margin-bottom:64px;max-width:1000px}
.sechead h2{font-size:clamp(28px,3.5vw,52px);line-height:1.16;margin-top:26px;font-weight:300}
.sechead p{margin-top:20px;font-size:17px;color:var(--muted);max-width:56ch;font-weight:400}
section{padding:130px 0}
@media(max-width:760px){section{padding:82px 0}}

/* ---- BUTTONS : flat, minimal ---- */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:15px 28px;border-radius:2px;
  font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono);
  overflow:hidden;isolation:isolate;transition:background .4s var(--e-soft),color .4s,border-color .4s,transform .4s var(--e-out)}
.btn>*{position:relative;z-index:2}
.btn::after{content:"";position:absolute;inset:0;z-index:1;background:currentColor;opacity:0;transition:opacity .4s}
.btn:hover::after{opacity:.07}
.btn .ar{transition:transform .4s var(--e-out)}
.btn:hover .ar{transform:translateX(6px)}
.btn.dark{background:var(--ink);color:#fff}
.btn.light{background:#fff;color:var(--ink)}
.btn.gold{background:var(--gold);color:#fff}
.btn.ghost{border:1px solid rgba(255,255,255,.4);color:#fff;background:transparent}
.btn.ghost:hover{background:rgba(255,255,255,.1)}

/* ---- SCROLL PROGRESS ---- */
#prog{position:fixed;top:0;left:0;height:1.5px;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:var(--gold-2);z-index:200;will-change:transform}

/* ---- NAV : flat bar, no pill ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:transform .5s var(--e-out),background .45s,border-color .45s}
.nav.hide{transform:translateY(-105%)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 40px;border-bottom:1px solid transparent;transition:padding .45s var(--e-out)}
.nav.solid .nav-inner{background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.5);border-bottom-color:var(--line);padding:15px 40px}
.nav.on-dark .nav-inner{color:#fff}
.nav.on-dark.solid .nav-inner{background:rgba(10,20,32,.82);border-bottom-color:rgba(255,255,255,.12)}
@media(max-width:760px){.nav-inner,.nav.solid .nav-inner{padding-inline-start:20px;padding-inline-end:20px}}
.logo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;letter-spacing:.22em}
.logo .dot{width:22px;height:22px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;
  font-size:10px;font-weight:500;opacity:.75;transition:transform .7s var(--e-out)}
.logo:hover .dot{transform:rotate(360deg)}
.nav-links{display:flex;gap:34px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav-links a{position:relative;padding:3px 0;opacity:.72;transition:opacity .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--e-out)}
.nav-links a:hover{opacity:1}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.nav-right{display:flex;align-items:center;gap:22px}
.lang{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;opacity:.6}
.nav .btn{padding:0;background:none;color:inherit;font-size:10.5px;letter-spacing:.16em}
.nav .btn::after{display:none}
.nav .btn:hover{opacity:.65}
@media(max-width:1080px){.nav-links{display:none}}

/* ================= FULL-BLEED MEDIA (no frame, hero-size) ================= */
.bleed{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;background:var(--navy)}
.bleed.tall{min-height:100svh}
.bleed.mid{min-height:86svh}
.bleed-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.bleed-grade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(8,16,26,.34) 0%,rgba(8,16,26,.10) 38%,rgba(6,13,21,.86) 100%)}
.bleed-tint{position:absolute;inset:0;background:var(--navy);opacity:.3;mix-blend-mode:color}
.bleed-body{position:relative;z-index:3;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;
  padding:110px 40px 68px;color:#fff}
@media(max-width:760px){.bleed-body{padding:90px 20px 52px}}
.bleed-cap b{display:block;font-size:clamp(26px,3.4vw,48px);font-weight:300;letter-spacing:-.02em;line-height:1.14}
.bleed-cap span{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:rgba(255,255,255,.6);margin-top:16px}
.bleed .eyebrow{color:rgba(255,255,255,.6)}
.bleed .eyebrow::before{color:var(--gold-2)}
/* film grain shared by all media */
.grain{position:absolute;inset:-150%;pointer-events:none;opacity:.13;z-index:2;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-6%,4%)}40%{transform:translate(4%,-5%)}
  60%{transform:translate(-3%,6%)}80%{transform:translate(5%,3%)}100%{transform:translate(0,0)}}

/* ================= HERO ================= */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--navy);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);opacity:0;
  animation:heroIn 2.2s var(--e-out) .1s forwards, kenburns 36s ease-in-out 2s infinite alternate;will-change:transform,opacity}
@keyframes heroIn{to{opacity:1;transform:scale(1.03)}}
@keyframes kenburns{from{transform:scale(1.03)}to{transform:scale(1.12) translate3d(-1.4%,-1%,0)}}
.hero-grade{position:absolute;inset:0;background:
  radial-gradient(115% 85% at 76% 26%,rgba(232,165,75,.16) 0%,transparent 55%),
  linear-gradient(180deg,rgba(8,16,26,.6) 0%,rgba(8,16,26,.22) 36%,rgba(6,13,21,.92) 100%)}
.hero-tint{position:absolute;inset:0;background:var(--navy);opacity:.3;mix-blend-mode:color}
.hero .wrap{position:relative;z-index:3;padding-top:170px;padding-bottom:64px;width:100%}
.hero-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.68);margin-bottom:34px;display:flex;align-items:center;gap:10px}
.hero-tag i{font-style:normal;color:var(--gold-2);font-size:9px}
.hero h1{font-size:clamp(36px,5.4vw,80px);line-height:1.07;letter-spacing:-.025em;font-weight:200;max-width:20ch}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .word{display:inline-block;transform:translateY(112%);opacity:0;animation:rise 1.2s var(--e-out) forwards}
.hero h1 em{font-style:italic;font-weight:200;color:var(--gold-2)}
@keyframes rise{to{transform:translateY(0);opacity:1}}
.hero-sub{display:grid;grid-template-columns:minmax(0,54ch) auto;gap:40px;align-items:end;justify-content:space-between;margin-top:48px}
.hero-sub .lead-in{display:flex;gap:14px}
.hero-sub .arr{color:var(--gold-2);font-size:18px}
.hero-sub p{font-size:16px;color:rgba(255,255,255,.74);font-weight:400}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-notes{margin-top:54px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);
  display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:12px;color:rgba(255,255,255,.55);line-height:1.7}
.hero-notes b{color:rgba(255,255,255,.85);font-weight:500}
@media(max-width:900px){.hero-sub{grid-template-columns:1fr}.hero-notes{grid-template-columns:1fr;gap:20px}}
.hfade{opacity:0;transform:translateY(22px);animation:hfade 1.1s var(--e-out) forwards}
@keyframes hfade{to{opacity:1;transform:none}}
.scrollhint{position:absolute;right:40px;bottom:30px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  color:rgba(255,255,255,.45);text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:14px}
.scrollhint::after{content:"";width:1px;height:56px;background:linear-gradient(rgba(255,255,255,.5),transparent);
  animation:sdown 2.4s ease-in-out infinite}
@keyframes sdown{0%{transform:scaleY(.2);transform-origin:0 0}50%{transform:scaleY(1);transform-origin:0 0}
  51%{transform:scaleY(1);transform-origin:0 100%}100%{transform:scaleY(.2);transform-origin:0 100%}}
@media(max-width:760px){.scrollhint{display:none}}

/* ================= STATEMENT ================= */
.statement h2{font-size:clamp(26px,3.3vw,50px);line-height:1.2;max-width:26ch;margin-top:28px;font-weight:300}
.statement h2 .w{opacity:.14;transition:opacity .5s var(--e-soft)}
.statement h2 .w.on{opacity:1}
.statement .sp{margin-top:26px;font-size:16.5px;color:var(--muted);max-width:60ch}
.statement .bleed{margin-top:90px}

/* evidence-chain overlay on the photo */
.v-chain{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:26px;
  padding:0 6%;opacity:.32}
.hashline{white-space:nowrap;font-family:var(--mono);font-size:14px;color:rgba(255,255,255,.3);animation:slide 30s linear infinite}
.hashline b{color:var(--gold-2);font-weight:400}
.hashline:nth-child(2){animation-duration:38s;animation-direction:reverse;font-size:12px;opacity:.65}
.hashline:nth-child(3){animation-duration:48s;font-size:11px;opacity:.4}
@keyframes slide{to{transform:translateX(-50%)}}
.v-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:158px;height:158px;border-radius:50%;
  border:1px solid rgba(214,178,106,.8);display:grid;place-items:center;text-align:center;color:var(--gold-2);
  font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.18em;background:rgba(6,13,21,.42);
  backdrop-filter:blur(3px);z-index:3;line-height:1.9}
.v-seal::after{content:"";position:absolute;inset:11px;border:1px dashed rgba(214,178,106,.45);border-radius:50%;animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.v-seal{width:118px;height:118px;font-size:9px}}

/* ================= REVIEW COLUMNS (no boxes) ================= */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.rcard{position:relative;padding:38px 34px 46px 34px;display:flex;flex-direction:column;
  border-inline-end:1px solid var(--line);transition:background .5s var(--e-soft)}
.rcard:not(:first-child){padding-inline-start:34px}
.rcard:last-child{border-inline-end:0}
.rcard::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--e-out)}
.rcard:hover::before{transform:scaleX(1)}
.rcard .n,.rcard .lvl{font-family:var(--mono);font-size:10.5px;color:var(--gold);letter-spacing:.14em}
.rcard .n::before,.rcard .n::after{color:var(--muted);opacity:.55}
.rcard .n::before{content:"["}.rcard .n::after{content:"]"}
.rcard h3{font-size:19px;font-weight:400;letter-spacing:-.01em;margin:20px 0 12px;line-height:1.3}
.rcard p{font-size:14px;color:var(--muted);line-height:1.65}
@media(max-width:1000px){.cards4{grid-template-columns:1fr 1fr}
  .rcard{border-bottom:1px solid var(--line);padding-inline-end:24px}
  .rcard:nth-child(2n){border-inline-end:0}
  .rcard:nth-child(n+2){padding-inline-start:24px}
  .rcard:nth-child(odd){padding-inline-start:0}}
@media(max-width:620px){.cards4{grid-template-columns:1fr}
  .rcard{border-inline-end:0!important;padding:30px 0 34px!important}}

/* ================= WORKFLOW (full-bleed dark) ================= */
.flow{position:relative;width:100vw;margin-left:calc(50% - 50vw);background:var(--navy);color:#fff;
  padding:140px 0;overflow:hidden}
.flow-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.flow-grade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,32,.9),rgba(10,20,32,.72))}
.flow .wrap{position:relative;z-index:3}
.flow .sechead h2{color:#fff}
.flow .eyebrow{color:rgba(255,255,255,.6)}
.flow .eyebrow::before{color:var(--gold-2)}
.flowline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:26px}
.flowline::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,255,255,.18)}
#flowProg{position:absolute;left:0;top:6px;height:1px;width:100%;background:var(--gold-2);
  transform:scaleX(0);transform-origin:left center;will-change:transform;
  box-shadow:0 0 14px rgba(214,178,106,.9)}
.fstep{position:relative;padding-top:40px}
.fstep::before{content:"";position:absolute;top:1px;left:0;width:11px;height:11px;border-radius:50%;background:var(--navy);
  border:1px solid rgba(255,255,255,.4);transition:background .45s var(--e-out),border-color .45s,box-shadow .45s}
.fstep.on::before{background:var(--gold-2);border-color:var(--gold-2);box-shadow:0 0 0 5px rgba(214,178,106,.15)}
.fstep .sn{font-family:var(--mono);font-size:10px;color:var(--gold-2);letter-spacing:.16em}
.fstep .sn::before{content:"[";opacity:.5}.fstep .sn::after{content:"]";opacity:.5}
.fstep h3{font-size:14.5px;font-weight:400;margin-top:12px;line-height:1.45;color:rgba(255,255,255,.92)}
.fstep .sub{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.42);margin-top:9px;display:block;letter-spacing:.08em}
@media(max-width:960px){.flowline{grid-template-columns:1fr 1fr 1fr;gap:26px}.flowline::before,#flowProg{display:none}}
@media(max-width:620px){.flowline{grid-template-columns:1fr 1fr}}

/* ================= DEPTH ================= */
.depthnote{margin-top:60px;padding-top:30px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);max-width:60ch}
.depthnote b{color:var(--ink);font-weight:400}

/* ================= SCOPE / CBAM ================= */
.scope-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:90px}
.scope-head h2{font-size:clamp(28px,3.5vw,52px);line-height:1.16;margin-top:26px;font-weight:300}
.scope-head p{font-size:16.5px;color:var(--muted);max-width:52ch}
.disclaim{margin-top:26px;padding:20px 24px;border-inline-start:1px solid var(--gold);background:var(--bg-2);
  font-size:13.5px;color:var(--muted);line-height:1.7}
@media(max-width:900px){.scope-head{grid-template-columns:1fr;gap:32px;margin-bottom:60px}}
.v-grid{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(20,1fr);gap:7px;padding:5%;opacity:.5}
.v-grid i{border-radius:2px;background:rgba(255,255,255,.05);transition:background .6s var(--e-soft)}
.v-grid i.on{background:rgba(214,178,106,.6)}

/* ================= STATUSES ================= */
.statuses{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:9px;max-width:1000px}
.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;padding:12px 18px;border-radius:2px;
  border:1px solid var(--line);background:#fff;color:var(--muted);opacity:0;transform:translateY(12px);
  transition:transform .55s var(--e-out),opacity .55s var(--e-out),border-color .3s,color .3s}
.chips.in .chip{opacity:1;transform:none}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.ok{border-color:#2F7A5B;color:#2F7A5B}
.chip.bad{border-color:#9E3B3B;color:#9E3B3B}
.chip.lock{border-color:var(--gold);color:var(--gold)}
.statuses .note{margin-top:34px;font-size:13px;color:var(--muted)}

/* ================= PRINCIPLES ================= */
.principles .pline{position:relative;display:flex;align-items:baseline;gap:32px;padding:34px 0;
  border-top:1px solid var(--line);font-weight:200;letter-spacing:-.025em;
  font-size:clamp(24px,3.8vw,54px);line-height:1.08;transition:padding-inline-start .5s var(--e-out),color .4s}
.principles .pline:last-child{border-bottom:1px solid var(--line)}
.principles .pn{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--gold);letter-spacing:.1em;
  flex:none;transform:translateY(-.35em)}
.principles .pline:hover{padding-inline-start:18px;color:var(--gold)}

/* ================= ARCHITECTURE : full-bleed panels ================= */
.arch{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.acard{position:relative;min-height:82svh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:48px 40px;color:#fff;overflow:hidden;border-inline-end:1px solid rgba(255,255,255,.14)}
.acard:last-child{border-inline-end:0}
.acard::before{content:"";position:absolute;inset:0;transition:transform 1.2s var(--e-out)}
.acard:hover::before{transform:scale(1.05)}
.acard>*{position:relative;z-index:2}
.acard .tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;opacity:.8}
.acard .tag::before{content:"+ ";color:var(--gold-2)}
.acard h3{font-size:clamp(24px,2.4vw,36px);font-weight:300;letter-spacing:-.02em;margin:18px 0 14px}
.acard p{font-size:14.5px;opacity:.72;line-height:1.65;max-width:34ch;font-weight:400}
.acard .st{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22);
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.acard.a1::before{background:linear-gradient(165deg,#0A1420 10%,#173A5C 95%)}
.acard.a1 .st{color:var(--gold-2)}
.acard.a2::before{background:linear-gradient(165deg,#0D1A12 10%,#1F3A28 95%)}
.acard.a2 .st{color:#9CC8A8}
.acard.a3::before{background:linear-gradient(165deg,#181328 10%,#3A2A4A 95%)}
.acard.a3 .st{color:#C6B3DE}
@media(max-width:900px){.arch{grid-template-columns:1fr}
  .acard{min-height:64svh;border-inline-end:0;border-bottom:1px solid rgba(255,255,255,.14)}}

/* ================= BOUNDARIES ================= */
.bounds{width:100vw;margin-left:calc(50% - 50vw);background:var(--navy);color:#fff;padding:130px 0}
.bounds .sechead h2{color:#fff}
.bounds .eyebrow{color:rgba(255,255,255,.6)}
.bounds .eyebrow::before{color:var(--gold-2)}
.notgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.notcell{padding:34px 30px 34px 30px;font-size:17px;font-weight:300;display:flex;gap:16px;align-items:baseline;
  border-bottom:1px solid rgba(255,255,255,.16);border-inline-end:1px solid rgba(255,255,255,.16);
  transition:background .45s var(--e-soft),padding-inline-start .45s var(--e-out)}
.notcell:nth-child(3n){border-inline-end:0}
.notcell:not(:nth-child(3n+1)){padding-inline-start:30px}
.notcell:hover{background:rgba(255,255,255,.04)}
.notcell i{font-style:normal;color:#C96A6A;font-family:var(--mono);font-size:12px;flex:none}
@media(max-width:900px){.notgrid{grid-template-columns:1fr}
  .notcell{border-inline-end:0;padding:26px 0!important}}

/* ================= PUBLICATIONS ================= */
.pubrow{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}

/* ================= CTA ================= */
.bigcta{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:92svh;display:flex;align-items:center;
  background:var(--navy);color:#fff;overflow:hidden;padding:110px 0}
.cta-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.cta-grade{position:absolute;inset:0;background:
  radial-gradient(90% 80% at 70% 70%,rgba(232,165,75,.2),transparent 60%),
  linear-gradient(180deg,rgba(8,16,26,.86),rgba(6,13,21,.94))}
.bigcta .wrap{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;gap:38px}
.bigcta h2{font-size:clamp(32px,5vw,76px);line-height:1.08;letter-spacing:-.03em;font-weight:200;max-width:18ch}

/* ================= FOOTER ================= */
footer{width:100vw;margin-left:calc(50% - 50vw);background:var(--navy);color:rgba(255,255,255,.62);padding:110px 0 0;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 1fr;gap:40px;font-size:13px}
.fgrid .footer-nav-title{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.42);margin-bottom:20px;font-weight:500}
.fgrid a{display:block;padding:6px 0;transition:color .3s,transform .35s var(--e-out)}
.fgrid a:hover{color:var(--gold-2);transform:translateX(5px)}
.fnote b{color:#fff;letter-spacing:.2em;font-size:14px;font-weight:500}
.fnote span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;color:var(--gold-2);margin-top:9px}
.fnote p{margin-top:22px;font-size:12.5px;line-height:1.8;max-width:30ch}
.wordmark{margin-top:96px;font-weight:200;font-size:clamp(90px,18vw,260px);line-height:.8;letter-spacing:-.03em;
  text-align:center;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);user-select:none;
  transform:translateY(12%);will-change:transform;pointer-events:none}
.fbottom{border-top:1px solid rgba(255,255,255,.1);margin-top:-10px;padding:24px 0;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.08em;color:rgba(255,255,255,.4);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:1020px){.fgrid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.fgrid{grid-template-columns:1fr 1fr}}

/* ================= REVEALS ================= */
.rv{opacity:0;transform:translateY(26px);transition:opacity .95s var(--e-out),transform .95s var(--e-out)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.09s}.rv.d2{transition-delay:.18s}.rv.d3{transition-delay:.27s}
.mask .mw{display:inline-block;overflow:hidden;vertical-align:top}
.mask .mw>span{display:inline-block;transform:translateY(110%);transition:transform .95s var(--e-out)}
.mask.in .mw>span{transform:translateY(0)}

/* ================= CURSOR ================= */
.cur,.curd{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;mix-blend-mode:difference;opacity:0}
body.cursor-on .cur,body.cursor-on .curd{opacity:1}
.cur{width:30px;height:30px;border:1px solid rgba(255,255,255,.6);transition:width .3s var(--e-out),height .3s var(--e-out),background .3s}
.curd{width:4px;height:4px;background:#fff}
.cur.big{width:58px;height:58px;background:rgba(255,255,255,.14)}
@media(hover:none),(pointer:coarse){.cur,.curd{display:none!important}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .rv,.hero h1 .word,.hfade{opacity:1;transform:none}
  .mask .mw>span{transform:none}
  .chip{opacity:1;transform:none}
  .statement h2 .w{opacity:1}
  .grain,.cur,.curd{display:none}
  .hero-media{opacity:1;transform:scale(1.03)}
}

/* ============================================================
   INTERIOR PAGES
   ============================================================ */

/* page hero : compact, dark, full-bleed */
.phero{position:relative;width:100vw;margin-left:calc(50% - 50vw);background:var(--navy);color:#fff;
  overflow:hidden;padding:210px 0 96px}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.30}
.phero-grade{position:absolute;inset:0;background:
  radial-gradient(100% 80% at 78% 20%,rgba(232,165,75,.14),transparent 58%),
  linear-gradient(180deg,rgba(8,16,26,.86) 0%,rgba(8,16,26,.66) 45%,rgba(6,13,21,.95) 100%)}
.phero .wrap{position:relative;z-index:3}
.phero .eyebrow{color:rgba(255,255,255,.62)}
.phero .eyebrow::before{color:var(--gold-2)}
.phero h1{font-size:clamp(32px,4.6vw,68px);line-height:1.08;letter-spacing:-.03em;font-weight:200;
  max-width:20ch;margin-top:26px}
.phero .standfirst{margin-top:30px;font-size:17.5px;line-height:1.65;color:rgba(255,255,255,.76);
  max-width:62ch;font-weight:300}
.phero .meta{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);
  display:flex;flex-wrap:wrap;gap:36px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.5)}
.phero .meta b{display:block;color:#fff;font-weight:400;margin-top:7px;letter-spacing:.1em}
@media(max-width:760px){.phero{padding:150px 0 66px}}

/* breadcrumb */
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5);display:flex;gap:10px;align-items:center;margin-bottom:26px}
.crumb a{opacity:.75;transition:opacity .3s}
.crumb a:hover{opacity:1;color:var(--gold-2)}
.crumb span{opacity:.4}

/* article layout : sticky contents rail + prose */
.article{display:grid;grid-template-columns:230px minmax(0,1fr);gap:80px;align-items:start}
@media(max-width:1000px){.article{grid-template-columns:1fr;gap:44px}}
.toc{position:sticky;top:120px}
@media(max-width:1000px){.toc{position:static}}
.toc .toc-title{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:18px;font-weight:500}
.toc a{display:block;padding:9px 0 9px 16px;font-size:13.5px;color:var(--muted);
  border-inline-start:1px solid var(--line);transition:color .3s,border-color .3s,padding-inline-start .3s var(--e-out)}
.toc a:hover{color:var(--ink);border-color:var(--gold);padding-inline-start:21px}
.toc a.on{color:var(--ink);border-color:var(--gold)}

.prose{max-width:70ch}
.prose h2{font-size:clamp(24px,2.7vw,38px);font-weight:300;line-height:1.2;letter-spacing:-.02em;
  margin:78px 0 22px;scroll-margin-top:120px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;font-weight:500;line-height:1.4;margin:44px 0 14px;letter-spacing:-.01em}
.prose p{font-size:16.5px;line-height:1.75;color:#3B4046;margin-bottom:20px}
.prose p.lead{font-size:19.5px;line-height:1.6;color:var(--ink);font-weight:300}
.prose ul,.prose ol{margin:0 0 24px 0;padding-inline-start:0;list-style:none}
.prose li{position:relative;padding-inline-start:26px;font-size:16.5px;line-height:1.7;color:#3B4046;margin-bottom:11px}
.prose ul li::before{content:"–";position:absolute;inset-inline-start:0;color:var(--gold)}
.prose ol{counter-reset:n}
.prose ol li{counter-increment:n}
.prose ol li::before{content:"[" counter(n,decimal-leading-zero) "]";position:absolute;inset-inline-start:0;
  font-family:var(--mono);font-size:10.5px;color:var(--gold);top:4px}
.prose ol li{padding-inline-start:44px}
.prose strong{font-weight:500;color:var(--ink)}
.prose a:not(.btn){border-bottom:1px solid var(--gold);transition:color .3s}
.prose a:not(.btn):hover{color:var(--gold)}

/* pull quote */
.pull{margin:52px 0;padding:34px 0 34px 34px;border-inline-start:1px solid var(--gold);
  font-size:clamp(20px,2.2vw,30px);line-height:1.34;font-weight:300;letter-spacing:-.015em;color:var(--ink)}

/* callout / disclaimer */
.callout{margin:40px 0;padding:26px 30px;background:var(--bg-2);border-inline-start:1px solid var(--gold)}
.callout p{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0}
.callout p+p{margin-top:12px}
.callout .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:12px}

/* numbered domain / feature grid */
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);margin:44px 0}
.dcell{padding:32px 34px 36px 34px;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line)}
.dcell:nth-child(2n){border-inline-end:0;padding-inline-start:34px}
.dcell .n{font-family:var(--mono);font-size:10.5px;color:var(--gold);letter-spacing:.14em}
.dcell h3{font-size:17.5px;font-weight:400;margin:16px 0 10px;line-height:1.35}
.dcell p{font-size:14.5px;color:var(--muted);line-height:1.65;margin:0}
@media(max-width:760px){.dgrid{grid-template-columns:1fr}
  .dcell{border-inline-end:0;padding:26px 0 30px!important}}

/* data table */
.tbl{width:100%;border-collapse:collapse;margin:36px 0;font-size:14.5px}
.tbl th{text-align:start;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:500;padding:0 22px 14px 0;border-bottom:1px solid var(--ink)}
.tbl td{padding:20px 22px 20px 0;border-bottom:1px solid var(--line);color:#3B4046;line-height:1.6;vertical-align:top}
.tbl td:first-child{color:var(--ink);font-weight:400;white-space:nowrap}
@media(max-width:700px){.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl thead{display:none}
  .tbl tr{border-bottom:1px solid var(--line);padding:18px 0}
  .tbl td{border:0;padding:4px 0}}

/* related pages */
.related{width:100vw;margin-left:calc(50% - 50vw);border-top:1px solid var(--line);background:var(--bg-2)}
.related .inner{max-width:1400px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr)}
.rel{padding:52px 34px 58px 34px;border-inline-end:1px solid var(--line);transition:background .45s var(--e-soft)}
.rel:last-child{border-inline-end:0}
.rel:not(:first-child){padding-inline-start:34px}
.rel .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.rel h3{font-size:21px;font-weight:300;margin:16px 0 10px;letter-spacing:-.015em;transition:color .3s}
.rel p{font-size:14px;color:var(--muted);line-height:1.6}
.rel .go{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;transition:transform .4s var(--e-out)}
.rel:hover h3{color:var(--gold)}
.rel:hover .go{transform:translateX(6px)}
@media(max-width:860px){.related .inner{grid-template-columns:1fr;padding:0 20px}
  .rel{border-inline-end:0;border-bottom:1px solid var(--line);padding:34px 0!important}
  .rel:last-child{border-bottom:0}}

/* publications list */
.publist{border-top:1px solid var(--line);margin-top:46px}
.pub{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:40px;align-items:baseline;
  padding:38px 0;border-bottom:1px solid var(--line);transition:padding-inline-start .5s var(--e-out)}
.pub:hover{padding-inline-start:16px}
.pub .ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--gold)}
.pub h3{font-size:clamp(19px,2vw,27px);font-weight:300;letter-spacing:-.02em;line-height:1.25}
.pub p{font-size:14.5px;color:var(--muted);margin-top:10px;line-height:1.6;max-width:62ch}
.pub .date{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted);white-space:nowrap}
@media(max-width:860px){.pub{grid-template-columns:1fr;gap:10px}
  .pub .date{white-space:normal}}

/* contact grid */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:48px}
.ccell{padding:38px 34px 44px 34px;border-inline-end:1px solid var(--line)}
.ccell:last-child{border-inline-end:0}
.ccell:not(:first-child){padding-inline-start:34px}
.ccell h4{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:16px;font-weight:500}
.ccell p{font-size:16px;line-height:1.7;color:var(--ink);font-weight:300}
.ccell a{border-bottom:1px solid var(--gold)}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}
  .ccell{border-inline-end:0;border-bottom:1px solid var(--line);padding:28px 0!important}}

/* active nav item */
.nav-links a.on{opacity:1}
.nav-links a.on::after{transform:scaleX(1);transform-origin:0 50%;background:var(--gold)}

/* ============================================================
   NAV DROPDOWNS + MOBILE MENU
   ============================================================ */
.nav-links{align-items:center}
.nav-item{position:relative;display:flex;align-items:center}

/* the trigger keeps the same look as a plain link */
.nav-item>a{display:inline-flex;align-items:center;gap:7px}
.nav-item>a .cv{width:7px;height:7px;flex:none;opacity:.55;
  transition:transform .4s var(--e-out),opacity .3s}
.nav-item:hover>a .cv,.nav-item:focus-within>a .cv{transform:rotate(180deg);opacity:1}

/* dropdown panel */
.dd{position:absolute;top:100%;left:-22px;min-width:272px;padding-top:16px;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.985);transform-origin:top center;
  transition:opacity .42s var(--e-soft),transform .42s var(--e-soft),visibility .42s}
.nav-item:hover .dd,.nav-item:focus-within .dd{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.dd-inner{background:rgba(250,250,248,.60);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid rgba(255,255,255,.55);border-radius:8px;padding:10px 0;
  box-shadow:0 18px 50px -12px rgba(10,20,32,.28),0 2px 8px rgba(10,20,32,.06),
  inset 0 1px 0 rgba(255,255,255,.6)}
.nav.on-dark .dd-inner{background:rgba(10,20,32,.42);
  -webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 22px 60px -14px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.10)}
.dd a{display:block;padding:11px 24px;font-family:var(--sans);font-size:13.5px;
  letter-spacing:0;text-transform:none;font-weight:400;opacity:.78;white-space:nowrap;
  transition:opacity .25s,color .25s,padding-inline-start .35s var(--e-out)}
.dd a::after{display:none}
.dd a:hover{opacity:1;color:var(--gold);padding-inline-start:28px;background:rgba(176,138,60,.06)}
.dd a.on{opacity:1;color:var(--gold)}
/* stagger the items as the panel opens */
.dd a{transform:translateY(-4px);opacity:0;transition:opacity .3s var(--e-out),transform .3s var(--e-out),color .25s,padding-inline-start .35s var(--e-out)}
.nav-item:hover .dd a,.nav-item:focus-within .dd a{transform:none;opacity:.78}
.nav-item:hover .dd a:nth-child(1){transition-delay:.02s}
.nav-item:hover .dd a:nth-child(2){transition-delay:.06s}
.nav-item:hover .dd a:nth-child(3){transition-delay:.10s}
.nav-item:hover .dd a:nth-child(4){transition-delay:.14s}
.nav-item:hover .dd a:nth-child(5){transition-delay:.18s}

/* ---- mobile ---- */
.navtoggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;color:inherit;margin-inline-end:-8px}
.navtoggle i{display:block;width:20px;height:1px;background:currentColor;position:relative;
  transition:background .3s}
.navtoggle i::before,.navtoggle i::after{content:"";position:absolute;left:0;width:20px;height:1px;
  background:currentColor;transition:transform .42s var(--e-out)}
.navtoggle i::before{top:-6px}.navtoggle i::after{top:6px}
body.menu-open .navtoggle i{background:transparent}
body.menu-open .navtoggle i::before{transform:translateY(6px) rotate(45deg)}
body.menu-open .navtoggle i::after{transform:translateY(-6px) rotate(-45deg)}

.mobmenu{position:fixed;inset:0;z-index:99;background:var(--navy);color:#fff;
  padding:110px 20px 40px;overflow-y:auto;opacity:0;visibility:hidden;
  transition:opacity .45s var(--e-out),visibility .45s}
body.menu-open .mobmenu{opacity:1;visibility:visible}
.mobmenu .grp{border-top:1px solid rgba(255,255,255,.16);padding:26px 0}
.mobmenu .grp:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.mobmenu .grp>span{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-2);display:block;margin-bottom:16px}
.mobmenu .grp a{display:block;font-size:23px;font-weight:200;letter-spacing:-.02em;padding:9px 0;
  opacity:0;transform:translateY(10px);
  transition:opacity .5s var(--e-out),transform .5s var(--e-out),color .3s}
body.menu-open .mobmenu .grp a{opacity:.9;transform:none}
.mobmenu .grp a:hover,.mobmenu .grp a.on{color:var(--gold-2);opacity:1}
.mobmenu .foot{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap}

@media(max-width:1080px){
  .nav-links{display:none}
  .navtoggle{display:flex}
  .nav-right .btn{display:none}
}
@media(min-width:1081px){
  .mobmenu{display:none}
}
@media (prefers-reduced-motion: reduce){
  .dd,.dd a,.mobmenu,.mobmenu .grp a{transition:none!important}
}

/* ============================================================
   LOGO — seal swaps colour with the nav background
   ============================================================ */
.logo{gap:12px}
.logo .seal{position:relative;width:30px;height:30px;flex:none;display:block}
.logo .seal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transition:opacity .45s var(--e-soft)}
.logo .s-light{opacity:0}                 /* white seal: only on dark backgrounds */
.nav.on-dark .logo .s-dark{opacity:0}
.nav.on-dark .logo .s-light{opacity:1}
.logo .wm{font-size:15px;font-weight:500;letter-spacing:.22em}
.logo .dot{display:none}                  /* replaced by the real seal */
@media(max-width:520px){.logo .wm{display:none}}
/* the mobile menu is always dark → force the white seal while it is open */
body.menu-open .logo .s-dark{opacity:0}
body.menu-open .logo .s-light{opacity:1}

/* footer seal */
.fnote .fseal{width:66px;height:66px;margin-bottom:20px;opacity:.85}

/* ============================================================
   LEADERSHIP & GOVERNANCE
   ============================================================ */
.ldr{padding:0 0 40px}
.ldr .blk{padding:110px 0;border-top:1px solid var(--line)}
.ldr .blk.last{padding-bottom:20px}
.ldr .eyebrow{margin-bottom:22px}
.ldr h2{font-size:clamp(26px,3.2vw,46px);font-weight:300;line-height:1.16;letter-spacing:-.02em}
.ldr .blk.two{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:start}
.ldr .prose p{font-size:16.5px;color:var(--muted);line-height:1.75;margin-bottom:20px;max-width:60ch}
.ldr .prose p:last-child{margin-bottom:0}
@media(max-width:900px){.ldr .blk.two{grid-template-columns:1fr;gap:30px}.ldr .blk{padding:70px 0}}

/* 01 — biography */
.bio{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;
  align-items:start;padding:110px 0 0}
.portrait{position:relative;margin:0;overflow:hidden;background:var(--bg-2);aspect-ratio:4/5}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  transition:transform 1.4s var(--e-out)}
.portrait:hover img{transform:scale(1.03)}
.portrait::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(14,17,20,.08)}
.bio-txt h2{margin-top:4px}
.bio-txt .role{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin:16px 0 30px}
.bio-txt p{font-size:16.5px;color:var(--muted);line-height:1.75;margin-bottom:20px;max-width:56ch}
@media(max-width:900px){.bio{grid-template-columns:1fr;gap:34px;padding-top:70px}
  .portrait{max-width:420px}}

/* 02 — focus areas */
.fxgrid{margin-top:52px;border-top:1px solid var(--line)}
.fx{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;
  padding:30px 0;border-bottom:1px solid var(--line);transition:padding-inline-start .5s var(--e-out)}
.fx:hover{padding-inline-start:14px}
.fx h3{font-size:19px;font-weight:400;letter-spacing:-.01em;line-height:1.35}
.fx p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}
@media(max-width:760px){.fx{grid-template-columns:1fr;gap:10px}}

/* 04 — research themes */
.themes{list-style:none;margin:0;padding:0}
.themes li{display:flex;gap:18px;align-items:baseline;padding:20px 0;
  border-bottom:1px solid var(--line);font-size:17px;font-weight:300;letter-spacing:-.01em;
  transition:padding-inline-start .5s var(--e-out),color .35s}
.themes li:first-child{border-top:1px solid var(--line)}
.themes li:hover{padding-inline-start:14px;color:var(--gold)}
.themes i{font-style:normal;font-size:7px;color:var(--gold);flex:none;transform:translateY(-4px)}

/* 05 — pull quote over a full-bleed image */
.bleed.pull .bleed-body{justify-content:center;align-items:flex-start;
  padding-top:120px;padding-bottom:120px}
.bleed.pull blockquote{margin:26px 0 0;max-width:22ch;font-size:clamp(24px,3.1vw,46px);
  font-weight:200;line-height:1.24;letter-spacing:-.02em;color:#fff;quotes:none}
.bleed.pull blockquote::before{content:"\201C"}
.bleed.pull blockquote::after{content:"\201D"}
.bleed.pull cite{display:block;margin-top:32px;font-family:var(--mono);font-style:normal;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
@media(max-width:760px){.bleed.pull blockquote{max-width:none}}

/* ============================================================
   HERO "BAND" — titre sur fond clair, photo en bande parallaxe
   ============================================================ */
.phero.light{background:var(--bg);color:var(--ink);min-height:0;padding:190px 0 70px;display:block}
.phero.light .crumb{color:var(--muted)}
.phero.light .crumb a:hover{color:var(--gold)}
.phero.light .eyebrow{color:var(--muted)}
.phero.light h1{color:var(--ink)}
.phero.light .standfirst{color:var(--muted)}
.phero.light .meta{border-top-color:var(--line);color:var(--muted)}
.phero.light .meta b{color:var(--ink)}
@media(max-width:760px){.phero.light{padding:140px 0 50px}}

.band{position:relative;width:100vw;margin-left:calc(50% - 50vw);
  height:min(78svh,660px);overflow:hidden;background:var(--navy)}
.band-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.band-grade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,16,26,.30),rgba(8,16,26,.06) 45%,rgba(8,16,26,.42))}
@media(max-width:760px){.band{height:52svh}}

/* ============================================================
   EVIDENCE CHAIN — hashs lisibles sur image sombre
   ============================================================ */
.v-chain{opacity:1}                      /* la lisibilite est geree par les lignes */
.hashline{color:rgba(255,255,255,.62);
  text-shadow:0 1px 10px rgba(0,0,0,.85),0 0 26px rgba(0,0,0,.6)}
.hashline b{color:#F0D9A4;font-weight:500;
  text-shadow:0 1px 10px rgba(0,0,0,.9),0 0 20px rgba(214,178,106,.35)}
.hashline:nth-child(2){opacity:.85}
.hashline:nth-child(3){opacity:.62}
/* voile sombre local, uniquement derriere les lignes */
.v-chain::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(6,13,21,.55),rgba(6,13,21,.2) 30%,rgba(6,13,21,.2) 70%,rgba(6,13,21,.55))}

/* ============================================================
   SECTION AVANT FOOTER — presente sur toutes les pages
   ============================================================ */
.bigcta{min-height:88svh}
.cta-grade{background:
  radial-gradient(85% 75% at 68% 72%,rgba(232,165,75,.16),transparent 60%),
  linear-gradient(180deg,rgba(8,16,26,.82),rgba(6,13,21,.9))}

/* ============================================================
   CORRECTIONS — voiles allegés, panneaux photo, hero 2 videos
   ============================================================ */

/* --- 1. SECTION AVANT FOOTER : voile retire, image bien visible --- */
.bigcta .cta-img{opacity:1}
.cta-grade{background:
  linear-gradient(180deg,rgba(6,13,21,.34) 0%,rgba(6,13,21,.10) 40%,rgba(6,13,21,.46) 100%)}
/* le texte reste lisible sans assombrir l'image : ombre portee ciblee */
.bigcta h2,.bigcta .eyebrow{text-shadow:0 2px 18px rgba(0,0,0,.75),0 0 44px rgba(0,0,0,.5)}
.bigcta .eyebrow{color:rgba(255,255,255,.9)!important}

/* --- 2. WORKFLOW : image nettement plus visible --- */
.flow-img{opacity:.62}
.flow-grade{background:
  linear-gradient(180deg,rgba(10,20,32,.62) 0%,rgba(10,20,32,.44) 45%,rgba(10,20,32,.66) 100%)}
.flow .sechead h2,.flow .eyebrow{text-shadow:0 2px 16px rgba(0,0,0,.7)}
.fstep h3{text-shadow:0 1px 12px rgba(0,0,0,.8)}
.fstep .sn,.fstep .sub{text-shadow:0 1px 10px rgba(0,0,0,.85)}

/* --- 3. ARCHITECTURE : photo de fond dans les 3 panneaux --- */
.acard{isolation:isolate}
.acard .ac-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;will-change:transform;transition:transform 1.4s var(--e-out)}
.acard:hover .ac-img{transform:scale(1.05)}
.acard .ac-grade{position:absolute;inset:0;z-index:1;display:block}
/* chaque panneau garde son identite chromatique, en voile teinte */
.acard.a1 .ac-grade{background:linear-gradient(180deg,rgba(10,20,32,.30),rgba(10,20,32,.86))}
.acard.a2 .ac-grade{background:linear-gradient(180deg,rgba(13,26,18,.30),rgba(13,26,18,.86))}
.acard.a3 .ac-grade{background:linear-gradient(180deg,rgba(24,19,40,.30),rgba(24,19,40,.86))}
.acard::before{display:none}          /* l'ancien degrade plein est remplace par la photo */
.acard>*:not(.ac-img):not(.ac-grade){position:relative;z-index:2}
.acard h3,.acard p,.acard .tag{text-shadow:0 2px 14px rgba(0,0,0,.65)}

/* --- 4. HERO : deux videos enchainees + hauteur reduite --- */
.hero{min-height:86svh}
.hero .wrap{padding-top:150px;padding-bottom:56px}
.hero-media.hv{opacity:0;transition:opacity 1.1s var(--e-soft)}
.hero-media.hv.show{opacity:1}
/* la 1re garde son animation d'entree ; les suivantes se contentent du fondu */
.hero-media.hv#heroVideo2{animation:kenburns 36s ease-in-out infinite alternate}
@media(max-width:760px){.hero{min-height:78svh}}

/* phrase signature institutionnelle */
.prose .sig{font-size:clamp(19px,1.9vw,25px);font-weight:300;line-height:1.5;letter-spacing:-.01em;
  color:var(--ink);margin:0 0 42px;padding:26px 0 26px 28px;border-inline-start:2px solid var(--gold);max-width:52ch}
.prose .sig b{font-weight:500}

/* ============================================================
   PAGE CONTACT — canaux, principes, CTA
   ============================================================ */
.chgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:44px 0 10px;
  border-top:1px solid var(--line)}
.chcell{display:flex;flex-direction:column;padding:34px 30px 36px 30px;
  border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);
  transition:background .45s var(--e-soft)}
.chcell:last-child{border-inline-end:0}
.chcell:not(:first-child){padding-inline-start:30px}
.chcell:hover{background:var(--bg-2)}
.chcell .n{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--gold)}
.chcell h3{font-size:19px;font-weight:400;letter-spacing:-.01em;margin:16px 0 12px;line-height:1.3}
.chcell p{font-size:14px;color:var(--muted);line-height:1.7;flex:1;margin-bottom:22px}
.chcell .mail{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.02em;
  color:var(--gold);margin-bottom:20px;word-break:break-all;
  border-bottom:1px solid rgba(176,138,60,.35);padding-bottom:3px;align-self:flex-start;
  transition:color .3s,border-color .3s}
.chcell .mail:hover{color:var(--ink);border-color:var(--ink)}
.chcell .btn{align-self:flex-start}
@media(max-width:900px){.chgrid{grid-template-columns:1fr}
  .chcell{border-inline-end:0;padding:28px 0 30px!important}}

.ctarow{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 10px}
.btn.light.bord{border:1px solid var(--line)}

.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.pcell{padding:28px 30px 30px 30px;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line)}
.pcell:nth-child(2n){border-inline-end:0;padding-inline-start:30px}
.pgrid .pcell h3{font-size:16px;font-weight:500;letter-spacing:-.01em;margin:0 0 10px;line-height:1.5}
.pcell p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}
@media(max-width:760px){.pgrid{grid-template-columns:1fr}
  .pcell{border-inline-end:0;padding:24px 0 26px!important}}
/* boutons des canaux : une seule ligne */
.chcell .btn{align-self:stretch;justify-content:space-between;white-space:nowrap;
  font-size:10.5px;letter-spacing:.1em;padding:15px 20px}
@media(max-width:1200px) and (min-width:901px){.chcell .btn{font-size:9.5px;padding:14px 16px}}

/* ============================================================
   RTL — arabe. Ce qui ne peut pas etre exprime en proprietes logiques.
   ============================================================ */
[dir="rtl"] .btn .ar,
[dir="rtl"] .crumb span,
[dir="rtl"] .fgrid a:hover{transform:scaleX(-1)}
[dir="rtl"] .btn:hover .ar{transform:scaleX(-1) translateX(6px)}
[dir="rtl"] .fgrid a:hover{transform:translateX(-5px)}
[dir="rtl"] .nav-links a::after,
[dir="rtl"] .rcard::after,
[dir="rtl"] .principles .pline::before,
[dir="rtl"] .mask .mw>span{transform-origin:100% 50%}
[dir="rtl"] .nav-links a:hover::after,
[dir="rtl"] .rcard:hover::after,
[dir="rtl"] .principles .pline:hover::before{transform-origin:0 50%}
[dir="rtl"] #prog{transform-origin:100% 50%}
[dir="rtl"] .dd{left:auto;right:-22px}
[dir="rtl"] .scrollhint{right:auto;left:40px}
[dir="rtl"] #flowProg{left:auto;right:0;transform-origin:right center}
[dir="rtl"] .hashline{direction:ltr;text-align:end}   /* les hashs restent LTR */
[dir="rtl"] .mail,[dir="rtl"] .fbottom{direction:ltr;text-align:end}
[dir="rtl"] .themes i{transform:translateY(-4px) scaleX(-1)}
/* la typographie arabe respire davantage */
[lang="ar"]{--sans:'Noto Kufi Arabic','Geeza Pro','Segoe UI',Tahoma,sans-serif;line-height:1.75}
[lang="ar"] h1,[lang="ar"] h2,[lang="ar"] h3{letter-spacing:0;font-weight:400}
[lang="ar"] .eyebrow,[lang="ar"] .lang,[lang="ar"] .nav-links{letter-spacing:.04em}

/* ============================================================
   SELECTEUR DE LANGUE
   ============================================================ */
.langsel{position:relative;display:flex;align-items:center}
.langsel .lang{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;
  color:inherit;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;opacity:.65;
  padding:6px 2px;transition:opacity .3s}
.langsel:hover .lang,.langsel:focus-within .lang{opacity:1}
.langsel .cv{width:7px;height:7px;transition:transform .4s var(--e-out)}
.langsel:hover .cv,.langsel:focus-within .cv{transform:rotate(180deg)}
.langdd{position:absolute;top:100%;inset-inline-end:-10px;min-width:104px;padding-top:12px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .32s var(--e-out),transform .32s var(--e-out),visibility .32s}
.langsel:hover .langdd,.langsel:focus-within .langdd{opacity:1;visibility:visible;transform:none}
.langdd{background:none}
/* même panneau verre que les menus déroulants de la nav (cohérence) */
.langsel .langdd::before{content:"";position:absolute;inset:12px 0 0;
  background:rgba(250,250,248,.60);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid rgba(255,255,255,.55);border-radius:8px;
  box-shadow:0 18px 50px -12px rgba(10,20,32,.28),0 2px 8px rgba(10,20,32,.06),inset 0 1px 0 rgba(255,255,255,.6)}
.nav.on-dark .langsel .langdd::before{background:rgba(10,20,32,.42);border-color:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35);
  box-shadow:0 22px 60px -14px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.10)}
.langdd a{position:relative;display:block;padding:9px 18px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;opacity:.72;transition:opacity .25s,color .25s}
.langdd a:hover{opacity:1;color:var(--gold)}
.langdd a.on{opacity:1;color:var(--gold)}
@media(max-width:1080px){.langsel{margin-inline-end:4px}}

/* ============================================================
   RTL — arabe
   ============================================================ */
body.rtl{direction:rtl}
body.rtl .eyebrow::before{content:"+"}
body.rtl .rcard .n::before{content:"["}
body.rtl .rcard .n::after{content:"]"}
body.rtl .btn .ar{transform:scaleX(-1)}
body.rtl .btn:hover .ar{transform:scaleX(-1) translateX(6px)}
body.rtl .nav-links a::after{transform-origin:0 50%}
body.rtl .nav-links a:hover::after{transform-origin:100% 50%}
body.rtl .dd{left:auto;right:-22px}
body.rtl .dd a:hover{padding-left:24px;padding-right:30px}
body.rtl .hero-sub .arr,body.rtl .lead-in .arr{transform:scaleX(-1)}
body.rtl .fgrid a:hover{transform:translateX(-5px)}
body.rtl .rcard,body.rtl .chcell,body.rtl .pcell,body.rtl .fx{text-align:right}
body.rtl .rcard{border-right:0;border-left:1px solid var(--line)}
body.rtl .rcard:last-child{border-left:0}
body.rtl .toc{border-right:0;border-left:1px solid var(--line);padding-right:0;padding-left:28px}
body.rtl .disclaim,body.rtl .callout{border-left:0;border-right:1px solid var(--gold);
  border-radius:14px 0 0 14px;padding-left:20px;padding-right:24px}
body.rtl .themes i,body.rtl .principles .pn{transform:none}
body.rtl .principles .pline:hover{padding-left:0;padding-right:18px}
body.rtl .fstep .sn::before{content:"["}
body.rtl .fstep .sn::after{content:"]"}
/* police : Inter gère mal l'arabe → repli système lisible */
body.rtl{font-family:"Geeza Pro","Noto Naskh Arabic","Segoe UI",Tahoma,Arial,sans-serif}
body.rtl h1,body.rtl h2,body.rtl h3{font-weight:500}

/* ============================================================
   PAGES LEGALES
   ============================================================ */
.legal-hero{min-height:auto;padding:150px 0 40px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.legal-hero .crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin-bottom:24px}
.legal-hero .crumbs a:hover{color:var(--gold)}
.legal-hero .crumbs span{opacity:.5;margin:0 4px}
.legal-hero h1{font-size:clamp(30px,4vw,52px);font-weight:300;letter-spacing:-.02em;margin-top:14px}
.legal-hero .standfirst{margin-top:18px;font-size:16.5px;color:var(--muted);max-width:60ch;line-height:1.7}
.legal-hero .legal-updated{margin-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold)}
.legalsec{padding:80px 0 110px}
.legal-prose h2{font-size:19px;font-weight:500;letter-spacing:-.01em;margin:38px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.legal-prose h2:first-child{border-top:0;margin-top:0;padding-top:0}
.legal-prose p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:14px}
.legal-prose a{color:var(--gold);border-bottom:1px solid rgba(176,138,60,.35)}
.legal-prose a:hover{color:var(--ink);border-color:var(--ink)}
body.rtl .legal-hero .crumbs span,body.rtl .legalsec .toc{text-align:right}

/* ============================================================
   PUBLICATIONS — bouton télécharger PDF
   ============================================================ */
.pub .dl{display:inline-flex;align-items:center;gap:8px;margin-top:4px;margin-right:auto;
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold);
  border:1px solid var(--line);border-radius:2px;padding:8px 14px;align-self:flex-start;
  transition:background .35s var(--e-soft),color .35s,border-color .35s}
.pub .dl:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pub .dl .ar{transition:transform .35s var(--e-out)}
.pub .dl:hover .ar{transform:translateY(3px)}
body.rtl .pub .dl{margin-right:0;margin-left:auto}

/* ============================================================
   DOCUMENTED EVIDENTIARY DUE DILIGENCE
   ============================================================ */
.dedd-process{list-style:none;counter-reset:none;margin:44px 0 10px;padding:0;border-top:1px solid var(--line)}
.dedd-process .pstep{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
  padding:26px 0;border-bottom:1px solid var(--line);transition:padding-left .5s var(--e-out)}
.dedd-process .pstep:hover{padding-left:12px}
.dedd-process .pn{font-family:var(--mono);font-size:13px;color:var(--gold);letter-spacing:.05em;
  padding-top:4px;min-width:2ch}
.dedd-process h3{font-size:17.5px;font-weight:400;letter-spacing:-.01em;margin-bottom:7px;line-height:1.3}
.dedd-process p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}
@media(max-width:640px){.dedd-process .pstep{grid-template-columns:1fr;gap:6px}}

.pkg{columns:2;column-gap:48px}
.pkg li{break-inside:avoid;margin-bottom:8px}
@media(max-width:640px){.pkg{columns:1}}

.chain-flow{list-style:none;margin:44px 0 10px;padding:0;display:flex;flex-direction:column;gap:0;
  max-width:640px}
.chain-flow li{position:relative;padding:16px 22px;border:1px solid var(--line);border-radius:3px;
  background:var(--bg-2);font-size:15px;font-weight:400;margin-bottom:34px}
.chain-flow li:last-child{margin-bottom:0;border-color:var(--gold);color:var(--ink);
  box-shadow:inset 3px 0 0 var(--gold)}
.chain-flow li::after{content:"";position:absolute;left:28px;bottom:-27px;width:1px;height:20px;
  background:var(--line)}
.chain-flow li::before{content:"";position:absolute;left:24px;bottom:-27px;width:9px;height:9px;
  border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);
  margin-bottom:11px}
.chain-flow li:last-child::after,.chain-flow li:last-child::before{display:none}

.lvlgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:44px 0 24px}
.lvlcard{border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  transition:transform .45s var(--e-out),box-shadow .45s var(--e-out),border-color .45s}
.lvlcard:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(12,17,22,.09);border-color:rgba(176,138,60,.4)}
.lvlcard .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--gold)}
.lvlcard h3{font-size:17px;font-weight:450;letter-spacing:-.01em;margin:12px 0 16px;line-height:1.3}
.lvlcard ul{list-style:none;margin:0;padding:0}
.lvlcard li{font-size:13.5px;color:var(--muted);line-height:1.5;padding:7px 0 7px 16px;position:relative;
  border-top:1px solid var(--line)}
.lvlcard li:first-child{border-top:0}
.lvlcard li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;
  background:var(--gold-2)}
.lvlcard .note-sm{font-size:12.5px;color:var(--muted);margin-top:14px;font-style:italic}
@media(max-width:900px){.lvlgrid{grid-template-columns:1fr}}

.ddcta{margin-top:80px}
body.rtl .chain-flow li::before{left:auto;right:24px;transform:rotate(135deg)}
body.rtl .chain-flow li::after{left:auto;right:28px}
body.rtl .dedd-process .pstep:hover{padding-left:0;padding-right:12px}

/* ============================================================
   ACCUEIL — section Documented Evidentiary Due Diligence (2 col)
   ============================================================ */
.eddsplit{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:60px;align-items:center;
  margin-top:72px}
.edd-media{position:relative;margin:0;aspect-ratio:4/5;border-radius:calc(var(--radius) + 4px);
  overflow:hidden;background:var(--navy);box-shadow:0 30px 70px rgba(10,20,32,.16)}
.edd-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;
  will-change:transform;transition:transform 1.4s var(--e-out)}
.edd-media:hover .edd-img{transform:scale(1.04)}
.edd-media .v-chain{opacity:.42}
.edd-media .v-seal{width:132px;height:132px;font-size:10px}
@media(max-width:640px){.edd-media .v-seal{width:104px;height:104px;font-size:9px}}
.edd-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,26,.15),rgba(7,16,26,.55))}
.edd-body h2{font-size:clamp(26px,3vw,44px);font-weight:300;letter-spacing:-.02em;line-height:1.14;margin:22px 0 0}
.edd-body>p{margin-top:18px;font-size:16px;color:var(--muted);line-height:1.72;max-width:54ch}
.edd-body .btn{margin-top:28px}
.edd-micro{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;
  margin-top:30px!important;max-width:54ch;line-height:1.6}
@media(max-width:900px){
  .eddsplit{grid-template-columns:1fr;gap:34px}
  .edd-media{aspect-ratio:16/10;max-width:560px}
}

/* sous-titre traduit du titre DEDD (concept officiel conservé en anglais) */
.phero h1 .h1-sub{display:block;font-size:.5em;font-weight:300;color:var(--muted);
  letter-spacing:0;margin-top:12px}

/* disclaimer déplacé dans Institutional boundaries */
.bounds .bnote{margin-top:26px;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.5);max-width:70ch}

/* ============================================================
   ACCUEIL — SECTION STACKING / STICKY OVERLAP (scoped body.home)
   N'affecte que la page d'accueil : les pages intérieures n'ont
   pas la classe .home, donc rien ne change pour elles.
   ============================================================ */
body.home .stack{position:relative;z-index:1}

/* chaque section devient un panneau : il s'épingle, le suivant glisse par-dessus */
body.home .stack>section{
  position:sticky;top:0;min-height:100svh;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,5.5vh,86px) 0;margin:0;
  border-radius:34px 34px 0 0;box-shadow:0 -26px 60px rgba(6,13,21,.30);
}
body.home .stack>section:first-child{border-radius:0;box-shadow:none}     /* le héro */
/* voile qui s'assombrit à mesure que le panneau suivant le recouvre */
body.home .stack>section::after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;
  background:#060d15;opacity:calc(var(--cover,0) * .5);border-radius:inherit}
/* panneau trop grand pour l'écran → on le désépingle (défile normalement, jamais coupé).
   position:relative (et non static) pour rester le bloc conteneur de ses calques absolus
   (la vidéo/photo de fond) — sinon ils s'étirent à toute la hauteur de .stack. */
body.home .stack>section.no-pin{position:relative}

/* --- rythme des fonds (opaques, alternés) --- */
body.home .pan-neutral{background:var(--bg-2)}
body.home .pan-white{background:var(--bg)}
body.home .pan-navy,body.home .pan-photo{background:var(--navy)}
body.home .stack>.hero{min-height:100svh}

/* texte clair sur les panneaux sombres à contenu direct (architecture) */
body.home .pan-navy{color:#fff}
body.home .pan-arch .sechead h2{color:#fff}
body.home .pan-arch .eyebrow{color:rgba(255,255,255,.6)}
body.home .pan-arch .eyebrow::before{color:var(--gold-2)}

/* les enfants pleine-largeur remplissent le panneau, coins arrondis compris */
body.home .pan-flow .flow,body.home .pan-bounds .bounds,body.home .pan-cta .bigcta,
body.home .pan-arch .arch{width:100%;margin-left:0}
body.home .statuses{border-top:0;border-bottom:0}
body.home .pan-white .eddsplit{margin-top:0}

/* architecture : hauteur des cartes réduite pour tenir tête + cartes dans un écran */
body.home .pan-arch{padding:clamp(44px,6vh,88px) 0}
body.home .pan-arch .arch{margin-top:clamp(16px,2.4vh,24px)}
body.home .pan-arch .acard{min-height:min(46vh,420px)}

/* --- CBAM : panneau photo, tête + légende superposées à l'image --- */
body.home .cbam-panel{justify-content:stretch;padding:0}
body.home .cbam-panel .pan-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform}
body.home .cbam-panel .pan-grade{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(6,13,21,.72) 0%,rgba(6,13,21,.46) 42%,rgba(6,13,21,.90) 100%)}
body.home .cbam-panel .v-grid{opacity:.26}
body.home .cbam-inner{position:relative;z-index:4;flex:1;display:flex;flex-direction:column;
  justify-content:space-between;gap:32px;padding:clamp(112px,14vh,148px) 0 clamp(56px,6vh,84px);color:#fff}
body.home .cbam-panel .scope-head{margin-bottom:0;align-items:start}
body.home .cbam-panel .scope-head h2{color:#fff}
body.home .cbam-panel .scope-head p{color:rgba(255,255,255,.82)}
body.home .cbam-panel .eyebrow{color:rgba(255,255,255,.62)}
body.home .cbam-panel .eyebrow::before{color:var(--gold-2)}
body.home .cbam-panel .disclaim{background:rgba(255,255,255,.06);border-inline-start-color:var(--gold-2);
  color:rgba(255,255,255,.74)}

/* --- footer : dernier panneau, non épinglé, glisse sur le CTA --- */
body.home .pan-footer{position:relative;z-index:2;min-height:auto;display:block;
  justify-content:flex-start;padding:110px 0 0;
  border-radius:34px 34px 0 0;box-shadow:0 -26px 60px rgba(6,13,21,.30);overflow:hidden}
body.home .pan-footer::after{display:none}

/* --- homepage section photo refresh --- */
body.home #file-journey .bounds,
body.home #regulatory-chain .bounds,
body.home #determination-package{
  position:relative;
  overflow:hidden;
  background-color:var(--navy);
  background-repeat:no-repeat;
  background-size:cover;
}
body.home #file-journey .bounds{
  background-image:
    linear-gradient(180deg,rgba(6,13,21,.78) 0%,rgba(6,13,21,.62) 42%,rgba(6,13,21,.84) 100%),
    url("home-file-journey.jpg");
  background-position:50% 42%;
}
body.home #determination-package{
  background-image:
    linear-gradient(180deg,rgba(248,246,241,.90) 0%,rgba(248,246,241,.84) 40%,rgba(248,246,241,.92) 100%),
    url("home-determination-package.jpg");
  background-position:50% 52%;
}
body.home #regulatory-chain .bounds{
  background-image:
    linear-gradient(180deg,rgba(6,13,21,.72) 0%,rgba(6,13,21,.56) 45%,rgba(6,13,21,.82) 100%),
    url("home-regulatory-chain.jpg");
  background-position:50% 58%;
}
body.home #file-journey .notgrid,
body.home #regulatory-chain .notgrid{
  background:rgba(6,13,21,.18);
  backdrop-filter:blur(2px);
}
body.home #file-journey .notcell,
body.home #regulatory-chain .notcell{
  background:rgba(255,255,255,.03);
}
body.home #file-journey .notcell:hover,
body.home #regulatory-chain .notcell:hover{
  background:rgba(255,255,255,.08);
}
body.home #determination-package .panel-inner{
  position:relative;
  z-index:2;
}
body.home #determination-package h2,
body.home #determination-package .eyebrow,
body.home #determination-package .eyebrow::before,
body.home #determination-package .chainstrip span,
body.home #determination-package .chainstrip i,
body.home #determination-package .btn.light.bord,
body.home #determination-package .btn.dark{
  position:relative;
  z-index:2;
}
body.home #determination-package .chainstrip span{
  background:rgba(255,255,255,.78);
  border-color:rgba(6,13,21,.14);
  color:var(--text);
}
body.home #determination-package .chainstrip span.last{
  border-color:rgba(201,106,106,.52);
  color:#7d3a3a;
}
body.home #determination-package .btn.dark{
  box-shadow:0 10px 30px rgba(6,13,21,.10);
}
@media(max-width:900px){
  body.home #file-journey .bounds,
  body.home #regulatory-chain .bounds,
  body.home #determination-package{
    background-position:50% 50%;
  }
}


/* --- TABLETTE + MOBILE (≤1024px) : cartes superposées sans verrouiller le contenu ---
   Sur petits écrans, une section peut être plus haute que le viewport. On conserve donc
   le flux naturel pour que tout le contenu reste lisible, mais chaque panneau suivant
   remonte légèrement au-dessus du précédent, avec le même rayon, l'ombre et la profondeur
   visuelle que le système sticky desktop. */
@media(max-width:1024px){
  body.home .stack{overflow:visible}
  body.home .stack>section{
    position:relative;
    top:auto;
    min-height:auto;
    padding:clamp(72px,9vw,96px) 0;
    margin-top:clamp(-30px,-3vw,-18px);
    border-radius:clamp(24px,3.4vw,32px) clamp(24px,3.4vw,32px) 0 0;
    box-shadow:0 -20px 48px rgba(6,13,21,.26);
    overflow:hidden;
  }
  body.home .stack>section:first-child{
    margin-top:0;
    min-height:100svh;
    border-radius:0;
    box-shadow:none;
  }
  /* Le voile desktop dépend d'un vrai recouvrement sticky ; en mode flow-overlap,
     la profondeur est assurée par le chevauchement, le rayon et l'ombre. */
  body.home .stack>section::after{display:none}
  body.home .stack>.hero,
  body.home .cbam-panel,
  body.home .pan-cta{min-height:100svh}
  body.home .cbam-inner{padding:120px 0 64px}
  body.home .pan-flow,
  body.home .pan-cta{padding:0}
  body.home .pan-footer{
    margin-top:clamp(-30px,-3vw,-18px);
    border-radius:clamp(24px,3.4vw,32px) clamp(24px,3.4vw,32px) 0 0;
    box-shadow:0 -20px 48px rgba(6,13,21,.26);
  }
}
@media (prefers-reduced-motion: reduce){
  body.home .stack>section{position:relative}
  body.home .stack>section::after{display:none}
}

/* ============================================================
   ACCUEIL — PUBLICATIONS : 3 documents de la série
   ============================================================ */
body.home #publications .pubrow{margin-bottom:clamp(40px,5vh,64px)}
.pubdocs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.pubdoc{position:relative;display:flex;flex-direction:column;padding:34px 30px 32px 30px;
  border-inline-end:1px solid var(--line);transition:background .45s var(--e-soft),transform .5s var(--e-out)}
.pubdoc:last-child{border-inline-end:0}
.pubdoc:not(:first-child){padding-inline-start:30px}
.pubdoc::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--e-out)}
.pubdoc:hover::before{transform:scaleX(1)}
.pubdoc:hover{background:linear-gradient(180deg,rgba(176,138,60,.05),transparent 70%)}
.pubdoc .pd-ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--gold)}
.pubdoc h3{font-size:18px;font-weight:400;letter-spacing:-.01em;line-height:1.3;margin:16px 0 12px}
.pubdoc>p{font-size:13.5px;color:var(--muted);line-height:1.65;margin:0 0 22px;flex:1}
.pubdoc .pd-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-top:16px;border-top:1px solid var(--line)}
.pubdoc .pd-date{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted)}
.pubdoc .pd-dl{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  display:inline-flex;align-items:center;gap:7px;transition:color .3s}
.pubdoc .pd-dl .ar{transition:transform .35s var(--e-out)}
.pubdoc:hover .pd-dl{color:var(--gold)}
.pubdoc:hover .pd-dl .ar{transform:translateY(3px)}
@media(max-width:900px){.pubdocs{grid-template-columns:1fr}
  .pubdoc{border-inline-end:0;border-bottom:1px solid var(--line);padding:26px 0 24px!important}
  .pubdoc:last-child{border-bottom:0}}

/* ============================================================
   ACCUEIL — DOCUMENTED EVIDENTIARY DUE DILIGENCE
   Réseau de preuves 3D (canvas) + texte révélé au scroll, fond blanc
   ============================================================ */
body.home .stack>section.dedd3d{
  position:relative;min-height:260svh;display:block;padding:0;
  overflow:visible;border-radius:0;box-shadow:none;background:var(--bg);isolation:auto}
body.home .dedd3d::after{display:none}
.dedd-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;
  background:var(--bg);border-radius:34px 34px 0 0;box-shadow:0 -26px 60px rgba(6,13,21,.12)}
.dedd-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.dedd-fog{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 100% at 62% 45%,transparent 30%,rgba(247,246,243,.55) 66%,var(--bg) 88%)}
.dedd-content{position:relative;z-index:2;max-width:760px}
.dedd-content .eyebrow{margin-bottom:4px}
.dedd-content h2{font-size:clamp(28px,3.7vw,54px);font-weight:300;letter-spacing:-.02em;line-height:1.13;margin:22px 0 30px}
.dedd-content p{font-size:16.5px;color:#3B4046;line-height:1.75;margin-bottom:18px;max-width:58ch}
.dedd-content .btn{margin-top:14px}
.dedd-micro{font-size:12.5px;color:var(--muted)!important;border-top:1px solid var(--line);
  padding-top:16px;margin-top:28px!important;max-width:56ch}
/* révélation progressive au scroll */
.dedd-step{opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--e-out),transform .8s var(--e-out)}
.dedd-step.on{opacity:1;transform:none}
/* indice de scroll */
.dedd-hint{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:3;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
  display:flex;flex-direction:column;align-items:center;gap:10px;transition:opacity .5s}
.dedd-hint::after{content:"";width:1px;height:40px;background:linear-gradient(var(--gold-2),transparent);
  animation:sdown 2.4s ease-in-out infinite}

@media(max-width:1024px){
  body.home .stack>section.dedd3d{min-height:100svh}
  .dedd-sticky{position:relative;height:auto;min-height:100svh;padding:110px 0;border-radius:26px 26px 0 0}
  .dedd-step{opacity:1;transform:none}
  .dedd-hint{display:none}
}
@media (prefers-reduced-motion: reduce){
  .dedd-step{opacity:1;transform:none}
  .dedd-hint{display:none}
}

/* ============================================================
   SÉLECTEUR DE LANGUE — drapeaux
   ============================================================ */
.langsel .lang{display:inline-flex;align-items:center;gap:9px;line-height:1}
/* menu déroulant : drapeaux seuls, centrés */
.langdd a{display:flex!important;align-items:center;justify-content:center;padding:9px 22px!important;line-height:1}
.langdd a.on{position:relative}
.langdd a.on::after{content:"";position:absolute;left:14px;top:50%;width:4px;height:4px;border-radius:50%;
  background:var(--gold);transform:translateY(-50%)}
/* vrais drapeaux plats (SVG), rectangles pleins — sans encadré */
.flag{width:28px;height:auto;flex:none;vertical-align:middle;border-radius:2px;
  box-shadow:0 1px 3px rgba(0,0,0,.22)}
.langsel .lang .flag{width:22px}
body.rtl .langdd a{flex-direction:row}

/* ============================================================
   DEDD V2 — composants institutionnels (natifs, sans image ni dépendance)
   ============================================================ */

/* ---- 1. Diagramme de chaîne probatoire (ramifié, remplace la chaîne linéaire) ---- */
.evchain{margin:44px 0 10px;display:flex;flex-direction:column;align-items:stretch;gap:0}
.evchain .node{position:relative;border:1px solid var(--line);background:#fff;border-radius:3px;
  padding:14px 18px;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);line-height:1.45}
.evchain .node.key{border-color:var(--ink);background:var(--ink);color:#fff}
.evchain .node.gold{border-color:var(--gold);color:var(--gold)}
.evchain .node.soft{background:var(--bg-2);color:var(--muted)}
.evchain .lnk{width:1px;height:22px;background:var(--line);margin:0 auto;flex:none}
.evchain .lnk::after{content:"";display:block;width:5px;height:5px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);transform:rotate(45deg);margin:17px auto 0}
/* rangée de branches (sorties possibles d'un contrôle) */
.evchain .branch{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;padding-top:14px}
.evchain .branch::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:var(--line)}
.evchain .branch>*{position:relative}
.evchain .branch>*::before{content:"";position:absolute;top:-14px;left:50%;width:1px;height:14px;background:var(--line)}
.evchain .branch .node{font-size:10px;letter-spacing:.1em;padding:12px 10px}
/* embranchement à 2 voies (résolu / non résolu) */
.evchain .split{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;padding-top:14px}
.evchain .split::before{content:"";position:absolute;top:0;left:25%;right:25%;height:1px;background:var(--line)}
.evchain .split>*{position:relative}
.evchain .split>*::before{content:"";position:absolute;top:-14px;left:50%;width:1px;height:14px;background:var(--line)}
/* sorties finales */
.evchain .outs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.evchain .cap{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin-top:14px}
@media(max-width:860px){
  .evchain .branch{grid-template-columns:1fr 1fr}
  .evchain .outs{grid-template-columns:1fr}
  .evchain .branch::before{left:25%;right:25%}
}
@media(max-width:520px){
  .evchain .branch{grid-template-columns:1fr}
  .evchain .branch::before,.evchain .branch>*::before{display:none}
  .evchain .split{grid-template-columns:1fr}
  .evchain .split::before{display:none}
}

/* ---- 2. Tableau « préparation à une vérification indépendante » ---- */
.readytbl{width:100%;border-collapse:collapse;margin:34px 0 8px;font-size:14px}
.readytbl th{text-align:start;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:500;padding:0 16px 12px 0;
  border-bottom:1px solid var(--ink);white-space:nowrap}
.readytbl td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);color:#3B4046;
  line-height:1.55;vertical-align:top}
.readytbl td:first-child{color:var(--ink);font-weight:400}
.readytbl .st{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted)}
.readytbl .ref{font-family:var(--mono);font-size:10.5px;color:var(--gold);letter-spacing:.04em}
.readytbl tr:hover td{background:rgba(176,138,60,.035)}
.tblnote{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px}
/* mobile : le tableau devient des cartes accessibles */
@media(max-width:820px){
  .readytbl,.readytbl tbody,.readytbl tr,.readytbl td{display:block;width:100%}
  .readytbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .readytbl tr{border:1px solid var(--line);border-radius:3px;padding:14px 16px;margin-bottom:12px}
  .readytbl td{border:0;padding:5px 0;display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:12px}
  .readytbl td::before{content:attr(data-l);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--muted);padding-top:2px}
  .readytbl td:first-child{font-weight:500;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
}

/* ---- 3. Architecture du package : 2 couches ---- */
.pkgia{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:36px 0 10px}
.pkgia .layer{border:1px solid var(--line);border-radius:3px;padding:26px 24px 28px;background:#fff}
.pkgia .layer.audit{background:var(--navy);border-color:var(--navy);color:#fff}
.pkgia .lh{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px}
.pkgia .layer.audit .lh{color:var(--gold-2)}
.pkgia h3{font-size:16px;font-weight:400;letter-spacing:-.01em;margin-bottom:16px;line-height:1.35}
.pkgia .layer.audit h3{color:#fff}
.pkgia ol,.pkgia ul{list-style:none;margin:0;padding:0}
.pkgia li{font-size:13.5px;line-height:1.5;padding:9px 0;border-top:1px solid var(--line);color:#3B4046}
.pkgia li:first-child{border-top:0}
.pkgia .layer.audit li{border-top-color:rgba(255,255,255,.14);color:rgba(255,255,255,.82);
  font-family:var(--mono);font-size:12px;letter-spacing:.04em}
.pkgia .n{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:.1em;margin-inline-end:10px}
.pkgia .cond{margin-top:16px;font-size:12px;color:var(--muted);line-height:1.6;font-style:italic}
.pkgia .layer.audit .cond{color:rgba(255,255,255,.5)}
@media(max-width:860px){.pkgia{grid-template-columns:1fr}}

/* ---- 4. Encart d'emphase (rapport vs package) ---- */
.emph{margin:40px 0;padding:30px 34px;background:var(--navy);color:#fff;border-radius:3px;
  border-inline-start:3px solid var(--gold)}
.emph p{margin:0;font-size:clamp(17px,2vw,22px);line-height:1.45;font-weight:300;letter-spacing:-.01em;color:#fff}
.emph p+p{margin-top:10px;color:var(--gold-2)}

/* ---- 5. Chaîne compacte (accueil) ---- */
.hp-pkg .chainstrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:26px 0 30px}
.hp-pkg .chainstrip span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:2px;padding:9px 13px;color:var(--muted);background:#fff}
.hp-pkg .chainstrip span.last{border-color:var(--gold);color:var(--gold)}
.hp-pkg .chainstrip i{font-style:normal;color:var(--gold);font-size:11px;opacity:.7}
@media(max-width:640px){.hp-pkg .chainstrip span{font-size:9px;padding:7px 10px}}

/* ---- 6. Bibliothèque de spécimens (structure prête, état contrôlé) ---- */
.speclib{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.speccard{border:1px solid var(--line);border-radius:3px;padding:24px 22px 26px;background:#fff;
  display:flex;flex-direction:column;transition:border-color .4s var(--e-soft),transform .5s var(--e-out)}
.speccard:hover{border-color:rgba(176,138,60,.5);transform:translateY(-4px)}
.speccard .lvl{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.speccard h3{font-size:17px;font-weight:400;margin:14px 0 10px;line-height:1.3;letter-spacing:-.01em}
.speccard p{font-size:13.5px;color:var(--muted);line-height:1.6;flex:1}
.speccard .meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);display:grid;gap:5px}
.speccard.pending{background:var(--bg-2)}
.speccard.pending .state{margin-top:18px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
@media(max-width:1000px){.speclib{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.speclib{grid-template-columns:1fr}}

/* CTA du hero de page intérieure (DEDD v2) */
.pherocta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
@media(max-width:520px){.pherocta .btn{width:100%;justify-content:center}}
/* utilitaire d'accessibilité : visible pour les lecteurs d'écran uniquement */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ============================================================
   ACCUEIL — NORMALISATION VISUELLE & STACKING (2026-08-28)
   Les panneaux desktop partagent désormais le même langage :
   même carte, même hiérarchie typographique et même recouvrement.
   ============================================================ */
@media(min-width:1025px){
  body.home .stack>section{
    position:sticky;
    top:0;
    overflow:hidden;
  }
  /* Les panneaux qui possèdent déjà leur propre espace intérieur
     ne cumulent plus un deuxième padding de section. */
  body.home .stack>section.pan-flow,
  body.home .stack>section.pan-cta{
    padding:0;
  }
}

/* Les deux panneaux ajoutés tardivement reprennent maintenant la
   structure typographique et les grilles du reste de la homepage. */
body.home #file-journey,
body.home #regulatory-chain{
  background-color:var(--navy);
  background-repeat:no-repeat;
  background-size:cover;
  color:#fff;
}
body.home #file-journey{
  background-image:
    linear-gradient(180deg,rgba(6,13,21,.78) 0%,rgba(6,13,21,.60) 44%,rgba(6,13,21,.84) 100%),
    url("home-file-journey.jpg");
  background-position:50% 42%;
}
body.home #regulatory-chain{
  background-image:
    linear-gradient(180deg,rgba(6,13,21,.74) 0%,rgba(6,13,21,.58) 46%,rgba(6,13,21,.84) 100%),
    url("home-regulatory-chain.jpg");
  background-position:50% 58%;
}
body.home #file-journey .bounds,
body.home #regulatory-chain .bounds{
  width:100%;
  margin:0;
  padding:0;
  background:transparent;
  color:inherit;
}
body.home #file-journey .sechead,
body.home #regulatory-chain .sechead{
  margin-bottom:clamp(38px,5vh,58px);
}
body.home #file-journey .sechead h2,
body.home #regulatory-chain .sechead h2{
  color:#fff;
}
body.home #file-journey .eyebrow,
body.home #regulatory-chain .eyebrow{
  color:rgba(255,255,255,.64);
}
body.home #file-journey .eyebrow::before,
body.home #regulatory-chain .eyebrow::before{
  color:var(--gold-2);
}
.hp-review-grid{
  display:grid;
  gap:0;
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22);
  background:rgba(6,13,21,.12);
}
.hp-review-grid.journey-grid{grid-template-columns:repeat(3,1fr)}
.hp-review-grid.roles-grid{grid-template-columns:repeat(2,1fr)}
.hp-review-card{
  min-width:0;
  padding:30px 30px 32px 30px;
  border-inline-end:1px solid rgba(255,255,255,.20);
  border-bottom:1px solid rgba(255,255,255,.20);
  transition:background .4s var(--e-soft);
}
.hp-review-grid.journey-grid .hp-review-card:nth-child(3n),
.hp-review-grid.roles-grid .hp-review-card:nth-child(2n){border-inline-end:0}
.hp-review-grid.journey-grid .hp-review-card:nth-child(n+2),
.hp-review-grid.roles-grid .hp-review-card:nth-child(even){padding-inline-start:30px}
.hp-review-grid.journey-grid .hp-review-card:nth-child(n+1):nth-last-child(-n+3),
.hp-review-grid.roles-grid .hp-review-card:nth-last-child(-n+2){border-bottom:0}
.hp-review-grid.roles-grid .hp-review-card:nth-child(3){padding-inline-start:0}
.hp-review-grid.roles-grid .hp-review-card:nth-child(4){padding-inline-start:30px}
.hp-review-card:hover{background:rgba(255,255,255,.055)}
.hp-review-card .n{
  display:block;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.14em;
  color:var(--gold-2);
}
.hp-review-card h3{
  margin:16px 0 10px;
  font-size:17.5px;
  line-height:1.35;
  font-weight:400;
  letter-spacing:-.01em;
  color:#fff;
}
.hp-review-card p{
  margin:0;
  max-width:34ch;
  font-size:14.5px;
  line-height:1.68;
  font-weight:400;
  color:rgba(255,255,255,.76);
}
body.home #file-journey .bnote,
body.home #regulatory-chain .bnote{
  margin-top:24px;
  color:rgba(255,255,255,.62);
}

/* Le panneau Determination Package utilise la photo au même niveau
   structurel que les deux autres panneaux photographiques. */
body.home #determination-package{
  background-image:
    linear-gradient(180deg,rgba(248,246,241,.91) 0%,rgba(248,246,241,.84) 42%,rgba(248,246,241,.93) 100%),
    url("home-determination-package.jpg");
  background-size:cover;
  background-position:50% 52%;
}

/* DEDD conserve son animation longue, mais entre et sort désormais
   visuellement comme une carte de la même famille que les autres. */
body.home .stack>section.dedd3d{
  position:relative;
  min-height:260svh;
  display:block;
  padding:0;
  overflow:visible;
  border-radius:34px 34px 0 0;
  box-shadow:0 -26px 60px rgba(6,13,21,.22);
  background:var(--bg);
  isolation:isolate;
}
body.home .dedd3d::after{display:none}
body.home .dedd-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  border-radius:34px 34px 0 0;
  box-shadow:none;
  isolation:isolate;
}
body.home .dedd-sticky::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  background:#060d15;
  opacity:calc(var(--cover,0) * .5);
  border-radius:inherit;
}
body.home .dedd-content{z-index:3}
body.home .dedd-canvas{z-index:0}
body.home .dedd-fog{z-index:1}

@media(max-width:900px){
  .hp-review-grid.journey-grid,
  .hp-review-grid.roles-grid{grid-template-columns:1fr}
  .hp-review-card,
  .hp-review-grid.journey-grid .hp-review-card:nth-child(n+2),
  .hp-review-grid.roles-grid .hp-review-card:nth-child(even),
  .hp-review-grid.roles-grid .hp-review-card:nth-child(3),
  .hp-review-grid.roles-grid .hp-review-card:nth-child(4){
    padding:26px 0 28px;
    border-inline-end:0;
    border-bottom:1px solid rgba(255,255,255,.20);
  }
  .hp-review-grid .hp-review-card:last-child{border-bottom:0}
  .hp-review-card p{max-width:62ch}
}
@media(max-width:1024px){
  body.home #file-journey,
  body.home #regulatory-chain,
  body.home #determination-package{background-position:50% 50%}
  body.home .stack>section.dedd3d{
    position:relative;
    min-height:auto;
    margin-top:clamp(-30px,-3vw,-18px);
    border-radius:clamp(24px,3.4vw,32px) clamp(24px,3.4vw,32px) 0 0;
    box-shadow:0 -20px 48px rgba(6,13,21,.22);
    overflow:hidden;
  }
  body.home .dedd-sticky{
    position:relative;
    height:auto;
    min-height:100svh;
    padding:110px 0;
    border-radius:inherit;
  }
  body.home .dedd-sticky::after{display:none}
}


/* ============================================================
   ACCUEIL — WORKFLOW CONTINU + PERFORMANCE (2026-08-28)
   Le workflow n'est pas un panneau sticky : sa ligne de progression
   doit pouvoir traverser tout le viewport avant la section suivante.
   La transition Workflow -> CBAM Review Options est volontairement
   continue, sans carte qui recouvre le bas du workflow.
   ============================================================ */
body.home .stack>section.pan-flow{
  position:relative!important;
  top:auto!important;
}
body.home .stack>section.pan-flow + section.depth{
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.home .stack>section.pan-flow + section.depth::after{display:none!important}
@media(max-width:1024px){
  body.home .stack>section.pan-flow + section.depth{
    margin-top:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
}

/* ================= REGULATORY REFERENCES ================= */
.reg-section{padding:clamp(72px,9vw,126px) 0;background:var(--bg-2);border-top:1px solid var(--line)}
.reg-head{max-width:880px;margin-bottom:34px}
.reg-head h2{font-size:clamp(32px,4.3vw,62px);font-weight:250;letter-spacing:-.035em;line-height:1.08;margin:14px 0 18px}
.reg-head>p{max-width:72ch;color:var(--muted);font-size:15.5px;line-height:1.75}
.regrefs{border-top:1px solid var(--line)}
.regref{border-bottom:1px solid var(--line);background:rgba(255,255,255,.28)}
.regref summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;font-size:clamp(17px,1.7vw,23px);font-weight:350;letter-spacing:-.012em}
.regref summary::-webkit-details-marker{display:none}
.regref summary i{font-style:normal;font-family:var(--mono);font-size:16px;color:var(--gold);transition:transform .25s ease;flex:none}
.regref[open] summary i{transform:rotate(45deg)}
.regref-body{padding:0 0 30px;display:grid;grid-template-columns:minmax(220px,.8fr) repeat(3,minmax(0,1fr));gap:18px}
.reg-source,.reg-layer{margin:0;padding:18px 20px;border:1px solid var(--line);background:rgba(255,255,255,.58);min-height:100%}
.reg-source span,.reg-layer>span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.reg-source{font-size:12.5px;line-height:1.65}
.reg-source a{color:var(--text);text-decoration-thickness:1px;text-underline-offset:3px}
.reg-layer p{margin:0;font-size:13.5px;line-height:1.7;color:var(--muted)}
.reg-layer-add{border-color:rgba(190,145,76,.34);background:rgba(190,145,76,.055)}
.reg-note{margin-top:20px;max-width:76ch;color:var(--muted);font-size:11.5px;line-height:1.65}
@media(max-width:980px){.regref-body{grid-template-columns:1fr 1fr}.reg-source{grid-column:1/-1}}
@media(max-width:640px){.reg-section{padding:68px 0}.regref summary{padding:19px 0}.regref-body{grid-template-columns:1fr;gap:10px}.reg-source{grid-column:auto}.reg-source,.reg-layer{padding:16px}}


/* ================= REGULATORY EXECUTIVE STRIP ================= */
/* Immediate post-hero legal context: regulatory anchors on the left,
   WEETRA evidentiary response on the right. Detailed mapping remains below. */
.reg-section{position:relative}
.reg-executive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 34px;background:rgba(255,255,255,.34)}
.reg-exec-col{padding:28px 30px}
.reg-exec-col+ .reg-exec-col{border-inline-start:1px solid var(--line)}
.reg-exec-label{display:block;font-family:var(--mono);font-size:10px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.reg-exec-ref{padding:12px 0;border-top:1px solid rgba(10,24,39,.09)}
.reg-exec-ref:first-of-type{border-top:0;padding-top:0}
.reg-exec-ref b{display:block;font-size:14px;font-weight:500;line-height:1.35;color:var(--text);margin-bottom:4px}
.reg-exec-ref span{display:block;font-family:var(--mono);font-size:9.5px;line-height:1.55;letter-spacing:.025em;color:var(--muted)}
.reg-exec-response ul{list-style:none;margin:0;padding:0}
.reg-exec-response li{position:relative;padding:0 0 14px 18px;font-size:14.5px;line-height:1.62;color:var(--text)}
.reg-exec-response li::before{content:"·";position:absolute;inset-inline-start:0;top:0;color:var(--gold);font-family:var(--mono)}
.reg-exec-add{margin-top:6px;padding-top:16px;border-top:1px solid rgba(10,24,39,.09)}
.reg-exec-add span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.reg-exec-add p{margin:0;font-size:12.5px;line-height:1.6;color:var(--muted)}
.reg-section .regrefs{margin-top:0}
@media(max-width:820px){
  .reg-executive{grid-template-columns:1fr;margin-bottom:26px}
  .reg-exec-col{padding:24px 0}
  .reg-exec-col+ .reg-exec-col{border-inline-start:0;border-top:1px solid var(--line)}
  .reg-exec-ref span{font-size:9px}
}

/* 13-language selector */
.langdd{max-height:72vh;overflow-y:auto;overscroll-behavior:contain}

/* Final production hardening: long integrity references must not widen cards on tablet/mobile. */
.pcell{min-width:0}
.pcell code{overflow-wrap:anywhere;word-break:break-word;white-space:normal}

/* Multilingual mobile hardening. */
@media(max-width:760px){
  .article>*{min-width:0}
  .article .btn{max-width:100%;white-space:normal}
}
@media(max-width:700px){
  .tbl td:first-child{white-space:normal}
}

/* Editorial punctuation refinement */
.list-intro{font-weight:600;margin-bottom:16px;max-width:72ch}.comparison-points{list-style:none;padding:0;margin:10px 0 0}.comparison-points li{margin:0 0 10px;padding:0}.comparison-points li::before{content:none!important;display:none!important}.comparison-points strong{font-weight:600}

/* V8: full-width article content when a page has no table of contents.
   .article normally reserves its first column for .toc. Pages such as
   Advisers & Customs Professionals intentionally contain only .prose. */
.article > .prose:only-child{
  grid-column:1 / -1;
  width:100%;
  max-width:860px;
}

/* ===== V15 CONTROLLED VISUAL IDENTITY — September 2026 ===== */
.logo{display:block;width:190px;height:42px;position:relative;flex:none}
.logo .brand-lockup{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .3s var(--e-soft)}
.logo .brand-light{opacity:0}.nav.on-dark .logo .brand-dark{opacity:0}.nav.on-dark .logo .brand-light{opacity:1}
body.menu-open .logo .brand-dark{opacity:0}body.menu-open .logo .brand-light{opacity:1}
@media(max-width:520px){.logo{width:42px;height:42px}.logo .brand-lockup{display:none}.logo .brand-symbol{display:block!important;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.logo .symbol-light{opacity:0}.nav.on-dark .logo .symbol-dark{opacity:0}.nav.on-dark .logo .symbol-light{opacity:1}body.menu-open .logo .symbol-dark{opacity:0}body.menu-open .logo .symbol-light{opacity:1}}
.fnote .brand-footer{width:190px;height:auto;margin-bottom:22px;opacity:.96}
.fnote .fseal{display:none!important}
.nav-inner{min-height:76px}.nav{border-bottom:1px solid rgba(1,18,47,.08)}
@media(max-width:760px){.nav-inner{min-height:64px}}
.casegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);margin:36px 0 18px}
.casecard{padding:30px 30px 34px;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.casecard:nth-child(3n){border-inline-end:0}.casecard .case-ref{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}.casecard h3{font-size:20px;font-weight:600;line-height:1.28;margin:14px 0 10px;letter-spacing:-.01em}.casecard p{font-size:14px;line-height:1.65;color:var(--muted)}.casecard .case-meta{display:block;font-family:var(--mono);font-size:10px;line-height:1.55;color:var(--steel);margin-top:16px}.casecard .case-go{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--blue)}
@media(max-width:900px){.casegrid{grid-template-columns:1fr 1fr}.casecard:nth-child(3n){border-inline-end:1px solid var(--line)}.casecard:nth-child(2n){border-inline-end:0}}
@media(max-width:620px){.casegrid{grid-template-columns:1fr}.casecard{border-inline-end:0!important;padding:26px 0}}
.contact-phone{margin:26px 0 10px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.contact-phone .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.contact-phone a{font-size:20px;font-weight:500;border-bottom:1px solid var(--gold)}

.casefilters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 10px}.casefilters button{font:500 11px/1 var(--sans);letter-spacing:.03em;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:2px;padding:11px 14px;cursor:pointer}.casefilters button:hover,.casefilters button.on{color:#fff;background:var(--navy);border-color:var(--navy)}.casecard[hidden]{display:none!important}.case-integrity{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin:14px 0 34px}.case-integrity a{border-bottom:1px solid var(--gold)}

/* ======================================================================
   V16 — CONTROLLED VISUAL BASELINE v1.0 (September 2026)
   Source: WEETRA Charte d'identité visuelle & système digital V1.0
   ====================================================================== */
:root{
  --bg:#FFFFFF;
  --bg-2:#F7F4EC;
  --ink:#01122F;
  --muted:#667282;
  --line:#D7DDE5;
  --navy:#01122F;
  --navy-2:#0B1D33;
  --blue:#173B63;
  --steel:#9AA4B2;
  --gold:#B6904D;
  --gold-2:#B6904D;
  --success:#2E6758;
  --amber:#8A5B1F;
  --error:#8E3333;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
html{scroll-padding-top:84px}
body{font-family:var(--sans);font-size:17px;line-height:1.65;background:var(--bg);color:var(--ink)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:1240px;padding-inline:48px}
@media(max-width:760px){.wrap{padding-inline:24px}}

/* Type system: natural case, controlled weights and sizes. */
h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:600;letter-spacing:-.018em}
.hero h1{font-size:clamp(38px,4.55vw,60px);line-height:1.08;font-weight:600;max-width:21ch}
.phero h1{font-size:clamp(34px,4vw,54px);line-height:1.1;font-weight:600}
.sechead h2,.scope-head h2,.statement h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15;font-weight:600}
.article h2,.ldr h2{font-size:clamp(28px,3vw,44px);font-weight:600}
.article h3,.dcell h3,.rcard h3,.rel h3,.casecard h3{font-weight:600}
.hero h1 em{font-weight:600;color:#F7F4EC;font-style:normal}
.eyebrow,.hero-tag,.nav-links,.lang,.nav .btn{font-family:var(--sans);font-weight:600;letter-spacing:.11em}

/* Vertical rhythm from the controlled web spec. */
section{padding:112px 0}
@media(max-width:980px){section{padding:76px 0}}
@media(max-width:760px){section{padding:58px 0}}
.sechead{margin-bottom:56px}

/* Header: always a light institutional bar. One logo only. */
.nav,.nav.on-dark,.nav.solid,.nav.on-dark.solid{color:var(--ink)!important;background:transparent!important;border:0!important}
.nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{
  min-height:76px!important;height:76px!important;padding:0 48px!important;
  background:rgba(247,244,236,.97)!important;
  color:var(--ink)!important;
  border-bottom:1px solid rgba(1,18,47,.12)!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.logo{display:flex!important;align-items:center!important;width:auto!important;height:auto!important;min-width:0!important;flex:0 0 auto!important;position:relative!important}
.logo .brand-header{display:block!important;height:30px!important;width:auto!important;max-width:178px!important;object-fit:contain!important;object-position:left center!important}
.logo .brand-lockup,.logo .brand-symbol,.logo .seal,.logo .wm,.logo .dot{display:none!important}
.nav-links{gap:28px;font-size:10px;color:var(--ink)}
.nav-links a{opacity:.78}
.nav-links a:hover{opacity:1;color:var(--blue)}
.nav-links a::after{background:var(--gold)}
.nav-right{gap:18px;color:var(--ink)}
.nav .btn{color:var(--ink)!important}
.navtoggle{color:var(--ink)!important}
.dd-inner,.nav.on-dark .dd-inner{
  background:rgba(247,244,236,.98)!important;color:var(--ink)!important;
  border:1px solid var(--line)!important;border-radius:3px!important;
  box-shadow:0 12px 34px rgba(1,18,47,.10)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
}
.dd a:hover{color:var(--blue);background:rgba(23,59,99,.05)}
@media(max-width:1080px){
  .nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{padding:0 28px!important}
}
@media(max-width:760px){
  html{scroll-padding-top:68px}
  .nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{height:64px!important;min-height:64px!important;padding:0 20px!important}
  .logo .brand-header{height:26px!important;max-width:154px!important}
}
@media(max-width:430px){.logo .brand-header{height:24px!important;max-width:140px!important}.nav-right{gap:10px}}
body.menu-open .logo .brand-header{display:block!important;opacity:1!important}

/* Mobile navigation can remain an institutional navy surface; header itself stays clear. */
.mobmenu{top:64px;background:var(--navy);padding-top:34px}
.mobmenu .grp a{font-size:22px;font-weight:400}
.mobmenu .grp>span{color:#D5B46D}

/* Hero: one message, static image treatment, no luminous gradient or gratuitous animation. */
.hero{min-height:100svh;padding-top:76px}
.hero .wrap{padding-top:112px;padding-bottom:62px}
.hero-media{opacity:1!important;transform:none!important;animation:none!important}
.hero-grade{background:linear-gradient(180deg,rgba(1,18,47,.58) 0%,rgba(1,18,47,.42) 40%,rgba(1,18,47,.82) 100%)!important}
.hero-tint{background:var(--navy);opacity:.20;mix-blend-mode:color}
.grain{display:none!important}
.hero-tag{font-size:11px;letter-spacing:.12em}
.hero-sub{margin-top:40px}
.hero-sub p{font-size:17px;line-height:1.65}
.scrollhint::after,#flowProg,.fstep::before,.v-seal::after{animation:none!important}
@media(max-width:760px){.hero{padding-top:64px}.hero .wrap{padding-top:88px;padding-bottom:48px}}

/* Buttons: 44–48px target, squared institutional treatment, no pill / no motion flourish. */
.btn{min-height:46px;border-radius:3px;padding:12px 22px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.08em;transform:none!important}
.btn:hover .ar,.rel:hover .go,.fx:hover{transform:none!important}
.btn.dark{background:var(--navy);color:#fff}
.btn.gold{background:var(--navy);color:#fff}
.btn.light{background:var(--bg-2);color:var(--navy)}
.btn.ghost{border-color:rgba(247,244,236,.72);color:var(--bg-2)}

/* Cards and UI surfaces: restrained 1px borders, minimal radius, almost no shadows. */
.casefilters button,.readytbl,.pkgia,.emph,.dd-inner{border-radius:3px!important}
.casecard,.rcard,.dcell,.ccell,.chcell,.pcell,.pubdoc,.rel,.hp-review-card{box-shadow:none!important}
.casecard:hover,.rcard:hover,.dcell:hover,.ccell:hover,.chcell:hover,.pcell:hover,.pubdoc:hover,.rel:hover,.hp-review-card:hover{transform:none!important}

/* The palette is predominantly light/documentary; navy reserved for strong institutional moments. */
body:not(.home) .phero.light{background:var(--bg-2);color:var(--ink)}
.statement,.depth,.scope,.article,.ldr,.reg-section{background:var(--bg)}
.reg-section:nth-of-type(even){background:var(--bg-2)}
.flow,.bounds,.cta-band,footer,.mobmenu{background:var(--navy)}
.flow-grade{background:rgba(1,18,47,.84)}

/* Footer: white approved horizontal lockup on Midnight Navy. */
footer{background:var(--navy)!important;color:rgba(247,244,236,.70);padding-top:96px}
.fnote .brand-footer{display:block;width:auto!important;height:30px!important;max-width:178px!important;object-fit:contain;margin-bottom:24px;opacity:1}
.fnote .fseal{display:none!important}
footer a:hover{color:#fff}
footer .wordmark{opacity:.06}

/* Controlled gold remains an accent only. */
.eyebrow::before,.hero-sub .arr,.rcard .n,.rcard .lvl,.dcell .n,.case-ref,.contact-phone .lbl{color:var(--gold)}

/* Header must never be obscured by page hero. */
.phero{padding-top:190px}
.phero.light{padding-top:156px}
@media(max-width:760px){.phero{padding-top:132px}.phero.light{padding-top:118px}}

/* Accessibility and layout hardening. */
img{height:auto}
.logo img{max-width:none}
.nav-inner>*{min-width:0}
.nav-links{min-width:0}
.nav-right{flex:0 0 auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
\n\n/* ===== V17 corrective baseline: header logo + cache-safe identity ===== */
/* Fixed-size brand slot. The logo cannot expand from its intrinsic raster dimensions. */
.nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{
  display:flex!important;
  align-items:center!important;
  min-height:76px!important;
  height:76px!important;
  padding:0 40px!important;
  background:rgba(247,244,236,.98)!important;
  color:#01122F!important;
  border-bottom:1px solid rgba(1,18,47,.12)!important;
}
.logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:126px!important;
  height:26px!important;
  max-width:126px!important;
  min-width:126px!important;
  flex:0 0 126px!important;
  overflow:hidden!important;
  position:relative!important;
}
.logo .brand-header{
  display:block!important;
  width:126px!important;
  height:26px!important;
  max-width:126px!important;
  max-height:26px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.logo .brand-lockup,.logo .brand-symbol,.logo .seal,.logo .wm,.logo .dot{display:none!important}
.nav-links{flex:1 1 auto!important;justify-content:center!important;min-width:0!important}
.nav-right{flex:0 0 auto!important;min-width:0!important}
body.menu-open .logo .brand-header{display:block!important;opacity:1!important}
@media(max-width:1080px){
  .nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{padding:0 24px!important}
  .logo{width:116px!important;min-width:116px!important;max-width:116px!important;flex-basis:116px!important;height:24px!important}
  .logo .brand-header{width:116px!important;max-width:116px!important;height:24px!important;max-height:24px!important}
}
@media(max-width:760px){
  .nav-inner,.nav.solid .nav-inner,.nav.on-dark .nav-inner,.nav.on-dark.solid .nav-inner{height:64px!important;min-height:64px!important;padding:0 18px!important}
  .logo{width:104px!important;min-width:104px!important;max-width:104px!important;flex-basis:104px!important;height:22px!important}
  .logo .brand-header{width:104px!important;max-width:104px!important;height:22px!important;max-height:22px!important}
}
@media(max-width:430px){
  .logo{width:96px!important;min-width:96px!important;max-width:96px!important;flex-basis:96px!important;height:20px!important}
  .logo .brand-header{width:96px!important;max-width:96px!important;height:20px!important;max-height:20px!important}
}

/* ===== V18 adaptive glass navigation: restore original WEETRA behavior ===== */
/* The bar is transparent over the first screen. Once scrolling begins, it becomes
   a restrained glass surface. The single navy logo is recolored in CSS on dark
   sections, so there is never more than one header logo in the DOM. */
.nav,.nav.solid,.nav.on-dark,.nav.on-dark.solid{
  background:transparent!important;
  border:0!important;
  transition:transform .5s var(--e-out),color .32s ease!important;
}
.nav-inner,
.nav.solid .nav-inner,
.nav.on-dark .nav-inner,
.nav.on-dark.solid .nav-inner{
  background:transparent!important;
  border-bottom-color:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  transition:background .38s ease,color .32s ease,border-color .38s ease,-webkit-backdrop-filter .38s ease,backdrop-filter .38s ease!important;
}
/* Light surface */
.nav:not(.on-dark),.nav:not(.on-dark) .nav-inner,
.nav:not(.on-dark) .nav-links,.nav:not(.on-dark) .nav-right,
.nav:not(.on-dark) .lang,.nav:not(.on-dark) .navtoggle{
  color:#01122F!important;
}
.nav:not(.on-dark) .nav .btn,.nav:not(.on-dark) .btn{color:#01122F!important}
.nav:not(.on-dark) .logo .brand-header{
  filter:none!important;
  opacity:1!important;
}
/* Dark surface */
.nav.on-dark,.nav.on-dark .nav-inner,
.nav.on-dark .nav-links,.nav.on-dark .nav-right,
.nav.on-dark .lang,.nav.on-dark .navtoggle,
.nav.on-dark .btn{
  color:#fff!important;
}
.nav.on-dark .logo .brand-header{
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
}
/* Glass state after the first 60px of scroll. */
.nav.solid:not(.on-dark) .nav-inner{
  background:rgba(247,244,236,.72)!important;
  border-bottom:1px solid rgba(1,18,47,.10)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.28)!important;
  backdrop-filter:blur(18px) saturate(1.28)!important;
}
.nav.on-dark.solid .nav-inner{
  background:rgba(1,18,47,.48)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18)!important;
  backdrop-filter:blur(18px) saturate(1.18)!important;
}
/* Dropdowns follow the current surface, as in the original adaptive header. */
.nav:not(.on-dark) .dd-inner,
.nav:not(.on-dark) .langsel .langdd::before{
  background:rgba(247,244,236,.88)!important;
  color:#01122F!important;
  border-color:rgba(1,18,47,.12)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.25)!important;
  backdrop-filter:blur(22px) saturate(1.25)!important;
}
.nav.on-dark .dd-inner,
.nav.on-dark .langsel .langdd::before{
  background:rgba(1,18,47,.62)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.15)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.18)!important;
  backdrop-filter:blur(24px) saturate(1.18)!important;
}
.nav.on-dark .dd a,.nav.on-dark .langdd a{color:#fff!important}
.nav:not(.on-dark) .dd a,.nav:not(.on-dark) .langdd a{color:#01122F!important}
/* Mobile menu remains navy; force the same single logo white while open. */
body.menu-open .nav .logo .brand-header{filter:brightness(0) invert(1)!important;opacity:1!important}
body.menu-open .nav .navtoggle,body.menu-open .nav .lang,body.menu-open .nav .nav-right{color:#fff!important}
/* Keep the proven V17 logo dimensions unchanged. */
