/* CMS archive and gallery inherit the approved v4 identity. */
.cms-page main{padding-top:100px;min-height:70vh}
.cms-page .site-header{background:var(--bg);padding:0 var(--pad);height:68px}
.cms-page .site-header nav{font:inherit}
.cms-page .wrap{max-width:1600px;width:calc(100% - var(--pad)*2)}
.cms-page .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}
.cms-page .project-grid .project-card{padding-top:0;min-width:0}
.cms-page .card-photo{aspect-ratio:1.45;overflow:hidden}
.cms-page .project-card h3{font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.cms-page .project-card>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cms-page .project-heading h1{font-size:clamp(30px,5vw,72px);line-height:1.2;overflow-wrap:anywhere}
.cms-page .project-cover img,.cms-page .gallery-trigger img{height:auto;object-fit:contain}
.cms-page .lightbox{z-index:200}
.cms-page .lightbox-stage>img{width:auto;height:auto}
.cms-page .footer{margin-top:64px}
.cms-page .filter-list a{border-radius:0}
.work-caption h3,.event-copy strong{overflow-wrap:anywhere}
.status-panel{padding:140px var(--pad);min-height:65vh}
@media(max-width:980px){.cms-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.cms-page .project-grid{grid-template-columns:1fr}.cms-page main{padding-top:80px}}

/* Service and photographer information, sharing the approved v4 palette. */
#services,#about,#contact{scroll-margin-top:88px}
.service-intro{margin:12px 0 24px;font-size:24px}
.service-detail{padding:24px 0;border-top:1px solid var(--line)}
.service-detail h3{margin:0 0 10px;font-size:20px;font-weight:500}
.service-detail p{margin:10px 0;max-width:40em;color:var(--muted);font-size:14px;line-height:1.9}
.service-detail .service-scope{color:var(--text);font-size:12px}
.service-detail a,.about-portfolio{display:inline-block;margin-top:14px;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.service-details>.arrow-link{margin-top:24px}
.about-copy p+p{margin-top:18px}
.about-portfolio{line-height:1.8}

.contact-details{padding:80px var(--pad);display:grid;grid-template-columns:1.1fr 1fr;gap:70px;border-top:1px solid var(--line)}
.contact-details h2{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.4;margin:0 0 24px}
.contact-details p{color:var(--muted);line-height:1.9;font-size:15px}
.contact-actions{display:flex;flex-direction:column;gap:20px;margin-top:30px}
.contact-actions a{font-size:14px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:6px}
.inquiry-guide h3{margin:0 0 20px;font-size:18px;font-weight:500}
.inquiry-guide dl{margin:0}.inquiry-guide dl>div{padding:14px 0;border-top:1px solid var(--line)}
.inquiry-guide dt{font-size:14px}.inquiry-guide dd{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:680px){.contact-details{grid-template-columns:1fr;gap:40px;padding-block:48px}.service-detail p{font-size:14px}}
