.sw-hero .masthead h1 { max-inline-size: 30ch; }
.sw-cad { display: grid; align-content: center; padding: var(--space-s) var(--space-xs); background: var(--sec-bg, var(--bg-canvas)); }
.sw-cad svg.cad-diagram text { font-size: 0.95rem; }
.sw-cad svg.cad-diagram text.sw-cad__title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.sw-cad svg.cad-diagram text.sw-cad__note { font-weight: 400; fill: var(--sec-ink-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.sw-cad .sw-cad__rule { stroke-dasharray: 3 4; stroke-opacity: 0.5; }
.sw-fill-hatch { fill: url(#sw-hatch); }
.sw-fill-accoya { fill: url(#sw-accoya); }
.sw-hatch { stroke: currentColor; stroke-width: 0.7; stroke-opacity: 0.45; }
.sw-hatch--brass { stroke: var(--brass-ink); stroke-opacity: 0.8; }
.sw-pile { fill: none; stroke: var(--brass-ink); stroke-width: 1.4; }
.sw-bond { fill: none; stroke: var(--brass-ink); stroke-width: 3; }
.sw-detail { grid-template-rows: minmax(0, 1fr) auto; }
.sw-detail .cap { padding: var(--space-xs) var(--cell) var(--space-s); flex-direction: column; gap: 0.15rem; }
.sw-detail .cap span + span { color: var(--sec-ink-muted); font-weight: 500; }

.sw-case__grid { align-items: stretch; }
.sw-case__lead .ledger-table { margin-top: var(--space-xs); }
.sw-case__lead .ledger-table th:first-child, .sw-case__lead .ledger-table td:first-child { padding-left: 0; }
.sw-case__lead .ledger-table th:last-child, .sw-case__lead .ledger-table td:last-child { padding-right: 0; }
.sw-case__lead .ledger-table td { font-size: var(--step-0); }
.sw-case__lead .ledger-table tfoot td { font-size: var(--step-0); }
.sw-case__vs td { font-weight: 500; color: var(--sec-ink-muted); border-top: 0; padding-top: 0; }
.sw-case__vs .sw-strike { text-decoration: line-through; text-decoration-thickness: 1px; }
.sw-case__photo { position: relative; display: grid; min-height: 28rem; margin-block: 0; padding-inline: var(--cell); }
.sw-case__photo .shot { min-height: 28rem; }
.sw-case__photo .spec-plate--float { max-inline-size: min(22rem, 75%); }

.sw-process .sw-steps li { padding-bottom: var(--space-s); }
.sw-process .sw-steps strong { color: var(--brand-on-deep); }
.sw-process__slider { align-self: center; }
.sw-process .ba__head { padding-bottom: var(--space-xs); border-bottom: 1px solid var(--sec-border); }
.sw-process .ba__frame { border-color: var(--border-deep); }
.sw-preset { background: transparent; color: var(--sec-ink); border: 1px solid var(--sec-border); min-height: 2.75rem; }
@media (hover: hover) { .sw-preset:hover { border-color: var(--brand-on-deep); } }

.sw-method .pull-quote--l { max-inline-size: 18ch; }
.sw-tariff { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sw-tariff > * { padding-inline: 0 var(--space-xs); }
.sw-tariff > * + * { padding-left: var(--space-xs); border-left: 1px solid var(--sec-border); }
.sw-tariff h3 { font-size: var(--fs-label); letter-spacing: var(--tracking-eyebrow); }
.sw-tariff .tariff__big { font-size: var(--step-2); }
.sw-ledger-h { margin: 0; font-family: var(--font-sans); font-size: var(--step-0); font-weight: 700; text-transform: uppercase; letter-spacing: var(--tracking-eyebrow); }
.sw-map svg { display: block; }
.sw-team__photos { display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-s); align-items: start; }
.sw-team__second { margin-top: var(--space-2xl); display: grid; gap: var(--space-s); }
.sw-team__cap { font-family: var(--font-display); font-size: var(--step-1); line-height: 1.25; color: var(--sec-ink); }

.sw-cta__h { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-s); font-size: var(--step-3); }
.sw-cta__h .arrow-icon { inline-size: 4.5rem; }
.sw-cta .quick-ledger__foot .label { color: var(--sec-ink-muted); }

@media (max-width: 64rem) {
  .sw-hero .stage--quad > .sw-cad { border-left: 0; }
  .sw-case__photo { margin-block: 0; min-height: 0; }
  .sw-case__photo .shot { min-height: 0; aspect-ratio: 4 / 3; }
  .sw-case__grid > .span-2, .sw-method .mono-grid > .span-2, .sw-process .mono-grid > .span-2, .sw-cta .mono-grid > .span-2 { grid-column: 1 / -1; }
  .sw-case__lead, .sw-method__left, .sw-process .stack-l { margin-bottom: var(--space-l); }
  .sw-team__second { margin-top: var(--space-xl); }
  .sw-detail { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
}
@media (max-width: 42.5rem) {
  .sw-cad { padding-inline: 0; }
  .sw-detail { grid-template-columns: minmax(0, 1fr); }
  .sw-detail .shot { aspect-ratio: 4 / 3; }
  .sw-tariff { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-tariff > :nth-child(3) { border-left: 0; padding-left: 0; }
  .sw-tariff > :nth-child(n + 3) { border-top: 1px solid var(--sec-border); }
  .sw-team__photos { grid-template-columns: minmax(0, 1fr); }
  .sw-team__second { margin-top: 0; grid-template-columns: 1fr 1fr; align-items: end; }
}
