/* Approved editorial update. Existing layout and brand are retained. */
.hero-photo{width:100%;height:auto;text-align:left;padding:0;background:var(--surface)}
.hero-photo>img{display:block;width:100%;height:clamp(360px,48vw,720px);max-height:none;object-fit:cover;object-position:50% 50%}
.hero-photo:hover>img{transform:none}
.hero-photo .photo-caption{position:static;display:flex;padding:18px 22px;background:var(--surface);color:var(--ink);gap:20px;line-height:1.5}
.location-image,.project-image{display:block}
.location-image{height:clamp(230px,23vw,350px)}
.other-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 26px}
.supporting-project,.supporting-project:nth-child(n+4){grid-column:auto}
.supporting-project .project-image,.supporting-project:nth-child(n+4) .project-image{height:clamp(280px,34vw,470px)}
.supporting-project .project-heading{display:block}
.supporting-project .project-heading .project-name{display:block;color:var(--ink);font-size:25px;font-weight:500;letter-spacing:-.035em;text-align:left;line-height:1.25}
.project-kind{display:block;font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.experience-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;border-top:1px solid var(--line);padding:30px 0 40px}
.experience-formats h3{font-size:23px;line-height:1.3;margin-bottom:16px}
.experience-formats p{font-size:14px;line-height:1.65;color:var(--muted)}
.principles h3{font-size:16px;line-height:1.35;min-height:44px}
.services-layout{grid-template-columns:1.15fr 1.4fr;gap:5vw}
.services-intro h2{font-size:clamp(31px,3.15vw,51px);line-height:1.1;letter-spacing:-.045em}
#project-dialog{width:min(1100px,94vw);max-height:92dvh;padding:28px}
.dialog-top{position:sticky;top:-28px;padding:15px 0;background:var(--surface);z-index:3;border-bottom:1px solid var(--line)}
.close-dialog{background:var(--surface)}
.dialog-copy{padding:30px 0 24px}
.dialog-copy h2{font-size:clamp(29px,4vw,51px);line-height:1.12;margin:22px 0 18px;overflow-wrap:anywhere}
#dialog-location{line-height:1.65}
#dialog-facts{font-size:13px;color:var(--muted)}
.case-sections{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px;margin-top:30px}
.case-sections section{border-top:1px solid var(--line);padding-top:18px}
.case-sections h3{font-size:14px;font-weight:500;margin-bottom:12px;letter-spacing:0}
.case-sections p{font-size:14px;line-height:1.7;color:var(--muted)}
.case-note{font-size:12px!important;border-left:2px solid var(--olive);padding-left:16px;margin-top:25px;line-height:1.65}
.gallery-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 22px}
.gallery-tabs button{padding:12px 16px;font-size:12px;line-height:1.6;border:1px solid var(--line);text-align:left}
.gallery-tabs button[aria-pressed=true]{border-color:var(--olive);background:var(--paper);color:var(--ink)}
.gallery-zoom{width:100%;display:block;position:relative;padding:0;background:var(--paper);touch-action:pan-y}
.gallery-zoom img{height:min(62vh,650px);object-fit:contain}
.gallery-zoom>span{position:absolute;bottom:15px;right:15px;padding:10px 14px;font-size:11px;background:#191919ed;border:1px solid var(--line)}
.gallery-thumbs{display:flex;overflow-x:auto;gap:10px;padding:10px 2px 20px;margin-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--olive) var(--surface)}
.gallery-thumbs button{flex:0 0 78px;padding:3px;border:1px solid transparent}
.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}
.gallery-thumbs img{width:70px;height:60px;object-fit:cover}
#image-dialog{width:98vw;max-width:none;height:96dvh;max-height:96dvh;background:var(--paper);padding:55px 15px 60px;border:1px solid var(--line)}
#zoom-image{width:100%;height:100%;object-fit:contain}
.zoom-close{position:absolute;top:12px;right:20px;font-size:13px;min-height:32px;background:var(--paper)}
.zoom-controls{position:absolute;left:20px;right:20px;bottom:12px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.zoom-controls button{min-width:64px;min-height:40px}
footer{flex-wrap:wrap}footer a{line-height:1.5}
.legal{max-width:850px;padding-top:60px;padding-bottom:85px}
.legal h1{font-size:clamp(30px,4.6vw,58px);line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}
.legal h2{font-size:23px;line-height:1.35;margin:36px 0 14px;letter-spacing:-.02em}
.legal p,.legal li{font-size:15px;line-height:1.8;color:var(--muted)}
.legal p+p{margin-top:15px}.legal a{text-decoration:underline;text-underline-offset:4px}
.legal .draft-note{padding:20px;border:1px solid var(--olive);margin:30px 0;color:var(--ink)}
@media(max-width:760px){
 .hero-photo>img{max-height:none;height:clamp(320px,75vw,540px);object-fit:cover}.hero-photo .photo-caption{padding:15px;font-size:11px;display:block}.photo-action{display:inline-block;margin-top:12px}
 .network-heading h3{overflow-wrap:anywhere}.location-image{height:320px}
 .other-projects-grid{gap:32px 16px}.supporting-project .project-image,.supporting-project:nth-child(n+4) .project-image{height:280px}
 .supporting-project .project-heading .project-name{font-size:21px}
 .experience-formats{grid-template-columns:1fr;gap:24px}.experience-formats h3{font-size:22px;margin-bottom:10px}
 .services-layout{display:block}.services-intro h2{font-size:clamp(29px,6.6vw,49px)}
 .principles{grid-template-columns:1fr;gap:22px}.principles h3{min-height:0;margin:13px 0 10px;font-size:18px}.principles p{font-size:13px}
 #project-dialog{padding:18px}.dialog-top{top:-18px}.dialog-copy{padding-top:20px}.case-sections{grid-template-columns:1fr;gap:20px}.case-sections p{font-size:13px}
 .gallery-zoom img{height:49vh}.gallery-tabs button{font-size:11px;padding:10px 12px}.gallery-caption{font-size:11px}
 .legal{padding-top:35px}.legal p,.legal li{font-size:14px}.legal h2{font-size:21px}
}
@media(max-width:460px){.other-projects-grid{grid-template-columns:1fr}.supporting-project:last-child{grid-column:auto}.supporting-project .project-image,.supporting-project:nth-child(n+4) .project-image{height:360px}.principles{margin-top:30px}}

.brand-experience{line-height:1.9!important}.brand-experience>span{display:inline-block}
.record-context{max-width:760px;font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 30px}
