/* ============================================================================
   shell.css — couche partagée labo-rnp.com (maquette top 1%)
   Header épuré + overlay menu plein écran + footer riche + commons + View Transitions.
   Header & overlay & footer STRICTEMENT identiques sur toutes les pages.
   Le corps de chaque page apporte son <style> inline propre (compo inventive).
   ============================================================================ */
:root{
  --navy:#1A214C;--navy-2:#222B5E;--navy-4:#0F1430;--navy-deep:#131A40;--navy-node:#1D254F;
  --blue:#3B6DF7;--blue-ink:#2C57CC;--blue-2:#264BB8;--blue-lite:#8FA9FF;
  --orange:#BC5408;--orange-deep:#9A4406;--orange-energy:#E2592A;
  --accent:#FF6F00;--accent-deep:#E56400;--on-accent:#FFFFFF;
  --paper:#FFFFFF;--paper-2:#FAFAFA;--blue-tint:#EEF2FE;--white:#FFFFFF;
  --ink:#15192C;--ink-body:#2E3450;--ink-2:#4A5172;--ink-3:#5C638A;
  --rule:rgba(21,25,44,.12);--rule-2:rgba(21,25,44,.07);
  --on-navy:#EEF1FB;--on-navy-2:rgba(238,241,251,.70);--on-navy-3:rgba(238,241,251,.56);--rule-navy:rgba(238,241,251,.16);
  --on-blue:#FFFFFF;--on-orange:#FFFFFF;
  --duo-a:#1c2657;--duo-b:#27336f;--duo-c:#3a4aa0;
  --s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;
  --maxw:1340px;--radius:14px;--section:clamp(96px,13vw,200px);--measure:58ch;--hdr-h:66px;
  --fs-eyebrow:11px;--fs-small:13.5px;
  --fs-body:clamp(16px,.34vw + .92rem,18px);--fs-lead:clamp(18px,.55vw + .9rem,21px);
  --fs-h3:clamp(21px,1.3vw + .9rem,28px);--fs-h2:clamp(28px,3.4vw + .6rem,44px);
  --fs-h1:clamp(36px,5vw + .5rem,72px);--fs-display:clamp(46px,8.2vw,96px);--fs-stat:clamp(44px,5.6vw,72px);
  --lh-display:0.94;--lh-h:1.0;--lh-h2:1.04;--lh-body:1.6;--lh-lead:1.55;
  --tr-display:-0.014em;--tr-h:-0.01em;--tr-label:0.2em;
  --shadow-img:0 1px 2px -1px rgba(21,25,44,.28),0 30px 80px -50px rgba(21,25,44,.55);
  --focus:0 0 0 2px var(--paper),0 0 0 4px var(--blue);
  --ease:cubic-bezier(.22,.61,.27,1);--ease-soft:cubic-bezier(.4,0,.2,1);
  /* motion canonique (UBM smooth · matcher _shared/motion.js) */
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);--ease-spring:cubic-bezier(.34,1.4,.5,1);
  --d-fast:220ms;--d-base:420ms;--d-slow:640ms;--stagger:45ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scrollbar-gutter:stable}
body{background:var(--paper);color:var(--ink-body);font-family:'Inter',system-ui,sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);overflow-x:hidden;-webkit-tap-highlight-color:transparent}
body.locked{overflow:hidden}
::selection{background:var(--navy);color:var(--on-navy)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(24px,6vw,64px)}
.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}
.skip-link{position:fixed;top:8px;left:8px;z-index:300;transform:translateY(-150%);background:var(--navy);color:var(--white);padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;transition:transform .25s var(--ease)}
.skip-link:focus{transform:translateY(0)}

/* ============ TYPO / DUO / CTA ============ */
.display{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;color:var(--ink);line-height:.92;letter-spacing:-.012em}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:var(--tr-label);font-size:var(--fs-eyebrow);font-weight:600;color:var(--ink-3);margin-bottom:var(--s5)}
.eyebrow .tk{width:22px;height:1px;background:var(--blue)}
.eyebrow.warm .tk{background:var(--orange-energy)}
.eyebrow.light{color:var(--on-navy-2)}.eyebrow.light .tk{background:var(--blue-lite)}
.duo{position:relative;overflow:hidden;background:var(--navy-4);isolation:isolate}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12) brightness(1.06);mix-blend-mode:luminosity;opacity:1}
.duo::after{content:"";position:absolute;inset:0;mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(150deg,var(--duo-a) 0%,var(--duo-b) 55%,var(--duo-c) 100%)}
.duo::before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(150deg,rgba(59,109,247,.20) 0%,rgba(26,33,76,0) 60%)}
.cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding-inline:var(--s6);border-radius:999px;font-family:'Inter',sans-serif;font-weight:600;font-size:15.5px;transition:background .25s var(--ease-soft),box-shadow .25s var(--ease-soft),transform .25s var(--ease-soft)}
.cta-primary{background:var(--blue-ink);color:var(--white)}.cta-primary:hover{background:var(--blue-2)}
.cta-primary.on-dark{background:var(--blue);color:var(--white)}.cta-primary.on-dark:hover{background:#5a86ff} /* sur fond navy : bleu vif pour se détacher */
.cta-accent{background:var(--accent);color:var(--on-accent)}.cta-accent:hover{background:var(--accent-deep)}
.cta-orange{background:var(--blue-ink);color:var(--white)}.cta-orange:hover{background:var(--blue-2)} /* legacy alias -> primaire bleu */
.cta-navy{background:var(--navy);color:var(--on-navy)}.cta-navy:hover{background:var(--navy-2)}
.cta-white{background:var(--white);color:var(--navy)}.cta-white:hover{background:var(--blue-tint);transform:translateY(-1px)}
.cta-ghost{background:none;border:1px solid var(--rule);color:var(--navy)}.cta-ghost:hover{border-color:var(--navy);background:var(--paper-2)}
.cta-ghost-light{background:transparent;border:1px solid rgba(238,241,251,.34);color:var(--white)}.cta-ghost-light:hover{background:rgba(255,255,255,.10);border-color:rgba(238,241,251,.55)}

/* ============ FLÈCHE SIGNATURE (simple, glisse au survol) ============ */
.ar{display:inline-flex;align-items:center;flex:none;color:inherit}
.ar svg{overflow:visible}
.ar [stroke]{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.arX svg{width:18px;height:11px;overflow:visible}
.arX .pth,.arX .hd{stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--ease);transform-origin:left center}
.host:hover .arX .pth{transform:scaleX(1.16)}
.host:hover .arX .hd{transform:translateX(3px)}

/* ============ HEADER GLOBAL (épuré, identique partout) ============ */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s var(--ease-soft)}
header.on-dark{color:var(--white);background-image:linear-gradient(180deg,rgba(15,20,48,.80) 0%,rgba(15,20,48,.34) 64%,rgba(15,20,48,0) 100%)}
header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);opacity:0;transition:opacity .3s var(--ease-soft);border-bottom:1px solid var(--rule-2)}
header.solid::before{opacity:1}header.solid{color:var(--ink)}
.nav{position:relative;display:flex;align-items:center;gap:var(--s4);min-height:var(--hdr-h);max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(24px,6vw,64px)}
.brand{display:inline-flex;align-items:center;margin-right:auto}
.brand img{height:25px;width:auto;display:block}
.brand img.logo-light{display:none}
header.solid .brand img.logo-dark{display:none}
header.solid .brand img.logo-light{display:block}
.nav-links{display:flex;gap:clamp(4px,1.2vw,14px);align-items:center;list-style:none}
.nav-links a{position:relative;font-size:14.5px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;min-height:44px;padding-inline:9px;white-space:nowrap;transition:color .2s ease}
.nav-links a::after{content:"";position:absolute;left:9px;right:9px;bottom:11px;height:1.5px;background:currentColor;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-links a:hover::after,.nav-links a.current::after{transform:scaleX(1)}
.nav-links a:hover,.nav-links a.current{color:var(--navy)}
header.on-dark:not(.solid) .nav-links a{color:var(--on-navy-2)}
header.on-dark:not(.solid) .nav-links a:hover,header.on-dark:not(.solid) .nav-links a.current{color:var(--white)}
.menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding-inline:14px;border-radius:999px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--navy);border:1px solid var(--rule);transition:border-color .25s ease,background .25s ease,color .3s var(--ease-soft)}
.menu-btn:hover{border-color:var(--navy);background:var(--paper-2)}
header.on-dark:not(.solid) .menu-btn{color:var(--white);border-color:rgba(238,241,251,.34)}
header.on-dark:not(.solid) .menu-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(238,241,251,.6)}
.menu-btn .mb-ic{display:inline-flex;flex-direction:column;gap:4px;width:16px}
.menu-btn .mb-ic i{display:block;height:1.7px;background:currentColor;border-radius:2px;transition:width .3s var(--ease)}
.menu-btn .mb-ic i:nth-child(1){width:16px}.menu-btn .mb-ic i:nth-child(2){width:11px;margin-left:auto}
.menu-btn:hover .mb-ic i:nth-child(2){width:16px}
.nav-member{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--navy);border:1px solid var(--rule);background:none;transition:border-color .25s ease,background .25s ease,color .3s var(--ease-soft)}
.nav-member .nm-ic{width:20px;height:20px;flex:none}
.nav-member .nm-tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.nav-member:hover{border-color:var(--navy);background:var(--paper-2)}
header.on-dark:not(.solid) .nav-member{color:var(--white);border-color:rgba(238,241,251,.34)}
header.on-dark:not(.solid) .nav-member:hover{background:rgba(255,255,255,.10);border-color:rgba(238,241,251,.6)}
@media(max-width:860px){ .nav-hide-m{display:none} .nav{gap:12px} .brand img{height:23px} }

/* ============ OVERLAY MENU (plein écran, la carte du site) ============ */
.ov{position:fixed;inset:0;z-index:200;visibility:hidden;transition:visibility 0s linear .55s}
.ov.open{visibility:visible;transition:visibility 0s}
.ov-scrim{position:absolute;inset:0;background:rgba(8,11,28,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .4s var(--ease-soft)}
.ov.open .ov-scrim{opacity:1}
.ov-panel{position:absolute;inset:0;background:radial-gradient(110% 75% at 75% -12%,rgba(38,75,184,.24),transparent 55%),linear-gradient(180deg,var(--navy-4),var(--navy-deep));color:var(--on-navy);overflow-y:auto;clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease)}
.ov.open .ov-panel{clip-path:inset(0 0 0 0)}
.ov-brain{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(640px,52%);opacity:.26;mix-blend-mode:screen;pointer-events:none;z-index:0;filter:saturate(1) blur(.4px);-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 90%);mask-image:radial-gradient(closest-side,#000 52%,transparent 90%)}
.ov-in{position:relative;z-index:1;max-width:var(--maxw);margin-inline:auto;padding:0 clamp(24px,6vw,64px) clamp(34px,5vh,56px);min-height:100%;display:flex;flex-direction:column}
.ov-top{display:flex;align-items:center;gap:var(--s4);min-height:var(--hdr-h)}
.ov-top .brand{margin-right:auto}.ov-top .brand img{height:25px}
.ov-lang{display:flex;gap:4px;margin-right:var(--s3)}
.ov-lang a{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--on-navy-3);padding:8px 10px;border-radius:8px;transition:color .2s,background .2s}
.ov-lang a:hover{color:var(--on-navy)}.ov-lang a.on{color:var(--white);background:rgba(255,255,255,.10)}
.ov-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--rule-navy);color:var(--white);transition:background .2s,border-color .2s,transform .35s var(--ease)}
.ov-close:hover{background:rgba(255,255,255,.08);border-color:var(--blue-lite);transform:rotate(90deg)}
.ov-close svg{width:18px;height:18px}
.ov-stagger{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ov.open .ov-stagger{opacity:1;transform:none}
.ov.open .ov-nav{transition-delay:.10s}.ov.open .ov-promo{transition-delay:.20s}.ov.open .ov-bottom{transition-delay:.30s}
.ov-main{display:grid;grid-template-columns:1.3fr .92fr;gap:clamp(40px,6vw,96px);margin-top:clamp(20px,3vh,40px);margin-bottom:auto;align-items:start}
.ov-nav{display:flex;flex-direction:column}
.ov-item{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:5px;padding:clamp(12px,1.7vh,18px) 0;border-bottom:1px solid var(--rule-navy);transition:padding-left .3s var(--ease)}
.ov-item:first-child{border-top:1px solid var(--rule-navy)}
.ov-item:hover{padding-left:10px}
.ov-item b{order:1;font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.006em;font-size:clamp(23px,2.6vw,32px);line-height:1;color:var(--on-navy);transition:color .2s;white-space:nowrap}
.ov-item:hover b,.ov-item.here b{color:var(--white)}
.ov-item.here{padding-left:14px;border-left:2px solid var(--blue-lite)}
.ov-item .ar{order:2;margin-left:auto;color:var(--blue-lite);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .25s var(--ease)}
.ov-item:hover .ar{opacity:1;transform:none}
.ov-item .desc{order:3;flex-basis:100%;font-size:13px;color:var(--on-navy-3);line-height:1.35}
.ov-promo{display:flex;flex-direction:column;gap:var(--s3)}
.promo-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(143,169,255,.28);background:radial-gradient(120% 90% at 90% -10%,rgba(59,109,247,.34),transparent 60%),linear-gradient(165deg,rgba(34,43,94,.6),rgba(15,20,48,.4));padding:clamp(22px,3vw,30px)}
.promo-eye{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;font-weight:700;color:var(--blue-lite);margin-bottom:var(--s3)}
.promo-eye::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue-lite)}
.promo-card h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-weight:400;font-size:clamp(26px,3vw,34px);color:var(--white);letter-spacing:.005em;line-height:1;margin-bottom:var(--s3)}
.promo-card p{font-size:14px;line-height:1.55;color:var(--on-navy-2);max-width:32ch;margin-bottom:var(--s4)}
.promo-cta{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:var(--navy);font-weight:600;font-size:14.5px;border-radius:999px;padding:0 22px;min-height:48px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.promo-cta:hover{transform:translateY(-1px);box-shadow:0 18px 38px -18px rgba(0,0,0,.6)}
.promo-exp{border:1px solid var(--rule-navy);border-radius:18px;padding:clamp(18px,2.4vw,24px)}
.promo-exp .ov-eye{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;font-weight:700;color:var(--on-navy-3);margin-bottom:var(--s3)}
.exp{display:flex;align-items:center;gap:13px;padding:11px 0;border-top:1px solid var(--rule-navy);transition:padding-left .25s var(--ease)}
.exp:first-of-type{border-top:0}.exp:hover{padding-left:6px}
.exp .ex-ic{width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule-navy);border-radius:9px;color:var(--blue-lite)}
.exp .ex-ic svg{width:17px;height:17px}
.exp b{display:block;font-size:14px;font-weight:600;color:var(--white);line-height:1.2}
.exp span{font-size:11.5px;color:var(--on-navy-3)}
.exp .ar{margin-left:auto;color:var(--blue-lite);opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .25s var(--ease)}
.exp:hover .ar{opacity:1;transform:none}
.ov-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4) var(--s5);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--rule-navy)}
.ov-bottom a{font-size:12.5px;color:var(--on-navy-3);min-height:38px;display:inline-flex;align-items:center;transition:color .2s}
.ov-bottom a:hover{color:var(--on-navy)}
.ov-bottom .ob-legal{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.ov-bottom .ob-soc{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
@media(max-width:900px){ .ov-main{grid-template-columns:1fr;gap:var(--s5)} .ov-item b{font-size:24px} .ov-item{padding-block:13px} }
@media(max-width:600px){
  .ov-in{padding:0 clamp(20px,5vw,28px) var(--s7)}
  .ov-top{min-height:var(--hdr-h)}.ov-main{margin-top:var(--s3)}
  .ov-item{flex-wrap:wrap;gap:1px 12px;padding-block:11px}
  .ov-item b{font-size:21px}.ov-item .desc{flex-basis:100%;font-size:12px}.ov-item .ar{display:none}
  .promo-card{padding:18px}.promo-card h3{font-size:23px}.promo-card p{font-size:13px;margin-bottom:18px}
  .promo-cta{min-height:46px}.promo-exp{padding:16px}.exp{padding:9px 0}
  .ov-bottom{margin-top:var(--s5);flex-direction:column;align-items:flex-start;gap:var(--s3)}.ov-bottom .ob-soc{margin-left:0}
}

/* ============ PAGE HEADER SOBRE (légal, contact, etc.) ============ */
.pagehead{position:relative;background:var(--paper);padding-block:calc(var(--hdr-h) + var(--s8)) var(--s7);border-bottom:1px solid var(--rule-2)}
.pagehead .eyebrow{margin-bottom:var(--s4)}
.pagehead h1{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:var(--tr-h);line-height:var(--lh-h2);font-size:var(--fs-h1);color:var(--ink);max-width:18ch;text-wrap:balance}
.pagehead .ph-lead{margin-top:var(--s4);font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink-body);max-width:var(--measure)}

/* ============ STICKY CTA MOBILE (optionnel par page) ============ */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:95;transform:translateY(110%);transition:transform .35s var(--ease);display:none}
.mcta.show{transform:translateY(0)}
.mcta-in{display:flex;align-items:center;gap:var(--s3);background:var(--paper);border-top:1px solid var(--rule);box-shadow:0 -8px 24px -16px rgba(21,25,44,.4);padding:10px clamp(16px,5vw,24px) calc(10px + env(safe-area-inset-bottom))}
.mcta-txt{display:flex;flex-direction:column;line-height:1.25;margin-right:auto}
.mcta-txt b{font-size:14px;font-weight:700;color:var(--ink)}.mcta-txt span{font-size:11.5px;color:var(--ink-3)}
.mcta .cta{min-height:46px;padding-inline:var(--s5);font-size:14.5px;flex:none}
@media(max-width:720px){ .mcta{display:block} }

/* ============ FOOTER RICHE (identique partout) ============ */
footer{background:var(--navy-4);color:var(--on-navy-2);padding-block:var(--s8) var(--s5)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s6);padding-bottom:var(--s7);border-bottom:1px solid var(--rule-navy)}
.foot-brandcol{max-width:34ch}
.foot-brand{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:26px;color:var(--white);letter-spacing:.01em;line-height:1;margin-bottom:var(--s4);display:inline-flex;align-items:center}
.foot-brand img{height:24px;width:auto}
.foot-tag{font-size:14px;line-height:1.6;color:var(--on-navy-2);margin-bottom:var(--s5);max-width:34ch}
.foot-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:var(--blue-lite);transition:gap .2s var(--ease),color .2s ease}
.foot-cta .arrow{transition:transform .2s var(--ease)}.foot-cta:hover{color:var(--white)}.foot-cta:hover .arrow{transform:translateX(3px)}
.foot-social{display:flex;gap:var(--s2);margin-top:var(--s5)}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--rule-navy);border-radius:50%;color:var(--on-navy-2);transition:color .2s ease,border-color .2s ease,background .2s ease}
.foot-social a:hover{color:var(--white);border-color:var(--blue-lite);background:rgba(143,169,255,.08)}
.foot-social svg{width:17px;height:17px}
.foot-col h4{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:700;color:var(--on-navy-3);margin-bottom:var(--s3)}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:1px}
.foot-col a{font-size:14px;color:var(--on-navy-2);min-height:44px;display:inline-flex;align-items:center;transition:color .2s ease}
.foot-col a:hover{color:var(--white)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);align-items:center;padding-top:var(--s5)}
.foot-copy{font-size:12.5px;color:var(--on-navy-3)}
.foot-legal{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-inline:-10px}
.foot-legal a{font-size:12.5px;color:var(--on-navy-3);min-height:44px;padding-inline:10px;display:inline-flex;align-items:center;transition:color .2s ease}
.foot-legal a:hover{color:var(--on-navy-2)}
.foot-fine{margin-top:var(--s4);font-size:12px;color:var(--on-navy-3);max-width:88ch;line-height:1.6}
@media(max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr 1fr;gap:var(--s6) var(--s5)} .foot-brandcol{grid-column:1 / -1;max-width:46ch} }
@media(max-width:560px){ .foot-grid{grid-template-columns:1fr 1fr;gap:var(--s6) var(--s5)} .foot-bottom{flex-direction:column;align-items:flex-start;gap:var(--s3)} }

/* ============ REVEALS ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .45s var(--ease-soft),transform .5s var(--ease-soft)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.40s}

/* ============ TRANSITIONS INTER-PAGES (View Transitions) ============ */
@view-transition{ navigation:auto }
::view-transition-old(root){animation:vtOut .22s var(--ease-soft) both}
::view-transition-new(root){animation:vtIn .34s var(--ease) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
  .ov{transition:none}
  @view-transition{ navigation:none }
}
