/* AXMARU base — 리셋·문서 기본·유틸 (spec §2.3 하단, §3.8) */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-padding-top:var(--header-h);
  font-variant-numeric:tabular-nums;
  overflow-x:clip;
  background:var(--c-ink);
}
html[lang="ko"]{word-break:keep-all;overflow-wrap:anywhere}
@media (prefers-reduced-motion:no-preference){
  html.js:not([data-motion="reduce"]){scroll-behavior:smooth}
}
body{
  margin:0;
  font:400 var(--fs-body)/1.7 var(--ff);
  color:var(--c-cream-text);
  background:var(--c-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2{text-wrap:balance}
h1{font:800 var(--fs-h1)/1.08 var(--ff);letter-spacing:var(--ls-heading);color:var(--fg)}
h2{font:800 var(--fs-h2)/1.15 var(--ff);letter-spacing:var(--ls-heading);color:var(--fg)}
h3{font:700 var(--fs-h3)/1.3 var(--ff);color:var(--fg)}
strong,b{font-weight:700;color:var(--fg)}
em,i{font-style:normal}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
svg{max-width:100%}
img{max-width:100%;height:auto;display:block}
::selection{background:#1B2A41;color:#FAF8F4}
:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
[data-band="cream"] :focus-visible,[data-band="pageBg"] :focus-visible,html:not([data-band="ink"]) .site-header :focus-visible{outline-color:var(--fg)}
:focus:not(:focus-visible){outline:none}

/* 밴드 섹션 공통 */
.band{position:relative;background:var(--bg);color:var(--fg-2)}
.band--pad{padding-block:var(--pad-section)}
.band--pad-lg{padding-block:var(--pad-section-lg)}
.band--pad-xl{padding-block:var(--pad-section-xl)}
.band--pad-sm{padding-block:var(--pad-section-sm)}

/* 레이아웃 유틸 */
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap)}
@media (max-width:767px){.grid-12{grid-template-columns:1fr}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:8px;z-index:var(--z-skip);background:#3FB8A4;color:#0E2622;padding:8px 12px;border-radius:var(--r-2);font:700 14px/1 var(--ff)}
.skip-link:focus{top:8px}
.u-wrap-any{word-break:break-all}
@media (min-width:1024px){.u-nowrap{white-space:nowrap}}
.u-num{font-weight:800;font-variant-numeric:tabular-nums}
.u-hide-mobile{display:none}
@media (min-width:768px){.u-hide-mobile{display:initial}}

/* 인쇄·고대비 */
@media print{
  .site-header,.altimeter,.progress,.menu,.skip-link,.motion-toggle{display:none!important}
  .band{background:none!important;color:#000!important}
  .band *{color:#000!important}
}
@media (forced-colors:active){
  .dot,.node.is-on,.progress__fill,.altimeter__fill,.btn--primary{forced-color-adjust:none}
  .menu-toggle__bar{forced-color-adjust:none;background:CanvasText}
}
