:root{--color-cream:#f9f6f1;--color-white:#fff;--color-ink:#0a0c0d;--color-teal:#0f4c53;--color-teal-deep:#082d31;--color-antique-gold:#cda574;--color-muted-gold:#d4b895;--color-charcoal:#141719;--color-deep-brown:#3d352f;--color-stone:#6d635b;--color-light-gray:#f0ede8;--color-border:#e0d8cf;--color-border-dark:#2a3436;--color-border-light:#f1eae2;--color-surface:#fffdfa;--color-surface-dark:#101416;--bg-primary:var(--color-cream);--bg-secondary:var(--color-surface-dark);--bg-tertiary:var(--color-white);--bg-accent:var(--color-light-gray);--text-primary:var(--color-charcoal);--text-secondary:var(--color-deep-brown);--text-light:var(--color-stone);--text-inverse:var(--color-cream);--text-inverse-secondary:#d6cbc0;--color-brand:var(--color-teal);--color-highlight:var(--color-antique-gold);--card-bg:var(--color-white);--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-8:4rem;--space-10:6rem;--space-12:8rem;--shadow-sm:0 4px 12px #0a0c0d08;--shadow-md:0 20px 40px #0a0c0d14;--shadow-lg:0 30px 60px #0a0c0d1f;--transition-fast:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.6s cubic-bezier(.16, 1, .3, 1);--transition-slow:1.2s cubic-bezier(.16, 1, .3, 1);--radius-sm:6px;--radius-md:12px;--radius-lg:24px;--radius-pill:9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);max-width:100vw;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 0 0,#0f4c530f,#0000 28%),radial-gradient(circle at 100% 0,#cda57414,#0000 24%);overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-brand)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:var(--space-3);color:var(--text-primary);font-weight:500;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem)}h2{letter-spacing:-.01em;font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:var(--space-3);color:var(--text-secondary);font-weight:400;line-height:1.7}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}.input-premium{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;font-family:var(--font-body);color:var(--text-primary);transition:all var(--transition-fast);padding:14px 18px;font-size:1rem}.input-premium:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 4px #0f4c531f}.input-premium::placeholder{color:var(--text-light)}.btn-primary{background-color:var(--color-brand);color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), background-color var(--transition-smooth), color var(--transition-smooth);border:1px solid var(--color-brand);text-align:center;box-shadow:var(--shadow-sm);padding:14px 32px;font-size:.9rem;font-weight:500;display:inline-block}.btn-primary:hover{background-color:var(--color-teal-deep);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{color:var(--text-primary);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);transition:transform var(--transition-smooth), border-color var(--transition-smooth), color var(--transition-smooth), background-color var(--transition-smooth);text-align:center;background-color:#0000;border:1px solid #1d1f2133;padding:14px 32px;font-size:.9rem;font-weight:500;display:inline-block}.btn-outline:hover{border-color:var(--color-brand);color:var(--color-brand);background-color:#0f4c530a;transform:translateY(-1px)}.btn-outline.light{color:var(--color-white);border-color:#fff6}.btn-outline.light:hover{border-color:var(--color-white);color:var(--color-white);background-color:#ffffff1a}.btn-highlight{background-color:var(--color-highlight);color:var(--color-ink);border-color:var(--color-highlight)}.btn-highlight:hover{color:var(--color-ink);background-color:#cda574e0}::selection{color:var(--color-charcoal);background:#0f4c532e}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:1s cubic-bezier(.4,0,.2,1) forwards fadeIn}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-padding{padding:var(--space-10) 0}.grain-overlay{position:relative}.grain-overlay:before{content:"";pointer-events:none;z-index:10;opacity:.03;filter:contrast(120%)brightness();background-image:url(https://grainy-gradients.vercel.app/noise.svg);width:100%;height:100%;position:absolute;top:0;left:0}.luxury-pattern{background-image:radial-gradient(var(--color-border-light) .5px, transparent .5px);background-size:24px 24px}.soft-aura{position:relative;overflow:hidden}.soft-aura:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#cda57408 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);background:#ffffffb3;border:1px solid #ffffff4d}.reveal{opacity:0;will-change:opacity, transform;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal-stagger.active>*{opacity:1;transform:translateY(0)}.reveal-stagger.active>:first-child{transition-delay:.1s}.reveal-stagger.active>:nth-child(2){transition-delay:.2s}.reveal-stagger.active>:nth-child(3){transition-delay:.3s}.reveal-stagger.active>:nth-child(4){transition-delay:.4s}.reveal-stagger.active>:nth-child(5){transition-delay:.5s}.parallax-target{will-change:transform;transform:translateY(var(--parallax-y,0)) translateZ(0)}.zoom-target{will-change:transform;transform:scale(var(--zoom-scale,1)) translateY(var(--zoom-y,0)) translateZ(0)}@media (max-width:768px){.section-padding{padding:var(--space-8) 0}}
