/* Fluid phone and tablet layouts, including narrow and landscape viewports. */
html{ -webkit-text-size-adjust:100%;text-size-adjust:100% }
main,section,.product-gallery,.product-intro,.product-overview>div,.size-fit-section>div,.cart-row-content{min-width:0}
input,textarea,select{font:inherit}
.toast{white-space:normal;text-align:center;overflow-wrap:anywhere;bottom:calc(20px + env(safe-area-inset-bottom,0px))}
dialog{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.drawer{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.selection-summary,.saved-title{overflow-wrap:anywhere}
@media(max-width:1024px){
  .desktop-nav{display:none}.mobile-menu{display:grid}
  .header{height:88px;gap:12px}.header-actions{gap:4px;flex-shrink:0}
  .icon-button{width:44px;height:44px}.icon-button .icon{width:23px;height:23px}
  .round-button{width:44px;height:44px}.collection-controls .round-button{width:44px;height:44px}
  .button{min-height:48px;font-size:14px;white-space:normal}
  .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.6}
  .product-explore{min-height:44px;font-size:14px;gap:10px}
  .product-info .product-title{font-size:18px;line-height:1.5}
  .product-info p{font-size:14px;line-height:1.7}
  .product-info{padding:20px;min-height:170px}
  .footer-links a,.footer-links button{font-size:14px;line-height:1.6;min-height:44px;display:flex;align-items:center;margin-bottom:0}
  .footer-links h3{font-size:15px}.footer-bottom,.preview-note{font-size:12px;line-height:1.8}
  .faq-list summary{min-height:44px;font-size:15px;line-height:1.7}.faq-list details p{font-size:14px}
  .search-field,.copy-selection{font-size:16px}.search-result strong{font-size:16px}.search-result small{font-size:13px}
  .finder-option{min-height:64px;font-size:16px}.finder-option small{font-size:13px}
  .shortlist-row-actions>a,.shortlist-row-actions>button{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
  .selection-summary a{font-size:14px;min-height:44px}.cart-row small{font-size:13px}
  .journal-row strong{font-size:16px}.journal-row small{font-size:13px}
  .modal-header .icon-button{width:44px;height:44px}
  .mobile-links a{font-size:19px;min-height:52px}
  .brand{min-height:44px}
}
@media(min-width:901px) and (max-width:1024px){
  .hero h1{font-size:clamp(58px,6.5vw,68px);letter-spacing:-3px}
  .hero-copy{max-width:52%}.hero-image{width:65%;right:-10%}
  .hero-benefits{flex-wrap:wrap;gap:18px 0}.hero-description{font-size:16px}
}
@media(max-width:900px){
  .container{width:calc(100% - 48px)}
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-inner{order:0;position:relative;padding-top:30px;padding-bottom:24px}
  .hero-copy{width:100%;max-width:650px}
  .hero h1{font-size:clamp(42px,11vw,76px);letter-spacing:-2.4px;line-height:1.06}
  .hero-description{font-size:16px;line-height:1.8;max-width:530px}
  .hero-ctas{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
  .hero .button{font-size:14px;min-height:48px;padding:14px 23px}
  .hero .text-link{font-size:14px;max-width:none;min-height:44px}
  .hero-benefits{position:static;max-width:100%;justify-content:flex-start;flex-wrap:wrap;gap:14px 0;margin-top:25px}
  .hero-benefits>div{font-size:12px;gap:9px;padding-inline:15px;white-space:normal}
  .hero-benefits .icon{width:26px;height:26px}
  .hero-image{order:1;position:relative;inset:auto;width:100%;height:clamp(280px,66vw,510px);background-position:center 58%;mask-image:linear-gradient(to bottom,transparent,black 10%,black 95%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 10%,black 95%,transparent)}
  .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px}
  .category{height:clamp(160px,29vw,230px)}.category h3{font-size:18px;max-width:calc(100% - 32px);left:16px;top:16px;line-height:1.4}
  .category .round-button{width:36px;height:36px;right:12px;bottom:12px}
  .experience{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-block:64px}
  .bedroom-image{height:auto;aspect-ratio:1.5;object-fit:cover}
  .experience-copy h2{font-size:clamp(36px,6vw,49px)}.experience-copy>p:not(.eyebrow){font-size:16px;max-width:600px;line-height:1.85}
  .experience .button{font-size:14px;min-height:48px}
  .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.features>div{border:0;padding:0;gap:15px}
  .features h3{font-size:15px}.features p{font-size:13px;max-width:none}.features .icon{width:29px;height:29px}
  .collection h2{font-size:clamp(31px,5.5vw,44px);max-width:none}.section-heading{gap:20px;flex-wrap:wrap}
  .collection-controls{align-self:auto}.collection-status{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px}.collection-status .text-link{font-size:14px}
  .editorial-heading{grid-template-columns:1fr;gap:24px}.editorial-heading h2{font-size:clamp(36px,6vw,52px)}.editorial-heading p{font-size:17px}
  .comfort-options{grid-template-columns:1fr;gap:14px}.comfort-options>button{padding:25px 70px 25px 87px;min-height:130px}
  .comfort-options>button>.icon{position:absolute;left:25px;top:31px;width:34px;height:34px;margin:0}
  .comfort-options h3{font-size:26px}.comfort-options p{font-size:14px;max-width:none;line-height:1.7}.comfort-options .round-button{right:20px;bottom:26px;width:36px;height:36px}
  .journal-grid{grid-template-columns:1fr;gap:38px}.journal-card img{height:auto;aspect-ratio:1.6}
  .journal-card h3{font-size:25px}.journal-card p{font-size:14px}.journal-card .product-explore{font-size:14px}
  .product-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:35px;align-items:start}
  .product-stage{height:auto;aspect-ratio:1.18}.product-stage .product-art::before{width:85%;left:7.5%}
  .gallery-controls{gap:12px}.gallery-option .product-art,.gallery-option img{height:clamp(75px,18vw,130px)}
  .gallery-option>span{font-size:12px;line-height:1.5;min-height:44px;display:grid;place-items:center;padding:7px 4px}
  .product-intro h1{font-size:clamp(36px,7vw,52px);letter-spacing:-1.5px;overflow-wrap:break-word}
  .product-tagline{font-size:20px}.product-description{font-size:16px;max-width:650px;line-height:1.85}
  .product-attributes{gap:9px}.product-attributes>span{font-size:12px;padding:9px 12px}.product-attributes .icon{width:18px;height:18px}
  .product-size-picker h2{font-size:15px}.product-size-picker .size-option{font-size:14px;min-height:48px;padding:12px 6px}
  .product-size-picker p{font-size:13px;max-width:600px}.product-page-ctas .button{font-size:14px;min-height:50px}
  .product-gallery-note{font-size:12px;line-height:1.7}
  .product-facts h2{font-size:19px}.product-facts p{font-size:14px;line-height:1.7}
  .product-section-nav{overflow-x:auto;gap:22px;overscroll-behavior-x:contain;padding-top:20px}
  .product-section-nav a{font-size:14px;min-height:48px;display:flex;align-items:center;white-space:nowrap;padding-block:8px;flex-shrink:0}
  .product-overview{display:flex;flex-direction:column;align-items:stretch;gap:30px}.product-overview>img{height:auto;aspect-ratio:1.5}
  .product-overview>div>p:not(.section-note),.size-fit-section>div>p{font-size:16px;line-height:1.85}
  .product-highlights li{font-size:14px;line-height:1.8}.product-highlights .icon{margin-top:4px}
  .size-fit-section{display:block}.size-fit-section dl{margin-top:25px}.size-fit-section dl>div{font-size:14px;grid-template-columns:1fr 1.2fr;gap:20px}
  .product-care>p{font-size:15px}.care-steps{grid-template-columns:1fr;gap:25px}.care-steps>div{border:0;padding:0;gap:18px}
  .care-steps h4{font-size:16px}.care-steps p{font-size:14px}.section-note{font-size:12px!important}
  .related-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-products .product-info{padding:20px}.related-products .product-title{font-size:18px}.related-products .product-info p{font-size:14px}.related-products .product-explore{font-size:14px}
}
@media(max-width:600px){
  .container{width:calc(100% - 32px)}.header{height:80px}.brand{gap:6px}.brand-mark{width:32px}.brand-type{font-size:24px}.brand-type small{font-size:6px;letter-spacing:3px}.header-actions{gap:0}
  .hero-inner{padding-top:24px}.eyebrow{font-size:9px;line-height:1.8;letter-spacing:2px}.hero .eyebrow{margin-bottom:16px}
  .hero-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
  .hero-benefits>div{flex-direction:column;align-items:flex-start;gap:8px;border:0;padding:0!important;font-size:11px;line-height:1.7}
  .hero-benefits .icon{width:26px;height:26px}.hero-image{height:clamp(280px,80vw,430px)}
  .categories{gap:12px}.category h3{font-size:16px}.category{height:180px}
  .collection .section-heading{display:block}.collection-controls{margin-top:20px}.collection-controls .round-button{width:44px;height:44px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card .product-art{height:clamp(165px,42vw,240px)}
  .product-info{padding:16px 12px;min-height:178px}.product-info .product-title{font-size:16px}.product-info p{font-size:13px;min-height:0;max-width:none}.product-explore{font-size:13px;margin-top:12px}
  .immersive-room{height:clamp(470px,145vw,620px)}.room-copy h2{font-size:clamp(34px,9vw,46px);line-height:1.15}.room-copy p{font-size:15px}.button-light{font-size:14px}
  .comfort-guide,.journal-section{padding-block:60px}.editorial-heading p{font-size:16px}.editorial-heading .button{font-size:14px}
  .comfort-options>button{padding:24px 56px 24px 70px}.comfort-options>button>.icon{left:20px;top:30px;width:29px;height:29px}.comfort-options .round-button{right:14px;width:32px;height:32px}
  .comparison>h2,.journal-section h2,.faq-section h2{font-size:34px;line-height:1.2}.comparison>p:not(.section-note),.journal-section .section-heading p,.faq-section>div>p{font-size:15px}
  .comparison-scroll{scrollbar-width:thin}.comparison th,.comparison td{font-size:14px}.comparison .product-explore{font-size:14px}
  .story h2{font-size:34px;line-height:1.2}.story p:not(.eyebrow){font-size:14px}.story .button{font-size:14px}
  .journal-card h3{font-size:23px}.faq-list details{padding-block:15px}
  .services strong{font-size:14px}.services small{font-size:10px;letter-spacing:.5px;line-height:1.8}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-main>div>p{font-size:14px}.footer-bottom{flex-wrap:wrap;gap:8px}
  .breadcrumbs{font-size:12px;line-height:1.8;gap:8px;padding-block:13px 22px}
  .product-hero{padding-bottom:38px}.product-stage{aspect-ratio:1.1}.gallery-controls{gap:8px}.gallery-option>span{font-size:11px}
  .product-tagline{font-size:18px;line-height:1.7}.product-description{font-size:16px}.product-attributes>span{font-size:11px;padding:9px 10px}
  .product-facts .container{grid-template-columns:1fr}.product-facts .container>div{display:grid;grid-template-columns:30px 1fr;gap:5px 17px;padding:18px 0;text-align:left;border-right:0;border-bottom:1px solid #d8d1ca}
  .product-facts .icon{grid-row:span 2;margin:3px 0 0;width:28px;height:28px}.product-facts h2{font-size:18px}.product-facts p{font-size:14px;margin:0}.product-facts{padding-block:8px}
  .product-details>h2{font-size:32px;line-height:1.3}.product-overview h3,.size-fit-section h3,.product-care>h3,.product-questions>h3{font-size:27px}
  .size-fit-section dl>div{font-size:13px;gap:14px}.related-products .product-grid{grid-template-columns:1fr}.related-products .product-art{height:clamp(240px,72vw,350px)}
  .related-products .section-heading{display:block}.related-products h2{font-size:31px;line-height:1.3}
  dialog{width:calc(100% - 24px);padding:20px;max-width:620px}.modal-header{gap:10px}.modal-header h2{font-size:24px;line-height:1.2}
  .drawer{width:100%;padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px));max-width:455px}
  .cart-row{gap:12px}.cart-row .product-art{width:75px;height:88px}.saved-title{font-size:16px}
  .shortlist-row-actions{flex-wrap:wrap;gap:0 16px;margin-top:4px}.selection-summary{grid-template-columns:minmax(0,1fr);gap:4px}.selection-summary>span{font-size:14px}
  .toast{max-width:calc(100% - 24px);width:max-content;font-size:13px;border-radius:16px;padding:12px 16px}
}
@media(max-width:359px){
  .header{gap:6px}.brand-mark{width:28px}.brand-type{font-size:21px}.brand-type small{font-size:5px;letter-spacing:2.8px}
  .hero h1{font-size:40px;letter-spacing:-1.9px}.hero .button{width:100%}.hero-ctas{gap:8px}.hero-description{font-size:15px}
  .category h3{font-size:14px}.category .round-button{width:30px;height:30px}.category{height:170px}
  .collection .product-grid{grid-template-columns:1fr}.collection .product-card .product-art{height:240px}.product-info{padding:18px;min-height:150px}
  .comfort-options p{font-size:13px}.product-attributes>span{font-size:10px}
  .product-size-picker .size-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-option>span{font-size:10px}.size-fit-section dl>div{grid-template-columns:1fr;gap:6px}
}
@media(max-height:500px) and (max-width:1024px){
  .header{height:70px}.product-stage{aspect-ratio:1.7}.hero-image{height:300px}
  dialog{max-height:calc(100dvh - 16px);margin:8px auto;padding:16px}.drawer{margin:0;max-height:100dvh;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .article-image{height:150px}.modal-header{margin-bottom:15px}
}
