  :root{
    --bg:#FFFFFF;
    --surface:#F3F6F8;
    --surface-warm:#FAF7F0;
    --line:#E2E8EC;
    --ink:#17242B;
    --muted:#566670;
    --blue:#1E93CB;
    --blue-strong:#0B6E9E;
    --brown:#8A7455;
    --brown-deep:#6F5C42;
    --gold:#E9A81E;
    --yellow:#F6D24E;
    --maxw:1140px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
  .eyebrow{font-family:'Manrope';font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-strong)}

  /* NAV */
  header.nav{position:sticky;top:0;z-index:50;background:var(--blue-strong);border-bottom:1px solid #095b83}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:10px 24px}
  .nav-inner img.logo{height:clamp(48px,7vw,88px);width:auto;max-width:45vw;display:block}
  @media(max-width:600px){
    .nav-inner{padding-left:26px;padding-right:26px}
    .nav-inner img.logo{height:clamp(66px,19vw,86px)}
  }
  .nav-right{display:flex;align-items:center;gap:20px}
  .nav-phone{display:none;font-weight:600;font-size:15px;color:#fff}
  .nav-phone span{color:rgba(255,255,255,.72);font-weight:400;font-size:12px;display:block;margin-top:-3px}
  @media(min-width:820px){.nav-phone{display:block;text-align:right}}
  .nav-cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue-strong);font-weight:600;padding:11px 20px;border-radius:8px;font-size:14.5px;transition:background .15s,transform .15s}
  .nav-cta:hover{background:var(--yellow);transform:translateY(-1px)}

  /* HERO */
  .hero{position:relative;padding:64px 0 40px;background:linear-gradient(180deg,#FBFCFD,#F3F6F8)}
  .wrap.wrap-wide{max-width:1320px}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
  @media(min-width:940px){.hero-grid{grid-template-columns:0.85fr 1.35fr;gap:52px}}
  h1{font-size:clamp(33px,5.1vw,54px)}
  h1 .hl{color:var(--blue-strong)}
  .lede{color:var(--muted);font-size:clamp(16px,1.7vw,18.5px);max-width:46ch;margin-top:20px}
  .cta-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
  .hero-mail{margin-top:16px;font-size:14.5px;color:var(--muted)}
  .hero-mail a{color:var(--blue-strong);font-weight:600;word-break:break-word}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:16px;padding:15px 26px;border-radius:10px;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}
  .btn-wa{background:var(--blue-strong);color:#fff;box-shadow:0 10px 26px -12px rgba(11,110,158,.7)}
  .btn-wa:hover{background:#095b83;transform:translateY(-2px)}
  .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
  .btn-ghost:hover{border-color:var(--blue);color:var(--blue-strong)}
  .trust-line{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:13.5px;color:var(--muted);font-weight:500}
  .trust-line span{display:inline-flex;align-items:center;gap:8px}
  .chk{color:var(--gold);font-weight:800}

  /* MAP BACKGROUND */
  .map-bg{position:relative}
  .map-bg .mx-map{width:100%;height:auto;display:block}

  /* SVG MAP STYLES */
  .st{fill:#1F2A31;stroke:rgba(255,255,255,.14);stroke-width:.6;stroke-linejoin:round}
  .arrow{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round;opacity:.95}
  .ahf{fill:var(--gold)}
  .pin-glow{fill:var(--blue);opacity:.20}
  .pin-body{fill:var(--blue-strong);stroke:#fff;stroke-width:1.5}
  .pin-dot{fill:#fff}
  .pin-lbl{fill:#12242E;font-family:'Manrope';font-weight:800;font-size:16px}

  /* SECTION */
  section{padding:74px 0}
  .sec-head{max-width:640px;margin-bottom:40px}
  .services .sec-head{background:rgba(255,255,255,.94);border-radius:16px;padding:22px 26px;box-shadow:0 10px 24px -18px rgba(23,36,43,.35)}
  .sec-head h2{font-size:clamp(27px,3.8vw,40px);margin-top:12px}
  .sec-head p{color:var(--muted);margin-top:13px;font-size:17px}

  /* SERVICES */
  .services{position:relative;overflow:hidden;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .services-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
  .services-bg span{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;filter:grayscale(.1) saturate(.9);opacity:0;transition:opacity 1s ease}
  .services-bg span.is-active{opacity:.58}
  .services .wrap{position:relative;z-index:1}
  .cards{display:grid;grid-template-columns:1fr;gap:16px}
  @media(min-width:560px){.cards{grid-template-columns:1fr 1fr}}
  @media(min-width:900px){.cards{grid-template-columns:repeat(4,1fr)}}
  .cards-toggle{display:none}
  @media(max-width:899px){
    .cards-collapse{position:relative;max-height:320px;overflow:hidden;transition:max-height .5s ease;-webkit-mask-image:linear-gradient(180deg,#000 64%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(180deg,#000 64%,rgba(0,0,0,0) 99%)}
    .cards-collapse.is-expanded{max-height:3000px;-webkit-mask-image:none;mask-image:none}
    .cards-fade{display:none}
    .cards-toggle{position:relative;z-index:2;display:flex;align-items:center;gap:8px;margin:-44px auto 0;background:#fff;border:1px solid var(--line);color:var(--blue-strong);font-weight:600;font-size:14.5px;padding:11px 22px;border-radius:10px;cursor:pointer;box-shadow:0 10px 22px -14px rgba(23,36,43,.35);transition:border-color .15s,transform .15s}
    .cards-collapse.is-expanded + .cards-toggle{margin-top:16px}
    .cards-toggle:hover{border-color:var(--blue);transform:translateY(-1px)}
    .cards-toggle .chev{transition:transform .3s ease}
    .cards-toggle.is-expanded .chev{transform:rotate(180deg)}
  }
  .card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 20px;transition:transform .16s,border-color .16s,box-shadow .16s}
  .card:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 16px 30px -22px rgba(23,36,43,.4)}
  .card-img{position:absolute;inset:0;z-index:0;background-image:linear-gradient(195deg,rgba(18,36,46,.35),rgba(18,36,46,.88)),var(--img);background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}
  .card:hover .card-img{opacity:1}
  .card .tag,.card h3,.card p{position:relative;z-index:1;transition:color .35s,background .35s}
  .card .tag{display:inline-block;font-family:'Manrope';font-weight:700;font-size:11px;letter-spacing:.06em;color:var(--blue-strong);background:#E9F4FA;padding:4px 9px;border-radius:6px}
  .card h3{font-size:18px;margin:13px 0 7px}
  .card p{color:var(--muted);font-size:14px}
  .card:hover .tag{background:rgba(255,255,255,.2);color:#fff}
  .card:hover h3{color:#fff}
  .card:hover p{color:#DCE6EA}
  .svc-note{position:relative;z-index:1;width:fit-content;max-width:90%;margin:26px auto 0;padding:10px 20px;background:rgba(255,255,255,.94);border-radius:14px;box-shadow:0 10px 24px -18px rgba(23,36,43,.35);font-size:14.5px;color:var(--muted);text-align:center}
  .svc-note b{color:var(--ink)}

  /* WHY */
  .why-grid{display:grid;grid-template-columns:1fr;gap:42px;align-items:start}
  @media(min-width:900px){.why-grid{grid-template-columns:1fr 1fr;gap:60px}}
  .feat{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}
  .feat:last-child{border-bottom:none}
  .feat .ic{flex:none;width:44px;height:44px;border-radius:10px;background:var(--surface-warm);border:1px solid #EBE4D4;display:grid;place-items:center;font-size:21px}
  .feat h3{font-size:17.5px;margin-bottom:3px}
  .feat p{color:var(--muted);font-size:14.5px}
  .badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .badge{background:#fff;padding:26px 22px}
  .badge .n{font-family:'Manrope';font-weight:800;font-size:clamp(20px,3vw,26px);color:var(--blue-strong);line-height:1.1}
  .badge .l{font-size:13px;color:var(--muted);margin-top:6px}

  /* QUOTE */
  .quote{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface),#EAF1F5);border-top:1px solid var(--line)}
  .quote-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .quote-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,36,46,.55),rgba(17,36,46,.72))}
  .quote .wrap{position:relative;z-index:2}
  @media(prefers-reduced-motion:reduce){.quote-video{display:none}}
  .quote-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 30px;max-width:760px;margin:0 auto;box-shadow:0 24px 50px -34px rgba(23,36,43,.4)}
  .quote-box h2{font-size:clamp(25px,3.4vw,34px);text-align:center}
  .quote-box>p{color:var(--muted);text-align:center;margin:11px auto 24px;max-width:50ch}
  .form-grid{display:grid;grid-template-columns:1fr;gap:15px}
  @media(min-width:600px){.form-grid{grid-template-columns:1fr 1fr}}
  .field{display:flex;flex-direction:column;gap:6px}
  .field.full{grid-column:1/-1}
  .field label{font-family:'Manrope';font-weight:600;font-size:12.5px;color:var(--ink)}
  .field input,.field select{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 13px;color:var(--ink);font-family:'Inter';font-size:15px;transition:border-color .15s,box-shadow .15s}
  .field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,147,203,.15)}
  .field input::placeholder{color:#98A4AC}
  .quote-box .btn-wa{width:100%;margin-top:22px;font-size:17px;padding:16px}
  .quote-alt{text-align:center;margin-top:15px;font-size:14px;color:var(--muted)}
  .quote-alt a{color:var(--blue-strong);font-weight:600}

  /* FOOTER */
  footer{background:#12242E;color:#D6E0E6;padding:52px 0 28px}
  footer .brand-line{font-family:'Manrope';font-weight:800;font-size:19px;color:#fff}
  footer .legal{font-size:12.5px;color:#8BA0AC;margin-top:4px}
  .foot-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:8px}
  @media(min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr}}
  .foot-grid h4{font-family:'Manrope';font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8BA0AC;margin-bottom:14px}
  .foot-grid a,.foot-grid p{display:block;color:#D6E0E6;font-size:14.5px;margin-bottom:10px}
  .foot-grid a:hover{color:var(--yellow)}
  .foot-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid #24404E;font-size:12.5px;color:#8BA0AC}
  .foot-bottom .jobs a{color:#B9C7D0;text-decoration:underline}

  /* STICKY MOBILE */
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:11px 14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .sticky-cta .btn{flex:1;padding:13px;font-size:15px}
  @media(min-width:820px){.sticky-cta{display:none}}
  body{padding-bottom:72px}
  @media(min-width:820px){body{padding-bottom:0}}

  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
  :focus-visible{outline:2px solid var(--blue-strong);outline-offset:2px}
