﻿:root { --ink:#102033; --muted:#607086; --line:#dce6ef; --brand:#0b5f9f; --brand-2:#0b74bd; --brand-dark:#082f55; --orange:#ff7a21; --soft:#f4f9fd; --panel:#fff; --dark:#071525; --display:"Segoe UI",Arial,sans-serif; --impact:"Segoe UI",Arial,sans-serif; --body:"Segoe UI",Arial,sans-serif; --shadow:0 24px 70px rgba(9,38,72,.14); --radius:10px; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:var(--body);line-height:1.65;background:#fff;text-rendering:optimizeLegibility} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#000;color:#fff;padding:10px 14px}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:13px 30px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:11px;min-width:190px;color:var(--brand-dark);font-family:var(--display);font-weight:700;line-height:1.1}.brand img{width:44px;height:44px;object-fit:contain}.nav-links{display:flex;justify-content:center;align-items:center;gap:17px;color:#314157;font:700 13px/1 var(--display);white-space:nowrap}.nav-links a{padding:10px 0;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--brand);border-bottom-color:var(--orange)}.nav-toggle{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;border:1px solid var(--orange);border-radius:var(--radius);background:var(--orange);color:#fff;font:700 12px/1 var(--display);letter-spacing:.05em;text-transform:uppercase;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(255,122,33,.24)}.btn-light{background:#fff;color:var(--brand-dark);border-color:#fff}.btn-small{min-height:40px;padding:10px 15px}
.hero-section{position:relative;overflow:hidden;padding:88px 0 76px;background:radial-gradient(circle at 78% 20%,rgba(255,122,33,.25),transparent 30%),linear-gradient(135deg,#061424 0%,#0a3766 52%,#0b5f9f 100%);color:#fff}.hero-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;opacity:.24}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);gap:54px;align-items:center}.eyebrow{margin:0 0 14px;color:#ffc08f;font:700 12px/1.2 var(--display);letter-spacing:.15em;text-transform:uppercase}.dark-text{color:var(--brand)}h1,h2,h3{margin:0;color:inherit}h1{max-width:820px;font-family:var(--display);font-size:clamp(42px,5vw,72px);line-height:1.03;letter-spacing:0}h2{font-family:var(--display);font-size:clamp(31px,3.4vw,50px);line-height:1.08;letter-spacing:0}h3{font-family:var(--display);font-size:21px;line-height:1.24}.lead{max-width:730px;margin:22px 0 0;color:rgba(255,255,255,.87);font-size:19px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.keyword-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.keyword-chips span{padding:8px 11px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#e8f2ff;font-size:12px;border-radius:999px}
.media-card{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(145deg,#eef8ff,#fff);border:1px solid rgba(13,95,159,.14);box-shadow:var(--shadow)}.media-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(255,122,33,.17),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0));pointer-events:none}.media-card img{width:100%;height:100%;min-height:330px;object-fit:contain;padding:28px;background:#eaf6fd}.hero-visual img{min-height:420px;padding:30px}.media-card figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 13px;border-radius:8px;background:rgba(255,255,255,.91);color:var(--brand-dark);font:700 13px/1.35 var(--display);box-shadow:0 10px 26px rgba(8,47,85,.12)}
.section{padding:82px 0}.bg-soft{background:var(--soft)}.bg-dark{background:linear-gradient(135deg,#071525,#0b3f70);color:#fff}.white-copy{color:rgba(255,255,255,.82);max-width:760px}.two-col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:54px;align-items:center}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}.service-tile{display:block;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.service-tile:hover{transform:translateY(-5px);border-color:rgba(255,122,33,.5);box-shadow:0 24px 55px rgba(15,23,42,.12)}.service-tile span{display:inline-flex;margin-bottom:14px;padding:7px 10px;border-radius:999px;background:#eaf6fd;color:var(--brand);font:700 12px/1 var(--display);text-transform:uppercase;letter-spacing:.08em}.service-tile p{color:var(--muted);margin:13px 0 0}.keyword-list{display:grid;gap:10px;padding:0;margin:26px 0 0;list-style:none}.keyword-list li{padding:13px 16px;border-left:4px solid var(--orange);background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.city-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}.city-grid a{display:flex;min-height:64px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--brand-dark);font:700 15px/1 var(--display);box-shadow:0 8px 22px rgba(15,23,42,.04)}.city-grid a:hover{color:#fff;background:var(--brand);border-color:var(--brand)}.faq-list{display:grid;gap:14px;margin-top:30px}.faq-list details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}.faq-list summary{cursor:pointer;padding:20px 22px;color:var(--brand-dark);font:700 18px/1.3 var(--display)}.faq-list p{margin:0;padding:0 22px 22px;color:var(--muted)}.cta-band{padding:56px 0;background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff}.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}.cta-grid p{margin:13px 0 0;color:rgba(255,255,255,.84);max-width:720px}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:40px 30px;background:#061424;color:rgba(255,255,255,.78)}.site-footer strong{color:#fff;font-family:var(--display)}.site-footer p{max-width:820px;margin:8px 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:#fff;font:700 13px/1 var(--display)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .58s ease var(--reveal-delay,0ms),transform .58s ease var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.service-tile{transition:none}}
@media (max-width:1100px){.site-header{grid-template-columns:auto auto auto}.nav-toggle{display:inline-flex;width:46px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;justify-self:end;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-dark);cursor:pointer}.nav-toggle span{width:22px;height:2px;background:currentColor;border-radius:999px}.nav-toggle strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nav-links{position:fixed;top:75px;left:20px;right:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease;white-space:normal}.nav-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{padding:14px;border-bottom:1px solid #eef3f7}.hero-grid,.two-col{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.container{width:min(100% - 28px,1180px)}.site-header{padding:11px 14px;gap:10px}.brand span{display:none}.site-header .btn-small{display:none}.nav-links{top:68px;left:12px;right:12px;grid-template-columns:1fr}.hero-section{padding:58px 0 54px}.hero-grid{gap:30px}.hero-visual img,.media-card img{min-height:260px;padding:18px}.media-card figcaption{position:static;border-radius:0;box-shadow:none}.section{padding:58px 0}.service-grid,.city-grid,.cta-grid,.site-footer{grid-template-columns:1fr}h1{font-size:clamp(36px,12vw,52px)}h2{font-size:clamp(28px,9vw,40px)}.lead{font-size:17px}}

.mini-panel {
  padding: 30px;
  border: 1px solid rgba(11,95,159,.18);
  border-radius: var(--radius);
  background: linear-gradient(145deg, #ffffff, #eef8ff);
  box-shadow: var(--shadow);
}
.mini-panel strong {
  display: block;
  color: var(--brand-dark);
  font: 700 24px/1.2 var(--display);
}
.mini-panel p { color: var(--muted); margin: 14px 0 22px; }
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.pofo-card {
  min-height: 230px;
  padding: 30px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.pofo-card span {
  display: inline-flex;
  margin-bottom: 20px;
  color: var(--orange);
  font: 700 36px/1 var(--impact);
}
.pofo-card p { color: var(--muted); margin: 12px 0 0; }
.related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.related-links a {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #fff;
  font: 700 13px/1 var(--display);
}
.related-links a:hover { background: var(--orange); border-color: var(--orange); }
@media (max-width: 900px) { .card-grid { grid-template-columns: 1fr; } }

/* July 2026 polish pass: remove POFO visual dependency, tighten hero, restore professional typography. */
:root {
  --display: "Segoe UI", Arial, sans-serif;
  --body: "Segoe UI", Arial, sans-serif;
  --shadow: 0 18px 48px rgba(9, 38, 72, .12);
}
.site-header {
  min-height: 70px;
  padding: 12px 28px;
}
.brand {
  min-width: 240px;
  gap: 12px;
  font-family: var(--body);
  font-weight: 800;
  color: #0a3158;
}
.brand img { display: block; width: 44px; height: 44px; object-fit: contain; }
.nav-links {
  font-family: var(--body);
  font-size: 14px;
  font-weight: 650;
}
.btn {
  font-family: var(--body);
  font-weight: 800;
  letter-spacing: .03em;
}
.hero-section {
  padding: 70px 0 62px;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,122,33,.18), transparent 26%),
    linear-gradient(135deg, #07182b 0%, #0b3b68 55%, #0d68a9 100%);
}
.hero-grid {
  grid-template-columns: minmax(0, .98fr) minmax(340px, .78fr);
  gap: 46px;
}
h1 {
  max-width: 680px;
  font-family: var(--body);
  font-weight: 850;
  font-size: clamp(36px, 4.25vw, 58px);
  line-height: 1.08;
}
h2 {
  font-family: var(--body);
  font-weight: 850;
  font-size: clamp(28px, 3vw, 44px);
}
h3, .eyebrow, .service-tile span, .faq-list summary, .city-grid a, .footer-links, .mini-panel strong {
  font-family: var(--body);
}
.lead {
  max-width: 660px;
  font-size: 18px;
}
.media-card {
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(219,230,238,.95);
  box-shadow: 0 22px 52px rgba(4, 28, 52, .18);
}
.media-card::before { opacity: .45; }
.media-card img {
  min-height: 285px;
  padding: 18px;
  background: linear-gradient(145deg, #eef8ff, #ffffff);
  object-fit: contain;
}
.hero-visual {
  max-width: 535px;
  justify-self: end;
}
.hero-visual img {
  min-height: 360px;
  padding: 24px;
}
.media-card figcaption { display: none; }
.section { padding: 74px 0; }
.service-tile {
  min-height: 220px;
  padding: 24px;
}
.pofo-card { min-height: 205px; }
@media (max-width: 1100px) {
  .brand { min-width: 0; }
  .hero-visual { justify-self: stretch; max-width: none; }
}
@media (max-width: 720px) {
  .site-header { min-height: 64px; }
  .hero-section { padding: 48px 0 46px; }
  .hero-visual img, .media-card img { min-height: 235px; padding: 14px; }
}



/* Mobile performance and layout pass */
@media (max-width: 720px) {
  body { line-height: 1.55; }
  .site-header {
    grid-template-columns: auto auto;
    min-height: 58px;
    padding: 8px 14px;
  }
  .brand {
    min-width: 0;
    gap: 8px;
  }
  .brand span { display: inline; font-size: 13px; max-width: 150px; line-height: 1.15; }
  .site-header .brand img,
  .site-header .brand img[width] {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px;
  }
  .nav-toggle {
    width: 42px;
    height: 38px;
  }
  .nav-links {
    top: 58px;
    left: 10px;
    right: 10px;
    max-height: calc(100vh - 76px);
    overflow: auto;
    padding: 8px;
  }
  .nav-links a {
    padding: 13px 12px;
    font-size: 14px;
  }
  .hero-section {
    padding: 34px 0 36px;
  }
  .hero-grid {
    display: block;
  }
  .eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
    letter-spacing: .12em;
  }
  h1 {
    max-width: 100%;
    font-size: clamp(31px, 9.5vw, 41px);
    line-height: 1.1;
  }
  .lead {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.6;
  }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 22px;
  }
  .hero-actions .btn {
    width: 100%;
    min-height: 44px;
  }
  .keyword-chips {
    margin-top: 18px;
    gap: 7px;
  }
  .keyword-chips span {
    padding: 7px 9px;
    font-size: 11px;
  }
  .hero-visual {
    display: none;
  }
  .service-grid {
    gap: 12px;
    margin-top: 22px;
  }
  .service-tile {
    min-height: 0;
    padding: 18px;
  }
  .service-tile h3 { font-size: 19px; }
  .section { padding: 46px 0; }
  .two-col { gap: 24px; }
  .media-card img { min-height: 210px; padding: 12px; }
  .city-grid a { min-height: 52px; }
  .faq-list summary { padding: 16px 18px; font-size: 16px; }
  .faq-list p { padding: 0 18px 18px; }
  .cta-band { padding: 42px 0; }
}

/* Final mobile above-the-fold trim */
@media (max-width: 720px) {
  h1 { font-size: clamp(28px, 8.4vw, 36px); line-height: 1.08; }
  .lead { font-size: 15.5px; line-height: 1.55; }
  .keyword-chips { display: none; }
  .hero-section { padding: 30px 0 32px; }
}

/* Simple header logo: one optimized image, no background duplicate. */
.site-header .brand img.brand-logo {
  display: block;
  width: 44px;
  height: 44px;
  min-width: 44px;
  object-fit: contain;
}
@media (max-width: 720px) {
  .site-header .brand img.brand-logo {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
}


/* Blog page and contrast improvements */
.blog-hero .container { max-width: 900px; }
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.blog-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.blog-card span {
  display: inline-flex;
  margin-bottom: 16px;
  color: var(--orange);
  font-weight: 850;
  letter-spacing: .08em;
}
.blog-card p { color: var(--muted); }
.text-link {
  display: inline-flex;
  margin-top: 8px;
  color: var(--brand);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 720px) { .blog-grid { grid-template-columns: 1fr; } .blog-card { padding: 20px; } }


/* Long-form SEO article layout */
.article-stack {
  display: grid;
  gap: 26px;
}
.blog-article {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.blog-article h2 {
  max-width: 900px;
}
.blog-article p {
  max-width: 930px;
  color: var(--muted);
}
.blog-article .article-summary {
  color: var(--ink);
  font-weight: 700;
  font-size: 18px;
}
.article-links {
  margin-top: 24px;
  padding: 20px;
  border-radius: 10px;
  background: var(--soft);
}
.article-links strong {
  display: block;
  margin-bottom: 10px;
  color: var(--brand-dark);
}
.article-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-links a {
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-weight: 800;
  border: 1px solid var(--line);
}
.article-links a:hover {
  border-color: var(--brand);
}
@media (max-width: 720px) {
  .blog-article { padding: 20px; }
  .blog-article .article-summary { font-size: 16px; }
  .article-links { padding: 16px; }
  .article-links ul { display: grid; }
}
