/* Review47: consistent rhythm, balanced technical layouts and mobile disclosure. */
.review47 .sol-section{padding-top:24px!important;padding-bottom:24px!important}
.review47 main>.sol-section+.sol-section{margin-top:0!important}
.review47 .sol-section>:last-child{margin-bottom:0!important}
.review47 .detail-section-head{margin-bottom:20px!important}
.review47 .r46-card{margin-bottom:16px}
.review47 .r46-cards{row-gap:0}
.review47 .r46-band{margin-top:16px}
.review47 .r46-split{gap:24px}
.review47 .r46-panel{align-self:stretch}
.review47 .r47-project-case{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);border:1px solid var(--line);background:var(--soft);min-width:0}
.review47 .r47-project-media{display:flex;min-height:330px;background:#fff;overflow:hidden}
.review47 .r47-project-media img{width:100%;height:100%;object-fit:cover}
.review47 .r47-project-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.review47 .r47-project-copy h3{font-size:28px;font-weight:400;margin:10px 0 16px}
.review47 .r47-project-copy p{color:var(--muted);font-size:17px;line-height:1.55;margin:0 0 14px}
.review47 .r47-project-copy .button{width:100%;margin-top:10px;text-align:center}
.review47 .expansion-case-copy45 .button{width:100%;box-sizing:border-box;text-align:center}
.review47 .r47-layout-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch}
.review47 .r47-layout-split>.r46-visual,.review47 .r47-layout-split>.r46-panel{min-height:100%}
.review47 .r47-layout-split .detail-drawing{display:flex;height:100%;flex-direction:column}
.review47 .r47-layout-split .detail-drawing>a{flex:1;min-height:420px}
.review47 .r47-layout-split .detail-drawing img{max-height:510px!important}
.review47 .r47-wide-figure{margin-bottom:20px}
.review47 .r47-wide-figure .detail-drawing img{max-height:420px!important}
.review47 .r47-source-plan{max-width:1080px;margin-inline:auto}
.review47 .r47-source-plan .detail-drawing img{max-height:650px!important;padding:4px}
.review47 .r47-equal-panels,.review47 .r47-equal-media{align-items:stretch}
.review47 .r47-equal-panels>.r46-panel,.review47 .r47-equal-media>.r46-panel{height:100%;box-sizing:border-box}
.review47 .r47-equal-media>.r46-visual,.review47 .r47-equal-media>.r46-visual>.detail-drawing{height:100%;display:flex;flex-direction:column}
.review47 .r47-equal-media>.r46-visual>.detail-drawing>a{flex:1;min-height:320px}
.review47 .r47-equal-media>.r46-visual img{max-height:430px!important}
.review47 .r47-mobile-details>summary{display:none}
.review47 .engineering-links{display:flex!important;grid-template-columns:none!important;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}
.review47 .engineering-link{flex:1 0 calc((100% - 54px)/4);min-width:230px;scroll-snap-align:start}
.review47 .engineering-copy h3{min-height:0!important}
.review47 .module-card{scroll-snap-align:start}
@media(max-width:1050px){
 .review47 .sol-section{padding-top:20px!important;padding-bottom:20px!important}
 .review47 .r47-project-case{grid-template-columns:1fr 1fr}
 .review47 .r47-project-copy{padding:24px}
 .review47 .r47-layout-split{grid-template-columns:1fr}
 .review47 .r47-layout-split .detail-drawing>a{min-height:0}
 .review47 .r47-layout-split .detail-drawing img{max-height:470px!important}
 .review47 .engineering-link{flex-basis:42%;min-width:280px}
}
@media(max-width:700px){
 .review47 .sol-section{padding-top:16px!important;padding-bottom:16px!important}
 .review47 .detail-section-head{margin-bottom:16px!important}
 .review47 .r46-split{gap:14px}
 .review47 .r47-project-case{grid-template-columns:1fr}
 .review47 .r47-project-media{min-height:0;aspect-ratio:16/10}
 .review47 .r47-project-copy{padding:20px}
 .review47 .r47-project-copy h3{font-size:23px;margin:8px 0 12px}
 .review47 .r47-project-copy p{font-size:16px}
 .review47 .r47-wide-figure{margin-bottom:14px}
 .review47 .r47-wide-figure .detail-drawing img,.review47 .r47-source-plan .detail-drawing img{max-height:360px!important}
 .review47 .r47-equal-media>.r46-visual>.detail-drawing>a{min-height:0}
 .review47 .r47-equal-media>.r46-visual img{max-height:350px!important}
 .review47 .engineering-link{flex:0 0 82%;min-width:260px}
 .review47 details.r47-mobile-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:14px 16px;border:1px solid var(--line);background:var(--soft);font-size:17px;color:var(--ink);cursor:pointer}
 .review47 details.r47-mobile-details>summary::after{content:'+';color:var(--accent);font-size:24px;line-height:1}
 .review47 details.r47-mobile-details[open]>summary::after{content:'−'}
 .review47 details.r47-mobile-details[open]>summary{margin-bottom:14px}
}
@media(min-width:701px){
 .review47 details.r47-mobile-details:not([open])>*:not(summary){display:block}
}
