/* Shared editorial system. Manrope display + DM Sans reading text. */
@font-face { font-family: 'Manrope'; src: url('assets/fonts/Manrope-Variable.ttf') format('truetype'); font-style: normal; font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('assets/fonts/DMSans-Variable.ttf') format('truetype'); font-style: normal; font-weight: 100 1000; font-display: swap; }
html body { --body: 'DM Sans', Arial, sans-serif; --display: 'Manrope', Arial, sans-serif; --brand: var(--display); --mono: var(--body); font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.6; }
body :is(h1,h2,h3,h4,h5,h6,[role="heading"]) { font-family: var(--display); font-weight: 500; letter-spacing: -.035em; word-spacing: .035em; line-height: 1.12; text-transform: none; text-wrap: balance; }
body :is(h1,h2)[data-heading-style="brand"] { font-family: var(--display); letter-spacing: -.05em; }
body :is(button,input,select,textarea,nav a,.button,.nav-cta,.text-link,.eyebrow) { font-family: var(--body); }
body :is(input,select,textarea) { font-size: 16px; }
body :is(button,.button,.nav-cta) { border-radius: 0; }
body :is(.button,.nav-cta) { font-size: 14px; font-weight: 500; min-height: 48px; padding: 13px 22px; transition: background-color .2s, color .2s; }
body .button-primary { background: var(--accent); color: var(--on-accent); border: 1px solid var(--accent); }
body .button-primary:hover { background: var(--accent-hover); color: var(--on-accent); }
body .text-link { font: 500 14px/1.5 var(--body); text-underline-offset: 5px; }
body .eyebrow { color: var(--muted); font: 500 11px/1.5 var(--body); letter-spacing: .14em; text-transform: uppercase; }
body .eyebrow > span:empty { display: none; }
body .skip-link { z-index: 100; color: var(--on-accent); }
body :focus-visible { outline: 2px solid #356d4e; outline-offset: 5px; }
body a { text-underline-offset: 4px; }
body .site-footer { display: block; padding: 64px var(--gutter) 24px; background: var(--ink); color: #f8faf6; border: 0; }
.footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 60px; }
.footer-intro > p { max-width: 32ch; margin-top: 28px; color: #bfcac0; font-size: 15px; }
.footer-column h2 { font: 400 12px/1.5 var(--body); letter-spacing: .1em; text-transform: uppercase; margin: 0 0 22px; color: #bfcac0; }
.footer-column a { display: block; width: fit-content; margin: 12px 0; text-decoration: none; font-size: 14px; }
.footer-column a:hover { text-decoration: underline; }
.footer-bottom { border-top: 1px solid #435046; display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; color: #bfcac0; font-size: 12px; }
.footer-bottom a { color: inherit; }
.site-footer .footer-bottom p { margin: 0; color: inherit; font-size: 12px; }
.legacy-notice { font-family: var(--body); }
/* Existing account and information pages inherit the same reading system. */
body .store-hero h1 { font-size: clamp(40px, 5.4vw, 80px); max-width: 1050px; overflow-wrap: normal; }
body .store-hero, body .store-section { padding-left: var(--gutter); padding-right: var(--gutter); }
body .store-card, body .review-empty, body .review-policy { border-color: var(--line); }
body .store-card { background: transparent; border-width: 1px 0 0; padding-inline: 0; }
body .store-grid { gap: 32px; }
body .account-secondary { border: 1px solid var(--field-border); background: transparent; color: var(--ink); }
@media (max-width: 760px) { .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; } .footer-intro { grid-column: 1 / -1; } .footer-bottom { flex-direction: column; gap: 12px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
