:root{
  --navy:#0B1440;
  --navy-soft:#121E5A;
  --blue:#1D4ED8;
  --sky:#38BDF8;
  --gold:#F0A83B;
  --bg:#F5F6FA;
  --panel:#FFFFFF;
  --panel-tint:#EEF2FB;
  --ink:#1E2433;
  --slate:#5B6478;
  --line:#DDE3F0;
  --radius:12px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brandline{ font-family:var(--font-head); }
body{ font-family:var(--font-body); }
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{ max-width:1140px; margin:0 auto; padding:0 28px; }
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* ---------- Utility bar ---------- */
.utilitybar{
  background:var(--navy);
  color:#AEB9DA;
  font-size:12.5px;
}
.utilitybar .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:7px 28px;
}
.util-socials{display:flex; align-items:center; gap:16px;}
.util-socials a{
  display:inline-flex; align-items:center; gap:6px; color:#C7D0EA;
}
.util-socials a:hover{color:#fff;}
.util-socials svg{width:14px; height:14px; flex:none;}
.util-right{display:flex; align-items:center; gap:16px;}
.lang-pill{
  display:inline-flex; align-items:center; gap:6px;
  color:#C7D0EA; font-weight:700; font-size:12.5px;
  padding:4px 10px; border-radius:14px; border:1px solid rgba(255,255,255,0.18);
}
.lang-pill:hover{color:#fff; border-color:rgba(255,255,255,0.4);}
.lang-pill svg{width:13px; height:13px;}
@media (max-width:760px){
  .util-socials span.lbl-text{display:none;}
}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.headbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:10px 0;
}
.brandmark{display:flex; align-items:center; gap:10px;}
.brandmark img{height:44px; width:auto;}
nav.mainnav{display:flex; align-items:center; gap:26px;}
nav.mainnav a{
  font-size:15px; font-weight:700; color:var(--navy);
  position:relative; padding:4px 0;
}
nav.mainnav a::after{
  content:''; position:absolute; inset-inline-start:0; bottom:0; height:2px; width:0;
  background:var(--sky); transition:width .25s ease;
}
nav.mainnav a:hover::after{width:100%;}
.head-cta{display:flex; align-items:center; gap:10px;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border-radius:8px;
  font-weight:700; font-size:14.5px; white-space:nowrap;
}
.btn-primary{background:var(--blue); color:#fff;}
.btn-primary:hover{background:#173fb8;}
.btn-ghost{background:transparent; color:var(--navy); border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--blue); color:var(--blue);}
.lang-switch{
  display:flex; align-items:center; gap:6px;
  padding:7px 12px; border-radius:20px;
  border:1.5px solid var(--line); font-size:13.5px; font-weight:700;
  color:var(--navy);
}
.lang-switch:hover{border-color:var(--blue); color:var(--blue);}
@media (max-width:900px){
  nav.mainnav{display:none;}
  .head-cta .btn-ghost{display:none;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative; color:#fff; overflow:hidden;
  background:
    linear-gradient(100deg, rgba(11,20,64,0.94) 40%, rgba(11,20,64,0.72) 78%, rgba(11,20,64,0.55) 100%),
    url('https://images.unsplash.com/photo-1548755212-12e817ad63bc?w=1600&q=70&auto=format&fit=crop') center/cover no-repeat;
}
.hero-inner{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:40px; align-items:center;
  padding:74px 0 52px;
}
@media (max-width:900px){ .hero-inner{grid-template-columns:1fr; padding:44px 0 36px;} }
.hero-text{position:relative; z-index:2;}
.hero-eyebrow{
  font-size:14px; font-weight:700; color:#BFE3FB; margin-bottom:14px;
}
.hero-text h1{
  font-size:clamp(28px, 4vw, 44px); font-weight:800; line-height:1.35; margin-bottom:18px;
}
.hero-text p{ font-size:16.5px; color:#CFD7EE; max-width:54ch; margin-bottom:28px; }
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
.hero-ctas .btn-primary{background:var(--sky); color:var(--navy);}
.hero-ctas .btn-primary:hover{background:#68cffb;}
.hero-ctas .btn-outline{border:1.5px solid rgba(255,255,255,0.4); color:#fff;}
.hero-ctas .btn-outline:hover{border-color:#fff;}
.trust-strip{ display:flex; flex-wrap:wrap; gap:0; border-top:1px solid rgba(255,255,255,0.18); padding-top:20px; }
.trust-item{ padding-inline-end:26px; margin-inline-end:26px; border-inline-end:1px solid rgba(255,255,255,0.18); }
.trust-item:last-child{border-inline-end:none; margin-inline-end:0; padding-inline-end:0;}
.trust-item .num{font-weight:800; font-size:21px; color:#fff; display:block;}
.trust-item .lbl{font-size:12.5px; color:#AEB9DA;}
.hero-art{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; }
.hero-art .mark{ width:min(300px, 65vw); filter:drop-shadow(0 20px 40px rgba(0,0,0,0.4)); background:#fff; border-radius:20px; padding:24px; }
@media (max-width:900px){ .hero-art{display:none;} }

/* ---------- Section heading ---------- */
.sec-head{ max-width:640px; margin-bottom:40px; }
.sec-eyebrow{ font-size:13.5px; font-weight:700; color:var(--blue); margin-bottom:8px; }
.sec-head h2{ font-size:clamp(24px, 3vw, 32px); font-weight:800; color:var(--navy); margin-bottom:12px; }
.sec-head p{ color:var(--slate); font-size:16px; }
section{padding:72px 0;}

/* ---------- Services (media rows) ---------- */
.services{
  background:
    radial-gradient(900px 420px at 100% 0%, rgba(56,189,248,0.06), transparent 60%),
    radial-gradient(700px 380px at 0% 100%, rgba(29,78,216,0.05), transparent 55%),
    var(--panel);
}
.svc-row{
  display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;
  padding:44px 0; border-top:1px solid var(--line);
}
.svc-row:last-child{border-bottom:1px solid var(--line);}
.svc-row.rev .svc-media{order:2;}
.svc-row.rev .svc-copy{order:1;}
@media (max-width:820px){
  .svc-row, .svc-row.rev{ grid-template-columns:1fr; }
  .svc-row.rev .svc-media, .svc-row.rev .svc-copy{ order:initial; }
}
.svc-media{ position:relative; border-radius:var(--radius); overflow:visible; aspect-ratio:4/3; }
.svc-media .img-main{ width:100%; height:100%; object-fit:cover; border-radius:var(--radius); display:block; }
.svc-media .img-sub{
  position:absolute; top:-18px; inset-inline-end:-18px;
  width:44%; aspect-ratio:4/3; object-fit:cover;
  border-radius:10px; border:4px solid #fff;
  box-shadow:0 16px 32px rgba(11,20,64,0.28);
}
.svc-badge{
  position:absolute; bottom:14px; inset-inline-start:14px;
  width:56px; height:56px; background:#fff; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(11,20,64,0.25); z-index:2;
}
.svc-badge svg{width:30px; height:30px;}
.svc-copy .svc-kicker{
  display:inline-block; font-size:12.5px; font-weight:700; color:var(--blue);
  background:rgba(29,78,216,0.08); padding:4px 12px; border-radius:20px; margin-bottom:12px;
}
.svc-copy .svc-title{ font-weight:800; font-size:23px; color:var(--navy); margin-bottom:14px; }
.svc-copy .svc-desc{ color:var(--slate); font-size:15.5px; margin-bottom:14px; }
.svc-copy .svc-desc:last-of-type{margin-bottom:18px;}
.svc-copy ul{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
@media (max-width:560px){ .svc-copy ul{grid-template-columns:1fr;} }
.svc-copy ul li{
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:var(--ink);
  background:var(--panel-tint); border-radius:8px; padding:9px 14px;
}
.li-ic{
  flex:none; width:28px; height:28px; border-radius:8px;
  background:rgba(29,78,216,0.1);
  display:flex; align-items:center; justify-content:center;
}
.li-ic svg{width:16px; height:16px; color:var(--blue);}

/* ---------- Story / Vision-Mission-Values ---------- */
.story{
  position:relative; overflow:hidden;
  background:
    radial-gradient(600px 360px at 0% 100%, rgba(56,189,248,0.06), transparent 55%),
    var(--panel);
}
.story::before{
  content:''; position:absolute; inset-inline-end:6%; top:-20px;
  width:220px; height:140px;
  background:url('../images/watermark.png') no-repeat center/contain;
  opacity:0.05; pointer-events:none;
}
.story .wrap{position:relative; z-index:1;}
.story-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:52px; align-items:center;}
@media (max-width:860px){ .story-grid{grid-template-columns:1fr; gap:30px;} }
.story-media{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:5/4;}
.story-media img{width:100%; height:100%; object-fit:cover;}
.story-media .yr-badge{
  position:absolute; bottom:16px; inset-inline-start:16px;
  background:#fff; border-radius:10px; padding:12px 18px;
  box-shadow:0 10px 28px rgba(11,20,64,0.25);
}
.story-media .yr-badge .n{font-weight:800; font-size:24px; color:var(--navy); line-height:1;}
.story-media .yr-badge .l{font-size:11.5px; color:var(--slate); margin-top:2px;}
.story-copy p{color:var(--slate); font-size:15.5px; margin-bottom:14px;}
.story-copy p:last-child{margin-bottom:0;}

.vmv{
  position:relative; overflow:hidden; color:#fff;
  background:
    linear-gradient(120deg, rgba(56,189,248,0.10), transparent 45%),
    radial-gradient(900px 500px at 100% 100%, rgba(29,78,216,0.35), transparent 60%),
    linear-gradient(160deg, var(--navy) 0%, var(--navy-soft) 100%);
}
.vmv::before{
  content:''; position:absolute; inset-inline-end:-40px; top:-30px;
  width:340px; height:220px;
  background:url('../images/watermark.png') no-repeat center/contain;
  opacity:0.07; pointer-events:none;
}
.vmv .sec-head h2{color:#fff;}
.vmv .sec-head p{color:#AEB9DA;}
.vmv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:820px){ .vmv-grid{grid-template-columns:1fr;} }
.vmv-card{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:28px;
}
.vmv-card .ic{
  width:46px; height:46px; border-radius:10px; background:rgba(56,189,248,0.15);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.vmv-card .ic svg{width:24px; height:24px; color:var(--sky);}
.vmv-card h3{font-weight:800; font-size:18px; margin-bottom:10px;}
.vmv-card p{color:#C7D0EA; font-size:14.5px;}
.values-list{list-style:none; margin-top:10px;}
.values-list li{font-size:14px; color:#C7D0EA; padding:5px 0;}
.values-list li strong{color:#fff;}

/* ---------- Why / stats ---------- */
.why{
  position:relative; overflow:hidden;
  background:
    radial-gradient(700px 400px at 100% 0%, rgba(29,78,216,0.07), transparent 55%),
    linear-gradient(180deg, #EEF2FB, #F5F6FA);
}
.why::before{
  content:''; position:absolute; inset-inline-start:-30px; bottom:-40px;
  width:280px; height:180px;
  background:url('../images/watermark.png') no-repeat center/contain;
  opacity:0.06; pointer-events:none;
}
.why .wrap{position:relative; z-index:1;}
.why-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
@media (max-width:860px){ .why-grid{grid-template-columns:1fr; gap:32px;} }
.why ul{list-style:none;}
.why li{
  display:flex; gap:14px; align-items:center; padding:15px 0;
  border-top:1px solid var(--line); font-size:15.5px; color:var(--ink);
}
.why li:last-child{border-bottom:1px solid var(--line);}
.why-ic{
  flex:none; width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
}
.why-ic svg{width:20px; height:20px;}
.why-ic.c1{background:rgba(29,78,216,0.12);} .why-ic.c1 svg{color:var(--blue);}
.why-ic.c2{background:rgba(56,189,248,0.15);} .why-ic.c2 svg{color:#1097c9;}
.why-ic.c3{background:rgba(240,168,59,0.15);} .why-ic.c3 svg{color:#c07f1f;}
.why-ic.c4{background:rgba(11,20,64,0.10);} .why-ic.c4 svg{color:var(--navy);}
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px; text-align:center; }
.stat-card .rate{ font-weight:800; font-size:50px; color:var(--navy); line-height:1; }
.stat-card .stars{color:#F5B301; font-size:18px; margin:10px 0 6px;}
.stat-card .rate-sub{color:var(--slate); font-size:14px; margin-bottom:22px;}
.review-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--gold); color:#3A2A05; font-weight:700; font-size:14px;
  padding:10px 18px; border-radius:8px; margin-bottom:24px;
}
.review-cta:hover{ background:#e0952b; }
.stat-mini-row{ display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:20px; }
.stat-mini{flex:1;}
.stat-mini .n{font-weight:800; font-size:20px; color:var(--blue);}
.stat-mini .l{font-size:12px; color:var(--slate);}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--panel);}
.tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:820px){ .tgrid{grid-template-columns:1fr;} }
.tcard{ background:var(--panel-tint); border-radius:var(--radius); padding:26px; }
.tcard .stars{color:#F5B301; font-size:15px; margin-bottom:12px;}
.tcard p{ font-size:15px; color:var(--ink); margin-bottom:14px; }
.tcard .who{font-size:13px; color:var(--slate); font-weight:700;}

/* ---------- Hours + CTA band ---------- */
.hours-cta{
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(800px 420px at 0% 0%, rgba(56,189,248,0.18), transparent 55%),
    linear-gradient(135deg, var(--navy-soft), #17246e);
}
.hours-cta::before{
  content:''; position:absolute; inset-inline-end:-20px; bottom:-50px;
  width:300px; height:190px;
  background:url('../images/watermark.png') no-repeat center/contain;
  opacity:0.08; pointer-events:none;
}
.hours-cta .wrap{position:relative; z-index:1;}
.hc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
@media (max-width:820px){ .hc-grid{grid-template-columns:1fr;} }
.hours-list{list-style:none;}
.hours-list li{ display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-top:1px solid rgba(255,255,255,0.14); font-size:14.5px; }
.hours-list li span{flex:none; white-space:nowrap;}
@media (max-width:420px){
  .hours-list li{ flex-direction:column; align-items:flex-start; gap:3px; }
}
.hours-list li:last-child{border-bottom:1px solid rgba(255,255,255,0.14);}
.hours-list li span:first-child{color:#C7D0EA;}
.hours-list li span:last-child{font-weight:700;}
.hc-cta h3{ font-size:24px; font-weight:800; margin-bottom:10px; }
.hc-cta p{ color:#C7D0EA; font-size:15px; margin-bottom:22px; }
.hc-cta .btns{display:flex; gap:12px; flex-wrap:wrap;}
.hc-cta .btn-primary{background:var(--sky); color:var(--navy);}

/* ---------- Contact ---------- */
.contact{
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(700px 400px at 100% 100%, rgba(29,78,216,0.30), transparent 55%),
    linear-gradient(160deg, var(--navy) 0%, #0d1a4d 100%);
}
.contact::before{
  content:''; position:absolute; inset-inline-start:-30px; top:-30px;
  width:260px; height:170px;
  background:url('../images/watermark.png') no-repeat center/contain;
  opacity:0.06; pointer-events:none;
}
.contact .wrap{position:relative; z-index:1;}
.contact .sec-head h2{color:#fff;}
.contact .sec-head p{color:#AEB9DA;}
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; }
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.cinfo-list{list-style:none;}
.cinfo-list li{ display:flex; gap:16px; align-items:flex-start; padding:17px 0; border-top:1px solid rgba(255,255,255,0.12); }
.cinfo-list li:last-child{border-bottom:1px solid rgba(255,255,255,0.12);}
.cinfo-list .icn{ flex:none; width:22px; height:22px; margin-top:2px; color:var(--sky); }
.cinfo-list .lab{font-size:13px; color:#9AA6C7; margin-bottom:3px;}
.cinfo-list .val{font-size:15.5px; font-weight:700;}
.cinfo-list a.val:hover{color:var(--sky);}
.map-frame{ border-radius:var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,0.15); height:100%; min-height:280px; }
.map-frame iframe{width:100%; height:100%; min-height:280px; border:0;}

/* ---------- Footer ---------- */
footer{ background:#0A1236; color:#8E9AC0; font-size:13.5px; padding:24px 0; }
.foot-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.foot-brand{display:flex; align-items:center; gap:10px; color:#C7D0EA;}
.foot-brand img{height:24px; filter:brightness(0) invert(1); opacity:0.85;}
footer a:hover{color:#fff;}

:focus-visible{outline:2px solid var(--sky); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
