/* Phone and touch layouts; loaded last so the original desktop design stays intact. */
@media (max-width:900px) {
  html,body { overflow-x:clip; }
  html { scroll-padding-top:calc(84px + env(safe-area-inset-top)); }
  .site-header,.site-header.scrolled,.site-header.menu-open { height:calc(74px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left)); }
  .site-header .brand.has-logo img { width:172px; max-width:48vw; }
  .desktop-nav { display:none; }
  .catalogue-switcher--desktop { display:none; }
  .menu-toggle { display:block; width:44px; height:44px; padding:5px; }
  .header-actions { gap:8px; }
  .bag-toggle { min-width:44px; min-height:44px; justify-content:center; }
  .bag-label { display:none; }
  .mobile-nav { max-height:calc(100dvh - 74px - env(safe-area-inset-top)); overflow-y:auto; padding:16px 24px 24px; }
  .mobile-nav a,.mobile-nav [data-language-open] { min-height:48px; display:flex; align-items:center; font-size:12px; }
  .mobile-nav [data-language-open] { width:100%; padding:0; border:0; background:none; color:inherit; text-align:left; letter-spacing:.15em; text-transform:uppercase; }
  .mobile-catalogue-switcher { display:block; margin-bottom:7px; padding-bottom:14px; border-bottom:1px solid #a9947138; }
  .mobile-catalogue-switcher>p { margin:0 0 9px; color:#705a39; font-size:8px; font-weight:600; letter-spacing:.17em; }
  .mobile-catalogue-switcher .catalogue-switcher { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .mobile-catalogue-switcher .catalogue-switcher button { min-height:46px; border:1px solid #8c714b; padding:8px 10px; color:#30291f; font-size:10px; font-weight:600; letter-spacing:.09em; opacity:1; }
  .mobile-catalogue-switcher .catalogue-switcher button[aria-pressed="true"] { border-color:#806442; background:#30291f; color:#f1e5d1; opacity:1; }
  .menu-toggle.has-catalogue-notice { position:relative; }
  .menu-toggle.has-catalogue-notice::after { content:""; position:absolute; top:5px; right:2px; width:8px; height:8px; border:1.5px solid var(--signature-sand); border-radius:50%; background:#a83235; box-shadow:0 0 0 1px #6e26264d; }
  .catalogue-notice { display:flex; align-items:center; gap:10px; margin:0 0 8px; padding:11px 13px; border:1px solid #9a80584d; border-left:2px solid #a83235; background:linear-gradient(115deg,#e4d5bc,#eee4d3); color:#30291f; font:italic 17px/1.15 var(--serif); }
  .catalogue-notice[hidden] { display:none!important; }
  .catalogue-notice-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#a83235; }
  .hero-stage { touch-action:pan-y pinch-zoom; }
  /* Keep only the selected bottle in the mobile scene. Hidden 3D slides can
     otherwise remain in Safari's compositor while the carousel changes. */
  .hero-stage .fragrance-slide:not([data-position="active"]) { visibility:hidden; opacity:0; transform:none!important; z-index:0; }
  .hero-stage .fragrance-slide[data-position="active"] { visibility:visible; opacity:1; z-index:3; }
  .hero-stage .fragrance-slide:not([data-position="active"]) .slide-float { animation-play-state:paused; }
  .hero-scroll.scroll-ready .hero { padding-top:calc(87px + env(safe-area-inset-top)); }
  .hero-scroll.scroll-ready .hero-cta { min-height:44px; }
  .hero-edit-tabs { gap:10px; }
  .hero-edit-tabs button { min-height:44px; padding:8px 3px; font-size:11px; }
  .scene-controls #edit-prev,.scene-controls #edit-next,.scene-controls #edit-count { display:none; }
  .scene-controls #motion-toggle { min-width:44px; min-height:44px; }
  .hero-scroll.scroll-ready .scene-controls { bottom:3px; }
  .replay-reveal { min-height:44px; display:grid; place-items:center; }
  .house-strip { gap:12px 18px; }
  .house-strip button { min-height:44px; }
  .collection-toolbar { flex-wrap:wrap; gap:8px; }
  .filters { width:100%; min-width:0; display:flex; justify-content:flex-start; overflow-x:auto; gap:20px; -webkit-overflow-scrolling:touch; }
  .filter { flex:0 0 auto; min-height:48px; padding:12px 0; font-size:12px; }
  .sort-label { margin-left:auto; padding-top:0; }
  .sort-label select,.catalog-price-filter select,#finder-budget { min-height:44px; font-size:16px; max-width:100%; }
  .catalog-price-filter { flex-wrap:wrap; }
  .product-grid { min-width:0; }
  .product-card,.product-info { min-width:0; }
  .product-title-row h3 { font-size:23px; }
  .product-notes { font-size:11px; line-height:1.6; }
  .product-size,.product-house { font-size:10px; line-height:1.5; }
  .quick-add,.card-purchase .product-detail-button { min-height:44px; font-size:10px; }
  .product-family-tag { font-size:8px; }
  .finder-footer label { flex-wrap:wrap; gap:10px; }
  .finder-result { min-width:0; }
  .finder-result h3 { overflow-wrap:anywhere; }
  .dialog-close,.quantity-controls button { min-width:44px; min-height:44px; }
  #product-dialog { height:100dvh; padding-bottom:env(safe-area-inset-bottom); }
  #product-dialog>.dialog-close { top:calc(12px + env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); }
  .pdp-header { height:calc(74px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 68px 0 20px; gap:12px; }
  .pdp-brand img { width:120px; }
  .pdp-review-bag { font-size:11px; min-height:44px; display:flex; align-items:center; }
  .pdp-breadcrumb { flex-wrap:wrap; gap:8px; line-height:1.6; }
  .pdp-breadcrumb a { min-height:44px; display:inline-flex; align-items:center; }
  .pdp-layout { grid-template-columns:minmax(0,1fr); padding-inline:20px; gap:24px; }
  .pdp-gallery { position:relative; top:auto; }
  .pdp-gallery>.product-visual { max-height:350px; }
  .pdp-copy h1 { font-size:42px; }
  .pdp-specs dl>div { font-size:12px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:12px; }
  .pdp-add { min-height:48px; }
  .bag-dialog { width:100%; max-width:100%; max-height:100dvh; padding:24px 20px calc(24px + env(safe-area-inset-bottom)); }
  .bag-item { grid-template-columns:42px minmax(0,1fr); gap:12px; }
  .bag-item .quantity-controls { grid-column:2; justify-self:start; }
  .bag-item h3 { font-size:22px; }
  .whatsapp-contact { bottom:calc(12px + env(safe-area-inset-bottom)); right:max(12px,env(safe-area-inset-right)); min-height:44px; padding:10px 14px; font-size:11px; }
  body.mobile-interactive-section .whatsapp-contact { display:none; }
  .discovery-dock { width:calc(100% - 24px); max-width:400px; bottom:calc(12px + env(safe-area-inset-bottom)); gap:6px; padding:6px; }
  .discovery-dock a { flex:1; min-height:44px; padding:10px 8px; display:flex; justify-content:center; align-items:center; text-align:center; font-size:11px; }
  .discovery-dock>span { display:none; }
  body:has(.discovery-dock:not([hidden])) .whatsapp-contact { bottom:calc(84px + env(safe-area-inset-bottom)); }
  /* Keep note selection and its shortlist in one compact mobile flow. */
  .discovery { padding-block:26px; }
  .discovery-heading { margin-bottom:12px; }
  .discovery-heading>p { margin-top:8px; font-size:9px; }
  .finder-form legend { margin-bottom:8px; font-size:9px; }
  .scent-worlds { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .scent-world:has(.element-art) { min-height:144px; padding:8px 8px 9px; }
  .scent-world:has(.element-art) .world-number { margin-top:86px; font-size:6px; }
  .scent-world:has(.element-art) strong { margin-top:3px; font-size:17px; line-height:1.05; }
  .scent-world:has(.element-art)>span:last-of-type:not(.world-check) { margin-top:3px; font-size:8px; line-height:1.2; }
  .scent-world:has(.element-art) .element-art,
  .scent-world:has(.element-art):hover .element-art,
  .scent-world:has(.element-art) .element-art[data-element-animation],
  .scent-world:has(.element-art):hover .element-art[data-element-animation] { top:7px; left:calc(50% - 40px); width:80px; height:80px; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) { min-height:144px!important; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-number { margin-top:86px!important; }
  .scent-world:has(.element-art[data-element-animation="miss-wood"],.element-art[data-element-animation="miss-wood-campfire"]) .world-number { margin-top:86px; }
  body[data-catalogue="miss"] .world-art--vanilla-orchid { top:7px!important; left:calc(50% - 40px)!important; width:80px!important; height:80px!important; }
  body[data-catalogue="miss"] .world-art--vanilla-orchid .vanilla-orchid-scene { transform:scale(.53) rotateX(calc(var(--tilt-x,0deg)*.45)) rotateY(calc(var(--tilt-y,0deg)*.5)); transform-origin:top center; }
  .finder-footer { margin-top:10px; flex-direction:row; align-items:center; gap:8px; }
  .finder-footer label { flex-wrap:nowrap; justify-content:flex-start; gap:8px; font-size:9px; }
  .finder-footer select { padding:7px 18px 7px 0; font-size:9px; }
  .finder-results { margin-top:12px; padding-top:12px; }
  .finder-results>p { margin-bottom:9px; font-size:19px; line-height:1.2; }
  .finder-grid { grid-template-columns:minmax(0,1fr); gap:7px; margin-bottom:12px; }
  .finder-result { display:grid; grid-template-columns:58px minmax(0,1fr); gap:9px; min-height:82px; padding:7px 9px; }
  .finder-result img { width:54px; height:68px; }
  .finder-result>div { min-width:0; }
  .finder-result small { display:block; overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
  .finder-result h3 { margin:3px 0; font-size:18px; line-height:1.05; }
  .finder-result p { overflow:hidden; margin:0; font-size:8px; line-height:1.2; white-space:nowrap; text-overflow:ellipsis; }
  .finder-result a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; margin-top:4px; padding:8px 0; font-size:8px; }
  .sample-finder-result[data-sample-product="28"]>img,.sample-finder-result[data-sample-product="29"]>img { width:62px; height:42px; flex-basis:62px; margin:0; justify-self:center; }
  .site-footer { padding-bottom:calc(160px + env(safe-area-inset-bottom)); }
  .language-dialog { padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
}
@media (max-width:359px) {
  .product-grid { grid-template-columns:minmax(0,1fr); }
  .product-visual { aspect-ratio:1.15; }
  .scent-world:has(.element-art) { min-height:132px; }
  .scent-world:has(.element-art) .world-number { margin-top:74px; }
  .scent-world:has(.element-art) .element-art,
  .scent-world:has(.element-art):hover .element-art,
  .scent-world:has(.element-art) .element-art[data-element-animation],
  .scent-world:has(.element-art):hover .element-art[data-element-animation] { left:calc(50% - 34px); width:68px; height:68px; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) { min-height:132px!important; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-number { margin-top:74px!important; }
  .scent-world:has(.element-art[data-element-animation="miss-wood"],.element-art[data-element-animation="miss-wood-campfire"]) .world-number { margin-top:74px; }
  body[data-catalogue="miss"] .world-art--vanilla-orchid { left:calc(50% - 34px)!important; width:68px!important; height:68px!important; }
  body[data-catalogue="miss"] .world-art--vanilla-orchid .vanilla-orchid-scene { transform:scale(.45) rotateX(calc(var(--tilt-x,0deg)*.45)) rotateY(calc(var(--tilt-y,0deg)*.5)); }
  .product-title-row { justify-content:space-between; }
  .product-title-row h3 { font-size:28px; }
  .language-panel { padding:22px 18px 18px; }
  .language-panel h2 { font-size:28px; }
  .language-options button { padding:14px 16px; }
  .pdp-brand img { width:100px; }
  .pdp-header { gap:8px; }
  .pdp-review-bag { font-size:10px; }
}
/* Keep the mobile header and the main layout in sync on portrait tablets. */
@media (min-width:761px) and (max-width:900px) {
  .hero { grid-template-columns:minmax(0,1fr); gap:24px; padding:108px 7% 30px; }
  .hero-content { width:100%; max-width:720px; margin-inline:auto; }
  .hero h1 { font-size:clamp(52px,8vw,70px); }
  .hero-description { max-width:520px; }
  .hero-stage { width:min(100%,620px); height:500px; margin-inline:auto; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .product-visual { aspect-ratio:1.05; }
  .product-title-row { flex-wrap:wrap; }
  .product-title-row h3 { font-size:clamp(22px,3vw,27px); }
  .product-notes { font-size:12px; }
  .product-size,.product-house { font-size:11px; }
  .quick-add,.card-purchase .product-detail-button { font-size:11px; }
  .hero-scroll.scroll-ready>.hero {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    gap:14px;
    padding:calc(92px + env(safe-area-inset-top)) 32px 18px;
  }
  .hero-scroll.scroll-ready .hero-content { max-width:720px; align-self:start; }
  .hero-scroll.scroll-ready .hero h1 { font-size:clamp(40px,6vw,58px); line-height:.98; }
  .hero-scroll.scroll-ready .hero h1 br { display:none; }
  .hero-scroll.scroll-ready .hero h1 em { display:inline; margin-left:.15em; }
  .hero-scroll.scroll-ready .hero-eyebrow { margin-bottom:12px; }
  .hero-scroll.scroll-ready .hero-description { display:none; }
  .hero-scroll.scroll-ready .hero-assurance,.hero-scroll.scroll-ready .hero-secondary { display:none; }
  .hero-scroll.scroll-ready .hero-actions { margin-top:12px; }
  .hero-scroll.scroll-ready .hero-cta { min-height:46px; }
  /* The sticky hero has a constrained grid row, so an auto-height stage collapses
     on portrait iPads. Keep a definite stage height for the animated bottle scene. */
  .hero-scroll.scroll-ready .hero-stage { width:min(100%,660px); height:100%; min-height:400px; max-height:780px; justify-self:center; align-self:stretch; border-radius:36% 36% 2px 2px; }
  .hero-scroll.scroll-ready .scene-rig { inset:70px 0 142px; }
  .hero-scroll.scroll-ready .fragrance-slide { inset:3% 20% 2%; }
  .ritual-sauvage { height:80%; top:12%; }
  .ritual-eros { height:68%; top:13%; }
  .ritual-elixir { height:111%; }
  .hero-scroll.scroll-ready .hero-product-copy { left:24px; right:24px; bottom:60px; }
  .hero-scroll.scroll-ready .hero-product-copy h2 { font-size:26px; }
  .hero-scroll.scroll-ready .hero-product-copy>p:last-of-type { max-width:65%; font-size:11px; }
  .hero-scroll.scroll-ready .hero-product-copy>a { font-size:9px; }
  .hero-scroll.scroll-ready .scene-controls { left:24px; right:24px; bottom:5px; }
  .hero-scroll.scroll-ready .scene-progress { left:24px; right:24px; bottom:145px; }
  .hero-scroll.scroll-ready .unfold-caption { left:24px; top:auto; bottom:190px; width:130px; }
}
@media (min-width:761px) and (max-width:1200px) and (orientation:portrait) {
  .hero-scroll.scroll-ready>.hero { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); gap:0; padding:calc(92px + env(safe-area-inset-top)) 32px 18px; }
  .hero-scroll.scroll-ready .hero-content { position:absolute; top:calc(88px + env(safe-area-inset-top)); left:32px; right:32px; z-index:7; max-width:720px; margin-inline:auto; pointer-events:none; }
  .hero-scroll.scroll-ready .hero-content a { pointer-events:auto; }
  .hero-scroll.scroll-ready .hero h1 { font-size:clamp(38px,5.2vw,58px); }
  .hero-scroll.scroll-ready .hero h1 br { display:none; }
  .hero-scroll.scroll-ready .hero h1 em { display:inline; margin-left:.15em; }
  .hero-scroll.scroll-ready .hero-eyebrow { margin-bottom:8px; }
  .hero-scroll.scroll-ready .hero-actions { margin-top:10px; }
  .hero-scroll.scroll-ready .hero-description,.hero-scroll.scroll-ready .hero-assurance,.hero-scroll.scroll-ready .hero-secondary { display:none; }
  .hero-scroll.scroll-ready .hero-stage { width:min(100%,580px); height:76%; min-height:0; max-height:780px; align-self:center; margin:68px auto 0; padding-top:130px; border-radius:48% 48% 2px 2px; }
  .hero-scroll.scroll-ready .stage-edition { display:none; }
  .hero-scroll.scroll-ready .scene-rig { inset:145px 0 135px; }
  .hero-scroll.scroll-ready .fragrance-slide { inset:3% 24% 2%; }
  .ritual-sauvage { height:62%; top:15%; }
  .ritual-eros { height:55%; top:17%; }
  .ritual-elixir { height:92%; }
  .hero-scroll.scroll-ready .hero-product-copy { left:32px; right:32px; bottom:58px; }
  .hero-scroll.scroll-ready .scene-controls { left:32px; right:32px; bottom:5px; }
}
@media (max-width:900px) and (max-height:600px) {
  .hero-scroll.scroll-static>.hero { min-height:0; height:auto; padding:94px 20px 28px; grid-template-columns:minmax(0,1fr); gap:24px; }
  .hero-scroll.scroll-static .hero-content { width:100%; padding:0; text-align:left; }
  .hero-scroll.scroll-static .hero h1 { font-size:clamp(34px,7vw,52px); }
  .hero-scroll.scroll-static .hero-description,.hero-scroll.scroll-static .hero-assurance { display:none; }
  .hero-scroll.scroll-static .hero-stage { width:min(100%,440px); height:470px; margin:auto; }
  .language-logo { width:190px; }
  .language-panel { padding:20px; }
  .language-rule { margin:12px auto; }
  #language-description { margin:12px 0; }
  .language-footnote { margin-top:14px; }
}
@media (max-width:900px) and (orientation:landscape) and (max-height:600px) {
  .hero-scroll.scroll-static>.hero {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    align-items:center;
    gap:clamp(14px,3vw,30px);
    padding:calc(82px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  }
  .hero-scroll.scroll-static .hero-content { width:auto; min-width:0; padding:0; text-align:left; }
  .hero-scroll.scroll-static .hero h1 { font-size:clamp(34px,5.2vw,48px); line-height:1; letter-spacing:.03em; }
  .hero-scroll.scroll-static .hero-eyebrow { margin-bottom:10px; }
  .hero-scroll.scroll-static .hero-actions { justify-content:flex-start; gap:14px; margin-top:14px; }
  .hero-scroll.scroll-static .hero-cta { min-height:44px; margin-top:0; }
  .hero-scroll.scroll-static .hero-stage { width:100%; height:min(62svh,340px); min-height:200px; max-height:340px; margin:0; }
  .hero-scroll.scroll-static .scene-rig { inset:45px 0 105px; }
  .hero-scroll.scroll-static .hero-product-copy { bottom:24px; }
}
@media (hover:none) and (pointer:coarse) {
  .product-visual:hover .bottle,.product-visual:hover .product-photo { transform:none; }
}
/* Keep the required language choice visible without hiding the Home scene. */
@media (max-width:1200px) and (orientation:portrait) {
  .language-dialog {
    position:fixed;
    inset:auto max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    width:auto;
    height:auto;
    max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    margin:0 auto;
    padding:0;
    overflow:auto;
    background:transparent;
  }
  .language-dialog[open] { display:flex; align-items:flex-end; justify-content:center; }
  .language-dialog::backdrop { background:rgba(38,32,23,.12); backdrop-filter:none; }
  .language-panel { width:100%; max-width:520px; padding:18px 22px 14px; background:rgba(235,223,205,.97); box-shadow:0 12px 36px #40332124; }
  .language-logo { width:min(100%,150px); margin:0 auto; }
  .language-rule { margin:9px auto; }
  .language-panel h2 { font-size:clamp(24px,4vw,30px); }
  #language-description { margin:9px 0 12px; }
  .language-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .language-options button { min-height:58px; padding:10px 12px; }
  .language-options strong { font-size:20px; }
  .language-options button>span:last-child { font-size:17px; }
  .language-footnote { margin-top:10px; }
  .catalogue-options { grid-template-columns:minmax(0,1fr); }
  .catalogue-options button { min-height:64px; }
}

/* Keep mobile labels and supporting copy readable on small phone screens. */
@media (max-width:900px) {
  /* Separate the two adjacent card actions and retain touch-sized targets. */
  .card-purchase { gap:10px; }
  .quick-add,.card-purchase .product-detail-button { min-height:44px; }
  .mobile-catalogue-switcher>p,
  .hero-bottom,
  .hero-edition,
  .scroll-invitation,
  .hero-eyebrow,
  .hero-assurance,
  .stage-edition,
  .hero-product-copy>a,
  .hero-edit-tabs button,
  .unfold-caption>span,
  .house-strip>span,
  .collection-heading .eyebrow,
  .product-house,
  .product-size,
  .product-family-tag,
  .quick-add,
  .card-purchase .product-detail-button,
  .collection-foot,
  .collection-more .button,
  .catalog-search select,
  .trust h3,
  .trust p,
  .footer-links,
  .footer-bottom,
  .discovery-dock a,
  .catalogue-kicker,
  .catalogue-footnote,
  .miss-hero-kicker,
  .miss-hero-visual>small,
  .story-film .image-number,
  .catalog-price-filter select,
  .pdp-review-bag { font-size:9px; }
  .hero-cta,.hero-scroll.scroll-ready .hero-cta { font-size:9px; }
  .hero-scroll.scroll-ready .hero-eyebrow,
  .hero-scroll.scroll-ready .hero-product-copy>a,
  .hero-scroll.scroll-ready .stage-edition,
  .hero-scroll.scroll-ready .unfold-caption>span { font-size:9px; }
  .hero-scroll.scroll-ready .replay-reveal { font-size:9px; }
  .hero-edit-tabs button { font-size:10px; }
  .scent-world:has(.element-art) .world-number { font-size:9px; }
  .scent-world:has(.element-art)>span:last-of-type:not(.world-check) { font-size:9px; }
  .finder-result small { font-size:9px; }
  .finder-result p { font-size:9px; }
  .finder-result a { font-size:9px; }
  .miss-price-unlisted { font-size:9px; }
}
@media (max-width:360px) {
  .hero-bottom,.hero-edition,.scroll-invitation,.hero-eyebrow,.hero-assurance,
  .stage-edition,.hero-product-copy>a,.hero-edit-tabs button,.unfold-caption>span,
  .collection-heading .eyebrow,.product-house,.product-size,.product-family-tag,
  .quick-add,.card-purchase .product-detail-button,.collection-foot,.footer-links,
  .footer-bottom,.discovery-dock a,.catalog-search select,.pdp-review-bag { font-size:9px; }
}
body[data-catalogue="miss"] .hero-scroll.scroll-ready { height:196svh; }
@media(max-width:760px){
  body[data-catalogue="miss"] .hero-scroll.scroll-ready { height:184svh; }
  .miss-hero-object { width:100%; }
  .miss-hero-bottle { left:22%; width:56%; height:88%; }
  .miss-hero-can { left:30%; width:40%; height:74%; }
  .miss-story-art { padding:28px 24px; }
  .miss-story-art>strong { font-size:38px; }
}

/* Give the key mobile links and carousel selectors comfortable touch areas. */
@media (max-width:900px) {
  .hero-secondary { display:inline-flex; align-items:center; min-height:44px; padding-inline:4px; }
  .hero-product-copy>a { min-height:44px; align-items:center; padding-block:8px; }
  .house-strip>button { min-width:44px; }
  .hero-edit-tabs button { min-width:44px; padding-inline:6px; }
  .product-title-row h3>a { display:inline-flex; min-height:44px; align-items:center; }
}

/* Short landscape screens need a compact two-column hero without clipped
  labels. Keep the bottle and its description in separate, legible zones. */
@media (orientation:landscape) and (max-width:900px) and (max-height:500px) {
  .hero-scroll.scroll-ready { height:180svh; }
  .hero-scroll.scroll-ready>.hero {
    height:100svh; min-height:0; max-height:none;
    padding:calc(82px + env(safe-area-inset-top)) 18px 16px;
    gap:14px; overflow:hidden; align-items:center;
  }
  .hero-scroll.scroll-ready .hero h1 { font-size:clamp(32px,4.7vw,40px); line-height:.98; }
  .hero-scroll.scroll-ready .hero-eyebrow { margin-bottom:12px; font-size:7px; }
  .hero-scroll.scroll-ready .hero-description,
  .hero-scroll.scroll-ready .hero-assurance,
  .hero-scroll.scroll-ready .hero-secondary,
  .hero-scroll.scroll-ready .hero-editor-note { display:none; }
  .hero-scroll.scroll-ready .hero-actions { margin-top:12px; }
  .hero-scroll.scroll-ready .hero-cta { min-height:44px; padding:10px 13px; gap:12px; font-size:8px; }
  .hero-scroll.scroll-ready .hero-stage {
    height:calc(100svh - 106px - env(safe-area-inset-top));
    min-height:250px; max-height:310px; align-self:center;
  }
  .hero-scroll.scroll-ready .stage-word,
  .hero-scroll.scroll-ready .stage-edition,
  .hero-scroll.scroll-ready .unfold-caption,
  .hero-scroll.scroll-ready .scene-progress,
  .hero-scroll.scroll-ready .replay-reveal { display:none; }
  .hero-scroll.scroll-ready .scene-rig { inset:24px 0 156px; }
  .hero-scroll.scroll-ready .fragrance-slide { inset:5% 31% 5%; }
  .hero-scroll.scroll-ready .hero-product-copy { left:14px; right:14px; bottom:56px; padding-top:8px; }
  .hero-scroll.scroll-ready .hero-product-copy h2 { font-size:21px; margin:4px 0; }
  .hero-scroll.scroll-ready .hero-product-copy>p:last-of-type { display:none; }
  .hero-scroll.scroll-ready .hero-product-copy>a { position:static; display:flex; width:max-content; min-height:44px; margin:2px 0 0 auto; font-size:8px; }
  .hero-scroll.scroll-ready .scene-controls { left:10px; right:10px; bottom:4px; }
  .hero-scroll.scroll-ready .hero-edit-tabs { gap:4px; }
  body[data-catalogue="miss"] .hero-stage .miss-hero-visual { padding:12px; }
  body[data-catalogue="miss"] .miss-hero-kicker { font-size:7px; }
  body[data-catalogue="miss"] .miss-hero-object { width:100%; }
  body[data-catalogue="miss"] .miss-hero-bottle { left:22%; width:56%; height:88%; }
  body[data-catalogue="miss"] .miss-hero-can { left:30%; width:40%; height:74%; }
  body[data-catalogue="miss"] .miss-hero-visual>small { margin-top:4px; font-size:7px; }
}

/* Give the mobile scent films enough room to read while preserving the
  restrained editorial card layout. */
@media (max-width:760px) {
  .scent-world:has(.element-art) .element-art,
  .scent-world:has(.element-art):hover .element-art,
  .scent-world:has(.element-art) .element-art[data-element-animation],
  .scent-world:has(.element-art):hover .element-art[data-element-animation] {
    left:calc(50% - 47px); width:94px; height:94px;
  }
  .scent-world:has(.element-art) .world-number { margin-top:100px; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) { min-height:158px!important; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-art--vanilla-orchid {
    left:calc(50% - 47px)!important; width:94px!important; height:94px!important;
  }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-number { margin-top:100px!important; }
  .scent-world:has(.element-art[data-element-animation="miss-wood"],.element-art[data-element-animation="miss-wood-campfire"]) .world-number { margin-top:100px; }
}

@media (max-width:359px) {
  .scent-world:has(.element-art) .element-art,
  .scent-world:has(.element-art):hover .element-art,
  .scent-world:has(.element-art) .element-art[data-element-animation],
  .scent-world:has(.element-art):hover .element-art[data-element-animation] { left:calc(50% - 38px); width:76px; height:76px; }
  .scent-world:has(.element-art) .world-number { margin-top:82px; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) { min-height:140px!important; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-art--vanilla-orchid { left:calc(50% - 38px)!important; width:76px!important; height:76px!important; }
  body[data-catalogue="miss"] .scent-world:has(.world-art--vanilla-orchid) .world-number { margin-top:82px!important; }
  .scent-world:has(.element-art[data-element-animation="miss-wood"],.element-art[data-element-animation="miss-wood-campfire"]) .world-number { margin-top:82px; }
}
