/* Base — reset, parchment body, typography defaults, separators (from tokens.css/typography.css/effects.css) */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-body);line-height:1.7;color:var(--text-dark);background:radial-gradient(ellipse at center,var(--parchment-light) 0%,var(--parchment-light) 40%,var(--parchment-dark) 90%,var(--parchment-dark) 100%);min-height:100vh;letter-spacing:0.01em;font-size:18px;position:relative}
h1,h2,h3,h4,h5,h6{font-family:var(--font-palatino);font-weight:400;color:var(--sage-green);line-height:var(--lh-tight);margin-top:0.5em;margin-bottom:0.5em}
h1{font-size:var(--text-3xl)}
h2{font-size:var(--text-2xl);font-family:var(--font-gentium)}
h3{font-size:var(--text-xl);font-family:var(--font-gentium);color:var(--body)}
h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}
p,.description{font-family:var(--font-gentium);font-weight:400;font-size:var(--text-base);line-height:var(--lh-relaxed)}
a{color:var(--sage-green)}
a:hover{color:var(--dark-green)}
.container,.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.section{padding:var(--space-section) 0;position:relative}
/* Section headers */
.section-header{margin-bottom:24px;display:flex;flex-direction:column;align-items:center;text-align:center}
.section-header h2{font-family:var(--font-palatino);font-size:clamp(2rem,4vw,2.5rem);color:var(--sage-green);text-align:center;margin-bottom:16px;line-height:1.2;letter-spacing:-0.02em;font-weight:600}
.section-sub{font-family:var(--font-gentium);font-size:1.25rem;color:var(--body);text-align:center;max-width:700px;margin:0 auto;line-height:1.6;letter-spacing:0.01em;opacity:0.92}
/* Dividers */
.divider{width:100px;height:2px;background:linear-gradient(to right,transparent,var(--sage-green),transparent);margin:2rem auto}
.separator-dot{display:flex;align-items:center;margin:3rem auto;max-width:900px;gap:1.5rem}
.separator-dot::before,.separator-dot::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--sage-green),transparent)}
.separator-dot span{width:8px;height:8px;background:var(--sage-green);border-radius:50%;opacity:0.6}
.separator-line{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--sage-green),transparent);margin:0;opacity:0.4}
/* Eyebrow kicker */
.svc-eyebrow{display:block;font-family:var(--font-sans);font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:0.5rem}
/* Skip link */
.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:var(--brand,#265c2f);color:#fff;text-decoration:none;font-weight:600;border-radius:0 0 4px 4px}
.skip-link:focus{top:0}
/* Scroll reveal (gated on .reveal-on) */
.reveal-on .reveal{opacity:0;transform:translateY(18px);transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.22,0.61,0.36,1);will-change:opacity,transform}
.reveal-on .reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal-on .reveal{opacity:1;transform:none;transition:none}}
