/* Privacy policy pages (/privacy/ and /fr/confidentialite/). Chrome matches contact/index.html. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

:root{
  --bg:     #1e2530;
  --surface:#252b34;
  --fg:     #f0f2f4;
  --mid:    #969ba6;
  --dim:    #636872;
  --accent: #f2c94c;
  --rule:   rgba(240,242,244,.09);
  --accent-wash: rgba(242,201,76,.08);
  --display:'Lora', Georgia, serif;
  --body:   'Figtree', system-ui, sans-serif;
  --gutter: clamp(1.5rem, 5vw, 4rem);
  --container: 1280px;
  --section-gap: 96px;
  --ease-out: cubic-bezier(.22,1,.36,1);
}

html{overflow-x:hidden;}
@supports (overflow:clip){html,body{overflow-x:clip;}}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.7;}
::selection{background:var(--accent);color:var(--bg);}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}}

.skip-link{
  position:absolute;left:var(--gutter);top:.75rem;z-index:60;
  font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--bg);
  background:var(--accent);padding:.6rem 1rem;border-radius:999px;
  transform:translateY(-200%);transition:transform .3s var(--ease-out);
}
.skip-link:focus{transform:none;}
main:focus{outline:none;}

body::after{
  content:'';position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.divider-inner{max-width:var(--container);margin:var(--section-gap) auto;border-top:1px solid var(--rule);}

/* ── HEADER ── */
header{display:flex;align-items:center;justify-content:space-between;padding:2rem var(--gutter);max-width:var(--container);margin:0 auto 96px;}
.h-logo img,.footer-logo img{display:block;height:20px;width:auto;}
nav ul{display:flex;align-items:center;list-style:none;gap:2rem;}
nav ul li a{
  font-family:var(--body);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;
  color:var(--fg);border-bottom:2px solid var(--accent);padding-bottom:2px;transition:opacity .2s var(--ease-out);
}
nav ul li a:hover{opacity:.75;}
nav ul li a.nav-portal,nav ul li a.nav-lang{border-bottom-color:transparent;opacity:.6;}
nav ul li a.nav-portal:hover,nav ul li a.nav-lang:hover{opacity:1;border-bottom-color:var(--accent);}
.nav-lang-item{border-left:1px solid var(--rule);padding-left:1.1rem;margin-left:-.9rem;}

/* ── POLICY ── */
.kicker{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:1.5rem;}
.legal-h1{font:500 clamp(36px,5vw,58px)/1.1 var(--display);color:var(--fg);margin-bottom:.75rem;}
.legal-updated{font-size:.9rem;color:var(--mid);margin-bottom:3.5rem;}
.legal{max-width:68ch;}
.legal .legal-lede{font:500 clamp(1.15rem,2vw,1.35rem)/1.55 var(--display);color:var(--fg);margin-bottom:1rem;}
.legal h2{font:500 1.5rem/1.25 var(--display);color:var(--fg);margin:3.5rem 0 1rem;padding-top:2rem;border-top:1px solid var(--rule);}
.legal p,.legal li,.legal dd{color:var(--mid);}
.legal p+p{margin-top:1rem;}
.legal strong,.legal em{color:var(--fg);font-weight:500;font-style:normal;}
.legal ul{list-style:none;margin:1rem 0;}
.legal li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;}
.legal li::before{content:'';position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.legal-list dt{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:1.75rem;}
.legal-list dt:first-child{margin-top:0;}
.legal-list dd{margin-top:.35rem;}
.legal p a{color:var(--fg);border-bottom:1px solid var(--accent);transition:color .2s var(--ease-out);}
.legal p a:hover{color:var(--accent);}
.legal-btn{
  margin-top:1.5rem;min-height:44px;padding:.9rem 1.75rem;cursor:pointer;
  font:600 .85rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);background:none;border:1px solid var(--accent);border-radius:999px;
  transition:background-color .25s var(--ease-out);
}
.legal-btn:hover{background:var(--accent-wash);}

.rise{animation:rise .6s var(--ease-out) both;}
.rise-2{animation-delay:.08s;}
.rise-3{animation-delay:.16s;}
.rise-4{animation-delay:.26s;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ── FOOTER ── */
footer .divider-inner{margin-bottom:3rem;}
footer{max-width:var(--container);margin:0 auto;padding:0 var(--gutter) 3rem;}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;margin-bottom:3rem;}
.footer-nav{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.footer-nav a{
  font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;
  color:var(--fg);border-bottom:2px solid var(--accent);padding-bottom:1px;transition:opacity .2s var(--ease-out);
}
.footer-nav a:hover{opacity:.7;}
.footer-nav a.footer-portal{border-bottom-color:transparent;opacity:.5;}
.footer-nav a.footer-portal:hover{opacity:1;border-bottom-color:var(--accent);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid var(--rule);}
.footer-copy{font-size:.9rem;color:var(--mid);}

@media(pointer:coarse){
  nav ul li a,.footer-nav a,.h-logo,.footer-logo{position:relative;}
  nav ul li a::before,.footer-nav a::before{content:'';position:absolute;inset:-14px -8px;}
  .h-logo::before,.footer-logo::before{content:'';position:absolute;inset:-12px -6px;}
}
@media(max-width:900px){
  :root{--gutter:1.5rem;--section-gap:64px;}
  header{margin-bottom:64px;}
  nav ul{gap:1.2rem;}
  nav ul li a{font-size:.7rem;}
  .footer-inner{flex-direction:column;align-items:flex-start;}
  .footer-nav{gap:1.5rem;}
}
@media(max-width:600px){
  header{flex-direction:column;align-items:flex-start;gap:1.25rem;margin-bottom:48px;}
  nav{width:100%;}
  nav ul{gap:.6rem 1.1rem;flex-wrap:wrap;justify-content:flex-start;}
  .nav-hide-mobile{display:none;}
  .nav-lang-item{border-left:none;padding-left:0;margin-left:0;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
