/* REAL46 000.040.031: full-bleed portrait media and title-only captions on homepage. */
.main-home .mp30-section{padding-top:54px;padding-bottom:46px}
.mp30-section .main-portfolio-head{margin-bottom:23px}
.mp30-section .main-portfolio-head h2{font-size:clamp(29px,3vw,41px)}
.mp30-rail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;color:#315748;font-size:15px;font-weight:700}
.mp30-rail-controls{display:flex;align-items:center;gap:8px}
.mp30-rail-controls button{width:38px;height:38px;border:1px solid #d0dfd3;border-radius:8px;background:#fff;color:#1f6249;cursor:pointer;font-size:27px;line-height:1}
.mp30-rail-controls button:hover:not(:disabled){background:#e5eee7;border-color:#8dae9a}
.mp30-rail-controls button:disabled{opacity:.38;cursor:default}
.mp30-rail{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:5px 4px 20px;scrollbar-width:thin;scrollbar-color:#b0c6ba transparent}
.mp30-card{flex:0 0 246px;max-width:246px;min-width:0;display:flex;flex-direction:column;background:white;border:1px solid #dde7e0;border-radius:11px;overflow:hidden;scroll-snap-align:start;box-shadow:0 6px 19px rgba(24,58,42,.1);transition:box-shadow .2s,transform .2s}
.mp30-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,58,42,.15)}
.mp30-media{position:relative;width:100%;height:414px;background:#e2e9e3;overflow:hidden}
.mp30-media-link{position:absolute;inset:0;display:block;overflow:hidden}
.mp30-media-link img,.mp30-media-link video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mp30-video-label{position:absolute;left:9px;top:9px;padding:4px 8px;border-radius:5px;background:#174b3dcf;color:white;font-size:12px;font-weight:700}
.mp30-video-label[hidden]{display:none}
.mp30-media-prev,.mp30-media-next{position:absolute;top:50%;transform:translateY(-50%);width:31px;height:39px;padding:0;border:1px solid #d8e4da;border-radius:6px;background:rgba(255,255,255,.94);color:#195d46;cursor:pointer;font-size:27px;z-index:2;line-height:1}
.mp30-media-prev{left:8px}.mp30-media-next{right:8px}
.mp30-media-prev:hover,.mp30-media-next:hover{background:white;border-color:#75a28b}
.mp30-media-counter{position:absolute;left:8px;bottom:9px;z-index:2;padding:4px 7px;border-radius:5px;background:#183e36dd;color:white;font-size:11px}
.mp30-copy{display:flex;flex-direction:column;gap:9px;padding:14px 13px 15px;flex:1;min-height:100px}
.mp30-title{display:block;font-size:16px;font-weight:700;line-height:1.37;color:#214f3e;text-decoration:none;overflow-wrap:anywhere}
.mp30-title:hover,.mp30-open:hover{text-decoration:underline}
.mp30-open{display:block;margin-top:auto;padding-top:5px;font-size:13px;color:#165b43;font-weight:700;text-decoration:none}
.mp30-hint{font-size:13px;color:#71877b;margin:0}
.mp30-section .main-portfolio-bottom{margin-top:17px}
.mp30-media-prev:focus-visible,.mp30-media-next:focus-visible,.mp30-rail-controls button:focus-visible,.mp30-media-link:focus-visible,.mp30-title:focus-visible{outline:2px solid #126048;outline-offset:2px}
@media (max-width:820px){.mp30-section .main-portfolio-head{gap:16px}.mp30-card{flex-basis:228px;max-width:228px}.mp30-media{height:405px}}
@media (max-width:620px){.main-home .mp30-section{padding:36px 18px}.mp30-section .main-portfolio-head h2{font-size:30px}.mp30-card{flex-basis:218px;max-width:218px}.mp30-media{height:390px}.mp30-rail{margin-right:-18px;padding-right:18px}.mp30-hint{font-size:12px}}
@media (prefers-reduced-motion:reduce){.mp30-rail{scroll-behavior:auto}.mp30-card{transition:none}}

/* The full image area belongs to the gallery; never reserve side gutters for controls. */
.mp30-section .mp30-media-link{inset:0;padding:0;margin:0;width:100%;height:100%}
.mp30-section .mp30-media-link img,.mp30-section .mp30-media-link video{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.mp30-section .mp30-media-prev,.mp30-section .mp30-media-next{z-index:4;top:50%}
