/* ============================================================
   Aure-lab — système de design « cabinet éditorial »
   v2 — non publié
   ============================================================ */

/* ---------- Polices auto-hébergées (aucun appel à Google) ---------- */
@font-face{
  font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/serif.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url(fonts/serif-italic.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(fonts/sans.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(fonts/sans-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- Jetons ---------- */
:root{
  /* surfaces */
  --paper:#F7F3EC;        /* fond principal, papier chaud */
  --paper-r:#FDFBF7;      /* surface relevée (blocs, encadrés) */
  --ink:#1A1814;          /* encre, et fond des sections inversées */

  /* texte sur papier */
  --t1:#1A1814;           /* titres, texte fort */
  --t2:#4A443C;           /* courant                    8.7:1 */
  --t3:#6E675C;           /* secondaire, labels mono    5.1:1 */

  /* accents */
  --acc:#B85C3E;          /* terracotta — grands corps et filets uniquement */
  --acc-d:#98462C;        /* terracotta foncé — petits textes   5.9:1 */
  --acc-l:#D98E6E;        /* terracotta clair — sur encre       6.9:1 */
  --acc-hot:#DC4B18;      /* terracotta vif — aplats graphiques, jamais du texte fin */
  --ok:#3F6B4A;           /* vert sourd — garantie              5.5:1 */

  /* filets */
  --rule:#E2DBCD;
  --rule-2:#CFC5B2;
  --rule-i:rgba(247,243,236,.16);   /* filet sur encre */

  /* typo */
  --fd:'Instrument Serif',ui-serif,Georgia,'Times New Roman',serif;
  --fs:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --fm:ui-monospace,'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;

  /* rythme */
  --gut:44px;
  --max:1420px;
  --edge:44px;            /* marge des blocs pleine largeur */
  --sp:clamp(72px,9vw,132px);      /* respiration entre sections */
  --e:cubic-bezier(.22,.61,.36,1);
  --e2:cubic-bezier(.16,1,.3,1);
}

/* ---------- Réglages de base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);color:var(--t1);
  font-family:var(--fs);font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--acc);color:#fff}
:focus-visible{outline:2px solid var(--acc-d);outline-offset:3px;border-radius:2px}

/* grain de papier — statique, jamais animé */
.grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.32;mix-blend-mode:multiply;
  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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

/* ---------- Grille ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.wrap-n{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
.bleed{width:100%;padding:0 var(--edge)}   /* bord à bord, sans centrage */
.sec{padding:var(--sp) 0}
.sec-t{padding-top:0}

/* ---------- Titrage ---------- */
h1,h2,h3,.d{font-family:var(--fd);font-weight:400;letter-spacing:-.018em;line-height:1.02}
h1{font-size:clamp(44px,7.4vw,106px);line-height:.96;letter-spacing:-.026em;text-wrap:balance}
h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;text-wrap:balance}
h3{font-size:clamp(24px,2.4vw,31px);line-height:1.08}
h4{font-family:var(--fs);font-size:18px;font-weight:600;letter-spacing:-.008em;line-height:1.3}
em{font-style:italic}

.kick{
  display:block;font-family:var(--fm);font-size:11px;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;color:var(--acc-d);
}
.kick-q{color:var(--t3)}
.lead{font-size:clamp(18px,1.6vw,20.5px);line-height:1.62;color:var(--t2);max-width:56ch;text-wrap:pretty}
p{text-wrap:pretty}
.num{font-variant-numeric:tabular-nums lining-nums}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fs);font-size:15.5px;font-weight:600;letter-spacing:-.005em;
  padding:15px 26px;border-radius:3px;border:1px solid transparent;
  transition:background .22s var(--e),color .22s var(--e),border-color .22s var(--e);
}
.btn .arw{transition:transform .28s var(--e)}
.btn:hover .arw{transform:translateX(4px)}
.btn-p{background:var(--ink);color:var(--paper)}
.btn-p:hover{background:var(--acc-d)}
.btn-o{border-color:var(--rule-2);color:var(--t1)}
.btn-o:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
/* variantes sur encre */
.on-ink .btn-p{background:var(--paper);color:var(--ink)}
.on-ink .btn-p:hover{background:var(--acc-l);color:var(--ink)}
.on-ink .btn-o{border-color:var(--rule-i);color:var(--paper)}
.on-ink .btn-o:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* lien fléché */
.lk{
  display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:600;color:var(--acc-d);
  border-bottom:1px solid var(--rule-2);padding-bottom:2px;
  transition:border-color .22s var(--e),gap .28s var(--e),color .22s var(--e);
}
.lk:hover{border-color:var(--acc-d);gap:13px}
.on-ink .lk{color:var(--acc-l);border-color:var(--rule-i)}
.on-ink .lk:hover{border-color:var(--acc-l)}

/* ---------- Sections encrées ---------- */
.ink{background:var(--ink);color:var(--paper)}
.ink h1,.ink h2,.ink h3,.ink h4{color:var(--paper)}
.ink .kick{color:var(--acc-l)}
.ink .lead,.ink p{color:rgba(247,243,236,.78)}

/* ---------- Accessibilité ---------- */
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- Filets ---------- */
.rule{height:1px;background:var(--rule);border:0}
.ink .rule{background:var(--rule-i)}

/* ---------- Révélation au défilement ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--e2),transform .7s var(--e2)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}
