:root{--color-primary: #b76e9b;--color-primary-light: #d4a5c4;--color-primary-dark: #7d4a6b;--color-secondary: #f7f0f5;--color-gold: #c9a96e;--color-gold-light: #e8d5a3;--color-lavender: #b8a9d4;--color-sky: #a8d0e6;--color-sky-light: #e3f2fd;--color-background: #fffbf9;--color-surface: #ffffff;--color-text: #2d2a32;--color-text-muted: #6e6578;--color-accent: #e8b4b8;--color-error: #c0392b;--color-success: #5b9a6f;--font-display: "Cormorant Garamond", serif;--font-body: "Nunito Sans", sans-serif;--font-script: "Great Vibes", cursive;--font-mono: "JetBrains Mono", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 8rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .6s cubic-bezier(.25, .46, .45, .94);--ease-romantic: cubic-bezier(.25, .46, .45, .94);--shadow-soft: 0 2px 12px rgba(201, 169, 110, .08);--shadow-card: 0 10px 30px rgba(183, 110, 155, .1);--shadow-lift: 0 18px 46px rgba(183, 110, 155, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;color:var(--color-text)}h1{font-weight:700;font-size:2.5rem}@media(min-width:768px){h1{font-size:4.5rem}}h2{font-weight:600;font-size:1.875rem}@media(min-width:768px){h2{font-size:2.75rem}}h3{font-weight:500;font-size:1.1875rem}@media(min-width:768px){h3{font-size:1.375rem}}p{max-width:70ch}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-romantic),transform .8s var(--ease-romantic);will-change:opacity,transform}.reveal.is-revealed{opacity:1;transform:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;background:none;font-family:inherit}
