*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
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;
  text-rendering:optimizeLegibility;
}
img,svg,picture{display:block;max-width:100%;}
img{height:auto;}
button{font-family:inherit;cursor:pointer;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:600;
  line-height:1.15;
  color:var(--text);
  margin:0 0 .5em;
}
p{margin:0 0 1em;color:var(--text-2);}
ul,ol{margin:0;padding:0;list-style:none;}

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

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
.container-narrow{max-width:var(--container-narrow);}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-body);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  color:var(--accent);
  font-weight:600;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";display:inline-block;
  width:28px;height:1px;background:var(--accent);
}

.section{
  padding:clamp(56px,8vw,96px) 0;
  position:relative;
}
.section-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px);}
.section-title{
  font-size:clamp(1.8rem,3.6vw,2.8rem);
  margin-bottom:.5em;
}
.section-lead{
  font-size:clamp(1rem,1.4vw,1.1rem);
  color:var(--text-2);
  max-width:60ch;
}
.section-foot{margin-top:28px;text-align:center;}
