/* Project lead image 3:2; secondary images square. Originals stay unchanged. */
.content-featured{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.project-gallery-item{aspect-ratio:1/1}
.project-gallery .project-gallery-item img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center}
.about-visual>img{aspect-ratio:1/1;object-fit:cover;object-position:center}
.project-card{aspect-ratio:1/1;min-height:0}
.project-image,.project-image img{min-height:0;height:100%;object-position:center}
.service-card{padding:12px 12px 18px;min-height:0}
.service-card-photo{aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:10px;margin-bottom:12px;flex-shrink:0}
.service-card .service-card-top{margin:0 6px}
.service-card .service-arrow{width:26px;height:26px;font-size:.8rem}
.service-card h3{margin:12px 6px 8px;line-height:1.35;font-size:1.15rem}
.service-card p{margin:0 6px 12px;line-height:1.55;font-size:.94rem}
.service-card>.text-link{margin:0 6px;line-height:1.4;font-size:.88rem}
.service-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.project-gallery-caption{max-width:calc(100% - 24px);text-align:left;border-radius:8px}
.mg-project-story{max-width:1120px;padding-top:48px;padding-bottom:72px}
.mg-project-heading{max-width:900px;margin-bottom:36px}
.mg-project-back{display:block;width:fit-content;color:var(--muted);font-size:.86rem;margin-bottom:42px}
.mg-project-heading h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 22px;text-wrap:balance}
.mg-project-intro{font-size:1.12rem;line-height:1.7;color:var(--muted);max-width:720px;margin:0 0 22px}
.mg-project-tags{display:flex;flex-wrap:wrap;gap:10px}
.mg-project-tags span{font-size:.78rem;padding:7px 12px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.mg-project-lead,.mg-clean-photo{display:block;appearance:none;border:0;padding:0;overflow:hidden;background:#e6e8e2;cursor:zoom-in;box-shadow:none}
.mg-project-lead{width:100%;aspect-ratio:3/2;border-radius:16px}
.mg-project-lead img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mg-project-summary{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding:48px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}
.mg-project-summary h2,.mg-gallery-heading h2,.mg-project-contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;margin:0}
.mg-project-summary .standard-content p:first-child{margin-top:0}
.mg-project-summary .standard-content p:last-child{margin-bottom:0}
.mg-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:32px 0 24px}
.mg-gallery-heading p{font-size:.85rem;color:var(--muted);margin:0}
.mg-clean-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mg-clean-photo{width:100%;aspect-ratio:1/1;border-radius:10px}
.mg-clean-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}
.mg-clean-photo:hover img{transform:scale(1.025)}
.mg-clean-photo:focus-visible,.mg-project-lead:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.mg-project-contact{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#e9ebe6;border-radius:14px;padding:36px;margin-top:48px}
.mg-project-contact p{color:var(--muted);margin-bottom:0}
.mg-project-contact .btn{flex-shrink:0}
.single-mg_project .mg-lightbox figcaption{display:none}
@media(max-width:820px){.mg-project-summary{grid-template-columns:1fr;gap:20px;padding:32px 0}.mg-clean-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-gallery-heading{display:block}.mg-gallery-heading p{margin-top:10px}.mg-project-contact{align-items:flex-start;flex-direction:column}.mg-project-back{margin-bottom:28px}}
@media(max-width:480px){.mg-project-story{padding-top:28px;padding-bottom:42px}.mg-project-heading{margin-bottom:24px}.mg-clean-gallery{gap:10px}.mg-project-contact{padding:24px}.mg-project-intro{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.mg-clean-photo img{transition:none}.mg-clean-photo:hover img{transform:none}}
