
.p31{width:min(1160px,calc(100% - 2*var(--gutter)));margin:48px auto 0;--paper:oklch(98% .008 265);--wash:oklch(95% .02 265)}
.p31 h1{font-size:clamp(34px,4.6vw,60px);font-weight:440;letter-spacing:-.047em;line-height:1.08;margin:22px 0}
.p31 h1 span{color:var(--blue-deep)}
.p31 h2{font-size:clamp(25px,3vw,36px);font-weight:460;letter-spacing:-.035em;line-height:1.2;margin:0 0 20px}
.p31 h3{font-size:21px;font-weight:550;line-height:1.3;letter-spacing:-.02em;margin:22px 0 10px}
.p31 p,.p31 li{max-width:72ch}.p31 p{margin:0 0 18px;color:var(--ink-2)}
.p31 .lede{font-size:20px;line-height:1.6;color:var(--ink-2);max-width:65ch}
.p31 .byline{margin:25px 0 0}.p31 .byline p{margin:0}
.p31 section{margin-top:76px;scroll-margin-top:160px}.p31 .intro{margin-top:38px}
.p31 .art{margin:0}.p31 .art img{display:block;width:100%;border-radius:24px;background:var(--paper)}
.p31 figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0;max-width:80ch}
.p31 .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.p31 .hero h1{font-size:clamp(34px,4vw,52px)}
.p31 .hero .lede{font-size:18px}.p31 .hero .art img{aspect-ratio:1;object-fit:cover}
.p31 .split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.p31 .note{padding:25px 30px;background:var(--wash);border-radius:18px;color:var(--ink)}
.p31 .note p:last-child{margin-bottom:0}.p31 .small{font-size:14px;color:var(--muted)}
.p31 a:not(.m-pill):not(.m-button){text-decoration-thickness:1px;text-underline-offset:4px;color:var(--blue-deep)}
.p31 .flow{list-style:none;padding:0;display:flex;gap:16px;align-items:stretch;margin:30px 0}
.p31 .flow li{flex:1;padding:22px;background:var(--wash);border:1px solid var(--line);border-radius:16px;font-size:15px}
.p31 .flow b{display:block;font-size:18px;font-weight:550;margin-bottom:8px}.p31 .flow span{color:var(--ink-2)}
.p31 .contact{padding:38px;background:var(--wash);border:1px solid var(--line);border-radius:24px}
.p31 .contact h2{max-width:25ch}.p31 .contact .method{display:inline-block;margin:16px}
.p31 .sources{margin-top:56px;padding:28px 0;border-top:1px solid var(--line);font-size:14px}.p31 .sources h2{font-size:20px}
.p31 .sources ul,.p31 .related ul{padding-left:20px;display:grid;gap:10px}.p31 .related{margin-top:56px}
.p31 .related h2{font-size:24px}.p31 .tablebox{overflow:auto;border:1px solid var(--line);border-radius:20px;padding:4px}
.p31 table{border-collapse:collapse;width:100%;font-size:15px;text-align:left}.p31 caption{text-align:left;padding:18px;font-weight:550;color:var(--ink)}
.p31 th,.p31 td{padding:18px;vertical-align:top;border-bottom:1px solid var(--line)}.p31 thead th{background:var(--wash);font-weight:550}
.p31 tbody th{font-weight:550}.p31 tr:last-child td,.p31 tr:last-child th{border-bottom:0}
.p31 input,.p31 select{max-width:100%;min-width:0;padding:12px 14px;border:1px solid #97a8c5;border-radius:10px;background:var(--paper);color:var(--ink)}
.p31 label{display:grid;gap:8px;color:var(--ink);font-size:15px;font-weight:500}.p31 button{cursor:pointer}
.p31 .rules{display:grid;gap:20px}.p31 details{border-bottom:1px solid var(--line);padding:18px 0}.p31 summary{font-size:19px;font-weight:550;cursor:pointer}.p31 details p{margin:18px 0 0}
@media(max-width:900px){.p31 .hero,.p31 .split{grid-template-columns:1fr;gap:28px}.p31 .hero .art{max-width:650px}.p31 .hero .art img{aspect-ratio:3/2}.p31 .flow{flex-direction:column}.p31 .hero h1{font-size:clamp(34px,6vw,52px)}}
@media(max-width:600px){.p31{margin-top:30px}.p31 section{margin-top:54px}.p31 .lede{font-size:18px}.p31 .contact,.p31 .note{padding:24px}.p31 .contact .method{margin-left:0;display:block}.p31 th,.p31 td{padding:13px}.p31 .tablebox{font-size:14px}}
.p31 .hero h1{font-size:clamp(33px,3.8vw,50px)}.p31 .arguments{display:grid;grid-template-columns:1fr;gap:12px}.p31 .arguments>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:0 45px;padding:26px 0;border-top:1px solid var(--line)}.p31 .arguments h3{grid-row:span 2;margin-top:0;font-size:25px;font-weight:450}.p31 .memo{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:40px}.p31 .memo-head{max-width:700px}.p31 .memo dl{margin:30px 0 0}.p31 .memo dl>div{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;padding:22px 0;border-top:1px solid var(--line)}.p31 dt{font-size:19px;font-weight:550}.p31 dd{margin:0;color:var(--ink-2)}@media(max-width:700px){.p31 .arguments>div,.p31 .memo dl>div{grid-template-columns:1fr;gap:14px}.p31 .memo{padding:24px}.p31 .arguments h3{grid-row:auto}}
