* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Poppins, sans-serif; line-height: 1.6; }
body, button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img, svg, video { max-width: 100%; }
button { cursor: pointer; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; background: var(--gold-300); padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.hidden, [hidden] { display: none !important; }
.eyebrow { color: var(--gold-500); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.center { text-align: center; }
.section-title { color: var(--teal-900); font-family: Montserrat, sans-serif; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.12; margin: .35rem 0 2rem; }
.btn { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; gap: .55rem; justify-content: center; padding: .8rem 1.2rem; font-weight: 700; transition: transform .2s, background .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--gold-300); color: var(--teal-900); }
.btn-ghost { background: transparent; border-color: rgba(255,255,255,.45); color: inherit; }
.btn-outline { background: transparent; border-color: var(--teal-700); color: var(--teal-700); }
.btn-sm { font-size: .85rem; padding: .55rem .9rem; }
.btn-block { width: 100%; }
