@font-face{font-family:"DM Serif Display";src:url(/fonts/DMSerifDisplay-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-primary: #3D6B5E;--color-primary-dark: #2D4F46;--color-primary-light: #E8F0ED;--color-accent: #C27B5A;--color-bg: #FAF7F2;--color-bg-white: #FFFFFF;--color-text: #2D2D2D;--color-text-secondary: #5A5A5A;--color-border: #E0D8CF;--font-heading: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--text-h1: clamp(2rem, 1.4rem + 2.5vw, 3.25rem);--text-h2: clamp(1.625rem, 1.2rem + 1.8vw, 2.5rem);--text-h3: clamp(1.25rem, 1rem + 1vw, 1.75rem);--text-body: clamp(1rem, .95rem + .2vw, 1.125rem);--text-small: clamp(.875rem, .85rem + .1vw, .9375rem);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-section: clamp(48px, 4vw + 32px, 96px);--max-width: 1152px;--radius: 12px;--radius-sm: 8px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;color:var(--color-primary-dark)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}button,input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-section) 0}.section--cream{background-color:var(--color-bg)}.section--white{background-color:var(--color-bg-white)}.section--sage{background-color:var(--color-primary-light)}.section--dark{background-color:var(--color-primary-dark);color:#fff}.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}.section__heading{text-align:center;margin-bottom:var(--space-2xl)}.section__subtitle{color:var(--color-text-secondary);font-size:var(--text-body);margin-top:var(--space-sm);max-width:640px;margin-left:auto;margin-right:auto}.section--dark .section__subtitle{color:#fffc}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 32px;border-radius:var(--radius);font-weight:700;font-size:var(--text-body);cursor:pointer;border:none;transition:background-color .2s,transform .15s;text-decoration:none;min-height:48px}.btn:active{transform:scale(.98)}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover{background-color:var(--color-primary-dark)}.btn--accent{background-color:var(--color-accent);color:#fff}.btn--accent:hover{background-color:#a8664a}.btn--outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--outline:hover{background-color:var(--color-primary);color:#fff}.btn--white{background-color:#fff;color:var(--color-primary-dark)}.btn--white:hover{background-color:var(--color-primary-light)}.card{background:var(--color-bg-white);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-card-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--color-primary);padding:var(--space-sm) var(--space-md);box-shadow:0 -2px 12px #00000026}.mobile-cta-bar a{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:#fff;font-weight:700;font-size:1rem;padding:var(--space-sm) 0;min-height:48px}@media(max-width:640px){.mobile-cta-bar.visible{display:block}body{padding-bottom:64px}.container{padding:0 var(--space-md)}}@keyframes revealUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes revealScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reveal{opacity:0}.reveal.visible{animation:revealUp .6s cubic-bezier(.22,1,.36,1) forwards}.reveal-scale{opacity:0}.reveal-scale.visible{animation:revealScale .5s cubic-bezier(.22,1,.36,1) forwards}.stagger-children.visible>*{opacity:0;animation:revealUp .5s cubic-bezier(.22,1,.36,1) forwards}.stagger-children.visible>*:nth-child(1){animation-delay:0ms}.stagger-children.visible>*:nth-child(2){animation-delay:80ms}.stagger-children.visible>*:nth-child(3){animation-delay:.16s}.stagger-children.visible>*:nth-child(4){animation-delay:.24s}.stagger-children.visible>*:nth-child(5){animation-delay:.32s}.stagger-children.visible>*:nth-child(6){animation-delay:.4s}@media(prefers-reduced-motion:reduce){.reveal,.reveal-scale,.stagger-children>*{opacity:1!important;animation:none!important;transform:none!important}}
