*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #8B0000;--color-secondary: #DC143C;--color-accent: #A52A2A;--color-light: #ffffff;--color-white: #ffffff;--color-dark: #1a1a1a;--color-gray: #6c757d;--color-gray-light: #e9ecef;--color-gray-dark: #495057;--font-primary: "Playfair Display", serif;--font-secondary: "Inter", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-xxl: 6rem;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}html{scroll-behavior:smooth;margin:0;padding:0;background-color:var(--color-white);height:100%}body{font-family:var(--font-secondary);font-size:16px;line-height:1.6;color:var(--color-dark);background-color:var(--color-white);overflow-x:hidden;cursor:default;margin:0;padding:0;height:100%;min-height:100vh}.custom-cursor{mix-blend-mode:difference}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-sm);color:var(--color-primary)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:var(--spacing-sm);color:var(--color-gray-dark)}a{text-decoration:none;color:inherit;transition:var(--transition-normal)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xxl) 0}.section-alt{background-color:var(--color-white)}.text-center{text-align:center}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-md{margin-bottom:var(--spacing-md)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-up.visible{opacity:1;transform:translateY(0)}.page-transitioning{overflow:hidden}.page-transitioning main{animation:pageFadeOut .3s ease-out}@keyframes pageFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}a,button{position:relative;overflow:hidden}a:after,button:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--color-secondary);border-radius:0 0 var(--radius-md) var(--radius-md);transition:width .4s cubic-bezier(.33,1,.68,1)}a:hover:after,button:hover:after{width:100%;left:0;transform:translate(0)}.btn:after{border-radius:0 0 var(--radius-md) var(--radius-md);height:3px}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}.area-card,.btn,.hero-content{will-change:transform}@media (max-width: 768px){.section{padding:var(--spacing-lg) 0}.container{padding:0 var(--spacing-sm)}[appParallax]{transform:none!important}}
