:root { --paper:#f6f7f8; --line:#dce1e4; --muted:#515b64; --blue:#17635f; }
body { letter-spacing:0; }
main,main section,main section>*,.site-header>* { min-width:0; }
h1,h2,h3,p,li { overflow-wrap:break-word; }
:focus-visible { outline:3px solid #24796e; outline-offset:4px; }
.skip-link { position:fixed; left:16px; top:-90px; z-index:100; padding:12px 20px; background:white; color:#111; }
.skip-link:focus { top:12px; }
.site-header { padding:16px 4%; gap:24px; position:relative; border-bottom:2px solid var(--gold); }
.brand { min-width:0; max-width:355px; flex:0 1 355px; }
.brand img { width:48px; height:48px; }
.brand-name { font-size:18px; line-height:1.25; }
.site-nav { flex-wrap:nowrap; gap:22px; font-size:14px; }
.site-nav>a { white-space:nowrap; }
.site-nav [aria-current=page] { color:var(--gold-soft); text-decoration:underline; text-underline-offset:6px; }
.client-menu { position:relative; white-space:nowrap; }
.client-menu summary { cursor:pointer; padding:10px 0; }
.client-menu>div { position:absolute; z-index:20; right:0; top:100%; min-width:215px; padding:10px; background:#171717; border:1px solid #555; box-shadow:0 8px 24px #0003; }
.client-menu a { display:block; padding:10px 12px; }
.menu-toggle { display:none; }
.eyebrow { letter-spacing:0; font-size:13px; color:#796015; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:4px; font-size:15px; line-height:1.35; }
.button.primary { background:#d2aa2c; color:#131313; border-color:#d2aa2c; }
.button.secondary { border-color:currentColor; }
.section { padding:68px max(5%, calc((100% - 1240px)/2)); }
h1 { font-size:44px; line-height:1.12; }
h2 { font-size:32px; line-height:1.2; }
h3 { font-size:20px; line-height:1.3; }
.section-heading { max-width:760px; }
.section-heading p,.page-hero p,.hero-text,.split-section p,.proof-copy p { font-size:17px; }
.home-hero { position:relative; isolation:isolate; min-height:570px; padding:64px max(5%, calc((100% - 1240px)/2)); display:flex; align-items:center; color:white; background:#141414; }
.home-hero-image { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:center 65%; }
.home-hero-copy { max-width:600px; }
.home-hero .eyebrow { color:#efce71; }
.home-hero h1 { font-size:46px; margin-bottom:22px; }
.home-lead { font-size:26px; line-height:1.35; font-weight:600; margin-bottom:18px; }
.home-hero-copy>p:not(.home-lead):not(.eyebrow) { max-width:495px; font-size:17px; color:#eee; }
.home-hero .hero-actions { margin-top:26px; margin-bottom:18px; }
.hero-phone { font-size:15px; color:#f1dc99; text-underline-offset:4px; }
.home-services { background:white; }
.home-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin-top:36px; }
.home-service-grid article { border-top:2px solid #c2a244; padding-top:22px; display:flex; flex-direction:column; }
.service-number { color:#627475; font-size:13px; margin-bottom:12px; }
.home-service-grid p { color:var(--muted); }
.home-service-grid a { color:#175d56; font-weight:600; margin-top:auto; text-underline-offset:5px; }
.home-process { display:grid; grid-template-columns:1fr 1fr; gap:70px; background:#eaf1f0; }
.home-process>div>p:last-child { max-width:460px; }
.home-process ol { padding-left:28px; margin:0; }
.home-process li { padding-left:12px; margin-bottom:22px; }
.home-process li:last-child { margin-bottom:0; }
.home-process strong { font-size:19px; }
.home-process li p { color:#455956; margin:7px 0 0; }
.home-about { display:grid; grid-template-columns:1fr 1fr; gap:80px; background:white; }
.home-about p { color:var(--muted); }
.text-link { color:#175d56; font-weight:600; text-underline-offset:5px; }
.home-principles article { border-bottom:1px solid var(--line); margin-bottom:20px; padding-bottom:12px; }
.home-faq { background:#f5f6f7; }
.home-faq details { border-bottom:1px solid #cfd7d8; max-width:900px; padding:20px 0; }
.home-faq summary { cursor:pointer; font-weight:600; font-size:18px; }
.home-faq details p { max-width:790px; margin:15px 0 0; color:var(--muted); }
.home-cta { display:flex; align-items:center; gap:28px; justify-content:space-between; padding:52px 5%; }
.home-cta .eyebrow { color:#e7c563; }
.home-cta p { color:#e1e4e5; }
.home-cta .button { flex-shrink:0; }
.site-footer { gap:24px; flex-wrap:wrap; }
.site-footer a { overflow-wrap:anywhere; }
.request-hero { display:block; max-width:1000px; gap:0; margin-bottom:22px; }
.request-hero h1 { font-size:32px; max-width:900px; margin-bottom:12px; }
.request-hero p { font-size:17px; }
.request-note { display:none; }
.request-tabs { display:none; }
.quote-card { box-shadow:none; border-radius:6px; border:1px solid var(--line); }
.quote-guide { background:#edf2f1; color:#233b36; border-right:1px solid var(--line); }
.quote-guide h2 { font-size:21px; color:#233b36; }
.quote-guide p { color:#425d56; font-size:15px; }
.quote-progress span { font-size:15px; }
.quote-form h2,.step-heading h2 { font-size:25px; }
.quote-form label { font-size:15px; }
input,select,textarea { font-size:16px; min-width:0; max-width:100%; }
.page-hero h1,.service-hero h1,.about-hero h1 { font-size:36px; line-height:1.16; }
.page-hero { padding-top:44px; padding-bottom:40px; }
.service-card,.capability-grid article,.proof-grid>div,.feature-image,.request-note { border-radius:6px; }
.request-main { padding-top:30px; }
.submission-receipt { display:block; margin-top:18px; min-height:48px; }
[role=status] { overflow-wrap:anywhere; }
@media (max-width:1100px) {
  .site-nav { gap:13px; font-size:13px; }
  .brand { flex-basis:280px; }
  .brand-name { font-size:16px; }
  .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .site-header { flex-wrap:wrap; padding:14px 20px; gap:12px; }
  .brand { flex:1; max-width:calc(100% - 72px); }
  .brand-name { font-size:15px; }
  .brand img { width:40px; height:40px; }
  .has-menu-toggle .menu-toggle { display:block; background:transparent; border:1px solid #c2a244; color:white; border-radius:4px; padding:10px 12px; font:inherit; font-size:14px; }
  .site-nav { width:100%; flex-direction:column; align-items:stretch; gap:3px; font-size:15px; padding:8px 0; }
  .site-header { flex-direction:row; align-items:center; }
  .site-nav { display:flex; }
  .page-hero,.visual-feature,.visual-feature.reverse,.split-section,.proof-section { grid-template-columns:minmax(0,1fr); }
  .node-menu-ready .site-header:not(.nav-open) .site-nav { display:none; }
  .site-nav>a { padding:10px 0; }
  .site-nav .nav-cta { padding:12px; text-align:center; }
  .client-menu>div { position:static; border:0; background:#202020; box-shadow:none; }
  .home-hero { min-height:0; padding:44px 24px 42px; }
  .home-hero-image { object-position:22% center; opacity:.5; }
  .home-hero h1 { font-size:32px; }
  .home-lead { font-size:22px; }
  .home-hero-copy>p:not(.home-lead):not(.eyebrow) { font-size:16px; }
  .home-hero-copy { max-width:100%; }
  h1 { font-size:32px; } h2 { font-size:27px; }
  .section { padding:42px 24px; }
  .home-service-grid { grid-template-columns:1fr; gap:30px; }
  .home-process,.home-about { grid-template-columns:1fr; gap:30px; }
  .home-cta { flex-direction:column; align-items:flex-start; padding:38px 24px; }
  .site-footer { padding:30px 24px; }
  .request-hero h1,.page-hero h1,.service-hero h1,.about-hero h1 { font-size:28px; }
  .quote-guide { padding:18px 20px; border-right:0; border-bottom:1px solid var(--line); }
  .quote-guide>p,.quote-guide>h2 { display:none; }
  .quote-progress { margin:0; }
  .request-main { padding:24px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
