/* ============================================================
   KEY RANK STRATEGIES MARKETING AGENCY — Global design skin v2
   Applied site-wide. Overrides inherited page-specific styles
   to unify fonts + palette + nav/footer across the whole site.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Figtree:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --krs-ink:#17141f;
  --krs-ink-2:#1f1b2b;
  --krs-ink-3:#2a2538;
  --krs-ink-line:rgba(255,255,255,.08);
  --krs-ink-line-strong:rgba(255,255,255,.14);
  --krs-cream:#f6f2ea;
  --krs-paper:#fbfaf6;
  --krs-primary:#e67a3f;
  --krs-primary-2:#f29a63;
  --krs-accent:#8a4fd9;
  --krs-accent-2:#a975ff;
  --krs-emerald:#2ea878;
  --krs-text:#e9e4d9;
  --krs-text-mid:#9f99a8;
  --krs-text-dim:#726d7a;
  --krs-ink-on-cream:#1a1824;
  --krs-mid-on-cream:#4a4555;
  --krs-font-display:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
  --krs-font-body:'Figtree','DM Sans',system-ui,sans-serif;
  --krs-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  /* OVERRIDE legacy per-page CSS variables so old rules automatically pick up KRS palette.
     IMPORTANT: on old pages, `--ink` meant TEXT COLOR (light grey), not background.
     Map it to our light text color so `color: var(--ink)` body/li rules remain readable. */
  --ink:#e9e4d9;
  --ink-2:#1f1b2b;
  --ink-3:#2a2538;
  --ink-mute:#9f99a8;
  --ink-dim:#726d7a;
  --bg:#17141f;
  --panel:#1f1b2b;
  --panel-hi:#2a2538;
  --border:rgba(255,255,255,.08);
  --border-hi:rgba(255,255,255,.14);
  --brand:#ffffff;
  --accent-green:#e67a3f;   /* legacy green → KRS orange */
  --accent-amber:#f29a63;
  --accent-cyan:#8a4fd9;    /* legacy cyan → KRS purple */
  --primary:#e67a3f;
  --accent:#8a4fd9;
  --font:'Figtree','DM Sans',system-ui,sans-serif;
  --font-sans:'Figtree','DM Sans',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-display:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
}

/* Base typography reset — site-wide */
body{
  background:var(--krs-ink) !important;
  color:var(--krs-text) !important;
  font-family:var(--krs-font-body) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{
  font-family:var(--krs-font-display) !important;
  color:#fff !important;
  letter-spacing:-0.025em !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}
h1{font-size:clamp(2.25rem,4.6vw,4rem) !important;font-weight:800 !important;letter-spacing:-0.035em !important}
h2{font-size:clamp(1.5rem,3vw,2.5rem) !important;font-weight:700 !important}
h3{font-size:clamp(1.05rem,1.5vw,1.25rem) !important}
p,li,span,td{font-family:var(--krs-font-body)}

/* NAV (if existing pages use .nav or <nav>) */
nav,.nav,.navbar,header[role="banner"]{
  background:var(--krs-ink) !important;
  border-bottom:0 !important;
  color:#fff !important;
}
nav a,.nav a,.navbar a{color:var(--krs-text) !important;font-family:var(--krs-font-body) !important;font-weight:600}
nav a:hover,.nav a:hover{color:#fff !important}

/* BUTTONS — restyle common CTA patterns */
.btn-primary,.cta,.cta-primary,button.primary,a.primary,.btn.primary,.button.primary{
  background:var(--krs-primary) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 8px 24px -4px rgba(230,122,63,.55),inset 0 1px 0 rgba(255,255,255,.3) !important;
  border-radius:11px !important;
  font-family:var(--krs-font-body) !important;
  font-weight:700 !important;
}
.btn-primary:hover,.cta:hover,.cta-primary:hover,button.primary:hover{background:var(--krs-primary-2) !important}

/* Section backgrounds — if a page uses dark/light alternation, keep ink family */
section,.section,.sec{color:var(--krs-text)}

/* Cream / light sections — restore readable dark text */
.sec-cream,.sec-paper,.bg-white,.bg-light,[class*="section-light"],[class*="light-bg"]{
  background:var(--krs-cream) !important;color:var(--krs-ink-on-cream) !important;
}
.sec-cream h1,.sec-cream h2,.sec-cream h3,.sec-paper h1,.sec-paper h2,.sec-paper h3,.bg-white h1,.bg-white h2,.bg-white h3{color:var(--krs-ink-on-cream) !important}
.sec-cream p,.sec-paper p,.bg-white p{color:var(--krs-mid-on-cream) !important}

/* Common receipt/proof text — orange accent for metric highlights */
.verified,.gsc-verified,[class*="verified"]{color:var(--krs-emerald);font-family:var(--krs-font-mono) !important}

/* Links */
a{color:var(--krs-primary-2)}
a:hover{color:var(--krs-primary)}

/* Footer — already standardized in prior rebrand pass, just reinforce colors */
.footer,footer{background:#0e0b16 !important;color:var(--krs-text-mid) !important}
.footer h4,.footer h3,footer h4{color:#fff !important;font-family:var(--krs-font-display) !important}
.footer a,footer a{color:var(--krs-text-mid) !important}
.footer a:hover,footer a:hover{color:#fff !important}
.footer-brand{font-family:var(--krs-font-display) !important;color:#fff !important}

/* Code / mono-sans elements — refined */
code,pre,kbd{font-family:var(--krs-font-mono) !important;background:var(--krs-ink-2);color:var(--krs-primary-2);padding:.1rem .4rem;border-radius:4px;font-size:.9em}

/* Legacy green #22c55e → neutralize if any pages still use it */
[style*="22c55e"]{color:var(--krs-primary-2) !important}
/* ======= NAV ======= */
.topbar{
  position:sticky;top:0;z-index:50;
  background:var(--ink);
  border-bottom:0;
}
/* When scrolled past hero, add a subtle divider so sticky nav doesn't float with no boundary over lighter sections */
.topbar.scrolled{background:rgba(23,20,31,.92);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--ink-line)}
.topbar-inner{display:flex;align-items:center;gap:2.5rem;padding:1.1rem var(--sect-x);max-width:var(--maxw);margin:0 auto}
.topbar-inner > .brand{flex-shrink:0}
.brand{
  display:flex;align-items:baseline;gap:.75rem;line-height:1;
  color:#fff;text-decoration:none;
  font-family:var(--font-display);
}
.brand .brand-name{
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:-0.025em;
  color:#fff;
  line-height:1;
  white-space:nowrap;
}
.brand .brand-suffix{
  color:var(--text-mid);
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-left:.7rem;
  border-left:1px solid var(--ink-line-strong);
  align-self:center;
  white-space:nowrap;
  line-height:1;
}
@media(max-width:720px){
  .brand .brand-name{font-size:1rem}
  .brand .brand-suffix{display:none}
}
.topbar-nav{display:flex;align-items:center;gap:.25rem;margin-left:0;margin-right:auto}
.topbar-nav > a,.topbar-nav .nav-trigger{
  padding:.5rem .9rem;font-size:14px;font-weight:600;color:var(--text);letter-spacing:-0.005em;
  border-radius:8px;transition:background .15s,color .15s;
  display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;background:transparent;border:0;font-family:var(--font-body);
}
.topbar-nav > a:hover,.topbar-nav .nav-trigger:hover{background:var(--ink-line);color:#fff}
.topbar-nav .nav-trigger svg{width:12px;height:12px;transition:transform .18s}
.topbar-nav .has-dropdown{position:relative}
.topbar-nav .has-dropdown:hover .nav-trigger svg,.topbar-nav .has-dropdown.open .nav-trigger svg{transform:rotate(180deg)}
.topbar-nav .dropdown{
  position:absolute;top:calc(100% + 8px);left:-8px;
  min-width:260px;max-width:320px;
  background:var(--ink-2);border:1px solid var(--ink-line-strong);
  border-radius:14px;padding:.75rem;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.03) inset;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:60;
}
.topbar-nav .has-dropdown:hover .dropdown,
.topbar-nav .has-dropdown:focus-within .dropdown,
.topbar-nav .has-dropdown.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
/* Invisible bridge so hover doesn't drop between trigger and menu */
.topbar-nav .has-dropdown::after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
.topbar-nav .dropdown a{
  display:flex;flex-direction:column;gap:2px;
  padding:.7rem .85rem;border-radius:8px;
  font-size:13.5px;font-weight:600;color:#fff;line-height:1.3;letter-spacing:0;
  transition:background .15s;text-decoration:none;
}
.topbar-nav .dropdown a .sub{font-size:11.5px;font-weight:500;color:var(--text-mid);letter-spacing:0}
.topbar-nav .dropdown a:hover{background:var(--ink-3)}
.topbar-nav .dropdown a:hover .sub{color:var(--primary-2)}
.topbar-nav .dropdown-head{
  padding:.5rem .85rem .4rem;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;
  color:var(--text-dim);text-transform:uppercase;font-weight:600;
}
.topbar-nav .dropdown-divider{height:1px;background:var(--ink-line);margin:.4rem .5rem}
.topbar-cta{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.6rem 1.05rem;
  background:#fff;color:var(--ink);
  border-radius:9px;font-weight:700;font-size:13.5px;letter-spacing:-0.005em;
  transition:transform .18s,box-shadow .18s;
}
.topbar-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,255,255,.15)}
@media(max-width:900px){.topbar-nav{display:none}}

/* === Legacy nav neutralizer (ensures old .top-nav markup gets hidden if V2 topbar also present) === */
nav.top-nav{display:none !important}
.site-nav,.old-nav{display:none !important}

/* === Topbar forced full-width + solid ink === */
header.topbar,.topbar{
  background:#17141f !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  position:sticky !important;top:0 !important;z-index:50 !important;
}
.topbar-inner{
  background:transparent !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:1rem clamp(1.25rem,4vw,3rem) !important;
}
.brand .brand-name{color:#fff !important}
.brand .brand-suffix{color:#9f99a8 !important}
.topbar-nav > a,.topbar-nav .nav-trigger{color:#e9e4d9 !important}
.topbar-nav > a:hover,.topbar-nav .nav-trigger:hover{color:#fff !important}

/* === Legacy OKLCH accent neutralizer — pages that defined their own --accent in green === */
/* These override page-defined CSS variables that resolved to green #22c55e-ish */
:root{
  --accent:#e67a3f !important;
  --accent-glow:rgba(230,122,63,.25) !important;
  --accent-text:#f29a63 !important;
  --accent-green:#e67a3f !important;
  --accent-amber:#f29a63 !important;
  --accent-cyan:#8a4fd9 !important;
  --primary:#e67a3f !important;
  --canvas:#f6f2ea !important;
}
/* Catch-all for any raw oklch green that's inline-styled */
[style*="oklch(70%"],[style*="oklch(78%"]{color:#f29a63 !important}
