:root{--navy:#042a5c;--navy-2:#083b7a;--gold:#f3cf2d;--cyan:#1cb8d5;--ink:#0f172a;--muted:#64748b;--bg:#f8fafc;--card:#ffffff;--border:#dbe3ee;--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1120px,92vw);margin:0 auto}.topbar {
  background: var(--navy);
  border-top: 4px solid var(--gold);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
  position: sticky;
  top: 0;
  z-index: 1000;
}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between}.nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.brand{display:flex;gap:12px;align-items:center}.brand img{width:56px;height:56px;object-fit:contain}.brand strong{font-family:"Barlow Condensed",sans-serif;letter-spacing:0.04em;color:#fff;font-size:1.15rem;line-height:1}.brand span{display:block;color:#c8ddff;font-size:0.82rem}.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 45%,#0a58a8 100%);color:#fff;padding:62px 0}.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:26px;align-items:center}.hero h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(2rem,6vw,3.35rem);line-height:0.95;margin:0 0 14px;letter-spacing:0.01em}.lead{color:#dce9ff;max-width:56ch}.eyebrow{margin:0 0 8px;color:var(--gold);font-weight:700;letter-spacing:0.08em;font-size:0.76rem}.small-note{color:#c8ddff;font-size:0.85rem}.hero-media img{border-radius:var(--radius);border:2px solid rgba(255,255,255,0.25);box-shadow:0 20px 40px rgba(2,7,23,0.35);max-height:430px;width:100%;object-fit:cover}.trust{background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,0.2)}.trust-grid{padding:14px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center;font-size:0.93rem;color:#fff;font-weight:600}.section{padding:70px 0;background:#fff}.section h2{margin:0 0 18px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:0.02em;color:var(--navy)}.cards{display:grid;gap:16px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h3{margin:0 0 8px;font-family:"Barlow Condensed",sans-serif;font-size:1.45rem;color:var(--navy)}.card p{margin:0;color:#334155}.service-card{padding:0;overflow:hidden}.service-card-link{display:block;height:100%;padding:18px;border-radius:inherit;transition:background-color .2s ease}.service-card-link:hover{background:#f8fbff}.service-card-link:focus-visible{outline:3px solid rgba(28,184,213,0.45);outline-offset:2px}.service-card-cta{display:inline-flex;margin-top:12px;font-weight:700;color:var(--navy)}.service-card-link:hover .service-card-cta,.service-card-link:focus-visible .service-card-cta{text-decoration:underline}.media-card{padding:0;overflow:hidden}.media-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.media-caption{padding:12px 14px;font-size:0.92rem;color:#334155;border-top:1px solid var(--border)}.section-head p{margin:-8px 0 16px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.steps span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--gold);color:#111827;font-weight:800}.steps h3{margin:8px 0 6px;font-family:"Barlow Condensed",sans-serif;color:var(--navy);font-size:1.25rem}.steps p{margin:0;color:#334155;font-size:0.92rem}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact ul{margin:10px 0 0;padding-left:18px;color:#334155}.quote-form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:grid;gap:12px}.quote-form label{display:grid;gap:6px;font-size:0.9rem;color:#334155}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #c7d2e0;border-radius:10px;padding:10px 11px;font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:1px solid transparent;padding:0 16px;font-weight:700;transition:transform .15s ease,opacity .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--gold);color:#111827}.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}.btn-outline{border-color:var(--navy);color:var(--navy)}.topbar .btn-outline{border-color:rgba(255,255,255,0.55);color:#fff}.topbar .btn-outline:hover{border-color:var(--gold);color:var(--gold)}.hero-cta{display:flex;gap:10px;margin:18px 0 10px;flex-wrap:wrap}.services-hub-cta{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.services-hub-cta p{margin:0;color:#334155;font-weight:500}@media (max-width:980px){.hero-grid,.contact-grid,.cards.three,.cards.two,.steps,.trust-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){.hero-grid,.contact-grid,.cards.three,.cards.two,.steps,.trust-grid{grid-template-columns:1fr}.brand span{display:none}.btn-outline{display:none}.services-hub-cta{flex-direction:column;align-items:flex-start}}.service-eyebrow{color:var(--navy)}.service-hub-title{margin:0 0 12px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:0.01em;color:var(--navy)}.service-hub-lead{color:#334155;margin:0 0 24px;max-width:68ch}.services-hub-grid .card h2{margin:0 0 8px;font-family:"Barlow Condensed",sans-serif;font-size:1.45rem;color:var(--navy)}.service-link{display:inline-flex;margin-top:12px;font-weight:700;color:var(--navy)}.service-link:hover{text-decoration:underline}.service-hero{padding-top:54px;padding-bottom:54px}.service-list{margin:0;padding-left:18px;color:#334155;display:grid;gap:8px}.faq-grid{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.faq-item summary{cursor:pointer;font-weight:700;color:var(--navy)}.faq-item p{margin:8px 0 2px;color:#334155}.cta-banner{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px}.cta-banner h2{margin:0 0 6px;font-size:1.7rem}.cta-banner p{margin:0;color:#334155}@media (max-width:720px){.cta-banner{flex-direction:column;align-items:flex-start}}.site-footer{background:var(--navy);color:#fff;padding:60px 0 30px;margin-top:40px;border-top:4px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px;margin-bottom:40px}.footer-brand img{width:64px;height:64px;margin-bottom:12px;background:#fff;padding:4px;border-radius:8px}.footer-brand strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:1.4rem;color:var(--gold)}.footer-brand span{font-size:0.9rem;opacity:0.8}.footer-tagline{margin:12px 0 0;font-size:0.9rem;color:#cbd5e1;line-height:1.5}.footer-nav h4,.footer-contact h4{color:var(--gold);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:20px}.footer-nav ul{list-style:none;padding:0;margin:0}.footer-nav li{margin-bottom:10px}.footer-nav a:hover{color:var(--gold);text-decoration:underline}.footer-contact p{margin:0 0 12px;font-size:0.95rem}.footer-bottom{padding-top:25px;border-top:1px solid rgba(255,255,255,0.1);text-align:center;font-size:0.85rem;color:#94a3b8}.sticky-call{display:flex !important;position:fixed;right:20px;bottom:20px;background:var(--gold);color:#111827;font-weight:800;padding:14px 22px;border-radius:50px;box-shadow:0 10px 25px rgba(0,0,0,0.3);z-index:100;align-items:center;gap:8px;transition:transform 0.2s ease}.sticky-call:hover{transform:scale(1.05)}@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  .footer-brand, .footer-nav, .footer-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-brand img {
    margin: 0 auto 15px;
  }
  .footer-brand div {
    text-align: center;
  }
  .footer-tagline {
    margin: 15px auto 0;
    max-width: 35ch;
  }
}

/* Accessibility */
.skip-to-content{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;z-index:9999;font-weight:700;transition:top .2s}
.skip-to-content:focus{top:0}

/* Focus visible */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(28,184,213,0.6);outline-offset:2px;border-radius:4px}

/* Input accessibility */
input,textarea,select{font-size:16px}

/* Touch targets */
.btn,.btn-primary,.btn-outline,.btn-ghost{min-height:44px;min-width:44px}
.topbar a{min-height:44px;display:inline-flex;align-items:center}

/* Service Hub media */
.service-hub-media{padding:0;overflow:hidden;margin-bottom:18px}
.hub-hero-img{width:100%;aspect-ratio:16/7;object-fit:cover}
.hub-gallery-grid{padding:12px;gap:10px}
.hub-gallery-img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%}

/* Legal highlight */
.legal-highlight{margin-top:15px;padding:12px 16px;background:rgba(243,207,45,0.15);border-left:4px solid var(--gold);border-radius:4px}
.legal-text{margin:0;font-size:0.95rem;font-style:italic;font-weight:500;color:#fff;line-height:1.4}
.legal-label{color:var(--gold);font-weight:700;font-style:normal;margin-right:4px}
.footer-legal{margin-bottom:12px;font-size:0.95rem;color:#cbd5e1;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.5}


/* Navigation + Contact options updates (2026-03-17) */
.nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{font-size:.86rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff}
.nav-links a:hover{text-decoration:underline;color:var(--gold)}
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 20px}
.contact-option{display:block;text-decoration:none}
.contact-option h3{margin:0 0 6px;font-family:"Barlow Condensed",sans-serif;color:var(--navy);font-size:1.25rem}
.contact-option p{margin:0;color:#334155;font-size:.9rem}
@media (max-width: 860px) {
  .nav {
    flex-direction: column;
    padding: 20px 0;
    gap: 15px;
    height: auto;
  }
  .brand {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .brand img {
    width: 70px;
    height: 70px;
  }
  .brand strong {
    font-size: 1.4rem;
  }
  .brand span {
    display: block !important;
    font-size: 0.95rem;
  }
  .nav-links {
    width: 100%;
    justify-content: center;
    gap: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
  }
  .nav-links a {
    font-size: 0.9rem;
    padding: 8px 12px;
  }
}

@media (max-width: 680px) {
  .contact-options {
    grid-template-columns: 1fr;
  }
  .hero-cta {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }
  .hero-cta .btn {
    width: 100%;
    margin: 0;
  }
}

/* Mobile premium refinements (2026-03-18) */
@media (max-width: 860px) {
  .topbar {
    box-shadow: 0 6px 18px rgba(2, 6, 23, 0.08);
  }
  .nav {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    min-height: auto;
  }
  .brand {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 6px;
    width: 100%;
  }
  .brand img {
    width: 72px;
    height: 72px;
  }
  .brand strong {
    font-size: 1.35rem;
  }
  .brand span {
    display: block !important;
    font-size: 0.92rem;
  }
  .nav-links {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
  }
  .nav-links a {
    justify-content: center;
    flex: 0 1 auto;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
    font-size: 0.76rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-transform: uppercase;
    color: #fff;
  }
  .nav-links a:hover,
  .nav-links a:focus-visible {
    text-decoration: none;
    color: var(--gold);
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.18);
  }
}

@media (max-width: 768px) {
  .footer-brand strong {
    font-size: 1.55rem;
  }
  .footer-tagline {
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: 32ch;
  }
  .footer-nav h4,
  .footer-contact h4 {
    margin-bottom: 12px;
    font-size: 1.15rem;
  }
  .footer-contact p {
    font-size: 0.98rem;
    line-height: 1.55;
    margin-bottom: 10px;
  }
  .footer-bottom {
    font-size: 0.9rem;
    line-height: 1.45;
  }
  .footer-bottom p {
    max-width: 34ch;
    margin: 0 auto;
  }
}

@media (max-width: 680px) {
  .section {
    padding: 52px 0;
  }
  .hero {
    padding: 48px 0;
  }
  .hero-grid,
  .contact-grid,
  .cards.three,
  .cards.two,
  .steps,
  .trust-grid {
    grid-template-columns: 1fr;
  }
  .hero-cta {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }
  .hero-cta .btn,
  .services-hub-cta .btn {
    width: 100%;
    margin: 0;
  }
  .hero-cta a[href^="tel:"] {
    display: none;
  }
  .services-hub-cta {
    flex-direction: column;
    align-items: stretch;
  }
  .trust-grid {
    gap: 8px;
    font-size: 0.89rem;
  }
  .contact-options {
    grid-template-columns: 1fr;
  }
  .sticky-call {
    left: 12px;
    right: 12px;
    bottom: 12px;
    justify-content: center;
    border-radius: 14px;
    padding: 14px 16px;
  }
}

/* Core Services — premium visual cards (2026-03-18) */
.services .core-services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.services .core-services-grid .service-card {
  padding: 0;
  border: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #062a5e;
  box-shadow: 0 18px 36px rgba(2, 10, 30, 0.24);
}

.services .service-card .service-card-link {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 332px;
  padding: 0;
  border-radius: inherit;
  isolation: isolate;
  color: #fff;
}

.services .service-card .service-card-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(5, 18, 42, 0) 30%,
    rgba(7, 35, 79, 0.58) 56%,
    rgba(6, 33, 76, 0.88) 78%,
    rgba(4, 26, 60, 0.97) 100%
  );
}

.services .service-card .service-card-link:hover,
.services .service-card .service-card-link:focus-visible {
  background: transparent;
}

.services .service-card .service-card-link:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.72);
  outline-offset: 2px;
}

.services .service-card-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.services .service-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.services .service-card-link:hover .service-card-media img,
.services .service-card-link:focus-visible .service-card-media img {
  transform: scale(1.04);
}

.services .service-card-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 16px 16px 14px;
}

.services .service-card-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  background: var(--gold);
  color: #0f172a;
  box-shadow: 0 8px 16px rgba(6, 19, 45, 0.4);
}

.services .service-card-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.services .service-card h3 {
  margin: 0 0 6px;
  color: #ffffff;
  font-size: 1.62rem;
  line-height: 1;
}

.services .service-card p {
  margin: 0 0 8px;
  color: rgba(237, 244, 255, 0.9);
  font-size: 0.86rem;
  line-height: 1.4;
}

.services .service-card .service-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  font-weight: 700;
  color: var(--gold);
  font-size: 0.95rem;
}

.services .service-card-link:hover .service-card-cta,
.services .service-card-link:focus-visible .service-card-cta {
  text-decoration: underline;
}

.services .services-hub-cta.services-hub-cta--centered {
  justify-content: center;
  padding: 8px 0 0;
  margin-top: 14px;
  border: 0;
  background: transparent;
}

.services .services-hub-cta.services-hub-cta--centered .btn {
  min-height: 38px;
  padding: 0 24px;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(4, 42, 92, 0.2);
}

@media (max-width: 980px) {
  .services .core-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .services .core-services-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .services .service-card .service-card-link {
    min-height: 304px;
  }
  .services .service-card-content {
    padding: 15px;
  }
  .services .service-card h3 {
    font-size: 1.52rem;
  }
}

/* Hero rework — overlay brand + carousel (2026-03-18) */
.hero.hero--brand-carousel {
  padding: 0;
}

.hero--brand-carousel .hero-brand-wrap {
  display: block;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.hero--brand-carousel .hero-carousel {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 6;
  border-radius: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.hero--brand-carousel .hero-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(3, 23, 57, 0.74) 0%,
    rgba(5, 28, 67, 0.5) 34%,
    rgba(5, 27, 64, 0.34) 58%,
    rgba(4, 26, 60, 0.86) 100%
  );
}

.hero--brand-carousel .hero-slide {
  margin: 0;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.7s ease;
}

.hero--brand-carousel .hero-slide.is-active {
  opacity: 1;
}

.hero--brand-carousel .hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero--brand-carousel .hero-carousel-overlay {
  position: absolute;
  z-index: 3;
  top: clamp(18px, 3.4vw, 34px);
  left: 50%;
  transform: translateX(-50%);
  width: min(94%, 900px);
  text-align: center;
  pointer-events: none;
}

.hero--brand-carousel .hero-brand-title {
  margin: 0;
  color: var(--gold);
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(2rem, 6.3vw, 4.3rem);
  line-height: 0.9;
  letter-spacing: 0.035em;
  text-wrap: balance;
  text-shadow: 0 10px 24px rgba(2, 7, 23, 0.45);
}

.hero--brand-carousel .hero-brand-subtitle {
  margin: 12px auto 0;
  color: #f8fbff;
  font-weight: 700;
  font-size: clamp(1rem, 2.1vw, 1.78rem);
  line-height: 1.26;
  text-shadow: 0 8px 18px rgba(2, 7, 23, 0.4);
}

@media (max-width: 860px) {
  .hero.hero--brand-carousel {
    padding: 0;
  }

  .hero--brand-carousel .hero-carousel {
    aspect-ratio: 4 / 3;
  }

  .hero--brand-carousel .hero-brand-title {
    font-size: clamp(2rem, 9.8vw, 3.25rem);
    letter-spacing: 0.025em;
  }

  .hero--brand-carousel .hero-brand-subtitle {
    margin-top: 8px;
    font-size: clamp(0.95rem, 3.8vw, 1.3rem);
  }
}

@media (max-width: 520px) {
  .hero--brand-carousel .hero-carousel {
    aspect-ratio: 5 / 4;
  }

  .hero--brand-carousel .hero-brand-subtitle br {
    display: none;
  }
}

/* Service detail hero — full-bleed image + blue gradient (2026-03-18) */
.service-hero {
  padding: 0;
  overflow: hidden;
}

.service-hero .container.hero-grid {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(360px, 44vw, 560px);
  display: block;
  position: relative;
  padding: clamp(44px, 7.2vw, 84px) clamp(18px, 8vw, 190px);
}

.service-hero .container.hero-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    92deg,
    rgba(3, 26, 65, 0.96) 0%,
    rgba(5, 36, 83, 0.88) 33%,
    rgba(4, 31, 73, 0.62) 58%,
    rgba(4, 27, 63, 0.42) 100%
  );
}

.service-hero .hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.service-hero .hero-media img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.service-hero .container.hero-grid > div:first-child {
  position: relative;
  z-index: 2;
  max-width: min(760px, 92vw);
}

.service-hero .eyebrow {
  color: var(--gold);
}

.service-hero h1 {
  color: #fff;
  margin-bottom: 10px;
}

.service-hero .lead {
  color: #dce9ff;
  max-width: 56ch;
}

.service-hero .hero-cta {
  margin-top: 18px;
}

.service-hero .btn-ghost {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.42);
}

@media (max-width: 980px) {
  .service-hero .container.hero-grid {
    min-height: clamp(340px, 58vw, 500px);
    padding: clamp(36px, 8.2vw, 66px) clamp(16px, 6vw, 48px);
  }
}

@media (max-width: 680px) {
  .service-hero .container.hero-grid {
    min-height: 420px;
    padding: 34px 16px 26px;
  }

  .service-hero .container.hero-grid::before {
    background: linear-gradient(
      180deg,
      rgba(3, 25, 63, 0.9) 0%,
      rgba(4, 29, 69, 0.74) 42%,
      rgba(4, 27, 63, 0.86) 100%
    );
  }

  .service-hero .hero-cta {
    flex-direction: row;
    gap: 10px;
  }

  .service-hero .hero-cta .btn {
    width: auto;
    min-width: 132px;
  }
}

/* Contact options card redesign (2026-03-18) */
.contact .contact-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0 22px;
}

.contact .contact-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  min-height: 212px;
  padding: 14px 12px 12px;
  border-radius: 16px;
  border: 2px solid #083b7a;
  background: linear-gradient(180deg, #0a4a98 0%, #083a7f 100%);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
  text-decoration: none;
}

.contact .contact-option:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.2);
}

.contact .contact-option-icon {
  font-size: 2.25rem;
  line-height: 1;
  margin: 2px 0 6px;
}

.contact .contact-option h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.9rem;
  line-height: 1;
}

.contact .contact-option p {
  margin: 0;
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.92rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
  max-width: 100%;
}

.contact .contact-option-btn {
  margin-top: auto;
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: #ffffff;
  font-weight: 800;
  font-size: 1.26rem;
  letter-spacing: 0.01em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 14px rgba(4, 42, 92, 0.23);
}

@media (max-width: 980px) {
  .contact .contact-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .contact .contact-option {
    min-height: 196px;
    padding: 12px 9px 10px;
  }

  .contact .contact-option h3 {
    font-size: 1.62rem;
  }

  .contact .contact-option p {
    font-size: 0.9rem;
  }

  .contact .contact-option-btn {
    min-height: 40px;
    font-size: 1.06rem;
  }
}

@media (max-width: 680px) {
  .contact .contact-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .contact .contact-option {
    min-height: 178px;
    padding: 10px 7px 9px;
    border-radius: 14px;
  }

  .contact .contact-option-icon {
    font-size: 1.85rem;
  }

  .contact .contact-option h3 {
    font-size: 1.35rem;
  }

  .contact .contact-option p {
    font-size: 0.82rem;
    line-height: 1.2;
  }

  .contact .contact-option-btn {
    min-height: 36px;
    font-size: 0.9rem;
  }
}

/* About Us redesign (2026-03-20) */
.about-page {
  background: #eef2f7;
}

.about-layout {
  max-width: 1020px;
  display: grid;
  gap: 16px;
}

.about-hero-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.about-hero-brand {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(12px, 2vw, 22px);
}

.about-hero-logo {
  width: clamp(70px, 8vw, 92px);
  height: auto;
  display: block;
  filter: drop-shadow(0 6px 12px rgba(6, 16, 34, 0.22));
}

.about-hero-copy {
  min-width: 0;
}

.about-company-name {
  margin: 2px 0 0;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(2.2rem, 5.3vw, 3.6rem);
  line-height: 0.92;
  letter-spacing: 0.01em;
  color: #0a2347;
  max-width: 16ch;
}

.about-tagline {
  margin: 6px 0 0;
  font-size: clamp(1.02rem, 2.1vw, 1.22rem);
  line-height: 1.35;
  color: #19406f;
  font-weight: 700;
}

.about-prose-card,
.about-panel {
  background: #ffffff;
  border: 1px solid #d7e0ec;
  border-radius: 14px;
  padding: clamp(16px, 2.6vw, 24px);
  box-shadow: 0 8px 18px rgba(12, 23, 41, 0.08);
}

.about-prose-card h2,
.about-panel h2 {
  margin: 0 0 10px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  line-height: 1;
  color: #0d2c58;
}

.about-prose {
  display: grid;
  gap: 12px;
}

.about-prose p,
.about-panel p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: #1f324b;
}

.about-who-split {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: clamp(14px, 2.4vw, 24px);
  align-items: stretch;
}

.about-image-side {
  background: #ffffff;
  border: 1px solid #d7e0ec;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(12, 23, 41, 0.08);
  display: flex;
}

.about-side-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-content-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.about-values-block {
  background: linear-gradient(180deg, #072b5b 0%, #0b3168 100%);
  border: 1px solid rgba(13, 51, 103, 0.75);
  border-radius: 16px;
  padding: clamp(16px, 2.6vw, 24px);
  box-shadow: 0 10px 22px rgba(7, 17, 34, 0.24);
}

.about-values-block h2 {
  margin: 0 0 12px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.15rem);
  line-height: 1;
  color: #f8fbff;
}

.about-values-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.about-value-card {
  background: #1a3f74;
  border: 1px solid #2d548a;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.about-value-card h3 {
  margin: 0 0 4px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1;
  color: #ffffff;
}

.about-value-card p {
  margin: 0;
  color: rgba(243, 249, 255, 0.95);
  font-size: 0.98rem;
  line-height: 1.45;
}

.about-value-card--wide {
  grid-column: 1 / -1;
}

@media (max-width: 800px) {
  .about-who-split {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .about-image-side {
    order: -1;
    aspect-ratio: 16 / 9;
  }

  .about-value-card--wide {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  .about-layout {
    gap: 12px;
  }

  .about-prose-card,
  .about-panel,
  .about-values-block {
    border-radius: 12px;
    padding: 14px;
  }

  .about-hero-brand {
    grid-template-columns: 58px 1fr;
    gap: 10px;
    align-items: start;
  }

  .about-hero-logo {
    width: 58px;
    margin-top: 2px;
  }

  .about-company-name {
    max-width: 100%;
    font-size: clamp(1.95rem, 8.4vw, 2.45rem);
  }

  .about-values-grid {
    grid-template-columns: 1fr;
  }

  .about-prose p,
  .about-panel p,
  .about-value-card p {
    font-size: 0.95rem;
    line-height: 1.58;
  }
}

/* Footer alignment v1 (2026-03-18) */
.site-footer .footer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 30px;
}

.site-footer .footer-brand,
.site-footer .footer-nav,
.site-footer .footer-contact {
  min-width: 0;
}

.site-footer .footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.site-footer .footer-brand img {
  margin-bottom: 14px;
}

.site-footer .footer-tagline {
  max-width: 32ch;
}

.site-footer .footer-nav ul {
  display: grid;
  gap: 10px;
}

.site-footer .footer-contact {
  display: grid;
  align-content: start;
  gap: 10px;
}

.site-footer .footer-contact p {
  margin: 0;
  line-height: 1.45;
}

.site-footer .footer-bottom p {
  margin: 0 auto;
  max-width: 62ch;
  text-align: center;
}

@media (max-width: 980px) {
  .site-footer .footer-grid {
    gap: 22px;
  }
}

@media (max-width: 768px) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .site-footer .footer-brand,
  .site-footer .footer-nav,
  .site-footer .footer-contact {
    align-items: center;
    text-align: center;
  }

  .site-footer .footer-tagline,
  .site-footer .footer-bottom p {
    max-width: 34ch;
  }
}

/* Audio action pack — Leandro requests (2026-03-18) */
.nav-links .nav-quote-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: linear-gradient(180deg, #f7d84d 0%, #eebc17 100%);
  color: #102645 !important;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 20px rgba(4, 22, 50, 0.28);
  text-transform: none;
}

.nav-links .nav-quote-btn::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -6px;
  width: 10px;
  height: 10px;
  background: #eebc17;
  transform: rotate(45deg);
  border-right: 1px solid rgba(16, 38, 69, 0.16);
  border-bottom: 1px solid rgba(16, 38, 69, 0.16);
}

.nav-links .nav-quote-btn:hover,
.nav-links .nav-quote-btn:focus-visible {
  color: #102645 !important;
  border-color: rgba(255, 255, 255, 0.72);
  transform: translateY(-1px);
  text-decoration: none;
}

.hero-ms-sticker {
  position: absolute;
  left: clamp(10px, 2.2vw, 26px);
  bottom: clamp(10px, 2.2vw, 24px);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(4, 26, 60, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #f8fbff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(2, 10, 28, 0.34);
}

.quote-form select,
.quote-form select option {
  color: #0f172a;
  background: #ffffff;
}

.quote-form input[type="file"] {
  border: 1px dashed #8ea4c2;
  background: #f8fbff;
  padding: 10px;
  border-radius: 10px;
  font-size: 0.9rem;
}

.quote-form input[type="file"]::file-selector-button {
  margin-right: 10px;
  border: 0;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  padding: 8px 12px;
  font-weight: 700;
}

@media (max-width: 860px) {
  .nav-links .nav-quote-btn {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.8rem;
  }

  .nav-links .nav-quote-btn::after {
    right: 12px;
  }
}

/* Home project progression hardening (2026-03-20) */
.projects .media-card {
  position: relative;
}

.projects .stage-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(4, 26, 60, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #f8fbff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 8px 16px rgba(2, 10, 28, 0.35);
}

.projects .section-head p {
  font-weight: 700;
  color: #1a3e71;
}

@media (max-width: 680px) {
  .projects .stage-badge {
    top: 8px;
    left: 8px;
    min-height: 28px;
    padding: 3px 9px;
    font-size: 0.72rem;
  }
}
