:root{--navy:#071a2b;--navy-light:#102d45;--blue:#1f6b9d;--blue-bright:#58a7d4;--ink:#17212b;--muted:#61707c;--paper:#f7f8f8;--white:#fff;--line:#dce3e7;
    --font-body:'DM Sans',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif}
    *{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body);line-height:1.65}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.section{padding:105px 0}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--font-display);letter-spacing:-.035em;line-height:1.11}
h1{margin-bottom:24px;font-size:clamp(2.65rem,6vw,4.85rem)}
h2{margin-bottom:20px;font-size:clamp(2.05rem,4vw,3.3rem)}
h3{line-height:1.25}.eyebrow{margin:0 0 17px;color:var(--blue-bright);font-size:.72rem;font-weight:700;letter-spacing:.18em}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(7,26,43,.08);backdrop-filter:blur(10px)}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;height:56px;gap:12px}
.brand img{display:block;object-fit:contain}
.brand-mark{max-height:52px;max-width:62px}
.brand-name{max-height:34px;max-width:158px;object-position:left center}
.main-nav{display:flex;align-items:center;gap:29px;color:#314452;font-size:.92rem;font-weight:600}
.main-nav>a:not(.nav-cta){transition:color .2s ease}
.main-nav>a:not(.nav-cta):hover,
.main-nav>a.active{color:var(--blue)}
.nav-cta{padding:11px 19px;border-radius:3px;color:#fff;background:var(--navy);transition:background .2s ease,transform .2s ease}
.nav-cta:hover{background:var(--blue);transform:translateY(-1px)}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;margin:5px 0;background:var(--navy)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:51px;padding:13px 21px;border-radius:3px;font-size:.91rem;font-weight:700;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#fff;background:var(--blue)}
.button-primary:hover{background:#2b82b5}
.button-light{color:var(--navy);background:#fff}
.button-light:hover{background:#e7f5fc}
.service-hero{overflow:hidden;color:#fff;background:var(--navy)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px}
.hero-copy{align-self:center;padding:95px 56px 95px 0}
.hero-copy>p:not(.eyebrow){max-width:635px;color:#d3e1e9;font-size:1.13rem}
.hero-map{position:relative;overflow:hidden;min-height:510px;padding:68px 35px 45px;border-left:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,#102e44,#1c5b83)}
.hero-map::after{content:'';position:absolute;width:380px;height:380px;right:-135px;bottom:-220px;border:1px solid rgba(158,221,250,.18);border-radius:50%}
.map-label{margin-bottom:30px;color:#93c9e6;font-size:.68rem;font-weight:700;letter-spacing:.15em}
.map-line{position:absolute;left:67px;top:135px;bottom:64px;width:1px;background:linear-gradient(#6eb5df,rgba(110,181,223,.1))}
.map-step{position:relative;z-index:1;display:grid;grid-template-columns:52px 1fr;column-gap:17px;margin:0 0 28px}
.map-step span{grid-row:span 2;display:grid;width:34px;height:34px;place-items:center;border:1px solid #72badf;border-radius:50%;color:#dff3ff;background:#174460;font-size:.7rem;font-weight:700}
.map-step b{color:#fff;font-family:var(--font-display);font-size:1.13rem;line-height:1.35}
.map-step small{color:#b8d2e0;font-size:.82rem}
.intro-band{padding:25px 0;text-align:center;color:#253b4d;background:#eaf1f4}
.intro-band p{margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.7rem)}
.intro-band strong{color:var(--blue)}
.service-selector{background:#fff}
.selector-top{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:46px}
.selector-top>p{margin-bottom:4px;color:var(--muted);font-size:1rem}
.selector-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.service-tab{position:relative;padding:19px 18px 18px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:background .2s ease}
.service-tab:first-child{border-left:1px solid var(--line)}
.service-tab::after{content:'';position:absolute;right:0;bottom:-1px;left:0;height:4px;background:transparent}
.service-tab.active{background:#f1f7fa}
.service-tab.active::after{background:var(--blue)}
.service-tab span{display:block;margin-bottom:10px;color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.1em}
.service-tab b{display:block;color:var(--navy);font-size:.98rem}
.service-tab small{display:block;margin-top:5px;color:var(--muted);font-size:.79rem}
.service-panel{display:grid;grid-template-columns:.25fr 1.06fr .93fr;column-gap:36px;row-gap:25px;padding:45px 0 0}
.panel-label{padding-top:5px}
.panel-label span{color:var(--blue);font-size:2.3rem;font-family:var(--font-display)}
.panel-label p{margin:7px 0 0;color:var(--blue);font-size:.66rem;font-weight:700;letter-spacing:.13em}
.panel-copy h3{margin-bottom:14px;color:var(--navy);font-family:var(--font-display);font-size:2.15rem;letter-spacing:-.03em}
.panel-copy p{color:#51626e}
.panel-lead{color:#294e65!important;font-family:var(--font-display);font-size:1.2rem;line-height:1.48}
.text-link{display:inline-flex;gap:13px;margin-top:6px;color:var(--blue);font-size:.9rem;font-weight:700}
.panel-list{padding:25px 26px;background:var(--navy);color:#e3edf2}
.panel-list h4{margin:0 0 13px;color:#79c4ee;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.panel-list ul{list-style:none;margin:0;padding:0}
.panel-list li{position:relative;padding:8px 0 8px 19px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.87rem;line-height:1.45}
.panel-list li:last-child{border-bottom:0}
.panel-list li::before{content:'✓';position:absolute;left:0;color:#79c4ee;font-weight:700}
.panel-note{grid-column:2/4;margin:0;padding:16px 20px;border-left:3px solid var(--blue);color:#536671;background:#edf5f8;font-size:.89rem}
.framework-section{background:var(--paper)}
.framework-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:110px;align-items:start}
.framework-copy p:not(.eyebrow){color:var(--muted);font-size:1.02rem}
.framework-list{border-top:1px solid var(--line)}
.framework-list article{display:grid;grid-template-columns:70px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.framework-list span{color:var(--blue);font-family:var(--font-display);font-size:1.35rem}
.framework-list h3{margin:0 0 4px;color:var(--navy);font-size:1.05rem}.framework-list p{margin:0;color:var(--muted);font-size:.92rem}
.expectations-section{background:#fff}
.expectation-top{max-width:650px;margin-bottom:48px}
.expectation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.expectation-grid article{min-height:210px;padding:27px 24px;background:#fff}
.expectation-grid h3{margin:0 0 12px;color:var(--navy);font-family:var(--font-display);font-size:1.2rem}
.expectation-grid p{margin:0;color:var(--muted);font-size:.9rem}
.final-cta{position:relative;overflow:hidden;padding:93px 0;text-align:center;color:#fff;background:var(--blue)}
.final-cta::after{content:'';position:absolute;top:-150px;right:-80px;width:460px;height:460px;border:1px solid rgba(255,255,255,.14);transform:rotate(28deg)}
.final-cta .container{position:relative;z-index:1;max-width:805px}
.final-cta 
.eyebrow{color:#c9ecff}
.final-cta>
.container>p:not(.eyebrow){color:#e9f6fc;font-size:1.05rem}
.final-cta small{display:block;margin-top:20px;color:#d9effa;font-size:.84rem}
.site-footer{padding-top:60px;color:#d8e4ea;background:#061522}
.footer-grid{display:flex;justify-content:space-between;gap:35px;padding-bottom:45px}
.footer-brand{display:block;color:#fff;font-size:1.27rem;font-weight:700;letter-spacing:.12em}
.footer-brand span{color:#65add6;font-size:.55rem;letter-spacing:.13em}
.footer-grid p{max-width:375px;margin:13px 0;color:#9ab1bd;font-size:.91rem}
.contact-link{color:#c9dce5;font-size:.9rem}
.contact-link:hover{color:#6cc3ef}
.footer-right{text-align:right}
.footer-right p{margin-left:auto}
.social-links{display:flex;justify-content:flex-end;gap:11px}
.social-links a{display:grid;width:37px;height:37px;place-items:center;border:1px solid #426073;color:#c7dbe4;transition:background .2s ease,color .2s ease,border-color .2s ease}
.social-links a:hover{border-color:var(--blue-bright);color:#fff;background:var(--blue)}
.social-links svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0 25px;border-top:1px solid #1d3544;color:#748e9d;font-size:.77rem}
@media(max-width:880px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:84px;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;padding:15px 20px 22px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.07)}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:13px 0}.nav-cta{margin-top:9px;text-align:center}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:80px 0 68px}.hero-map{min-height:auto;padding:48px}.selector-top,.framework-grid{grid-template-columns:1fr;gap:26px}.service-panel{grid-template-columns:.22fr 1fr;gap:25px}.panel-list{grid-column:2}.panel-note{grid-column:1/3}.expectation-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 600px) {
  .container {
    width: min(100% - 30px, 1160px);
  }

  .section {
    padding: 72px 0;
  }

  .nav-wrap {
    height: 72px;
  }

  .main-nav {
    top: 72px;
  }

  .brand {
    height: 50px;
    gap: 8px;
  }

  .brand-mark {
    max-height: 45px;
    max-width: 53px;
  }

  .brand-name {
    max-height: 27px;
    max-width: 137px;
  }

  h1 {
    font-size: 2.55rem;
  }

  h2 {
    font-size: 2.08rem;
  }

  .button {
    width: 100%;
  }

  .hero-copy {
    padding: 72px 0 58px;
  }

  .hero-map {
    padding: 37px 25px;
  }

  .map-line {
    left: 42px;
  }

  .selector-tabs {
    grid-template-columns: 1fr;
  }

  .service-tab {
    border-left: 1px solid var(--line);
  }

  .service-panel {
    grid-template-columns: 1fr;
    padding-top: 34px;
  }

  .panel-label {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0;
  }

  .panel-label p {
    margin: 0;
  }

  .panel-list,
  .panel-note {
    grid-column: auto;
  }

  .expectation-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid,
  .footer-bottom {
    flex-direction: column;
  }

  .footer-right {
    text-align: left;
  }

  .footer-right p {
    margin-left: 0;
  }

  .social-links {
    justify-content: flex-start;
  }
}

.service-panel[hidden] {
  display: none !important;
}