/* Scoped editorial layer: existing city maps and the building-check wizard stay untouched. */
.wood-tone-wood { --wood-accent: #b0d957; --wood-surface: #142015; }
.wood-tone-fire { --wood-accent: #ffbb79; --wood-surface: #261e15; }
.wood-tone-air { --wood-accent: #81d5cd; --wood-surface: #112527; }
.wood-page, .wood-hub, .wood-teaser { color: #edf1e8; }
.wood-page { --wood-accent: #b0d957; --wood-surface: #142015; }
.wood-page.wood-tone-fire { --wood-accent: #ffbb79; --wood-surface: #261e15; }
.wood-page.wood-tone-air { --wood-accent: #81d5cd; --wood-surface: #112527; }
.wood-hub { padding: clamp(32px, 5vw, 64px) var(--gutter); }
.wood-hub-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.wood-hub-heading h2, .wood-related > h2 { font: 700 clamp(1.8rem, 3vw, 2.7rem)/1.15 var(--heading); letter-spacing: -.035em; }
.wood-hub-heading p { max-width: 35rem; color: #c5cec1; }
.wood-eyebrow { font-size: .875rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--wood-accent, #b0d957); }
.wood-topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.wood-topic { display: flex; flex-direction: column; min-width: 0; border: 1px solid #435044; border-top: 3px solid var(--wood-accent); border-radius: 12px; overflow: hidden; background: var(--wood-surface); text-decoration: none; transition: transform .2s, border-color .2s; }
/* Explicit height overrides the image's intrinsic 1024px HTML height. */
.wood-topic > img { width: 100%; height: clamp(130px,14vw,180px); flex-shrink: 0; object-fit: cover; }
.wood-topic.wood-tone-air > img { object-fit: contain; background: #101a14; }
.wood-topic > div { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.wood-topic h3, .wood-topic h2 { font: 700 1.35rem/1.3 var(--heading); margin: 10px 0 0; overflow-wrap: anywhere; }
.wood-hub-caption { font-size: .875rem; color: #c1cbbd; margin-top: 20px; }
.wood-topic p { color: #d0d9cd; line-height: 1.65; }
.wood-topic .wood-link { margin-top: auto; padding-top: 14px; }
.wood-link { color: var(--wood-accent, #b0d957); font-weight: 700; display: inline-block; padding-block: 10px; }
.wood-topic:hover { transform: translateY(-3px); border-color: var(--wood-accent); }
.wood-topic:focus-visible, .wood-page :focus-visible, .wood-teaser a:focus-visible { outline: 3px solid #ecf5c9; outline-offset: 5px; }
.wood-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: clamp(24px,4vw,56px); padding: clamp(28px,5vw,64px) var(--gutter); align-items: center; border-bottom: 1px solid #3f4a3a; background: linear-gradient(135deg,var(--wood-surface),#0b0f0c 80%); }
.wood-hero-copy { min-width: 0; }
.wood-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; color: #cad4c5; font-size: .875rem; margin-bottom: 26px; }
.wood-page .wood-hero h1 { font: 750 clamp(2rem,3.7vw,3.7rem)/1.08 var(--heading); letter-spacing: -.04em; margin: 16px 0; overflow-wrap: anywhere; }
.wood-headline { color: var(--wood-accent); font-weight: 650; font-size: 1.25rem; }
.wood-hero-copy > p:not(.wood-eyebrow):not(.wood-headline) { color: #d0d9cd; max-width: 42rem; }
.wood-hero-image { min-width: 0; border-radius: 12px; overflow: hidden; background: #101a14; border: 1px solid #435044; }
.wood-hero-image img { width: 100%; height: clamp(180px,22vw,280px); object-fit: cover; }
.wood-tone-air .wood-hero-image img { object-fit: contain; }
.wood-hero-image figcaption { padding: 14px 18px; color: #c5cec1; font-size: .875rem; line-height: 1.5; }
.wood-body { max-width: 1200px; padding: 40px var(--gutter) 0; margin-inline: auto; }
.wood-body h2, .wood-teaser h2 { font: 700 clamp(1.45rem,2.5vw,2.1rem)/1.2 var(--heading); letter-spacing: -.025em; overflow-wrap: anywhere; }
.wood-body h3 { font: 700 1.15rem/1.35 var(--heading); }
.wood-body p, .wood-body li { font-size: 1rem; line-height: 1.75; }
.wood-quick { padding: clamp(24px,3vw,36px); border-left: 4px solid var(--wood-accent); background: var(--wood-surface); border-radius: 0 12px 12px 0; scroll-margin-top: 100px; }
.wood-quick .wood-eyebrow { margin-top: 0; }
.wood-quick ul { padding-left: 1.3em; margin-bottom: 0; }
.wood-quick li { padding: 5px 0 5px 6px; }
.wood-quick li::marker { color: var(--wood-accent); }
.wood-section { margin-block: 44px; }
.wood-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; list-style: none; margin: 28px 0; }
.wood-steps-four { grid-template-columns: repeat(2,minmax(0,1fr)); }
.wood-steps li { min-width: 0; border-top: 2px solid var(--wood-accent); padding-top: 18px; }
.wood-steps li > span { display: block; color: var(--wood-accent); font: 650 2rem/1 var(--heading); margin-bottom: 16px; }
.wood-steps p, .wood-comparison p { color: #ccd6c8; }
.wood-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.wood-comparison > div { min-width: 0; border: 1px solid #435044; background: #111a14; padding: 24px; border-radius: 10px; }
.wood-comparison > div + div { background: #191b19; }
.wood-comparison ul { padding-left: 1.2em; margin-bottom: 0; }
.wood-comparison li { margin-top: 8px; }
.wood-details { border-block: 1px solid #435044; margin: 32px 0; background: #101712; }
.wood-details summary { cursor: pointer; padding: 22px; font-size: 1.0625rem; font-weight: 700; min-height: 52px; }
.wood-details summary::marker { color: var(--wood-accent); }
.wood-details > div { padding: 0 24px 20px; }
.wood-note, .wood-warning { margin: 30px 0; padding: 24px; border-radius: 8px; background: #18221c; border-left: 4px solid var(--wood-accent); }
.wood-warning { border-color: #ffad91; background: #2b1c17; color: #ffdfd3; }
.wood-note > strong, .wood-warning > strong { font-size: 1.125rem; }
.wood-note p:last-child, .wood-warning p:last-child { margin-bottom: 0; }
.wood-emergency { scroll-margin-top: 100px; }
.wood-emergency h2, .wood-emergency .wood-eyebrow { color: #ffc0a9; }
.wood-contact { border-top: 1px solid #435044; margin-top: 44px; padding-top: 30px; }
.wood-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0; }
.wood-actions a { text-align: center; }
.wood-sources { margin-top: 40px; padding-block: 24px; border-top: 1px solid #435044; }
.wood-sources h2 { font-size: 1.2rem; }
.wood-sources p, .wood-sources li, .wood-body .wood-source { color: #c1cbbd; font-size: .875rem; line-height: 1.65; }
.wood-source a, .wood-sources a { overflow-wrap: anywhere; }
.wood-related { padding: 36px var(--gutter) 56px; border-top: 1px solid #435044; }
.wood-related .wood-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 28px; }
.wood-air-controls { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.wood-air-illustration { border: 1px solid #435044; border-radius: 10px; overflow: hidden; margin: 24px 0; background: #101a14; }
.wood-air-illustration > div { position: relative; }
.wood-air-illustration img { width: 100%; height: auto; }
.wood-air-illustration svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.wood-air-illustration figcaption { padding: 16px; font-size: .875rem; color: #ccd6c8; }
.wood-air-arrow { fill: none; stroke: #ffad91; stroke-width: 12; stroke-linecap: round; stroke-dasharray: 24 24; marker-end: url(#air-arrow); filter: drop-shadow(0 1px 3px #000); }
.wood-air-demo[data-ready="true"][data-air-state="off"] .wood-air-illustration svg { visibility: hidden; }
.wood-air-controls[hidden] { display: none; }
.wood-air-controls button { min-height: 48px; border: 1px solid #81d5cd; padding: 12px 20px; border-radius: 8px; background: #112527; color: #edf1e8; }
.wood-air-controls button[aria-pressed="true"] { background: #81d5cd; color: #102123; font-weight: 700; }
.wood-air-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; list-style: none; padding: 0; }
.wood-air-flow li { padding: 18px; border: 1px solid #657a78; border-radius: 8px; position: relative; }
.wood-air-flow span { display: block; font-size: .9375rem; margin-top: 8px; }
.wood-air-flow li + li::before { content: '→'; position: absolute; left: -26px; top: 30%; color: #81d5cd; font-size: 1.3rem; }
.wood-air-demo[data-air-state="on"] .wood-air-flow li { border-color: #ffad91; background: #2b1c17; }
.wood-air-demo[data-air-state="on"] .wood-air-flow li + li::before { color: #ffad91; }
.wood-air-status { padding: 18px; background: #112527; border-left: 3px solid #81d5cd; }
.wood-teaser { margin: 0 var(--gutter) 40px; padding: 24px 28px; border: 1px solid #435044; border-left: 4px solid #b0d957; border-radius: 10px; background: #111b15; }
.wood-teaser p { color: #ccd6c8; }
.wood-teaser-links { display: flex; gap: 12px 24px; flex-wrap: wrap; }
.wood-teaser-links a { padding-block: 8px; color: #c8e88a; }
@media (prefers-reduced-motion: no-preference) {
  .wood-air-demo[data-air-state="on"] .wood-air-flow li + li::before { animation: wood-air-explain .85s ease-in-out 3; }
  @keyframes wood-air-explain { 50% { opacity: .4; } }
  .wood-air-demo[data-air-state="on"] .wood-air-arrow { animation: wood-air-travel 1s linear 3; }
  @keyframes wood-air-travel { to { stroke-dashoffset: -48; } }
}
@media (max-width: 1000px) {
  .wood-hero { grid-template-columns: minmax(0,1fr); }
  .wood-hero-image { max-width: 760px; }
  .wood-topic-grid { gap: 14px; }
  .wood-topic > div { padding: 18px; }
}
@media (max-width: 700px) {
  .wood-topic-grid, .wood-related .wood-topic-grid, .wood-steps, .wood-steps-four, .wood-comparison, .wood-air-flow { grid-template-columns: minmax(0,1fr); }
  .wood-topic > img { height: 148px; }
  .wood-hero-image img { height: 180px; }
  .wood-hero, .wood-hub, .wood-related { padding: 28px 20px; }
  .wood-body { padding: 28px 20px 0; }
  .wood-topic > div, .wood-quick, .wood-comparison > div, .wood-warning, .wood-note { padding: 22px; }
  .wood-hero h1 { font-size: 2.2rem; }
  .wood-breadcrumb { margin-bottom: 20px; }
  .wood-air-flow li + li::before { content: '↓'; top: -31px; left: 50%; }
  .wood-actions { flex-direction: column; }
  .wood-teaser { margin: 0 20px 28px; padding: 22px; }
  .wood-teaser-links { flex-direction: column; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { .wood-topic { transition: none; } .wood-topic:hover { transform: none; } }
@media print { .wood-air-controls, .wood-related { display: none; } .wood-hero { display: block; } .wood-hero-image { max-width: 70%; } .wood-details > div { display: block; } }
