/* Reboot With JC — brand system for Elementor (native widgets + helper classes) */
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Public+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root{
  --rb-bg:#FAF6EF; --rb-surface:#FFFFFF; --rb-sage:#EEF2E9; --rb-ink:#1B2B24;
  --rb-ink-soft:#566158; --rb-ink-faint:#8A968E; --rb-green:#20503B; --rb-green-dark:#163A2A;
  --rb-green-soft:#EAF0E7; --rb-accent:#D98C4A; --rb-accent-dark:#BE743A; --rb-line:#E3DDD1;
  --rb-line-strong:#CFC7B6; --rb-cream:#FDFBF6;
  --rb-serif:"Libre Caslon Text",Georgia,serif; --rb-sans:"Public Sans",-apple-system,"Segoe UI",sans-serif;
  --rb-r-md:12px; --rb-r-lg:20px; --rb-pill:999px;
}
body{ background:var(--rb-bg); color:var(--rb-ink); font-family:var(--rb-sans); }
h1,h2,h3,h4{ font-family:var(--rb-serif); font-weight:400; color:var(--rb-green-dark); line-height:1.12; letter-spacing:-0.01em; }
.rb-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--rb-sans); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--rb-accent-dark); }
.rb-eyebrow::before{ content:""; width:26px; height:2px; background:var(--rb-accent); display:inline-block; }
.rb-eyebrow.rb-center{ justify-content:center; } .rb-eyebrow.rb-center::before{ display:none; }
.rb-sec-green .rb-eyebrow, .rb-eyebrow.rb-on-dark{ color:var(--rb-accent); }
.rb-btn .elementor-button, a.rb-btn{ border-radius:var(--rb-pill)!important; font-family:var(--rb-sans)!important; font-weight:700!important; padding:.95em 1.6em!important; transition:all .18s ease; border:2px solid transparent!important; }
.rb-btn-primary .elementor-button{ background:var(--rb-accent)!important; color:#2A1706!important; }
.rb-btn-primary .elementor-button:hover{ background:var(--rb-accent-dark)!important; transform:translateY(-2px); }
.rb-btn-green .elementor-button{ background:var(--rb-green)!important; color:#fff!important; }
.rb-btn-green .elementor-button:hover{ background:var(--rb-green-dark)!important; transform:translateY(-2px); }
.rb-btn-ghost .elementor-button{ background:transparent!important; color:var(--rb-green)!important; border-color:var(--rb-line-strong)!important; }
.rb-btn-ghost .elementor-button:hover{ border-color:var(--rb-green)!important; background:var(--rb-green-soft)!important; }
.rb-sec-green .rb-btn-ghost .elementor-button{ color:#EAF0E7!important; border-color:rgba(255,255,255,.35)!important; }
.rb-sec-green .rb-btn-ghost .elementor-button:hover{ background:rgba(255,255,255,.1)!important; color:#fff!important; }
.rb-card{ background:var(--rb-surface); border:1px solid var(--rb-line); border-radius:var(--rb-r-md); padding:2rem; height:100%; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.rb-card:hover{ transform:translateY(-4px); box-shadow:0 30px 50px -34px rgba(22,58,42,.4); border-color:var(--rb-line-strong); }
.rb-card .elementor-icon-box-icon{ margin-bottom:1rem!important; }
.rb-card .elementor-icon{ width:52px; height:52px; display:grid; place-items:center; border-radius:6px; background:var(--rb-green-soft)!important; color:var(--rb-green)!important; font-size:26px; }
.rb-card .elementor-icon-box-title{ font-family:var(--rb-serif); color:var(--rb-green-dark); font-size:1.5rem; }
.rb-card .elementor-icon-box-description{ color:var(--rb-ink-soft); font-size:.9rem; line-height:1.6; }
.rb-mediacard{ background:var(--rb-surface); border:1px solid var(--rb-line); border-radius:var(--rb-r-md); overflow:hidden; height:100%; transition:transform .18s ease, box-shadow .18s ease; }
.rb-mediacard:hover{ transform:translateY(-4px); box-shadow:0 30px 50px -34px rgba(22,58,42,.4); }
.rb-mediacard img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.rb-tag{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--rb-accent-dark); background:rgba(217,140,74,.12); padding:.35em .7em; border-radius:var(--rb-pill); }
.rb-stat-num{ font-family:var(--rb-serif); color:var(--rb-accent); font-size:clamp(2.4rem,7vw,3.5rem); line-height:1; }
.rb-stat-lbl{ color:var(--rb-ink-soft); font-size:.9rem; }
.rb-sec-green .rb-stat-lbl{ color:#C9D6CB; }
.rb-sec-tint{ background:var(--rb-sage); }
.rb-sec-green{ background:var(--rb-green-dark); }
.rb-sec-green h1,.rb-sec-green h2,.rb-sec-green h3,.rb-sec-green h4{ color:var(--rb-cream); }
.rb-sec-green p,.rb-sec-green .elementor-widget-text-editor{ color:#C9D6CB; }
.rb-cta{ background:var(--rb-green-dark); border-radius:var(--rb-r-lg); text-align:center; color:#EAF0E7; }
.rb-cta h2{ color:var(--rb-cream); } .rb-cta p{ color:#C9D6CB; }
.rb-check .elementor-icon-list-icon svg,.rb-check .elementor-icon-list-icon i{ color:var(--rb-green)!important; }
.rb-check .elementor-icon-list-text{ color:var(--rb-ink-soft); }
.rb-tier{ background:var(--rb-surface); border:1px solid var(--rb-line); border-radius:var(--rb-r-md); padding:2rem; height:100%; }
.rb-tier-featured{ border:2px solid var(--rb-green); box-shadow:0 40px 70px -44px rgba(22,58,42,.5); }
.rb-price{ font-family:var(--rb-serif); font-size:2.75rem; color:var(--rb-green-dark); line-height:1; }
.rb-tier-name{ font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.9rem; color:var(--rb-accent-dark); }
.rb-flag{ background:var(--rb-accent); color:#2A1706; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.4em .9em; border-radius:var(--rb-pill); display:inline-block; }
.rb-faq .elementor-toggle-item{ background:var(--rb-surface); border:1px solid var(--rb-line)!important; border-radius:var(--rb-r-md); margin-bottom:1rem; overflow:hidden; }
.rb-faq .elementor-tab-title{ font-family:var(--rb-serif)!important; color:var(--rb-green-dark)!important; font-size:1.15rem!important; }
.rb-faq .elementor-tab-content{ color:var(--rb-ink-soft)!important; }
.rb-quote{ background:var(--rb-surface); border:1px solid var(--rb-line); border-radius:var(--rb-r-md); padding:2rem; height:100%; }
.rb-quote blockquote,.rb-quote-text{ font-family:var(--rb-serif); font-size:1.2rem; line-height:1.4; color:var(--rb-green-dark); }
.rb-stars{ color:var(--rb-accent); font-size:18px; letter-spacing:2px; }
.rb-ba{ border-radius:var(--rb-r-md); padding:2rem; border:1px solid var(--rb-line); height:100%; }
.rb-ba-after{ background:var(--rb-green-soft); border-color:var(--rb-green); }
.rb-tlnum{ width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--rb-green); color:#fff; font-family:var(--rb-serif); font-size:1.25rem; }
.rb-tlnote{ color:var(--rb-accent-dark); font-weight:700; font-size:.9rem; }
.rb-compare{ width:100%; border-collapse:collapse; background:var(--rb-surface); border-radius:var(--rb-r-md); overflow:hidden; border:1px solid var(--rb-line); }
.rb-compare th,.rb-compare td{ padding:1rem 1.5rem; text-align:left; border-bottom:1px solid var(--rb-line); vertical-align:top; }
.rb-compare thead th{ font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; color:var(--rb-ink-faint); }
.rb-compare thead th.rb-us{ color:var(--rb-green); }
.rb-compare tbody th{ font-weight:700; color:var(--rb-ink); }
.rb-compare td.rb-us{ background:var(--rb-green-soft); color:var(--rb-green-dark); font-weight:600; }
.rb-yes{ color:var(--rb-green); font-weight:700; } .rb-no{ color:var(--rb-ink-faint); }
.rb-hero-badge{ background:var(--rb-surface); border-radius:var(--rb-r-md); padding:1rem 1.5rem; box-shadow:0 20px 40px -24px rgba(22,58,42,.5); display:inline-flex; align-items:center; gap:1rem; }
.rb-num{ font-family:var(--rb-serif); font-size:2rem; color:var(--rb-green); line-height:1; }
.rb-trust{ color:var(--rb-ink-soft); font-size:.9rem; } .rb-trust strong{ color:var(--rb-green-dark); }
.rb-contact-panel{ background:var(--rb-green-dark); color:#EAF0E7; border-radius:var(--rb-r-md); padding:3rem; }
.rb-contact-panel h3{ color:var(--rb-cream); } .rb-contact-panel a{ color:#EAF0E7; }
.rb-contact-panel a:hover{ color:var(--rb-accent); }
.rb-contact-lbl{ font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:#9DB3A2; }
.rb-media-round img{ border-radius:var(--rb-r-lg); box-shadow:0 40px 80px -50px rgba(22,58,42,.6); }
.rb-chip{ font-size:.9rem; font-weight:600; padding:.55em 1.1em; border-radius:var(--rb-pill); border:1px solid var(--rb-line-strong); background:var(--rb-surface); color:var(--rb-ink-soft); display:inline-block; }
.rb-chip.rb-chip-active{ background:var(--rb-green); color:#fff; border-color:var(--rb-green); }
.rb-form .wpforms-field-label{ font-weight:700; font-size:.9rem; color:var(--rb-green-dark)!important; }
.rb-form input,.rb-form textarea,.rb-form select{ border:1px solid var(--rb-line-strong)!important; border-radius:6px!important; background:var(--rb-surface)!important; padding:.85em 1em!important; font-family:var(--rb-sans)!important; }
.rb-form input:focus,.rb-form textarea:focus,.rb-form select:focus{ border-color:var(--rb-green)!important; box-shadow:none!important; }
.rb-form button[type=submit],.rb-form .wpforms-submit{ background:var(--rb-accent)!important; color:#2A1706!important; border:none!important; border-radius:var(--rb-pill)!important; font-weight:700!important; padding:.95em 1.8em!important; }
.rb-form button[type=submit]:hover,.rb-form .wpforms-submit:hover{ background:var(--rb-accent-dark)!important; }
.rb-mega .elementor-nav-menu a{ font-family:var(--rb-sans); font-weight:600; color:var(--rb-ink); }
.rb-mega .elementor-nav-menu a:hover{ color:var(--rb-green); }
.rb-megapanel{ background:var(--rb-surface); border-radius:var(--rb-r-md); box-shadow:0 24px 48px rgba(22,58,42,.18); }
.rb-blurb .elementor-icon-box-title{ font-family:var(--rb-serif); color:var(--rb-green-dark); }
.rb-blurb:hover{ background:var(--rb-green-soft); border-radius:8px; }
.rb-footer{ background:var(--rb-green-dark); color:#C9D6CB; }
.rb-footer h4{ color:var(--rb-cream); font-family:var(--rb-sans); font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; }
.rb-footer a{ color:#C9D6CB; } .rb-footer a:hover{ color:var(--rb-accent); }
.rb-social a{ width:40px; height:40px; display:inline-grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:#EAF0E7; margin-right:8px; }
.rb-social a:hover{ background:var(--rb-accent); color:#2A1706; }
.rb-header{ background:rgba(250,246,239,.92); backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid var(--rb-line); }
.rb-brandmark{ width:34px; height:34px; display:inline-grid; place-items:center; background:var(--rb-green); color:#fff; border-radius:50%; }

/* layout utilities */
.rb-grid{display:grid;gap:1.5rem}
.rb-grid-2{grid-template-columns:1fr}
.rb-grid-3{grid-template-columns:1fr}
.rb-grid-4{grid-template-columns:1fr 1fr}
@media(min-width:640px){.rb-grid-2{grid-template-columns:1fr 1fr}.rb-grid-3{grid-template-columns:1fr 1fr}.rb-grid-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:920px){.rb-grid-3{grid-template-columns:repeat(3,1fr)}}
.rb-split{display:grid;gap:2rem;align-items:center}@media(min-width:920px){.rb-split{grid-template-columns:1fr 1fr;gap:4rem}.rb-split-media-2 .rb-split{grid-template-columns:1fr 1fr}}
.rb-pricing{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:920px){.rb-pricing{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.rb-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;text-align:center}@media(min-width:640px){.rb-stats{grid-template-columns:repeat(4,1fr)}}
.rb-footer-grid{display:grid;gap:3rem;grid-template-columns:1fr}@media(min-width:640px){.rb-footer-grid{grid-template-columns:1.6fr 1fr 1fr}}@media(min-width:920px){.rb-footer-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}}
.rb-container{max-width:1200px;margin-inline:auto;padding-inline:1.5rem;width:100%}
.rb-quotes-3{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:920px){.rb-quotes-3{grid-template-columns:repeat(3,1fr)}}
.rb-ba-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:640px){.rb-ba-grid{grid-template-columns:1fr 1fr}}

/* grid display override */
.e-con.rb-grid,.rb-grid,.e-con.rb-split,.rb-split,.e-con.rb-pricing,.rb-pricing,.e-con.rb-stats,.rb-stats,.e-con.rb-footer-grid,.rb-footer-grid,.e-con.rb-quotes-3,.rb-quotes-3,.e-con.rb-ba-grid,.rb-ba-grid{display:grid!important}
.rb-compare-wrap{overflow-x:auto}

/* header + mega menu */
.rb-header{position:sticky;top:0;z-index:500}
.rb-navrow{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;flex-wrap:wrap}
.rb-brandlink{display:inline-flex;align-items:center;gap:.5em;font-family:var(--rb-serif);font-size:1.3rem;color:var(--rb-green-dark)!important;text-decoration:none}
.rb-brandmark{width:34px;height:34px;display:inline-grid;place-items:center;background:var(--rb-green);color:#fff;border-radius:50%;font-size:16px}
.rb-navlinks{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.rb-navlinks a{font-weight:600;color:var(--rb-ink)!important;text-decoration:none;font-size:1rem}
.rb-navlinks a:hover{color:var(--rb-green)!important}
.rb-has-mega{position:relative}
.rb-megatrigger{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.rb-megapanel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);opacity:0;visibility:hidden;transition:all .18s ease;z-index:600;padding:24px!important;width:760px;max-width:92vw}
.rb-has-mega:hover .rb-megapanel,.rb-megapanel:hover{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.rb-megagrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rb-megablurbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rb-blurb{padding:12px;border-radius:8px;transition:background .18s}
.rb-megavideo{border-radius:12px;overflow:hidden}
@media(max-width:1024px){.rb-megapanel{position:static;transform:none;opacity:1;visibility:visible;width:auto;box-shadow:none;padding:8px!important}.rb-megagrid{grid-template-columns:1fr}.rb-navrow{justify-content:center}}
