:root{
  --ink:#071524;
  --muted:#506878;
  --line:#d4e9f3;
  --blue:#087cf5;
  --cyan:#03c9ef;
  --pale:#effbff;
  --gradient:linear-gradient(115deg,#03c9ef 0%,#087cf5 58%,#1844dc 100%);
  --bs-body-font-family:Arial,"Helvetica Neue",sans-serif;
  --bs-body-color:#071524;
  --bs-body-bg:#fff;
}

html{scroll-behavior:smooth;scroll-padding-top:118px}
body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.045em}
p{color:var(--muted)}
img{display:block;max-width:100%}
address{font-style:normal;margin:0}
::selection{background:#b9f3ff;color:var(--ink)}
.container{max-width:1240px;padding-inline:30px}
.section-space{padding-block:95px}
.eyebrow{color:#066db4;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:10px 18px}
.skip-link:focus{top:10px}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;box-shadow:none}

.site-header{position:sticky;top:0;z-index:30;background:#fffffff2;border-bottom:1px solid #d9eaf2;box-shadow:0 12px 36px #0a5b8d0a;backdrop-filter:blur(14px)}
.navbar{min-height:112px;padding:0}
.navbar-brand{padding:0;margin-right:35px}
.brand-logo{width:116px;height:auto}
.navbar-nav{align-items:center;gap:25px}
.navbar-nav .nav-link{color:var(--ink);font-size:14px;font-weight:600;padding-block:12px}
.navbar-nav .nav-link:hover{color:var(--blue)}
.navbar-toggler{display:flex;align-items:center;gap:13px;border:0;color:var(--ink);font-size:14px;padding:10px 0}
.navbar-toggler-icon{width:23px;height:23px}
.nav-cta,.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--gradient);color:#fff;border-radius:100px;box-shadow:0 10px 24px #087cf529;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.nav-cta{padding:13px 21px;font-size:14px}
.nav-cta:hover,.primary-action:hover{background:var(--ink);color:#fff;box-shadow:none;transform:translateY(-2px)}

.hero{position:relative;isolation:isolate;overflow:hidden;padding:70px 0 90px;background:radial-gradient(circle at 82% 18%,#c9f8ff 0,transparent 31%),linear-gradient(135deg,#f6fdff 0%,#eaf8ff 100%)}
.hero::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;border-radius:50%;left:-250px;bottom:-275px;background:#03c9ef1f}
.hero h1{font-size:clamp(4rem,7vw,6.2rem);font-weight:500;color:var(--ink);margin:30px 0}
.hero-copy{font-size:18px;line-height:1.8;max-width:520px}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px;font-size:14px;font-weight:600}
.primary-action{padding:16px 23px}
.secondary-action{border-bottom:1px solid;padding-bottom:8px}
.secondary-action:hover{color:var(--blue)}
.hero-image{position:relative;overflow:hidden;min-height:530px;border:1px solid #ffffffb8;border-radius:180px 12px 12px 12px;box-shadow:0 28px 70px #0b5f8d24}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-mark{position:absolute;z-index:2;top:24px;right:24px;width:190px;height:auto;padding:12px 14px;background:#ffffffde;border:1px solid #fff;border-radius:22px;filter:drop-shadow(0 10px 14px #08335824)}
.hero-pill{position:absolute;left:25px;right:25px;bottom:25px;display:flex;justify-content:center;gap:14px;padding:17px 22px;background:#fffffff0;border-radius:100px;box-shadow:0 10px 30px #082a3b20;color:var(--ink);font-size:12px;letter-spacing:.05em}
.hero-pill i{color:var(--blue);font-style:normal}

.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:55px}
.section-heading h2{font-size:clamp(2.7rem,4.5vw,4rem);font-weight:500;max-width:790px}
.service-card{display:flex;flex-direction:column;height:100%;padding:30px;border:1px solid var(--line);border-radius:28px;box-shadow:0 14px 40px #0c5d8b0a;transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px #0c5d8b14}
.service-number{color:var(--blue);font-size:13px}
.service-card h3{font-size:28px;font-weight:500;margin:45px 0 18px}
.service-card p{font-size:16px;line-height:1.75}
.service-card small{color:#54707f;font-size:12px;margin-top:auto;padding-top:30px}

.about{background:linear-gradient(125deg,#071524 0%,#0a2d47 100%);color:#fff}
.about .eyebrow{color:#70dcff}
.about h2{font-size:clamp(2.8rem,4.5vw,4.1rem);font-weight:400;margin-top:28px}
.about-copy{color:#c7d7de;font-size:18px;line-height:1.8}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px}
.values>div{border-top:1px solid #5a7887;padding-top:17px}
.values strong,.values span{display:block}
.values strong{font-size:17px;font-weight:500}
.values span{color:#9fb7c3;font-size:13px;margin-top:5px}

.process-step>div{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#d9fbff,#dfeaff);color:#075fc3;font-size:13px}
.process-step h3{font-size:25px;font-weight:500;margin:25px 0 13px}
.process-step p{font-size:16px}

.contact{background:linear-gradient(120deg,#03c9ef 0%,#087cf5 52%,#1844dc 100%);color:#fff}
.contact .eyebrow{color:#fff;opacity:.85}
.contact h2{font-size:clamp(3.4rem,5.8vw,5.2rem);font-weight:500;margin:28px 0 35px}
.contact a{display:inline-block;font-size:clamp(1.15rem,2.1vw,1.65rem);border-bottom:1px solid;padding-bottom:10px;overflow-wrap:anywhere}
.contact a:hover{color:#fff}

.site-footer{padding:28px 0;background:#fff}
.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:25px;color:#405a69;font-size:13px}
.footer-logo{width:106px;height:auto}
.site-footer a{color:#066db4}
.site-footer a:hover{color:var(--blue)}

.error-page{min-height:100vh;display:grid;place-items:center;background:var(--pale);padding:30px;text-align:center}
.error-card{max-width:620px;padding:55px 35px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 25px 70px #0b5f8d18}
.error-card img{width:125px;margin:0 auto 35px}
.error-card span{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em}
.error-card h1{font-size:clamp(2.6rem,6vw,4.3rem);margin:22px 0}
.error-card p{font-size:17px;line-height:1.75}
.error-card a{display:inline-flex;margin-top:28px;padding:14px 22px;background:var(--gradient);color:#fff;border-radius:100px}

@media(max-width:991.98px){
  html{scroll-padding-top:90px}
  .container{padding-inline:25px}
  .navbar{min-height:88px}
  .brand-logo{width:92px}
  .navbar-nav{align-items:stretch;gap:0;padding:12px 0 24px}
  .navbar-nav .nav-link{border-bottom:1px solid var(--line);padding-block:14px}
  .nav-cta{display:flex;justify-content:space-between;margin-top:15px}
  .hero-image{min-height:440px}
  .hero-mark{width:160px}
}

@media(max-width:767.98px){
  .section-space{padding-block:65px}
  .hero{padding:52px 0 65px}
  .hero h1{font-size:clamp(3.7rem,14vw,5rem)}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .hero-image{min-height:360px;border-radius:110px 12px 12px 12px}
  .hero-mark{top:18px;right:18px;width:140px;padding:10px 12px;border-radius:18px}
  .hero-pill{left:16px;right:16px;bottom:16px;gap:8px;padding:14px 12px;font-size:12px}
  .section-heading{display:block}
  .section-heading h2{font-size:2.8rem;margin-top:22px}
  .service-card h3{margin-top:30px}
  .values{grid-template-columns:1fr}
  .values>div{padding-block:14px}
  .contact h2{font-size:3.4rem}
  .site-footer .container{flex-wrap:wrap}
  .footer-logo{width:96px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
