/* Mobile refinement of the established garnet, ivory, and frosted-glass system. */
.mobile-product-dock{display:none}
.mobile-primary-links,.mobile-category-links,.mobile-secondary-links{display:grid;gap:10px}
.mobile-primary-links{grid-template-columns:1fr 1fr;margin-bottom:18px}
.mobile-links .mobile-primary-links a,.mobile-links .mobile-secondary-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:16px;padding:10px 0}
.mobile-links .icon{width:18px;height:18px;flex-shrink:0}
.mobile-category-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-links .mobile-category-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:8px;min-height:122px;padding:12px 14px;background:var(--stone);border:1px solid #fff;border-radius:18px;font-size:14px;line-height:1.4}
.mobile-category-link .product-art{width:100%;height:62px;aspect-ratio:auto;border-radius:9px}
.mobile-category-link .product-art::before{width:75%;left:12.5%}
.mobile-secondary-links{margin-top:18px;gap:0}
.mobile-secondary-links a{border-bottom:1px solid var(--line)}
.mobile-links a:hover{color:var(--red)}
@media(max-width:900px){
  :root{--mobile-gutter:24px;--mobile-space:64px}
  .container{width:calc(100% - var(--mobile-gutter)*2)}
  .hero{padding-top:22px;gap:0}
  .hero-inner,.hero-copy{display:contents}
  .hero .eyebrow,.hero h1,.hero-description,.hero-ctas,.hero-benefits{width:calc(100% - var(--mobile-gutter)*2);margin-inline:auto;max-width:650px;pointer-events:auto}
  .hero .eyebrow{order:0;margin-bottom:12px}
  .hero h1{order:1;font-size:clamp(48px,10vw,76px);line-height:1.04;letter-spacing:-2.6px;margin-bottom:18px}
  .hero-description{order:2;font-size:16px;line-height:1.75;margin-bottom:0}
  .hero-ctas{order:3;display:flex;flex-wrap:nowrap;gap:12px;margin-top:22px}
  .hero-image{order:4;height:clamp(290px,58vw,490px);margin-top:16px;flex:none;background-position:center 60%}
  .hero-benefits{order:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px;margin-bottom:28px;padding-block:18px;border-block:1px solid var(--line)}
  .hero-benefits>div{padding:0!important;border:0;gap:9px;font-size:12px;line-height:1.5}
  .hero-benefits .icon{width:24px;height:24px;flex-shrink:0}
  .categories{padding-top:0;gap:14px}
  .category{border-radius:20px}
  .experience,.comfort-guide,.journal-section{padding-block:var(--mobile-space)}
  .collection,.comparison,.faq-section{padding-bottom:var(--mobile-space)}
  .experience-copy h2,.editorial-heading h2,.collection h2,.comparison>h2,.journal-section h2,.faq-section h2{line-height:1.13;letter-spacing:-1.4px;text-wrap:balance}
  .product-hero{display:flex;flex-direction:column;align-items:stretch;gap:24px}
  .product-intro{display:contents}
  .product-heading{order:-1}
  .product-heading .eyebrow{margin-bottom:8px}
  .product-intro h1{font-size:clamp(34px,6.7vw,52px);line-height:1.12;letter-spacing:-1.5px;text-wrap:balance}
  .product-heading .product-tagline{font-size:18px;line-height:1.6;margin-top:9px}
  .product-gallery{order:0}
  .product-description{order:1;margin:0;max-width:650px;line-height:1.8}
  .product-attributes{order:2;margin:0;gap:8px}
  .product-size-picker{order:3;margin:0;padding-top:22px;scroll-margin-top:112px}
  .product-page-ctas{order:4;margin:0}
  .product-gallery-note{order:5;margin:0}
  .product-stage{aspect-ratio:1.2;border-radius:24px}
  .gallery-controls{margin-top:12px}
  .gallery-option>span{font-size:12px;min-height:44px}
  .product-section-nav{scrollbar-width:thin;scroll-padding-inline:4px}
  .product-section-nav a{min-height:48px}
  .comparison th:first-child{position:sticky;left:0;z-index:1;background:var(--paper);box-shadow:1px 0 0 var(--line)}
  .comparison thead th:first-child{z-index:2}
  .product-highlights li,.faq-list summary{line-height:1.65}
  .footer-main,.footer-links{gap:32px}
}
@media(max-width:600px){
  :root{--mobile-gutter:20px;--mobile-space:56px}
  html{scroll-padding-top:106px}
  .header{top:calc(10px + env(safe-area-inset-top,0px));padding-inline:12px;box-shadow:0 8px 28px #3c2d2610,inset 0 1px 0 #fff}
  .header .icon-button{width:44px;height:44px}
  .hero{padding-top:18px}
  .hero h1{font-size:clamp(43px,12.5vw,64px);letter-spacing:-2px;margin-bottom:15px}
  .hero-description{font-size:15px;line-height:1.75}
  .hero-ctas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
  .hero .button,.hero .text-link{width:100%;min-height:52px;padding:12px 9px;font-size:12px;line-height:1.45;gap:7px;text-align:center}
  .hero .button .icon{width:17px;height:17px;flex-shrink:0}
  .hero-image{height:clamp(250px,72vw,390px);margin-top:8px;background-position:center 62%}
  .hero-benefits{gap:10px;margin-top:0;margin-bottom:24px;padding-block:16px}
  .hero-benefits>div{align-items:center;flex-direction:column;font-size:11px;text-align:center;gap:8px}
  .hero-benefits .icon{width:25px;height:25px}
  .categories{gap:12px}
  .category{height:184px}
  .category h3{font-size:16px;left:15px;top:14px;letter-spacing:-.3px}
  .category .round-button{width:34px;height:34px;bottom:12px;right:12px}
  .category .product-art::before{width:82%;left:9%;top:59%}
  .experience{gap:26px}
  .experience-copy h2,.editorial-heading h2{font-size:36px}
  .experience-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-block:18px 22px}
  .features{gap:24px 16px;padding-top:6px}
  .features>div{align-items:flex-start;gap:10px}
  .features .icon{width:25px;height:25px;flex-shrink:0}
  .features h3{font-size:14px;line-height:1.4}.features p{font-size:12px;line-height:1.65}
  .collection .section-heading{margin-bottom:20px}
  .collection h2{font-size:36px;max-width:360px}
  .collection-controls{justify-content:flex-end;margin-top:14px}
  .product-grid{gap:18px}
  .product-card{border:1px solid #fff;border-radius:22px;background:#f1eeea;box-shadow:0 5px 20px #3c2d2605}
  .product-info{padding:20px;min-height:0}
  .product-info .product-title{display:inline-block;min-height:30px;font-size:21px;line-height:1.4;letter-spacing:-.5px}
  .product-info p{font-size:14px;line-height:1.6;margin-top:3px}
  .product-info .product-explore{display:flex;justify-content:space-between;min-height:44px;margin-top:10px;padding-top:9px;border-top:1px solid #ddd6cf;font-size:14px}
  .immersive-room{min-height:0;height:520px}
  .immersive-room>img{object-position:60% center}
  .room-copy{bottom:38px}.room-copy h2{font-size:39px;letter-spacing:-1.7px}
  .room-copy p{font-size:15px;line-height:1.7;max-width:270px;margin-top:18px}
  .room-copy .button{min-height:50px;margin-top:22px}
  .comfort-options>button{min-height:122px;border-radius:20px}
  .comparison{ text-align:left }
  .comparison>h2,.journal-section h2,.faq-section h2{font-size:34px}
  .comparison th,.comparison td{padding:20px 16px}
  .comparison-scroll{margin-top:24px;border-radius:20px}
  .story-banner{border-radius:22px;min-height:360px}
  .story-copy{padding:22px 12px}.story h2{font-size:34px}.story p:not(.eyebrow){line-height:1.8;max-width:270px}
  .journal-grid{gap:34px}.journal-card img{border-radius:20px;margin-bottom:18px;aspect-ratio:1.5}
  .journal-card h3{font-size:24px;line-height:1.35}.journal-card p{font-size:14px;line-height:1.7}
  .journal-card .product-explore{min-height:44px;margin-top:8px}
  .faq-section{gap:24px}.faq-list details{padding-block:14px}.faq-list summary{min-height:48px;font-size:15px}.faq-list details p{font-size:14px;line-height:1.8;padding-top:10px}
  .services{row-gap:28px;padding-block:32px}.services strong{font-size:14px}.services small{font-size:10px;letter-spacing:.5px}
  footer{padding-top:40px}.footer-links{margin-top:28px;column-gap:24px;row-gap:28px}.footer-bottom{margin-top:26px;line-height:1.7}.preview-note{font-size:11px;line-height:1.8}
  .breadcrumbs{padding-block:8px 18px;font-size:12px}
  .product-hero{gap:22px;padding-bottom:32px}
  .product-intro h1{font-size:39px}
  .product-heading .product-tagline{font-size:17px;line-height:1.6}
  .product-stage{aspect-ratio:1.22}
  .gallery-controls{padding:7px;gap:7px;border-radius:20px}
  .gallery-option .product-art,.gallery-option img{height:76px}
  .gallery-option>span{font-size:11px;line-height:1.4;min-height:44px;padding:6px 3px}
  .product-description{font-size:15px}.product-attributes>span{font-size:12px;line-height:1.5}
  .product-size-picker .size-options{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:24px}
  .product-size-picker .size-option{min-height:48px;padding:10px 3px;font-size:13px}
  .product-size-picker p{font-size:12px;line-height:1.8}
  .product-page-ctas .button{min-height:52px;font-size:14px}
  .product-details{padding-top:48px}.product-details>h2{font-size:32px;text-wrap:balance}
  .product-overview h3,.size-fit-section h3,.product-care>h3,.product-questions>h3{font-size:28px;line-height:1.25;text-wrap:balance}
  .product-overview>div>p:not(.section-note),.size-fit-section>div>p{font-size:15px;line-height:1.8}
  .product-overview>img{border-radius:20px}
  .size-fit-section dl>div{padding-block:18px;font-size:14px;line-height:1.7}
  .related-products .product-info{padding:20px}.related-products .product-info .product-title{font-size:21px}
  dialog,.drawer{padding-inline:20px;border-radius:28px;max-height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
  .modal-header h2{font-size:27px;letter-spacing:-.8px;line-height:1.2}
  .modal-header .icon-button{flex-shrink:0}.search-field{border-radius:16px}
  .search-result{border-radius:16px}.finder-option{border-radius:18px;padding:16px}.finder-option small{line-height:1.6}
  .mobile-product-dock:not([hidden]){display:flex;align-items:center;gap:12px;position:fixed;inset:auto 12px calc(10px + env(safe-area-inset-bottom,0px));z-index:18;padding:10px 12px;border-radius:24px;border:1px solid #fff;background:rgba(247,245,242,.92);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);box-shadow:0 8px 36px #3c2d2626}
  .mobile-product-dock[hidden]{display:none}
  .mobile-product-dock>a{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:44px;font-size:13px;line-height:1.5}
  .mobile-product-dock strong{font-weight:650;overflow-wrap:anywhere}.mobile-product-dock small{font-size:11px;color:var(--muted)}
  .mobile-product-dock .button{min-height:46px;padding:12px 16px;font-size:12px;gap:7px;flex-shrink:0}
  body:has(dialog[open]) .mobile-product-dock{visibility:hidden;pointer-events:none}
  body:has(.mobile-product-dock:not([hidden])) .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:480px){
  .collection .product-grid,.related-products .product-grid{grid-template-columns:minmax(0,1fr)}
  .collection .product-card .product-art,.related-products .product-card .product-art{height:clamp(220px,68vw,320px)}
}
@media(max-width:359px){
  :root{--mobile-gutter:16px}
  .hero h1{font-size:40px;letter-spacing:-1.8px}
  .hero .button,.hero .text-link{font-size:11px;padding-inline:7px;min-height:54px}
  .hero .button .icon{display:none}
  .hero-description{font-size:14px}.hero-image{height:250px}
  .hero-benefits>div{font-size:10px}
  .category{height:165px}.category h3{font-size:14px}.category .round-button{width:30px;height:30px}
  .experience-copy h2,.editorial-heading h2,.collection h2{font-size:32px}
  .features{grid-template-columns:minmax(0,1fr)}.features p{font-size:13px}
  .product-intro h1{font-size:34px}.product-attributes>span{font-size:11px}
  .gallery-option>span{font-size:10px}.gallery-option .product-art,.gallery-option img{height:62px}
  .size-fit-section dl>div{grid-template-columns:1fr;gap:6px}
  .mobile-links .mobile-category-link{font-size:13px;padding:10px;min-height:114px}
  .mobile-product-dock{gap:8px!important;padding:9px!important}.mobile-product-dock .button{font-size:11px;padding-inline:12px}
}
@media(max-width:319px){
  .hero h1{font-size:36px}
  .hero-ctas{grid-template-columns:1fr}
  .product-size-picker .size-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-height:500px) and (max-width:1024px){
  .header{height:62px;top:6px;margin-top:6px;margin-bottom:10px}
  .header .brand-logo{width:72px}
  .hero{padding-top:14px}.hero-image{height:300px}
  dialog,.drawer{max-height:calc(100dvh - 20px);inset:10px 10px auto;margin:0;width:calc(100% - 20px);padding:0 20px 20px}
  .mobile-product-dock{display:none!important}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
  .mobile-product-dock:not([hidden]){background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
}
