/* V3.4: consistent site gutters, social icons and process icon treatment. */
:root { --site-max-width: 1180px; --site-gutter: 4%; }
/* Shared horizontal grid: header and topbar align with the existing .container and footer grid. */
body > #root > .topbar, #root > .topbar, #root > header, #root > div > .topbar, #root > div > header {
  padding-left: max(var(--site-gutter), calc((100% - var(--site-max-width)) / 2));
  padding-right: max(var(--site-gutter), calc((100% - var(--site-max-width)) / 2));
}
/* Footer already limits its columns to 1180px; keep its side padding at the same gutters. */
#root > footer, #root > div > footer {padding-left: var(--site-gutter); padding-right: var(--site-gutter);}
/* Preserve existing content max width and the exact same left/right edge across zoom levels. */
#root .container {width: min(var(--site-max-width), 92%); max-width: 100%; margin-left: auto; margin-right: auto;}
#root .footer-grid, #root .footer-bottom {width: 100%; max-width: var(--site-max-width); margin-left: auto; margin-right: auto;}
/* Process icon tiles: only the background shade and SVG dimensions change. */
#root .process-icon, #root .homepage-process-section .provided-home-process-card .process-icon {background: var(--gold);}
#root .process-icon svg {width:34px; height:34px; max-width:none; max-height:none;}
#root .homepage-process-section .provided-home-process-card .process-icon svg {width:28px !important; height:28px !important;}
#root .about-process-icon-wrap .process-icon svg,
#root .service-reference-why-card .process-icon svg {width:31px; height:31px;}
#root .process-card:hover .process-icon,
#root .provided-home-process-card:hover .process-icon,
#root .single-service-process-card:hover .process-icon,
#root .about-process-card:hover .process-icon,
#root .service-reference-why-card:hover .process-icon {color:#fff; background:var(--gold);}
#root .process-card:hover .process-icon svg,
#root .provided-home-process-card:hover .process-icon svg,
#root .single-service-process-card:hover .process-icon svg,
#root .about-process-card:hover .process-icon svg,
#root .service-reference-why-card:hover .process-icon svg {color:#fff;stroke:#fff;}
/* Icon-only social links keep verified original destinations. */
#root .footer-social {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;}
#root .footer-social a {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;color:#c8d8d2;border:1px solid rgba(255,255,255,.25);border-radius:10px;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;}
#root .footer-social a svg {width:21px;height:21px;display:block;flex-shrink:0;}
#root .footer-social a:hover, #root .footer-social a:focus-visible {color:#fff;border-color:var(--gold);background:rgba(213,155,66,.23);transform:translateY(-2px);}
#root .footer-social a:focus-visible {outline:2px solid var(--gold);outline-offset:3px;}
@media(max-width:800px){
  #root > div > header nav, #root > header nav {left:0;right:0;}
  #root .container {min-width:0;}
}
@media(max-width:560px){
  #root .footer-grid, #root .footer-bottom {min-width:0;}
}

/* V3.5 — only SVG glyph dimensions change; tile size, padding and gaps remain untouched. */
#root .process-icon,
#root .homepage-process-section .provided-home-process-card .process-icon,
#root .about-process-icon-wrap .process-icon { background:var(--gold) !important; color:#fff !important; }
#root .process-icon svg {width:42px !important;height:42px !important;color:#fff !important;stroke:currentColor !important;}
#root .homepage-process-section .provided-home-process-card .process-icon svg {width:36px !important;height:36px !important;}
#root .about-process-icon-wrap .process-icon svg,
#root .service-reference-why-card .process-icon svg {width:39px !important;height:39px !important;}
/* All process icon tiles reverse gold/white on hover, including already-active cards. */
#root .process-card:hover .process-icon,
#root .provided-home-process-card:hover .process-icon,
#root .single-service-process-card:hover .process-icon,
#root .about-process-card:hover .process-icon,
#root .service-reference-why-card:hover .process-icon,
#root .process-icon:hover {background:#fff !important;color:var(--g) !important;}
#root .process-card:hover .process-icon svg,
#root .provided-home-process-card:hover .process-icon svg,
#root .single-service-process-card:hover .process-icon svg,
#root .about-process-card:hover .process-icon svg,
#root .service-reference-why-card:hover .process-icon svg,
#root .process-icon:hover svg {color:var(--g) !important;stroke:currentColor !important;}
/* Preheading labels: 10px original → 17px. Keep casing, weight and tracking. */
#root span.eyebrow {font-size:17px !important;line-height:1.35;}
/* Three deliberate lines keep 'Homeowners' directly after 'CT' on line two. */
#root .hero h1 {font-size:clamp(34px,4.7vw,64px);}
#root .hero h1 > span:nth-child(2) {white-space:nowrap;}
@media (max-width:760px) {#root .hero h1 > span:nth-child(2){white-space:normal;}#root span.eyebrow{font-size:17px !important;}}
