:root{--color-bg: #F9F7F2;--color-primary: #3E2723;--color-primary-light: #6D4C41;--color-primary-dark: #1B0000;--color-accent: #D32F2F;--color-accent-hover: #B71C1C;--color-white: #FFFFFF;--color-text: #2C1A16;--color-text-muted: #7B6B66;--color-border: #E0D8D0;--color-surface: #FFFFFF;--color-surface-alt: #F0EDE6;--color-error: #C62828;--color-success: #2E7D32;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--font-script: "Dancing Script", cursive;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--text-4xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-loose: 1.8;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .06em;--tracking-wider: .12em;--tracking-widest: .2em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max: 1200px;--container-pad-x: var(--space-6);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 10px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .14);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}input,textarea,select{font:inherit;border:none;outline:none;background:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight)}p{line-height:var(--leading-normal)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.text-display{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--font-bold);font-style:italic;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-primary)}@media(max-width:767px){.text-display{font-size:var(--text-3xl)}}@media(max-width:479px){.text-display{font-size:var(--text-2xl)}}.text-h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-primary)}@media(max-width:767px){.text-h1{font-size:var(--text-2xl)}}@media(max-width:479px){.text-h1{font-size:var(--text-xl)}}.text-h2{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-snug);color:var(--color-primary)}@media(max-width:479px){.text-h2{font-size:var(--text-xl)}}.text-h3{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--color-primary)}.text-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted)}.text-body-lg{font-size:var(--text-md);line-height:var(--leading-loose);color:var(--color-text)}.text-body{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text)}.text-body-sm{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.text-caption{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-text-muted)}.pattern-divider{height:24px;background-image:repeating-linear-gradient(45deg,var(--color-primary) 0,var(--color-primary) 1px,transparent 1px,transparent 8px);opacity:.18;mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-primary{color:var(--color-primary)}.text-center{text-align:center}.text-italic{font-style:italic}.font-serif{font-family:var(--font-serif)}.text-script{font-family:var(--font-script);font-weight:700;line-height:var(--leading-snug);color:var(--color-accent)}.text-script-lg{font-family:var(--font-script);font-weight:700;font-size:var(--text-2xl);line-height:var(--leading-tight);color:var(--color-accent)}.text-script-xl{font-family:var(--font-script);font-weight:700;font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--color-accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.anim-fade-in{animation:fadeIn var(--transition-normal) both}.anim-fade-in-up{animation:fadeInUp var(--transition-slow) both}.anim-fade-in-down{animation:fadeInDown var(--transition-slow) both}.anim-slide-left{animation:slideInLeft var(--transition-slow) both}.anim-slide-right{animation:slideInRight var(--transition-slow) both}.anim-scale-in{animation:scaleIn var(--transition-normal) both}.anim-delay-1{animation-delay:80ms}.anim-delay-2{animation-delay:.16s}.anim-delay-3{animation-delay:.24s}.anim-delay-4{animation-delay:.32s}.anim-delay-5{animation-delay:.4s}.anim-delay-6{animation-delay:.48s}
