/* DWM visual direction: commissioned-style concept imagery, responsive and lightweight. */
.visual-image { display:block; width:100%; height:100%; object-fit:cover; }
.hero-layout { grid-template-columns:.9fr 1.1fr; gap:3.5%; min-height:720px; padding:40px 0 38px; }
.hero h1 { font-size:clamp(64px,6.1vw,108px); }
.hero-visual { position:relative; height:620px; margin:0 -5.1vw 0 0; overflow:hidden; background:#e6e1d5; isolation:isolate; }
.hero-visual .visual-image { object-position:52% center; }
.hero-visual-note { position:absolute; left:22px; bottom:22px; background:var(--paper); color:var(--ink); display:flex; align-items:center; gap:30px; padding:14px 18px; font-size:10px; line-height:1.4; box-shadow:0 8px 30px #1112; }
.hero-visual-note b { font-size:11px; font-weight:500; }
.hero-visual-note span:last-child { font-size:25px; color:var(--blue); }
.image-art { display:block; padding:0; isolation:isolate; }
.image-art:before,.image-art:after { content:none; }
.service-art.image-art { height:auto; aspect-ratio:3/2; }
.service-art.image-art>.visual-image { scale:1; transform:none; transition:transform .65s ease; max-width:none; }
.service-card:hover .image-art>.visual-image { transform:scale(1.035); }
.service-card .card-top { width:calc(100% - 28px); inset:14px 14px auto; padding:0; color:#20211f; }
.service-card .card-top>span,.service-card .card-top>svg { background:var(--paper); padding:8px; width:34px; height:34px; display:grid; place-items:center; }
.service-info { padding:25px; }
.service-info h3 { font-size:24px; letter-spacing:-.8px; }
.project-art.image-art { height:auto; aspect-ratio:3/2; }
.project-art.image-art .visual-image { transition:transform .8s ease; }
.project-card:hover .project-art.image-art .visual-image { transform:scale(1.025); }
.project-grid { grid-template-columns:1fr 1fr; gap:28px; }
.project-card:nth-child(2) { margin-top:90px; }
.project-detail .project-art.image-art { max-width:none; aspect-ratio:3/2; height:auto; }
.interior-hero { grid-template-columns:1fr 1.1fr; gap:6%; }
.interior-hero .service-art.image-art { height:auto; aspect-ratio:1.15; }
.interior-hero .service-art.image-art>.visual-image { scale:1; object-position:center; }
.visual-manifesto { display:grid; grid-template-columns:1.15fr 1fr; min-height:630px; background:#20211f; color:var(--paper); }
.visual-manifesto>figure { margin:0; min-width:0; min-height:100%; overflow:hidden; }
.visual-manifesto>figure .visual-image { min-height:630px; }
.visual-manifesto-copy { padding:80px 12%; display:flex; flex-direction:column; justify-content:center; }
.visual-manifesto-copy .section-label { color:#d3d6c9; }
.visual-manifesto-copy h2 { font-size:clamp(38px,4.2vw,68px); line-height:1.05; letter-spacing:-2.5px; margin:20px 0 26px; }
.visual-manifesto-copy h2 em { color:#e6ecb7; }
.visual-manifesto-copy p { color:#d0d1c9; max-width:410px; font-size:15px; line-height:1.75; }
.visual-manifesto-copy .text-link { align-self:flex-start; margin-top:32px; color:var(--paper); }
.visual-manifesto-copy .visual-credit { margin-top:36px; color:#acafa4; font-size:9px; letter-spacing:.8px; }
.studio-visual { margin:0 0 65px; height:clamp(300px,48vw,680px); position:relative; overflow:hidden; }
.studio-visual figcaption { position:absolute; left:24px; bottom:24px; background:var(--paper); padding:10px 15px; font-size:10px; }
.blog-cover .service-art.image-art { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; }
.blog-cover .service-art.image-art>.visual-image { width:100%; height:100%; scale:1; }
.blog-cover .cover-signature { background:var(--paper); padding:6px 10px; color:var(--ink); }
.article-hero>.service-art.image-art { width:100%; height:100%; aspect-ratio:auto; }
.article-hero>.service-art.image-art>.visual-image { scale:1; }
@media(min-width:761px) and (max-height:800px) {
 .hero-layout { min-height:0; padding-top:30px; padding-bottom:30px; }
 .hero-visual { height:520px; }
 .hero h1 { font-size:clamp(63px,5.7vw,92px); }
}
@media(max-width:1100px) and (min-width:761px) {
 .hero-layout { grid-template-columns:1fr 1fr; gap:3%; }
 .hero-visual { height:570px; }
 .hero h1 { font-size:clamp(60px,6.5vw,80px); letter-spacing:-4px; }
 .hero-actions { flex-wrap:wrap; gap:18px; }
 .service-grid { grid-template-columns:repeat(2,1fr); }
 .visual-manifesto-copy { padding:50px 10%; }
}
@media(max-width:760px) {
 .hero-layout { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:32px 0 0; gap:30px; }
 .hero h1 { font-size:clamp(52px,13.7vw,88px); letter-spacing:-3.4px; }
 .hero-copy>p { margin-top:22px; font-size:14px; }
 .hero-actions { margin-top:22px; gap:20px; }
 .hero-assurances { margin-top:20px; gap:14px; flex-wrap:wrap; font-size:8px; }
 .hero-visual { height:auto; aspect-ratio:1.18; margin:0 -5.1vw; }
 .hero-visual-note { bottom:14px; left:20px; padding:10px 13px; gap:20px; font-size:8px; }
 .hero-visual-note b { font-size:9px; }
 .hero-bottom { margin-top:0; }
 .service-grid { grid-template-columns:1fr; gap:26px; }
 .service-art.image-art { height:auto; aspect-ratio:1.5; }
 .service-info { padding:24px; }
 .service-info h3 { font-size:26px; }
 .project-grid { grid-template-columns:1fr; gap:35px; }
 .project-card:nth-child(2) { margin-top:0; }
 .project-art.image-art { height:auto; aspect-ratio:1.25; }
 .project-detail .project-art.image-art { aspect-ratio:1.2; }
 .interior-hero { display:flex; flex-direction:column; gap:30px; align-items:stretch; }
 .interior-hero .service-art.image-art { height:auto; aspect-ratio:1.3; }
 .visual-manifesto { grid-template-columns:1fr; min-height:0; }
 .visual-manifesto>figure { height:auto; aspect-ratio:1.25; min-height:0; }
 .visual-manifesto>figure .visual-image { min-height:0; }
 .visual-manifesto-copy { padding:50px 6%; }
 .visual-manifesto-copy h2 { font-size:44px; letter-spacing:-1.8px; }
 .studio-visual { margin-bottom:40px; height:340px; }
 .studio-visual figcaption { left:14px; bottom:14px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .image-art .visual-image { transition:none!important; transform:none!important; } }
