html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","ss02","cv11"}

/* Tabular numerals for numeric-heavy display (prevents "stuck-together" numbers) */
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","lnum"}

/* Archivo renders nicely at display sizes with these features */
.font-display{font-feature-settings:"ss01","cv11","case"}

/* Accent serif — always looks best italic for emphasis moments */
.font-accent{font-feature-settings:"ss01";font-style:italic}

/* Subtle grain on bone & clay sections for editorial texture */
.bg-bone,.bg-clay{background-image:radial-gradient(rgba(20,18,16,.03) 1px,transparent 1px);background-size:3px 3px}

/* Hero entrance */
.hero-fade{opacity:0;transform:translateY(20px);animation:heroIn .85s cubic-bezier(.2,.8,.2,1) forwards}
.hero-delay-1{animation-delay:.12s}
.hero-delay-2{animation-delay:.28s}
.hero-delay-3{animation-delay:.44s}
@keyframes heroIn{to{opacity:1;transform:translateY(0)}}

/* Nav base + scroll state */
#nav{background:linear-gradient(to bottom,rgba(20,18,16,.6) 0%,rgba(20,18,16,.28) 60%,transparent 100%)}
.nav-scrolled{background:#141210!important;border-bottom:1px solid rgba(242,234,218,.1)}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}

/* FAQ accordion */
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}
.faq-item.active .faq-answer{grid-template-rows:1fr}
.faq-answer>div{overflow:hidden}
.faq-icon{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.faq-item.active .faq-icon{transform:rotate(45deg)}

/* Selection */
::selection{background:#6E1F2B;color:#F2EADA}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
.hero-fade{animation:none;opacity:1;transform:none}
.reveal{transition:none;opacity:1;transform:none}
.faq-answer{transition:none}
.faq-icon{transition:none}
html{scroll-behavior:auto}
}
