@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Source+Serif+4:wght@600;700&display=swap');
:root{--navy:#263B4A;--moss:#71845A;--charcoal:#292F33;--stone:#DED6C8;--gray:#F2F4F5;--white:#fff;--line:#d8dee1}*{box-sizing:border-box}body{margin:0;color:var(--charcoal);font-family:'DM Sans',Arial,sans-serif;background:#fff;line-height:1.65}a{color:var(--navy);text-decoration:none}a:hover{color:var(--moss)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.nav-wrap{min-height:78px;display:flex;align-items:center;gap:30px}.logo{font-weight:700;font-size:24px;color:var(--navy);letter-spacing:-1px;margin-right:auto}.logo span{color:var(--moss)}nav,.header-actions{display:flex;gap:20px;align-items:center;font-size:14px}.button{display:inline-block;background:var(--moss);color:#fff;padding:12px 20px;border-radius:4px;font-weight:600}.button:hover{background:var(--navy);color:#fff}.small{padding:8px 14px}.breadcrumb{padding-top:22px;font-size:13px;color:#66747b}.breadcrumb span{padding:0 8px;color:var(--stone)}.notice{text-align:center;background:var(--gray);padding:9px;color:var(--navy);font-size:13px;margin-top:18px}.hero{background:var(--navy);color:#fff;padding:86px 0}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.hero h1,.hero h2,.hero p{color:#fff}.hero h1{font:700 58px/1.05 'Source Serif 4',serif;margin:0 0 22px}.hero p{font-size:18px}.hero img{width:100%;height:320px !important;object-fit:cover}.section{padding:72px 0}.section h2{font:700 38px/1.15 'Source Serif 4',serif;color:var(--navy);margin:0 0 14px}.section h3{color:var(--navy)}.intro{max-width:720px;margin-bottom:30px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{border:1px solid var(--line);padding:25px;background:#fff}.card img{width:100%;height:190px;object-fit:cover;margin-bottom:14px}.soft{background:var(--gray)}.beige{background:var(--stone)}.dark{background:var(--navy);color:#fff}.dark h2,.dark h3,.dark p,.dark li{color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stat strong{font:700 42px 'Source Serif 4',serif;display:block;color:var(--moss)}.dark .stat strong{color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.split img{width:100%;height:280px;object-fit:cover}.table-wrap{overflow:auto}.specs{width:100%;border-collapse:collapse;background:#fff}.specs th,.specs td{padding:13px;border:1px solid var(--line);text-align:left}.specs th{background:var(--navy);color:#fff}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{border-top:4px solid var(--moss);padding-top:14px}.quote{border-left:5px solid var(--moss);padding:18px 24px;background:var(--gray);font:600 22px/1.4 'Source Serif 4',serif}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;color:var(--navy);cursor:pointer}.callout{border-left:5px solid var(--moss);background:#f4f7f1;padding:25px}.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-list article{border-top:3px solid var(--navy);padding-top:16px}.filters{background:var(--gray);padding:22px}.filters label{display:block;margin:12px 0}.filters input,.filters select,.filters textarea{width:100%;padding:11px;border:1px solid var(--line);margin-top:4px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price{font-size:20px;font-weight:700;color:var(--moss)}.site-footer{background:var(--charcoal);color:#fff;padding:58px 0 20px;margin-top:60px}.site-footer p,.site-footer a,.site-footer h3{color:#fff}.site-footer a{display:block;margin:6px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer-bottom{border-top:1px solid #536069;margin-top:30px;padding-top:18px;font-size:13px}.light{color:#fff}.form{max-width:720px}.form label{display:block;margin:14px 0}.form input,.form textarea{width:100%;padding:13px;border:1px solid var(--line)}@media(max-width:800px){nav,.header-actions{display:none}.hero .container,.split,.grid-2{grid-template-columns:1fr}.hero h1{font-size:42px}.grid-3,.product-grid,.article-list,.timeline,.footer-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.grid-3,.product-grid,.article-list,.timeline,.footer-grid{grid-template-columns:1fr}.container{padding:0 17px}}

/* TABLE-COLOR-FIX */
td,th{color:#172033 !important}
table{width:100%;border-collapse:collapse;margin:16px 0}
th,td{padding:10px 14px;text-align:left;border:1px solid #d1d5db;color:#172033 !important}
thead th{background:#1e3a5f !important;color:#fff !important;font-weight:600}
tbody tr:nth-child(even) td{background:#f9fafb !important;color:#172033 !important;background:#f9fafb !important;color:#172033 !important}
tbody tr:nth-child(odd) td{background:#ffffff !important;color:#172033 !important;background:#ffffff !important;color:#172033 !important}
tbody tr:hover td{background:#f0f4f8 !important}
.dark table td,.dark table th{color:#fff !important}
/* TABLE-DARK-SECTION-FIX */
.dark table td,.dark table th,[class*="dark"] table td,[class*="dark"] table th{
  background:#1e3a5f !important;color:#fff !important;border-color:#2d4a6f !important}
.dark tbody tr:nth-child(even) td{background:#162d4a !important;color:#fff !important}
.dark tbody tr:nth-child(odd) td{background:#1e3a5f !important;color:#fff !important}
.dark thead th{background:#0f2138 !important;color:#fff !important}
tbody tr:nth-child(even) td{background:#f9fafb !important;color:#172033 !important}
tbody tr:nth-child(odd) td{background:#ffffff !important;color:#172033 !important}
/* IMG-RESP-OVERRIDE */
.hero img{height:320px !important;max-height:320px !important;width:100%;object-fit:cover;display:block}
.split img,.visual img,.content img,.about img,.feature img,.intro img{
  height:280px !important;max-height:280px;width:100%;object-fit:cover;display:block}
.card img,.product-card img,.article-card img,.post-card img{
  height:220px !important;max-height:220px;width:100%;object-fit:cover;display:block}
.gallery img{height:220px !important;max-height:220px;width:100%;object-fit:cover;display:block}
.gallery img:first-child{height:320px !important;max-height:320px}
.card,.product-card,.article-card,.post-card{overflow:hidden}
img{max-width:100%;height:auto;display:block}
/* BTN-HERO-FIX */
.hero .button,.hero .btn,.hero a.button{position:relative;z-index:2;color:#fff !important}
/* CARD-IN-DARK-FIX */
.card h3,.card h4{color:inherit}
.card p{color:inherit}
/* SECTION-LAYOUT-FIX */
/* Center headings in accent/stats/callout sections */
.soft h2,.stats h2,.dark h2,.callout h2,.beige h2,.quote-wall h2,
.community-section h2,.final-cta h2,.hero-section h2 {
  text-align:center}
/* Stats numbers centered */
.stat{text-align:center}
.stat strong,.stat span{display:block;text-align:center}
/* Card grid fills container properly */
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
/* Card images consistent height */
.card img{height:200px !important;max-height:200px;width:100%;object-fit:cover;display:block}
/* Split section equal columns */
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
/* Prevent grid collapse on sections that should stay grid */
section.grid-3>.container>.grid-3{display:grid;grid-template-columns:repeat(3,1fr)}
section.grid-4>.container>.grid-4{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:768px){
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  section.grid-3>.container>.grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .grid-3,.grid-4{grid-template-columns:1fr}
  section.grid-3>.container>.grid-3{grid-template-columns:1fr}
}
/* Site-specific centered headings */
.final-cta h2,.beige h2,.warranty-quote h2,.soft h2,.dark h2,.categories-quote h2,.quote-wall h2,.company-quote h2,.hero h2,.about-quote h2 {text-align:center}