/* Typography, content width and navigation match PennyMuse compact-v3 reference. */
body.rrh-compact{font:400 15px/1.75 var(--sans)}
.rrh-compact .wrap{max-width:1000px;padding-inline:32px}
.rrh-compact .topbar{padding:22px 32px}.rrh-compact .topbar .who em{font:italic 15px/1 var(--latin);margin-left:4px}
.rrh-compact .ch{padding:12px 0 42px}.rrh-compact .ch-grid{display:block}
.rrh-compact .chapter-top{position:relative;margin-bottom:20px}
.rrh-compact .chapter-top .chapter-kicker{font:600 10.5px/1.6 var(--mono);letter-spacing:.1em;margin:0 0 20px;max-width:none}
.rrh-compact .chapter-top .ch-no{position:absolute;right:calc(100% + 24px);top:36.8px;width:max-content;font-size:60px;line-height:1;margin:0;padding:0}
.rrh-compact .ch .chapter-top h2{font:900 clamp(26px,3.76vw,41px)/1.3 var(--serif);margin:0;max-width:none;letter-spacing:normal;text-wrap:wrap}
.rrh-compact .ch-main{width:100%;max-width:none;margin:0}
.rrh-compact .ch-main :is(h3,h4){font:700 clamp(18px,2.07vw,23.5px)/1.6 var(--serif)}
.rrh-compact .ch-main :is(p,.lead,li,dd,td){font-size:15px;line-height:1.75;max-width:none}
.rrh-compact .ch-main :is(.cap,.case-lesson,.map-label,.map-content-note){font-size:12px;line-height:1.8}
.rrh-compact .hero{min-height:0;padding:110px 0 42px}.rrh-compact .hero .thesis{font-size:clamp(28px,2.91vw,40.5px);line-height:1.4}.rrh-compact .hero .cover-intro{font-size:15px;line-height:1.9}
.rrh-compact .hero-grid{gap:36px}.rrh-compact .hero-phones{gap:15px}.rrh-compact .hero-phones .phone{max-height:410px}.rrh-compact .hero-phones .phone img{max-height:410px;width:auto}
.rrh-compact .project-summary{padding-block:22px 38px}
.rrh-compact .end{padding:55px 0}.rrh-compact .end .big{font:900 clamp(26px,3.76vw,41px)/1.3 var(--serif)}.rrh-compact .end :is(.body,.cta p){font-size:15px;line-height:1.75;max-width:none}
.rrh-compact .rail{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:10px}
.rrh-compact .rail a{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 12px/1 var(--sans);color:var(--muted)}
.rrh-compact .rail a i{width:18px;height:2px;background:var(--line);transition:.3s;border:0;border-radius:0;flex:none}
.rrh-compact .rail a span{opacity:0;transition:.3s;white-space:nowrap;background:var(--paper);padding:2px 4px}
.rrh-compact .rail:hover a span,.rrh-compact .rail a.on span,.rrh-compact .rail a:focus-visible span{opacity:1}.rrh-compact .rail a.on{color:var(--accent)}.rrh-compact .rail a.on i{width:34px;background:var(--accent)}
@media(min-width:1700px){.rrh-compact .wrap{max-width:1080px}}
@media(max-width:1320px){.rrh-compact .rail{display:none}}
@media(max-width:1139px) and (min-width:721px){.rrh-compact .wrap{padding-inline:72px}.rrh-compact .chapter-top .ch-no{font-size:44px;right:calc(100% + 12px)}}
@media(max-width:720px){.rrh-compact .wrap{padding-inline:22px}.rrh-compact .chapter-top .ch-no{position:static;display:block;font-size:28px;width:auto;margin:0 0 10px}.rrh-compact .ch .chapter-top h2{font-size:26px}.rrh-compact .hero{padding-top:95px}.rrh-compact .hero-grid{grid-template-columns:1fr}.rrh-compact .hero-phones .phone,.rrh-compact .hero-phones .phone img{max-height:340px}}
@media(max-width:600px){.rrh-compact .topbar{padding:16px}}
/* Older product-map rules had a separate width/type policy; align that chapter too. */
body.rrh-compact #c2>.wrap{max-width:1000px}
body.rrh-compact .ch .chapter-top>h2{font:900 clamp(26px,3.76vw,41px)/1.3 var(--serif)!important;margin:0!important}
body.rrh-compact .ch-main p:not(.kicker):not(.map-label):not(.cap):not(.map-content-note):not(.case-lesson){font-size:15px!important;line-height:1.75!important}
body.rrh-compact .ch-main :is(h3,h4){font-size:clamp(18px,2.07vw,23.5px)!important;line-height:1.6!important}
@media(min-width:1700px){body.rrh-compact #c2>.wrap{max-width:1080px}}
@media(max-width:720px){body.rrh-compact .ch .chapter-top>h2{font-size:26px!important}}
