/* Audit technique — feuille de style */

:root{
  /* ground */
  --nuit:        #07062E;
  --nuit-deep:   #04031A;
  --nuit-tint:   #0A0937;
  --nuit-line:   rgba(160,180,255,.15);
  --nuit-line-2: rgba(160,180,255,.07);

  /* ink on nuit */
  --fg:          #EDEFF8;
  --fg-mute:     #A2A9C9;
  --fg-faint:    #6B7295;

  /* paper */
  --paper:       #F2EFE8;
  --paper-2:     #E7E3D9;
  --paper-ink:   #16142F;
  --paper-mute:  #55516B;
  --paper-line:  rgba(22,20,47,.16);
  --paper-accent:#B4531F;

  /* accent */
  --accent:      #378ADD;
  --accent-hi:   #6BB0F0;
  --accent-dim:  rgba(55,138,221,.16);

  /* criticité */
  --p0: #F0554E;
  --p1: #E39038;
  --p2: #3F92D6;
  --p3: #7A83A3;

  /* type */
  --serif: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --sans:  'Archivo', 'Helvetica Neue', Helvetica, sans-serif;
  --mono:  'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* rythme */
  --wrap: 1140px;
  --gut: clamp(1.25rem, 5vw, 3.5rem);
  --band-y: clamp(4.5rem, 11vw, 9.5rem);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ─── reset ─── */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--nuit);
  color:var(--fg);
  font-family:var(--sans);
  font-size:clamp(.975rem,.94rem + .18vw,1.05rem);
  line-height:1.68;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,p,ol,ul,figure,blockquote,figcaption{ margin:0; }
ol,ul{ list-style:none; padding:0; }
img,svg{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.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;
}
.mono{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.mono-inline{ font-family:var(--mono); font-size:.8em; letter-spacing:.04em; color:var(--accent); }

.skip{
  position:absolute; left:.5rem; top:-4rem; z-index:100;
  background:var(--accent); color:#fff; padding:.6rem 1rem; border-radius:2px;
  font-size:.9rem; text-decoration:none; transition:top .18s var(--ease);
}
.skip:focus{ top:.5rem; }

:where(a,button):focus-visible{
  outline:2px solid var(--accent-hi);
  outline-offset:3px;
  border-radius:2px;
}

/* ═══ fond ═══ */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--nuit-line-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--nuit-line-2) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(180deg, #000 0%, rgba(0,0,0,.35) 45%, transparent 85%);
}
body::after{
  content:''; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.24;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
main,.topbar,.cta{ position:relative; z-index:2; }

/* ═══ topbar ═══ */
.topbar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem var(--gut);
  max-width:var(--wrap); margin-inline:auto;
}
.mark{ display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.mark__glyph{
  width:11px; height:11px; flex:none; border-radius:1px;
  background:var(--accent); box-shadow:0 0 0 4px var(--accent-dim);
}
.mark__text{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--fg-mute);
}
.topbar__cta{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em;
  text-transform:uppercase; text-decoration:none; color:var(--fg-mute);
  padding-bottom:2px; border-bottom:1px solid var(--nuit-line);
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.topbar__cta:hover{ color:var(--fg); border-color:var(--accent); }

/* ═══ hero ═══ */
.hero{
  padding-block:clamp(2rem,6vw,4.5rem) clamp(2.8rem,7vw,6rem);
  position:relative; isolation:isolate;
}

.hero::before{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(rgba(160,180,255,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(160,180,255,.13) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(115% 88% at 22% 4%, #000 0%, rgba(0,0,0,.5) 42%, transparent 78%);
}

.hero::after{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(64% 52% at 16% 12%, rgba(55,138,221,.16), transparent 68%);
}
.hero__inner{ max-width:64rem; }

.eyebrow{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent);
  display:flex; align-items:center; gap:.75rem;
}
.eyebrow::after{
  content:''; height:1px; flex:1; max-width:9rem;
  background:linear-gradient(90deg,var(--accent),transparent);
}

.hero__title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2.45rem,1.25rem + 6.6vw,6rem);
  line-height:1.0;
  letter-spacing:-.026em;
  margin-block:clamp(1rem,2.6vw,1.7rem) 0;
  text-wrap:balance;
}
.hero__title em{
  font-style:normal; color:var(--accent-hi);
  position:relative; white-space:nowrap;
}
.hero__title em::after{
  content:''; position:absolute; left:0; right:0; bottom:.1em; height:2px;
  background:var(--accent); transform-origin:left;
  animation:rule 1.1s .8s var(--ease) both;
}
@keyframes rule{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

.hero__baseline{
  margin-top:clamp(1.2rem,3vw,1.9rem);
  max-width:none;
  font-family:var(--sans);
  font-weight:500;
  font-size:clamp(1.1rem,.95rem + .78vw,1.58rem);
  line-height:1.38;
  letter-spacing:-.012em;
  color:var(--fg);
  text-wrap:pretty;
}
.hero__promise{
  color:var(--accent-hi);
  font-weight:600;
}

.hero__lede{
  margin-top:clamp(1.1rem,2.6vw,1.6rem);
  max-width:50ch;
  color:var(--fg-mute);
  font-size:clamp(.95rem,.92rem + .16vw,1.02rem);
  line-height:1.66;
  padding-left:clamp(.85rem,1.8vw,1.15rem);
  border-left:1px solid var(--nuit-line);
}

.hero__actions{
  display:flex; flex-wrap:wrap; gap:.7rem;
  margin-top:clamp(1.6rem,3.4vw,2.3rem);
}

.hero__meter{
  display:flex; gap:3px; margin-top:clamp(2.4rem,6vw,4rem);
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
}
.meter__seg{ height:3px; border-radius:2px; flex:1; }
.meter__seg[data-p="P0"]{ background:var(--p0); flex:.7; }
.meter__seg[data-p="P1"]{ background:var(--p1); flex:1.1; }
.meter__seg[data-p="P2"]{ background:var(--p2); flex:1.8; }
.meter__seg[data-p="P3"]{ background:var(--p3); flex:3.4; opacity:.55; }

/* ═══ boutons ═══ */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.92em 1.5em;
  font-family:var(--sans); font-size:.95rem; font-weight:500;
  text-decoration:none; border-radius:3px; border:1px solid transparent;
  transition:background .2s var(--ease), border-color .2s var(--ease),
             color .2s var(--ease), transform .2s var(--ease);
}
.btn--primary{ background:var(--accent); color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.18) inset; }
.btn--primary:hover{ background:var(--accent-hi); transform:translateY(-1px); }
.btn--ghost{ border-color:var(--nuit-line); color:var(--fg-mute); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--fg); }
.btn--lg{ padding:1.05em 2.1em; font-size:1.02rem; }

/* ═══ bandes ═══ */
.band{ padding-block:var(--band-y); border-top:1px solid var(--nuit-line-2); }
.band--tint{ background:var(--nuit-tint); }

.sec-head{ margin-bottom:clamp(2.4rem,5vw,3.8rem); max-width:52rem; }
.sec-num{
  display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.2em;
  color:var(--accent); margin-bottom:.9rem;
}
.sec-title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.1rem,1.35rem + 3.3vw,3.9rem);
  line-height:1.06; letter-spacing:-.024em; text-wrap:balance;
}
.sec-title--sm{ font-size:clamp(1.6rem,1.25rem + 1.6vw,2.3rem); }
.sec-intro{
  margin-top:1.2rem; color:var(--fg-mute); max-width:48ch;
  font-size:clamp(.98rem,.95rem + .18vw,1.08rem);
}
.sec-intro strong{ color:var(--fg); font-weight:500; }

/* ═══ 01 · cas ═══ */
.cases{ display:grid; gap:1px; background:var(--nuit-line-2); }
.case{
  background:var(--nuit); padding:clamp(1.5rem,3.4vw,2.3rem);
  position:relative; overflow:hidden; transition:background .3s var(--ease);
}

.case::before{
  content:''; position:absolute; top:0; left:0; height:2px; width:0;
  background:var(--accent); transition:width .5s var(--ease); z-index:2;
}
/* ligne de scan au survol */
.case::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:linear-gradient(180deg,
    transparent 0%, rgba(107,176,240,.5) 46%, rgba(107,176,240,.9) 50%,
    rgba(107,176,240,.5) 54%, transparent 100%);
  background-size:100% 26%;
  background-repeat:no-repeat;
  background-position:0 -30%;
  opacity:0;
}
.case:hover{ background:var(--nuit-tint); }
.case:hover::before{ width:100%; }
.case:hover::after{ animation:scan 1.2s var(--ease); }
@keyframes scan{
  0%{   opacity:0; background-position:0 -30%; }
  14%{  opacity:.85; }
  85%{  opacity:.45; }
  100%{ opacity:0; background-position:0 130%; }
}
.case__tag{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fg-faint);
}
.case__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.28rem,1.1rem + .72vw,1.6rem);
  line-height:1.18; margin-block:.75rem .7rem; letter-spacing:-.014em;
}
.case p{ color:var(--fg-mute); font-size:.955rem; }

.pullquote{
  margin-top:clamp(2.4rem,5vw,3.6rem);
  padding-left:clamp(1rem,2.5vw,1.7rem);
  border-left:2px solid var(--accent);
  max-width:52ch;
  font-family:var(--serif);
  font-size:clamp(1.22rem,1rem + .95vw,1.75rem);
  line-height:1.38; color:var(--fg-mute); letter-spacing:-.012em;
}
.pullquote strong{ color:var(--fg); font-weight:500; }

/* ═══ 02 · périmètre ═══ */
.scopes{ display:grid; gap:clamp(1.6rem,3vw,2.2rem); }
.scope{
  padding-top:clamp(1.4rem,3vw,1.9rem);
  border-top:1px solid var(--nuit-line);
  display:grid; gap:.6rem; position:relative;
}
.scope::before{
  content:''; position:absolute; top:-1px; left:0; height:1px; width:0;
  background:var(--accent-hi); transition:width .55s var(--ease);
}
.scope:hover::before{ width:100%; }
.scope--lead{ border-top-color:var(--accent); }
.scope__rank{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fg-faint);
}
.scope--lead .scope__rank{ color:var(--accent); }
.scope__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.32rem,1.12rem + .92vw,1.85rem);
  line-height:1.16; letter-spacing:-.016em;
}
.scope p{ color:var(--fg-mute); font-size:.955rem; max-width:44ch; }

/* ═══ 03 · livrables — papier ═══ */
.band--paper{ background:var(--paper); color:var(--paper-ink); border-top:none; }
.band--paper .sec-num{ color:var(--paper-accent); }
.band--paper .sec-title{ color:var(--paper-ink); }
.band--paper .sec-intro{ color:var(--paper-mute); }
.band--paper .mono-inline{ color:var(--paper-accent); }

.deliv-grid{ display:grid; gap:clamp(2.6rem,5vw,3.5rem); }
.delivs{ display:grid; }
.deliv{
  padding-block:clamp(1.25rem,2.6vw,1.7rem);
  border-top:1px solid var(--paper-line);
  display:grid; gap:.4rem; position:relative;
}
.deliv:last-child{ border-bottom:1px solid var(--paper-line); }
.deliv__n{
  font-family:var(--mono); font-size:.63rem; letter-spacing:.18em;
  color:var(--paper-accent);
}
.deliv h3{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.18rem,1.05rem + .62vw,1.48rem);
  line-height:1.2; letter-spacing:-.014em;
}
.deliv p{ color:var(--paper-mute); font-size:.955rem; max-width:52ch; }

/* spécimen */
.specimen{ align-self:start; display:grid; gap:1rem; }
.specimen__lead{
  font-family:var(--serif);
  font-size:clamp(1.1rem,1rem + .5vw,1.32rem);
  line-height:1.32; color:var(--paper-ink); letter-spacing:-.012em;
}
.specimen__eyebrow{
  display:block; font-family:var(--mono); font-size:.63rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--paper-accent); margin-bottom:.55rem;
}
.specimen__frame{
  background:#FCFBF8;
  border:1px solid var(--paper-line);
  border-top:3px solid var(--paper-accent);
  border-radius:3px;
  box-shadow:0 26px 54px -30px rgba(22,20,47,.62), 0 2px 6px -2px rgba(22,20,47,.14);
  overflow:hidden;
}
.specimen__chrome{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem .95rem;
  border-bottom:1px solid var(--paper-line);
  background:var(--paper-2); color:var(--paper-mute);
}
.specimen__count{ font-size:.63rem; opacity:.85; }
.specimen__table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.specimen__table th{
  text-align:left; font-family:var(--mono); font-weight:500;
  font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--paper-mute); padding:.7rem .95rem; border-bottom:1px solid var(--paper-line);
}
.specimen__table td{
  padding:.8rem .95rem; border-bottom:1px solid rgba(22,20,47,.08);
  vertical-align:top; line-height:1.42;
}
.specimen__table tr:last-child td{ border-bottom:none; }
.specimen__table td.mono{ color:var(--paper-mute); white-space:nowrap; font-size:.66rem; }
.specimen__zone{
  display:block; margin-top:.3rem;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.06em;
  color:var(--paper-mute); opacity:.8;
}
.chip{
  display:inline-block; font-family:var(--mono); font-size:.63rem; font-weight:500;
  letter-spacing:.08em; padding:.2em .5em; border-radius:2px; color:#fff;
}
.chip--p0{ background:var(--p0); }
.chip--p1{ background:var(--p1); }
.chip--p2{ background:var(--p2); }
.chip--p3{ background:var(--p3); }
.specimen__legend{
  display:flex; flex-wrap:wrap; gap:.45rem 1.1rem;
  padding:.75rem .95rem;
  border-top:1px solid var(--paper-line); background:var(--paper-2);
  font-family:var(--mono); font-size:.61rem; letter-spacing:.08em;
  color:var(--paper-mute); text-transform:uppercase;
}
.specimen__legend li{ display:flex; align-items:center; gap:.4rem; }
.dot{ width:7px; height:7px; border-radius:50%; flex:none; }
.dot--p0{ background:var(--p0); }
.dot--p1{ background:var(--p1); }
.dot--p2{ background:var(--p2); }
.dot--p3{ background:var(--p3); }
.specimen__cap{ font-size:.75rem; color:var(--paper-mute); font-style:italic; }

.note{
  margin-top:clamp(2.4rem,4.5vw,3.2rem);
  padding:1.15rem 1.35rem;
  border-left:2px solid var(--paper-accent);
  background:rgba(180,83,31,.06);
  color:var(--paper-mute); font-size:.95rem; max-width:58ch;
}

/* ═══ 04 · pourquoi moi ═══ */
.portrait{
  display:flex; align-items:center; gap:clamp(1rem,2.4vw,1.4rem);
  margin-bottom:clamp(2.2rem,4.5vw,3rem);
  padding-bottom:clamp(1.6rem,3.4vw,2.2rem);
  border-bottom:1px solid var(--nuit-line-2);
}
.portrait__img{
  width:clamp(84px,11vw,132px); height:clamp(84px,11vw,132px);
  border-radius:50%; object-fit:cover; flex:none;
  border:1px solid var(--nuit-line);
  box-shadow:0 0 0 6px rgba(55,138,221,.08);
}
.portrait__id{ display:grid; gap:.3rem; }
.portrait__name{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.15rem,1rem + .7vw,1.5rem);
  letter-spacing:-.014em; line-height:1.15;
}
.portrait__role{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--fg-faint);
}

.whys{ display:grid; gap:clamp(1.9rem,3.5vw,2.6rem); }
.why{
  border-top:1px solid var(--nuit-line);
  padding-top:clamp(1.3rem,2.6vw,1.8rem);
  display:grid; gap:.55rem; align-content:start;
}
.why p{ color:var(--fg-mute); font-size:.955rem; }
.why strong{ color:var(--fg); font-weight:500; }
.why .why__stat{
  display:flex; align-items:baseline; gap:.35rem;
  font-family:var(--serif); font-size:1.5rem; font-weight:400;
  color:var(--fg); line-height:1;
}
.why__num{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(3.1rem,2rem + 4.4vw,5rem);
  line-height:.84; letter-spacing:-.04em;
}
.why__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.22rem,1.08rem + .6vw,1.52rem);
  line-height:1.18; letter-spacing:-.014em;
}
.why__link{
  justify-self:start; margin-top:.35rem;
  font-family:var(--mono); font-size:.68rem; letter-spacing:.13em;
  text-transform:uppercase; text-decoration:none; color:var(--fg-mute);
  padding-bottom:3px; border-bottom:1px solid var(--nuit-line);
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.why__link:hover{ color:var(--accent-hi); border-color:var(--accent); }
.why__link span{ display:inline-block; transition:transform .25s var(--ease); }
.why__link:hover span{ transform:translateX(3px); }

/* ═══ 05 · option ═══ */
.option{
  max-width:52rem; padding:clamp(1.8rem,4vw,2.8rem);
  border:1px solid var(--nuit-line); border-radius:3px;
  background:linear-gradient(180deg, rgba(55,138,221,.05), transparent 60%);
}
.option p{ margin-top:1.15rem; color:var(--fg-mute); max-width:56ch; }

/* ═══ CTA ═══ */
.cta{
  background:var(--nuit-deep);
  padding-block:clamp(4.5rem,10vw,8rem) clamp(3rem,6vw,4.5rem);
  border-top:1px solid var(--nuit-line);
  text-align:center;
}
.cta__kicker{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent);
}
.cta__title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.7rem,1.6rem + 5.8vw,5.4rem);
  line-height:.98; letter-spacing:-.028em; margin-block:.7rem .9rem;
}
.cta__sub{ color:var(--fg-mute); max-width:34ch; margin-inline:auto; }
.cta .btn{ margin-top:clamp(1.8rem,4vw,2.4rem); }
.cta__mail{ margin-top:1.5rem; font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; }
.cta__mail a{ color:var(--fg-mute); text-decoration:none; border-bottom:1px solid var(--nuit-line); }
.cta__mail a:hover{ color:var(--fg); border-color:var(--accent); }

/* ═══ apparition ═══ */
.reveal{ opacity:0; transform:translateY(14px); }
.reveal.in{
  opacity:1; transform:none;
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  transition-delay:calc(var(--i,0) * 70ms);
}
.hero .reveal[data-d]{
  animation:rise .85s var(--ease) both;
  animation-delay:calc(var(--d) * 100ms + 70ms);
  opacity:1; transform:none;
}
.hero__title[data-d]{ animation-duration:1s; }
@keyframes rise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }

/* ═══ responsive ═══ */
@media (min-width:48rem){
  .cases{ grid-template-columns:repeat(3,1fr); }
  .scopes{ grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,3vw,2.6rem); }
  .whys{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:62rem){
  .sec-head{ display:grid; grid-template-columns:5.5rem 1fr; column-gap:1.6rem; max-width:none; }
  .sec-num{ margin-bottom:0; padding-top:1rem; text-align:right; }
  .sec-title, .sec-intro{ grid-column:2; }
  .deliv-grid{ grid-template-columns:1fr 1.02fr; align-items:start; gap:clamp(2.6rem,4vw,4rem); }
  .option{ display:grid; grid-template-columns:5.5rem 1fr; column-gap:1.6rem; max-width:none; }
  .option .sec-num{ padding-top:.6rem; text-align:right; }
  .option p{ grid-column:2; }
  .portrait{ padding-left:7.1rem; }
}

/* mobile */
@media (max-width:29rem){
  .hero{ padding-block:1.4rem 2.2rem; }
  .hero__title{ font-size:2.35rem; line-height:1.03; }
  .hero__baseline{ font-size:1.12rem; line-height:1.36; margin-top:1rem; }
  .hero__lede{ font-size:.9rem; line-height:1.58; margin-top:.95rem; }
  .hero__actions{ margin-top:1.3rem; gap:.55rem; }
  .hero__actions .btn{ width:100%; }
  .hero__meter{ margin-top:1.8rem; }
  .specimen__table td, .specimen__table th{ padding-inline:.7rem; }
  .specimen__table{ font-size:.8rem; }
}

/* ═══ préférences ═══ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-delay:0ms !important;
    transition-duration:.01ms !important;
  }
  .reveal{ opacity:1; transform:none; }
  .case:hover::after{ animation:none; opacity:0; }
}

@media print{
  body{ background:#fff; color:#000; }
  body::before, body::after, .hero::before, .hero::after{ display:none; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .topbar__cta, .hero__actions, .cta .btn{ display:none; }
}

/* ═══ confirmation de copie ═══ */
.toast{
  position:fixed; left:50%; bottom:1.25rem; z-index:60;
  transform:translate(-50%, 1rem);
  max-width:calc(100vw - 2rem);
  padding:.75rem 1.15rem;
  background:var(--nuit-tint);
  color:var(--fg);
  border:1px solid var(--accent);
  border-radius:3px;
  box-shadow:0 14px 34px -18px rgba(0,0,0,.85);
  font-family:var(--mono); font-size:.72rem; letter-spacing:.04em;
  opacity:0; pointer-events:none;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.toast.show{ opacity:1; transform:translate(-50%, 0); }
@media (prefers-reduced-motion:reduce){ .toast{ transition:none; } }
