/* One reading hierarchy across desktop, tablet, phones and both appearances. */
:root {
  --reading-size:17px;
  --supporting-size:13px;
  --control-size:15px;
  --reading-weight:500;
  --muted:#c8ccd5;
}
body { font-size:var(--reading-size); font-weight:var(--reading-weight); line-height:1.75; }
h1, h2, h3, h4,
.media-page h2, .media-page h3,
.archetype-dialog-copy h2, .cards-page .archetype-dialog-copy h2,
.review-hero .review-quote, .small-quote blockquote { font-weight:500; }
h1 em, h2 em, h3 em, h4 em,
.product-page h1 em, .product-page h2 em,
.cards-page h1 em, .cards-page h2 em, .cards-page h3 em,
.review-hero .review-quote em, .small-quote blockquote em { font-weight:500; }
.wordmark { font-weight:500; }
.wordmark small { font-size:10px; font-weight:600; letter-spacing:.17em; }

/* Main reading copy: price numerals, eyebrow labels and quoted display type stay distinct. */
.purchase-first-lead, .hero-copy, .lead, .section-heading > p,
.hero-path p, .world-doorway p, .bottom-cta p,
.product-page .product-buy-hero .product-lead,
.product-page .product-included .inventory-part p,
.product-page .package-part p,
.product-unity .section-heading > p:last-child,
.product-connection-layout p:not(.eyebrow),
.ritual-heading > p:last-child,
.wisdom-entry p:last-child,
.ritual-sequence p,
.realm-door p:not(.eyebrow),
.storybook-story > p,
.guidebook-detail p,
.wheel-positions li,
.product-path-links p,
.cards-page .cards-hero > p:not(.eyebrow):not(.gallery-intro-note),
.cards-page .reading-note-sequence p,
.cards-page .constellation-aside p:not(.eyebrow),
.cards-page .card-learning-flow .section-heading > p:not(.eyebrow),
.cards-page .card-learning-flow .wisdom-entry p:last-child,
.cards-page .card-learning-flow .ritual-sequence p,
.cards-page .card-learning-flow .realm-door p:not(.eyebrow),
.cards-page .card-learning-flow .guidebook-detail p,
.cards-page .card-learning-flow .wheel-positions li,
.cards-page .archetype-dialog-copy #archetype-meaning,
.media-page .page-hero .hero-deck,
.media-page .cinema-copy > p:not(.eyebrow),
.media-page .creator-copy > p:not(.eyebrow),
.creator-prose p:not(.eyebrow):not(.creator-story-note),
.creator-timeline p,
.creator-lineage p,
.journey-link p,
.notice-grid p,
.stockist-panel p:not(.eyebrow),
.story-invitation p:not(.eyebrow),
.listen-notes p,
.media-page .closing-invitation p:not(.eyebrow),
.customer-copy p:not(.eyebrow),
.customer-panel p,
.policy-content p,
.policy-content li,
.customer-card p,
.customer-page .customer-hero .lead,
.ebook-format p, .ebook-page > main p:not(.eyebrow), .book-distinction, .exit-dialog > p:not(.eyebrow) {
  font-size:var(--reading-size);
  font-weight:var(--reading-weight);
  line-height:1.75;
}
.creator-prose, .creator-lineage { max-width:72ch; }
.policy-content { max-width:70ch; }

/* Supporting information is smaller, never hairline or miniature. */
.eyebrow, .hero-path .eyebrow, .world-doorway .eyebrow, .bottom-cta .eyebrow,
.cards-page .gallery-toolbar .eyebrow,
.cards-page .card-learning-flow p.eyebrow,
.cards-page .card-learning-flow .realm-door p.eyebrow,
.wisdom-entry .eyebrow,
.realm-door .eyebrow,
.product-unity .section-heading > .eyebrow,
.ritual-heading > .eyebrow,
.constellation-aside .eyebrow,
.archetype-dialog-copy .eyebrow,
.media-page .creator-prose p.eyebrow, .customer-copy p.eyebrow,
.customer-panel .eyebrow, .customer-card .eyebrow { font-size:12px; font-weight:600; letter-spacing:.14em; }
.small, .ebook-page > main p.small, .caption, figcaption,
.connection-figure figcaption,
.purchase-first-note, .purchase-first-image figcaption,
.purchase-first-price > span, .purchase-first-price small,
.hero-facts, .hero-secondary,
.card-doorway .card-subtitle, .card-doorway .meta,
.product-page .product-price > span, .product-page .product-price small,
.product-page .product-buy-hero .product-checkout-note,
.product-page .product-buy-hero .product-format-note,
.product-page .showroom-cards figcaption small,
.product-page .package-photo figcaption,
.product-format-note, .product-checkout-note,
.storybook-page-count small, .storybook-story .storybook-format-note,
.ritual-sequence li > span, .product-path-links > a > span:first-child,
.cards-page .card-learning-flow .product-final .product-checkout-note,
.cards-page .cards-hero .gallery-intro-note,
.cards-page .cards-hero > p.gallery-intro-note,
.cards-page .archetype-tile-number,
.cards-page .archetype-tile-subtitle,
.cards-page .archetype-tile-realm,
.cards-page .archetype-tile-link,
.cards-page .gallery-status,
.cards-page .constellation-caption,
.cards-page .archetype-dialog-note,
.cards-page .archetype-dialog-copy #archetype-subtitle,
.reel-consent, .reel-status, .reel-preview-credit,
.media-meta, .quote-caption, .media-page .stockist-panel p.quote-caption, .review-credit span,
.creator-year, .creator-lineage .lineage-label, .creator-prose .creator-story-note,
.creator-art-figure figcaption,
.journey-link .route-number,
.story-invitation .story-disclaimer,
.customer-note p, .customer-copy .customer-note p, .footer-bottom {
  font-size:var(--supporting-size);
  font-weight:500;
  line-height:1.75;
}
.cards-page .gallery-guide-note p { font-size:var(--supporting-size) !important; line-height:1.75; }
.cards-page .archetype-tile-caption, .card-doorway .card-brief { font-size:16px; line-height:1.75; }
.cards-page .selection-count { font-size:16px; line-height:1.75; }
.product-page .showroom-cards figcaption strong { font-size:16px; }
.stage-caption { font-size:12px; letter-spacing:.06em; line-height:1.6; }
.media-divider { font-size:12px; letter-spacing:.13em; }
.wheel-positions strong, .cards-page .card-learning-flow .wheel-positions strong,
.listen-notes strong { font-size:16px; font-weight:600; }

/* Recognisable actions with restrained emphasis. */
.primary, .product-page .product-buy-button,
.cards-page .card-learning-flow .product-final .product-buy-button {
  font-size:16px; font-weight:700; min-height:48px; line-height:1.45;
}
.text-link, .actions > .text-link, .source-link, .media-page .media-jump a,
.customer-card .text-link, .customer-links a,
.product-page .product-buy-hero .actions > .text-link,
.cards-page .archetype-dialog-copy .text-link {
  font-size:var(--control-size); font-weight:600; line-height:1.6;
}
.motion-switch, .motion-control, .product-motion-control,
.media-load, .media-unload,
.another-archetype, .offer-decline,
.appearance-switch button,
.view-switch button, .cards-page .gallery-toolbar .view-switch button,
.cards-page .gallery-toolbar .motion-control, .cards-page .realm-filter button {
  font-size:14px; font-weight:500; min-height:44px; line-height:1.5;
}
.thumbnail-cta { font-size:15px; font-weight:600; }
.site-nav { font-size:15px; gap:18px; font-weight:500; }
.site-nav > a.nav-shop { font-size:14px; font-weight:600; }
.menu-button { font-size:15px; }
.footer-main { font-size:14px; line-height:1.7; }
.footer-links { font-size:14px; gap:14px; }
.footer-links strong { font-size:12px; font-weight:600; }
.footer-main .small { font-size:14px; }
.archetype-close, .dialog-close { width:44px; height:44px; }

/* Icon-only animation control; preserve a comfortable touch and keyboard target. */
button[data-motion-toggle] {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; min-width:44px; min-height:44px;
  padding:11px; gap:0; border:1px solid var(--line); border-radius:50%;
  background:transparent; color:var(--gold); cursor:pointer;
}
button[data-motion-toggle].product-motion-control { display:flex; }
button[data-motion-toggle] svg { display:block; flex:none; width:20px; height:20px; }
button[data-motion-toggle]:hover:not(:disabled) { background:var(--surface); }
button[data-motion-toggle]:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
button[data-motion-toggle]:disabled { opacity:.5; cursor:default; }

@media (max-width:1220px) {
  .menu-button { display:inline-flex; align-items:center; justify-content:center; }
  .site-nav {
    display:none; position:absolute; right:0; top:100%; flex-direction:column;
    align-items:stretch; width:min(340px,88vw); gap:3px; padding:16px 20px;
    border:1px solid var(--line); border-radius:5px; background:var(--surface);
    box-shadow:0 14px 28px rgba(0,0,0,.18); z-index:30;
  }
  .site-nav.is-open { display:flex; }
  .site-nav > a { display:flex; align-items:center; min-height:44px; padding:10px 0; font-size:15px; }
  .site-nav > a.nav-shop { justify-content:center; margin-top:7px; padding:12px 16px; }
}

@media (max-width:600px) {
  :root { --reading-size:16px; --supporting-size:13px; }
  .wordmark small { font-size:9px; letter-spacing:.15em; }
  .primary, .product-page .product-buy-button,
  .cards-page .card-learning-flow .product-final .product-buy-button { font-size:15px; }
  .purchase-first .actions > .text-link { font-size:15px; }
  .cards-page .archetype-tile-caption, .card-doorway .card-brief { font-size:14px; }
  .cards-page .archetype-tile-number, .cards-page .archetype-tile-subtitle,
  .cards-page .archetype-tile-realm, .cards-page .archetype-tile-link { font-size:12px; }
  .stage-control { bottom:32px; }
  .stage-caption { font-size:12px; letter-spacing:.04em; }
}
