:root{--navy:#1a2f4a;--navy-dark:#0f1c2e;--blue:#3d7cc9;--blue-light:#5a9de8;--blue-pale:#e8f1fb;--white:#fff;--gray-50:#f7f9fc;--gray-100:#eef2f7;--gray-200:#d8e0eb;--gray-500:#64748b;--gray-700:#334155;--text:#1e293b;--shadow:0 4px 24px #1a2f4a14;--shadow-lg:0 12px 48px #1a2f4a24;--radius:12px;--radius-lg:20px;--header-h:72px;--font:"Inter", system-ui, -apple-system, sans-serif;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{font-family:var(--font);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--blue);transition:color var(--transition);text-decoration:none}a:hover{color:var(--blue-light)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}address{font-style:normal}.container{width:min(1120px,100% - 2rem);margin-inline:auto}.section{padding:5rem 0}.section__header{text-align:center;max-width:640px;margin:0 auto 3rem}.section__header--left{text-align:left;margin-left:0;margin-right:0}.section__header--light .section__title,.section__header--light .section__desc{color:var(--white)}.section__header--light .section__desc a{color:var(--blue-light)}.section__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.section__header--light .section__eyebrow{color:var(--blue-light)}.section__title{color:var(--navy);margin-bottom:.75rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.25}.section__desc{color:var(--gray-500);font-size:1.0625rem}.text-gradient{background:linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{transition:transform var(--transition), box-shadow var(--transition), background var(--transition);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:linear-gradient(135deg, var(--blue) 0%, #2d6aad 100%);color:var(--white);box-shadow:0 4px 16px #3d7cc959}.btn--primary:hover{color:var(--white);box-shadow:0 6px 24px #3d7cc973}.btn--outline{border:2px solid var(--gray-200);color:var(--navy);background:var(--white)}.btn--outline:hover{border-color:var(--blue);color:var(--blue)}.header{z-index:100;height:var(--header-h);transition:background var(--transition), box-shadow var(--transition);position:fixed;top:0;left:0;right:0}.header--scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#fffffff2}.header__inner{justify-content:space-between;align-items:center;width:min(1120px,100% - 2rem);height:100%;margin-inline:auto;display:flex}.header__brand{color:var(--navy);align-items:center;gap:.75rem;text-decoration:none;display:flex}.header__brand:hover{color:var(--navy)}.header__logo{object-fit:contain;width:auto;height:44px}.header__name{flex-direction:column;line-height:1.2;display:flex}.header__name-full{font-size:.9375rem;font-weight:700}.header__name-short{letter-spacing:.04em;font-size:.875rem;font-weight:700;display:none}.header__nav{align-items:center;gap:2rem;display:flex}.header__nav ul{gap:1.75rem;list-style:none;display:flex}.header__nav a{color:var(--gray-700);font-size:.9375rem;font-weight:500}.header__nav a:hover{color:var(--blue)}.header__cta{padding:.5rem 1.25rem;font-size:.875rem}.header__toggle{flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;display:none}.header__toggle span{background:var(--navy);height:2px;transition:transform var(--transition), opacity var(--transition);border-radius:2px;display:block}.hero{min-height:100vh;padding:calc(var(--header-h) + 3rem) 0 4rem;grid-template-columns:1fr;align-items:center;display:grid;position:relative;overflow:hidden}.hero__bg{background:linear-gradient(160deg, var(--gray-50) 0%, var(--white) 45%, var(--blue-pale) 100%);z-index:-1;position:absolute;inset:0}.hero__grid{background-image:linear-gradient(#3d7cc90a 1px,#0000 1px),linear-gradient(90deg,#3d7cc90a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 20%,#0000 70%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 20%,#0000 70%)}.hero__orb{filter:blur(80px);opacity:.5;border-radius:50%;position:absolute}.hero__orb--1{background:#3d7cc933;width:400px;height:400px;top:-100px;right:-80px}.hero__orb--2{background:#1a2f4a1f;width:300px;height:300px;bottom:10%;left:-60px}.hero{gap:2rem}@media (width>=900px){.hero{grid-template-columns:1.1fr .9fr;column-gap:3rem;padding-inline:max(1rem,50% - 560px)}.hero__content{padding-left:0}.hero__visual{justify-self:end}}.hero__content{width:min(1120px,100% - 2rem);margin-inline:auto}@media (width>=900px){.hero__content{width:auto;margin-inline:0}}.hero__badge{color:var(--blue);background:var(--white);border:1px solid var(--gray-200);border-radius:999px;margin-bottom:1.25rem;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;display:inline-block}.hero__title{color:var(--navy);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15}.hero__subtitle{color:var(--blue);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.hero__lead{color:var(--gray-500);max-width:520px;margin-bottom:2rem;font-size:1.0625rem}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;display:flex}.hero__stats{border-top:1px solid var(--gray-200);flex-wrap:wrap;gap:2rem;padding-top:1.5rem;display:flex}.hero__stat strong{color:var(--navy);font-size:1.25rem;font-weight:700;display:block}.hero__stat span{color:var(--gray-500);font-size:.8125rem}.hero__visual{justify-content:center;width:min(1120px,100% - 2rem);margin-inline:auto;display:flex}@media (width>=900px){.hero__visual{width:auto;margin-inline:0}}.hero__logo-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);padding:2.5rem}.hero__logo-img{width:min(320px,70vw);margin:0 auto}.services{background:var(--gray-50)}.services__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.service-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-100);box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition);padding:1.75rem}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service-card__icon{background:var(--blue-pale);width:48px;height:48px;color:var(--blue);border-radius:10px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.service-card__icon svg{width:26px;height:26px}.service-card__title{color:var(--navy);margin-bottom:.5rem;font-size:1.0625rem;font-weight:700}.service-card__text{color:var(--gray-500);font-size:.9375rem;line-height:1.55}.contact{background:linear-gradient(160deg, var(--navy-dark) 0%, var(--navy) 100%)}.contact__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.contact-card{border-radius:var(--radius);transition:background var(--transition), border-color var(--transition);background:#ffffff0f;border:1px solid #ffffff1f;padding:1.75rem;position:relative}.contact-card:hover{background:#ffffff1a;border-color:#fff3}.contact-card--primary{background:#3d7cc933;border-color:#5a9de866}.contact-card__badge{text-transform:uppercase;letter-spacing:.06em;color:var(--blue-light);background:#ffffff1f;border-radius:4px;padding:.25rem .5rem;font-size:.6875rem;font-weight:700;position:absolute;top:1rem;right:1rem}.contact-card__name{color:var(--white);margin-bottom:.25rem;font-size:1.125rem;font-weight:700}.contact-card__role{color:#fff9;margin-bottom:1.25rem;font-size:.875rem}.contact-card__details{flex-direction:column;gap:.75rem;list-style:none;display:flex}.contact-card__label{text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;margin-bottom:.15rem;font-size:.6875rem;font-weight:600;display:block}.contact-card__details a{color:var(--blue-light);font-weight:500}.contact-card__details a:hover{color:var(--white)}.location__layout{grid-template-columns:1fr;align-items:start;gap:2.5rem;display:grid}@media (width>=768px){.location__layout{grid-template-columns:1fr 1.2fr;gap:3rem}}.location__address{color:var(--gray-700);margin-bottom:1.5rem;font-size:1.0625rem;line-height:1.7}.location__coords{gap:1rem;margin-bottom:2rem;display:grid}.location__coords dt{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.location__coords dd{color:var(--navy);font-size:.9375rem;font-weight:500}.location__map-wrap{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);min-height:320px;overflow:hidden}.location__map{border:0;width:100%;height:100%;min-height:360px;display:block}.footer{background:var(--navy-dark);color:#ffffffbf;padding-top:3rem}.footer__inner{grid-template-columns:1fr;gap:2rem;padding-bottom:2.5rem;display:grid}@media (width>=768px){.footer__inner{grid-template-columns:1.5fr 1fr 1fr;align-items:start}}.footer__brand{align-items:flex-start;gap:1rem;display:flex}.footer__logo{background:var(--white);border-radius:8px;width:auto;height:48px;padding:4px}.footer__name{color:var(--white);margin-bottom:.35rem;font-size:.9375rem;font-weight:700}.footer__tagline{font-size:.8125rem;line-height:1.5}.footer__nav{flex-direction:column;gap:.5rem;display:flex}.footer__nav a{color:#ffffffbf;font-size:.9375rem}.footer__nav a:hover{color:var(--white)}.footer__contact a{color:var(--blue-light);margin-bottom:.5rem;font-weight:500;display:block}.footer__contact p{font-size:.875rem;line-height:1.6}.footer__bottom{border-top:1px solid #ffffff1a;padding:1.25rem 0}.footer__bottom p{text-align:center;color:#ffffff80;font-size:.8125rem}@media (width<=768px){.header__name-full{display:none}.header__name-short{display:block}.header__toggle{z-index:110;display:flex}.header__nav{background:var(--white);opacity:0;visibility:hidden;transition:opacity var(--transition), visibility var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:2rem;position:fixed;inset:0}.header__nav--open{opacity:1;visibility:visible}.header__nav ul{flex-direction:column;align-items:center;gap:1.5rem}.header__nav a{font-size:1.125rem}}
