/* reset + base ----------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h-mobile) + 8px);
  -webkit-text-size-adjust:100%;
}
@media(min-width:768px){
  html{scroll-padding-top:calc(var(--header-h) + 8px);}
}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
  /* TEX-5 Papier chaud */
  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;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img,svg,video,iframe{max-width:100%;display:block;}
img{height:auto;}
figure{margin:0;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
a{color:inherit;text-decoration:none;}
[hidden]{display:none !important;}

h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:600;
  line-height:1.15;
  color:var(--text);
  margin:0 0 .6em;
}
h1{font-size:clamp(2.1rem,5.4vw,3.6rem);}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);}
h3{font-size:clamp(1.1rem,1.8vw,1.3rem);}
p{margin:0 0 1em;color:var(--text);}
ul{margin:0;padding:0;list-style:none;}

::selection{background:var(--accent);color:var(--bg);}
::-moz-selection{background:var(--accent);color:var(--bg);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
::placeholder{color:var(--text-mute);}

/* scrollbar fine */
*::-webkit-scrollbar{width:8px;height:8px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 45%,var(--bg));border-radius:8px;}

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

/* sections */
section{padding:48px 0;position:relative;}
@media(min-width:768px){section{padding:80px 0;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-ui);
  font-size:.78rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--accent);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--accent);}
.sec-head{margin-bottom:32px;max-width:760px;}
.sec-head em{font-style:italic;color:var(--accent);}
.sec-head p{color:var(--text-2);max-width:60ch;}
@media(min-width:768px){.sec-head{margin-bottom:48px;}}
