:root{
  --ink:#1B1D24;--mid:#545A69;--low:#7A8091;--line:#DADDE5;--mist:#F4F5F8;
  --brand:#4F46E5;--hi:#EEF0FF;--hi-ink:#4338CA;--ok:#12805C;--ok-bg:#E8F6EF;--warn:#9A3412;--warn-bg:#FFF1E8;
  --display:'Bricolage Grotesque','Public Sans',system-ui,sans-serif;
  --body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55}
a{color:var(--brand)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.rg-w{max-width:1120px;margin:0 auto;padding:0 22px}
.rg-skip{position:absolute;left:-9999px}
.rg-skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:8px 12px;border-radius:8px}

/* header */
.rg-hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}
.rg-hd-in{display:flex;align-items:center;gap:22px;height:66px}
.rg-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.rg-mk{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#6366F1,#8B5CF6,#EC4899);color:#fff;font-family:var(--display);font-weight:800}
.rg-wm{font-family:var(--display);font-weight:800;font-size:17px;white-space:nowrap}
.rg-nav{display:flex;gap:20px}
.rg-nav a,.rg-tel{color:var(--mid);text-decoration:none;font-size:15px;font-weight:600}
.rg-nav a:hover,.rg-tel:hover{color:var(--ink)}
.rg-cta{background:var(--brand);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:9px 16px;border-radius:9px}
.rg-burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;padding:0;position:relative}
.rg-burger span,.rg-burger span::before,.rg-burger span::after{display:block;position:absolute;left:11px;width:18px;height:2px;background:var(--ink);content:""}
.rg-burger span{top:19px}.rg-burger span::before{left:0;top:-6px}.rg-burger span::after{left:0;top:6px}
.rg-mnav{display:none;padding:6px 22px 16px;border-top:1px solid var(--line);background:#fff}
.rg-mnav a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-weight:600}
.rg-hd.open .rg-mnav{display:block}

/* hero: the welcome is the whole point of the page, so it gets the room */
.rg-hero{background:var(--hi);padding:64px 0 150px}
.rg-hero h1{font-size:clamp(42px,7.4vw,92px);line-height:.98;font-weight:800;letter-spacing:-.035em;max-width:15ch;color:var(--ink)}
.rg-sub{margin:22px 0 0;font-size:clamp(18px,2vw,22px);line-height:1.45;color:#3C4152;max-width:46ch}

/* plans */
.rg-plans-sec{margin-top:-104px}
.rg-plans{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.rg-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:28px 28px 26px;box-shadow:0 18px 44px rgba(27,29,36,.08)}
.rg-plan.rec{border-color:var(--brand);box-shadow:0 22px 54px rgba(79,70,229,.2)}
.rg-badge{position:absolute;top:-13px;left:26px;background:var(--brand);color:#fff;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px}
.rg-plan h2{font-size:26px;font-weight:800}
.rg-plan-line{margin:4px 0 0;color:var(--mid);font-size:16px}
.rg-price{font-family:var(--display);font-weight:800;font-size:64px;line-height:1;letter-spacing:-.04em;margin:18px 0 0}
.rg-price small{font-family:var(--body);font-size:16px;font-weight:600;color:var(--mid);letter-spacing:0;margin-left:4px}
.rg-offer{margin:16px 0 0;padding:11px 14px;background:var(--ok-bg);color:#0E6B4C;border-radius:10px;font-size:15px;font-weight:600}
.rg-plan ul{list-style:none;margin:18px 0 22px;padding:0;flex:1}
.rg-plan li{position:relative;padding:6px 0 6px 26px;font-size:16px}
.rg-plan li::before{content:"";position:absolute;left:3px;top:13px;width:12px;height:7px;border-left:2.5px solid var(--ok);border-bottom:2.5px solid var(--ok);transform:rotate(-45deg)}
.rg-pick{display:block;width:100%;border:0;border-radius:10px;padding:15px;background:var(--brand);color:#fff;font:inherit;font-weight:800;font-size:17px;cursor:pointer;margin-top:auto}
.rg-plan:not(.rec) .rg-pick{background:#fff;color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand)}
.rg-pick:hover{filter:brightness(1.06)}
.rg-other{margin:0 0 0;font-size:15px;color:var(--mid);text-align:center;padding-top:12px}
.rg-fine{margin:18px 0 0;color:var(--mid);font-size:14.5px}

/* one-plan pages */
.rg-mode-99 .rg-plans,.rg-mode-499 .rg-plans{grid-template-columns:minmax(0,560px)}

/* next steps */
.rg-next{padding:64px 0 20px}
.rg-next h2,.rg-signup h2,.rg-faq h2{font-size:clamp(30px,4vw,42px);font-weight:800}
.rg-steps{list-style:none;counter-reset:s;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rg-steps li{counter-increment:s;border-top:3px solid var(--brand);padding-top:14px}
.rg-steps li::before{content:counter(s);display:block;font-family:var(--display);font-weight:800;font-size:30px;color:var(--brand);line-height:1;margin-bottom:8px}
.rg-steps b{display:block;font-size:17px;line-height:1.3}
.rg-steps span{display:block;margin-top:4px;color:var(--mid);font-size:15.5px}

/* signup */
.rg-signup{padding:60px 0}
.rg-banner{margin:18px 0 0;padding:12px 16px;border-radius:10px;background:var(--hi);color:var(--hi-ink);font-weight:600}
.rg-co{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start;margin-top:24px}
.rg-form{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:26px}
.rg-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rg-bars{display:flex;gap:6px}
.rg-bars i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.rg-bars i.on{background:var(--brand)}
.rg-stepof{margin:6px 0 14px;font-size:14px;color:var(--mid)}
.rg-step{border:0;margin:0;padding:0;min-width:0}
.rg-step legend{font-family:var(--display);font-size:25px;font-weight:800;letter-spacing:-.02em;padding:0;margin-bottom:14px}
.rg-form label{display:block;font-size:15px;font-weight:700;margin:0 0 6px}
.rg-form input:not([type=radio]):not([type=checkbox]),.rg-form textarea,.rg-form select{display:block;width:100%;height:50px;padding:0 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:16px;color:var(--ink);background:#fff;margin-bottom:14px}
.rg-form textarea{height:auto;padding:11px 13px;resize:vertical}
.rg-form input:focus,.rg-form textarea:focus,.rg-form select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,70,229,.18)}
.rg-form .bad{border-color:#C2410C!important}
.rg-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rg-note{margin:-4px 0 14px;font-size:14px;color:var(--mid)}
.rg-note-top{margin-top:-8px}
.rg-row{display:flex;gap:10px;margin-top:6px}
.rg-btn{flex:1;min-height:54px;border:0;border-radius:10px;background:var(--brand);color:#fff;font:inherit;font-size:17px;font-weight:800;cursor:pointer;padding:0 16px}
.rg-btn:hover{filter:brightness(1.07)}
.rg-btn[disabled]{opacity:.7;cursor:progress}
.rg-btn.busy::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:rgspin .7s linear infinite}
@keyframes rgspin{to{transform:rotate(360deg)}}
.rg-back{flex:none;min-height:50px;padding:0 16px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.rg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.rg-chips button{padding:9px 13px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;color:var(--ink)}
.rg-chips button[aria-pressed=true]{border-color:var(--brand);background:var(--hi);color:var(--hi-ink)}
.rg-line{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}
.rg-line:first-child{padding-top:0}
.rg-line label{font-size:14px;margin-bottom:4px}
.rg-line select,.rg-line input{margin:0!important}
.rg-x{height:50px;width:44px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:20px;color:var(--mid);cursor:pointer}
.rg-x[disabled]{visibility:hidden}
.rg-add{margin:12px 0 0;border:0;background:none;color:var(--brand);font:inherit;font-weight:700;cursor:pointer;padding:6px 0}
.rg-tip{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--ok-bg);color:#0E6B4C;font-size:15px;font-weight:600}
.rg-h3{font-size:19px;font-weight:800;margin:24px 0 10px}
.rg-opts{display:grid;gap:8px}
.rg-opt{display:block;text-align:left;width:100%;padding:13px 14px 13px 42px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font:inherit;cursor:pointer;position:relative;color:var(--ink)}
.rg-opt::before{content:"";position:absolute;left:14px;top:16px;width:16px;height:16px;border:2px solid var(--line);border-radius:50%;background:#fff}
.rg-opt[aria-checked=true]{border-color:var(--brand);background:#F5F5FF}
.rg-opt[aria-checked=true]::before{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px #fff}
.rg-opt b{display:block;font-size:16px}
.rg-opt span{display:block;font-size:14.5px;color:var(--mid)}
.rg-terms{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.rg-term{padding:10px 6px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink);text-align:center}
.rg-term small{display:block;font-weight:600;font-size:13px;color:var(--ok)}
.rg-term[aria-checked=true]{border-color:var(--brand);background:var(--hi);color:var(--hi-ink)}
.rg-promo{display:flex;gap:8px}
.rg-promo input{margin-bottom:0!important}
.rg-promo-msg{margin:8px 0 0;font-size:15px;font-weight:600;color:var(--ok)}
.rg-promo-msg.no{color:var(--warn)}
.rg-step[data-step="4"] .rg-row{margin-top:20px}
#rg-terms-note{margin:12px 0 0}
.rg-err{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--warn-bg);color:var(--warn);font-size:15px}
.rg-sum{position:sticky;top:86px;background:var(--mist);border-radius:18px;padding:22px}
.rg-sum.busy{opacity:.65}
.rg-sum h3{font-size:21px;font-weight:800;margin-bottom:10px}
.rg-sum-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:15.5px}
.rg-sum-line small{display:block;color:var(--mid);font-size:13.5px}
.rg-sum dl{margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--line)}
.rg-sum dl:empty{display:none}
.rg-sum dl div{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:3px 0;color:#0E6B4C}
.rg-sum dt,.rg-sum dd{margin:0}
.rg-due{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:12px;border-top:2px solid var(--ink);font-weight:700}
.rg-due b{font-family:var(--display);font-size:34px;font-weight:800;letter-spacing:-.03em}
.rg-then{margin:6px 0 0;font-size:14.5px;color:var(--mid)}

/* faq + footer */
.rg-faq{background:var(--mist);padding:56px 0}
.rg-faq h2{margin-bottom:16px}
.rg-faq details{border-bottom:1px solid var(--line);padding:13px 0;max-width:760px}
.rg-faq summary{font-weight:700;cursor:pointer}
.rg-faq p{margin:8px 0 0;color:#3C4152}
.rg-ft{padding:26px 0 calc(26px + env(safe-area-inset-bottom,0));font-size:15px;color:var(--mid)}
.rg-ft .rg-w{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between}
.rg-ft nav{display:flex;gap:16px}
.rg-ft p{margin:0;flex-basis:100%}

/* thank-you page */
.rg-ty{background:var(--hi);padding:56px 0 64px}
.rg-ty h1{font-size:clamp(40px,6.4vw,76px);line-height:1;font-weight:800;letter-spacing:-.035em;max-width:16ch}
.rg-ty-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;margin-top:30px;align-items:start}
.rg-book{background:#fff;border-radius:18px;padding:26px;box-shadow:0 18px 44px rgba(27,29,36,.08)}
.rg-book h2{font-size:27px;font-weight:800}
.rg-book p{margin:8px 0 16px;color:#3C4152}
.rg-book .rg-btn{display:block;width:100%;line-height:58px;text-align:center;text-decoration:none}
.rg-count{margin:12px 0 0!important;font-size:15px;color:var(--mid)!important}
.rg-count button{border:0;background:none;color:var(--brand);font:inherit;font-weight:700;cursor:pointer;padding:0}
.rg-receipt{background:#fff;border-radius:18px;padding:22px}
.rg-receipt h3{font-size:19px;font-weight:800;margin-bottom:8px}
.rg-receipt p{margin:4px 0;font-size:15.5px}

@media (max-width:900px){
  .rg-nav,.rg-tel{display:none}
  .rg-burger{display:block}
  .rg-cta{padding:8px 13px}
  .rg-plans{grid-template-columns:1fr}
  .rg-steps{grid-template-columns:1fr 1fr}
  .rg-co,.rg-ty-grid{grid-template-columns:minmax(0,1fr)}
  .rg-sum{position:static}
  .rg-hero{padding:44px 0 130px}
}
@media (max-width:540px){
  .rg-wm{font-size:15px}
  .rg-steps{grid-template-columns:1fr}
  .rg-two{grid-template-columns:1fr;gap:0}
  .rg-line{grid-template-columns:minmax(0,1fr) auto}
  .rg-line>div:nth-child(2){grid-column:1/-1;grid-row:2}
  .rg-terms{grid-template-columns:1fr 1fr}
  .rg-form{padding:20px 16px}
  .rg-plan{padding:24px 20px}
}
@media (prefers-reduced-motion:reduce){.rg-btn.busy::after{animation:none}}

/* Nov 4 2026: third bucket, results, straight-to-booking */
.rg-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-mode-99 .rg-plans,.rg-mode-499 .rg-plans{grid-template-columns:minmax(0,560px)}
.rg-custom{background:#F6F7F9;border-color:var(--line);box-shadow:none;opacity:.78}
.rg-custom h2{font-size:22px;color:var(--mid)}
.rg-custom-t{flex:1;margin:14px 0 20px;color:var(--mid);font-size:15px;line-height:1.5}
.rg-pick-c{display:block;text-align:center;padding:13px;border-radius:10px;background:#fff;color:#1B1D24;font-weight:700;text-decoration:none;box-shadow:inset 0 0 0 1.5px #C9CDD6}
.rg-proof{padding:56px 0;background:#fff}
.rg-proof h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;text-align:center;margin:0 0 26px}
.rg-proof-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.rg-q{margin:0;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column}
.rg-q-b{font-size:32px;font-weight:800;color:var(--brand);line-height:1.1}
.rg-q-l{font-size:14px;color:var(--mid);margin-top:2px}
.rg-q blockquote{margin:14px 0;flex:1;font-size:16px;line-height:1.55}
.rg-q figcaption{font-size:14px;font-weight:700;color:var(--mid)}
.rg-book-line{text-align:center;color:var(--mid);margin:6px 0 14px}
.rg-book .rg-hero,.rg-book .rg-plans-sec,.rg-book .rg-next,.rg-book .rg-proof,.rg-book .rg-other{display:none}
.rg-book .rg-signup{padding-top:36px}
@media (max-width:980px){.rg-plans{grid-template-columns:1fr}}
