:root{--primary: #1a5f4a;--primary-light: #2d8b6e;--primary-dark: #0d3d2e;--accent: #ff6b35;--accent-light: #ff8c5a;--accent-dark: #e55520;--secondary: #4ecdc4;--secondary-light: #7eddd6;--secondary-dark: #3aa39b;--white: #ffffff;--off-white: #f8f9fa;--gray-100: #f1f3f5;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--black: #0a0a0a;--gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);--gradient-accent: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);--gradient-hero: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.7) 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.05) 100%);--font-primary: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Playfair Display", Georgia, serif;--section-padding: clamp(4rem, 10vw, 8rem);--container-max: 1400px;--container-padding: clamp(1rem, 5vw, 3rem);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.12);--shadow-lg: 0 8px 32px rgba(0,0,0,.16);--shadow-xl: 0 16px 48px rgba(0,0,0,.2);--shadow-glow: 0 0 40px rgba(78, 205, 196, .3);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-primary);font-weight:400;line-height:1.6;color:var(--gray-800);background-color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--gray-900)}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}p{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--gray-600)}a{text-decoration:none;color:inherit;transition:var(--transition-fast)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--section-padding) 0}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-accent{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-family:var(--font-primary);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-base);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-accent);color:var(--white);box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--white);border:2px solid var(--white)}.btn-secondary:hover{background:var(--white);color:var(--primary)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--white)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateY(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-20px)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-10px)}90%{transform:translateY(-4px)}}@keyframes wave{0%{transform:translate(0) translateZ(0) scaleY(1)}50%{transform:translate(-25%) translateZ(0) scaleY(.55)}to{transform:translate(-50%) translateZ(0) scaleY(1)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .8s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .8s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .8s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-left.active{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-right.active{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.8);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-scale.active{opacity:1;transform:scale(1)}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition-base)}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.section-header{text-align:center;max-width:700px;margin:0 auto 4rem}.section-label{display:inline-block;padding:.5rem 1.5rem;background:var(--gradient-primary);color:var(--white);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:var(--radius-full);margin-bottom:1rem}.section-title{margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:var(--gray-600)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--white);animation:bounce 2s ease infinite}.scroll-indicator span{font-size:.75rem;text-transform:uppercase;letter-spacing:2px}.scroll-indicator svg{width:24px;height:24px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}::selection{background:var(--primary);color:var(--white)}@media(max-width:1200px){:root{--section-padding: clamp(3rem, 8vw, 6rem)}}@media(max-width:768px){:root{--section-padding: clamp(2.5rem, 6vw, 4rem)}.btn{padding:.875rem 1.5rem;font-size:.9rem}}@media(max-width:480px){:root{--section-padding: 2rem}}
