.p25{width:min(1120px,calc(100% - 2*var(--gutter)));margin:0 auto;overflow-wrap:break-word}
.p25 .p25-hero{padding:clamp(42px,6vw,88px) 0 42px;max-width:960px}
.p25 h1{font-size:clamp(2.1rem,4.8vw,4.05rem);font-weight:430;line-height:1.09;letter-spacing:-.055em;margin:24px 0}
.p25 h2{font-size:clamp(1.65rem,3.2vw,2.5rem);font-weight:450;line-height:1.18;letter-spacing:-.035em;max-width:30ch;margin:0 0 24px}
.p25 h3{font-size:1.3rem;line-height:1.3;font-weight:560;letter-spacing:-.02em;margin:0 0 12px}
.p25 p,.p25 li{max-width:74ch}
.p25 .p25-lead{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.65;max-width:72ch;color:var(--ink-2)}
.p25 .p25-kicker{font-size:.85rem;color:var(--muted);margin-left:12px}
.p25 .byline{margin-top:28px}
.p25 section{margin:64px 0}
.p25 a:not(.m-button):not(.m-pill){text-decoration-thickness:1px;text-underline-offset:4px;color:var(--blue-deep)}
.p25 .p25-visual{margin:42px 0}
.p25 .p25-visual img{display:block;width:100%;border-radius:var(--radius);background:var(--pale)}
.p25 figcaption{font-size:.85rem;line-height:1.5;color:var(--muted);margin:12px 4px}
.p25 .p25-note{background:var(--pale);border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;margin:28px 0}
.p25 .p25-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px}
.p25 table{width:100%;border-collapse:collapse;font-size:.95rem;text-align:left}
.p25 caption{text-align:left;font-weight:560;padding:16px;color:var(--ink-2)}
.p25 th,.p25 td{vertical-align:top;padding:18px 16px;border-bottom:1px solid var(--line);min-width:170px}
.p25 thead th{background:var(--blue-soft);color:var(--ink)}
.p25 tr:last-child td,.p25 tr:last-child th{border-bottom:0}
.p25 :is(section,aside,[id]){scroll-margin-top:110px}
.p25 .p25-sources{border-top:1px solid var(--line);padding-top:34px;font-size:.93rem}
.p25 .p25-sources h2{font-size:1.4rem;max-width:none}
.p25 .p25-sources li{margin:9px 0}
.p25 .p25-next{padding:clamp(26px,5vw,54px);background:var(--blue-soft);border:1px solid #c4d4ff;border-radius:var(--radius);margin-top:62px}
.p25 .p25-next h2{margin-bottom:18px}
.p25 .p25-next .m-button{margin:16px 0}
.p25 .p25-related{font-size:.93rem}
@media(max-width:650px){.p25{width:calc(100% - 36px)}.p25 .p25-hero{padding-top:32px}.p25 .p25-kicker{display:block;margin:12px 0 0}.p25 section{margin:44px 0}.p25 .p25-visual{margin:30px 0}.p25 .p25-note{padding:20px}}
.p25 .p25-flow{padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #c5d5ff;background:var(--blue-soft);border-radius:var(--radius-sm)}.p25 .p25-flow li{padding:22px 18px;position:relative;border-bottom:1px solid var(--line)}.p25 .p25-flow li:not(:last-child):after{content:"→";position:absolute;right:-8px;top:18px;z-index:1;color:var(--blue-deep);font-size:22px}.p25 .p25-flow strong{display:block;line-height:1.4;font-size:1rem}.p25 .p25-flow span{display:block;font-size:.9rem;margin-top:12px;color:var(--ink-2)}.p25 .p25-interfaces{margin:0}.p25 .p25-interfaces>div{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:24px 0;border-top:1px solid var(--line)}.p25 dt{font-size:1.2rem;font-weight:560;color:var(--ink)}.p25 dd{margin:0;max-width:70ch}.p25 .p25-boundaries{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.p25 .p25-table-wrap:focus-visible{outline-offset:-3px}@media(max-width:1050px){.p25 .p25-flow{grid-template-columns:1fr}.p25 .p25-flow li{padding:20px 26px}.p25 .p25-flow li:not(:last-child):after{content:"↓";top:auto;bottom:-15px;right:28px}.p25 .p25-flow span{margin-top:5px}}@media(max-width:760px){.p25 .p25-interfaces>div{grid-template-columns:1fr;gap:8px}.p25 .p25-boundaries{grid-template-columns:1fr;gap:16px}}