/* Mobile-only layout polish. Loaded last so it can resolve legacy cascade conflicts. */
@media (max-width: 48rem) {
  :root {
    --mobile-gutter: clamp(1rem, 4.5vw, 1.35rem);
  }

  html {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.storefront-page {
    --display: Poppins, "Helvetica Neue", Arial, sans-serif;
    --sans: Poppins, "Helvetica Neue", Arial, sans-serif;
    --grey-500: #b5b4b0;
    --blog-muted: #aaa9a5;
    --home-muted: #aaa9a5;
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
  }

  body.storefront-page .page-wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
  }

  body.storefront-page .page-wrap > *,
  body.storefront-page .page-wrap section {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  body.storefront-page .page-wrap section {
    margin-inline: 0;
    padding-inline: 0 ;
  }

  .archive-homepage,
  .archive-page,
  .archive-home,
  .blog-index-page,
  .blog-article-page,
  .profile-page,
  .valuation-page,
  .legacy-directory-page,
  .legacy-product-page {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  .archive-homepage,
  .archive-page,
  .blog-index-page,
  .blog-article-page,
  .legacy-directory-page,
  .legacy-product-page {
    padding-top: .75rem;
  }

  .profile-page {
    margin-top: 0 !important;
  }

  .archive-homepage > section,
  .archive-page > section,
  .blog-hero,
  .blog-article-mast,
  .directory-hero,
  .profile-mast,
  .valuation-hero,
  .valuation-layout,
  .legacy-directory-hero,
  .about-record,
  .about-details,
  .archive-page__cta {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }


  /* Make every editorial and catalogue split a predictable vertical flow. */
  .home-hero-grid,
  .home-stats,
  .home-portals,
  .archive-story,
  .archive-principles,
  .archive-directory-intro,
  .archive-tool-teaser,
  .archive-closure,
  .archive-homepage__about .blog-hero-grid,
  .archive-homepage__story,
  .archive-homepage__section-header,
  .archive-homepage__closure-grid,
  .archive-homepage__closure-record,
  .archive-homepage__review-grid,
  .archive-homepage__directory-grid,
  .archive-homepage .blog-grid,
  .archive-homepage__blog-grid,
  .archive-homepage__catalogue-grid,
  .archive-page__hero .blog-hero-grid,
  .about-record,
  .about-details > header,
  .about-details__grid,
  .archive-page__cta,
  .archive-page__cta--compact,
  .reviews-record-heading,
  .blog-hero-grid,
  .blog-index-layout,
  .blog-article-layout,
  .blog-grid,
  .blog-article-nav,
  .directory-hero-grid,
  .directory-controls,
  .directory-grid,
  .profile-mast-grid,
  .profile-layout,
  .profile-aside,
  .profile-quotes,
  .profile-content .dot-list,
  .profile-content .track-grid,
  .toc ol,
  .legacy-directory-hero,
  .legacy-directory-hero dl,
  .legacy-product-layout,
  .legacy-product-grid,
  .valuation-hero-grid,
  .valuation-layout,
  .valuation-field-grid,
  .valuation-submit-row,
  .valuation-guide ol,
  .valuation-result-header,
  .valuation-range-grid,
  .valuation-report-grid,
  .store-top-brands-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .blog-card--lead,
  .archive-homepage .blog-card--lead {
    grid-column: auto;
    display: flex;
    flex-direction: column;
  }

  .blog-hero-intro {
    margin-top: 0;
    padding: 1.5rem var(--mobile-gutter);
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .customer-review-grid {
    column-count: 1;
    column-gap: 0;
  }

  .archive-homepage__closure-record {
    grid-column: auto;
    display: grid;
    border-left: 0;
  }

  .archive-homepage__closure-record div,
  .archive-homepage__closure-record div:nth-child(2),
  .archive-homepage__closure-record div:nth-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .archive-homepage__closure-record div:last-child {
    border-bottom: 0;
  }

  .archive-homepage__year {
    min-height: 0;
    padding: 1.25rem var(--mobile-gutter);
    border-right: 0;
    border-bottom: 1px solid var(--line);
    font-size: clamp(3.5rem, 17vw, 5rem);
    writing-mode: initial;
    transform: none;
  }

  .about-record--founder figure,
  .about-record--founder .about-record__copy {
    grid-row: auto;
    grid-column: auto;
  }

  .about-record--founder figure {
    order: -1;
  }

  .blog-hero-topline,
  .blog-article-kicker,
  .home-hero-topline,
  .directory-hero-topline,
  .archive-homepage__section-label,
  .archive-homepage__about .blog-hero-grid > header,
  .archive-homepage__story-copy,
  .archive-homepage__section-header,
  .archive-homepage__closure-copy,
  .archive-homepage__review-grid,
  .archive-homepage__catalogue-grid,
  .archive-page__hero .blog-hero-grid > header,
  .about-record__copy,
  .about-details > header,
  .about-details__grid article,
  .archive-page__cta,
  .directory-hero-copy,
  .directory-controls,
  .profile-mast,
  .legacy-directory-hero > div:not(.home-hero-topline),
  .legacy-toolbar,
  .legacy-breadcrumb,
  .legacy-product-title,
  .valuation-hero-grid > header,
  .valuation-hero-note,
  .valuation-form,
  .valuation-guide {
    padding-right: var(--mobile-gutter) !important;
    padding-left: var(--mobile-gutter) !important;
  }

  .archive-homepage__story figure,
  .archive-homepage__story img,
  .about-record figure,
  .about-record figure img {
    min-height: 0;
  }

  .archive-homepage__story img,
  .about-record figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    padding: 0;
    object-fit: cover;
  }

  .archive-homepage__review-grid,
  .archive-homepage__directory-grid,
  .archive-homepage__blog-grid,
  .archive-homepage__catalogue-grid,
  .directory-grid,
  .legacy-product-grid,
  .blog-grid {
    gap: 1rem !important;
  }

  .blog-card,
  .directory-card,
  .legacy-card,
  .archive-review-card,
  .customer-review-card {
    width: 100%;
    min-width: 0;
    min-height: 0;
  }

  .blog-card-copy,
  .archive-homepage .blog-card-copy {
    min-height: 0;
    padding: 1.25rem;
  }

  .archive-directory-card .blog-card-media {
    min-height: 14rem;
  }

  .legacy-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .storefront-blog__grid {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible;
  }

  .legacy-toolbar > button,
  .archive-page__button,
  .valuation-submit,
  .valuation-result-footer button {
    width: 100%;
    min-height: 3rem;
  }

  .archive-page__cta > div:last-child {
    width: 100%;
    justify-items: stretch;
  }

  .valuation-panel-heading,
  .valuation-result-footer,
  .blog-article-footer,
  .storefront-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .valuation-previews {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .legacy-work-list {
    columns: 1;
  }

  /* Clear, stable type sizes for hand-held screens. */
  .archive-homepage__about .blog-hero-grid h1,
  .archive-page__hero h1,
  .blog-hero h1,
  .profile-title,
  .directory-hero-copy h1,
  .legacy-directory-hero h1,
  .valuation-hero h1 {
    font-size: clamp(2.25rem, 10.5vw, 3.45rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.02;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .blog-article-mast h1,
  .legacy-product-title h1 {
    margin-right: var(--mobile-gutter);
    margin-left: var(--mobile-gutter);
    font-size: clamp(2rem, 9vw, 3rem);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .archive-homepage__section-header h2,
  .archive-homepage__closure-copy h2,
  .about-record__copy h2,
  .about-details > header h2,
  .reviews-record-heading h2,
  .archive-page__cta h2,
  .legacy-sold-panel h2,
  .valuation-result-header h2 {
    font-size: clamp(2rem, 8.5vw, 2.85rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.08;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  .archive-homepage .blog-card h2,
  .blog-card h2,
  .directory-card-name,
  .legacy-card-copy h2 {
    font-size: clamp(1.35rem, 6.5vw, 1.75rem) !important;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .blog-hero-intro > p,
  .archive-homepage__story-copy p,
  .archive-homepage__section-intro > p,
  .archive-homepage__closure-copy > p:not(.archive-homepage__kicker),
  .about-record__copy p,
  .about-details > header p,
  .about-details__grid p,
  .archive-page__cta p,
  .reviews-record-heading > p,
  .blog-card-copy > p,
  .blog-prose,
  .profile-deck,
  .profile-content,
  .legacy-directory-hero > div > p:last-child,
  .legacy-description,
  .valuation-hero-grid > header > p:last-child,
  .valuation-guide p {
    font-size: 1rem;
    line-height: 1.7;
  }

  .archive-review-card blockquote,
  .customer-review-card blockquote {
    font-size: 1.05rem;
    line-height: 1.7;
  }

  .blog-card-meta,
  .blog-card-footer {
    font-size: .78rem;
    line-height: 1.45;
  }

  .blog-card-meta span:first-child,
  .blog-card-footer a,
  .reviews-score > a,
  .customer-review-card__meta span:first-child {
    color: #f27a74;
  }

  .archive-homepage__rating b,
  .archive-review-card .blog-card-meta span:last-child {
    font-size: 1.25rem;
  }

  .blog-hero-topline,
  .blog-article-kicker,
  .home-hero-topline,
  .directory-hero-topline,
  .archive-homepage__section-label,
  .archive-homepage__kicker,
  .archive-page__kicker,
  .about-record__copy > span,
  .about-details > header > span,
  .reviews-record-heading span,
  .directory-card-kicker,
  .profile-badges span,
  .profile-image-label,
  .panel-heading,
  .legacy-directory-hero dt,
  .legacy-toolbar label,
  .valuation-field > span {
    font-size: .75rem;
    letter-spacing: .06em;
    line-height: 1.45;
  }

  .archive-homepage__section-label,
  .blog-hero-topline,
  .blog-article-kicker,
  .directory-hero-topline,
  .home-hero-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }

  .archive-homepage__section-label span:last-child,
  .blog-card-meta span:last-child {
    text-align: left;
  }

  .storefront-drawer nav a {
    min-height: 3rem;
    display: flex;
    align-items: center;
    padding: .8rem 1.25rem;
    font-size: .9rem;
    line-height: 1.35;
  }

  .storefront-announcement {
    font-size: .75rem;
  }

  .storefront-section__heading p,
  .storefront-about__panel p,
  .storefront-archive-notice p,
  .storefront-split__copy p,
  .storefront-blog article p,
  .storefront-review-card > p,
  .storefront-footer {
    font-size: .875rem;
    line-height: 1.7;
  }

  .storefront-product-card h3,
  .storefront-blog h3 {
    font-size: 1rem;
    line-height: 1.5;
  }

  .storefront-kicker,
  .storefront-archive-notice div span {
    font-size: .75rem;
    line-height: 1.45;
  }

  .storefront-header__mobile-action,
  .storefront-drawer__head button,
  .pagination button {
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  input,
  select,
  textarea,
  button {
    font-size: 1rem;
  }

  p,
  li,
  dd,
  blockquote,
  h1,
  h2,
  h3,
  a {
    overflow-wrap: anywhere;
  }
}
