html{scroll-padding-top:calc(var(--head-h) + 1rem);scroll-behavior:smooth}
body{position:relative;font-family:'Nunito Sans','Segoe UI',Arial,sans-serif;font-size:1.0625rem;line-height:1.6;color:var(--text-primary);background:var(--surface-base);padding-top:var(--head-h);padding-bottom:84px;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Nunito Sans','Segoe UI',Arial,sans-serif;color:var(--text-primary);hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
h1{font-size:clamp(1.65rem, 1.05rem + 3vw, 3.25rem);font-weight:800;line-height:1.12;margin:0 0 1rem;text-wrap:balance}
h2{font-size:clamp(1.45rem, 1.15rem + 1.3vw, 2.125rem);font-weight:700;line-height:1.2;margin:0 0 1rem}
h3{font-size:1.2rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}
p{margin:0 0 .5rem;line-height:1.6}
a{color:var(--text-primary);text-underline-offset:3px;transition:color .2s ease}
a:hover{color:var(--text-accent)}
img{max-width:100%;height:auto}
ul,ol{margin:0 0 1rem;padding-left:1.25rem}
li{margin-bottom:.35rem}
dl{margin:0}
dd{margin:0}
input,textarea{width:100%;font:inherit;color:var(--text-primary);background:var(--surface-raised);border:2px solid rgba(20,33,61,.35);border-radius:var(--radius-btn);padding:.7rem .85rem;min-height:48px}
input:focus,textarea:focus{border-color:var(--text-primary);outline:none;box-shadow:0 0 0 3px rgba(243,156,18,.45)}
input[type="checkbox"]{width:22px;height:22px;min-height:0;flex:0 0 22px;margin-top:2px;accent-color:#14213d}
label{font-weight:700}
:focus-visible{outline:3px solid var(--action-glow);outline-offset:2px}

@media (min-width:1024px){
  h3{font-size:1.5rem}
}
