.signal-index,.signal-detail {padding-block:clamp(28px,4vw,65px) clamp(40px,6vw,84px)}
.signal-index-head {max-width:62rem;padding-block:clamp(22px,4vw,62px) 32px}
.signal-index-head h1,.signal-opening h1,.signal-detail h2,.signal-shelf h2 {font-family:var(--serif);font-weight:400;text-wrap:balance}
.signal-index-head h1 {font-size:clamp(54px,8vw,112px);line-height:.97;letter-spacing:-.045em;max-width:15ch;margin:14px 0 22px}
.signal-index-head>p:not(.label) {max-width:57ch;font-size:clamp(17px,1.5vw,22px)}
.signal-jump,.signal-foot {display:flex;flex-wrap:wrap;gap:10px 22px}
.signal-jump a,.signal-foot a {text-underline-offset:4px}
.signal-jump a {display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:14px}
.signal-shelf,.signal-fit {display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:20px 7vw;border-top:1px solid var(--ink);padding-block:clamp(24px,4vw,46px)}
.signal-shelf h2,.signal-detail h2 {font-size:clamp(30px,3.3vw,52px);line-height:1.06;letter-spacing:-.025em;margin:9px 0 12px}
.signal-shelf p:not(.label) {max-width:36ch;color:var(--soft)}
.signal-list {list-style:none;margin:0;padding:0}
.signal-list li {border-bottom:1px solid var(--line)}
.signal-list a {display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 0;text-decoration:none}
.signal-list a:hover,.signal-list a:focus-visible {text-decoration:underline;text-underline-offset:4px}
.signal-opening {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:26px 5vw;align-items:start;padding-block:clamp(26px,4.5vw,68px)}
.signal-opening h1 {margin:14px 0 20px;max-width:24ch;font-size:clamp(39px,4.65vw,76px);line-height:1.03;letter-spacing:-.035em}
.signal-answer {font-size:clamp(17px,1.45vw,22px);max-width:64ch;margin-bottom:0}
.signal-trial {background:var(--green-paper);border-top:3px solid var(--ink);padding:clamp(18px,2.3vw,38px)}
.signal-trial h2 {font-size:clamp(28px,2.8vw,41px)}
.signal-trial p,.signal-fit p,.signal-procedure p,.signal-receive p {max-width:65ch;line-height:1.62}
.signal-fit p:first-child {margin-top:0}
.signal-audience {font-size:.92em;color:var(--soft)}
.signal-fit .button-ink {margin-top:6px}
.signal-procedure {border-top:1px solid var(--ink);padding:28px 0}
.signal-procedure ol {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 3vw;list-style:none;counter-reset:paso;margin:24px 0 0;padding:0}
.signal-procedure li {counter-increment:paso;border-top:1px solid var(--line);padding-top:15px}
.signal-procedure li::before {content:counter(paso,decimal-leading-zero);font:700 12px var(--mono);color:var(--soft)}
.signal-procedure h3 {font-size:19px;margin:9px 0}
.signal-proof {border-top:1px solid var(--ink);padding:clamp(26px,4vw,48px) 0}
.signal-proof-head {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 4vw;align-items:end}
.signal-proof-head>p {max-width:55ch;line-height:1.6}
.signal-proof-rows {list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--ink)}
.signal-proof-rows li {display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px 3vw;border-bottom:1px solid var(--line);padding:16px 0}
.signal-proof-rows span {font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--soft)}
.signal-proof-rows p,.signal-proof-end p {margin:6px 0 0;line-height:1.55}
.signal-proof-end {display:grid;grid-template-columns:1fr 1fr;gap:18px 4vw;padding-top:24px}
.signal-proof-end h3 {font-size:18px;margin:0}
.signal-receive {display:grid;grid-template-columns:1fr 1fr;gap:22px 4vw;background:var(--green-paper);padding:clamp(18px,3vw,42px)}
.signal-receive h2,.signal-sources h2 {font-size:clamp(24px,2.5vw,38px)}
.signal-sources,.signal-foot {margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.signal-sources li {padding:4px 0}
.signal-sources p {color:var(--soft);font-size:14px}
.signal-foot {align-items:baseline}
.observation-detail {padding:4px clamp(14px,2vw,28px) 20px;overflow-wrap:anywhere}
.observation-detail p {max-width:70ch}
p.signal-foot {display:block}
@media(max-width:740px){
 .signal-opening,.signal-fit,.signal-shelf,.signal-receive,.signal-procedure ol,.signal-proof-head,.signal-proof-end {grid-template-columns:1fr}
 .signal-proof-rows li {grid-template-columns:1fr;gap:10px;padding:18px 0}
 .signal-opening {gap:20px}
 .signal-trial p:not(.label),.signal-receive p {margin:8px 0 13px}
 .signal-jump {gap:0 16px}
 .signal-procedure ol {gap:8px}
}
