/* LIWAY typography: mobile endpoint 390px, desktop endpoint 1280px.
   rem-based endpoints preserve browser text scaling; vw interpolates fluidly. */
:root{
 --home-h1:clamp(2.375rem,1.663rem + 2.921vw,4rem);
 --article-h1:clamp(2.125rem,1.522rem + 2.472vw,3.5rem);
 --h2:clamp(1.875rem,1.601rem + 1.124vw,2.5rem);
 --h3:clamp(1.5rem,1.39rem + .449vw,1.75rem);
 --card-title:clamp(1.25rem,1.195rem + .225vw,1.375rem);
 --intro:clamp(1.125rem,1.07rem + .225vw,1.25rem);
 --body-size:clamp(1rem,.973rem + .1124vw,1.0625rem);
 --product-size:.9375rem;
 --nav-size:clamp(.875rem,.965rem - .1124vw,.9375rem);
 --button-size:.875rem;--label-size:.75rem;--caption-size:.8125rem;
}
body{font-family:var(--sans);font-size:var(--body-size);line-height:1.7;color:var(--ink)}
h1,.hero h1{font-size:var(--home-h1);line-height:1.12;letter-spacing:-.03em}
.article-header h1,.category-layout h1,.text-page h1{font-size:var(--article-h1);line-height:1.15}
h2,.section-head h2,.feature-copy h2,.footer h2,.article-body h2,.article-body .choice-primer h2,.text-page h2{font-size:var(--h2);line-height:1.2}
h3,.space-card h3,.pillar-grid h3,.product-copy h3{font-size:var(--h3);line-height:1.25}
.story-card h3,.choice-grid h3{font-size:var(--card-title);line-height:1.3}
.hero-deck,.article-deck,.text-page .lead,.article-header h1 span{font-size:var(--intro);line-height:1.6}
.article-header h1 span{font-family:var(--sans);font-weight:400;letter-spacing:0;color:var(--ink)}
.article-body{font-size:var(--body-size);line-height:1.7;max-width:72ch}
.article-body>section>p{max-width:72ch}
.desktop-nav a,.mobile-nav nav a,.mobile-nav summary{font-family:var(--sans);font-size:var(--nav-size)}
.button,.text-link,.footer-grid a,.search-controls input{font-family:var(--sans);font-size:var(--button-size)}
.eyebrow,.card-meta,.status-label,.preview-bar{font-family:var(--label);font-weight:500;font-size:var(--label-size);line-height:1.6}
.fine,figcaption,.hero-image figcaption,.hero-foot,.article-meta,.space-caption,.footer-bottom,.breadcrumb,.feature-copy .fine,.product-pending small{font-family:var(--label);font-weight:500;font-size:var(--caption-size);line-height:1.65}
.section-head>p,.story-card p,.feature-copy p:not(.eyebrow),.finds-grid>div,.pillar-grid p,.footer-grid>div:last-child,.product-copy>p,.product-copy dl,.product-copy details,.product-copy .pending-cta,.choice-grid p,.process-grid p,.draft-note,.toc a{font-size:var(--product-size);line-height:1.7}
.introduction p,.large-copy,.article-body blockquote,.product-pending p{font-size:var(--h3);line-height:1.45}
.process-grid strong{font-size:var(--h3)}
.feature figcaption{position:static;background:var(--ivory);color:var(--brown);padding:10px 0;margin:0;text-shadow:none}
.feature figure{display:flex;flex-direction:column}.feature img{flex:1;min-height:0}
.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 14px}.article-meta span{display:inline}
.header{height:auto;min-height:92px;padding-block:14px}.desktop-nav{gap:24px}
.search-page form{margin-block:32px}.search-page label{display:block;font-weight:600;margin-bottom:12px}
.search-controls{display:flex;gap:12px}.search-controls input{min-width:0;flex:1;background:var(--ivory);border:1px solid var(--brown);padding:12px;color:var(--ink)}
input:focus-visible{outline:3px solid var(--burgundy);outline-offset:3px}
.search-result{padding-block:28px;border-bottom:1px solid var(--rule)}.search-result h2{font-size:var(--h3);margin-block:12px}.search-result p{margin:0}.search-result[hidden]{display:none}
@media(max-width:800px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{width:calc(100% - 40px)}.toc nav{gap:14px}.article-meta{gap:8px}.header{min-height:86px}.hero-actions{align-items:start}.hero h1 br{display:none}}
@media(max-width:360px){.choice-grid{grid-template-columns:1fr}.search-controls{flex-direction:column}.header{gap:8px}.brand{width:140px}}
