:root{--bg-primary:#faf8f5;--bg-secondary:#f3ede7;--text-primary:#2c2825;--text-secondary:#6b635b;--text-tertiary:#9a918a;--accent-primary:#c4a99e;--accent-warm:#d4a574;--accent-deep:#8b6f6f;--border-light:#e8e2dc;--overlay-dark:#1a1715;--white:#fff;--black:#000;--font-heading:"Cormorant Garamond",Georgia,serif;--font-display:"Playfair Display",Georgia,serif;--font-logo:"Bodoni Moda",Georgia,serif;--font-body:"Raleway","Helvetica Neue",sans-serif;--text-display-xl:80px;--text-display-xl-line:88px;--text-display-xl-tracking:-.02em;--text-display:64px;--text-display-line:72px;--text-display-tracking:-.02em;--text-h1:48px;--text-h1-line:56px;--text-h1-tracking:-.01em;--text-h2:36px;--text-h2-line:44px;--text-h2-tracking:-.01em;--text-h3:28px;--text-h3-line:36px;--text-h3-tracking:0em;--text-h4:22px;--text-h4-line:30px;--text-h4-tracking:.01em;--text-h5:18px;--text-h5-line:26px;--text-h5-tracking:.02em;--text-body-lg:18px;--text-body-lg-line:28px;--text-body:16px;--text-body-line:26px;--text-body-sm:14px;--text-body-sm-line:22px;--text-caption:12px;--text-caption-line:18px;--text-caption-tracking:.03em;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--space-5xl:128px;--max-width:1200px;--max-width-narrow:800px;--max-width-wide:1400px;--padding-desktop:64px;--padding-tablet:40px;--padding-mobile:24px;--nav-height-desktop:80px;--nav-height-mobile:64px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 40px #0000001f;--shadow-image:0 4px 20px #0000001a;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--transition-slower:.8s ease;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-full:9999px;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-overlay:400;--z-modal:500;--z-toast:600;--gradient-accent-fade:linear-gradient(90deg,transparent 0%,var(--accent-primary)50%,transparent 100%);--gradient-warm-fade:linear-gradient(90deg,transparent 0%,var(--accent-warm)50%,transparent 100%);--shadow-elegant:0 4px 20px #00000014,0 8px 40px #0000000a;--shadow-elegant-hover:0 8px 30px #0000001a,0 16px 60px #0000000f;--ease-elegant:cubic-bezier(.25,.1,.25,1)}@media (max-width:767px){:root{--text-display-xl:48px;--text-display-xl-line:54px;--text-display:40px;--text-display-line:46px;--text-h1:36px;--text-h1-line:42px;--text-h2:28px;--text-h2-line:34px;--text-h3:24px;--text-h3-line:30px;--text-h4:20px;--text-h4-line:26px}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--text-body-line);color:var(--text-secondary);background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:400;line-height:1.2}h1{font-size:var(--text-h1);line-height:var(--text-h1-line);letter-spacing:var(--text-h1-tracking)}h2{font-size:var(--text-h2);line-height:var(--text-h2-line);letter-spacing:var(--text-h2-tracking)}h3{font-size:var(--text-h3);line-height:var(--text-h3-line);letter-spacing:var(--text-h3-tracking)}h4{font-size:var(--text-h4);line-height:var(--text-h4-line);letter-spacing:var(--text-h4-tracking);font-family:var(--font-body);font-weight:500}h5{font-size:var(--text-h5);line-height:var(--text-h5-line);letter-spacing:var(--text-h5-tracking);font-family:var(--font-body);font-weight:500}p{margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}a{color:var(--text-secondary);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--text-primary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px}::selection{background-color:var(--accent-primary);color:var(--white)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--max-width);padding:0 var(--padding-mobile);margin:0 auto}@media (min-width:768px){.container{padding:0 var(--padding-tablet)}}@media (min-width:1024px){.container{padding:0 var(--padding-desktop)}}.grain-overlay{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' 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");width:100%;height:100%;position:fixed;top:0;left:0}.light-leak{pointer-events:none;filter:blur(80px);opacity:.15;border-radius:50%;position:absolute}.light-leak--warm{background:radial-gradient(circle,var(--accent-warm)0%,transparent 70%)}.light-leak--rose{background:radial-gradient(circle,var(--accent-primary)0%,transparent 70%)}.text-display-xl{font-family:var(--font-heading);font-size:var(--text-display-xl);line-height:var(--text-display-xl-line);letter-spacing:var(--text-display-xl-tracking);font-weight:300}.text-display{font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--text-display-line);letter-spacing:var(--text-display-tracking);font-weight:300}.text-overline{font-family:var(--font-body);font-size:var(--text-caption);line-height:var(--text-caption-line);letter-spacing:.15em;text-transform:uppercase;color:var(--text-tertiary);font-weight:500}.text-body-lg{font-size:var(--text-body-lg);line-height:var(--text-body-lg-line)}.text-caption{font-size:var(--text-caption);line-height:var(--text-caption-line);letter-spacing:var(--text-caption-tracking);color:var(--text-tertiary)}
