:root{
  --cream:#f7f5f0;
  --navy:#0d243b;
  --navy-2:#102a45;
  --gold:#c19d5f;
  --contact:#c2a363;
  --card:#f0ede6;
  --border:#d9d2c7;
  --text:#10243a;
  --muted:#66717c;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.site-header{background:var(--cream)}
.nav-wrap{height:118px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.brand img{width:210px;height:auto}
.nav{display:flex;gap:34px;font-size:14px;font-weight:500}
.nav a{padding:10px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold);transition:width .2s ease}
.nav a:hover::after,.nav a:focus-visible::after{width:100%}
.section-pad{padding:84px 0 112px}
.eyebrow{margin:0 0 26px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--gold)}
h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;margin:0;color:var(--navy);font-weight:700;letter-spacing:-.035em}
h1{font-size:clamp(52px,5.2vw,76px);line-height:1.07}
h2{font-size:clamp(40px,4vw,58px);line-height:1.13}
h3{font-size:29px;line-height:1.2}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;min-height:600px}
.hero-copy{padding-right:10px}
.lead{font-size:17px;line-height:1.55;max-width:520px;margin:30px 0 0}
.actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border:1px solid var(--navy);font-size:14px;font-weight:700;transition:.2s ease}
.btn-primary{background:var(--navy);color:white}
.btn-primary:hover{background:var(--navy-2)}
.btn-outline{background:transparent;color:var(--navy)}
.btn-outline:hover{background:#ebe7df}
.hero-media{margin:0;position:relative;overflow:hidden}
.hero-media picture,.hero-media img{width:100%}
.hero-media img{aspect-ratio:1.12/1;object-fit:cover;object-position:center}
.hero-media figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(13,36,59,.94);color:#fff;font-size:13px;font-weight:700;padding:18px 18px}
.services{border-top:1px solid var(--border)}
.split-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:140px;align-items:end;margin-bottom:54px}
.split-intro>p{font-size:17px;max-width:460px;margin:0 0 4px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{border:1px solid var(--border);background:var(--card);min-height:332px;padding:30px 28px}
.service-card .icon{width:28px;height:28px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:40px}
.service-card h3{margin-bottom:14px}
.service-card p{font-size:17px;margin:0;line-height:1.55}
.infrastructure-wrap{padding:0 0 112px}
.infrastructure{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:74px 72px}
.infrastructure-copy{padding:12px 0}
.infrastructure h2{color:white;margin-bottom:26px}
.infrastructure-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:480px;font-weight:500}
.gold-rule{display:block;width:72px;height:2px;background:var(--gold);margin-top:26px}
.infrastructure-media img{width:100%;aspect-ratio:1.1/1;object-fit:cover}
.why{padding-top:94px}
.why-intro{align-items:start;margin-bottom:48px}
.why-intro h2{max-width:570px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.principles article{border-top:1px solid var(--gold);padding-top:22px;min-height:220px}
.principles span{display:block;color:var(--gold);font-size:13px;font-weight:700;margin-bottom:18px}
.principles h3{font-size:27px;margin-bottom:16px}
.principles p{font-size:17px;margin:0;max-width:360px}
.contact-outer{padding:0 0 0}
.contact{background:var(--contact);display:grid;grid-template-columns:1.35fr .65fr;gap:80px;padding:72px 84px;align-items:center}
.contact-label{color:var(--navy);margin-bottom:24px}
.contact h2{max-width:630px;margin-bottom:24px}
.contact-copy>p:not(.eyebrow){max-width:470px;font-size:17px;margin:0}
.contact-details{display:flex;flex-direction:column;gap:14px;margin-top:24px;font-size:16px}
.contact-details a{font-weight:700}
.contact-action{display:flex;justify-content:center}
.btn-contact{min-width:194px;gap:16px}
.footer{background:var(--cream)}
.footer-grid{min-height:110px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;font-size:13px;color:#6c7781}
.footer-logo img{width:210px}
.footer-grid>span{text-align:center}
.footer-grid>a:last-child{text-align:right;color:var(--navy);font-weight:500}

@media (max-width: 900px){
  .container{width:min(100% - 40px,810px)}
  .nav-wrap{height:118px}
  .brand img{width:200px}
  .hero-grid{grid-template-columns:1fr;gap:34px;min-height:auto}
  .hero-copy{padding-right:0}
  .hero-media img{aspect-ratio:1.55/1}
  .section-pad{padding:72px 0 88px}
  .split-intro{grid-template-columns:1fr;gap:26px;margin-bottom:40px}
  .service-grid{grid-template-columns:1fr;gap:18px}
  .service-card{min-height:250px}
  .infrastructure{grid-template-columns:1fr;gap:44px;padding:60px 52px}
  .infrastructure-media img{aspect-ratio:1.45/1}
  .principles{grid-template-columns:1fr}
  .principles article{min-height:auto;padding-bottom:26px}
  .contact{grid-template-columns:1fr;gap:34px;padding:62px 68px}
  .contact-action{justify-content:flex-start}
}

@media (max-width: 640px){
  body{font-size:16px}
  .container{width:100%;padding-inline:22px}
  .site-header .container{padding-inline:18px}
  .nav-wrap{height:auto;min-height:124px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-top:14px;padding-bottom:14px}
  .brand img{width:194px}
  .nav{gap:26px;font-size:13px}
  .section-pad{padding:72px 0 76px}
  .hero-grid{gap:54px}
  .eyebrow{margin-bottom:24px;font-size:12px}
  h1{font-size:43px;line-height:1.08}
  h2{font-size:38px;line-height:1.14}
  h3{font-size:28px}
  .lead{font-size:16px;margin-top:26px}
  .actions{gap:14px;margin-top:30px}
  .btn{font-size:13px;padding:0 18px;min-height:43px}
  .hero-media{margin-inline:0}
  .hero-media img{aspect-ratio:3/4;object-fit:cover}
  .hero-media figcaption{font-size:12px;padding:13px 16px}
  .services{padding-top:72px}
  .split-intro{gap:24px;margin-bottom:30px}
  .split-intro>p{font-size:16px}
  .service-grid{gap:18px}
  .service-card{min-height:260px;padding:30px 27px}
  .service-card .icon{margin-bottom:34px}
  .service-card p{font-size:16px}
  .infrastructure-wrap{padding-bottom:76px}
  .infrastructure{padding:70px 40px 62px;gap:36px}
  .infrastructure h2{font-size:39px;overflow-wrap:normal;word-break:normal}
  .infrastructure-copy>p:not(.eyebrow){font-size:16px}
  .infrastructure-media img{aspect-ratio:1.15/1;object-fit:cover}
  .why{padding-top:74px}
  .why-intro{margin-bottom:40px}
  .why-intro h2{font-size:35px}
  .principles{gap:0}
  .principles article{border-top:1px solid var(--gold);padding:24px 0 38px}
  .principles h3{font-size:26px}
  .principles p{font-size:16px}
  .contact-outer{padding:0}
  .contact{margin:0;padding:64px 52px 72px;gap:34px}
  .contact h2{font-size:42px;line-height:1.18}
  .contact-copy>p:not(.eyebrow){font-size:16px}
  .contact-action{justify-content:flex-start}
  .footer-grid{display:flex;flex-direction:column;justify-content:center;min-height:180px;padding-top:26px;padding-bottom:26px;gap:10px;text-align:center}
  .footer-logo img{width:200px}
  .footer-grid>a:last-child{text-align:center}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}


/* Analytics consent */
.analytics-consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:9999;background:#fff;border:1px solid var(--border);box-shadow:0 12px 40px rgba(13,36,59,.18);color:var(--navy)}
.analytics-consent[hidden]{display:none}
.analytics-consent__inner{max-width:1180px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.analytics-consent p{margin:0;max-width:760px;font-size:14px;line-height:1.5}
.analytics-consent__actions{display:flex;gap:10px;flex-shrink:0}
.consent-btn{font:inherit;font-size:13px;font-weight:700;padding:10px 16px;border:1px solid var(--navy);cursor:pointer}
.consent-btn--primary{background:var(--navy);color:#fff}
.consent-btn--secondary{background:#fff;color:var(--navy)}
.consent-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:640px){
  .analytics-consent{left:10px;right:10px;bottom:10px}
  .analytics-consent__inner{align-items:stretch;flex-direction:column;gap:14px;padding:16px}
  .analytics-consent__actions{width:100%}
  .consent-btn{flex:1}
}
