
.rsg-page{
  --font-display:'Montserrat', system-ui, sans-serif;
  --font-body:'DM Sans', system-ui, sans-serif;
  --paper:#FFFFFF;
  --paper-soft:#FFFFFF;
  --line:#E5E4DE;
  --panel:#F7F8F6;
  --ink:#1A1A1A;
  --ink-900:#111111;
  --ink-700:#262626;
  --ink-500:#6B6B6B;
  --ink-2:#2E2E2E;
  --green-500:#2C7A4B;
  --green-600:#1F5B36;
  --green-700:#143E25;
  --green-50:#E8F1EB;
  --maxw:1180px;
  --col:760px;

  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--paper);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;            /* clip (not hidden) so descendant position:sticky keeps working */
  overflow-wrap:break-word;   /* break long URLs instead of forcing horizontal scroll */
}
.rsg-page *{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

.rsg-page a{color:var(--green-600);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.rsg-page a:hover{color:var(--green-500);}
.rsg-page :focus-visible{outline:2px solid var(--green-500);outline-offset:3px;border-radius:3px;}

/* ---------- shell ---------- */
.llm-shell{max-width:var(--maxw);margin:0 auto;padding:48px 28px 80px;display:grid;grid-template-columns:236px minmax(0,1fr);gap:56px;align-items:start;}
@media (max-width:980px){ .llm-shell{grid-template-columns:minmax(0,1fr);gap:0;padding:32px 22px 64px;} .llm-shell > *{min-width:0;} }

/* ---------- TOC ---------- */
.rsg-page [id]{scroll-margin-top:110px;}   /* clear the sticky site header so clicked sections aren't hidden behind it */
.llm-toc{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 130px);overflow-y:auto;overscroll-behavior:contain;}   /* top offset clears the sticky site header (~90px) */
.llm-toc::-webkit-scrollbar{width:6px;}
.llm-toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
@media (max-width:980px){ .llm-toc{position:static;max-height:none;overflow:visible;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--line);} }
.llm-toc-h{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-600);font-weight:700;margin:0 0 14px;}
.llm-toc-h::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-500);flex-shrink:0;}
.llm-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
@media (max-width:980px){ .llm-toc ul{min-width:0;flex-direction:row;flex-wrap:wrap;gap:8px;} }
.llm-toc a{
  display:block;text-decoration:none;color:var(--ink-500);font-family:var(--font-display);font-size:13.5px;font-weight:500;
  padding:6px 12px;border-left:2px solid transparent;border-radius:0 6px 6px 0;line-height:1.35;
}
.llm-toc a:hover{color:var(--ink-900);background:var(--panel);}
.llm-toc a.active{color:var(--green-600);border-left-color:var(--green-500);background:var(--green-50);font-weight:700;}
@media (max-width:980px){ .llm-toc a{flex:0 0 auto;white-space:nowrap;border-left:none;border-radius:999px;border:1px solid var(--line);padding:5px 12px;font-size:13px;} .llm-toc a.active{border-color:var(--green-500);} }

/* ---------- main column ---------- */
.llm-main{padding:0;max-width:var(--col);}
.rsg-page h1,.rsg-page h2,.rsg-page h3,.rsg-page h4{font-family:var(--font-display);font-weight:700;color:var(--ink-900);line-height:1.15;margin:0;}
.rsg-page h1 em,.rsg-page h2 em,.rsg-page h3 em{font-style:normal;text-decoration:none;color:var(--green-600);font-weight:inherit;}
.llm-main h1{font-size:clamp(30px,4vw,42px);letter-spacing:-.5px;margin:.15em 0 .5em;line-height:1.1;}
.hd-ln{display:block;}                       /* forced line break on desktop */
@media (max-width:600px){ .hd-ln{display:inline;} }   /* wrap naturally on narrow screens */
.llm-main h2{
  font-size:clamp(22px,2.4vw,28px);line-height:1.2;margin:2.6em 0 .7em;
  padding-bottom:.4em;border-bottom:1px solid var(--line);letter-spacing:-.2px;
}
.llm-main h3{font-size:18px;margin:1.7em 0 .35em;}
.rsg-page p{margin:0 0 1.05em;color:var(--ink-2);}
.rsg-page strong{color:var(--ink-900);font-weight:700;}
.llm-main ul,.llm-main ol{margin:0 0 1.2em;padding-left:1.25em;}
.llm-main li{margin:0 0 .5em;color:var(--ink-2);}
.llm-main li::marker{color:var(--green-500);}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--ink-2);line-height:1.55;}

/* ---------- eyebrow (RSG) ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-600);margin-bottom:16px;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-500);flex-shrink:0;}

/* ---------- AI notice ---------- */
.llm-notice{
  background:var(--green-50);border:1px solid #CBE2D2;border-left:4px solid var(--green-500);
  border-radius:10px;padding:18px 22px;margin:8px 0 0;font-size:.97rem;color:var(--ink-2);
  box-shadow:0 4px 16px rgba(0,0,0,.03);
}
.llm-notice strong{color:var(--green-700);}

/* ---------- quick facts ---------- */
.facts{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);box-shadow:0 4px 16px rgba(0,0,0,.03);}
.facts dl{margin:0;display:grid;grid-template-columns:200px 1fr;}
@media (max-width:560px){ .facts dl{grid-template-columns:1fr;} }
.facts dt{font-family:var(--font-display);font-weight:700;padding:12px 18px;background:var(--panel);border-bottom:1px solid var(--line);font-size:.84rem;color:var(--ink-900);}
.facts dd{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink-2);}
@media (max-width:560px){ .facts dt{border-bottom:none;padding-bottom:2px;} }
.facts dl > :nth-last-child(1),.facts dl > :nth-last-child(2){border-bottom:none;}

/* ---------- proof / case-study note ---------- */
.proof{
  background:var(--green-50);border:1px solid #CBE2D2;border-left:4px solid var(--green-500);border-radius:0 10px 10px 0;
  padding:13px 18px;margin:0 0 1.4em;font-size:.94rem;color:var(--ink-2);
}
.proof .lbl{display:inline-block;font-family:var(--font-display);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-700);font-weight:700;margin-bottom:3px;}

/* ---------- service block ---------- */
.svc{padding:0 0 .3em;}
.svc + .svc{margin-top:1.9em;padding-top:1.7em;border-top:1px solid var(--line);}
.svc h3{margin-top:0;}

/* ---------- stat row ---------- */
.stats{display:flex;flex-wrap:wrap;gap:14px;margin:.4em 0 1.4em;padding:0;list-style:none;}
.stats li{flex:1 1 150px;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--paper);box-shadow:0 4px 16px rgba(0,0,0,.03);}
.stats .n{font-family:var(--font-display);font-weight:800;font-size:1.6rem;color:var(--green-600);line-height:1;font-variant-numeric:tabular-nums;}
.stats .t{font-size:.84rem;color:var(--ink-500);margin-top:7px;line-height:1.35;}

/* ---------- leadership ---------- */
.team{list-style:none;margin:0 0 1em;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px;}
@media (max-width:560px){ .team{grid-template-columns:1fr;} }
.team li{padding:10px 0;border-bottom:1px solid var(--line);}
.team .nm{font-family:var(--font-display);font-weight:700;color:var(--ink-900);}
.team .rl{color:var(--ink-500);font-size:.9rem;}

/* ---------- testimonials ---------- */
.quote{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:0 0 16px;background:var(--paper);box-shadow:0 4px 16px rgba(0,0,0,.03);}
.quote p{margin:0 0 12px;font-size:.98rem;color:var(--ink-2);font-style:italic;}
.quote .by{font-style:normal;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--ink-900);}
.quote .by span{font-family:var(--font-body);font-weight:400;color:var(--ink-500);}

/* ---------- pricing ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:.6em 0 1.4em;}
@media (max-width:760px){ .tiers{grid-template-columns:1fr;} }
.tier{border:1px solid var(--line);border-radius:16px;padding:22px 20px;background:var(--paper);display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(0,0,0,.03);}
.tier.feat{border-color:var(--green-500);box-shadow:0 8px 28px rgba(32,157,80,.14);}
.tier .nm{font-family:var(--font-display);font-weight:700;font-size:1.12rem;color:var(--ink-900);}
.tier .pr{font-family:var(--font-display);font-weight:800;font-size:1.9rem;margin:6px 0 2px;color:var(--ink-900);font-variant-numeric:tabular-nums;}
.tier .pr span{font-size:.86rem;font-weight:500;color:var(--ink-500);}
.tier .ds{font-size:.9rem;color:var(--ink-500);margin-top:8px;}
.tier .feat-tag{align-self:flex-start;font-family:var(--font-display);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--green-500);padding:4px 10px;border-radius:999px;margin-bottom:10px;font-weight:700;}

/* ---------- AI guidance panel (dark, brand gradient) ---------- */
.ai-panel{background:linear-gradient(135deg,#000 0%,#4A4A4A 100%);color:#E9EFEB;border-radius:18px;padding:32px 32px 28px;margin-top:1em;}
.ai-panel h2{color:#fff;border-bottom-color:rgba(255,255,255,.16);margin-top:0;}
.ai-panel h3{color:#fff;}
.ai-panel p{color:#cdd6d0;}
.ai-panel a{color:#7FE0A3;}
.ai-panel strong{color:#fff;}
.ai-panel li{color:#cdd6d0;}
.ai-panel li::marker{color:var(--green-500);}
.ai-panel .muted{color:#9FB0A7;}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:0 26px;list-style:none;margin:.4em 0 0;padding:0;}
@media (max-width:560px){ .contact{grid-template-columns:1fr;} }
.contact li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink-2);}
.contact .k{font-family:var(--font-display);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-500);display:block;margin-bottom:2px;font-weight:700;}

/* ============ MOBILE POLISH ============ */
@media (max-width:600px){
  .ai-panel{padding:24px 20px 22px;border-radius:14px;}
  .stats li{flex:1 1 calc(50% - 7px);}     /* tidy 2-up instead of uneven wrap */
}
@media (max-width:480px){
  .rsg-page{font-size:16px;}
  .llm-shell{padding:24px 16px 56px;}
  .llm-main h1{font-size:26px;line-height:1.12;}
  .llm-main h2{font-size:21px;margin-top:2.2em;}
  .llm-main h3{font-size:16.5px;}
  .lead{font-size:16.5px;}
  .llm-notice{padding:16px 16px;}
  .facts dt{background:transparent;padding:12px 16px 2px;}   /* label -> value clean stack */
  .facts dd{padding:2px 16px 12px;}
  .proof{padding:12px 14px;}
  .quote{padding:18px 16px;}
  .tier{padding:20px 16px;}
  .ai-panel{padding:22px 16px 20px;}
  .contact .k{margin-bottom:1px;}
}
