:root{ --v-cream:        #F6F2EA; --v-cream-deep:    #EEE7D8; --v-ink:           #1F2E22; --v-ink-soft:      #44503F; --v-sage:          #8A9A82; --v-sage-deep:     #5E6E56; --v-blush:         #E8C4B8; --v-blush-deep:    #D9A996;
--v-gold:          #B08D57; --v-white:         #FFFFFF;
--v-line:          rgba(31,46,34,0.12);
--v-error:         #B3452C; --f-display: "Fraunces", "Iowan Old Style", Georgia, serif;
--f-body:    "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--fs-xs:   0.78rem;
--fs-sm:   0.88rem;
--fs-base: 1rem;
--fs-md:   1.15rem;
--fs-lg:   1.5rem;
--fs-xl:   2.1rem;
--fs-2xl:  3rem;
--fs-3xl:  4.2rem;
--radius-sm: 3px;
--radius-md: 6px;
--radius-lg: 100px;
--container: 1280px;
--gutter: clamp(20px, 4vw, 64px);
--ease: cubic-bezier(.4,0,.2,1);
} *, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
margin:0;
background: var(--v-cream);
color: var(--v-ink);
font-family: var(--f-body);
font-size: var(--fs-base);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family: inherit; cursor:pointer; }
input, textarea, select{ font-family: inherit; font-size: var(--fs-base); }
h1,h2,h3,h4,h5,h6{
font-family: var(--f-display);
font-weight: 500;
line-height: 1.15;
margin: 0 0 0.5em;
color: var(--v-ink);
letter-spacing: -0.01em;
}
p{ margin:0 0 1em; }
:focus-visible{ outline: 2px solid var(--v-sage-deep); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce){
*{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior:auto !important; }
}
.screen-reader-text{
position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px;
overflow:hidden; word-wrap:normal;
}
.skip-link{ position:absolute; left:-999px; top:0; background:var(--v-ink); color:var(--v-white); padding:12px 20px; z-index:10000; }
.skip-link:focus{ left:10px; top:10px; }
.container{
max-width: var(--container);
margin: 0 auto;
padding: 0 var(--gutter);
}
.eyebrow{
display:inline-flex; align-items:center; gap:10px;
font-family: var(--f-body);
font-size: var(--fs-xs);
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--v-sage-deep);
font-weight: 600;
margin-bottom: 14px;
}
.eyebrow::before{
content:"";
width: 20px; height:1px;
background: var(--v-gold);
} .droplet-rule{
display:flex; align-items:center; gap:10px;
margin: 18px 0 0;
}
.droplet-rule svg{ width:34px; height:14px; flex:none; } .btn{
display:inline-flex; align-items:center; justify-content:center; gap:10px;
font-family: var(--f-body);
font-size: var(--fs-sm);
font-weight: 600;
letter-spacing: 0.03em;
padding: 15px 34px;
border-radius: var(--radius-lg);
border: 1px solid transparent;
transition: all .3s var(--ease);
white-space: nowrap;
}
.btn-primary{ background: var(--v-ink); color: var(--v-cream); }
.btn-primary:hover{ background: var(--v-sage-deep); color: var(--v-white); transform: translateY(-1px); }
.btn-outline{ background: transparent; border-color: var(--v-ink); color: var(--v-ink); }
.btn-outline:hover{ background: var(--v-ink); color: var(--v-cream); }
.btn-ghost{ background: transparent; color: var(--v-ink); padding: 8px 0; border-radius:0; border-bottom: 1px solid var(--v-ink); }
.btn-block{ width:100%; }
.section{ padding: clamp(56px, 8vw, 120px) 0; }
.section-head{ max-width: 640px; margin: 0 auto 48px; text-align:center; }
.section-head.align-left{ margin-left:0; text-align:left; }