:root{--primary-color: #1a202c;--primary-light: #2d3748;--primary-dark: #000000;--secondary-color: #718096;--secondary-blue: #4a90e2;--accent-color: #d4967d;--accent-color2: #eef3ae;--accent-light: #FFF8F0;--accent-blue: #aabfd5;--white: #ffffff;--background: #ffffff;--background-alt: #f7fafc;--error-color: #ef4444;--error-color-rgb: 239, 68, 68;--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-headline: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-family-2: "Plus Jakarta Sans", sans-serif;--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;--space-32: 8rem;--radius-none: 0;--radius-sm: .125rem;--radius: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-fixed: 1030;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;width:100%}body{font-family:var(--font-family);color:#2d3748;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;max-width:100%;letter-spacing:-.01em}.fs-sm{font-size:clamp(.95rem,.9rem + .4vw,1.15rem);line-height:1.4}.fs-body,body,p,li,button,input,textarea{font-size:clamp(1.15rem,1rem + .8vw,1.4rem);line-height:1.6}.fs-h6,h6{font-size:clamp(1.2rem,1.05rem + .9vw,1.5rem);line-height:1.4}.fs-h5,h5{font-size:clamp(1.15rem,1rem + .9vw,1.4rem);line-height:1.4}.fs-h4,h4{font-size:clamp(1.25rem,1rem + 1vw,1.5rem);line-height:1.3}.fs-h3,h3{font-size:clamp(1.5rem,1.2rem + 1.5vw,2rem);line-height:1.25}.fs-h2,h2{font-size:clamp(1.75rem,1.2rem + 1.7vw,2.75rem);line-height:1.2}.fs-h1,h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.1}.fs-huge{font-size:clamp(6rem,5.5rem + 2vw,7rem);line-height:.9}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-weight:500;border:2px solid var(--primary-color);border-radius:50px;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;background:transparent;color:var(--primary-color);text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden;min-width:160px;margin:.5rem}.btn:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--primary-color);transition:width .3s ease;z-index:-1}.btn:hover:before{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.btn-primary:before{background:var(--primary-dark)}.btn-primary:hover:not(:disabled){color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-secondary{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:before{background:var(--primary-color)}.btn-secondary:hover:not(:disabled){color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:before{background:var(--primary-color)}.btn-outline:hover:not(:disabled){color:var(--white);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--secondary-color);border:none}.btn-ghost:before{background:var(--background-alt)}.btn-ghost:hover:not(:disabled){color:var(--primary-color);transform:translateY(-1px)}button{margin:.5rem}.hero-cta-button{background-color:var(--white);color:var(--primary-color);border:2px solid var(--primary-dark);border-bottom:5px solid var(--secondary-color);border-right:5px solid var(--secondary-color);font-weight:500;font-family:var(--font-family);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;border-radius:8px;display:block;text-decoration:none;position:relative;overflow:hidden;padding:1rem 2rem;z-index:0;width:fit-content}.hero-cta-button:before{content:"";position:absolute;top:0;left:0;bottom:0;width:0;height:calc(100% + 2px);background-color:var(--primary-color);border-radius:1px 3px 3px 6px;z-index:-1;transition:width .4s ease}.hero-cta-button:hover:before{width:100%}.hero-cta-button:hover{color:var(--white);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #00000026}.container{width:100%;max-width:2200px;margin:0 auto;padding:0 var(--space-4)}.container-wide{max-width:1400px}.container-narrow{max-width:800px}.grid{display:grid;gap:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.text-left{text-align:left}.font-bold{font-weight:700}.text-white{color:#fff}.text-primary{color:var(--primary-color)}.bg-white{background-color:#fff}.bg-primary{background-color:var(--primary-color)}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.hidden{display:none}@media (max-width: 1800px){html{font-size:14px}}@media (max-width: 900px){.container{padding:0 var(--space-4)}.btn,button{margin:.35rem;width:100%;max-width:500px;padding:var(--space-4) var(--space-8);min-width:auto;box-sizing:border-box;display:block}body{font-size:1rem}}@media (max-width: 480px){.container{padding:0 var(--space-3)}.btn,button{margin:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes underlineDraw{0%{width:0}to{width:100%}}@keyframes flow-lines{0%{transform:translate(-100%)}to{transform:translate(100%)}}.btn:focus,a:focus{outline:2px solid var(--primary-color);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-color);color:#fff;padding:8px;text-decoration:none;border-radius:var(--radius);z-index:var(--z-tooltip)}.skip-link:focus{top:6px}@media print{.no-print{display:none}body{background:#fff;color:#1a202c}a{color:#1a202c}}h1,h2,h3,h4,h5,h6,.section-title,.text-headline,.service-title,.feature-title{font-family:var(--font-family-headline);letter-spacing:-.02em;font-weight:400;color:var(--primary-color)}.section-title,.text-headline{letter-spacing:-.01em;font-weight:500}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:#fff;overflow-x:hidden;width:100%;max-width:100%}.main-content{min-height:100vh;padding-top:80px}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}.home-page,.about-page,.services-page,.contact-page{min-height:100vh;display:flex;flex-direction:column}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-title{font-weight:700;color:#171923;margin-bottom:var(--space-4)}.section-subtitle{color:#4a5568;max-width:600px;margin:0 auto}.services-grid,.stats-grid{display:grid;gap:var(--space-8)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:center}section{padding:var(--space-16) 0}.footer .container{background:transparent}.hero-subtitle strong{position:relative;display:inline-block}.hero-subtitle strong:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:5px;background-color:var(--secondary-color);animation:underlineDraw 4s ease-out .5s forwards;z-index:20}
