.hero-photo{height:auto!important;aspect-ratio:862/1246;position:relative;overflow:hidden;box-sizing:content-box;padding-bottom:40px}
.hero-photo .photo-label{height:40px;box-sizing:border-box;display:flex;align-items:center}
.contact.contact-compact{display:block;padding:30px 4%}
.contact-compact .contact-content{display:grid;grid-template-columns:1fr auto;gap:20px 30px;padding:0;align-items:center}
.contact-compact h2{font-size:clamp(23px,2.7vw,38px);line-height:1.15;letter-spacing:-1px;margin:0}
.contact-compact .contact-link{font-size:14px;padding:0;border:0;gap:18px}
.contact-compact .contact-link span{font-size:26px}
.contact-compact .contact-bottom{grid-column:1/-1;padding-top:18px;border-top:1px solid #ffffff35;gap:15px}
.contact-compact .contact-bottom>span{width:auto}
@media(max-width:650px){.contact.contact-compact{padding:25px 5%}.contact-compact .contact-content{grid-template-columns:1fr;gap:16px}.contact-compact h2{font-size:25px}.contact-compact .contact-link{justify-content:flex-start}.contact-compact .contact-bottom{padding-top:16px;font-size:11px}.contact-compact .contact-bottom>span{width:100%}}
.hero-photo img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;object-fit:initial;object-position:initial;transform:none!important}
.result-number{font-family:Arial,sans-serif;font-size:clamp(44px,5vw,74px);line-height:1;letter-spacing:-.06em;font-weight:600;margin-bottom:10px}
.poster-content{grid-template-rows:65px 1fr 1fr 1fr}
.poster-title{font-size:clamp(52px,7vw,112px)}
.poster-cell h3{font-size:16px}
.poster-cell p{font-size:12px}
.skills-rows p{font-size:14px}
.hero-note p{overflow-wrap:normal}
@media(max-width:650px){.poster-content{grid-template-rows:55px auto auto auto}.poster-title{font-size:20vw}.result-number{font-size:52px}.hero-note p{font-size:19px}.project-link{font-size:9px}.hero-photo img{object-position:48% 30%}.poster-cell{min-height:190px}}

.gallery-modal{width:min(1200px,94vw);max-width:none;max-height:94dvh;padding:22px;border:1px solid #adc1e855;background:#101010;color:#f3f1ec;box-sizing:border-box;overflow:auto}
.gallery-modal::backdrop{background:#000d;backdrop-filter:blur(5px)}
.gallery-modal-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.gallery-modal h2{font-size:16px;letter-spacing:1px;text-transform:uppercase;margin:0}
.gallery-modal button{border:1px solid #adc1e855;color:var(--blue);background:transparent;cursor:pointer}
.gallery-close{font-size:30px;width:44px;height:44px}
.gallery-viewer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:15px}
.gallery-viewer>button{font-size:24px;width:44px;height:48px}
.gallery-large{display:block;width:100%;height:min(62dvh,650px);object-fit:contain}
.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}
.gallery-status{font-size:11px;letter-spacing:2px;font-variant-numeric:tabular-nums}
.gallery-thumbnails{display:flex;gap:10px}
.gallery-thumbnails button{width:88px;height:60px;padding:3px;opacity:.55}
.gallery-thumbnails button[aria-pressed=true]{border-color:var(--blue);opacity:1}
.gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-modal button:hover{background:#adc1e820}
.gallery-modal :focus-visible{outline:2px solid var(--blue);outline-offset:3px}
body.gallery-open{overflow:hidden}
@media(max-width:650px){.gallery-modal{padding:14px;width:96vw}.gallery-viewer{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.gallery-viewer>button{width:32px;height:40px;font-size:20px}.gallery-large{height:55dvh}.gallery-thumbnails button{width:58px;height:42px}.gallery-bottom{gap:10px}.gallery-modal h2{font-size:12px}}

.gallery-thumbnails{flex-wrap:wrap;justify-content:flex-end}.gallery-bottom{align-items:flex-start}@media(max-width:650px){.gallery-thumbnails{max-width:210px}}


.selected-case{border-top:1px solid #111;padding:35px 0 60px}.case-heading{margin-bottom:30px}.case-heading h2{font-size:clamp(30px,4vw,54px);margin:15px 0}.case-heading p{font-size:13px}.case-summary{color:#666;max-width:550px;line-height:1.6}.case-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.case-visuals figure{margin:0}.case-visuals img{width:100%;aspect-ratio:1.4;object-fit:cover;display:block}.case-visuals figcaption{display:flex;gap:15px;border-top:1px solid #111;margin-top:15px;padding-top:15px}.case-visuals figcaption span{font-size:10px;color:#666;padding-top:3px}.case-visuals h3{font-size:15px;line-height:1.4;letter-spacing:0;font-weight:400;margin:0}@media(max-width:650px){.case-visuals{grid-template-columns:1fr;gap:35px}.selected-projects .gallery-intro h1{font-size:13vw}.case-visuals img{aspect-ratio:auto;height:auto}}

.project-keywords{font-size:12px;line-height:1.6;color:#555;margin:8px 0 0}.project-cities{font-size:10px;line-height:1.7;color:#777;margin:8px 0 0}.network-number{aspect-ratio:1.4;background:#e9e5de;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.network-number strong{font-size:clamp(70px,9vw,145px);line-height:1;font-weight:400;letter-spacing:-.06em}.network-number span{font-size:10px;letter-spacing:.12em}.network-caption{border-top:1px solid #111;margin-top:15px;padding-top:15px}.network-caption h3{margin-top:10px}@media(max-width:650px){.network-number{aspect-ratio:1.4}.network-number strong{font-size:110px}}

.selected-projects .case-heading h2,.selected-projects .case-visuals h3{color:#111}.network-number .distributor-count{font-size:9px;letter-spacing:.08em;text-align:center;padding:0 10px}

.case-visuals img.partnership-photo{object-position:center bottom}

.case-visuals img.home-staging-photo{object-fit:contain;background:#b6ac94}



.image-ribbon a.perspective-portrait img{object-fit:contain;filter:none;background:#101010}
