:root{--rp-ink:#163c60;--rp-blue:#316b91;--rp-mist:#edf5f8;--rp-sand:#f6ead5;--rp-line:#cadce5;--rp-paper:#fffdf8}
.rp-kicker{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#346a89}
.rp-home{padding-block:clamp(3rem,7vw,6.5rem);background:linear-gradient(145deg,var(--rp-paper),var(--rp-mist));border-block:1px solid var(--rp-line)}
.rp-home-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.rp-home h2{max-width:17ch;font-size:clamp(2rem,4vw,3.7rem)}
.rp-home .rp-lead{font-size:1.08rem;line-height:1.75;color:#3f5c6e;max-width:42rem}
.rp-room-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rp-room-card{padding:1.35rem;background:#fff;border:1px solid var(--rp-line);border-radius:18px;box-shadow:0 7px 0 #dfeaf0}
.rp-room-card span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--rp-sand);font-weight:900;color:var(--rp-ink)}
.rp-room-card h3{font-size:1.15rem;margin:.8rem 0 .45rem}.rp-room-card p{font-size:.9rem;line-height:1.65;color:#486274}
.rp-case{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);gap:2rem;margin-top:2.5rem;padding:1.25rem;background:#102f4c;color:#fff;border-radius:22px;overflow:hidden}
.rp-case figure{margin:0}.rp-case img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:#e7eef2;border-radius:14px}.rp-case figcaption{font-size:.72rem;line-height:1.5;color:#d5e5ef;margin-top:.65rem}
.rp-case>div{align-self:center;padding:1.2rem}.rp-case h2{font-size:2rem;max-width:18ch}.rp-case p{color:#d9e7ef;line-height:1.7}.rp-case .button{margin-top:1.2rem}
.rp-guide-index{padding-block:clamp(3rem,6vw,5.5rem)}.rp-guide-index-head{display:grid;grid-template-columns:1fr minmax(16rem,.55fr);gap:2rem;align-items:end;margin-bottom:1.7rem}
.rp-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.rp-guide-card{display:flex;flex-direction:column;min-height:235px;padding:1.5rem;border:1px solid var(--rp-line);border-radius:18px;background:#fff}
.rp-guide-card .rp-step{font-size:.78rem;font-weight:900;color:#46728d}.rp-guide-card h3{font-size:1.3rem;margin:.85rem 0}.rp-guide-card p{font-size:.9rem;line-height:1.65;color:#4b6575}.rp-guide-card a{margin-top:auto;padding-top:1rem;font-weight:800}
.rp-article{display:grid;grid-template-columns:minmax(12rem,.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:3.5rem 5rem}.rp-toc{position:sticky;top:1rem;align-self:start;border-top:4px solid var(--rp-blue);padding-top:1rem}.rp-toc a{display:block;padding:.48rem 0;font-size:.84rem}
.rp-prose section{margin-top:2.6rem;scroll-margin-top:1rem}.rp-prose .article-intro{font-size:1.18rem;color:var(--rp-ink)}
.rp-record{margin-top:3rem;padding:1.4rem;border:1px solid var(--rp-line);border-radius:18px;background:var(--rp-mist)}
.rp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1.2rem 0}.rp-fields>div{padding:.85rem 1rem;background:#fff;border:1px solid var(--rp-line);border-radius:10px}.rp-fields dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#426a82}.rp-fields dd{margin:.55rem 0 0;color:#78909e}
.rp-boundary{margin-top:2rem;padding:1.2rem;border-left:4px solid #c89445;background:#fff8e9}.rp-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.rp-resource-card{padding:1.35rem;border:1px solid var(--rp-line);border-radius:16px;background:#fff}.rp-resource-card h3{font-size:1.1rem;margin:.6rem 0}.rp-resource-card p{font-size:.85rem;line-height:1.6;color:#506979}
.rp-photo-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.rp-photo-sequence figure{border:1px solid var(--rp-line);border-radius:16px;overflow:hidden;background:#fff}.rp-photo-sequence img{display:block;width:100%;height:auto;object-fit:contain;background:#edf2f4}.rp-photo-sequence figcaption{padding:1rem;font-size:.78rem;line-height:1.55;color:#506979}
@media(max-width:900px){.rp-home-grid,.rp-guide-index-head,.rp-article{grid-template-columns:1fr}.rp-toc{position:static}.rp-guide-grid,.rp-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.rp-room-map,.rp-guide-grid,.rp-resource-grid,.rp-fields,.rp-case,.rp-photo-sequence{grid-template-columns:1fr}.rp-case img{height:auto;max-height:420px}.rp-case>div{padding:.6rem}.rp-guide-card{min-height:0}}
