/* Site-specific fixes on top of brand v1 legacy-map.css: hard-coded colours in styles.css that the map does not cover.
   Owned by RG Builder; uses brand tokens only. Load last. */
.legal p,.legal li{color:var(--rg-text)}
.draft-banner{background:var(--rg-high-bg);color:var(--rg-high);border-color:var(--rg-high)}
.prelaunch{background:var(--rg-med-bg);color:var(--rg-med)}
.plan.featured{border:var(--rg-border-width-hairline) solid var(--rg-border-strong);box-shadow:none} /* QA 2: no amber border or glow */
.plan.recommended{border:2px solid var(--rg-accent);background:var(--rg-accent-tint)}
.plan .recommend{display:inline-block;margin:0 0 10px;padding:2px 8px;border-radius:999px;background:var(--rg-accent);color:#1a1408;font-family:var(--rg-font-mono);font-size:var(--rg-text-label);font-weight:700}
.site-header{border-bottom-color:var(--rg-border)}
.logo{color:var(--rg-text)}
.logo span{color:var(--rg-accent-text)}
h1,h2,h3{font-family:var(--rg-font-sans);letter-spacing:var(--rg-tracking-h2)}
a{color:var(--rg-text);text-decoration:underline;text-underline-offset:.18em;text-decoration-color:var(--rg-border-strong)} /* QA 2: links neutral */
a:hover{text-decoration-color:currentColor}
.btn,.btn:visited{color:var(--rg-on-accent)}
.btn.secondary,.btn.secondary:visited{color:var(--rg-text)}
/* forms and admin pages rendered by Pages Functions (functions/_lib/util.js) */
form.rg input[type=text],form.rg input[type=url],form.rg input[type=email],form.rg input[type=number],form.rg select,form.rg textarea{background:var(--rg-surface);color:var(--rg-text);border:var(--rg-border-width-hairline) solid var(--rg-border-strong)}
.err{background:var(--rg-high-bg);color:var(--rg-high);border-color:var(--rg-high)}
.ok{background:var(--rg-ok-bg);color:var(--rg-ok);border-color:var(--rg-ok)}
table.adm th,table.adm td{border-bottom-color:var(--rg-border)}
.pill{background:var(--rg-low-bg);color:var(--rg-text)}
.pill.test{background:var(--rg-med-bg);color:var(--rg-med)}
.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{height:24px;width:auto;display:block}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--rg-border-width-focus) solid var(--rg-focus);outline-offset:2px}
.btn.secondary{border-width:var(--rg-border-width-strong)}

/* SaaS v0 hero URL form and screen-reader-only labels */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-form{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;max-width:560px}
.hero-form input{flex:1 1 260px;margin:0}
.hero-form .btn{flex:0 0 auto}
.sample-card ol{margin:4px 0 0;padding-left:20px}

/* ===== Design QA fixes (design/review/site_v0_design_qa.md, 20 Oct 2026). Tokens only. ===== */
/* QA 1 + 7: one brand style for every text control, hero field included */
input,button,select,textarea{font:inherit;letter-spacing:inherit}
form.rg input[type=text],form.rg input[type=url],form.rg input[type=email],form.rg input[type=number],form.rg select,form.rg textarea,.hero-form input{
  min-height:48px;box-sizing:border-box;padding:var(--rg-space-3);border-radius:var(--rg-radius-md);background:var(--rg-surface);color:var(--rg-text);
  border:var(--rg-border-width-hairline) solid var(--rg-border-strong);font-size:var(--rg-text-body)}
form.rg input::placeholder,.hero-form input::placeholder{color:var(--rg-text-muted);opacity:1}
form.rg select{appearance:none;-webkit-appearance:none;padding-right:calc(var(--rg-space-3) * 3.5);cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--rg-text-muted) 50%),linear-gradient(135deg,var(--rg-text-muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
form.rg .check{align-items:flex-start;gap:var(--rg-space-3);margin:var(--rg-space-4) 0}
form.rg input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border-radius:var(--rg-radius-xs);
  border:var(--rg-border-width-strong) solid var(--rg-border-strong);background:var(--rg-surface);display:inline-grid;place-content:center;cursor:pointer}
form.rg input[type=checkbox]::after{content:"";width:6px;height:11px;border:solid var(--rg-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
form.rg input[type=checkbox]:checked{background:var(--rg-accent);border-color:var(--rg-accent)}
form.rg input[type=checkbox]:checked::after{opacity:1}
/* one size for every primary action */
.btn,form.rg button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:var(--rg-space-3) var(--rg-space-6);
  border-radius:var(--rg-radius-pill);font-size:var(--rg-text-body);font-weight:600;line-height:1.2}
form.rg button{background:var(--rg-accent);color:var(--rg-on-accent);border:var(--rg-border-width-strong) solid var(--rg-accent);cursor:pointer}
form.rg button:hover{background:var(--rg-accent-hover);border-color:var(--rg-accent-hover)}
.hero-form{gap:var(--rg-space-2);align-items:stretch}
.hero-form .btn{margin:0}
/* QA 2: amber only for the primary button plus one highlight per screen (hero eyebrow) */
.dot{background:var(--rg-surface-2);color:var(--rg-text-muted);border:var(--rg-border-width-hairline) solid var(--rg-border)}
.steps li::before{background:var(--rg-surface-2);color:var(--rg-text-muted);border:var(--rg-border-width-hairline) solid var(--rg-border)}
ul.tick li::before{color:var(--rg-ok)}
.site-nav a{text-decoration:none}
.todo{background:transparent;color:var(--rg-text-muted);border:var(--rg-border-width-hairline) dashed var(--rg-border-strong);border-radius:var(--rg-radius-xs);font-weight:500}
.btn{text-decoration:none}
/* QA 4: DRAFT tags as small mono labels beside the price */
.tag-draft{display:inline-block;vertical-align:middle;margin-left:var(--rg-space-2);padding:2px 6px;font-family:var(--rg-font-mono);font-size:var(--rg-text-label);
  line-height:var(--rg-leading-label);letter-spacing:var(--rg-tracking-label);font-weight:500;text-transform:uppercase;color:var(--rg-text-muted);
  border:var(--rg-border-width-hairline) dashed var(--rg-border-strong);border-radius:var(--rg-radius-xs)}
/* QA 5: type scale */
.hero h1{font-size:var(--rg-text-display);line-height:var(--rg-leading-display);letter-spacing:var(--rg-tracking-display);font-weight:var(--rg-weight-display)}
.fine,.card p,.steps p,.plan .fine{font-size:var(--rg-text-small);line-height:var(--rg-leading-small)}
.fine.left{text-align:left}
/* QA 3: mobile nav on one line: keep How it works, Price, FAQ (the other two are in the footer) */
@media (max-width:600px){.site-nav li.nav-wide{display:none}.site-nav ul{flex-wrap:nowrap;gap:var(--rg-space-4)}.site-header .wrap{flex-wrap:nowrap}}
/* QA 6: Pages Function screens: top spacing and footer */
main.legal{padding-top:var(--rg-space-12);padding-bottom:var(--rg-space-10)}
@media (max-width:600px){main.legal{padding-top:var(--rg-space-10)}}
main.legal > .draft-banner:first-child{margin-top:0}
/* QA 7: FAQ disclosure as a muted plus/minus */
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--rg-space-4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-weight:400;font-size:1.4em;line-height:1;color:var(--rg-text-muted)}
.faq details[open] summary::after{content:"\2212"}
/* QA 8: image slot for RG Design's DEMO report page, text card as fallback */
.demo-slot{margin:0}
.demo-slot object{display:block;width:100%;max-width:820px}
.demo-slot figcaption{margin-top:var(--rg-space-3)}
.sample-card ol{margin:var(--rg-space-1) 0 0;padding-left:1.4em}
.sample-card ol li{margin:var(--rg-space-1) 0}
.sample-card ol li::marker{color:var(--rg-text-muted)}
.sample-card .fine{margin-top:var(--rg-space-5)}
@media (max-width:600px){.site-nav a{white-space:nowrap;font-size:var(--rg-text-small)}.site-nav ul{gap:var(--rg-space-3)}}

/* DEMO finding page (RG Design, design/site_assets/finding_demo/snippet.html) */
.rg-finding-demo{margin:var(--rg-space-8) 0 0;max-width:760px}
.rg-finding-demo img{display:block;width:100%;height:auto}
/* the images carry a transparent shadow margin; widen the picture so the card's edge lines up with the text column */
.rg-finding-demo picture{display:block;width:107.04%;margin-left:-3.52%}           /* desktop: 28px pad in an 852px-wide frame */
@media (max-width:599px){.rg-finding-demo picture{width:108.28%;margin-left:-4.14%}} /* phone: 14px pad in a 366px-wide frame */
.rg-finding-demo figcaption{margin-top:var(--rg-space-3);max-width:62ch;font-size:var(--rg-text-small);line-height:var(--rg-leading-small);color:var(--rg-text-muted)}
.rg-finding-demo figcaption strong{font-family:var(--rg-font-mono);font-size:var(--rg-text-label);font-weight:var(--rg-weight-label);letter-spacing:.02em;color:var(--rg-text)}

/* Footer lockup (RG Design brand_v1: 24px high, no amber) */
.footer-lockup{margin:0 0 var(--rg-space-3)}.footer-lockup img{display:block;height:24px;width:auto}
