:root{--rose-deep: #893941;--rose-soft: #CB7885;--sage-light: #D4D994;--olive-dark: #5E6623;--cream: #FDF8F4;--cream-warm: #FAF0E8;--rose-pale: #F2E0E3;--sage-pale: #EEEFC8;--olive-pale: #E8EAC4;--text-dark: #2A1A1C;--text-body: #3D2428;--text-muted: #7A5D62;--white: #FFFFFF;--text-xs: clamp(.72rem, .68rem + .18vw, .8rem);--text-sm: clamp(.83rem, .78rem + .24vw, .94rem);--text-base: clamp(1rem, .94rem + .3vw, 1.125rem);--text-lg: clamp(1.2rem, 1.1rem + .48vw, 1.41rem);--text-xl: clamp(1.44rem, 1.28rem + .8vw, 1.76rem);--text-2xl: clamp(1.73rem, 1.48rem + 1.22vw, 2.2rem);--text-3xl: clamp(2.07rem, 1.7rem + 1.87vw, 2.75rem);--text-4xl: clamp(2.49rem, 1.94rem + 2.74vw, 3.43rem);--text-5xl: clamp(2.99rem, 2.2rem + 3.93vw, 4.29rem);--text-6xl: clamp(3.58rem, 2.48rem + 5.52vw, 5.36rem);--space-xs: clamp(.5rem, .4rem + .5vw, .75rem);--space-sm: clamp(.75rem, .6rem + .75vw, 1.125rem);--space-md: clamp(1rem, .8rem + 1vw, 1.5rem);--space-lg: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--space-xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--space-2xl: clamp(3rem, 2rem + 5vw, 6rem);--space-3xl: clamp(4rem, 2.5rem + 7.5vw, 9rem);--grid-max: 1280px;--grid-gutter: clamp(1rem, .5rem + 2.5vw, 2rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .2s;--duration-base: .4s;--duration-slow: .8s;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:var(--text-base);line-height:1.7;color:var(--text-body);background-color:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:Fraunces,Georgia,serif;line-height:1.15;font-weight:500;color:var(--text-dark)}h1{font-size:var(--text-6xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}em{font-style:italic;color:var(--rose-deep)}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--rose-deep);color:var(--white);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);z-index:1000;font-weight:600;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-md);outline:3px solid var(--sage-light);outline-offset:2px}:focus-visible{outline:3px solid var(--rose-deep);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:min(var(--grid-max),100% - var(--grid-gutter) * 2);margin-inline:auto}.section-padding{padding-block:var(--space-3xl)}.eyebrow{font-family:Homemade Apple,cursive;font-size:var(--text-xl);color:var(--rose-soft);margin-bottom:var(--space-sm);display:block}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--rose-deep);color:var(--white);padding:16px 36px;border-radius:var(--radius-full);font-weight:600;font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-out);letter-spacing:.02em}.btn-primary:hover{background:var(--olive-dark);transform:translateY(-2px);box-shadow:0 8px 24px #89394133}.btn-secondary{display:inline-flex;align-items:center;gap:8px;color:var(--rose-deep);font-weight:600;font-size:var(--text-base);padding:16px 8px;transition:gap var(--duration-fast) var(--ease-out)}.btn-secondary:hover{gap:14px}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media(forced-colors:active){.btn-primary{border:2px solid currentColor}}
