/* shared base: reset + mechanics only. Each theme owns its look. */
:root{--ink:#16130F;--green:#0E4A38;--gold:#FFC52E;--poppy:#FF5B2E;--cream:#FBF2DC;--stone:#E6D9BA;--walnut:#6B6354;--paper:#FFFBF0;--pad:clamp(20px,5vw,72px);--max:1200px}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-64px;padding:10px 16px;border-radius:8px;font-weight:700;z-index:200;text-decoration:none;background:var(--gold);color:var(--ink)}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto}
.w{display:inline-block;vertical-align:top}
.wi,.c{display:inline-block}
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;translate:var(--mx) var(--my)}
.intro{position:fixed;inset:0;z-index:300;pointer-events:none}
html:not(.js) .intro{display:none}
.no-intro .intro{display:none}
.progress{position:fixed;left:0;top:0;right:0;height:4px;z-index:90;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:var(--gold)}
.sec{position:relative}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .intro{display:none}
}
