/* Regan IT v2 body restyle.
   Loaded AFTER css/site.css. It re-skins the existing .ri-* components into the
   v2 design language and deliberately changes NO markup and NO copy, so every
   page keeps its own distinct content and nothing becomes a doorway page.

   It must not touch `opacity`: js/reveal.js holds .reveal at opacity 0 until a
   real scroll, and overriding that would leave content permanently invisible.  */

:root{
  --cobalt:#2B3FE8; --ink:#101010; --paper:#F5F2E8; --white:#FFFFFF;
  --lemon:#FFE234; --coral:#FF5E3A; --mint:#6FE3A1;
  --b:4px solid var(--ink);
  --sh:8px 8px 0 var(--ink);
  --sh-sm:5px 5px 0 var(--ink);
  --display:"Syne","Archivo Black",Impact,sans-serif;
  --body2:"Instrument Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
}

body{background:var(--paper);color:var(--ink);font-family:var(--body2)}

/* ---------- type ---------- */
h1,h2,h3,.ri-head h2,.ri-hero h1,.ri-pagehead h1{
  font-family:var(--display);font-weight:800;letter-spacing:-0.03em;line-height:.98;
  color:var(--ink);text-wrap:balance}
h1,.ri-hero h1,.ri-pagehead h1{font-size:clamp(2.2rem,4.3vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.9rem)}
h3{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.06}
.ri-eyebrow,.ri-kicker{
  font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;display:inline-block;background:var(--ink);color:var(--lemon);
  padding:7px 12px;border-radius:0}

/* ---------- heroes ---------- */
.ri-hero,.ri-pagehead{
  background:var(--cobalt);color:var(--white);border-bottom:var(--b);
  padding-top:52px;padding-bottom:52px}
.ri-hero h1,.ri-pagehead h1,.ri-hero h2,.ri-pagehead p,.ri-hero p,.ri-hero li{color:var(--white)}
.ri-hero .ri-eyebrow,.ri-pagehead .ri-eyebrow{background:var(--ink);color:var(--lemon)}
.ri-hero img,.ri-hero__media img,.ri-pagehead img{
  border:var(--b);box-shadow:var(--sh);border-radius:12px}

/* hero contrast: site.css dims the second paragraph with --muted and styles the
   chips for a light ground. On the cobalt hero both washed out badly. */
.ri-hero p,.ri-hero p + p,.ri-hero .ri-lede,.ri-hero li,.ri-hero__solo p,
.ri-pagehead p,.ri-pagehead .ri-lede{color:#FFFFFF}
.ri-hero .ri-mark,.ri-pagehead .ri-mark{
  background:var(--white);color:var(--ink);border:3px solid var(--ink);
  border-radius:0;font-weight:600}
.ri-hero .ri-marks,.ri-pagehead .ri-marks{gap:10px}
.ri-hero a:not(.ri-btn),.ri-pagehead a:not(.ri-btn){color:var(--lemon)}

/* ---------- bands ---------- */
.ri-section{border-bottom:var(--b);background:var(--paper)}
.ri-section:nth-of-type(even){
  background:var(--white);
  background-image:repeating-linear-gradient(45deg,rgba(16,16,16,.04) 0 10px,transparent 10px 20px)}
.ri-section--dark{background:var(--ink);color:#EDEAE0;border-bottom:var(--b);background-image:none}
.ri-section--dark h2,.ri-section--dark h3{color:var(--white)}

/* ---------- cards ---------- */
.ri-card,.ri-work,.ri-pack,.ri-quote,.ri-step,.ri-fact,.ri-mapcard,.ri-formcard,.ri-qa{
  border:var(--b);border-radius:0;background:var(--white);box-shadow:var(--sh);
  transition:transform .1s,box-shadow .1s}
.ri-card:hover,.ri-work:hover,.ri-pack:hover{
  transform:translate(5px,5px);box-shadow:3px 3px 0 var(--ink)}
.ri-card--dark{background:var(--ink);color:#EDEAE0;border-color:var(--ink)}
.ri-card--dark h3{color:var(--white)}
.ri-card img,.ri-work img{border-radius:10px}

/* the old pages lean on small line icons. Shrink their visual weight rather than
   pretend they are imagery. */
.ri-ico{border:3px solid var(--ink);border-radius:0;background:var(--lemon)}
.ri-ico svg{width:18px;height:18px}

/* ---------- buttons ---------- */
.ri-btn,.ri-btn--primary,.ri-btn--ghost,.ri-btn--on-dark{
  font-family:var(--display);font-weight:800;border-radius:0;border:var(--b);
  box-shadow:var(--sh-sm);transition:transform .08s,box-shadow .08s;text-decoration:none}
.ri-btn:hover,.ri-btn--primary:hover,.ri-btn--ghost:hover,.ri-btn--on-dark:hover{
  transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.ri-btn--primary{background:var(--lemon);color:var(--ink)}
.ri-btn--ghost{background:var(--white);color:var(--ink)}
.ri-btn--on-dark{background:var(--white);color:var(--ink)}

/* ---------- cta band ---------- */
.ri-cta{
  background:var(--coral);color:var(--white);border-bottom:var(--b);
  background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.10) 0 14px,transparent 14px 28px)}
.ri-cta h2,.ri-cta p{color:var(--white)}
.ri-cta .ri-btn--primary{background:var(--lemon);color:var(--ink)}

/* ---------- bits ---------- */
.ri-checks li::marker{color:var(--coral)}
.ri-field,.ri-field input,.ri-field textarea,.ri-field select{border-radius:0}
.ri-field input,.ri-field textarea,.ri-field select{border:var(--b);font-family:var(--body2)}
.ri-status,.ri-partner{border:3px solid var(--ink);border-radius:0;background:var(--mint)}
.ri-quote{background:var(--lemon)}
.ri-grid--tiers .ri-pack:nth-child(2){background:var(--lemon)}

@media (prefers-reduced-motion:reduce){
  .ri-card,.ri-work,.ri-pack,.ri-btn,.ri-btn--primary,.ri-btn--ghost,.ri-btn--on-dark{transition:none}
}
