/* Compact photographic layouts; full original work images retain their aspect ratio. */
body{overflow-wrap:break-word}.wrap{padding-top:30px;padding-bottom:30px}h2{font-size:clamp(28px,2.7vw,39px)}.section-head{margin-bottom:22px;gap:20px}.section-head p{margin-top:9px}.header-inner,.v2 .header-inner,.v3 .header-inner{height:88px}.brand img{width:64px;height:64px}.brand span{font-size:20px}.brand small{font-size:12px}.panorama{height:clamp(460px,66svh,590px);min-height:460px;overflow:hidden}.panorama-image,.panorama-image img{width:100%;height:100%;position:absolute;inset:0}.panorama-image img{object-fit:cover;object-position:center 55%}.panorama .panorama-copy{position:absolute!important;inset:auto!important;left:5%!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:min(470px,47%)!important;max-width:470px;padding:26px;background:#faf8f0f5!important;color:#21332c!important;border:1px solid #fff;border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 12px 36px #0002;animation:none}.panorama .panorama-copy h1{font-size:clamp(34px,3.4vw,48px);color:#21332c!important;line-height:1.08}.panorama .panorama-copy p{color:#3d4b42!important;font-size:15px;line-height:1.6;margin:15px 0 20px}.panorama .hero-explore{color:#21332c;margin:12px 0 0;display:flex;width:fit-content;min-height:32px}.v2 .panorama .panorama-copy{background:#fff5e9f7!important;color:#493b2e!important;border-left-color:#82523b}.v2 .panorama .panorama-copy h1,.v2 .panorama .panorama-copy p{color:#493b2e!important}.v3 .panorama .panorama-copy{left:auto!important;right:5%!important;background:#effaf5f7!important;border-left-color:#0a756d}.panorama .button{padding:13px 19px;min-height:48px}.rich-title{height:330px;min-height:0;padding:0!important;overflow:hidden}.rich-title .title-photo,.rich-title .title-photo img{position:absolute;inset:0;width:100%;height:100%}.rich-title .title-photo img{object-fit:cover;object-position:center 55%}.rich-title>div:first-child{position:absolute!important;inset:auto!important;left:5%!important;top:50%!important;transform:translateY(-50%);width:min(650px,65%);max-width:650px;background:#faf8f0f5!important;color:#21332c;padding:23px 28px;border-radius:6px;box-shadow:0 10px 30px #0002}.rich-title h1{font-size:clamp(30px,3.2vw,44px);margin:10px 0;line-height:1.12;color:#21332c}.rich-title p{font-size:15px;line-height:1.55;color:#3d4b42}.rich-title .breadcrumb{font-size:11px;min-height:20px}.service-grid{align-items:start;gap:22px}.card-image,.v2 .service-card .card-image,.v3 .service-card .card-image,.all-services .card-image,.modern-services .service-card:last-child .card-image{height:auto!important;aspect-ratio:auto;background:transparent;overflow:hidden}.card-image img{width:100%;height:auto!important;max-height:none;object-fit:initial!important;transform:none!important}.service-card{background:var(--panel);padding:10px!important;border-radius:6px}.service-card .card-label{padding-top:12px}.service-card h3{font-size:19px}.service-card p{margin:7px 0 4px;font-size:13px}.gallery-grid{display:block;columns:3;column-gap:18px;margin-top:20px}.gallery-item{display:inline-block;width:100%;break-inside:avoid;vertical-align:top;margin:0 0 18px;padding:0;background:transparent}.gallery-grid .gallery-item img,.v2 .gallery-grid .gallery-item img,.work-section .gallery-item:last-child img{width:100%;height:auto!important;object-fit:initial!important;max-height:none;background:transparent}.gallery-item>span{background:var(--bg);min-height:0;padding:12px;font-size:13px}.work-slider>.gallery-grid{display:flex;columns:auto;gap:18px;align-items:flex-start;margin:0}.work-slider .gallery-item{margin:0;flex:0 0 calc((100% - 36px)/3)}.work-slider .gallery-item img{height:auto!important}.story{gap:5%;align-items:center}.story>div:first-child,.detail-visual{background:transparent;max-height:none;overflow:visible;width:fit-content;justify-self:center}.story img,.editorial-row img{height:auto!important;width:100%;max-height:none;object-fit:initial;background:transparent}.story>div:first-child{max-width:330px}.detail-visual>img{width:auto;height:auto;max-width:100%;max-height:490px;object-fit:initial}.editorial-row>div:first-child{max-width:330px;justify-self:center}.editorial-row{gap:6%;padding:25px 0}.detail-main{gap:5%;padding-top:30px;padding-bottom:30px}.detail-main h2{margin-bottom:16px}.detail-main h3{margin-top:20px}.check-list{margin:10px 0 20px}.check-list li{padding:8px 0}.process{gap:6%}.process>div{gap:16px}.process article{padding-bottom:16px}.process p{margin-top:6px}.intro{gap:6%;padding-top:28px;padding-bottom:28px}.intro div>p{margin-top:14px}.planning-blocks{gap:18px}.planning-blocks article{padding:24px}.planning-blocks p{margin-top:14px;line-height:1.7}.faq-section{gap:5%}.faq-list summary{padding:16px 20px}.faq-list details p{padding:0 20px 18px}.inquiry{padding-top:34px;padding-bottom:34px}.inquiry h2{font-size:36px}.inquiry p{margin-top:12px}.design-spotlight,.category-editorial{gap:5%}.design-spotlight p,.category-editorial p{margin:14px 0}.cabinet-feature{position:relative;isolation:isolate;background:#ddd1bd url(cabinet-background-1536.webp) center/cover!important;grid-template-columns:1.35fr .65fr;gap:6%;padding:32px 5%;min-height:0;max-width:none}.cabinet-feature:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7f0e4bf,#f7f0e410);z-index:-1}.cabinet-feature>div:first-child{padding:24px;background:#fff8eef0;border-radius:8px;max-width:650px}.cabinet-feature p{color:#514536;margin:14px 0}.cabinet-feature h2{color:#3b3026}.cabinet-feature .link-pair{gap:4px}.film{width:fit-content;max-width:100%;padding:0;background:transparent!important;justify-self:center;margin-inline:auto}.film video,.film-grid video{display:block;width:auto;height:auto;max-width:100%;max-height:360px;object-fit:initial;background:transparent;border-radius:6px}.film figcaption{padding:8px 12px;font-size:12px;line-height:1.4;background:var(--bg);border-radius:0 0 6px 6px;color:var(--ink)}.film-grid{align-items:start;gap:22px}.video-story{padding-top:30px;padding-bottom:30px;gap:6%}.video-story .film{max-width:100%}.video-story .film video{max-height:340px}.category-section,.services-section,.modern-services,.service-editorial{background:linear-gradient(90deg,#f6f7f0ef,#f6f7f0cf),url(cabinet-background-1536.webp) center/cover}.v2 .service-editorial{background:linear-gradient(90deg,#f4efe7ed,#f4efe7c9),url(cabinet-background-1536.webp) center/cover}.v3 .category-section,.v3 .modern-services{background:linear-gradient(90deg,#f3f8f6ef,#f3f8f6c9),url(cabinet-background-1536.webp) center/cover}.choice>img{height:auto;object-fit:initial}.footer-main{gap:28px}.footer-bottom{margin-top:30px}footer{padding-top:40px}.planning-blocks>*,.detail-main>*,.story>*,.cabinet-feature>*,.faq-section>*,.contact-layout>*{min-width:0}
@media(max-width:1100px){.header-inner{gap:14px}.brand span{font-size:18px}.header-inner nav{gap:14px;font-size:13px}.brand small{font-size:11px}.panorama{height:510px}.panorama .panorama-copy{width:46%!important;padding:23px}.panorama .panorama-copy h1{font-size:39px}.rich-title{height:310px}.gallery-grid{columns:3}.work-slider .gallery-item{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:900px){.header-inner,.v2 .header-inner,.v3 .header-inner{height:80px}.panorama{height:500px;min-height:0}.panorama .panorama-copy{position:absolute!important;top:50%!important;left:4%!important;right:auto!important;width:58%!important;max-width:470px;padding:22px;transform:translateY(-50%)!important;border-radius:8px!important}.panorama .panorama-copy h1{font-size:36px}.panorama .panorama-copy p{font-size:14px}.v3 .panorama .panorama-copy{left:auto!important;right:4%!important}.rich-title>div:first-child{width:75%;max-width:600px;padding:22px}.rich-title h1{font-size:36px}.gallery-grid{columns:2}.cabinet-feature{grid-template-columns:1.3fr .7fr;gap:24px}.cabinet-feature>div:first-child{padding:20px}.film video,.film-grid video{max-height:320px}.story>div:first-child,.editorial-row>div:first-child{max-width:290px}.material-band{padding-top:14px;padding-bottom:14px}.contact-layout{gap:26px}}
@media(max-width:600px){.wrap{padding-top:22px;padding-bottom:22px}.header-inner,.v2 .header-inner,.v3 .header-inner{height:76px}.brand img{width:54px;height:54px}.brand span{font-size:15px}.brand small{font-size:10px}.header-cta{padding:10px 8px}.panorama{height:470px;min-height:470px}.panorama .panorama-copy,.v3 .panorama .panorama-copy{position:absolute!important;top:50%!important;left:5%!important;right:auto!important;width:90%!important;max-width:none;transform:translateY(-50%)!important;padding:20px;border-radius:8px!important}.panorama .panorama-copy h1{font-size:32px;line-height:1.12}.panorama .panorama-copy p{font-size:14px;line-height:1.6;margin:13px 0 17px}.panorama .button{min-height:46px;font-size:13px;padding:12px 17px}.panorama .hero-explore{min-height:32px;font-size:12px;margin-top:8px}.panorama-image,.panorama-image img{height:100%;width:100%}.panorama-image img{object-fit:cover;object-position:55% center}.inspiration-caption{font-size:10px;bottom:9px}.rich-title{height:310px;min-height:310px;padding:0!important}.rich-title>div:first-child{position:absolute!important;top:50%!important;left:5%!important;width:90%;padding:20px;transform:translateY(-50%);border-radius:6px!important}.rich-title .title-photo,.rich-title .title-photo img{height:100%;width:100%}.rich-title .title-photo img{object-fit:cover}.rich-title h1{font-size:30px;line-height:1.12;margin:8px 0}.rich-title p{font-size:14px;line-height:1.5}.rich-title .breadcrumb{min-height:20px;font-size:10px}.section-head{gap:12px;margin-bottom:18px}.section-head h2{font-size:29px}.section-head p{font-size:14px}.section-head>a{padding:7px 0}.service-grid,.service-grid.all-services{gap:16px 12px}.service-card{padding:8px!important}.service-card h3,.all-services .card-label h3{font-size:16px}.card-label{gap:5px}.card-label svg{width:16px}.service-card p{font-size:12px}.gallery-grid,.v2 .gallery-grid{display:block;columns:2;column-gap:12px}.gallery-item{margin-bottom:12px}.gallery-item>span{padding:10px;font-size:12px;min-height:0}.work-slider>.gallery-grid{display:flex;columns:auto}.work-slider .gallery-item{flex-basis:78%;margin:0}.work-slider .section-head{align-items:center}.work-slider .section-head h2{font-size:27px}.work-slider .section-head p{font-size:12px}.story{gap:22px}.story>div:first-child,.editorial-row>div:first-child{max-width:280px;width:fit-content}.story img{height:auto!important;width:100%}.editorial-row{padding:20px 0;gap:20px}.detail-main{gap:22px}.detail-visual>img{max-height:410px;width:auto;max-width:100%;height:auto}.planning-blocks{gap:15px}.planning-blocks article{padding:20px}.planning-blocks h2{font-size:26px}.faq-section{gap:20px}.faq-list summary{padding:16px;font-size:15px}.faq-list details p{padding:0 16px 16px}.cabinet-feature{grid-template-columns:1fr;gap:18px;padding:24px 5%;background-image:url(cabinet-background-600.webp)!important}.cabinet-feature>div:first-child{padding:20px;max-width:none}.cabinet-feature h2{font-size:31px}.cabinet-feature p{font-size:14px}.cabinet-feature>.film{max-width:220px}.film video,.film-grid video{max-height:300px;width:auto;height:auto;max-width:100%}.film-grid{gap:18px 12px}.film-grid .film{align-self:start}.film figcaption{font-size:11px;padding:8px}.process{gap:22px}.inquiry{padding:28px 6%;gap:20px}.inquiry h2{font-size:31px}.design-spotlight,.category-editorial{gap:22px}.contact-panel{padding:22px}.footer-main{gap:25px 18px}footer{padding-top:30px}.services-section,.category-section,.modern-services,.service-editorial{background-size:auto 100%;background-position:center}.hero-explore{display:flex}}
@media(prefers-reduced-motion:reduce){.panorama .panorama-copy{animation:none}.gallery-item,.service-card{transition:none}}

/* Aligned gallery rows across all versions, including legacy editorial overrides. */
body .gallery-grid,body.v2 .gallery-grid{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
body .gallery-grid .gallery-item{display:flex;flex-direction:column;margin:0;grid-column:auto!important;align-self:stretch;width:100%;border:1px solid var(--line);background:var(--bg)}
body .gallery-grid .gallery-item img,body.v2 .gallery-grid .gallery-item img,body .work-section .gallery-item:last-child img{width:100%;height:auto!important;aspect-ratio:3/4;object-fit:contain!important;object-position:center;flex:none}
body .gallery-grid .gallery-item>span{flex:1;min-height:64px;align-items:center;padding:14px;font-size:14px}
body .gallery-grid .gallery-item[hidden]{display:none!important}
body .work-slider>.gallery-grid{display:flex;align-items:stretch;gap:20px}
body .work-slider .gallery-item{flex:0 0 calc((100% - 40px)/3)}
body .video-story{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(24px,5vw,72px);max-width:none;padding:36px max(5%,calc((100vw - 1150px)/2));background:linear-gradient(105deg,#123c4050,#123c4020),url(photo-101-1536.webp) center/cover;color:#173b3e}
.video-story:before{content:'';position:absolute;inset:12px;border:1px solid #ffffff60;pointer-events:none;z-index:-1}
body .video-story>div{padding:clamp(22px,3vw,38px);background:#f5faf6f5;border:1px solid #ffffff;border-radius:12px;box-shadow:0 12px 40px #102b3020;max-width:650px}
body .video-story h2{color:#173b3e;font-size:clamp(28px,3vw,42px);line-height:1.12}
body .video-story p{color:#405856;margin:18px 0;font-size:16px;line-height:1.7}
body .video-story a{color:#173b3e;margin:0}
body .video-story .film{padding:8px;background:#f5faf6!important;border:1px solid #fff;border-radius:14px;box-shadow:0 12px 40px #102b3040}
body .video-story .film video{max-height:350px;border-radius:8px}
.rotating-stripe{position:relative;overflow:hidden;background:var(--accent);color:var(--accent-ink);border-block:1px solid var(--line);padding:17px 0;isolation:isolate}
.stripe-track{display:flex;width:max-content;animation:service-scroll 32s linear infinite}
.stripe-group{display:flex;flex:none;align-items:center}
.stripe-group span{display:flex;align-items:center;gap:36px;padding-right:36px;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:.04em}
.stripe-group span:before{content:'✦';font-size:23px;animation:stripe-turn 8s linear infinite}
.stripe-pause{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:1px solid currentColor;border-radius:50%;background:var(--bg);color:var(--ink);font-weight:bold;box-shadow:0 0 0 8px var(--accent)}
.rotating-stripe:hover .stripe-track,.rotating-stripe:focus-within .stripe-track,.rotating-stripe.is-paused .stripe-track,.rotating-stripe.is-paused .stripe-group span:before{animation-play-state:paused}
@keyframes service-scroll{to{transform:translateX(-50%)}}
@keyframes stripe-turn{to{transform:rotate(360deg)}}
@media(max-width:700px){body .gallery-grid,body.v2 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body .gallery-grid.image-trio,body.v2 .gallery-grid.image-trio{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;gap:12px}body .image-trio .gallery-item{flex:0 0 82%;scroll-snap-align:start}body .work-slider .gallery-item{flex:0 0 82%}body .gallery-grid .gallery-item>span{font-size:12px;min-height:60px;padding:12px}body .video-story{grid-template-columns:1fr;gap:22px;padding:28px 6%;background-image:linear-gradient(105deg,#123c4050,#123c4020),url(photo-101-800.webp)}body .video-story>div{padding:22px;order:-1}body .video-story .film video{max-height:310px}.stripe-group span{font-size:13px;gap:22px;padding-right:22px}.rotating-stripe{padding:13px 0}}
@media(prefers-reduced-motion:reduce){.stripe-track,.stripe-group span:before{animation:none!important}.stripe-pause{display:none}.rotating-stripe{overflow-x:auto}}

/* Full product photography: keep every source edge visible in aligned frames. */
body .gallery-grid .gallery-item img,body.v2 .gallery-grid .gallery-item img,body .work-section .gallery-item:last-child img{background:var(--panel);transform:none!important;object-fit:contain!important;aspect-ratio:3/4}
body .design-spotlight img,body .category-editorial img,body .card-image img,body .story img,body .editorial-row img{height:auto!important;aspect-ratio:auto;object-fit:contain!important;transform:none!important}
body .brand img,body .footer-brand img,body.chooser main>img{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;clip-path:circle(46% at 50% 51%);object-fit:contain}
