/* TECH-STACK-01: shared responsive and interaction authority. */
:root{--content-max:1240px;--page-gutter:clamp(20px,3.5vw,48px);--scene-gap:24px;--control-size:44px}
.wrap{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)))}
.hero-top{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
.hero-top>*{min-width:0}
.hero-showcase{display:grid;grid-template-rows:auto auto auto auto;align-content:center;height:auto!important;min-width:0;max-width:100%;overflow:visible!important;isolation:isolate}
.showcase-header{height:auto;min-height:44px;padding:8px 20px;gap:12px;flex-wrap:wrap}
.showcase-slides{height:clamp(300px,27vw,365px);overflow:clip;isolation:isolate}
.showcase-slide .product-visual{position:absolute;inset:8% 12% auto;width:76%;height:62%;margin:0;pointer-events:none}
.showcase-slide .product-visual img{position:static;width:100%;height:100%;object-fit:contain;max-width:100%;animation:none}
.showcase-slide .slide-category{top:10px;left:20px;right:20px;font-size:10px;line-height:1.5}
.showcase-slide .slide-title{left:20px;right:20px;bottom:12px;max-width:none}
.showcase-slide .slide-title h2{font-size:clamp(18px,1.6vw,22px);line-height:1.4;margin-bottom:6px}
.showcase-slide .slide-title>span{font-size:11px;line-height:1.6}
.showcase-footer{height:auto;min-height:48px;margin:0 20px;padding:0;gap:8px 14px;flex-wrap:wrap;border-top:1px solid #ffffff18}
.slide-controls{flex:1 1 220px;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-width:360px}
.slide-controls button{width:100%;min-width:0;min-height:44px;padding:12px 0}
.showcase-footer>.slide-counter{margin-left:auto}
.hero-actions{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 20px 0}
.hero-showcase .hero-actions .floating-tag{position:relative!important;inset:auto!important;display:inline-flex!important;animation:none!important;transform:none!important;min-height:44px;width:auto;max-width:100%;padding:11px 14px;font-size:11px;line-height:1.5;white-space:normal}
.hero-showcase .blue-light,.hero-showcase .stage-orbit,.hero-showcase .blue-sweep,.hero-showcase .product-reflection{pointer-events:none}
.feature-group>summary{transition:background-color 150ms ease,box-shadow 150ms ease;border-radius:10px}
.feature-group[open]>summary{background:#1358ef10;box-shadow:inset 3px 0 #1358ef,0 0 22px #1358ef12}
.feature-group>summary:active{background:#1358ef24}
.feature-group>summary:focus-visible{outline:2px solid #8db8ff;outline-offset:4px;background:#1358ef12}
.feature-group[open]>summary:after{opacity:0}
.feature-body,.feature-group summary>span,.feature-group summary strong,.feature-group summary small{min-width:0;overflow-wrap:break-word}
.feature-group>summary{min-height:112px}
.feature-body h3,.feature-body p,.office-contact,.footer-connect,.legal-document,.legal-section{overflow-wrap:break-word}
.dialog-close,.menu-button,.motion-control{min-width:44px;min-height:44px}
.detail-dialog,.enquiry-dialog,.development-dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-gutter:stable}
.cookie-notice{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.contact-actions,.enquiry-send-actions{flex-wrap:wrap}
.contact-actions .button,.enquiry-send-actions .button{white-space:normal;text-align:center;line-height:1.5}
@media(min-width:768px) and (max-width:1279px){.header nav{display:none}.header-actions .menu-button{display:grid}.hero-top{gap:24px}.showcase-header{padding-inline:16px}.hero-actions{padding-inline:16px}.hero-showcase .hero-actions .floating-tag{font-size:10px;padding-inline:11px}.showcase-footer>span:nth-child(2){display:none}.showcase-slides{height:320px}}
@media(min-width:768px) and (max-width:1023px){.hero-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy h1{font-size:clamp(44px,5.5vw,55px)}.hero-showcase .hero-actions{gap:8px}.hero-showcase .hero-actions .floating-tag{font-size:10px}.feature-group summary strong{font-size:23px}.feature-status{font-size:9px}}
@media(max-width:767px){
 .hero-top{grid-template-columns:minmax(0,1fr);gap:28px}
 .hero-showcase{width:100%;margin:0}
 .showcase-slides{height:320px}
 .showcase-header{padding-inline:8px}.showcase-footer{margin-inline:8px}.hero-actions{padding-inline:8px;gap:10px}
 .hero-showcase .hero-actions .floating-tag{flex:1 1 140px;justify-content:center;font-size:11px;padding-inline:10px}
 .showcase-slide .slide-category,.showcase-slide .slide-title{left:12px;right:12px}
 .header{gap:8px}.header nav,.header-actions>.button{display:none}.header-actions .menu-button{display:grid}.header-actions{gap:6px}
 .header .brand{width:clamp(165px,48vw,200px)}
 .feature-group>summary{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:10px;padding:24px 10px}
 .feature-group summary>span:nth-child(2){grid-column:2;grid-row:1}.feature-number{width:auto;grid-row:1}.feature-expand{grid-column:3;grid-row:1}
 .feature-status{grid-column:2;grid-row:2;justify-self:start;margin:0;font-size:9px}
 .feature-group summary strong{font-size:22px}.feature-group summary small{font-size:13px;max-width:none}
 .feature-body{grid-template-columns:minmax(0,1fr);padding:20px 16px 32px 44px;gap:24px}
 .enquiry-content{padding:64px 20px 24px}.enquiry-row{grid-template-columns:minmax(0,1fr)}
 .detail-dialog[open]{grid-template-columns:minmax(0,1fr)}
 #query,#enquiry-form input,#enquiry-form select{font-size:16px}
 .detail-copy,.detail-media{min-width:0}.variant-heading{flex-wrap:wrap}
 .legal-header{height:auto;min-height:80px;flex-wrap:wrap;padding-block:18px}.legal-header nav{display:flex;flex-wrap:wrap;gap:8px 18px;width:100%}
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:28px}.legal-toc{position:static}
}
@media(max-width:479px){.showcase-slides{height:300px}.hero-actions{padding-top:12px}.hero-showcase .hero-actions .floating-tag{font-size:10px}.hero-copy h1{font-size:clamp(40px,11vw,52px)}.footer-grid{grid-template-columns:minmax(0,1fr);gap:26px}.footer-brand{grid-column:auto}.footer-connect>a{font-size:13px}.variant-options{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-body{padding-left:20px}.legal-hero h1{font-size:clamp(36px,10vw,46px)}}
@media(min-width:1536px){.hero-top{gap:48px}.showcase-slides{height:365px}}
@media(hover:none),(pointer:coarse){.button:active,.quick-start button:active,.category-filters button:active,.sourcing-modes button:active,.variant-option:active{background-color:#1358ef30;transform:none}.feature-group[open]>summary{background:#1358ef14}}
@media(prefers-reduced-motion:reduce){.feature-group>summary,.feature-group>summary:after{transition:none!important;animation:none!important}.hero-showcase .product-visual,.hero-showcase .product-reflection:before{animation:none!important;transform:none!important}}
@media(max-height:500px){.detail-dialog,.enquiry-dialog,.development-dialog{max-height:calc(100dvh - 16px);margin:8px auto}.cookie-notice{bottom:8px;max-height:calc(100dvh - 16px)}}
