:root{--primary:#0aa4e3;--secondary:#f4ae19;--primary-dark:#0888c2;--secondary-dark:#d99a0f;--text-dark:#1a1a2e;--text-muted:#5c5c6f;--white:#fff;--off-white:#f8fafc;--border:#e2e8f0;--shadow:0 4px 24px #0a244014;--shadow-lg:0 12px 40px #0a24401f;--radius:12px;--section-padding:60px;--max-width:1200px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--fs-body:1rem;--fs-body-lg:1.0625rem;--fs-small:.875rem;--fs-caption:.8125rem;--fs-overline:.8125rem;--fs-tiny:.75rem;--fs-h1:clamp(2rem, 4vw, 2.75rem);--fs-h2:clamp(1.625rem, 2.75vw, 2.125rem);--fs-h3:clamp(1.1875rem, 2vw, 1.375rem);--fs-h4:clamp(1.0625rem, 1.65vw, 1.1875rem);--fs-h5:1rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-h1:1.15;--lh-h2:1.22;--lh-h3:1.35;--lh-h4:1.4;--lh-h5:1.45;--lh-body:1.6;--lh-body-lg:1.7}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);color:var(--text-dark);background-color:var(--white);-webkit-font-smoothing:antialiased;margin:0}section:not(#home){content-visibility:auto;contain-intrinsic-size:900px}h1{font-family:var(--font-sans);font-size:var(--fs-h1);font-weight:var(--fw-bold);line-height:var(--lh-h1);letter-spacing:-.02em;color:inherit;margin:0 0 .5em}h2{font-family:var(--font-sans);font-size:var(--fs-h2);font-weight:var(--fw-semibold);line-height:var(--lh-h2);letter-spacing:-.02em;color:inherit;margin:0 0 .65em}h3{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-medium);line-height:var(--lh-h3);color:inherit;margin:0 0 .5em}h4{font-family:var(--font-sans);font-size:var(--fs-h4);font-weight:var(--fw-medium);line-height:var(--lh-h4);color:inherit;margin:0 0 .45em}h5{font-family:var(--font-sans);font-size:var(--fs-h5);font-weight:var(--fw-semibold);line-height:var(--lh-h5);color:inherit;margin:0 0 .4em}p{font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);margin:0 0 1em}p:last-child{margin-bottom:0}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--secondary-dark)}.u-bold,.font-bold{font-weight:var(--fw-bold)}.u-italic,.font-italic{font-style:italic}.text-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg)}.text-small{font-size:var(--fs-small);line-height:var(--lh-body)}.text-caption{font-size:var(--fs-caption);line-height:var(--lh-body)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.875rem 1.75rem;line-height:1.25;text-decoration:none;transition:background-color .2s,color .2s,transform .15s;display:inline-flex}.btn--primary{background-color:var(--primary);color:var(--white)}.btn--primary:hover,.btn--secondary{background-color:var(--secondary);color:var(--text-dark)}.btn--secondary:hover{background-color:var(--primary);color:var(--white)}.btn--gradient{background:linear-gradient(90deg, var(--primary), var(--secondary));color:var(--text-dark);border:1px solid #ffffff38;box-shadow:0 10px 28px #0aa4e324,0 10px 28px #f4ae191f}.btn--gradient:hover{background:linear-gradient(90deg, var(--secondary), var(--primary));color:var(--text-dark)}.btn:active{transform:translateY(1px)}.social-icons{align-items:center;gap:.35rem;display:flex}.social-icons--topbar{gap:.25rem}.social-icons--footer{gap:.5rem}.social-icons__link{width:40px;height:40px;color:inherit;border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,color .2s,transform .15s;display:inline-flex}.social-icons--topbar .social-icons__link{width:36px;height:36px}.social-icons__link:hover{transform:translateY(-1px)}.social-icons__svg{flex-shrink:0;display:block}.topbar{background:linear-gradient(135deg, var(--primary) 0%, #0890c9 55%, var(--primary) 100%);color:var(--white);font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:var(--lh-body);border-bottom:3px solid var(--secondary)}.topbar__inner{max-width:var(--max-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:0 auto;padding:.5rem 1.25rem;display:flex}.topbar__left,.topbar__right{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}@media (width<=767px){.topbar__inner{flex-direction:column;justify-content:center}.topbar__left,.topbar__right{justify-content:center}.topbar__left{display:none}}.topbar .social-icons__link{color:var(--white);background:#ffffff24}.topbar .social-icons__link:hover{background:var(--secondary);color:var(--text-dark)}.topbar__link{color:var(--white);align-items:center;gap:.4rem;font-weight:500;text-decoration:none;display:inline-flex}.topbar__link:hover{color:var(--white);text-decoration:underline;-webkit-text-decoration-color:var(--secondary);text-decoration-color:var(--secondary)}.topbar__icon{opacity:.95;display:flex}.navbar{position:relative}.navbar__toggle{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;display:flex}.navbar__toggle:hover{background-color:var(--off-white)}@media (width>=768px){.navbar__toggle{display:none}}.navbar__toggle-bar{background-color:var(--text-dark);border-radius:1px;width:22px;height:2px;margin:0 auto;transition:transform .2s,opacity .2s;display:block}.navbar__list{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);min-width:min(100vw - 2.5rem,320px);max-height:min(85vh,720px);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;z-index:120;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;transition:opacity .2s,visibility .2s,transform .2s;display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;transform:translateY(-8px)}.navbar__list--open{opacity:1;visibility:visible;transform:translateY(0)}@media (width>=768px){.navbar__list{min-width:unset;max-height:none;box-shadow:none;opacity:1;visibility:visible;background:0 0;border:none;flex-direction:row;align-items:stretch;gap:.15rem;position:static;overflow:visible;transform:none}}.navbar__item{margin:0}.navbar__item--dropdown{flex-direction:column;display:flex;position:relative}@media (width>=768px){.navbar__item--dropdown{align-items:stretch}}.navbar__link{color:var(--text-dark);font-weight:var(--fw-medium);font-size:var(--fs-small);line-height:var(--lh-body);border-radius:var(--radius);padding:.75rem 1.25rem;text-decoration:none;display:block}.navbar__link:hover{color:var(--secondary-dark);background-color:#f4ae1924}@media (width>=768px){.navbar__link{padding:.5rem .85rem}}.navbar__item--cta{padding:0 1rem .9rem}.navbar__cta-link{width:100%}@media (width>=768px){.navbar__item--cta{display:none}}.navbar__trigger{cursor:pointer;width:100%;color:var(--text-dark);font-weight:var(--fw-medium);font-size:var(--fs-small);line-height:var(--lh-body);text-align:left;border-radius:var(--radius);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.35rem;padding:.75rem 1.25rem;font-family:inherit;display:flex}.navbar__trigger:hover{color:var(--secondary-dark);background-color:#f4ae1924}@media (width>=768px){.navbar__trigger{justify-content:flex-start;width:auto;padding:.5rem .65rem .5rem .85rem}}.navbar__chevron{width:1.125rem;height:1.125rem;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.navbar__item--services-open .navbar__chevron{color:var(--secondary-dark);transform:rotate(180deg)}.navbar__mega{border-radius:0 0 var(--radius) var(--radius);flex-direction:column;gap:.5rem;padding:0 .5rem .75rem;display:none}@media (width<=767px){.navbar__mega--open{display:flex}}@media (width>=768px){.navbar__mega{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:min(720px,100vw - 2rem);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:130;gap:.65rem;padding:1rem;transition:opacity .2s,visibility .2s,transform .2s;display:grid;position:absolute;top:calc(100% + .25rem);right:0;transform:translateY(6px)}.navbar__mega--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}.navbar__mega-list{grid-template-columns:1fr;gap:.2rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.navbar__mega-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.navbar__mega-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}}.navbar__mega-link{color:var(--text-dark);font-size:var(--fs-caption);font-weight:var(--fw-medium);border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .65rem;line-height:1.35;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.navbar__mega-link:hover{color:var(--primary-dark);background-color:#0aa4e31a}.navbar__mega-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.navbar__mega-icon{color:var(--primary);flex-shrink:0}.navbar__mega-label{flex:1;min-width:0}.navbar__mega-all{text-align:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--primary-dark);border-radius:var(--radius);border:1px dashed var(--border);margin:.15rem .35rem 0;padding:.5rem .65rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:block}.navbar__mega-all:hover{background-color:var(--off-white);border-color:var(--primary)}@media (width>=768px){.navbar__mega-all{margin:0}}.header{z-index:100;background-color:var(--white);box-shadow:0 1px 0 var(--border), var(--shadow);position:sticky;top:0;overflow:visible}.header:after{content:"";background:linear-gradient(90deg, var(--primary), var(--secondary));height:3px;display:block}.header__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.75rem 1.25rem;display:flex}.header__right{align-items:center;gap:.9rem;display:flex}.header__estimate{white-space:nowrap;display:none}@media (width>=768px){.header__estimate{display:inline-flex}}.header__logo{flex-shrink:0;align-items:center;line-height:0;text-decoration:none;display:flex}.header__logo:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:6px}.header__logo-img{object-fit:contain;object-position:left center;width:auto;max-width:min(320px,72vw);height:clamp(52px,11vw,76px);display:block}.header__logo:hover .header__logo-img{opacity:.92}.hero{isolation:isolate;background-color:#0a1628;justify-content:center;align-items:center;min-height:min(88vh,820px);padding:4.5rem 1.25rem 5.5rem;display:flex;position:relative;overflow:hidden}@media (width<=639px){.hero{min-height:min(92vh,780px);padding:3.5rem 1rem 6rem}}.hero__bg-stack{z-index:0;position:absolute;inset:0}.hero__bg-layer{will-change:opacity, transform;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}@media (width<=767px){.hero__bg-layer{background-position:50% 30%}}.hero__overlay{z-index:1;pointer-events:none;background:linear-gradient(135deg,#081830d1 0%,#0a34488c 40%,#0aa4e340 100%);position:absolute;inset:0}.hero__vignette{z-index:1;pointer-events:none;background:radial-gradient(90% 70%,#0000 0%,#00000073 100%);position:absolute;inset:0}.hero__shell{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:800px;margin:0 auto;padding:0 1rem;display:flex;position:relative}.hero__content{text-align:center;width:100%}.hero__icon-wrap{background:linear-gradient(145deg,#0aa4e347 0%,#f4ae192e 100%);border:1px solid #ffffff38;border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;animation:5s ease-in-out infinite hero-icon-float;display:inline-flex;position:relative;overflow:hidden}@media (prefers-reduced-motion:reduce){.hero__icon-wrap{animation:none}}@keyframes hero-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero__icon-glow{opacity:.35;background:conic-gradient(from 180deg,#0aa4e373,#f4ae1966,#0aa4e340,#f4ae1959);animation:10s linear infinite hero-icon-spin;position:absolute;inset:-45%}@media (prefers-reduced-motion:reduce){.hero__icon-glow{opacity:.2;animation:none}}@keyframes hero-icon-spin{to{transform:rotate(360deg)}}.hero__icon-svg{z-index:1;color:var(--primary);filter:drop-shadow(0 2px 12px #0006);position:relative}.hero__kicker{font-size:var(--fs-overline);font-weight:var(--fw-bold);line-height:var(--lh-h5);text-transform:uppercase;letter-spacing:.14em;color:var(--secondary);text-shadow:0 2px 16px #00000059;margin:0 0 .65rem}.hero__title{color:var(--white);text-shadow:0 2px 28px #00000073;margin:0 0 1rem}.hero__desc{max-width:640px;font-size:var(--fs-body-lg);font-weight:var(--fw-regular);line-height:var(--lh-body-lg);color:#fffffff0;text-shadow:0 1px 12px #00000040;margin:0 auto 1.75rem}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem 1rem;display:flex}.hero__btn{min-width:140px}@media (width<=419px){.hero__btn{width:100%;min-width:unset}}.hero__controls{z-index:3;left:max(.5rem, env(safe-area-inset-left,0px));right:max(.5rem, env(safe-area-inset-right,0px));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@media (width<=639px){.hero__controls{justify-content:center;gap:2rem;top:auto;bottom:5.5rem;transform:none}}.hero__arrow{pointer-events:auto;width:48px;height:48px;color:var(--white);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;transition:background .25s,border-color .25s,transform .2s,box-shadow .25s;display:flex}.hero__arrow:hover{background:#0aa4e359;border-color:#0aa4e38c;box-shadow:0 8px 28px #0003}.hero__arrow:active{transform:scale(.96)}.hero__arrow:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.hero__dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:0 1rem;display:flex}.hero__dot{cursor:pointer;background:#ffffff59;border:none;border-radius:999px;width:10px;height:10px;padding:0;transition:transform .25s,background .25s,width .25s}.hero__dot:hover{background:#ffffffa6;transform:scale(1.15)}.hero__dot--active{background:linear-gradient(90deg, var(--primary), var(--secondary));width:28px;box-shadow:0 2px 12px #0aa4e373}.hero__dot:focus-visible{outline:2px solid var(--white);outline-offset:3px}.floatingActions{z-index:250;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.65rem;display:flex;position:fixed;bottom:1rem;right:1rem}.floatingActions__btn{pointer-events:auto;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:linear-gradient(120deg,#ffffff2e 0%,#ffffff0d 45%,#ffffff1f 100%);border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.6rem;padding:.65rem .8rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 38px #0a244033,0 6px 18px #f4ae1914}.floatingActions__btn:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 20%,#0aa4e359,#0000 55%);animation:4.8s ease-in-out infinite floatingGlow;position:absolute;inset:-40%;transform:translate(-10px,10px)}.floatingActions__btn:after{content:"";opacity:.22;pointer-events:none;background:linear-gradient(90deg,#0aa4e338,#f4ae192e);position:absolute;inset:0}@keyframes floatingGlow{0%,to{opacity:.9;transform:translate(-10px,10px)}50%{opacity:.65;transform:translate(12px,-6px)}}.floatingActions__icon{z-index:1;color:var(--white);background:linear-gradient(135deg,#0aa4e38c,#f4ae1973);border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.floatingActions__text{z-index:1;color:#fffffffa;font-weight:var(--fw-semibold);font-size:var(--fs-small);white-space:nowrap;padding-right:.1rem;line-height:1.2;position:relative}.floatingActions__btn--call{background:linear-gradient(90deg,#0aa4e38c,#f4ae1961)}.floatingActions__btn--top{background:linear-gradient(90deg,#0aa4e366,#f4ae1942)}.floatingActions__btn:hover{transform:translateY(-2px)}.floatingActions__btn:hover .floatingActions__icon{border-color:#ffffff6b}.floatingActions__btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (width<=560px){.floatingActions{bottom:.75rem;right:.75rem}.floatingActions__text{display:none}.floatingActions__btn{padding:.62rem .7rem}}@media (prefers-reduced-motion:reduce){.floatingActions__btn:before{animation:none}}
