/* Quiet Mind Sleep — design system. One file, no build step. */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/fraunces-latin-wght-normal.woff2') format('woff2-variations'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/fraunces-latin-wght-italic.woff2') format('woff2-variations'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-latin-wght-normal.woff2') format('woff2-variations'); }

:root {
  --c-navy: #1b2a41; --c-navy-deep: #12203a; --c-ink: #26313d; --c-body: #3a4552; --c-muted: #6b7684;
  --c-cream: #faf7f2; --c-sand: #f1e9dc; --c-sand-deep: #e8dfcd; --c-line: #e3dbcc; --c-white: #fffdf9;
  --c-sage: #4f7d6d; --c-sage-dark: #3b6255; --c-sage-soft: #e6efeb;
  --c-gold: #b8862b; --c-gold-deep: #96691c; --c-gold-soft: #f7edd6;
  --c-rose: #c98b74; --c-rose-soft: #f8e9e2;
  --c-mist: #b9c6de;
  --f-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --f-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --w-wrap: 1180px; --w-narrow: 740px; --w-sidebar: 320px;
  --r-sm: 6px; --r-md: 12px; --r-lg: 18px;
  --shadow-sm: 0 1px 2px rgba(27,42,65,.06), 0 1px 1px rgba(27,42,65,.04);
  --shadow-md: 0 6px 20px rgba(27,42,65,.08);
  --ease: cubic-bezier(.2,.7,.3,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--c-cream); color: var(--c-body); font-family: var(--f-sans); font-size: 1.0625rem; line-height: 1.65; font-variation-settings: 'wght' 400; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--c-sage-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .15s var(--ease); }
a:hover { color: var(--c-navy); }
:focus-visible { outline: 3px solid var(--c-gold); outline-offset: 2px; border-radius: 3px; }
h1, h2, h3, h4 { font-family: var(--f-serif); color: var(--c-navy); line-height: 1.15; margin: 0 0 .5em; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.1rem); font-variation-settings: 'wght' 520, 'SOFT' 50; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.95rem); margin-top: 2em; }
h3 { font-size: clamp(1.2rem, 1.1rem + .5vw, 1.4rem); margin-top: 1.6em; }
h4 { font-size: 1.1rem; margin-top: 1.2em; }
p { margin: 0 0 1.15em; }
ul, ol { padding-left: 1.4em; margin: 0 0 1.2em; }
li { margin-bottom: .4em; }
strong { font-weight: 640; color: var(--c-ink); }
hr { border: 0; border-top: 1px solid var(--c-line); margin: 2.5rem 0; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; padding: .7rem .8rem; border-bottom: 1px solid var(--c-line); vertical-align: top; }
th { font-weight: 640; color: var(--c-navy); background: var(--c-sand); }
caption { caption-side: top; text-align: left; font-family: var(--f-serif); font-size: 1.05rem; color: var(--c-navy); padding: .5rem 0 .6rem; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92em; background: var(--c-sand); padding: .1em .35em; border-radius: 4px; }
time { white-space: nowrap; }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 1rem; top: -4rem; background: var(--c-navy); color: #fff; padding: .6rem 1rem; border-radius: var(--r-sm); z-index: 100; }
.skip-link:focus { top: 1rem; }
.wrap { width: min(100% - 2rem, var(--w-wrap)); margin-inline: auto; }
.wrap-narrow { width: min(100% - 2rem, var(--w-narrow)); margin-inline: auto; }
.section { padding-block: clamp(2.2rem, 4vw, 3.6rem); }
.section-tint { background: var(--c-sand); }
.section-head { max-width: 60ch; margin-bottom: 1.6rem; }
.section-head p { color: var(--c-muted); margin: 0; }
.section-title { margin-top: 0; }
.kicker { font-family: var(--f-sans); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 640; color: var(--c-sage-dark); margin-bottom: .8rem; }
.kicker a { text-decoration: none; }
.standfirst { font-size: clamp(1.1rem, 1rem + .5vw, 1.3rem); line-height: 1.5; color: var(--c-ink); font-weight: 420; max-width: 60ch; text-wrap: pretty; }
.text-link { font-weight: 560; text-decoration: none; border-bottom: 1px solid currentColor; }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .8rem 1.3rem; border-radius: 999px; font-weight: 600; font-size: .98rem; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; font-family: var(--f-sans); line-height: 1.2; transition: background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease); }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--c-navy); color: #fff; }
.btn-primary:hover { background: var(--c-navy-deep); color: #fff; box-shadow: var(--shadow-md); }
.btn-secondary { background: transparent; color: var(--c-navy); border-color: var(--c-navy); }
.btn-secondary:hover { background: var(--c-navy); color: #fff; }
.btn-affiliate { background: var(--c-gold); color: #fff; }
.btn-affiliate:hover { background: var(--c-gold-deep); color: #fff; box-shadow: var(--shadow-md); }
.btn-small { padding: .5rem .9rem; font-size: .86rem; }

/* Header */
.site-header { background: var(--c-white); border-bottom: 1px solid var(--c-line); position: relative; z-index: 20; }
.header-row { display: flex; align-items: center; gap: 1.2rem; padding-block: .9rem; }
.brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--c-navy); }
.brand-mark svg { width: 34px; height: 34px; }
.brand-name { font-family: var(--f-serif); font-size: 1.35rem; font-weight: 560; letter-spacing: -.01em; white-space: nowrap; }
.brand-name em { font-style: italic; font-weight: 400; color: var(--c-sage-dark); }
.header-search { margin-left: auto; display: flex; align-items: center; border: 1px solid var(--c-line); border-radius: 999px; background: var(--c-cream); padding: .15rem .25rem .15rem .9rem; max-width: 300px; flex: 1; }
.header-search input { border: 0; background: transparent; font: inherit; font-size: .92rem; width: 100%; min-width: 0; color: var(--c-ink); }
.header-search input:focus { outline: none; }
.header-search button { border: 0; background: var(--c-navy); color: #fff; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.nav-toggle { display: none; border: 1px solid var(--c-line); background: var(--c-white); width: 42px; height: 42px; border-radius: var(--r-sm); position: relative; cursor: pointer; }
.nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { content: ''; position: absolute; left: 11px; width: 20px; height: 2px; background: var(--c-navy); border-radius: 2px; transition: transform .2s var(--ease), opacity .2s; }
.nav-toggle-bar { top: 20px; }
.nav-toggle-bar::before { top: -6px; left: 0; } .nav-toggle-bar::after { top: 6px; left: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::after { transform: translateY(-6px) rotate(-45deg); }
.primary-nav { background: var(--c-navy); }
.primary-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .2rem; flex-wrap: wrap; }
.primary-nav a { display: block; color: #e9e2d4; text-decoration: none; padding: .7rem .85rem; font-size: .9rem; font-weight: 520; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.primary-nav a:hover { color: #fff; }
.primary-nav a[aria-current="page"] { color: #fff; border-bottom-color: var(--c-gold); }
@media (max-width: 900px) {
  .header-search { max-width: none; }
  .nav-toggle { display: block; }
  .primary-nav { display: none; }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { flex-direction: column; padding-block: .4rem; }
  .primary-nav a { padding: .8rem .5rem; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 1rem; }
}
@media (max-width: 560px) { .header-search { display: none; } .header-row { justify-content: space-between; } }

/* Breadcrumbs */
.breadcrumbs ol { list-style: none; padding: 0; margin: 0 0 1.2rem; display: flex; flex-wrap: wrap; gap: .3rem; font-size: .84rem; color: var(--c-muted); }
.breadcrumbs li + li::before { content: '/'; margin-right: .3rem; color: var(--c-line); }
.breadcrumbs a { color: var(--c-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--c-navy); text-decoration: underline; }

/* Hero (home) */
.hero { background: linear-gradient(180deg, var(--c-white) 0%, var(--c-cream) 100%); border-bottom: 1px solid var(--c-line); }
.hero-grid { display: grid; gap: 2.5rem; align-items: center; padding-block: clamp(2.5rem, 5vw, 5rem); }
@media (min-width: 900px) { .hero-grid { grid-template-columns: 1.1fr 1fr; } }
.hero-copy h1 { margin-bottom: .6em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.hero-art .illustration { border-radius: var(--r-lg); box-shadow: var(--shadow-md); }
.illustration { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--c-navy); }
.hero-illustration { border-radius: var(--r-lg); }

/* Topic grid */
.topic-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.topic-card { display: flex; flex-direction: column; height: 100%; background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); overflow: hidden; text-decoration: none; color: inherit; transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.topic-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.topic-art .illustration { aspect-ratio: 16 / 7; }
.topic-body { padding: 1rem 1.1rem 1.2rem; display: grid; gap: .3rem; }
.topic-body strong { font-family: var(--f-serif); font-size: 1.2rem; color: var(--c-navy); font-weight: 520; }
.topic-body span { color: var(--c-muted); font-size: .93rem; line-height: 1.5; }

/* Cards */
.card-grid { display: grid; gap: 1.3rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.card-grid-3 { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.card-grid-4 { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.card { background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); overflow: hidden; display: flex; flex-direction: column; transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.card-media { display: block; }
.card-illustration { aspect-ratio: 16 / 8; }
.card-body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.card-kicker { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 640; color: var(--c-sage-dark); text-decoration: none; }
.card-title { margin: 0; font-size: 1.22rem; line-height: 1.25; }
.card-title a { color: var(--c-navy); text-decoration: none; }
.card-title a:hover { text-decoration: underline; text-decoration-color: var(--c-gold); }
.card-desc { color: var(--c-muted); font-size: .94rem; line-height: 1.5; margin: 0; flex: 1; }
.card-meta { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; color: var(--c-muted); margin: .3rem 0 0; }
.card-grid-compact .card-media { display: none; }
.card-grid-compact .card-title { font-size: 1.1rem; }

/* Trust section */
.trust-grid { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 900px) { .trust-grid { grid-template-columns: 1.2fr 1fr; } }
.trust-points { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.trust-points li { display: flex; gap: .8rem; align-items: flex-start; background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem 1.1rem; }
.trust-points svg { flex: none; color: var(--c-gold); margin-top: .15rem; }
.trust-points strong { display: block; color: var(--c-navy); }

/* Hub */
.hub-header { background: var(--c-white); border-bottom: 1px solid var(--c-line); }
.hub-header-grid { display: grid; gap: 2rem; align-items: center; padding-block: clamp(2rem, 4vw, 3.5rem); }
@media (min-width: 900px) { .hub-header-grid { grid-template-columns: 1.2fr .8fr; } }
.hub-hero .illustration { border-radius: var(--r-lg); box-shadow: var(--shadow-md); }
.hub-count { color: var(--c-muted); font-size: .9rem; }
.hub-related-grid { display: grid; gap: 2.5rem; }
@media (min-width: 900px) { .hub-related-grid { grid-template-columns: 1fr 1fr; } }
.hub-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.hub-list a { display: grid; gap: .15rem; padding: 1rem 1.1rem; background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); text-decoration: none; color: inherit; }
.hub-list a:hover { border-color: var(--c-sage); }
.hub-list strong { color: var(--c-navy); font-family: var(--f-serif); font-size: 1.1rem; font-weight: 520; }
.hub-list span { color: var(--c-muted); font-size: .92rem; }
.link-list { list-style: none; padding: 0; margin: 0; }
.link-list li { padding: .55rem 0; border-bottom: 1px solid var(--c-line); margin: 0; }
.link-list a { text-decoration: none; font-weight: 540; color: var(--c-navy); }
.link-list a:hover { color: var(--c-sage-dark); text-decoration: underline; }
.link-list-desc li { display: grid; gap: .2rem; }
.link-list-desc span { color: var(--c-muted); font-size: .9rem; }

/* Article */
.article-header { padding-top: 1.5rem; }
.article-header h1 { margin-bottom: .5em; }
.article-meta { font-size: .86rem; color: var(--c-muted); margin: 0 0 .6rem; }
.affiliate-line { font-size: .82rem; color: var(--c-muted); margin: 0 0 1.5rem; padding: .5rem .8rem; background: var(--c-sand); border-radius: var(--r-sm); display: inline-block; }
.article-hero { margin-bottom: 2rem; }
.article-layout { display: grid; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .article-layout { grid-template-columns: minmax(0, 1fr) var(--w-sidebar); } .article-layout .wrap-narrow { margin-inline: 0; width: min(100%, var(--w-narrow)); margin-left: auto; margin-right: 2rem; } }
.article-body { font-size: 1.0925rem; }
.article-body > p:first-of-type { font-size: 1.14rem; color: var(--c-ink); }
.article-body h2 { padding-top: .4rem; }
.article-body img { border-radius: var(--r-md); }
.article-body a:not(.btn) { font-weight: 540; }
.article-body ul li::marker { color: var(--c-gold); }
.article-body ol li::marker { color: var(--c-sage-dark); font-weight: 640; }
.article-body blockquote { margin: 1.8rem 0; padding: 1rem 1.3rem; border-left: 4px solid var(--c-gold); background: var(--c-white); border-radius: 0 var(--r-md) var(--r-md) 0; font-style: italic; color: var(--c-ink); }
.article-body blockquote p:last-child { margin: 0; }
.callout { font-style: normal !important; background: var(--c-gold-soft) !important; border-left-color: var(--c-gold) !important; }
.callout strong { color: var(--c-gold-deep); }
.callout-health { margin: 2rem 0; padding: 1rem 1.2rem; background: var(--c-sage-soft); border: 1px solid #cfe0d8; border-radius: var(--r-md); font-size: .95rem; color: var(--c-ink); }
.callout-health strong { color: var(--c-sage-dark); }
.editorial-note { font-size: .86rem; color: var(--c-muted); border-top: 1px solid var(--c-line); padding-top: 1.2rem; margin-top: 2.5rem; }

/* TOC */
.toc { background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1.1rem 1.4rem; margin: 0 0 2rem; }
.toc h2 { font-size: .8rem; font-family: var(--f-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 .6rem; }
.toc ol { margin: 0; padding-left: 1.2em; columns: 2; column-gap: 2rem; }
.toc li { font-size: .95rem; break-inside: avoid; margin-bottom: .35rem; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }
@media (max-width: 600px) { .toc ol { columns: 1; } }

/* Sidebar */
.article-sidebar { display: grid; gap: 1.5rem; position: sticky; top: 1rem; }
@media (max-width: 1023px) { .article-sidebar { position: static; width: min(100% - 0px, var(--w-narrow)); margin-inline: auto; } }
.sidebar-block { background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1.2rem 1.3rem; }
.sidebar-block h2 { font-size: 1.05rem; margin: 0 0 .6rem; }
.sidebar-block .link-list a { font-size: .93rem; font-weight: 500; }
.sidebar-block .text-link { display: inline-block; margin-top: .8rem; font-size: .9rem; }
.sidebar-commercial { background: var(--c-gold-soft); border-color: #eadcb8; }

/* Product components */
.product-section { margin: 2.5rem 0; padding: 1.5rem; background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-lg); }
.product-section-head h3 { margin-top: 0; }
.product-section-head > p { color: var(--c-muted); }
.affiliate-notice { display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; color: var(--c-muted); background: var(--c-sand); padding: .7rem .9rem; border-radius: var(--r-sm); margin: .8rem 0 1.4rem; }
.affiliate-notice svg { flex: none; margin-top: .1rem; color: var(--c-gold-deep); }
.affiliate-notice.small { display: block; background: transparent; padding: 0; margin: 1.5rem 0 0; }
.product-list { display: grid; gap: 1.2rem; }
.product-box { border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1.3rem 1.4rem; background: var(--c-cream); }
.product-kicker { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-gold-deep); font-weight: 640; }
.product-name { margin: .25rem 0 .2rem; font-size: 1.3rem; }
.product-brand { font-size: .88rem; color: var(--c-muted); margin-bottom: .8rem; }
.product-desc { font-size: .97rem; }
.product-facts { display: grid; gap: .6rem; margin: 1rem 0; }
@media (min-width: 640px) { .product-facts { grid-template-columns: 1fr 1fr; } }
.product-facts div { background: var(--c-white); border-radius: var(--r-sm); padding: .6rem .8rem; border: 1px solid var(--c-line); }
.product-facts dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); font-weight: 640; margin-bottom: .15rem; }
.product-facts dd { margin: 0; font-size: .93rem; color: var(--c-ink); }
.product-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: .6rem; }
.product-note { font-size: .8rem; color: var(--c-muted); }
.table-wrap { overflow-x: auto; margin: 1.8rem 0 .6rem; border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-white); }
.compare-table { min-width: 720px; }
.compare-table caption { padding: .9rem 1rem .5rem; }
.compare-table th[scope="row"] { background: var(--c-white); color: var(--c-navy); font-family: var(--f-serif); font-size: 1.02rem; font-weight: 540; }
.table-sub { display: block; font-family: var(--f-sans); font-size: .78rem; color: var(--c-muted); font-weight: 400; margin-top: .2rem; }
.compare-table td { font-size: .92rem; }
.compare-table .btn-small { white-space: nowrap; }

/* FAQ */
.faq { margin-top: 2.5rem; }
.faq-item { border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-white); margin-bottom: .7rem; }
.faq-item summary { cursor: pointer; padding: .95rem 1.2rem; font-weight: 600; color: var(--c-navy); list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-family: var(--f-serif); font-size: 1.4rem; color: var(--c-gold); flex: none; line-height: 1; }
.faq-item[open] summary::after { content: '−'; }
.faq-answer { padding: 0 1.2rem 1rem; font-size: .98rem; }
.faq-answer p:last-child { margin-bottom: 0; }

/* Sources */
.sources { margin-top: 2.5rem; font-size: .9rem; color: var(--c-muted); }
.sources h2 { font-size: 1.05rem; font-family: var(--f-sans); letter-spacing: .05em; text-transform: uppercase; color: var(--c-muted); }
.sources ol { padding-left: 1.2em; }
.sources a { color: var(--c-sage-dark); }

/* Read next */
.read-next { padding-block: 2.5rem 1rem; border-top: 1px solid var(--c-line); margin-top: 2rem; }
.read-next h2 { margin-top: 0; }

/* Email capture */
.email-capture { display: grid; gap: 1rem; grid-template-columns: auto 1fr; align-items: start; background: var(--c-navy); color: #e9e2d4; border-radius: var(--r-lg); padding: 1.6rem 1.7rem; }
.email-capture h3 { color: #fff; margin: 0 0 .3rem; font-size: 1.35rem; }
.email-capture p { margin: 0 0 .9rem; font-size: .95rem; }
.email-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; color: var(--c-gold); }
.email-form { display: flex; flex-wrap: wrap; gap: .6rem; }
.email-form input { flex: 1 1 220px; padding: .75rem 1rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: .95rem; }
.email-form input::placeholder { color: rgba(255,255,255,.55); }
.email-form .btn-primary { background: var(--c-gold); color: #fff; }
.email-form .btn-primary:hover { background: var(--c-gold-deep); }
.email-privacy, .email-fallback { flex-basis: 100%; font-size: .8rem; opacity: .8; margin: .3rem 0 0; }
.email-privacy a, .email-fallback a { color: #fff; }
.email-capture.sidebar { grid-template-columns: 1fr; padding: 1.3rem; }
.email-capture.sidebar .email-icon { display: none; }
.email-capture.sidebar h3 { font-size: 1.15rem; }
.email-capture.inline { margin: 2.5rem 0; }
.email-capture.wide { padding: clamp(1.6rem, 3vw, 2.6rem); }
@media (max-width: 560px) { .email-capture { grid-template-columns: 1fr; } .email-icon { display: none; } }

/* Static pages and search */
.static-page .article-body { padding-bottom: 3rem; }
.search-form { display: flex; gap: .6rem; margin: 1rem 0 2rem; }
.search-form input { flex: 1; padding: .8rem 1.1rem; border: 1px solid var(--c-line); border-radius: 999px; font: inherit; background: var(--c-white); }
.search-results { display: grid; gap: 1rem; padding-bottom: 3rem; }
.search-result { background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem 1.2rem; }
.search-result h2 { font-size: 1.15rem; margin: 0 0 .3rem; }
.search-result h2 a { text-decoration: none; }
.search-result p { margin: 0; color: var(--c-muted); font-size: .93rem; }
.search-result .card-kicker { display: block; margin-bottom: .3rem; }
.sitemap-page section { margin-bottom: 2rem; }
.sitemap-page h2 { font-size: 1.3rem; }
.contact-list { list-style: none; padding: 0; }
.contact-list li { background: var(--c-white); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem 1.2rem; margin-bottom: .8rem; }

/* Footer */
.site-footer { background: var(--c-navy-deep); color: #c9c3b6; margin-top: 4rem; font-size: .92rem; }
.footer-grid { display: grid; gap: 2rem; padding-block: 3rem 2rem; }
@media (min-width: 800px) { .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.brand-footer .brand-name { color: #fff; }
.brand-footer .brand-name em { color: var(--c-gold); }
.footer-about p { margin-top: 1rem; }
.footer-disclaimer { font-size: .8rem; opacity: .75; line-height: 1.5; }
.footer-col h2 { font-family: var(--f-sans); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin: 0 0 .8rem; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: .45rem; }
.footer-col a, .footer-bottom a { color: #d9d3c6; text-decoration: none; }
.footer-col a:hover, .footer-bottom a:hover { color: #fff; text-decoration: underline; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-block: 1.2rem; font-size: .82rem; opacity: .85; }
.footer-bottom p { margin: 0; }

@media print { .site-header, .site-footer, .article-sidebar, .email-capture, .read-next, .product-cta { display: none !important; } body { background: #fff; color: #000; } a { color: #000; } }
