/* Reset + base */
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{overflow-x:hidden;max-width:100vw;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h-mobile) + 12px);}
body{overflow-x:clip;max-width:100vw;font-family:var(--ff-body);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
@media (min-width:768px){html{scroll-padding-top:calc(var(--header-h) + 16px);}}

img,video,iframe{max-width:100%;display:block;}
figure{margin:0;}
button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;font-family:var(--ff-display);font-weight:500;letter-spacing:-.01em;color:var(--text);line-height:1.12;}
p{margin:0 0 1rem;}
p:last-child{margin-bottom:0;}
small{font-size:.85em;}
em{font-style:italic;}

[hidden]{display:none !important;}

/* Texture TEX-4 - grille fine */
body{
  background:var(--bg);
  background-image:
    linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);
  background-size:32px 32px;
  background-attachment:fixed;
}

/* Selection / scrollbar / focus / placeholder */
::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text);}
*::-webkit-scrollbar{width:8px;height:8px;}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 22%,transparent);border-radius:8px;}
*::-webkit-scrollbar-track{background:transparent;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
::placeholder{color:var(--text-mute);}

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

section{padding:48px 0;}
@media (min-width:768px){section{padding:80px 0;}}
section + section{padding-top:48px;}
@media (min-width:768px){section + section{padding-top:80px;}}

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

.sec-head{max-width:680px;margin-bottom:36px;}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.1;}
.sec-head h2 em{font-style:italic;color:var(--accent);}
.sec-head p{margin-top:14px;color:var(--text-2);font-size:1.04rem;max-width:62ch;}
@media (min-width:768px){.sec-head{margin-bottom:48px;}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important;transition:none !important;}
}
