/* Scoped project galleries: the existing portfolio layout remains intact. */
.mc-link{display:inline-block;margin-top:1rem;color:var(--verde,#173c32);font-size:.88rem;font-weight:700;text-underline-offset:5px}
.mc-dialog{width:min(1120px,94vw);max-height:92dvh;margin:auto;padding:0;border:1px solid #d8dbd5;border-radius:8px;background:#f8f8f4;color:#172c25;overscroll-behavior:contain}
.mc-dialog::backdrop{background:rgb(12 28 23 / .8)}
.mc-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem;background:#172c25;color:#fff;font-size:.8rem;letter-spacing:.08em}
.mc-close{width:44px;height:44px;background:none;color:inherit;border:1px solid #688177;border-radius:50%;font:28px/1 sans-serif;cursor:pointer}
.mc-content{padding:clamp(16px,3vw,38px)}
.mc-content h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2;max-width:850px;margin:.5rem 0 1.5rem;letter-spacing:-.025em}
.mc-location{font-size:.85rem;color:#646f67}
.mc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;background:#e8ebe5;border-radius:4px}
.mc-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.mc-slide>a{display:block;height:clamp(200px,52vw,540px)}
.mc-slide img{display:block;width:100%;height:100%;object-fit:contain}
.mc-slide figcaption{padding:.8rem 1rem;font-size:.85rem;color:#35463c}
.mc-controls{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin:.7rem 0 1.5rem}
.mc-controls button{width:44px;height:44px;border:1px solid #abb6ad;border-radius:50%;background:transparent;color:#173b2c;font-size:20px;cursor:pointer}
.mc-counter{font-size:.8rem;font-variant-numeric:tabular-nums;min-width:3rem;text-align:center}
.mc-info{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(20px,4vw,56px);border-top:1px solid #ccd2c9;padding-top:1.5rem}
.mc-info h3{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .65rem;color:#687468}
.mc-info p{font-size:.95rem;line-height:1.75;margin:0 0 1.4rem}
.mc-info .mc-role{font-size:1.2rem;font-weight:600;line-height:1.45}
.mc-info aside{border-left:1px solid #ccd2c9;padding-left:1.5rem}
.mc-info dt{font-size:.75rem;color:#687468}.mc-info dd{margin:.2rem 0 1.1rem;font-size:1rem}
.mc-info aside p,.mc-info aside a{font-size:.8rem;line-height:1.6;margin:.7rem 0}.mc-info aside a{text-underline-offset:4px;color:inherit}
.mc-dialog button:focus-visible,.mc-dialog a:focus-visible,.mc-link:focus-visible{outline:3px solid #d5803e;outline-offset:3px}
html.mc-modal-open{overflow:hidden}
@media(max-width:640px){.mc-dialog{width:96vw;max-height:94dvh}.mc-top{padding:.5rem 1rem}.mc-info{grid-template-columns:1fr;gap:1rem}.mc-info aside{border-left:0;border-top:1px solid #ccd2c9;padding:1rem 0 0}.mc-slide>a{height:58vw}.mc-content h2{margin-bottom:1rem}.mc-info p{margin-bottom:1rem}}

/* Uniform portfolio cards; uncropped photographs inside identical frames. */
.portfolio .grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:1fr;align-items:stretch;gap:2rem}
.portfolio .grid > .proj{grid-column:auto;grid-row:auto;min-width:0}
.portfolio .grid .proj .pic,.portfolio .grid .proj.f-d .pic{aspect-ratio:4/3;padding:0;height:auto;min-height:0;overflow:hidden;background:#edf0ed;flex:none}
.portfolio .grid .pic .project-image{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.portfolio .grid .pic img,.portfolio .grid .proj.f-d .pic img{position:static;display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;transform:none!important}
.mc-dialog{width:min(1440px,96vw);max-height:94dvh}
.mc-track{align-items:flex-start}
.mc-slide>a{height:auto;display:block}
.mc-slide img{width:100%;height:auto;max-height:76dvh;object-fit:contain}
@media(max-width:700px){.portfolio .grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:1.5rem}.mc-slide>a{height:auto}.mc-slide img{max-height:70dvh}.mc-dialog{width:98vw}.mc-content{padding:12px}}
