/* Base reset + typo */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h-mobile) + 12px);
  -webkit-text-size-adjust:100%;
}
@media (min-width:768px){html{scroll-padding-top:calc(var(--header-h) + 16px);}}

html,body{margin:0;padding:0;max-width:100vw;}
body{
  overflow-x:clip;
  background:var(--bg);
  color:var(--text);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* TEX-5 — Papier chaud (degrade radial doux) */
body{
  background-image:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--accent) 5%, var(--bg)) 0%, var(--bg) 60%);
  background-attachment:fixed;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-display);
  color:var(--text);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.012em;
  margin:0 0 16px;
}
h1{font-size:clamp(2.4rem,7vw,4.6rem);}
h2{font-size:clamp(1.8rem,4.4vw,2.8rem);}
h3{font-size:clamp(1.25rem,2.3vw,1.55rem);}
p{margin:0 0 14px;color:var(--text-2);}
p:last-child{margin-bottom:0;}
em{font-style:italic;color:var(--accent);}

a{color:var(--text);text-decoration:none;transition:color var(--dur) var(--ease);}
a:hover{color:var(--accent);}

img,video,iframe,svg{max-width:100%;display:block;}
img{height:auto;}
figure{margin:0;}

button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit;}

ul{margin:0;padding:0;list-style:none;}

[hidden]{display:none !important;}

::selection{background:var(--accent);color:#fff;}
::-moz-selection{background:var(--accent);color:#fff;}

*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--accent-deep);}

::placeholder{color:var(--text-mute);opacity:1;}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm);}

.container{max-width:var(--container);margin:0 auto;padding:0 20px;}
@media (min-width:768px){.container{padding:0 40px;}}

/* Section padding mobile-first */
section{padding:48px 0;}
@media (min-width:768px){section{padding:88px 0;}}

/* Eyebrow editorial */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--ff-ui);text-transform:uppercase;
  letter-spacing:.2em;font-size:.74rem;font-weight:600;
  color:var(--accent);margin-bottom:16px;
}
.eyebrow::before{
  content:"";width:34px;height:1px;background:var(--accent);
}

/* Section title block (editorial) */
.sec-head{max-width:760px;margin-bottom:36px;}
.sec-head h2{margin-bottom:14px;}
.sec-head p{font-size:1.05rem;color:var(--text-2);max-width:60ch;}

/* Visually hidden util */
.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;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
