/* Shared phone and tablet refinements. Keep desktop art direction intact. */
body {padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px)}
@media (max-width: 1100px) {
  .mobile-nav:not([hidden]) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-height:calc(100svh - 110px);max-height:calc(100dvh - 110px);padding:8px 20px 20px;overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav a {display:flex;align-items:center;min-height:48px;padding:12px 0;font-size:11px;letter-spacing:.07em;overflow-wrap:anywhere}
}
@media (max-width: 850px) {
  .article-toc {position:static;max-height:none;overflow:visible;padding:0 18px;border-radius:var(--radius-card);margin-bottom:24px}
  .article-toc summary.eyebrow {display:flex;align-items:center;justify-content:space-between;min-height:52px;margin:0;padding:12px 0;list-style:none}
  .article-toc summary::-webkit-details-marker {display:none}
  .article-toc summary::after {content:'+';font:22px/1 var(--body);letter-spacing:0}
  .article-toc details[open]>summary::after {content:'−'}
  .article-toc nav {display:grid;gap:0;overflow:visible;padding:0 0 12px}
  .article-toc nav a {white-space:normal;min-height:44px;padding:12px 8px;font-size:12px;border-bottom:1px solid var(--line)}
  .article-toc nav a:last-child {border-bottom:0}
  .article-body section[id] {scroll-margin-top:24px}
}

@media (max-width: 620px) {
  :root {--mobile-gutter:20px}
  .page-shell {padding-inline:var(--mobile-gutter)}
  .top-note {min-height:26px;padding:6px 12px}
  .header-inner {grid-template-columns:44px minmax(0,1fr) 88px;gap:4px;min-height:74px;padding:10px 12px}
  .header-inner>.brand {max-width:220px}
  .header-tools .icon-button,.header-tools .icon-button+.icon-button,.mobile-menu-btn {width:44px;min-width:44px;height:44px;padding:10px}
  .edition-nav {flex-wrap:nowrap;justify-content:flex-start;gap:24px;padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:20px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .edition-nav a {display:flex;align-items:center;flex:none;min-height:48px;white-space:nowrap;font-size:10px}
  .hero-layout {margin:12px 12px 0}
  .hero-feature[data-hero-style=paper] {min-height:500px;padding:116px 22px 28px}
  .hero-feature[data-hero-style=paper]>.hero-copy {min-height:0}
  .hero-feature[data-hero-style=paper] .hero-copy h1 {font-size:clamp(32px,8.6vw,48px);line-height:1.07;margin-bottom:18px}
  .hero-feature[data-hero-style=paper] .hero-copy p {font-size:15px;line-height:1.65;margin-bottom:22px}
  .hero-copy .eyebrow {font-size:9px;letter-spacing:.12em;margin-bottom:18px}
  .hero-sidebar {padding:8px 8px 0}
  .hero-sidebar .side-story {padding-block:20px;gap:16px}
  .hero-sidebar .side-copy .text-link {min-height:44px;font-size:9px}
  .page-heading {padding-top:30px;padding-bottom:24px}
  .page-heading h1,.shop-heading h1,.commerce-heading h1,.info-prose h1 {font-size:clamp(42px,11vw,58px);line-height:1.06;overflow-wrap:break-word}
  .page-heading>p:not(.eyebrow) {font-size:16px;line-height:1.7}
  .section-heading {flex-wrap:wrap;align-items:center;gap:12px}
  .section-heading h2 {font-size:clamp(34px,9vw,44px)}
  .section-heading>.text-link {max-width:none;min-height:44px;font-size:10px;margin:0}
  .text-link {min-height:44px;font-size:11px;letter-spacing:.08em;max-width:100%;overflow-wrap:break-word}
  .button {min-height:48px;max-width:100%;font-size:11px;letter-spacing:.07em;overflow-wrap:break-word}
  .save-button {width:44px;height:44px}
  .latest-grid .card-content h3,.article-grid .card-content h3,.related-grid .card-content h3 {font-size:30px;line-height:1.12}
  .card-content p,.latest-grid .card-content p,.article-grid .card-content p {font-size:15px;line-height:1.7}
  .editor-note-copy {padding:28px 22px}
  .editor-note-copy h2 {font-size:clamp(38px,10vw,49px)}
  .editor-note-copy p {font-size:16px}
  .editor-note-copy .text-link {font-size:10px;gap:16px}
  .article-heading {padding:30px var(--mobile-gutter) 24px}
  .article-heading h1 {font-size:clamp(36px,9.8vw,52px);line-height:1.07;margin-bottom:18px}
  .article-heading .dek {font-size:17px;line-height:1.7}
  .article-meta {font-size:9px;letter-spacing:.04em}
  .article-tools {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
  .article-tools .button {width:100%;min-height:46px;padding:10px 8px;gap:7px;font-size:10px;letter-spacing:.04em}
  .article-cover.page-shell {padding-inline:12px;margin-inline:0}
  .article-cover .image-caption {padding-inline:8px;font-size:12px;line-height:1.6;margin:10px 0 0}
  .article-body {font-size:17px;line-height:1.8}
  .article-body h2 {font-size:clamp(30px,8vw,38px);line-height:1.15}
  .article-body h3 {font-size:28px}
  .article-body figure {margin-block:28px}
  .article-body figcaption {font-size:12px;line-height:1.6;padding-top:12px}
  .rich-product-grid {gap:12px}
  .rich-product-grid>.rich-product {padding:10px}
  .article-body .rich-product-grid h3 {font-size:21px;overflow-wrap:normal;hyphens:auto}
  .rich-product-grid a {font-size:13px}
  .topic-links {gap:8px}
  .topic-links a {display:inline-flex;align-items:center;min-height:44px;font-size:14px;padding:8px 12px}
  .place-filters {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding-block:20px}
  .place-filters label:first-child {grid-column:1/-1}
  .place-collection-links,.reader-actions {gap:12px;margin-block:16px}
  .place-collection-links .text-link {font-size:10px}
  #places-map {height:280px;padding:20px;border-radius:var(--radius-card)}
  .discovery-map {margin-bottom:28px}
  .venue-copy,.kept-place-copy {padding:22px}
  .venue-actions {gap:8px}
  .venue-actions .button {flex:1 1 120px;padding:12px;font-size:11px;text-align:center}
  .account-auth {padding:22px 18px;border-radius:var(--radius-card)}
  .account-auth .button,.reader-form>.button {width:100%;justify-self:stretch}
  .account-switch {gap:8px 20px}
  .account-switch button {min-height:44px}
  .account-links {gap:10px}
  .account-links .button {flex:1 1 140px;text-align:center}
  .account-topics label {min-height:44px;font-size:13px}
  .account-topics input {flex:none}
  .shop-nav {gap:6px 20px;padding:12px 0}
  .shop-nav a {display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .shop-heading {padding:28px 0}
  .shop-heading h1 {margin-top:12px}
  .shop-test {padding:10px 20px;font-size:12px}
  .shop-page input,.shop-page select,.shop-page textarea,
  .collection-link-label input,.reader-form input,.reader-form textarea,
  .account-page input,.account-page select {font-size:16px}
  .shop-page input:not([type=checkbox]):not([type=radio]),.shop-page select,
  .reader-form input:not([type=checkbox]),.reader-form select,.place-filters select {min-height:48px;border-radius:var(--radius-control);min-width:0}
  .shop-page textarea,.reader-form textarea {border-radius:var(--radius-control)}
  .shop-summary p,.shop-totals>div {flex-wrap:wrap;gap:8px 16px}
  .shop-summary,.shop-bag-line>* {min-width:0;overflow-wrap:anywhere}
  .reader-form .consent-label {font-size:13px;line-height:1.6;min-height:44px}
  .newsletter-block {margin-top:40px;gap:20px}
  .newsletter-block h2 {font-size:38px}
  .footer-links {display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
  .footer-links a {font-size:10px;min-height:44px;padding-block:8px}
  .footer-bottom>* {display:block}
  .search-dialog {width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:12px auto;padding:16px;scrollbar-gutter:auto}
  .search-dialog .dialog-head {position:sticky;top:-16px;z-index:2;background:var(--paper);padding:12px 0;margin-top:-12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
  .search-dialog .dialog-head h2 {font-size:28px}
  .search-dialog .search-field {gap:8px;padding:6px;margin-bottom:18px}
  .search-dialog .search-field>svg {display:none}
  .search-dialog .search-field input {font:16px/1.5 var(--body);padding-left:6px}
  .search-dialog .search-category {row-gap:6px}
  .search-dialog .search-result-copy h3 {font-size:22px;line-height:1.15;overflow-wrap:normal}
  .search-dialog .search-result {grid-template-columns:64px minmax(0,1fr) 12px;gap:12px}
  .search-dialog .search-result img {width:64px;height:auto;aspect-ratio:1;object-fit:cover}
  .place-collection-dialog {width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:12px}
  .has-reader-actions {padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .has-reader-actions .toast {bottom:calc(94px + env(safe-area-inset-bottom))}
}

@media (max-width: 360px) {
  :root {--mobile-gutter:16px}
  .hero-feature[data-hero-style=paper] {padding-inline:18px;min-height:520px}
  .hero-sidebar {padding-inline:4px}
  .hero-sidebar .side-story {gap:12px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
  .hero-sidebar .side-copy h2 {font-size:21px}
  .search-dialog[open] {column-gap:10px}
  .search-dialog .search-category select {padding-inline:6px;font-size:16px}
  .rich-product-grid {gap:8px}
  .rich-product-grid>.rich-product {padding:8px}
  .article-body .rich-product-grid h3 {font-size:19px}
}

@media (max-height: 500px) and (orientation: landscape) {
  .search-dialog,.place-collection-dialog {max-height:calc(100dvh - 16px);margin:8px auto}
  .search-dialog .dialog-head {position:sticky;top:-24px;z-index:2;background:var(--paper);padding-block:12px;margin-top:-12px;border-bottom:1px solid var(--line)}
  .photo-toolbar,.photo-footer {padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .reader-mobile-actions:not([hidden]) {position:static;margin:20px 12px}
  .has-reader-actions {padding-bottom:0}
}
