/* site/site.css — identité commune (accueil, guides, pages légales), calquée sur le thème de l'app
   (yesno-app/src/theme/glass.ts) : fond bleu → marine, bleu de marque #0162A6, accent magenta #E5007E,
   signature bleu → magenta sur les boutons, cartes « verre », police Poppins. */
/* Polices hébergées ici (sous-ensemble latin, licence OFL) : plus de feuille Google Fonts bloquante ni
   de connexion à deux serveurs tiers avant le premier affichage (mesuré : ~0,8 s en 4G lente). */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500.woff2) format('woff2')}
/* Police de repli aux proportions de Poppins : le texte ne saute pas quand la vraie police arrive. */
@font-face{font-family:'Poppins repli';src:local('Arial');size-adjust:112.16%;ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%}
:root{
  --navy:#000035;--bgTop:#07447A;--bgMid:#0D1E52;--bleu:#0162A6;--bleuM:#00427B;--bleuL:#2D69A0;
  --magenta:#E5007E;--magentaD:#9B208C;--magentaL:#FF4FA8;
  --nuit:#000035;--nuit2:#0D1E52;
  --perle:#F4F7FC;--papier:#F4F7FC;--papier2:#E8EEF8;
  --encre:#000035;--encre2:#4A5878;
  --txt:rgba(255,255,255,.78);--mute:rgba(255,255,255,.6);--line:rgba(255,255,255,.14);--line-p:rgba(0,0,53,.12);
  --vin:#E5007E;--vin2:#FF4FA8;--or:#E5007E;--or2:#FF8CC6;--vert:#34C759;--rose:#E5007E;--violet:#9B208C;
  --verre:rgba(255,255,255,.07);--verre-b:rgba(255,255,255,.14);
  --grad:linear-gradient(120deg,#0162A6 0%,#E5007E 100%);
  --fond:linear-gradient(160deg,#07447A 0%,#0D1E52 42%,#000035 78%);
  --halo:radial-gradient(ellipse 70% 55% at 50% -8%,rgba(229,0,126,.22),transparent 70%);
  --serif:'Poppins','Poppins repli',system-ui,sans-serif;--disp:'Poppins','Poppins repli',system-ui,sans-serif;--sans:'Poppins','Poppins repli',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--navy);color:#fff;-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--magenta);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--magentaL);outline-offset:3px;border-radius:6px}
[id]{scroll-margin-top:90px}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.025em;line-height:1.05}
/* contraste gras / léger, comme les titres de l'app (h1 / h1light) */
.it{font-family:var(--sans);font-style:normal;font-weight:300}
.g{color:var(--magentaL)}
.clair .g{color:var(--magenta)}
.ey{display:inline-block;font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--mute)}
.ey::before{content:none}
.clair .ey{color:var(--encre2)}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;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%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* halo magenta du haut d'écran, comme dans l'app */
.aurora{position:absolute;inset:0;pointer-events:none;background:var(--halo)}
.aurora i{display:none}

/* Boutons : la signature bleu → magenta de l'app */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:17px 30px;border-radius:18px;font-family:var(--sans);font-weight:600;font-size:16px;color:#fff;background:var(--grad);box-shadow:0 14px 34px -12px rgba(229,0,126,.6);transition:box-shadow .4s,filter .4s}
.btn::before{content:none}
.btn:hover{filter:saturate(1.15) brightness(1.06);box-shadow:0 20px 44px -12px rgba(229,0,126,.75)}
.clair .btn{color:#fff}
.gp{display:inline-flex;align-items:center;gap:11px;padding:12px 20px 12px 16px;border-radius:18px;background:var(--verre);border:1px solid var(--verre-b);transition:background .3s,border-color .3s}
.gp small{display:block;font-size:10.5px;color:var(--mute)}.gp b{display:block;font-size:15px;font-weight:600;line-height:1.15}
.gp:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}

/* Menu */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:32px;padding:14px 40px;color:#fff;background:rgba(0,0,53,.9);border-bottom:1px solid var(--line);transition:background .4s,padding .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.accueil .nav{background:transparent;border-bottom-color:transparent;padding-top:18px;padding-bottom:18px}
.accueil .nav.plein{background:rgba(0,0,53,.9);border-bottom-color:var(--line);padding-top:12px;padding-bottom:12px}
.nav.cache{transform:translateY(-100%)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:19px;letter-spacing:-.02em}.logo img{width:32px;height:32px;border-radius:9px}.logo i{font-style:normal;font-weight:400;color:var(--magentaL)}
.nav nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:14.5px;font-weight:500;color:var(--txt)}
.nav nav a{position:relative}.nav nav a:not(.cta)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.7,0,.2,1)}
.nav nav a:hover{color:#fff}.nav nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav .cta{padding:10px 18px;border-radius:14px;background:var(--grad);color:#fff!important;font-weight:600}

/* Aide & écoute */
.aide{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:12px}
.aide>div{padding:22px;border-radius:22px;background:var(--verre);border:1px solid var(--verre-b)}
.aide .tt{font-family:var(--sans);font-weight:700;font-size:24px;line-height:1.15;letter-spacing:-.02em}.aide .tt+p{font-size:14px;color:var(--txt);margin-top:10px;line-height:1.5}
.aide>div:first-child{background:none;border:0;padding-left:0}
.aide small{font-size:12.5px;color:var(--mute);font-weight:500}
.aide b{display:block;font-family:var(--sans);font-weight:700;font-size:22px;margin-top:8px;letter-spacing:-.01em;white-space:nowrap}
.aide span{display:block;font-size:13px;color:var(--txt);margin-top:6px;line-height:1.45}
.aide a{text-decoration:none}.aide a:hover{color:var(--magentaL)}
.aide .urg{background:rgba(229,0,126,.12);border-color:rgba(229,0,126,.45)}.aide .urg b{color:var(--magentaL)}

/* Pied de page */
.pied{position:relative;overflow:hidden;padding:100px 0 30px;background:var(--navy);color:#fff;border-top:1px solid var(--line)}
.pied::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 45% at 50% 100%,rgba(229,0,126,.18),transparent 70%),radial-gradient(ellipse 40% 40% at 0% 0%,rgba(1,98,166,.2),transparent 70%)}
.pied>*{position:relative}
.pied-haut{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:60px}
.pied-marque p{font-size:15px;line-height:1.6;color:var(--txt);margin-top:18px;max-width:320px}
.pied-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.pied .btn{padding:13px 20px;font-size:14.5px;border-radius:14px}
.pied .gp{padding:8px 16px 8px 12px;border-radius:14px}
.pied-liens{display:grid;grid-template-columns:repeat(4,auto);justify-content:end;gap:30px 56px}
.pied-liens a{white-space:nowrap}
.pied .tt{font-family:var(--mono);font-size:12.5px;color:var(--mute)}
.pied .cl{display:flex;flex-direction:column;gap:11px;margin-top:18px;font-size:14.5px;color:var(--txt)}
.pied .cl a{transition:color .25s}.pied .cl a:hover{color:#fff}
.geant{font-family:var(--sans);font-weight:700;font-size:clamp(80px,16.5vw,270px);letter-spacing:-.055em;line-height:1;text-align:center;margin-top:70px;padding-bottom:.14em;overflow:hidden;user-select:none}
.geant span{display:inline-block;padding:0 .08em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cr{max-width:1280px;margin:0 auto;padding:22px 40px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--mute);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px}
.cr a{text-decoration:underline;text-underline-offset:3px;transition:color .25s}.cr a:hover{color:#fff}

/* Curseur personnalisé (curseur.js) — souris uniquement */
.curseur-on,.curseur-on *{cursor:none!important}
.curseur{position:fixed;left:0;top:0;width:0;height:0;z-index:2147483646;pointer-events:none;opacity:0;transition:opacity .3s}
.curseur.vu{opacity:1}
.c-point{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#FF4FA8;will-change:transform}
.c-anneau{position:absolute;left:-19px;top:-19px;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,79,168,.7);display:grid;place-items:center;will-change:transform;transition:width .35s cubic-bezier(.2,.7,.2,1),height .35s cubic-bezier(.2,.7,.2,1),left .35s cubic-bezier(.2,.7,.2,1),top .35s cubic-bezier(.2,.7,.2,1),background-color .3s,border-color .3s}
.c-anneau em{font-style:normal;font-family:var(--sans);font-size:12px;font-weight:600;color:#fff;opacity:0;transition:opacity .2s}
.curseur.lien .c-anneau{width:64px;height:64px;left:-32px;top:-32px;background:rgba(229,0,126,.14);border-color:#E5007E}
.curseur.libelle .c-anneau{width:78px;height:78px;left:-39px;top:-39px;background:#E5007E}
.curseur.libelle .c-anneau em{opacity:1}
.curseur.libelle .c-point,.curseur.lien .c-point{opacity:0}
.curseur.clic .c-anneau{width:30px;height:30px;left:-15px;top:-15px}

@media (max-width:1100px){
  .aide{grid-template-columns:1fr 1fr}.aide>div:first-child{grid-column:span 2}
  .pied-haut{grid-template-columns:1fr;gap:50px}.pied-liens{justify-content:start}
}
@media (max-width:720px){
  .wrap{padding:0 20px}.nav{padding:12px 20px!important}.nav nav a:not(.cta){display:none}
  .aide{grid-template-columns:1fr}.aide>div:first-child{grid-column:auto}
  .pied{padding-top:70px}.pied-liens{grid-template-columns:1fr 1fr;gap:34px 20px}.pied-liens a{white-space:normal}.btn{width:100%;justify-content:center}.pied-ctas .btn{width:auto}
  .cr{padding:22px 20px 0;flex-direction:column;align-items:flex-start;gap:8px}.geant{margin-top:50px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
