/* ============================================
   Base — 리셋 & 기본 요소
   ============================================ */

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    height: 100%;
}

body {
    font-family: var(--font-sans);
    font-weight: normal;
    background: var(--bg);
    color: var(--ink);
    line-height: 1.85;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0;

    /* Sticky footer 레이아웃:
       내용이 짧을 때도 푸터가 항상 뷰포트 하단에 붙도록
       body 를 flex column 으로 두고 .site-main 이 남는 공간을 채운다. */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.site-main {
    flex: 1 0 auto;
}
.site-footer {
    flex-shrink: 0;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* 헤드라인·강조 요소에만 디스플레이 폰트 적용 */
.hero h2,
.hero .eyebrow,
.section-head h2,
.section-head .kicker,
.section-title,
.board h3,
.logo h1 {
    font-family: var(--font-display);
}
