/* Phone composition: an edge-to-edge scent setting and two-column shopping. */
.scene-frame,.bedroom-media{display:contents}
.mobile-header-shell,.intro-mobile,.mobile-catalog-link{display:none}
.arrow-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.1em;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:800px){
  html{scroll-padding-top:72px}
  .mobile-header-shell{display:block;position:sticky;top:0;z-index:30;background:#103b2e;color:#fff9eb;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));border-bottom:1px solid #f3e8cd24}
  .mobile-header-shell .header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;width:100%;margin:0}
  .mobile-header-shell .brand{font-size:1.05rem;gap:10px;order:0;margin-right:auto;min-width:0}
  .mobile-header-shell .mobile-catalog-link{display:inline-flex;align-items:center;justify-content:center;order:1;min-height:44px;padding:8px 12px;font-size:.875rem;border:1px solid #f6efd04d;border-radius:24px;background:#ffffff0a;flex:none}
  .mobile-header-shell .brand-seal{height:42px;width:42px;flex:none}
  .mobile-header-shell .brand small{font-size:.625rem;letter-spacing:.16em;margin-top:4px}
  .mobile-header-shell .header nav,.mobile-header-shell .header>.pill{display:none}
  .mobile-header-shell .soundtrack-controls{position:static;inset:auto;width:44px;height:44px;flex:none;order:2;border-color:#f6efd04d;box-shadow:none;background:#ffffff0a}
  .mobile-header-shell .soundtrack-button{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center}
  .mobile-header-shell #soundtrack-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .soundtrack-button[data-playing=false] .sound-waves{opacity:.3}
  .hero{margin:0;padding:0 20px;border-radius:0;background:#103b2e;min-height:0;gap:0;overflow:clip}
  .hero>.shade{display:block;z-index:1;pointer-events:none;background:linear-gradient(180deg,#092b23d9 0%,#092b2390 19%,#092b2314 36%,#092b2388 48%,#092b23e8 68%,#103b2e 100%)}
  .hero-copy,.product-stage,.hero-bottom,.hero .scroll-note{position:relative;z-index:2}
  .hero-copy{margin:24px 0 20px;width:100%;align-self:stretch}
  .hero-copy .eyebrow{font-size:.75rem;letter-spacing:.14em;margin:0 0 12px;color:#e4cea1}
  .hero-copy h1{font-size:clamp(2.7rem,10.2vw,4.8rem);line-height:1.02;margin:0;letter-spacing:-.035em}
  .hero-copy .intro{font-size:.9375rem;line-height:1.55;margin:12px 0 0;color:#e7ebdf}
  .intro-desktop,.hero-ctas{display:none}.intro-mobile{display:inline}
  .product-stage{width:100%;max-width:540px;margin:0 auto;align-self:auto}
  .scene-frame{display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:0;background:transparent;scroll-margin-top:82px}
  .hero[data-mood]>.landscape{position:absolute;inset:0;z-index:0;display:grid;transform:none;filter:none;background:none;pointer-events:none}
  .hero .scent-scene{position:sticky;inset:auto;top:64px;grid-area:1/1;align-self:start;width:100%;height:calc(100svh - 64px);background-position:var(--scene-focus,50%) center;transform-origin:center;animation-name:phone-scene-drift}
  .hero .scent-scene[data-scene=sofitel]{--scene-focus:22%}
  .hero .scent-scene[data-scene=whiteTea]{--scene-focus:42%}
  .hero .scent-scene[data-scene=peony]{--scene-focus:30%}
  .hero .scent-scene[data-scene=vanilla]{--scene-focus:30%}
  .hero .scent-scene[data-scene=spring]{--scene-focus:50%}
  .hero .scent-scene[data-scene=lavender]{--scene-focus:47%}
  .hero .scent-scene[data-scene=bamboo]{--scene-focus:24%}
  .hero .scent-scene[data-scene=pear]{--scene-focus:28%}
  .scene-frame::after{display:none}
  .scene-frame .stage-top{position:absolute;z-index:3;top:12px;left:14px;right:12px;gap:10px;pointer-events:none}
  .scene-frame .stage-top .eyebrow{font-size:.6875rem;letter-spacing:.1em;max-width:220px;line-height:1.5}
  .scene-frame .stage-top .icon-button{pointer-events:auto;width:44px;height:44px;min-height:44px;background:#15342d66;border:1px solid #ffffff70}
  .scene-frame #viewer{position:relative;z-index:2;width:100%;height:clamp(310px,94vw,410px);touch-action:pan-y}
  .stage-actions{display:flex;align-items:center;justify-content:center;gap:0 14px;padding-top:8px;margin:0;flex-wrap:wrap}
  .stage-actions #viewer-hint{width:auto;flex-basis:100%;font-size:.75rem;line-height:1.5;margin:0;color:#d6dfcf}
  .stage-actions .text-button,.stage-actions .mist-button{font-size:.875rem;min-height:44px;padding:8px 14px;margin:0}
  .stage-actions .text-button{border-bottom:0}.stage-actions .mist-button{background:#ffffff12;border-color:#ffffff50}
  .model-note{font-size:.75rem;line-height:1.5;margin:0;color:#bbcdbd}
  .product-stage:has(.label-fallback) .stage-actions,.product-stage:has(.scene-frame.fallback) .stage-actions{visibility:hidden}
  .hero-bottom{margin:18px auto 0;gap:18px;max-width:540px;align-items:stretch}
  .world-picker{max-width:none;text-align:left}
  .world-picker>.eyebrow{font-size:.75rem;letter-spacing:.1em;line-height:1.5;margin:0 0 10px;color:#e5d4b1}
  .worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;background:#082b2180;border-color:#d5ddbe40;backdrop-filter:none}
  .worlds button{min-height:44px;padding:9px 5px;font-size:.875rem;line-height:1.3;gap:7px;border-radius:12px;white-space:normal;text-align:center;transform:none!important}
  .worlds .swatch{width:8px;height:8px}
  .scent-caption{width:100%;max-width:none;align-self:stretch;text-align:left;justify-content:flex-start;gap:12px;margin:0;padding:0 4px}
  .scent-caption h2{font-size:2rem;margin:3px 0 6px}.scent-caption p{font-size:.875rem;line-height:1.6}
  .scent-caption .scent-setting{font-size:.75rem;letter-spacing:.045em;line-height:1.5}
  .hero-bottom .selected-spray{width:100%;max-width:none;margin:0;padding:12px;gap:12px;border-radius:14px;background:#f4efdf;color:#103b2e;border:0}
  .hero-bottom .selected-spray img{width:58px;height:64px;border-radius:8px}
  .hero-bottom .selected-spray small{font-size:.6875rem;letter-spacing:.08em;color:#54634e}
  .hero-bottom .selected-spray strong{font-size:1.55rem;color:#103b2e}
  .hero-bottom .selected-spray span>span{font-size:.75rem;color:#52624e}
  .hero-wordmark{display:none}.scroll-note{margin:18px 0 22px;font-size:.8125rem;min-height:44px;align-items:center}
  .bedroom-section{padding:40px 20px;gap:24px;scroll-margin-top:8px}
  .bedroom-media{display:block;min-width:0;width:100%;max-width:590px;margin:auto;border-radius:20px;overflow:hidden;background:#103b2e}
  .bedroom-media .bedroom-stage{aspect-ratio:1/1.08;border-radius:0;width:100%;margin:0}
  .bedroom-media>.room-controls{position:relative;inset:auto;border-radius:0;padding:10px 10px 12px;margin:0;border:0;background:#103b2e;backdrop-filter:none}
  .bedroom-media:has(.room-fallback)>.room-controls{display:none}
  .room-controls>span{font-size:.75rem;margin-bottom:7px;color:#dce3d2}
  .room-controls>div{gap:8px;flex-wrap:wrap}.room-controls button{font-size:.875rem;min-height:44px;padding:8px 12px}
  .room-scene-tag>span{font-size:.6875rem;line-height:1.4;padding:8px 10px}
  .bedroom-copy h2{font-size:clamp(2.7rem,10vw,3.8rem);margin:12px 0 18px}
  .bedroom-copy>p:not(.eyebrow):not(.room-disclosure){line-height:1.65;margin:0}
  .scents-section{padding:20px 20px 38px}.section-heading{gap:18px;margin-bottom:24px}
  .section-heading h2{font-size:clamp(2.6rem,9vw,3.5rem);line-height:1.05}.section-heading>p{font-size:1rem;line-height:1.6}
  .linen-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:26px 14px}.linen-grid .card-title{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;margin-top:8px;align-items:center}.linen-grid .card-title h3{font-size:1.35rem;line-height:1.2}.linen-grid .round-button{width:44px;height:44px;display:grid;place-items:center}.linen-grid>article>p:last-child{margin-top:8px;font-size:.875rem;line-height:1.5}.linen-grid .eyebrow{font-size:.75rem;letter-spacing:.06em;line-height:1.5}
  .catalog-section{padding:0 20px 40px;scroll-margin-top:8px}
  .catalog-section .section-heading{padding-top:32px;margin-bottom:18px}
  .catalog-section .section-heading>p{display:none}
  .catalog-toolbar{gap:8px;margin-bottom:14px}.catalog-search{width:100%;min-width:0}.catalog-sort{margin-left:auto;font-size:.875rem}
  .category-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;width:100%;max-width:100%;gap:8px;padding:0;margin:0 0 18px;scroll-margin-top:8px}
  .category-button{min-width:0;min-height:44px;font-size:.875rem;line-height:1.3;padding:10px 9px;gap:6px;justify-content:space-between;white-space:normal;border-radius:12px}
  .category-button span{flex:none;font-size:.75rem}
  .catalog-results-bar{margin:12px 0 18px;min-height:24px}.catalog-results-bar p{margin:0}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.catalog-card-copy{padding-top:12px!important;gap:0}.catalog-card h3{font-size:1.4rem;line-height:1.15;margin:7px 0 0}
  .catalog-membership{margin-top:6px}.catalog-scent-notes{margin-top:6px;line-height:1.5}.catalog-card .catalog-summary{margin-top:8px;line-height:1.5}
  .catalog-card-copy>.catalog-card-action{margin-top:12px;min-height:44px;padding-top:8px;padding-bottom:8px;font-size:.875rem;line-height:1.4;white-space:normal;text-align:left}
  .catalog-card .eyebrow{letter-spacing:.07em;line-height:1.5}.catalog-card .catalog-scent-notes{font-size:.875rem;line-height:1.5}.catalog-card .catalog-summary{font-size:.8125rem}
  .linen-browse-controls{padding:12px 0;gap:12px;margin:8px 0}.linen-collection-filters{gap:6px}.linen-collection-button{font-size:.875rem}
  .catalog-more{margin-top:26px}.catalog-footnote{font-size:.75rem;line-height:1.6;margin-top:20px}
  .product-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px}
  .detail-copy{padding:20px}.detail-copy h2{font-size:2rem}.detail-photo img{max-height:290px;object-fit:contain}
  .detail-photo.essential-detail #detail-image{height:290px;max-height:290px;aspect-ratio:auto;object-fit:contain}
  .detail-sound-toggle{margin:0 0 14px}.close-product{position:sticky;top:10px;float:right;margin:10px 10px -56px 0;z-index:5}
  .find-section{padding:40px 22px}.find-section h2{font-size:clamp(2.7rem,10vw,4rem)}
  .brand-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@keyframes phone-scene-drift{from{transform:scale(1.012)}to{transform:scale(1.04)}}
@media(max-width:359px){
  .hero{padding:0 16px}.mobile-header-shell{padding-left:12px;padding-right:12px}.mobile-header-shell .brand{font-size:.95rem;gap:7px}.mobile-header-shell .mobile-catalog-link{padding:8px 10px}.hero-copy h1{font-size:2.65rem}
  .catalog-section,.scents-section{padding-left:16px;padding-right:16px}.catalog-grid,.linen-grid{gap:24px 12px}.linen-grid .card-title{grid-template-columns:1fr}.catalog-card h3{font-size:1.3rem}
  .worlds button{font-size:.8125rem;padding:9px 3px;gap:5px}.room-controls button{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.hero .scent-scene{animation:none;transform:none}}
