/* Phase 3 approved-content resilience; Phase 2 visual rules remain unchanged. */
.company-table dd,.contact-direct strong,.footer-info p,.project-title h3,.detail-intro h1{overflow-wrap:anywhere}
@media(max-width:640px){.footer-info>div:last-child p{font-size:10.5px;line-height:1.8;letter-spacing:-.15px}}
@media(max-width:640px){.wordmark img{max-width:120px!important}}

/* Phase 3.1: supplied vector mark, confirmed company fields and internal CG review. */
.official-wordmark{flex-shrink:0}
.official-wordmark img{width:190px!important;max-width:none!important;height:auto!important;object-fit:contain;aspect-ratio:4}
.footer-top .official-wordmark img{width:180px!important}
.company-phone{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:24px}
.contact-direct>p{line-height:1.85;font-size:13px;margin:0 0 12px;color:var(--ink)}
.contact-direct>p:first-child{color:#75818b;font-size:12px;margin-bottom:20px}
.contact-direct a{font-size:20px;font-weight:500}
.internal-ribbon{position:static;padding:13px 24px;margin:0 0 32px;background:#101a2b;color:#e5d4b7;font-size:12px;line-height:1.7;text-align:center}
.project-review-note{border-top:1px solid var(--line);margin-top:32px;padding-top:22px}
:is(.internal-review,.has-actual-projects) .project-image{background:#edf0f1}
:is(.internal-review,.has-actual-projects) .project-image img{object-fit:contain}
:is(.internal-review,.has-actual-projects) .detail-cover{background:#edf0f1}
:is(.internal-review,.has-actual-projects) .detail-cover img{object-fit:contain}
:is(.internal-review,.has-actual-projects) .detail-cover>span{font-size:11px;letter-spacing:0;max-width:90%}
.detail-gallery{padding-top:0}.detail-gallery>h2{margin-bottom:22px}
.detail-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:40px}
.detail-gallery-grid figure{margin:0}.detail-gallery-grid figure:first-child{grid-column:1/-1}
.detail-gallery-grid img{width:100%;height:auto;object-fit:contain;background:#edf0f1}
.detail-gallery-grid figcaption{font-size:12px;line-height:1.8;color:#6c7680;margin-top:13px}
@media(max-width:1199px){.header .official-wordmark img{width:155px!important}}
@media(max-width:640px){.header .official-wordmark img{width:132px!important}.footer-top .official-wordmark img{width:160px!important}.internal-ribbon{font-size:12px;padding:13px 22px}.detail-gallery-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.detail-gallery-grid figure:first-child{grid-column:auto}:is(.internal-review,.has-actual-projects) .detail-cover>span{font-size:10px;left:10px;bottom:12px}.contact-direct a{font-size:18px}}



/* Phase 3.2: bounded PROJECTS layout and non-destructive internal CG presentation. */
.filter-basis{margin-bottom:12px}
.page-projects .project-grid{grid-template-columns:1fr}
.source-trim-svg{display:block;width:100%;height:100%;overflow:hidden}
:is(.internal-review,.has-actual-projects) .project-grid article:hover .source-trim-svg{transform:none}
@media(min-width:1024px){
 .page-projects .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
 .page-projects .project-image{height:auto;aspect-ratio:3/2}
 .page-projects .project-title{align-items:flex-start;gap:14px}
 .page-projects .project-title h3{font-size:22px;line-height:1.5;min-height:66px}
 .page-projects .project-title>span{font-size:25px}
 .page-projects .project-meta{grid-template-columns:1fr;gap:12px}
 .page-projects .project-meta>div:first-child{grid-column:auto}
 .page-projects .project-meta>div{gap:14px}
 .page-projects .project-meta dd{min-width:0}
 .page-projects .sample-label{left:12px;top:12px;font-size:11px;padding:8px 10px;max-width:calc(100% - 24px)}
}

/* Edge-to-edge CG display; the original source files are preserved. */
:is(.internal-review,.has-actual-projects) .project-image img,:is(.internal-review,.has-actual-projects) .detail-cover img,.related-card-image img{object-fit:cover}
:is(.internal-review,.has-actual-projects) .project-image,:is(.internal-review,.has-actual-projects) .detail-cover{background:#101a2b}
#projects .section-head h2{color:#101a2b;font-weight:550;opacity:1}
#projects .section-head .eyebrow{color:#826840}
#projects .section-head .head-copy{color:#4d5b68}
#projects .project-title h3,.page-projects .project-title h3{color:#101a2b;font-weight:550}
.project-title p{font-size:12px;letter-spacing:.3px;color:#756143}

/* Main portfolio: three complete columns on desktop; one column below. */
body[data-page=home] #projects .project-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:641px) and (max-width:1023px){
 body[data-page=home] #projects .project-image{height:auto;aspect-ratio:16/9}
}
@media(min-width:1024px){
 body[data-page=home] #projects .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
 body[data-page=home] #projects .project-card{min-width:0}
 body[data-page=home] #projects .project-image{height:auto;aspect-ratio:3/2}
 body[data-page=home] #projects .project-title{align-items:flex-start;gap:12px}
 body[data-page=home] #projects .project-title h3{font-size:clamp(20px,1.55vw,23px);line-height:1.5;min-height:69px;word-break:keep-all}
 body[data-page=home] #projects .project-title>span{font-size:25px;flex-shrink:0}
 body[data-page=home] #projects .project-meta{grid-template-columns:minmax(0,1fr);gap:12px}
 body[data-page=home] #projects .project-meta>div{gap:14px;min-width:0}
 body[data-page=home] #projects .project-meta dd{min-width:0}
}

.strategy-picture{display:block;width:100%;height:100%}

.planning-photo{object-position:50% 58%}
.business-card:nth-child(2) .business-photo::before{background-position:50% 58%}
