/* One compact layout layer, after all editorial and catalog styles. */
.menu-toggle{display:none}

@media(max-width:900px){
  html{scroll-padding-top:24px}
  body{min-width:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main,main>section,footer,dialog{min-width:0;max-width:100%}
  :is(.brand-intro,.collection-grid,.shop-grid,.creators-heading,.creator-grid,.fragrance-house,.craft-botanical,.craft-paper,.story,.discover-editions,.product-layout,.product-options,.design-grid)>*{min-width:0}
  .ui-icon{flex-shrink:0}
  .button,.text-link{max-width:100%;white-space:normal}
  :is(input,select,textarea){font-size:1rem}
  .announcement{min-height:0;height:auto;padding:9px 5%;justify-content:center;gap:3px 16px;text-align:center;font-size:.75rem;line-height:1.5;letter-spacing:.015em}
  .announcement span{font-size:.75rem;line-height:1.5;letter-spacing:0}

  /* Bag stays available; navigation and languages open together below it. */
  header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;height:auto;min-height:80px;padding:10px 5%;gap:0 14px}
  header .wordmark{grid-column:1;grid-row:1;justify-self:start;min-width:0;line-height:1}
  header .wordmark img{display:block;width:76px;height:auto;max-width:100%}
  header .header-actions{display:contents}
  header .bag-button{grid-column:2;grid-row:1;font-size:.875rem;letter-spacing:0;min-height:44px;padding:8px 0}
  header .bag-button span{font-size:.875rem;margin-left:6px}
  header .language-switch{grid-column:1/-1;grid-row:3;justify-content:flex-start;gap:12px;border-top:1px solid #d4cbb9;padding-top:10px;margin-top:6px}
  header .language-switch button{min-width:48px;min-height:44px;padding:10px 8px;font-size:.875rem}
  header #primary-navigation{grid-column:1/-1;grid-row:2;order:initial;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;width:100%;padding:16px 0 8px;margin-top:10px;border-top:1px solid #d4cbb9;font-size:1rem;line-height:1.5;white-space:normal;overflow:visible}
  header #primary-navigation a{display:flex;align-items:center;min-height:48px;padding:10px 0;overflow-wrap:break-word}
  .mobile-navigation-ready header:not(.is-menu-open) #primary-navigation,.mobile-navigation-ready header:not(.is-menu-open) .language-switch{display:none}
  .mobile-navigation-ready header .menu-toggle{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:10px;color:#4f4f4f}
  .menu-toggle span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

  /* Text and its image travel together in a single reading column. */
  .brand-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:34px 6% 38px}
  html[lang] .brand-intro h1{font-size:clamp(1.9rem,6.4vw,2.8rem);line-height:1.14}
  html[lang] .brand-intro h1 em{font-size:.76em;line-height:1.35;margin-top:14px}
  .brand-intro-copy p{font-size:1rem;line-height:1.8;max-width:58ch}
  .brand-intro .eyebrow{font-size:.75rem;line-height:1.65;letter-spacing:.035em}
  .section,#collections,#craft,#discover,#story,.scent-section,.creators{padding:54px 6%}
  html[lang] :is(.section-heading h2,.shop-heading h2,.scent-intro h2,.creators-heading h2){font-size:clamp(1.85rem,6.1vw,2.6rem);line-height:1.2}
  html[lang] :is(.section-heading h2 em,.shop-heading h2 em,.scent-intro h2 em,.creators-heading h2 em){font-size:.76em;line-height:1.4;margin-top:12px}
  .section-heading,.shop-heading,.creators-heading{margin-bottom:32px}
  #collections .section-heading,#craft .craft-heading,.creators-heading{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
  #collections .section-heading{margin-bottom:34px}
  #collections .section-heading>.eyebrow,#craft .craft-heading>.eyebrow{grid-column:auto;margin:0}
  #collections .section-heading>p:last-child,#craft .craft-heading>p:last-child,.creators-intro{max-width:58ch;font-size:1rem;line-height:1.8}
  .collection-grid{grid-template-columns:minmax(0,1fr);gap:50px}
  .collection-card{display:block;grid-row:auto;grid-template-rows:none}
  #collections .collection-image{aspect-ratio:1.55;margin-bottom:24px}
  #collections .collection-image img{padding:0;object-fit:contain}
  .collection-title{margin:0;padding-top:22px}
  html[lang] .collection-title h3{font-size:clamp(1.85rem,6.7vw,2.7rem);line-height:1.18;min-height:0}
  .collection-card>.collection-credit{margin:14px 0 22px;font-size:.875rem;line-height:1.65}
  .collection-copy{max-width:58ch;padding-bottom:20px}
  html[lang] .collection-copy p{font-size:1rem;line-height:1.8;margin-bottom:18px}
  html[lang] .collection-copy .collection-lead{font-size:1.1875rem;line-height:1.5;margin-bottom:20px}
  .collection-card>.text-link{min-height:44px;font-size:.875rem;gap:22px}

  /* All campaigns share the same image and copy tracks, including the artist. */
  .campaign-portraits .campaign-stage{--campaign-min-height:0px;--mobile-art-height:clamp(270px,82vw,460px);display:grid;grid-template-columns:minmax(0,1fr);height:auto;max-height:none;min-height:0;aspect-ratio:auto;background:#3b3025}
  .campaign-portraits .campaign-slide{display:flex;flex-direction:column;grid-area:1/1;min-width:0;min-height:0}
  .campaign-portraits .portrait-frame,.campaign-portraits .artist-frame{position:relative;inset:auto;flex:none;width:100%;height:var(--mobile-art-height);overflow:hidden;z-index:0}
  .campaign-portraits .portrait-copy,.campaign-portraits .artist-campaign-copy{position:relative;inset:auto;flex:1;width:auto;max-width:none;min-width:0;margin:0;padding:28px 6% 24px;background:#3b3025}
  .campaign-portraits .portrait-copy h2,.campaign-portraits .artist-campaign-copy h2{font-size:clamp(2.4rem,9.8vw,3.8rem);line-height:1.12;overflow-wrap:normal}
  .campaign-portraits .portrait-copy h2 em{font-size:1.05em;line-height:1.3}
  .campaign-portraits .campaign-introduction,.campaign-portraits .artist-campaign-copy .campaign-verse{font-size:1rem;line-height:1.7;letter-spacing:0;min-height:0;max-width:40ch;margin:18px 0 0}
  .campaign-portraits .campaign-translations{min-height:0;max-width:42ch;margin:18px 0}
  .campaign-portraits .campaign-translations p{font-size:.8125rem;line-height:1.85}
  .campaign-portraits .campaign-poem-credit{display:flex;flex-direction:column;gap:2px;margin:16px 0;font-size:.75rem;line-height:1.6;letter-spacing:0}
  .campaign-portraits .campaign-poem-credit span{font-size:.75rem}
  .campaign-portraits .campaign-kicker{font-size:.75rem;line-height:1.6;letter-spacing:.045em;margin-bottom:20px}
  .campaign-portraits .campaign-story-link{font-size:.875rem;min-height:44px;gap:20px}
  .campaign-portraits .campaign-emblem{grid-area:2/1;position:relative;inset:auto;width:108px;max-width:100%;height:auto;justify-self:start;margin:0 6% 22px}
  .campaign-portraits .campaign-bottom{grid-area:3/1;position:relative;inset:auto;display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:16px 6% 18px;gap:10px;background:#3b3025;border-top:1px solid #dac4a02b}
  .campaign-portraits .campaign-bottom>p{flex:none;max-width:100%;font-size:.75rem;line-height:1.6;letter-spacing:0}
  .campaign-portraits .campaign-controls{display:flex;width:100%;max-width:280px;gap:0;justify-content:space-between}
  .campaign-portraits .campaign-controls button{flex:0 0 44px;min-width:44px;min-height:44px;padding:10px}
  .campaign-portraits .artist-preview::after{display:none}
  .campaign-portraits .artist-preview .artist-feature-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 24%;mask-image:none;-webkit-mask-image:none;z-index:0}
  .campaign-portraits .artist-campaign-copy,.campaign-portraits.is-art-preview .campaign-stage,.campaign-portraits.is-art-preview .campaign-bottom{background:#26383b}
  .campaign-shop-band{flex-direction:column;align-items:stretch;padding:25px 6%;gap:22px}
  .campaign-shop-band p,.campaign-shop-band p span{font-size:1rem;line-height:1.75}
  .campaign-shop-band>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;width:100%}
  .campaign-shop-band .button{min-width:0;min-height:48px;font-size:.875rem}
  .campaign-shop-band .text-link{min-height:44px;font-size:.875rem}

  .essentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;padding:30px 6%}
  .essential-engraving{width:76px;height:76px;margin-bottom:12px}
  .essentials .essential-item>span{font-size:1rem;line-height:1.5}
  .essentials .essential-item>p{font-size:.875rem;line-height:1.7;margin-top:8px}
  .shop-heading{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
  .shop-heading>p{max-width:58ch;font-size:1rem;line-height:1.75}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
  .shop-card-content{padding:20px 0 0}
  .shop-card-content>.eyebrow{min-height:0}
  .shop-image img{padding:0}
  html[lang] .shop-product-heading h3{font-size:1.75rem;line-height:1.2}
  .shop-product-heading>span{display:inline-block;max-width:100%;white-space:normal;padding:5px 9px}
  .shop-notes{font-size:.9375rem;min-height:0;line-height:1.7}
  .shop-story{font-size:1rem;line-height:1.75}
  .shop-purchase{flex-direction:column;align-items:stretch;gap:16px}
  .shop-purchase .button{min-width:0;width:100%;min-height:48px;justify-content:space-between;gap:12px}
  .shop-paths{grid-template-columns:minmax(0,1fr);gap:14px}

  .scent-intro>p:not(.eyebrow){position:static;max-width:58ch;font-size:1rem;line-height:1.75}
  .scent-section .fragrance-house{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 0 40px}
  .house-title h3.house-mark{max-width:330px;margin:22px 0 8px}
  .house-copy h4{font-size:1.375rem;line-height:1.45}
  .house-copy p{font-size:1rem;line-height:1.8;max-width:58ch}
  .scent-filters{flex-wrap:wrap;gap:8px;margin-top:24px}
  .scent-filters button{font-size:.875rem;line-height:1.5;min-height:44px;padding:9px 12px}
  .scent-row{grid-template-columns:58px minmax(0,1fr) 24px;gap:8px 14px;padding:22px 0}
  .scent-row .scent-number{grid-column:1;grid-row:1/3;font-size:2rem;line-height:1.15}
  .scent-row .scent-number small{display:block;font-size:.75rem;margin:0 0 4px}
  .scent-row .scent-name{grid-column:2;grid-row:1;font-size:1rem;line-height:1.5}
  .scent-row .scent-name small{font-size:.8125rem;line-height:1.7;margin-top:6px}
  .scent-row .scent-note{display:block;grid-column:2;grid-row:2;font-size:.875rem;line-height:1.7}
  .scent-row .scent-arrow{grid-column:3;grid-row:1/3}
  .scent-row .scent-pair{display:none}

  #discover{grid-template-columns:minmax(0,1fr);gap:32px}
  .discover-visual{width:100%;max-width:510px;margin:auto}
  #discover .discover-copy{padding:0}
  #discover .discover-copy h2{font-size:clamp(2.1rem,8vw,3.1rem);line-height:1.15}
  #discover .discover-subtitle{font-size:1.25rem;line-height:1.5;margin-bottom:20px}
  #discover .discover-intro,#discover .discover-ritual{font-size:1rem;line-height:1.8;max-width:58ch}
  .discover-edition-heading{min-height:0;align-items:baseline}
  #discover .discover-edition .text-link{min-height:44px;gap:16px}
  #craft .craft-heading{margin-bottom:24px}
  .craft-botanical,.craft-paper{grid-template-columns:minmax(0,1fr);gap:30px;align-items:start;padding:20px 0 42px}
  .craft-botanical-art,.craft-paper-art{width:100%;max-width:440px;margin:auto}
  .craft-botanical-art img{max-height:460px}
  .craft-botanical-art figcaption{font-size:.75rem;line-height:1.7;letter-spacing:.025em;margin-top:14px}
  .craft-paper{padding:38px 0 18px}
  .craft-paper-art{order:-1}
  .craft-paper-art figcaption{font-size:1.75rem;line-height:1.5;margin-top:14px}
  #craft .craft-botanical-copy h3,#craft .craft-paper-copy h3{font-size:clamp(1.75rem,6.2vw,2.5rem);line-height:1.22;margin-bottom:22px}
  #craft .craft-botanical-copy h3>span,#craft .craft-paper-copy h3>span{font-size:.75em;line-height:1.5;margin-top:12px}
  #craft .craft-reading,#craft .ingredient-register p{font-size:1rem;line-height:1.8;max-width:58ch}
  .ingredient-heading{flex-direction:column;align-items:flex-start;gap:4px}
  .craft-paper-points dd{margin-left:0;font-size:1rem;line-height:1.75}
  .craft-actions{gap:14px 24px}
  #craft .origin-line{flex-direction:column;align-items:flex-start;gap:8px;font-size:.75rem;line-height:1.7;letter-spacing:0}

  .creator-grid{grid-template-columns:minmax(0,1fr);padding-top:0}
  .creator-profile,.creator-profile:first-child,.creator-profile:last-child{display:flex;flex-direction:column;grid-row:auto;gap:24px;padding:30px 0 36px;border-left:0;border-bottom:1px solid #d2c9b5}
  .creator-profile:last-child{border-bottom:0;padding-bottom:0}
  .creator-portrait{align-self:center;width:100%;max-width:260px;grid-column:auto;grid-row:auto}
  .creator-identity,.creator-practice,.creator-scent,.creator-link{grid-column:auto;grid-row:auto;margin-top:0}
  html[lang] .creator-identity h3{font-size:2rem;line-height:1.2}
  .creator-role{font-size:1rem;line-height:1.7}
  .creator-practice p,.creator-scent p{font-size:1rem;line-height:1.8;max-width:58ch}
  #story{grid-template-columns:minmax(0,1fr);gap:36px}
  #story .story-mark .supplied-emblem{width:min(80%,300px)}
  #story .story-mark figcaption{max-width:34ch;margin-top:22px}
  html[lang] #story .story-copy h2.story-quote{font-size:clamp(1.8rem,7.3vw,2.6rem);line-height:1.25}
  #story .story-copy>.signature{font-size:clamp(1.85rem,7vw,2.6rem);line-height:1.55}
  .service-bar{grid-template-columns:minmax(0,1fr);gap:12px;margin:0 6%;padding:28px 0}
  .service-bar>div{align-items:flex-start;gap:16px}
  .service-bar>div>span{min-width:30px;margin-top:12px}
  .service-bar p{font-size:1rem;line-height:1.6}
  .service-bar p small{font-size:.875rem;line-height:1.7}
  footer{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 6%;padding:30px 0}
  footer .wordmark img{width:82px;height:auto}
  footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;align-items:start}
  footer .footer-links>:is(a,button){min-width:0;max-width:100%;min-height:44px;font-size:.875rem;line-height:1.6;text-align:left;justify-content:flex-start;align-items:center}
  footer p{font-size:.75rem;letter-spacing:0;line-height:1.7;margin:0}
}

/* Poster hierarchy: source lines sit tightly above a two-line campaign title. */
#campaign-boy .campaign-poem-credit{
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  gap:0;
  margin:0 0 12px;
  font-size:.75rem;
  line-height:1.28;
}
#campaign-boy .campaign-poem-credit span{
  font-size:.6875rem;
  line-height:1.28;
}
#campaign-boy .portrait-copy h2 span{
  display:inline-block;
  font-size:.78em;
  line-height:1;
}
#campaign-boy .portrait-copy h2 em{
  display:inline-block;
  font-size:1.28em;
  line-height:.98;
}
@media(max-width:760px){
  #campaign-boy .campaign-poem-credit{margin:0 0 10px;gap:0;line-height:1.22}
  #campaign-boy .campaign-poem-credit span{line-height:1.22}
  #campaign-boy .portrait-copy h2 span{font-size:.76em}
  #campaign-boy .portrait-copy h2 em{font-size:1.3em}
}

/* A full-width sheet keeps product options and bag controls inside the screen. */
@media(max-width:800px){
  html:has(dialog[open]){overflow:hidden}
  dialog{position:fixed;inset:0;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100%;max-height:100dvh;margin:0;border:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  dialog>.close{position:fixed;top:max(8px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;margin:0;width:44px;height:44px;z-index:8}
  .product-layout{display:flex;flex-direction:column;min-height:0}
  .product-visual{position:static;width:100%;max-height:none;min-height:0;padding:58px 6% 24px;overflow:visible}
  .product-visual>img{width:100%;height:clamp(210px,65vw,360px);max-height:none;object-fit:contain;padding:0}
  .product-visual>img.is-lifestyle{height:auto;max-height:420px;max-height:min(420px,64svh);width:100%;aspect-ratio:4/5;object-fit:contain}
  .product-visual #product-set-grid{width:100%;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-visual #product-set-grid img{height:auto;width:100%;aspect-ratio:1.5;object-fit:contain}
  .product-visual #product-set-grid p{font-size:.8125rem;line-height:1.65;margin:8px 0 0}
  .product-gallery{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;justify-content:stretch;margin-top:18px;padding-top:12px}
  .product-gallery button{font-size:.875rem;line-height:1.5;min-height:44px;padding:9px 2px;text-align:center}
  .product-content{min-width:0;padding:26px 6% max(30px,env(safe-area-inset-bottom))}
  html[lang] .product-content h2{font-size:clamp(1.9rem,7.5vw,2.6rem);line-height:1.18;margin:16px 0}
  .product-content p,.product-content details p{font-size:1rem;line-height:1.75}
  .product-options{grid-template-columns:minmax(0,1fr);gap:18px;margin:24px 0}
  .product-options label,.product-options label:last-child{grid-column:auto;font-size:.875rem;line-height:1.6;min-width:0}
  .product-options select{max-width:100%;height:48px;font-size:1rem;padding:0 12px;margin-top:8px}
  .product-meta{font-size:.8125rem;line-height:1.7;letter-spacing:0}
  .product-meta b,.notes p{font-size:.9375rem;line-height:1.75}
  .purchase-line{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:26px}
  .product-price-block{flex:1 1 170px;min-width:0}
  .purchase-line .quantity{font-size:.875rem;line-height:1.6;flex:0 0 88px}
  .purchase-line .quantity input{display:block;font-size:1rem;width:88px;max-width:100%;height:48px;padding:10px;margin-top:7px}
  #add-bag{width:100%;min-width:0;min-height:50px;font-size:1rem;justify-content:space-between;gap:16px}
  .product-content .preview-note{font-size:.8125rem;line-height:1.7}
  .side-dialog,.info-dialog{width:100%;max-width:100%;padding:18px 6% max(32px,env(safe-area-inset-bottom))}
  .side-dialog>.close,.info-dialog>.close{margin-right:0}
  .side-dialog h2,.info-dialog h2{font-size:1.85rem;line-height:1.3;margin:50px 0 24px}
  .side-dialog h2 em{font-size:1.5rem;margin-left:10px}
  .bag-item{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:20px 0}
  .bag-item img{width:64px;height:76px;object-fit:contain}
  .bag-item h3{font-size:1.375rem;line-height:1.35}
  .bag-controls{display:flex;flex-wrap:wrap;gap:8px;font-size:.875rem}
  .bag-controls button{width:44px;min-width:44px;height:44px;min-height:44px}
  .bag-controls button:last-child{min-height:44px;width:auto;padding:8px 0;margin-left:0}
  .bag-total-line{align-items:baseline;flex-wrap:wrap;gap:12px;font-size:1rem}
  .bag-bottom .button{width:100%;min-height:50px;min-width:0;font-size:1rem;gap:16px;justify-content:space-between}
  .info-dialog p{font-size:1rem;line-height:1.8}
  .info-dialog h3{font-size:1.125rem;line-height:1.5}
  #toast{left:6%;right:6%;bottom:max(20px,env(safe-area-inset-bottom));width:auto;max-width:none;transform:none;font-size:.875rem;line-height:1.6;white-space:normal}
}

@media(max-width:600px){
  .shop-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .shop-image{aspect-ratio:4/5;max-height:480px}
  .shop-card-content{padding-top:20px}
  .shop-purchase{flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px}
  .shop-purchase .button{flex:1 1 160px;width:auto}
  .discover-editions{grid-template-columns:minmax(0,1fr);gap:26px}
  .discover-edition{padding-top:20px;border-top:1px solid #c4bcab}
  .discover-edition-heading{display:flex;gap:12px;min-height:0}
  .discover-edition-no{margin:0}
  #discover .discover-edition h3{font-size:1.125rem;line-height:1.4}
  #discover .discover-edition-credit{margin:10px 0 6px}
  #discover .discover-edition-detail{font-size:.9375rem;line-height:1.7;margin-bottom:12px}
  #discover .discover-edition .text-link{margin-top:0}
  .campaign-shop-band>div{flex-direction:column;align-items:stretch;gap:12px}
  .campaign-shop-band .button{width:100%;justify-content:space-between}
  .campaign-shop-band .text-link{align-self:flex-start}

  /* The contact sheet stays two-up, while buying controls have their own rows. */
  .shop-catalog{padding:28px 5% 46px}
  .shop-catalog-heading{align-items:flex-start;gap:12px;margin-bottom:24px}
  .shop-catalog-heading p{font-size:.9375rem;line-height:1.65}
  .collection-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .collection-switch button{font-size:.9375rem;line-height:1.5;min-height:48px;padding:12px 0;text-align:left}
  .catalog-filter-line{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:16px}
  .catalog-filter-line label{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:.875rem}
  .catalog-filter-line select{font-size:1rem;min-width:0;max-width:70%;min-height:46px;padding:8px 30px 8px 10px}
  #design-count{align-self:flex-start;font-size:.8125rem}
  .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:32px}
  .design-meta{padding-top:14px}
  .design-series{font-size:.75rem;line-height:1.5;min-height:3em}
  .design-card :is(h2,h3){font-size:1.0625rem;line-height:1.35;margin-bottom:10px}
  .design-card :is(h2,h3) button{display:block}
  .design-card :is(h2,h3) span{display:block;font-size:.8125rem;margin-top:5px}
  .design-notes{font-size:.875rem;line-height:1.65;min-height:0;margin-bottom:16px}
  .design-unit{display:block;width:100%;font-size:.8125rem}
  .design-price .price-amounts{gap:4px 7px}
  .design-actions{flex-direction:column-reverse;align-items:stretch;gap:4px;margin-top:13px;padding-top:12px}
  .design-actions button{font-size:.875rem;line-height:1.5;min-height:44px!important;padding:10px 4px}
  .design-grid.showing-sets{grid-template-columns:minmax(0,1fr);gap:36px}
  .design-set .design-series{min-height:0}
  .design-set .design-actions{flex-direction:row;gap:20px;align-items:center}
  .design-set .design-actions .design-add{padding:10px 22px}
  .design-set :is(h2,h3){font-size:1.25rem}
  .shop-endnote{align-items:flex-start;gap:14px}
}

@media(max-width:359px){
  header{gap:0 10px}
  .announcement{display:block}
  .announcement span{display:block;margin-top:3px}
  .scent-row{grid-template-columns:52px minmax(0,1fr) 20px;column-gap:10px}
  .shop-purchase{flex-direction:column;align-items:stretch}
  .shop-purchase .button{flex:none;width:100%}
  footer .footer-links{grid-template-columns:minmax(0,1fr)}
  .design-grid{grid-template-columns:minmax(0,1fr)}
  .design-series{min-height:0}
  .design-card :is(h2,h3) button{display:flex}
  .design-card :is(h2,h3) span{margin-top:0}
}

@media(max-width:900px){
  html[lang=ja] :is(.brand-intro h1,.collection-title h3,.section-heading h2,.shop-heading h2,.creators-heading h2,#story .story-copy h2.story-quote),html[lang=zh-Hant-TW] :is(.brand-intro h1,.collection-title h3,.section-heading h2,.shop-heading h2,.creators-heading h2,#story .story-copy h2.story-quote){line-height:1.4;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}

@media(max-width:760px){
  .product-media-stage{min-height:clamp(300px,88vw,500px)}
  .product-media-stage>img{width:calc(100% - 52px);height:clamp(250px,72vw,390px);max-height:none}
  .product-media-stage[data-view=scene]>img{width:calc(100% - 24px);height:auto;max-height:min(500px,62svh)}
  .product-media-stage[data-view=packaging]>img{width:calc(100% - 52px);height:auto;max-height:390px}
  .product-media-stage>#product-set-grid{width:calc(100% - 54px)}
  .product-media-step{width:42px;height:42px;background:#f8f4eaf2}
  .product-media-step.is-previous{left:-8px}
  .product-media-step.is-next{right:-8px}
}

@media(max-width:420px){
  .product-media-stage{min-height:285px}
  .product-media-stage>img{height:260px}
  .product-media-stage[data-view=scene]>img{max-height:430px}
}
