/* ct-scale.css - regenerated 20260813_101916
   Site-wide consistency layer.
   - --ct-root stepped by media query (Safari mis-resolves vw in clamp)
   - Covers .navlinks/.topbar (pricing) AND .main-nav/.site-header (12 pages)
   - Aliases the two palettes so colours match sitewide */
:root{
  --ct-root: 18px;
  --ct-max: min(100% - 32px, 2400px);
  --ct-gutter: clamp(16px, 1.2vw, 32px);
}
@media (min-width: 600px){ :root{ --ct-root:19px; } }
@media (min-width: 900px){ :root{ --ct-root:21px; } }
@media (min-width:1200px){ :root{ --ct-root:23px; } }
@media (min-width:1700px){ :root{ --ct-root:25px; } }
@media (min-width:2200px){ :root{ --ct-root:27px; } }

html body{ font-size:var(--ct-root) !important; line-height:1.6 !important; }
html .wrap, html .container{
  width:var(--ct-max) !important; max-width:2400px !important;
  margin-inline:auto !important; padding-inline:var(--ct-gutter) !important;
}
html .hero p, html .section-head p, html details p, html .closing p{ max-width:72ch !important; }

/* BOTH nav systems, identical sizing */
html .navlinks > *, html .main-nav > *, html .topbar nav > *,
html .navlinks > * > a, html .main-nav > * > a,
html .navlinks a, html .main-nav a, html .site-header nav a, html .topbar a,
html .main-nav button, html .navlinks button, html .site-header nav button,
html .main-nav summary, html .site-header nav summary{
  font-size:calc(var(--ct-root) * 1.05) !important; font-weight:600 !important;
}
html .navlinks, html .main-nav{ gap:calc(var(--ct-root) * 1.2) !important; }
html .brand{ font-size:calc(var(--ct-root) * 1.55) !important; }
html .nav-cta{ font-size:calc(var(--ct-root) * 1.0) !important; padding:.6em 1.3em !important; }
html .nav, html .topbar .wrap, html .site-header{ min-height:calc(var(--ct-root) * 3.4) !important; }

html h1{ font-size:calc(var(--ct-root) * 2.6) !important; line-height:1.05 !important; }
html h2{ font-size:calc(var(--ct-root) * 1.9) !important; line-height:1.15 !important; }
html h3{ font-size:calc(var(--ct-root) * 1.35) !important; }
html p, html li, html td{ font-size:inherit; }
html .includes{ font-size:calc(var(--ct-root) * 0.78) !important; letter-spacing:.06em !important; }
html .auth-card, html .signup-card, html form.auth-form{
  width:min(560px, 92%) !important; margin-inline:auto !important;
}
@media (min-width:1500px){ html .cards{ gap:24px !important; } }
@media (max-width:760px){ :root{ --ct-max:100% !important; } }

/* brand must not be shrunk by the nav rule */
html .brand, html .brand *{ font-size:inherit !important; }
html .brand{ font-size:calc(var(--ct-root) * 1.55) !important; }

/* Library / Shop dropdown triggers - buttons, not anchors */
html .shop-trigger, html .shop-menu > button, html .nav-toggle{
  font-size:calc(var(--ct-root) * 1.05) !important; font-weight:600 !important;
}
html .shop-dropdown a b{ font-size:calc(var(--ct-root) * 0.95) !important; }
html .shop-dropdown a span{ font-size:calc(var(--ct-root) * 0.82) !important; }

/* Card treatment lifted from pricing.html - removed for now.
   .library-section is a full-width centered block with no bounded inner
   wrapper, so this needs a markup change (card grid), not a CSS append.
   See handover note. */
