 :root{
  --navy:#08264d;
  --blue:#1676c7;
  --blue-2:#dfefff;
  --soft:#f5faff;
  --text:#26384d;
  --muted:#66788e;
  --white:#ffffff;
  --line:#e7f1fb;
  --shadow:0 18px 45px rgba(13, 73, 120, .12);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fff 0%,#f4f9ff 55%,#fff 100%);
  line-height:1.7;
}

img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,92vw);margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:10;
  padding:12px 0;
  background:rgba(246,250,255,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(215,232,248,.8);
}
.nav{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 22px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 30px rgba(20,80,130,.08);
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--navy);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:20px;
}
.brand-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  color:white;
  background:linear-gradient(135deg,#1676c7,#55a8eb);
}
.menu{display:flex;gap:24px}
.menu a{
  text-decoration:none;
  color:var(--muted);
  font-weight:600;
}
.header-contact{
  display:flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  color:var(--navy);
  font-weight:700;
}
.header-contact a{text-decoration:none;color:var(--navy)}

.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 56px;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 30%,rgba(88,166,232,.26),transparent 34%),
    radial-gradient(circle at 15% 80%,rgba(122,197,255,.26),transparent 30%),
    linear-gradient(180deg,#fff 0%,#eef7ff 100%);
  z-index:-1;
}
.hero-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:48px;
  align-items:center;
}
.eyebrow{
  color:var(--blue);
  font-weight:800;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
h1,h2,h3{color:var(--navy);line-height:1.1;margin:0}
h1{
  font-size:clamp(42px,5vw,68px);
  letter-spacing:-.055em;
  margin:14px 0 24px;
}
h2{
  font-size:clamp(30px,3.2vw,44px);
  letter-spacing:-.035em;
}
h3{
  font-size:22px;
  letter-spacing:-.025em;
}
p{margin:0 0 18px;color:var(--muted)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  padding:15px 26px;
  border-radius:999px;
  background:linear-gradient(135deg,#1676c7,#4da6e8);
  color:white;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 16px 30px rgba(22,118,199,.25);
}
.hero-visual{
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.hero-visual img{
  width:100%;
  height:520px;
  object-fit:cover;
}

.section{padding:82px 0}
.section-title{
  text-align:center;
  margin-bottom:44px;
}
.section-title .eyebrow{margin-bottom:10px}

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.card{
  overflow:hidden;
  border-radius:var(--radius);
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(13,73,120,.16);
}
.card img{
  width:100%;
  height:270px;
  object-fit:cover;
  background:var(--soft);
}
.card-body{padding:28px}
.card-body p{
  font-size:15px;
  margin-top:16px;
}

.contact-section{
  padding-top:40px;
}
.contact-card{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  overflow:hidden;
  border-radius:var(--radius);
  background:white;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.map-wrap iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
  filter:saturate(.9) contrast(.96);
}
.contact-info{
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
}
.info-row{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:18px;
  align-items:start;
  color:var(--text);
}
.info-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:var(--blue);
  background:#edf6ff;
  font-size:22px;
  font-weight:800;
}
.info-row a{
  color:var(--navy);
  text-decoration:none;
  font-weight:800;
}

.footer{
  margin-top:70px;
  padding:32px 0;
  color:white;
  background:linear-gradient(135deg,#061d3d,#0b3769);
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:14px;
}

.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .65s ease, transform .65s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

@media(max-width:980px){
  .nav{flex-wrap:wrap;justify-content:center;text-align:center}
  .menu{order:3;width:100%;justify-content:center}
  .header-contact{flex-wrap:wrap;justify-content:center}
  .hero-grid,.cards,.contact-card{grid-template-columns:1fr}
  .hero{text-align:center}
  .hero-visual img{height:auto}
}

@media(max-width:620px){
  .brand{font-size:16px}
  .header-contact span{display:none}
  .section{padding:60px 0}
  .card img{height:220px}
  .contact-info{padding:28px}
  .footer-inner{flex-direction:column;text-align:center}
}
