
:root {
  --gr-bg: #f5f1e8;
  --gr-surface: #fbf8f2;
  --gr-surface-2: #ece6da;
  --gr-text: #111111;
  --gr-muted: #6f6a61;
  --gr-border: rgba(17,17,17,.14);
  --gr-accent: #b69762;
  --gr-accent-2: #7c6844;
  --gr-inverse: #0e0e0e;
  --gr-inverse-text: #f7f3ea;
  --gr-shadow: 0 30px 80px rgba(0,0,0,.08);
  --gr-radius: 22px;
  --gr-max: 1240px;
}

html[data-gr-theme="dark"] {
  --gr-bg: #0b0b0b;
  --gr-surface: #111111;
  --gr-surface-2: #171717;
  --gr-text: #f2eee6;
  --gr-muted: #a39c90;
  --gr-border: rgba(255,255,255,.12);
  --gr-accent: #c4a978;
  --gr-accent-2: #e0c99d;
  --gr-inverse: #eee9df;
  --gr-inverse-text: #101010;
  --gr-shadow: 0 30px 100px rgba(0,0,0,.35);
}

@media (prefers-color-scheme: dark) {
  html:not([data-gr-theme]) {
    --gr-bg: #0b0b0b;
    --gr-surface: #111111;
    --gr-surface-2: #171717;
    --gr-text: #f2eee6;
    --gr-muted: #a39c90;
    --gr-border: rgba(255,255,255,.12);
    --gr-accent: #c4a978;
    --gr-accent-2: #e0c99d;
    --gr-inverse: #eee9df;
    --gr-inverse-text: #101010;
    --gr-shadow: 0 30px 100px rgba(0,0,0,.35);
  }
}

body.growth-reviewed {
  margin: 0;
  background: var(--gr-bg);
  color: var(--gr-text);
  transition: background-color .25s ease, color .25s ease;
}

body.growth-reviewed,
body.growth-reviewed button,
body.growth-reviewed input {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.growth-reviewed h1,
body.growth-reviewed h2,
body.growth-reviewed h3,
body.growth-reviewed p { margin-top: 0; }

.gr-site-shell { min-height: 100vh; background: var(--gr-bg); color: var(--gr-text); }
.gr-container { width: min(calc(100% - 48px), var(--gr-max)); margin: 0 auto; }

.gr-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(18px);
  background: color-mix(in srgb, var(--gr-bg) 84%, transparent);
  border-bottom: 1px solid var(--gr-border);
}
.gr-header-inner { height: 78px; display:flex; align-items:center; gap:32px; }
.gr-brand { display:flex; align-items:center; gap:12px; color:var(--gr-text); text-decoration:none; white-space:nowrap; }
.gr-mark {
  width: 36px; height: 36px; border:1px solid var(--gr-border); border-radius:50%;
  display:grid; place-items:center; font-size:10px; font-weight:800; letter-spacing:.06em;
  background:var(--gr-surface);
}
.gr-wordmark { font-size:13px; font-weight:800; letter-spacing:.12em; }
.gr-wordmark em { font-style:normal; color:var(--gr-accent); }

.gr-nav { display:flex; gap:28px; margin-left:auto; }
.gr-nav a { color:var(--gr-muted); text-decoration:none; font-size:13px; font-weight:600; }
.gr-nav a:hover { color:var(--gr-text); }

.gr-theme-toggle {
  width:46px; height:28px; border-radius:999px; border:1px solid var(--gr-border);
  background:var(--gr-surface); color:var(--gr-text); cursor:pointer; position:relative;
  display:flex; align-items:center; justify-content:space-around; font-size:12px; padding:0 5px;
}
.gr-theme-toggle::after {
  content:""; width:18px; height:18px; border-radius:50%; background:var(--gr-accent);
  position:absolute; left:5px; top:4px; transition:transform .22s ease;
}
html[data-gr-theme="dark"] .gr-theme-toggle::after { transform:translateX(16px); }
.gr-sun,.gr-moon { z-index:2; opacity:.7; font-size:10px; }

.gr-hero { padding: 96px 0 88px; border-bottom:1px solid var(--gr-border); }
.gr-hero-grid { display:grid; grid-template-columns: 1fr 2.35fr .85fr; gap:44px; align-items:end; }
.gr-kicker,.gr-eyebrow,.gr-aside-label {
  font-size:11px; font-weight:800; letter-spacing:.16em; color:var(--gr-accent);
}
.gr-kicker { align-self:start; padding-top:12px; }
.gr-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight:500; font-size:clamp(52px,6.5vw,96px); line-height:.96; letter-spacing:-.055em;
  max-width:900px; margin-bottom:30px;
}
.gr-hero h1 span { color:var(--gr-muted); }
.gr-hero-copy > p { max-width:680px; font-size:19px; line-height:1.65; color:var(--gr-muted); margin-bottom:34px; }
.gr-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.gr-btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px;
  border-radius:999px; text-decoration:none; font-size:13px; font-weight:750; letter-spacing:.01em;
  transition:transform .2s ease, opacity .2s ease, background .2s ease;
}
.gr-btn:hover { transform:translateY(-1px); }
.gr-btn-primary { background:var(--gr-text); color:var(--gr-bg); }
.gr-btn-ghost { color:var(--gr-text); border:1px solid var(--gr-border); background:var(--gr-surface); }
.gr-btn-light { background:var(--gr-inverse-text); color:var(--gr-inverse); }
.gr-hero-aside { padding:24px 0 6px; border-top:1px solid var(--gr-border); }
.gr-hero-aside p { margin-top:18px; color:var(--gr-muted); font-size:13px; line-height:1.65; }

.gr-proof { border-bottom:1px solid var(--gr-border); }
.gr-proof-row { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.gr-proof span { font-size:10px; letter-spacing:.16em; font-weight:800; color:var(--gr-muted); }

.gr-section { padding: 100px 0; }
.gr-section-head { display:grid; grid-template-columns: 1.45fr .75fr; gap:64px; align-items:end; margin-bottom:44px; }
.gr-section-head h2 {
  font-family:Georgia, "Times New Roman", serif; font-size:clamp(38px,4.6vw,64px); line-height:1.02;
  letter-spacing:-.04em; font-weight:500; margin:10px 0 0; max-width:800px;
}
.gr-section-head > p { color:var(--gr-muted); line-height:1.7; max-width:460px; margin-bottom:6px; }
.gr-text-link { color:var(--gr-text); text-decoration:none; font-size:13px; font-weight:700; }

.gr-category-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.gr-category-card {
  min-height:190px; padding:28px; border:1px solid var(--gr-border); border-radius:var(--gr-radius);
  background:var(--gr-surface); color:var(--gr-text); text-decoration:none; display:grid;
  grid-template-columns:50px 1fr 30px; gap:18px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gr-category-card:hover { transform:translateY(-3px); box-shadow:var(--gr-shadow); border-color:color-mix(in srgb,var(--gr-accent) 45%,var(--gr-border)); }
.gr-index { font-size:11px; color:var(--gr-accent); font-weight:800; }
.gr-category-card h3 { font-family:Georgia,serif; font-size:30px; font-weight:500; margin-bottom:14px; }
.gr-category-card p { color:var(--gr-muted); line-height:1.6; max-width:440px; margin:0; }
.gr-arrow { text-align:right; color:var(--gr-accent); }

.gr-manifesto { padding:100px 0; background:var(--gr-inverse); color:var(--gr-inverse-text); }
.gr-manifesto-grid { display:grid; grid-template-columns:.7fr 1.8fr .9fr; gap:52px; align-items:start; }
.gr-manifesto blockquote {
  margin:0; font-family:Georgia,serif; font-size:clamp(36px,4.2vw,64px); line-height:1.05; letter-spacing:-.04em;
}
.gr-manifesto p { opacity:.68; line-height:1.75; }
.gr-manifesto a { color:inherit; text-decoration:none; font-size:13px; font-weight:700; }

.gr-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gr-post-card { min-height:280px; border:1px solid var(--gr-border); border-radius:var(--gr-radius); background:var(--gr-surface); }
.gr-post-link { height:100%; box-sizing:border-box; padding:26px; display:flex; flex-direction:column; color:var(--gr-text); text-decoration:none; }
.gr-post-meta { display:flex; justify-content:space-between; color:var(--gr-muted); font-size:9px; font-weight:800; letter-spacing:.12em; margin-bottom:48px; }
.gr-post-card h3 { font-family:Georgia,serif; font-weight:500; font-size:27px; line-height:1.12; letter-spacing:-.025em; }
.gr-post-card p { color:var(--gr-muted); line-height:1.6; font-size:14px; }
.gr-read { margin-top:auto; font-size:12px; font-weight:750; color:var(--gr-accent); }
.gr-empty { padding:54px; border:1px dashed var(--gr-border); border-radius:var(--gr-radius); background:var(--gr-surface); }
.gr-empty span { font-size:10px; letter-spacing:.15em; font-weight:800; color:var(--gr-accent); }
.gr-empty h3 { font-family:Georgia,serif; font-size:36px; font-weight:500; margin:12px 0; }
.gr-empty p { color:var(--gr-muted); margin:0; }

.gr-cta { padding: 0 0 100px; }
.gr-cta-box {
  background:var(--gr-inverse); color:var(--gr-inverse-text); border-radius:32px; padding:72px;
  position:relative; overflow:hidden;
}
.gr-cta-box::after {
  content:""; position:absolute; right:-140px; top:-170px; width:420px; height:420px; border-radius:50%;
  border:1px solid color-mix(in srgb,var(--gr-accent) 40%,transparent);
  box-shadow:0 0 0 50px color-mix(in srgb,var(--gr-accent) 4%,transparent), 0 0 0 100px color-mix(in srgb,var(--gr-accent) 3%,transparent);
}
.gr-cta h2 { font-family:Georgia,serif; font-weight:500; font-size:clamp(44px,5vw,72px); letter-spacing:-.04em; margin:12px 0 16px; }
.gr-cta p { max-width:600px; opacity:.68; line-height:1.7; margin-bottom:28px; }

.gr-footer { border-top:1px solid var(--gr-border); padding:48px 0; background:var(--gr-bg); }
.gr-footer-grid { display:grid; grid-template-columns:1.3fr 1fr .7fr; gap:32px; align-items:end; }
.gr-footer p { color:var(--gr-muted); font-size:13px; max-width:360px; margin:18px 0 0; }
.gr-footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.gr-footer-links a { color:var(--gr-muted); text-decoration:none; font-size:12px; }
.gr-footer-note { text-align:right; font-size:11px; color:var(--gr-muted); }

.gr-archive-hero { padding:100px 0 70px; border-bottom:1px solid var(--gr-border); }
.gr-archive-hero h1 { font-family:Georgia,serif; font-size:clamp(60px,8vw,110px); font-weight:500; letter-spacing:-.06em; line-height:.96; margin:12px 0 24px; }
.gr-archive-hero p { color:var(--gr-muted); font-size:18px; max-width:700px; line-height:1.6; }

/* Keep generic WP pages visually coherent */
body.growth-reviewed .site-main,
body.growth-reviewed main#content {
  color:var(--gr-text);
}
body.growth-reviewed .page-content,
body.growth-reviewed .entry-content {
  color:var(--gr-text);
}
body.growth-reviewed .entry-content > *:not(.gr-site-shell),
body.growth-reviewed .page-content > *:not(.gr-site-shell) {
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
body.growth-reviewed .entry-content h1,
body.growth-reviewed .entry-content h2,
body.growth-reviewed .entry-content h3 {
  font-family:Georgia,serif;
}

/* Reduce Hello theme chrome around shortcode-driven pages */
body.growth-reviewed .page-header,
body.growth-reviewed .entry-title { display:none; }

@media (max-width: 980px) {
  .gr-nav { display:none; }
  .gr-header-inner { height:68px; }
  .gr-hero { padding-top:70px; }
  .gr-hero-grid { grid-template-columns:1fr; }
  .gr-kicker { padding:0; }
  .gr-hero-aside { max-width:520px; }
  .gr-section-head { grid-template-columns:1fr; gap:20px; }
  .gr-manifesto-grid { grid-template-columns:1fr; }
  .gr-post-grid { grid-template-columns:repeat(2,1fr); }
  .gr-footer-grid { grid-template-columns:1fr; align-items:start; }
  .gr-footer-note { text-align:left; }
}

@media (max-width: 680px) {
  .gr-container { width:min(calc(100% - 28px), var(--gr-max)); }
  .gr-wordmark { font-size:11px; }
  .gr-hero { padding:58px 0 60px; }
  .gr-hero h1 { font-size:48px; }
  .gr-hero-copy > p { font-size:16px; }
  .gr-proof-row { justify-content:flex-start; padding:16px 0; }
  .gr-section { padding:72px 0; }
  .gr-category-grid,.gr-post-grid { grid-template-columns:1fr; }
  .gr-category-card { grid-template-columns:34px 1fr 22px; padding:22px; }
  .gr-manifesto { padding:72px 0; }
  .gr-cta { padding-bottom:72px; }
  .gr-cta-box { padding:48px 28px; border-radius:24px; }
}


/* ===== Growth Reviewed V2 ===== */
.gr-header-inner { height:82px; }
.gr-wordmark { font-size:14px; }
.gr-mark { width:38px; height:38px; }
.gr-theme-toggle { border-color:var(--gr-border); overflow:hidden; }
.gr-theme-toggle::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, color-mix(in srgb,var(--gr-accent) 10%,transparent)); }
.gr-menu-toggle { display:none; background:transparent; border:0; width:38px; height:38px; padding:9px; cursor:pointer; }
.gr-menu-toggle span { display:block; height:1px; background:var(--gr-text); margin:6px 0; transition:.2s ease; }

.gr-hero { min-height:690px; display:flex; align-items:center; padding:82px 0 76px; position:relative; overflow:hidden; }
.gr-hero::after {
  content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-300px; top:80px;
  border:1px solid color-mix(in srgb,var(--gr-accent) 22%,transparent);
  box-shadow:0 0 0 70px color-mix(in srgb,var(--gr-accent) 2%,transparent),0 0 0 140px color-mix(in srgb,var(--gr-accent) 1.5%,transparent);
  pointer-events:none;
}
.gr-hero h1 { font-size:clamp(58px,6vw,88px); }
.gr-hero-copy > p { max-width:640px; }
.gr-hero-aside { position:relative; z-index:2; }

.gr-ranked-section { padding-top:36px; }
.gr-ranked-grid { display:grid; grid-template-columns:1.35fr .825fr .825fr; gap:14px; }
.gr-ranked-card {
  min-height:400px; border:1px solid var(--gr-border); border-radius:var(--gr-radius); background:var(--gr-surface);
  padding:28px; display:flex; flex-direction:column; color:var(--gr-text); position:relative; overflow:hidden;
}
.gr-ranked-card::after { content:""; position:absolute; width:170px; height:170px; border:1px solid var(--gr-border); border-radius:50%; right:-90px; top:90px; opacity:.5; }
.gr-ranked-feature { background:var(--gr-inverse); color:var(--gr-inverse-text); }
.gr-rank-top { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; }
.gr-rank-no { color:var(--gr-accent); font-size:11px; font-weight:850; letter-spacing:.14em; }
.gr-score-pill { border:1px solid currentColor; opacity:.55; border-radius:999px; padding:7px 10px; font-size:8px; font-weight:850; letter-spacing:.14em; }
.gr-tool-placeholder { width:76px; height:76px; margin:48px 0 30px; display:grid; place-items:center; border:1px solid currentColor; border-radius:20px; font-family:Georgia,serif; font-size:25px; color:var(--gr-accent); }
.gr-tool-small { width:58px; height:58px; border-radius:16px; font-size:18px; margin-top:48px; }
.gr-card-kicker { display:block; color:var(--gr-accent); font-size:9px; font-weight:850; letter-spacing:.15em; margin-bottom:9px; }
.gr-ranked-card h3 { font-family:Georgia,serif; font-size:31px; line-height:1.08; font-weight:500; margin-bottom:13px; }
.gr-ranked-card p { color:var(--gr-muted); line-height:1.6; font-size:13px; max-width:460px; }
.gr-ranked-feature p { color:color-mix(in srgb,var(--gr-inverse-text) 62%,transparent); }
.gr-ranked-card > a,.gr-card-bottom { margin-top:auto; color:var(--gr-accent); text-decoration:none; font-size:11px; font-weight:800; position:relative; z-index:1; }
.gr-card-bottom { display:flex; justify-content:space-between; }

.gr-comparison-strip { padding:0 0 100px; }
.gr-comparison-inner {
  border-top:1px solid var(--gr-border); border-bottom:1px solid var(--gr-border); padding:38px 0;
  display:grid; grid-template-columns:1fr 1.2fr auto; align-items:center; gap:42px;
}
.gr-comparison-inner h2 { font-family:Georgia,serif; font-size:34px; font-weight:500; margin:8px 0 0; }
.gr-comparison-inner p { color:var(--gr-muted); line-height:1.65; font-size:13px; margin:0; }

/* Premium review verdict component */
.gr-review-box {
  max-width:1000px; margin:48px auto; border:1px solid var(--gr-border); border-radius:28px;
  background:var(--gr-surface); overflow:hidden; color:var(--gr-text);
  display:grid; grid-template-columns:220px 1fr; box-shadow:var(--gr-shadow);
}
.gr-review-score { padding:34px; background:var(--gr-inverse); color:var(--gr-inverse-text); display:flex; flex-direction:column; justify-content:center; }
.gr-review-score span { font-size:9px; letter-spacing:.14em; font-weight:850; color:var(--gr-accent); line-height:1.5; }
.gr-review-score strong { font-family:Georgia,serif; font-size:72px; font-weight:500; line-height:1; margin-top:18px; }
.gr-review-score small { opacity:.55; }
.gr-review-main { padding:34px 38px; }
.gr-review-main h2 { font-family:Georgia,serif; font-size:38px; font-weight:500; margin:7px 0 12px; }
.gr-review-main > p { color:var(--gr-muted); line-height:1.65; }
.gr-review-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:25px; }
.gr-review-facts div { border-top:1px solid var(--gr-border); padding-top:13px; }
.gr-review-facts span,.gr-list-title { display:block; font-size:8px; font-weight:850; letter-spacing:.14em; color:var(--gr-accent); margin-bottom:6px; }
.gr-review-facts strong { font-size:13px; }
.gr-review-lists { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--gr-border); }
.gr-review-lists > div { padding:28px 34px; }
.gr-review-lists > div + div { border-left:1px solid var(--gr-border); }
.gr-review-lists ul { margin:14px 0 0; padding-left:18px; color:var(--gr-muted); line-height:1.8; font-size:13px; }
.gr-review-action { grid-column:1/-1; border-top:1px solid var(--gr-border); padding:22px 34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gr-review-action small { color:var(--gr-muted); font-size:10px; }

.gr-category-card,.gr-ranked-card,.gr-post-card { transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.gr-ranked-card:hover,.gr-post-card:hover { transform:translateY(-3px); box-shadow:var(--gr-shadow); border-color:color-mix(in srgb,var(--gr-accent) 35%,var(--gr-border)); }

@media (max-width:980px) {
  .gr-menu-toggle { display:block; margin-left:auto; }
  .gr-theme-toggle { margin-left:0; }
  .gr-nav {
    display:none; position:absolute; left:24px; right:24px; top:72px; background:var(--gr-surface);
    border:1px solid var(--gr-border); border-radius:18px; padding:18px; box-shadow:var(--gr-shadow); flex-direction:column; gap:0;
  }
  .gr-nav.gr-open { display:flex; }
  .gr-nav a { padding:13px 8px; border-bottom:1px solid var(--gr-border); }
  .gr-nav a:last-child { border-bottom:0; }
  .gr-ranked-grid { grid-template-columns:1fr 1fr; }
  .gr-ranked-feature { grid-column:1/-1; }
  .gr-comparison-inner { grid-template-columns:1fr; gap:18px; }
  .gr-review-box { grid-template-columns:180px 1fr; }
}
@media (max-width:680px) {
  .gr-hero { min-height:auto; }
  .gr-ranked-grid { grid-template-columns:1fr; }
  .gr-ranked-feature { grid-column:auto; }
  .gr-ranked-card { min-height:340px; }
  .gr-review-box { grid-template-columns:1fr; border-radius:22px; }
  .gr-review-score { min-height:180px; }
  .gr-review-lists { grid-template-columns:1fr; }
  .gr-review-lists > div + div { border-left:0; border-top:1px solid var(--gr-border); }
  .gr-review-action { flex-direction:column; align-items:flex-start; }
}


/* ===== Growth Reviewed V3 design-freeze refinements ===== */

/* Desktop: the hamburger is not part of the interface. */
.gr-menu-toggle {
  display:none !important;
}

/* Clean 38px theme control, no placeholder square, no emoji glyphs. */
.gr-theme-toggle {
  flex:0 0 38px;
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  margin-left:4px;
  border:1px solid var(--gr-border);
  border-radius:50%;
  background:var(--gr-surface);
  color:var(--gr-text);
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  box-shadow:none;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.gr-theme-toggle::before,
.gr-theme-toggle::after { content:none !important; }
.gr-theme-toggle:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--gr-accent) 60%,var(--gr-border));
  background:var(--gr-surface-2);
}
.gr-theme-icon {
  position:absolute;
  width:15px;
  height:15px;
  transition:opacity .18s ease, transform .22s ease;
}
.gr-theme-sun {
  border:1.5px solid var(--gr-accent);
  border-radius:50%;
  box-sizing:border-box;
}
.gr-theme-sun::before,
.gr-theme-sun::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:21px;
  height:1px;
  background:var(--gr-accent);
  transform:translate(-50%,-50%);
}
.gr-theme-sun::after { transform:translate(-50%,-50%) rotate(90deg); }
.gr-theme-moon {
  border:1.5px solid var(--gr-accent);
  border-radius:50%;
  box-sizing:border-box;
  opacity:0;
  transform:rotate(-25deg) scale(.75);
}
.gr-theme-moon::after {
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  right:-3px;
  top:-3px;
  border-radius:50%;
  background:var(--gr-surface);
}
html[data-gr-theme="dark"] .gr-theme-sun {
  opacity:0;
  transform:rotate(45deg) scale(.75);
}
html[data-gr-theme="dark"] .gr-theme-moon {
  opacity:1;
  transform:rotate(-25deg) scale(1);
}
html[data-gr-theme="dark"] .gr-theme-moon::after { background:var(--gr-surface); }

/* Button system: one visual language everywhere. */
.gr-btn {
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.005em;
  text-decoration:none !important;
  box-sizing:border-box;
}
.gr-btn-primary {
  background:var(--gr-text);
  color:var(--gr-bg) !important;
  border-color:var(--gr-text);
}
.gr-btn-primary:hover { opacity:.88; }
.gr-btn-ghost {
  background:transparent;
  color:var(--gr-text) !important;
  border-color:var(--gr-border);
}
.gr-btn-ghost:hover {
  background:var(--gr-surface);
  border-color:color-mix(in srgb,var(--gr-accent) 55%,var(--gr-border));
}
.gr-btn-light {
  background:var(--gr-inverse-text);
  color:var(--gr-inverse) !important;
  border-color:var(--gr-inverse-text);
}
.gr-hero-actions { align-items:center; }
.gr-hero-actions .gr-btn { min-width:132px; }

/* Footer and empty-state final polish. */
.gr-empty {
  min-height:170px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gr-footer { padding:52px 0; }
.gr-footer-links a:hover { color:var(--gr-text); }
.gr-footer .gr-brand { width:max-content; }

/* Prevent the large hero ornament from stealing attention. */
.gr-hero::after { opacity:.72; }

/* Mobile: now the hamburger becomes real and the theme control stays compact. */
@media (max-width:980px) {
  .gr-menu-toggle {
    display:block !important;
    flex:0 0 38px;
    order:3;
    margin-left:0;
  }
  .gr-theme-toggle {
    order:2;
    margin-left:auto;
  }
  .gr-nav {
    z-index:120;
  }
}
@media (max-width:680px) {
  .gr-theme-toggle,.gr-menu-toggle { width:36px; height:36px; min-width:36px; flex-basis:36px; }
  .gr-header-inner { gap:9px; }
}


/* ===== Growth Reviewed V4: app-like theme toggle ===== */
.gr-theme-toggle {
  width:46px !important;
  height:28px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  display:block !important;
  position:relative !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:var(--gr-text) !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.gr-theme-toggle:hover { transform:none !important; background:transparent !important; }
.gr-theme-toggle:focus-visible {
  outline:2px solid color-mix(in srgb,var(--gr-accent) 65%,transparent);
  outline-offset:3px;
}
.gr-theme-toggle::before,
.gr-theme-toggle::after { display:none !important; content:none !important; }

.gr-toggle-track {
  position:absolute;
  inset:0;
  border-radius:999px;
  border:1px solid var(--gr-border);
  background:color-mix(in srgb,var(--gr-surface) 92%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gr-text) 2%,transparent);
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.gr-theme-toggle:hover .gr-toggle-track {
  border-color:color-mix(in srgb,var(--gr-accent) 48%,var(--gr-border));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gr-accent) 8%,transparent);
}

.gr-toggle-thumb {
  position:absolute;
  width:22px;
  height:22px;
  left:3px;
  top:3px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gr-text);
  color:var(--gr-bg);
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s ease,color .2s ease;
}
html[data-gr-theme="dark"] .gr-toggle-thumb {
  transform:translateX(18px);
  background:var(--gr-inverse);
  color:var(--gr-inverse-text);
}

.gr-theme-svg {
  position:absolute;
  width:12px;
  height:12px;
  transition:opacity .15s ease,transform .18s ease;
}
.gr-theme-sun { opacity:1; transform:scale(1) rotate(0deg); }
.gr-theme-moon { opacity:0; transform:scale(.75) rotate(-16deg); }
html[data-gr-theme="dark"] .gr-theme-sun { opacity:0; transform:scale(.75) rotate(20deg); }
html[data-gr-theme="dark"] .gr-theme-moon { opacity:1; transform:scale(1) rotate(0deg); }

/* Slightly more Notion/Linear-like header proportions */
.gr-header-inner { gap:24px; }
.gr-nav { gap:26px; }
.gr-nav a {
  font-size:12px;
  font-weight:600;
  letter-spacing:-.01em;
}
.gr-nav a:hover { color:var(--gr-accent); }
.gr-wordmark { letter-spacing:.105em; }

/* Tone down the pink-like browser autofill/selection artifacts around controls */
.gr-theme-toggle,
.gr-theme-toggle * { accent-color:var(--gr-accent); }

/* More polished CTA buttons */
.gr-btn {
  min-height:46px;
  padding:0 20px;
  border-radius:12px;
  font-size:12px;
  font-weight:750;
  letter-spacing:-.005em;
}
.gr-btn-primary,
.gr-btn-light {
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.gr-btn:hover { transform:translateY(-1px); }
.gr-btn:active { transform:translateY(0); }
.gr-btn-ghost { background:color-mix(in srgb,var(--gr-surface) 55%,transparent); }

/* Keep pills where they make sense, but app-like CTAs should be gently rounded */
.gr-score-pill { border-radius:999px; }

@media (max-width:680px) {
  .gr-theme-toggle {
    width:44px !important;
    height:26px !important;
    min-width:44px !important;
    flex-basis:44px !important;
  }
  .gr-toggle-thumb { width:20px; height:20px; }
  html[data-gr-theme="dark"] .gr-toggle-thumb { transform:translateX(18px); }
}


/* ===== V5 FINAL FRONTEND FREEZE ===== */
/* Slightly tighter, calmer desktop composition */
@media (min-width:981px) {
  .gr-header-inner { height:76px; }
  .gr-hero { min-height:630px; padding-top:68px; padding-bottom:68px; }
  .gr-hero h1 { font-size:clamp(58px,5.55vw,82px); line-height:.98; letter-spacing:-.045em; }
  .gr-hero-copy > p { margin-top:30px; }
  .gr-hero-actions { margin-top:24px; }
}

/* Final app-style theme switch: quieter and smaller */
.gr-theme-toggle {
  width:42px !important;
  height:24px !important;
  min-width:42px !important;
  flex-basis:42px !important;
}
.gr-toggle-track {
  background:transparent;
  border-color:color-mix(in srgb,var(--gr-text) 18%,transparent);
}
.gr-toggle-thumb {
  width:18px;
  height:18px;
  left:3px;
  top:3px;
  box-shadow:0 1px 2px rgba(0,0,0,.16);
}
html[data-gr-theme="dark"] .gr-toggle-thumb { transform:translateX(18px); }
.gr-theme-svg { width:10px; height:10px; }

/* Buttons: modern app UI, still premium/editorial */
.gr-btn {
  min-height:44px;
  padding:0 19px;
  border-radius:10px;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.gr-btn-primary,.gr-btn-light { box-shadow:0 1px 2px rgba(0,0,0,.10); }
.gr-btn:hover { transform:translateY(-1px); }
.gr-btn:active { transform:translateY(0); box-shadow:none; }

/* Give keyboard users the same polished focus treatment */
.gr-btn:focus-visible,
.gr-nav a:focus-visible,
.gr-footer a:focus-visible {
  outline:2px solid color-mix(in srgb,var(--gr-accent) 70%,transparent);
  outline-offset:3px;
}

/* More balanced editorial line lengths */
.gr-hero-copy > p { max-width:590px; }
.gr-hero-aside p { max-width:250px; }

/* Prevent oversized decorative circle from competing with content */
.gr-hero::after { opacity:.52; }

/* Softer card hover so the publication never feels gimmicky */
.gr-ranked-card:hover,.gr-post-card:hover {
  transform:translateY(-2px);
}

/* Mobile retains comfortable touch targets */
@media (max-width:680px) {
  .gr-theme-toggle {
    width:42px !important;
    height:26px !important;
    min-width:42px !important;
    flex-basis:42px !important;
  }
  .gr-toggle-thumb { width:20px; height:20px; top:3px; }
  html[data-gr-theme="dark"] .gr-toggle-thumb { transform:translateX(16px); }
  .gr-btn { min-height:46px; }
}
