/* Shared type system. Native system font stacks; no font downloads or bundled font files. */
:root,.type-preview{
  --sans:'Aptos','Segoe UI',Arial,sans-serif;
  --serif:Georgia,'Times New Roman',serif;
  --type-display:clamp(2.5rem,1.55rem + 3.2vw,4.3rem);
  --type-section:clamp(1.9rem,1.3rem + 1.6vw,2.75rem);
  --type-card:clamp(1.35rem,1.16rem + .65vw,1.6rem);
  --type-body:clamp(.875rem,.84rem + .16vw,.9375rem);
  --type-leading:1.75;
  --type-tracking:-.035em;
}
[data-typography=modern]{--serif:var(--sans);--type-tracking:-.045em}
[data-typography=system]{--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif;--type-tracking:-.035em}
[data-type-scale=comfortable]{--type-display:clamp(2.8rem,1.6rem + 3.5vw,4.6rem);--type-section:clamp(2rem,1.4rem + 1.8vw,3rem);--type-card:clamp(1.4rem,1.25rem + .6vw,1.75rem);--type-body:clamp(.9375rem,.9rem + .16vw,1rem);--type-leading:1.8}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--sans);font-kerning:normal;font-variant-ligatures:common-ligatures}
button,input,textarea,select{font-family:var(--sans)}
h1,h2,h3{font-kerning:normal;text-wrap:balance;overflow-wrap:anywhere}
p,li{overflow-wrap:anywhere}p{ text-wrap:pretty }
.eyebrow,.nav-label{font-variant-ligatures:none;line-height:1.5}
.product-price,.money,.metric-card strong,.chart-total,.chart-readout,.analytics-data td,.filter-count{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.article-body{max-width:68ch;line-height:1.9;text-wrap:pretty;overflow-wrap:anywhere}
.form-error,.form-status,.upload-status{max-width:75ch;line-height:1.7}
input[type=email],input[type=url],.mono{font-variant-ligatures:none;letter-spacing:0}
/* Public hierarchy: sizes adapt to the viewport, with explicit readable bounds. */
[data-surface=public] body{font-size:var(--type-body);line-height:var(--type-leading)}
[data-surface=public] h1{font-family:var(--serif);font-size:var(--type-display);font-weight:400;line-height:1.12;letter-spacing:var(--type-tracking)}
[data-surface=public] h2{font-family:var(--serif);font-size:var(--type-section);font-weight:400;line-height:1.23;letter-spacing:var(--type-tracking)}
[data-surface=public] .section-heading h2{max-width:23ch}
[data-surface=public] .media-card h3,[data-surface=public] .product-card h3,[data-surface=public] .service-card h3,[data-surface=public] .insight-card h3{font-family:var(--serif);font-size:var(--type-card);line-height:1.3;letter-spacing:-.02em}
[data-surface=public] .profile-card-bio,[data-surface=public] .card-copy>p,[data-surface=public] .service-card p,[data-surface=public] .insight-card>p:not(.eyebrow){font-size:var(--type-body);line-height:1.8}
[data-surface=public] .product-price{font-size:1rem;font-weight:700;line-height:1.5}
[data-surface=public] .hero-copy>p:not(.eyebrow){max-width:51ch}
[data-surface=public] .eyebrow{font-size:.625rem;letter-spacing:.18em}
[data-surface=public] .article-body{font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem)}
[data-surface=public] h2[data-copy-length=extended]{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.25rem);max-width:30ch}
[data-surface=public] :is(.media-card,.product-card,.service-card,.insight-card) h3[data-copy-length=long]{font-size:clamp(1.2rem,1rem + .55vw,1.45rem)}
[data-surface=public] :is(.media-card,.product-card,.service-card,.insight-card) h3[data-copy-length=extended]{font-size:clamp(1.125rem,.98rem + .5vw,1.35rem)}
/* Keep administrative controls practical; use display type only for editorial moments. */
[data-surface=admin] .login-story h2{font-size:clamp(2rem,1.4rem + 2.25vw,3.5rem);line-height:1.16;letter-spacing:-.035em}
[data-surface=admin] .login-card h1{font-size:clamp(2.1rem,1.5rem + 2vw,2.875rem);line-height:1.15;letter-spacing:-.035em}
[data-surface=admin] .welcome-panel h2{font-size:clamp(1.7rem,1.4rem + .8vw,2rem);line-height:1.25;letter-spacing:-.025em}
[data-surface=admin] .analytics-header h2{font-size:clamp(1.55rem,1.3rem + .7vw,1.85rem);line-height:1.3;letter-spacing:-.025em}
[data-surface=admin] .content-card h3{line-height:1.4;font-size:1.0625rem;letter-spacing:-.015em}
[data-surface=admin] .content-card h3[data-copy-length=extended]{font-size:1rem}
[data-surface=admin] .metric-card strong{font-size:1.9rem;line-height:1.2}
[data-surface=admin] .chart-total{font-size:1.6rem;line-height:1.3}
[data-surface=admin] .field-hint,[data-surface=admin] .chart-note,[data-surface=admin] .analytics-stamp{font-size:.6875rem;line-height:1.8}
[data-surface=verify] h1{font-size:clamp(2rem,1.3rem + 2.2vw,2.875rem);line-height:1.2;letter-spacing:-.035em}
[data-surface=verify] h2{line-height:1.3;letter-spacing:-.025em}
.type-preview{border:1px solid #705574;border-radius:9px;background:radial-gradient(ellipse at 100% 0,#755d4333,transparent 65%),#201727;padding:27px 30px;margin-bottom:26px;font-family:var(--sans)}
.type-preview h2{font:400 var(--type-section)/1.25 var(--serif);letter-spacing:var(--type-tracking);max-width:22ch;margin:8px 0 15px}
.type-preview .type-specimen-body{font:400 var(--type-body)/var(--type-leading) var(--sans);max-width:60ch;color:#d3c3db}
.type-preview .type-specimen-digits{font:400 1rem/1.6 var(--sans);font-variant-numeric:lining-nums tabular-nums;color:#e5c580;letter-spacing:.08em;margin-top:18px}
.type-preview .type-preview-note{font:400 .6875rem/1.8 var(--sans);color:#b4a6c1;margin-top:14px}
@media(max-width:600px){input,textarea,select{font-size:1rem}.type-preview{padding:24px 20px}.type-preview h2{font-size:1.8rem}.chart-axis{font-size:13px}}
@media(prefers-reduced-motion:reduce){.type-preview{transition:none}}
