/* legacy.css — maps the previous site's component classes onto the locked design system.
   Loaded after tw.css. Everything scoped to .lg (the migrated page body). */
:root{--forest:var(--pine);--forest-deep:var(--ink);--forest-mid:#14803e;--slate:var(--steel);--stone:var(--muted);--amber:var(--signal);--amber-deep:var(--pine);--charcoal:var(--text);--paper:#ffffff;--sage:var(--line);--ease:cubic-bezier(.16,1,.3,1)}
main{display:block;background:#fff}
.lg{min-width:0}
.lg .wrap{max-width:1180px;margin:0 auto;padding-left:20px!important;padding-right:20px!important}
.lg a:not(.btn){color:var(--pine);font-weight:600;text-decoration:none;background-image:linear-gradient(90deg,var(--wolf),var(--signal));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s,color .2s}
.lg a:not(.btn):hover{color:var(--ink);background-size:100% 2px}
.lg h2,.lg h3,.lg h4{font-family:var(--display);color:var(--ink);line-height:1.08;text-wrap:balance}
.lg h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;text-transform:uppercase;margin:0 0 14px;position:relative}
.lg h3{font-size:1.25rem;font-weight:700;margin:0 0 6px}
.lg h4{font-size:1.05rem;font-weight:700;margin:0 0 6px}
.lg p{margin:0 0 16px;color:var(--text);max-width:72ch}
.lg ul,.lg ol{margin:0 0 18px;padding-left:22px}
.lg li{margin-bottom:6px}
.lg img{max-width:100%;height:auto}
.lg strong{color:var(--ink)}
.lg .lead{font-size:1.15rem;color:var(--text);max-width:64ch}
.lg .kicker{display:inline-flex;align-items:center;gap:8px;font:600 .72rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
.lg .kicker::before{content:"";width:8px;height:8px;background:var(--signal);box-shadow:0 0 8px var(--signal)}

/* ---- main content column ---- */
.lg .content{padding:48px 0}
.lg .content-section{margin-bottom:44px;min-width:0}
.lg .content-section:last-child{margin-bottom:0}
.lg .prose-col{display:flex;flex-direction:column;gap:6px;max-width:72ch;min-width:0}
.lg .two{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
@media (max-width:980px){.lg .two{grid-template-columns:1fr}.lg .side{position:static}}

/* checks (old help-list) */
.lg .checks,.lg .help-list,.lg .checklist,.lg .ok-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:10px}
.lg .checks li,.lg .help-list li,.lg .checklist li,.lg .ok-list li{display:flex;gap:12px;align-items:flex-start;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.lg .checks li:last-child,.lg .help-list li:last-child{border-bottom:0}
.lg .help-list svg,.lg .checks svg{width:22px;height:22px;flex-shrink:0;margin-top:2px;color:var(--wolf)}
.lg .help-list svg circle,.lg .checks svg circle{fill:var(--wolf);stroke:none}
.lg .help-list svg path,.lg .checks svg path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* steps */
.lg ul.steps,.lg ol.steps,.lg .tw-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:14px;counter-reset:step}
.lg ul.steps li,.lg ol.steps li,.lg .tw-steps li{counter-increment:step;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:var(--g-fade);border:1px solid var(--line);padding:18px;margin:0;position:relative}
.lg ul.steps li::before,.lg ol.steps li::before,.lg .tw-steps li::before{content:counter(step);width:56px;height:56px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--silver);background:linear-gradient(180deg,#1a1f1d,#0b0c0c);box-shadow:inset 0 -3px 0 var(--wolf);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.lg .steps h3,.lg .tw-steps h3{font-size:1.2rem;margin-bottom:4px}
.lg .steps p,.lg .tw-steps p{margin:0;color:var(--muted);font-size:.97rem}

/* FAQ (details/summary) */
.lg .faq-section{margin:44px 0 0}
.lg .faq-section>h2{margin-bottom:12px}
.lg details.faq-item{border:1px solid var(--line);border-left:4px solid var(--silver-2);background:#fff;margin:0 0 10px;transition:border-color .2s,box-shadow .2s}
.lg details.faq-item[open]{border-left-color:var(--signal);box-shadow:0 10px 30px rgba(11,12,12,.06)}
.lg .faq-q{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink);text-transform:none}
.lg .faq-q::-webkit-details-marker{display:none}
.lg .faq-q::after{content:"+";font-family:var(--mono);font-size:1.3rem;color:var(--wolf);flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--silver-2);background:var(--g-silver);transition:transform .25s}
.lg details[open] .faq-q::after{content:"–";transform:rotate(180deg)}
.lg .faq-a{padding:0 18px 16px}
.lg .faq-a p{max-width:70ch}
.lg .faq-a p:last-child{margin-bottom:0}

/* related + link rows → pills */
.lg .related,.lg .internal-links{margin:40px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.lg .related h3,.lg .internal-links h3{font:600 .72rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pine);margin-bottom:14px}
.lg .related-links,.lg .link-row,.lg .service-chips,.lg .city-nav{display:flex;flex-wrap:wrap;gap:10px}
.lg .related-links a,.lg .link-row a,.lg .service-chips a,.lg .city-nav a{padding:9px 16px;border:1px solid var(--silver-2);background:var(--brush-hi),var(--sheen),var(--alu);background-size:800px 240px,100% 100%,100% 100%;color:var(--ink);font-weight:600;font-size:.9rem;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background-image:var(--brush-hi),var(--sheen),var(--alu)}
.lg .related-links a:hover,.lg .link-row a:hover,.lg .service-chips a:hover,.lg .city-nav a:hover{background:var(--carbon-flat);background-image:var(--tex),linear-gradient(#0e1311,#0e1311);color:#fff;box-shadow:inset 0 -2px 0 var(--signal)}
.lg .city-nav a.current{background:linear-gradient(180deg,#3cc46a,#14803e 60%,#0b5e2e);background-image:linear-gradient(180deg,#3cc46a,#14803e 60%,#0b5e2e);color:#fff;border-color:var(--pine)}

/* cards */
.lg .card-grid,.lg .grid-section .grid,.lg .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:0 0 24px}
.lg .material-card,.lg .city-card,.lg .compare-card,.lg .feature-card,.lg .zia-card,.lg .article-card,.lg .s-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--silver-2);padding:22px;color:var(--text);font-weight:400;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s;background-image:none;min-width:0}
.lg .material-card:hover,.lg .city-card:hover,.lg .article-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,12,12,.12);border-top-color:var(--signal);color:var(--text);background-size:0 0}
.lg .material-card h3,.lg .city-card h3,.lg .article-card h3{font-size:1.2rem;margin:0}
.lg .material-card p,.lg .city-card p,.lg .article-card p{margin:0;font-size:.95rem;color:var(--muted)}
.lg .tag,.lg .ba-tag,.lg .premium-tag,.lg .badge{display:inline-flex;align-self:flex-start;font:600 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pine);background:var(--mist);border:1px solid var(--line);padding:4px 9px}
.lg .grid-section{padding:40px 0}
.lg .grid-section h2{margin-bottom:18px}
.lg .group-heading{margin-top:32px}
.lg .content-note{padding:28px 0}
.lg .content-note p{max-width:72ch}

/* dark statement sections → granule texture */
.lg .section-dark{background:var(--carbon);color:#fff;padding:52px 0;position:relative;overflow:hidden}
.lg .section-dark h2,.lg .section-dark h3{color:#fff}
.lg .section-dark p,.lg .section-dark li{color:rgba(255,255,255,.82)}
.lg .section-dark a:not(.btn){color:#b9ffd0}
.lg .section-dark .stat b,.lg .section-dark .stat-num{color:#fff;background:linear-gradient(180deg,#ffffff,#b9bbbd);-webkit-background-clip:text;background-clip:text;color:transparent}
.lg .section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 85% 30%,rgba(43,179,90,.22),transparent 70%);pointer-events:none}
.lg .section-dark .wrap{position:relative}
.lg .topo::after{display:none}

/* stats */
.lg .stats,.lg .tw-stats,.lg .storm-stats,.lg .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin:0 0 24px}
.lg .stat{box-shadow:inset 3px 0 0 var(--wolf);padding:6px 0 6px 16px;background:none;border:0}
.lg .stat b,.lg .stat-num{display:block;font-family:var(--display);font-size:2.6rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#0b0c0c 0%,#3a403d 48%,#0b0c0c 52%,#4a514e 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lg .stat span,.lg .stat-label{color:var(--muted);font-size:.92rem}

/* tables */
.lg .tw-table-wrap,.lg .legal-table-wrap,.lg .table-scroll,.lg .energy-table-wrap{overflow-x:auto;border:1px solid var(--line);margin:0 0 24px}
.lg table{width:100%;border-collapse:collapse;font-size:.95rem}
.lg th,.lg td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.lg thead th{background:var(--carbon-flat);color:#fff;font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;border:0}
.lg tbody th{font-weight:700;color:var(--ink);background:var(--mist)}
.lg tbody tr:hover td{background:#f3faf5}

/* notes, callouts, alerts */
.lg .tw-note,.lg .callout,.lg .alert,.lg .disclaimer,.lg .disclaimer-note,.lg .map-note,.lg .table-note,.lg .legal-callout,.lg .example-note,.lg .source-note,.lg .swatch-disclaimer{border-left:4px solid var(--wolf);background:var(--mist);padding:16px 20px;margin:0 0 20px;font-size:.98rem}
.lg .alert{border-left-color:var(--signal);background:#eefbf2}
.lg .disclaimer,.lg .disclaimer-note,.lg .swatch-disclaimer,.lg .source-note,.lg .table-note{font-size:.85rem;color:var(--muted);border-left-color:var(--silver-2)}
.lg .sources{font-size:.85rem;color:var(--muted);margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.lg .sources a{font-weight:500}

/* promo (free gutters) → offer block */
.lg .promo-gutters{background:var(--carbon);color:#fff;padding:28px;border:0;border-radius:0;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));position:relative;overflow:hidden}
.lg .promo-gutters::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(43,179,90,.35),transparent 70%)}
.lg .promo-gutters h2,.lg .promo-gutters h3{color:#fff;font-size:1.6rem}
.lg .promo-gutters p{color:rgba(255,255,255,.8)}
.lg .promo-gutters a:not(.btn){color:#b9ffd0}
.lg .promo-badge{display:inline-flex;font:600 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#b9ffd0;border:1px solid rgba(185,255,208,.4);padding:4px 10px;margin-bottom:12px;border-radius:0;background:none}
.lg .promo-gutters .btn{position:relative;z-index:1}

/* legacy buttons → system buttons (markup is converted, this covers stragglers) */
.lg .btn-primary,.lg .btn-secondary,.lg .btn-outline,.lg .gf-btn,.lg .zia-btn,.lg .call-banner-btn,.lg .brochure-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;font:700 .9rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#3cc46a 0%,#22a052 38%,#14803e 70%,#0b5e2e 100%);border:0;cursor:pointer;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background-image:linear-gradient(180deg,#3cc46a 0%,#22a052 38%,#14803e 70%,#0b5e2e 100%)}
.lg .btn-secondary,.lg .btn-outline{color:var(--ink);background:var(--alu);background-image:var(--brush-hi),var(--sheen),var(--alu);background-size:800px 240px,100% 100%,100% 100%}
.lg .hero-ctas,.lg .btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}

/* trust strip inside pages */
.lg .trust-strip,.lg .trust-row,.lg .license-row,.lg .cred-row{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;font-weight:700;font-size:.9rem;color:var(--ink);margin:0 0 20px}
.lg .t-item{display:flex;align-items:center;gap:8px}

/* legal pages */
.lg .legalx{padding:40px 0}
.lg .legal-toc{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-left:2px solid var(--line);margin-bottom:28px}
.lg .legal-toc a{font-weight:600}
.lg .legal-updated{font:600 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.lg .sm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.lg .sm-count{font:600 .72rem var(--mono);color:var(--pine)}

/* swatches */
.lg .swatch-grid,.lg .swatch-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin:0 0 20px}
.lg .swatch-card,.lg .swatch{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--text)}
.lg .swatch-chip{aspect-ratio:4/3;border:1px solid var(--line)}

/* photos */
.lg .tw-photos,.lg .gallery-grid,.lg .tw-tpo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 24px}
.lg figure{margin:0}
.lg figcaption{font-size:.85rem;color:var(--muted);padding:8px 0}
.lg .tw-job-photo img,.lg .gallery-grid img,.lg .tw-photos img{width:100%;height:auto;display:block;border:1px solid var(--line)}

/* article body */
.lg .article-body{display:flex;flex-direction:column;gap:6px}
.lg .article-body h2{margin-top:22px}
.lg .article-body h2::after{content:"";display:block;width:56px;height:3px;margin-top:10px;background:var(--g-rule)}
.lg .article-body ul,.lg .article-body ol{padding-left:22px}
.lg .article-body li{margin-bottom:8px}
.lg .byline-note{font-size:.85rem;color:var(--muted)}

/* category sections (learning center) */
.lg .category-section{padding:28px 0;border-top:1px solid var(--line)}
.lg .category-header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.lg .article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}

/* misc generic */
.lg .contact-block,.lg .call-banner,.lg .mini-cta,.lg .tool-invite,.lg .brochure-cta{background:var(--brushed-2);border:1px solid var(--silver-2);padding:22px;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.lg .phone-link,.lg .call{font-family:var(--display);font-size:1.5rem;font-weight:800;color:var(--ink)}
.lg .sr-only,.lg .tw-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lg .calc-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.lg .calc-row.total{font-weight:800;border-bottom:0;border-top:2px solid var(--ink)}
.lg .worked-example{background:var(--mist);border:1px solid var(--line);padding:20px;margin:0 0 22px}
.lg .storm-map-frame{border:1px solid var(--silver-2);background:var(--brushed-2);margin:0 0 20px;overflow:hidden}
.lg .storm-map-frame img{display:block;width:100%;height:auto}
.lg .storm-alert{display:block;background:var(--carbon);color:#fff;padding:16px 20px;margin:0 0 22px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.lg .storm-alert a,.lg .storm-alert-link{color:#fff}
.lg .storm-alert-tag{font:600 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#b9ffd0}

/* forms (request-inspection / commercial-inspection keep their own JS) */
.lg .gf-wrap{background:#fff;border:1px solid var(--silver-2);box-shadow:0 22px 50px rgba(11,12,12,.12);padding:24px;margin:0 0 24px}
.lg input[type=text],.lg input[type=email],.lg input[type=tel],.lg input[type=number],.lg select,.lg textarea{width:100%;padding:13px 14px;border:1px solid var(--silver-2);background:#fff;font:500 1rem var(--body);color:var(--ink);box-sizing:border-box}
.lg input:focus,.lg select:focus,.lg textarea:focus{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--pine)}
.lg label{font-weight:600;color:var(--ink)}
.lg .gf-progress .gf-bar,.lg .progress-fill{background:linear-gradient(90deg,var(--wolf),var(--signal))}

@media (max-width:760px){
  .lg .content{padding:32px 0}
  .lg ul.steps li,.lg ol.steps li{grid-template-columns:44px 1fr;gap:12px;padding:14px}
  .lg ul.steps li::before,.lg ol.steps li::before{width:44px;height:44px;font-size:1.3rem}
  .lg .faq-q{font-size:1.02rem;padding:14px}
}
.lg .promo-gutters strong,.lg .section-dark strong{color:#fff}
.btn.btn-silver,.lg .btn.btn-silver{color:var(--ink)}
.lg ul.steps li::before,.lg ol.steps li::before,.lg .tw-steps li::before{border-radius:0}

.lg .card-link{display:inline-flex;align-items:center;gap:6px;font:700 .78rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--pine);margin-top:auto}
.lg .card-link svg{width:14px;height:14px}
.lg .material-card:hover .card-link{color:var(--ink)}
.lg .cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 24px}
.lg .cmp-media{position:relative;background:var(--mist);border:1px solid var(--line)}
.lg .cmp-media img{width:100%;height:auto;display:block}
.lg .cmp-tag{position:absolute;top:10px;left:10px;font:600 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;color:#fff;background:#0b0c0c}
.lg .cmp-tag.cmp-good{background:var(--pine)}
.lg .cmp-tag.cmp-bad{background:#8a1c1c}
@media (max-width:640px){.lg .cmp-grid{grid-template-columns:1fr}}
.lg *{min-width:0}
.p-storm-check main{display:block}
.lg .widget{max-width:760px;margin:40px auto;background:#fff;border:1px solid var(--silver-2);box-shadow:0 22px 50px rgba(11,12,12,.12)}
.lg .gf-wrap{max-width:860px;margin:0 auto 32px}
.lg .inspect-hero{padding:40px 0 10px}

/* 2026-10 — solid stat numbers (no gradient text) */
.lg .stat b,.lg .stat-num{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ink)}
.lg .section-dark .stat b,.lg .section-dark .stat-num{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff}
