/* Shared responsive layer, loaded after the editorial and feature styles. */
.mobile-nav-utility{display:none}
@media(max-width:980px){
  .lux-header .nav{gap:12px;min-height:82px;padding:8px 0}
  .lux-header .wordmark{flex:0 0 96px}
  .lux-header .official-brand-logo{width:96px;max-width:100%}
  .lux-header .nav-tools{margin-left:auto;gap:8px}
  .lux-header .nav-tools .account-link{display:none}
  .lux-header .nav-tools .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .lux-header .nav-links{display:none;position:absolute;inset:100% 0 auto;margin:0;padding:10px 5vw 24px;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;background:#fdfcf8}
  .lux-header .nav-links.open{display:block}
  .lux-header .nav-group>summary{min-height:48px;padding:12px 0;font-size:16px}
  .lux-header .mega{position:static;max-height:none;box-shadow:none;border:0}
  .lux-header .mega-inner{width:100%;padding:8px 0 22px;gap:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lux-header .mega-col{min-width:0}
  .lux-header .mega-feature,.lux-header .mega-heading{display:none}
  .lux-header .mega-col>a{min-height:44px;line-height:1.4;padding:10px 0;overflow-wrap:anywhere}
  .mobile-nav-utility{display:block;border-top:1px solid #d9dcd4;margin-top:12px;padding-top:18px}
  .mobile-nav-utility>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-nav-utility>div>a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid #d8dcd3;border-radius:5px;font-size:14px}
  .mobile-nav-search{display:flex;gap:8px;margin:0 0 16px}
  .mobile-nav-search input{min-width:0;width:100%;font:16px Arial,sans-serif;padding:12px;border:1px solid #ccd0c7;border-radius:5px;background:white}
  .mobile-nav-search button{flex:none;min-height:44px;padding:10px 14px;border:1px solid #ccd0c7;background:#efefeb;border-radius:5px;font:14px Arial,sans-serif}
  body:has(.nav-links.open){overflow:hidden}
  body:has(.nav-links.open) .menu-backdrop{display:block;inset:0;z-index:50}
  body:has(.nav-links.open) #site-chat,body:has(.nav-links.open) .product-concierge,body:has(.nav-links.open) .compare-tray{visibility:hidden;pointer-events:none}
  .atelier-product .product-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .atelier-product .product-info{min-width:0;padding:26px 22px}
  .atelier-product .gallery-wrap{min-width:0;top:90px}
  .atelier-product .product-info h1{font-size:clamp(36px,5vw,54px);overflow-wrap:anywhere}
  .atelier-product .gallery-stage{min-height:0;height:clamp(340px,48vw,500px)}
  .atelier-product .dimensions-heading{flex-wrap:wrap}
  .atelier-product .dimensions-heading h2{flex:1 1 160px}
  .product-action-panel,.product-save-actions,.product-actions,.product-resource-card{min-width:0}
  .product-save-actions{flex-wrap:wrap}
  .workspace-toolbar,.workspace-section-heading,.request-layout{min-width:0}
  .material-config-body .material-category-tiles,.material-config-body .picker-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  body:has(.product-concierge.visible) #site-chat .chat-launch{bottom:calc(100px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
  html{scroll-padding-top:84px}
  .shell{width:calc(100% - 32px);max-width:100%}
  .shell>.shell{width:100%}
  main,main section,main article,main aside,main form,main label,.shell>*{min-width:0}
  main h1,main h2,main h3,main p,main dd,.footer-main a{overflow-wrap:anywhere}
  main input:not([type=checkbox]):not([type=radio]),main select,main textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{min-width:0;max-width:100%;font-size:16px!important}
  input[type=file]{width:100%}
  main .btn,dialog .btn{min-height:46px;white-space:normal;line-height:1.4;justify-content:center;text-align:center}
  main .section-head{gap:16px;flex-wrap:wrap;align-items:flex-start}
  .lux-header .nav{width:calc(100% - 28px);min-height:72px;gap:8px;padding:5px 0;flex-wrap:nowrap}
  .lux-header .wordmark{flex:0 0 88px;min-width:0}
  .lux-header .official-brand-logo{width:88px}
  .lux-header .nav-tools{gap:6px;min-width:0}
  .lux-header .nav-tools>.saved-link,.lux-header .nav-tools>.search-toggle{display:none}
  .lux-header .nav-tools .quote-cart-nav{display:inline-flex;gap:3px;min-width:36px;min-height:44px;justify-content:center;font-size:11px}
  .lux-header .nav-tools .language-switch{padding:2px;gap:2px}
  .lux-header .nav-tools .language-switch button{min-width:29px;min-height:44px;padding:5px;font-size:11px}
  .lux-header .nav-tools .menu-toggle{padding:4px;min-width:44px;font-size:12px;line-height:1.2}
  .lux-header .nav-links{max-height:calc(100dvh - 72px);padding:8px 16px calc(24px + env(safe-area-inset-bottom))}
  .atelier-product .product-topline{padding:16px 0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
  .atelier-product .product-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .atelier-product .gallery-wrap{position:static;padding:0 10px 12px;max-width:100%}
  .atelier-product .gallery-stage{height:clamp(260px,90vw,390px);min-height:0}
  .atelier-product .gallery-open,.atelier-product .surface-product .gallery-open{inset:32px 12px 38px;width:calc(100% - 24px);height:calc(100% - 70px)}
  .atelier-product .gallery-stage .gallery-open img{height:100%;width:100%;max-height:100%;padding:0;object-fit:contain}
  .atelier-product .gallery-editorial-label{top:12px;left:8px;font-size:10px;max-width:calc(100% - 16px)}
  .atelier-product .gallery-prev,.atelier-product .gallery-next{width:44px;height:44px;min-width:44px}
  .atelier-product .gallery-count,.atelier-product .gallery-enlarge{font-size:11px;min-height:36px}
  .atelier-product .gallery-thumbnails{justify-content:flex-start;gap:9px;padding:8px 2px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
  .atelier-product .gallery-thumbnails button{width:56px;height:56px;flex:0 0 56px;scroll-snap-align:start}
  .atelier-product .product-info{padding:24px 0 32px;max-width:100%;width:100%}
  .atelier-product .product-info h1{font-size:clamp(34px,10vw,46px);line-height:1.1;margin:14px 0 18px;word-break:normal}
  .atelier-product .product-intro{font-size:16px;line-height:1.65}
  .atelier-product h2{font-size:clamp(25px,7vw,34px);line-height:1.2}
  .atelier-product .dimensions-heading{gap:12px;align-items:center}
  .atelier-product .dimensions-heading h2{font-size:17px;line-height:1.4;flex:1 1 160px}
  .atelier-product .product-dimensions .specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .atelier-product .product-dimensions .specs dt{font-size:12px}
  .atelier-product .product-dimensions .specs dd{font-size:16px;margin:0}
  .atelier-product .product-dimensions .unit-selector button{min-height:44px;min-width:40px}
  .atelier-product .spec-accordions summary{font-size:18px;padding:14px 0;min-height:48px}
  .atelier-product .product-save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .atelier-product .product-save-actions button,.atelier-product .product-save-actions a{width:100%;min-height:46px;font-size:13px;white-space:normal;padding:10px}
  .atelier-product .product-action-panel .product-actions .btn{font-size:15px;min-height:50px;padding:14px 16px;gap:12px}
  .atelier-product .product-action-panel .product-actions .btn span{flex:none}
  .atelier-product .product-resource-card h2{font-size:22px}
  .atelier-product .resource-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;line-height:1.4}
  .dimension-config{padding:20px 0;margin:20px 0}
  .dimension-config h2{font-size:24px}
  .dimension-mode,.dimension-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dimension-mode button{min-width:0;padding:12px;min-height:84px}
  .dimension-mode strong{font-size:17px;overflow-wrap:anywhere}
  .dimension-mode small{font-size:13px;line-height:1.4}
  .dimension-shapes,.booth-layouts{flex-wrap:wrap;gap:8px}
  .dimension-shapes button,.booth-layouts button{min-width:0;min-height:44px;font-size:14px;padding:10px 12px;white-space:normal}
  .dimension-entry>label{flex-wrap:wrap;gap:8px;font-size:15px}
  .dimension-inputs label{font-size:14px;line-height:1.4}
  .dimension-inputs input{min-height:48px;padding:12px}
  .material-config-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;inset:0;margin:0}
  .material-config-header{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;gap:12px}
  .atelier-product .material-config-header h2,.material-config-header h2{font-size:23px;line-height:1.2;margin:6px 0}
  .material-config-header p:not(.eyebrow){font-size:13px;line-height:1.5}
  .material-config-tabs{padding:10px 16px;gap:7px}
  .material-config-tabs button{min-height:44px;font-size:14px;padding:9px 13px}
  .material-config-body{padding:16px}
  .material-config-body .material-category-tiles,.material-config-body .picker-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .material-config-body .picker-options .visual-swatch,.material-config-body .picker-options img{height:clamp(100px,30vw,150px)}
  .material-option-name,.material-option-type,.material-option-rub{overflow-wrap:anywhere}
  .material-config-footer{flex-direction:column;align-items:stretch;padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:9px}
  .material-config-footer p{font-size:12px;line-height:1.4;max-width:none}
  .material-config-footer .btn{width:100%;min-height:46px;font-size:14px;white-space:normal}
  .finish-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}
  .finish-preview figure{min-width:0;width:100%;max-width:none;margin:0}
  .finish-preview figcaption{font-size:13px}
  .finish-preview figcaption span{font-size:12px;overflow-wrap:anywhere}
  .image-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;padding:12px;border:0}
  .image-dialog[open]{display:flex;flex-direction:column}
  .image-dialog .lightbox-tools{position:static;flex:none;min-height:48px;gap:12px;padding:0 0 10px}
  .image-dialog .lightbox-tools>span{min-width:0;overflow-wrap:anywhere;font-size:14px}
  .image-dialog .lightbox-tools button{min-height:44px;white-space:nowrap}
  .image-dialog .lightbox-stage{position:relative;flex:1;min-height:0;width:100%;height:auto}
  .image-dialog .lightbox-stage img,#project-dialog .lightbox-stage img{max-width:calc(100% - 60px);max-height:100%;width:auto;height:auto;object-fit:contain}
  .image-dialog .lightbox-stage>button{width:44px;height:48px;min-width:44px;font-size:28px}
  .image-dialog #lightbox-count,.image-dialog #project-photo-count{position:static;flex:none;text-align:center;padding:12px 0 calc(8px + env(safe-area-inset-bottom))}
  body:has(.product-concierge){padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .product-concierge{left:0;bottom:0;width:100%;max-width:100%;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;border-radius:0;transform:translateY(120%)}
  .product-concierge.visible{transform:translateY(0)}
  .product-concierge>div{min-width:0;flex:1;gap:6px}
  .product-concierge>div>div{min-width:0}
  .product-concierge img,.product-concierge small{display:none}
  .product-concierge strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
  .product-concierge nav{flex:none;gap:0}
  .product-concierge .btn{min-height:46px;max-width:190px;padding:12px 14px;font-size:14px}
  #site-chat .chat-launch{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;padding:12px 15px;font-size:12px}
  body:has(.product-concierge.visible) #site-chat .chat-launch{bottom:calc(90px + env(safe-area-inset-bottom))}
  .compare-tray{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);flex-wrap:wrap;gap:10px;padding:12px}
  body:has(.product-concierge.visible) .compare-tray{bottom:calc(90px + env(safe-area-inset-bottom))}
  body:has(.compare-tray:not([hidden])) #site-chat .chat-launch{bottom:calc(154px + env(safe-area-inset-bottom))}
  body:has(.product-concierge.visible):has(.compare-tray:not([hidden])) #site-chat .chat-launch{bottom:calc(230px + env(safe-area-inset-bottom))}
  .compare-tray>span{font-size:12px;max-width:none;min-width:0;flex:1 1 120px}
  .compare-tray button{min-width:36px;min-height:44px}
  .site-toast{max-width:calc(100% - 32px);white-space:normal;overflow-wrap:anywhere;bottom:calc(145px + env(safe-area-inset-bottom));text-align:center}
  #site-chat .chat-window{inset:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:none;height:auto}
  #site-chat .chat-content{flex:1;min-height:0}
  #site-chat .chat-close{min-width:44px;min-height:44px}
  #site-chat .chat-name-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .request-heading,.workspace-heading,.showroom-heading{padding:32px 0 26px}
  .request-heading h1,.workspace-heading h1,.showroom-heading h1{font-size:clamp(32px,9vw,44px);line-height:1.1}
  .request-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:50px}
  .request-layout aside{position:static;min-width:0}
  .form-grid,.request-form .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .request-form{gap:20px}
  .request-form label{font-size:14px;line-height:1.5}
  .request-form .consent input{flex:none;width:18px;height:18px;margin:3px 0 0}
  .request-piece>div{min-width:0;overflow-wrap:anywhere}
  .request-piece img{flex:none;width:72px;height:84px}
  .quote-cart-row{grid-template-columns:70px minmax(0,1fr);gap:14px}
  .quote-cart-row>label{grid-column:2;max-width:110px}
  .quote-cart-row>button{grid-column:2;justify-self:start;min-height:44px}
  .quote-cart-row h2{font-size:22px}
  .quote-cart-footer{flex-direction:column;align-items:stretch;gap:20px}
  .quote-cart-footer .btn{width:100%}
  .designer-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .designer-entry-card{padding:22px 16px}
  .designer-entry-card h2{font-size:27px}
  .workspace-toolbar,.workspace-section-heading,.workspace-intro{min-width:0;max-width:100%}
  .workspace-tabs{display:flex;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x proximity;max-width:100%}
  .workspace-tabs button{flex:0 0 106px;min-height:62px;padding:12px 10px;scroll-snap-align:start}
  .workspace-tabs button span{font-size:12px}
  .workspace-form,.workspace-two-col,.planning-grid,.mood-layout,.spec-layout{grid-template-columns:minmax(0,1fr)}
  .workspace-form input,.workspace-form select,.workspace-form textarea,.schedule-picker-controls input,.schedule-picker-controls select{min-height:46px}
  .workspace-form .wide{grid-column:1/-1}
  .project-library{grid-template-columns:minmax(0,1fr)}
  .project-library article,.planning-grid section,.mood-inspector{padding:20px 16px}
  .project-library h3{font-size:25px}
  .schedule-row{grid-template-columns:minmax(0,1fr) 76px;gap:14px;padding:16px 12px}
  .schedule-product{grid-column:1/-1;min-width:0}
  .schedule-product>div{min-width:0;overflow-wrap:anywhere}
  .schedule-product img{flex:none;width:64px;height:74px}
  .schedule-row-actions,.schedule-com{grid-column:1/-1}
  .schedule-row-actions .text-link{min-height:44px;padding:10px 0}
  .schedule-picker-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedule-picker-controls>label:first-child{grid-column:1/-1}
  .schedule-picker .workspace-search-results{grid-template-columns:minmax(0,1fr)}
  .workspace-material-grid,.palette-selected{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-actions{gap:10px;align-items:stretch}
  .pro-actions .btn{min-width:0;flex:1 1 140px;padding:12px}
  .pro-actions select{min-width:0;max-width:100%}
  .product-project-picker{width:calc(100% - 24px);padding:24px 16px;max-height:calc(100dvh - 24px)}
  .product-project-picker h2{font-size:26px}
  .product-project-picker .pro-actions{flex-wrap:wrap}
  .comparison-workspace{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .compare-picker{grid-template-columns:minmax(0,1fr)}
  .project-cover.project-cover-compact{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
  .project-cover.project-cover-compact>img{max-width:100%;max-height:360px}
  .project-cover-compact .project-cover-copy h1{font-size:clamp(32px,9vw,44px);line-height:1.15}
  .project-narrative.shell{grid-template-columns:minmax(0,1fr);gap:25px;padding:30px 0}
  .project-credits>div{grid-template-columns:90px minmax(0,1fr);gap:12px}
  .story-gallery.shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .story-gallery.shell button{min-width:0}
  .project-pieces-heading{display:block}
  .project-pieces-heading h2{font-size:32px}
  .project-pieces-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .project-piece-caption{display:block}
  .project-piece-caption h3{font-size:20px}
  .project-pieces-footer{flex-wrap:wrap;gap:18px}
  .signature-hero .campaign-copy h1{font-size:clamp(40px,11vw,58px);max-width:100%;line-height:1.08}
  .signature-home h2,.signature-materials h2,.signature-home .family-discovery h2{font-size:clamp(32px,8.5vw,44px);line-height:1.15}
  .signature-bespoke h2{font-size:clamp(48px,13vw,72px)}
  .signature-intro p,.spotlight-copy>p:not(.eyebrow),.signature-materials p:not(.eyebrow),.contract-services p{font-size:16px;line-height:1.65}
  .collection-browser .catalog-selects{flex-wrap:wrap;gap:12px}
  .collection-browser .catalog-selects>*{min-width:0;max-width:100%}
  .collection-browser .product-caption h3,.signature-rail .product-caption h3{font-size:18px;line-height:1.3}
  .collection-browser .card-tools button,.signature-rail .card-tools button{min-height:40px;font-size:12px}
  .quick-view-button{min-height:36px;min-width:44px}
  .collection-browser .product-caption p,.signature-rail .product-caption p{font-size:11px}
  .quick-view-dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  .quick-view-content{padding:24px 16px;min-width:0}
  .quick-view-content h2{font-size:34px}
  .quick-view-close{min-width:44px;min-height:44px}
  .atelier-story h1{font-size:clamp(34px,10vw,48px);overflow-wrap:anywhere}
  .atelier-story h2,.capability-grid h2,.capability-process>h2{font-size:clamp(28px,8vw,36px);overflow-wrap:anywhere}
  .capability-grid,.capability-process>div,.contact-support,.showroom-visit{grid-template-columns:minmax(0,1fr)}
  .capability-process{padding:24px 16px}
  .lux-footer{padding-bottom:90px}
  .footer-top{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:30px;margin-bottom:32px}
  .footer-top h2{font-size:clamp(30px,8.5vw,40px);overflow-wrap:anywhere}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .footer-main>.footer-brand{grid-column:1/-1}
  .footer-links a{min-height:42px;padding:9px 0;font-size:14px;line-height:1.5}
  .footer-bottom{gap:14px;font-size:12px;line-height:1.6}
  .lux-footer .footer-utility{width:100%;justify-content:space-between;gap:16px}
  .lux-footer .footer-utility a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:360px){
  .lux-header .nav{gap:5px;width:calc(100% - 24px)}
  .lux-header .wordmark{flex-basis:80px}
  .lux-header .official-brand-logo{width:80px}
  .lux-header .nav-tools{gap:4px}
  .designer-entry-fields{grid-template-columns:minmax(0,1fr)}
  .mobile-nav-utility>div{grid-template-columns:minmax(0,1fr)}
  .material-config-header p:not(.eyebrow){font-size:12px}
  .contract-services,.story-gallery.shell{grid-template-columns:minmax(0,1fr)}
}
