/* base.css : reset, typo, base */
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
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{
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
  overflow-x:clip;
  overscroll-behavior:auto;
  -webkit-font-smoothing:antialiased;
}
img,picture,svg,video{display:block;max-width:100%;}
img,iframe{height:auto;}
figure{margin:0;}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);font-weight:500;line-height:1.15;margin:0 0 .5em;color:var(--text);}
p{margin:0 0 1em;}
a{color:var(--accent);text-decoration:none;transition:color var(--t-fast);}
a:hover{color:var(--accent-dark);}
ul,ol{margin:0;padding:0 0 0 1.2em;}
button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit;}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;min-width:0;width:100%;}
[hidden]{display:none !important;}

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

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

.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;}
