.storm-hero { position: relative; padding: clamp(3.5rem, 7vw, 6rem) 0; overflow: hidden; background: var(--cream-100); }
.storm-hero::before { position: absolute; inset: 0 0 0 59%; background: var(--forest-900); content: ""; }
.storm-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.storm-hero h1 { max-width: 720px; font-size: clamp(3.2rem, 5.3vw, 5.5rem); }
.storm-hero__lede { max-width: 630px; color: var(--muted); font-size: 1.15rem; }
.storm-hero .button-row { margin-top: 2rem; }
.storm-hero__figure { width: 100%; max-width: 480px; margin: 0 auto; border: 9px solid var(--cream-50); background: var(--cream-50); box-shadow: var(--shadow); }
.storm-hero__figure img { display: block; width: 100%; height: auto; }
.storm-hero__figure figcaption { padding: .9rem 1.15rem; color: var(--muted); font-size: .82rem; }
.storm-configurations { background: var(--cream-50); }
.storm-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.storm-option { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); background: var(--white); }
.storm-option__number { display: block; margin-bottom: 1.5rem; color: var(--fir-600); font-size: .72rem; font-weight: 800; letter-spacing: .14em; }
.storm-option h3 { font-size: 2rem; }
.storm-option p { color: var(--muted); }
.storm-option .text-link { margin-top: .5rem; }
.storm-gallery { background: var(--cream-100); }
.storm-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.storm-gallery figure { margin: 0; padding: .75rem; border: 1px solid var(--line); background: var(--white); }
.storm-gallery img { display: block; width: 100%; height: auto; }
.storm-gallery figcaption { padding: 1.2rem .65rem .5rem; }
.storm-gallery figcaption strong { display: block; margin-bottom: .25rem; color: var(--forest-900); font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.storm-gallery figcaption span { color: var(--muted); font-size: .88rem; }
.storm-materials { color: rgba(255, 255, 255, .76); background: var(--forest-900); }
.storm-materials__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.storm-materials h2 { color: var(--white); }
.storm-materials p:last-child { margin-bottom: 0; }
.storm-species { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.storm-species li { padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .18); color: var(--white); font-family: var(--serif); font-size: 1.6rem; }
.storm-page .choice-card--wide { grid-column: 1 / -1; }
@media (max-width: 920px) {
  .storm-hero::before { inset: 62% 0 0; }
  .storm-hero__grid { grid-template-columns: 1fr; }
  .storm-hero__figure { max-width: 480px; }
  .storm-materials__grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .storm-hero h1 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .storm-option-grid, .storm-gallery__grid { grid-template-columns: 1fr; }
}
