/* responsive.css — breakpoints 1180 / 1024 / 860 / 640 / 560 / 420 */
@media (max-width:1180px){
  .main-nav a,.sub-toggle{padding:8px 12px}
  .fc-1{left:-16px}.fc-2{right:-8px}.fc-3{left:-8px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .diff-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(6,20,49,.97)}
  .site-header.is-scrolled{background:rgba(4,14,36,.98)}
  .main-nav{position:fixed;inset:80px 0 0 0;background:var(--bg);padding:24px;overflow-y:auto;transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s;margin:0}
  .main-nav.is-open{transform:none;opacity:1;visibility:visible}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:4px}
  .main-nav a,.sub-toggle{padding:16px;font-size:1.125rem;width:100%;justify-content:space-between}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 16px;display:none;min-width:0}
  .has-sub.is-open .submenu{display:block}
  .has-sub:hover .submenu{display:none}.has-sub.is-open:hover .submenu{display:block}
  .nav-toggle{display:inline-flex}
  .header-actions{margin-left:auto}
  .hero-grid,.page-hero-grid,.intro-grid,.two-col,.contact-grid,.areas-layout{grid-template-columns:1fr;gap:48px}
  .hero-media{justify-self:center}
  .trustbar ul{grid-template-columns:repeat(3,1fr)}
  .trustbar li:nth-child(4){border-left:0}
  .trustbar li:nth-child(n+4){border-top:1px solid var(--border)}
  .why-grid,.ben-grid,.val-grid,.post-grid,.related-grid{grid-template-columns:repeat(2,1fr)}
  .inc-grid,.ways,.strip{grid-template-columns:repeat(2,1fr)}
  .car-slide{flex-basis:calc((100% - 24px)/2)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .article-layout{grid-template-columns:1fr;gap:32px}
  .toc,.aside-card,.map-frame{position:static}
  .featured-post{grid-template-columns:1fr}
  .cta-inner{grid-template-columns:1fr}
  .cta-inner .hero-ctas{justify-content:flex-start}
}
@media (max-width:860px){
  .section{padding:80px 0}
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc-grid>.svc-card{grid-column:span 1}
  .svc-grid>.svc-card.feature,.svc-grid>.svc-card.wide{grid-column:1/-1;grid-row:auto}
  .svc-card.feature img{aspect-ratio:16/10;height:auto;min-height:0}
  .svc-grid>.svc-card.wide{flex-direction:column}
  .svc-card.wide img{width:100%;min-height:0;aspect-ratio:16/10}
  .svc-card.wide .body{padding:24px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .gallery{columns:2}
  .mv-grid,.nf-grid{grid-template-columns:1fr}
  .map-frame iframe{height:400px}
}
@media (max-width:640px){
  body{font-size:1rem}
  .container{padding:0 20px}
  .section{padding:64px 0}
  .hero{padding:40px 0 64px}
  .page-hero{padding:32px 0 56px}
  .section-head{margin-bottom:32px}
  .trustbar ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trustbar li{border-left:0!important;border-top:1px solid var(--border)}
  .trustbar li:nth-child(-n+2){border-top:0}
  .trustbar li:nth-child(even){border-left:1px solid var(--border)!important}
  .trustbar li:last-child{grid-column:1/-1;border-left:0!important}
  .why-grid,.ben-grid,.val-grid,.post-grid,.related-grid,.inc-grid,.ways,.area-grid,.diff-grid,.svc-grid{grid-template-columns:1fr}
  .svc-grid>.svc-card{grid-column:1/-1}
  .strip{grid-template-columns:1fr 1fr;gap:16px}
  .car-slide{flex-basis:100%}
  .steps{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr;gap:0}
  .form-card{padding:24px}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  .footer-bottom{flex-direction:column}
  .featured-post .body{padding:24px}
  .author-box{flex-direction:column;align-items:flex-start}
  .float-card{padding:8px 12px;max-width:200px}
  .float-card .ic{width:32px;height:32px;border-radius:10px}
  .float-card strong{font-size:.9375rem}
  .fc-1{left:0}.fc-2{right:0}.fc-3{left:0}
  .faq-a p{padding-right:0}
  .why-card,.ben-card,.val-card,.mv-card{padding:24px}
}
@media (max-width:560px){
  .btn-call{display:none}
  .call-circle{display:inline-flex}
  .brand img{width:44px;height:44px}
  .brand-name{font-size:.9375rem}
  .brand-sub{font-size:.75rem}
  .header-inner{gap:12px;min-height:72px}
  .main-nav{inset:72px 0 0 0}
  .hero-ctas .btn{width:100%}
  .to-top{right:16px;bottom:96px}
  .gallery{column-gap:16px}.gallery button{margin-bottom:16px}
}
@media (max-width:420px){
  .container{padding:0 16px}
  .brand{gap:8px}
  .brand img{width:40px;height:40px}
  .brand-sub{display:none}
  .gallery{columns:1}
  .strip{grid-template-columns:1fr}
  .float-card{display:none}
  .fc-1{display:flex;top:auto;bottom:16px;left:16px}
}
@media (max-width:420px){
  .trustbar li{padding:16px 12px;font-size:.875rem;gap:8px;min-width:0}
}

/* ===== Phase 2: white header band with navy logo ===== */
.site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(6,20,49,.08)}
.site-header.is-scrolled{background:#fff;border-bottom-color:rgba(6,20,49,.1);box-shadow:0 10px 30px rgba(3,11,31,.35)}
.header-inner{min-height:112px;transition:min-height .3s ease}
.brand img{width:96px;height:96px;transition:width .3s ease,height .3s ease}
.nav-toggle{color:#061431;border-color:rgba(6,20,49,.22)}
.footer-brand img{width:200px;height:200px}
@media (min-width:1025px){
  .site-header.is-scrolled .header-inner{min-height:88px}
  .site-header.is-scrolled .brand img{width:76px;height:76px}
  .main-nav a,.sub-toggle{color:#1d3257;font-weight:600}
  .main-nav a:hover,.sub-toggle:hover{color:#061431;background:#eef6fd}
  .main-nav a[aria-current="page"]{color:#061431;background:#dff0fc}
  .submenu{background:#fff;border-color:rgba(6,20,49,.1);box-shadow:0 18px 40px rgba(3,11,31,.25)}
}
@media (max-width:1024px){
  .site-header,.site-header.is-scrolled{background:#fff}
  .header-inner{min-height:96px}
  .brand img{width:80px;height:80px}
  .main-nav{inset:96px 0 0 0;border-top:1px solid var(--border)}
}
@media (max-width:560px){
  .header-inner{min-height:84px}
  .brand img{width:68px;height:68px}
  .main-nav{inset:84px 0 0 0}
  .footer-brand img{width:168px;height:168px}
}

/* ===== Before / after carousel ===== */
.car-slide.ba img{aspect-ratio:5/4;object-fit:cover}
.ba-img{position:relative}
.ba-tag{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(3,11,31,.82);color:#fff;line-height:1.5}
.ba-tag.a{background:var(--accent);color:var(--on-accent)}
.ba-img.h .ba-tag.a{left:calc(50% + 12px)}
.ba-img.v .ba-tag.a{top:calc(50% + 12px)}
