:root{--color-primary:#1e4d6b;--color-primary-light:#2d6a8a;--color-primary-dark:#143a52;--color-accent:#3a9d8c;--color-accent-light:#4eb8a6;--color-accent-warm:#d4a54a;--color-white:#fff;--color-off-white:#f8f9fa;--color-gray-50:#f1f3f5;--color-gray-100:#e9ecef;--color-gray-200:#dee2e6;--color-gray-300:#ced4da;--color-gray-400:#adb5bd;--color-gray-500:#868e96;--color-gray-600:#495057;--color-gray-700:#343a40;--color-gray-800:#212529;--color-gray-900:#0f1419;--color-success:#2d8a6e;--color-warning:#d4a54a;--color-error:#c53c3c;--color-info:#3a7ca5;--font-display:"Cormorant Garamond","Playfair Display",Georgia,serif;--font-heading:"Outfit","DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Source Sans 3","Open Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.8rem);--text-sm:clamp(0.875rem,0.8rem + 0.375vw,0.95rem);--text-base:clamp(1rem,0.925rem + 0.375vw,1.125rem);--text-lg:clamp(1.125rem,1rem + 0.625vw,1.35rem);--text-xl:clamp(1.25rem,1.1rem + 0.75vw,1.5rem);--text-2xl:clamp(1.5rem,1.25rem + 1.25vw,2rem);--text-3xl:clamp(1.875rem,1.5rem + 1.875vw,2.75rem);--text-4xl:clamp(2.25rem,1.75rem + 2.5vw,3.5rem);--text-5xl:clamp(3rem,2rem + 5vw,5rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--container-max:1280px;--container-narrow:720px;--container-wide:1440px;--content-width:65ch;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(30,77,107,.04);--shadow-sm:0 2px 4px rgba(30,77,107,.06),0 1px 2px rgba(30,77,107,.04);--shadow-md:0 4px 12px rgba(30,77,107,.08),0 2px 4px rgba(30,77,107,.04);--shadow-lg:0 8px 24px rgba(30,77,107,.1),0 4px 8px rgba(30,77,107,.05);--shadow-xl:0 16px 48px rgba(30,77,107,.12),0 8px 16px rgba(30,77,107,.06);--shadow-glow:0 0 24px rgba(58,157,140,.2);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--transition-spring:500ms cubic-bezier(0.34,1.56,0.64,1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-tooltip:500}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-gray-700);background-color:var(--color-white);min-height:100vh}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-gray-800);letter-spacing:-.02em}h1{font-size:var(--text-5xl);font-weight:700;letter-spacing:-.03em}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}.display-heading{font-family:var(--font-display);font-weight:500;font-size:var(--text-5xl);letter-spacing:-.01em;line-height:1.1}.subtitle{font-family:var(--font-body);font-size:var(--text-xl);font-weight:400;color:var(--color-gray-500);line-height:1.5}.overline{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent)}p{margin-bottom:var(--space-4);max-width:var(--content-width)}.lead{font-size:var(--text-lg);color:var(--color-gray-600);line-height:1.7}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-6)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{padding-block:var(--space-20)}.section--lg{padding-block:var(--space-32)}.grid{display:grid;gap:var(--space-8)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.flex{display:flex;gap:var(--space-4)}.flex--center{align-items:center;justify-content:center}.flex--between{align-items:center;justify-content:space-between}.header{position:sticky;top:0;z-index:var(--z-sticky);background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-gray-100);transition:box-shadow var(--transition-base)}.header.scrolled{box-shadow:var(--shadow-sm)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:80px}.logo{gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-primary);text-decoration:none}.logo,.logo__icon{display:flex;align-items:center;font-weight:700}.logo__icon{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-md);justify-content:center;color:var(--color-white);font-size:var(--text-lg)}.nav{display:flex;align-items:center;gap:var(--space-8)}.nav__list{display:flex;list-style:none;gap:var(--space-6)}.nav__link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;color:var(--color-gray-600);padding:var(--space-2) var(--space-1);position:relative;transition:color var(--transition-fast)}.nav__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-base)}.nav__link.active,.nav__link:hover{color:var(--color-primary)}.nav__link.active:after,.nav__link:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2)}.nav-toggle span{width:24px;height:2px;background:var(--color-gray-700);transition:transform var(--transition-base)}@media (max-width:768px){.nav-toggle{display:flex}.nav__list{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--color-white);padding:var(--space-6);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-base)}.nav__list.active{opacity:1;visibility:visible;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;cursor:pointer;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.btn--primary{background:var(--color-primary);color:var(--color-white)}.btn--primary:hover{background:var(--color-primary-light);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn--accent{background:var(--color-accent);color:var(--color-white)}.btn--accent:hover{background:var(--color-accent-light);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.hero{position:relative;min-height:85vh;display:flex;align-items:center;background:linear-gradient(165deg,var(--color-off-white) 0,var(--color-white) 40%,rgba(58,157,140,.03) 100%);overflow:hidden}.hero:before{top:-50%;right:-20%;width:80%;height:150%;background:radial-gradient(ellipse at center,rgba(58,157,140,.06) 0,transparent 70%);pointer-events:none}.hero:after,.hero:before{content:"";position:absolute}.hero:after{bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-gray-200),transparent)}.hero__content{position:relative;z-index:1;max-width:680px}.hero__overline{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.hero__overline:before{content:"";width:32px;height:2px;background:var(--color-accent)}.hero__title{margin-bottom:var(--space-6)}.hero__title span{color:var(--color-accent)}.hero__description{font-size:var(--text-lg);color:var(--color-gray-500);margin-bottom:var(--space-8);max-width:540px}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.hero__visual{position:absolute;right:0;top:50%;transform:translateY(-50%);width:45%;max-width:600px;opacity:.9}@media (max-width:1024px){.hero__visual{position:relative;width:100%;transform:none;margin-top:var(--space-12)}}.card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-8);border:1px solid var(--color-gray-100);transition:all var(--transition-base)}.card:hover{border-color:var(--color-gray-200);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(58,157,140,.1),rgba(30,77,107,.05));border-radius:var(--radius-md);margin-bottom:var(--space-5);color:var(--color-primary);font-size:var(--text-2xl)}.card__title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.card__text{color:var(--color-gray-500);margin-bottom:0}.card--featured{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:var(--color-white);border:none}.card--featured .card__icon{background:hsla(0,0%,100%,.15);color:var(--color-white)}.card--featured .card__title{color:var(--color-white)}.card--featured .card__text{color:hsla(0,0%,100%,.8)}.services{background:var(--color-off-white)}.services__header{text-align:center;max-width:640px;margin-inline:auto;margin-bottom:var(--space-16)}.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.service-card{background:var(--color-white);padding:var(--space-10);border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);position:relative;overflow:hidden;transition:all var(--transition-base)}.service-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:0;background:var(--color-accent);transition:height var(--transition-base)}.service-card:hover:before{height:100%}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service-card__number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:300;color:var(--color-gray-200);line-height:1;margin-bottom:var(--space-4)}.service-card__title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.service-card__description{color:var(--color-gray-500);margin-bottom:var(--space-5)}.service-card__link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:var(--space-2)}.service-card__link:after{content:"→";transition:transform var(--transition-fast)}.service-card:hover .service-card__link:after{transform:translateX(4px)}.stats{background:var(--color-primary);color:var(--color-white);position:relative;overflow:hidden}.stats:before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,transparent,rgba(58,157,140,.2));pointer-events:none}.stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-8);text-align:center;position:relative;z-index:1}.stat{padding:var(--space-8)}.stat__number{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:400;line-height:1;margin-bottom:var(--space-2)}.stat__label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.testimonials__header{text-align:center;max-width:640px;margin-inline:auto;margin-bottom:var(--space-16)}.testimonial{background:var(--color-white);padding:var(--space-10);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100);position:relative}.testimonial:before{content:'"';font-family:var(--font-display);font-size:120px;line-height:1;color:var(--color-gray-100);position:absolute;top:var(--space-4);left:var(--space-6)}.testimonial__content{position:relative;z-index:1}.testimonial__text{font-size:var(--text-lg);font-style:italic;color:var(--color-gray-600);margin-bottom:var(--space-6)}.testimonial__author{display:flex;align-items:center;gap:var(--space-4)}.testimonial__avatar{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-gray-200);overflow:hidden}.testimonial__name{font-family:var(--font-heading);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-1)}.testimonial__role{font-size:var(--text-sm);color:var(--color-gray-500)}.cta{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 50%,var(--color-primary) 100%);color:var(--color-white);text-align:center;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(58,157,140,.15) 0,transparent 50%);pointer-events:none}.cta__content{position:relative;z-index:1;max-width:640px;margin-inline:auto}.cta__title{color:var(--color-white);margin-bottom:var(--space-4)}.cta__description{font-size:var(--text-lg);opacity:.9;margin-bottom:var(--space-8);max-width:none}.cta .btn--accent{background:var(--color-white);color:var(--color-primary)}.cta .btn--accent:hover{background:var(--color-off-white);box-shadow:var(--shadow-lg)}.footer{background:var(--color-gray-900);color:var(--color-gray-400);padding-block:var(--space-20) var(--space-8)}.footer__grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--space-12);margin-bottom:var(--space-16)}@media (max-width:768px){.footer__grid{grid-template-columns:1fr;gap:var(--space-8)}}.footer__brand{max-width:300px}.footer__logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-white);margin-bottom:var(--space-4);text-decoration:none}.footer__logo .logo__icon{background:linear-gradient(135deg,var(--color-accent),var(--color-primary-light))}.footer__description{font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-6)}.footer__heading{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-5)}.footer__links{list-style:none}.footer__links li{margin-bottom:var(--space-3)}.footer__links a{font-size:var(--text-sm);color:var(--color-gray-400);transition:color var(--transition-fast)}.footer__links a:hover{color:var(--color-white)}.footer__contact{font-size:var(--text-sm)}.footer__contact p{margin-bottom:var(--space-2);max-width:none}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-gray-700)}.footer__copyright{font-size:var(--text-sm)}.footer__social{display:flex;gap:var(--space-4)}.footer__social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-gray-800);border-radius:var(--radius-md);color:var(--color-gray-400);transition:all var(--transition-fast)}.footer__social a:hover{background:var(--color-accent);color:var(--color-white)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700);margin-bottom:var(--space-2)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-gray-700);background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(30,77,107,.1)}.form-input::-moz-placeholder{color:var(--color-gray-400)}.form-input::placeholder{color:var(--color-gray-400)}.form-textarea{min-height:120px;resize:vertical}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-light{background-color:var(--color-off-white)}.bg-dark{background-color:var(--color-gray-900)}.mt-0{margin-top:0}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.py-8{padding-block:var(--space-8)}.py-12{padding-block:var(--space-12)}.py-16{padding-block:var(--space-16)}.py-20{padding-block:var(--space-20)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn .6s ease forwards}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in-down{animation:fadeInDown .6s ease forwards}.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}@media (max-width:640px){.hero{min-height:auto;padding-block:var(--space-16)}.hero__actions{flex-direction:column}.btn{width:100%}.section{padding-block:var(--space-12)}.stats__grid{grid-template-columns:1fr 1fr}.stat{padding:var(--space-4)}.stat__number{font-size:var(--text-3xl)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}