:root{
  --navy:#08294a;
  --navy-dark:#061c34;
  --ink:#102641;
  --gold:#c5a25d;
  --paper:#f7f6f2;
  --line:#d9e0e5;
  --muted:#61707d;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#f3f3f3}
body{margin:0;font-family:var(--sans);background:#f3f3f3;color:var(--ink)}
img{display:block}
a{color:inherit}
.skip-link{position:fixed;left:12px;top:12px;z-index:99999;background:white;color:#111;padding:8px 12px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Exact supplied desktop design */
.desktop-site{
  width:100%;
  max-width:1920px;
  margin:0 auto;
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.02);
}
.visual-section{
  position:relative;
  width:100%;
  line-height:0;
  scroll-margin-top:8px;
}
.visual-section>img{
  width:100%;
  height:auto;
  display:block;
}
.hotspots{position:absolute;inset:0;pointer-events:none}
.hs{position:absolute;display:block;pointer-events:auto;background:transparent}

/* Header hotspots — coordinates follow the supplied 1536px master */
.header-hotspots .home{left:51.5%;top:21%;width:3.4%;height:46%}
.header-hotspots .what{left:56.7%;top:21%;width:7.0%;height:46%}
.header-hotspots .who{left:64.3%;top:21%;width:7.0%;height:46%}
.header-hotspots .about{left:73.2%;top:21%;width:4.5%;height:46%}
.header-hotspots .contact{left:78.6%;top:21%;width:4.7%;height:46%}
.header-hotspots .consult{left:85.1%;top:15%;width:11.7%;height:56%}

/* Hero buttons */
.hero-hotspots .request{left:16.3%;top:81.5%;width:12.5%;height:12.5%}
.hero-hotspots .learn{left:29.5%;top:81.5%;width:8.6%;height:12.5%}

/* About anchor: design contains About nav but no separate About block; land at the business/approach area */
.about-anchor{position:absolute;left:0;top:0;width:1px;height:1px}

/* Footer hotspots */
.footer-hotspots .email{left:56.7%;top:16%;width:8.3%;height:27%}
.footer-hotspots .linkedin{left:65.4%;top:16%;width:13.3%;height:27%}
.footer-hotspots .footer-consult{left:80.0%;top:12%;width:11.0%;height:40%}
.footer-hotspots .privacy{left:47.7%;top:69%;width:6.0%;height:22%}
.footer-hotspots .terms{left:56.6%;top:69%;width:5.2%;height:22%}

/* Minimal live-site correction: update copyright year without changing layout */
.footer-year-patch{
  position:absolute;
  left:22.2%;
  bottom:4.5%;
  height:21%;
  display:flex;
  align-items:center;
  padding:0 5px 0 0;
  background:#08294a;
  color:#d3deea;
  font-size:clamp(6px,.72vw,11px);
  line-height:1;
  font-family:Arial,sans-serif;
  white-space:nowrap;
}

/* Mobile version */
.mobile-site{display:none}
@media(max-width:899px){
  .desktop-site{display:none}
  .mobile-site{display:block;background:#f7f6f2;color:#112842;min-height:100vh}
  .m-header{
    height:72px;padding:0 18px;background:white;border-bottom:1px solid #e2e5e7;
    display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30
  }
  .m-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
  .m-brand img{width:42px;height:42px;border-radius:7px}
  .m-brand span{display:flex;flex-direction:column;line-height:1}
  .m-brand strong{font-family:var(--serif);font-size:.9rem;text-transform:uppercase}
  .m-brand small{font-size:.59rem;letter-spacing:.18em;text-transform:uppercase;margin-top:5px}
  .m-contact{background:var(--navy);color:white;text-decoration:none;padding:10px 13px;border-radius:5px;font-size:.78rem}
  .m-hero{background:white}
  .m-hero-copy{padding:48px 22px 34px}
  .m-kicker,.m-label{margin:0;color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
  .m-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.65rem,12vw,4rem);line-height:1;letter-spacing:-.035em;margin:13px 0 20px}
  .m-hero p:not(.m-kicker){color:#566573;font-size:.99rem}
  .m-button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;text-decoration:none;border-radius:5px;min-height:48px;padding:0 18px;margin-top:14px;font-weight:700;font-size:.84rem}
  .m-hero>img{width:100%;height:260px;object-fit:cover}
  .m-services{padding:46px 18px;background:var(--navy-dark);color:white}
  .m-service-grid{display:grid;gap:13px;margin-top:22px}
  .m-service-grid article{padding:18px;border:1px solid rgba(255,255,255,.14)}
  .m-service-grid h2{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin:0 0 7px}
  .m-service-grid p{margin:0;color:#c5d2dd;font-size:.82rem}
  .m-principle{padding:36px 22px;background:white}
  .m-principle p{font-family:var(--serif);font-size:1.7rem;line-height:1.08;margin:0 0 14px}
  .m-principle em{font-style:normal;color:#6f9abb}
  .m-principle span{color:#65727e;font-size:.9rem}
  .m-split{padding:45px 18px;background:#faf9f5}
  .m-split h2{font-family:var(--serif);font-size:2rem;font-weight:400;margin:10px 0 20px;line-height:1.05}
  .m-split ul{list-style:none;padding:0;margin:0;display:grid;gap:16px}
  .m-split li{border-top:1px solid #d9dfe3;padding-top:14px;color:#64717c;font-size:.85rem}
  .m-split li strong{color:var(--navy)}
  .m-split img{width:100%;height:260px;object-fit:cover;margin-top:30px}
  .m-how{padding:45px 18px;background:#eef2f5}
  .m-how>div{padding:17px 0;border-top:1px solid #ced8df}
  .m-how>div:last-child{border-bottom:1px solid #ced8df}
  .m-how strong{display:block;font-family:var(--serif);font-size:1.18rem;font-weight:400}
  .m-how span{display:block;color:#64727d;font-size:.84rem;margin-top:4px}
  .m-footer{padding:46px 20px 28px;background:var(--navy-dark);color:white}
  .m-footer h2{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.05;margin:0 0 15px}
  .m-footer p{color:#c8d4df;font-size:.9rem}
  .m-footer>a:not(.m-button){display:block;color:white;margin:12px 0}
  .m-footer .gold{background:#d2ae68;color:#16293e}
  .m-legal{display:flex;gap:18px;margin:29px 0 18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
  .m-legal a{color:#c3d0db;font-size:.78rem}
  .m-footer small{color:#8397a8;font-size:.68rem}
}
