/* RTO Training Validation - site layer on rtg.css tokens.
   White-first, spec-sheet voice, big grids, generous whitespace. */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:400 16px/1.65 var(--rtg-text);color:var(--rtg-ink);background:#fff;-webkit-text-size-adjust:100%}
img,svg{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--rtg-display);font-weight:800;line-height:1.15;color:var(--rtg-ink);margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.15rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.15rem;line-height:1.3}
p{margin:0 0 1em}
a{color:var(--rtg-blue)}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--rtg-blue);color:#fff;padding:.6em 1em;z-index:3000;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--rtg-orange-bright);outline-offset:2px}

/* cq-fleet-fit: family bar fixed above the sticky site nav */
#cqbar{position:fixed;top:0;left:0;right:0;z-index:1500}
body{padding-top:44px}

/* ---- sticky nav ---- */
.vnav{position:sticky;top:44px;z-index:900;background:#fff;border-bottom:1.5px solid var(--rtg-line)}
.vnav-in{display:flex;align-items:center;gap:1rem;min-height:64px;max-width:1360px}
.vbrand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--rtg-ink);font:700 15px/1.1 var(--rtg-display);letter-spacing:.01em;white-space:nowrap}
.vbrand b{color:var(--rtg-orange);font-weight:800;letter-spacing:.08em}
.vbrand .vmark{flex:0 0 auto}
.vlinks{display:flex;align-items:center;gap:.85rem;margin-left:auto;flex-wrap:wrap}
.vlinks a{font:600 13px/1.2 var(--rtg-text);color:var(--rtg-ink);text-decoration:none;padding:.35em 0;border-bottom:2px solid transparent;white-space:nowrap}
.vlinks a:hover{color:var(--rtg-blue);border-bottom-color:var(--rtg-blue)}
.vlinks a.rtg-btn{color:#fff;border-bottom:0;padding:.55em 1em;font-size:13px}
.vlinks a.rtg-btn:hover{color:#fff}
.vnav-t{display:none;margin-left:auto;background:none;border:1.5px solid var(--rtg-line);border-radius:8px;padding:9px 10px;cursor:pointer}
.vnav-t span:not(.sr){display:block;width:20px;height:2.5px;background:var(--rtg-ink);margin:4px 0;border-radius:2px}
@media (max-width:1080px){
  .vnav-t{display:block}
  .vlinks{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1.5px solid var(--rtg-line);flex-direction:column;align-items:stretch;padding:1rem 22px 1.3rem;gap:.2rem;box-shadow:0 18px 30px rgba(18,42,102,.12)}
  .vnav.open .vlinks{display:flex}
  .vlinks a{padding:.65em 0;font-size:15px;border-bottom:1px solid var(--rtg-line)}
  .vlinks a.rtg-btn{margin-top:.8rem;text-align:center}
}

/* ---- hero ---- */
.hero{padding:4.2rem 0 3.4rem;background:linear-gradient(180deg,#fff 0%,var(--rtg-tint) 100%);border-bottom:1.5px solid var(--rtg-line)}
.hero--sub{padding:3.2rem 0 2.6rem}
.hero h1{max-width:21ch}
.hero blockquote[data-reg]{max-width:760px;margin:1.2rem 0}
.hero-sub{font-size:1.12rem;max-width:62ch;color:var(--rtg-ink)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.kicker{font:700 12.5px/1.3 var(--rtg-text);letter-spacing:.12em;text-transform:uppercase;color:var(--rtg-blue);margin:0 0 .9rem}
.kicker--light{color:#BFD0F7}

/* ---- bands ---- */
.band{padding:3.6rem 0}
.band--tint{background:var(--rtg-tint);border-top:1.5px solid var(--rtg-line);border-bottom:1.5px solid var(--rtg-line)}
.band--blue{background:var(--rtg-blue-deep);color:#EAF0FE}
.band--blue h2{color:#fff}
.band--blue a{color:#fff}
.band--blue .band-lead{max-width:70ch;font-size:1.08rem;color:#D9E3FA}
.band h2{max-width:30ch}
.btnrow{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.rtg-btn--ondark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.rtg-btn--ondark:hover{background:rgba(255,255,255,.12)}
.note{border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad);background:var(--rtg-tint);padding:1em 1.2em;max-width:900px}
.band--tint .note{background:#fff}

/* ---- grids / cards ---- */
.grid{display:grid;gap:1.3rem;margin:1.6rem 0 0}
.grid>*{min-width:0}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.card{border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);padding:1.5rem;background:#fff}
.card h3{margin-top:0}
.card blockquote[data-reg]{margin:.9rem 0;font-size:.93em}
.tlink{font-weight:700;font-size:14px;text-decoration:none}
.tlink:hover{text-decoration:underline}
.split{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;margin-top:1.2rem}
.split>*{min-width:0}
.split--form{grid-template-columns:1fr}
@media (min-width:901px){.split--form{grid-template-columns:1.4fr 1fr}}

/* pricing preview cards */
.pcard{border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);padding:1.5rem;background:#fff;border-top:4px solid var(--rtg-blue)}
.pcard h3{margin:0 0 .4rem}
.pnum{font:800 2.1rem/1 var(--rtg-display);color:var(--rtg-blue);margin:.2rem 0 .7rem}
.pnum span{font:700 .95rem/1 var(--rtg-text);color:var(--rtg-mut);margin-left:.15em}

/* service cards */
.scard{border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);padding:1.8rem;background:#fff}
.scard h2{font-size:1.45rem}
.scard-meta{font-weight:700;font-size:14px;color:var(--rtg-ink)}
.scard .rtg-btn{margin-top:.4rem}
.scard blockquote[data-reg]{font-size:.9em;margin:.8rem 0}

/* teaser (schedule builder / templates) */
.teaser{display:grid;gap:2rem;grid-template-columns:1.25fr 1fr;align-items:center;border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);padding:2.2rem;background:#fff}
@media (max-width:880px){.teaser{grid-template-columns:1fr;padding:1.5rem}}
.teaser-card{border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);background:var(--rtg-tint);padding:1.3rem 1.4rem}
.tc-row{display:flex;justify-content:space-between;gap:1rem;padding:.65em 0;border-bottom:1px solid var(--rtg-line);font-size:14.5px}
.tc-row:last-child{border-bottom:0}
.tc-row span{color:var(--rtg-mut);font-weight:600}
.tc-row b{color:var(--rtg-ink)}
.tc-flag{color:var(--rtg-orange)}
.tc-price b{font:800 1.35rem/1 var(--rtg-display);color:var(--rtg-blue)}

/* what-changed comparison */
.chg{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.4rem}
.chg-old,.chg-new{border-radius:var(--rtg-rad-lg);padding:1.6rem;border:1.5px solid var(--rtg-line)}
.chg-old{background:#fff}
.chg-old h3{color:var(--rtg-mut)}
.chg-old p{color:var(--rtg-mut)}
.chg-new{background:var(--rtg-tint);border-color:var(--rtg-blue);border-width:2px}

/* toc */
.toc{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.toc a{font:600 13.5px/1.2 var(--rtg-text);color:var(--rtg-blue-deep);text-decoration:none;border:1.5px solid var(--rtg-line);background:#fff;border-radius:999px;padding:.5em 1em}
.toc a:hover{border-color:var(--rtg-blue);color:var(--rtg-blue)}

/* lists */
.tick{list-style:none;margin:0 0 1em;padding:0}
.tick li{padding-left:1.5em;position:relative;margin:.45em 0;line-height:1.55}
.tick li::before{content:"";position:absolute;left:0;top:.42em;width:.85em;height:.85em;border-radius:3px;background:var(--rtg-blue);clip-path:polygon(14% 44%,0 62%,40% 100%,100% 16%,84% 2%,38% 68%)}

/* forms */
.form{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));background:#fff;border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);padding:1.6rem;max-width:860px;min-width:0}
.band--tint .form{background:#fff}
.form-wide{grid-column:1/-1}
.rtg-field textarea{width:100%;padding:.6em .8em;font:inherit;border:1.5px solid var(--rtg-line);border-radius:8px;background:#fff;color:var(--rtg-ink);resize:vertical}
.hp{position:absolute;left:-9999px}
.inline-form{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 .4rem}
.inline-form input[type=email]{flex:1 1 240px;padding:.68em .9em;font:inherit;border:1.5px solid var(--rtg-line);border-radius:8px;color:var(--rtg-ink)}
.finenote{font-size:13px;color:var(--rtg-mut);margin-top:1rem}
.finenote a{color:var(--rtg-blue)}

/* contact */
.contact-side h2{font-size:1.2rem}
.contact-list{list-style:none;margin:0 0 1.4rem;padding:0}
.contact-list li{padding:.6em 0;border-bottom:1px solid var(--rtg-line);font-size:14.5px}
.contact-list b{display:block;font:700 11.5px/1.2 var(--rtg-text);letter-spacing:.08em;text-transform:uppercase;color:var(--rtg-mut);margin-bottom:.2em}

/* case cards: dd-level constraint marker */
.rtg-case{margin:0}
.rtg-case dt:first-child{margin-top:0}
.rtg-case dd.rtg-constraint-d{border-left:3px solid var(--rtg-warn);padding-left:.7em}
.rtg-case dt.rtg-constraint{color:var(--rtg-warn)}

/* pricing table: scrollable wide table on desktop, stacked cards on small screens
   (a wide table's intrinsic width expands the mobile layout viewport even inside
   an overflow container, so the table must not be wide at phone sizes) */
.tscroll{margin-top:1.4rem;border:1.5px solid var(--rtg-line);border-radius:var(--rtg-rad-lg);background:#fff}
.rtg-pricetable td .rtg-btn{padding:.5em 1em;font-size:13.5px;white-space:nowrap}
.row-handoff td{background:var(--rtg-tint)}
@media (min-width:721px){
  .tscroll{overflow-x:auto}
  .tscroll .rtg-pricetable{min-width:920px}
}
@media (max-width:720px){
  .rtg-pricetable thead{display:none}
  .rtg-pricetable,.rtg-pricetable tbody,.rtg-pricetable tr,.rtg-pricetable td{display:block;width:100%;min-width:0}
  .rtg-pricetable tr{padding:1rem 1.1rem;border-bottom:6px solid var(--rtg-tint)}
  .rtg-pricetable tr:last-child{border-bottom:0}
  .rtg-pricetable td{padding:.55em 0;border-bottom:1px dashed var(--rtg-line)}
  .rtg-pricetable td:last-child{border-bottom:0;padding-bottom:.2em}
  .rtg-pricetable td[data-l]::before{content:attr(data-l);display:block;font:700 11px/1.2 var(--rtg-text);letter-spacing:.08em;text-transform:uppercase;color:var(--rtg-mut);margin-bottom:.3em}
  .row-handoff{background:var(--rtg-tint)}
}

/* legal pages */
.legal{max-width:820px}
.legal h2{font-size:1.25rem;margin-top:2rem}

/* testimonial */
.rtg-testi{max-width:780px;margin-top:1.4rem}
.rtg-testi blockquote{margin:0;font-size:1.05rem;line-height:1.7}

/* disclosure sizing */
.rtg-disclosure{max-width:860px}
.hero .rtg-disclosure{margin-top:1.3rem}

/* ---- footer (brand-dark, own links) ---- */
.foot{background:var(--rtg-foot);color:#C7CDDA;padding:3.2rem 0 2rem;font-size:14px}
.foot a{color:#EDF0F6;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-cols{display:grid;gap:2.2rem;grid-template-columns:1.5fr 1fr 1fr 1.1fr}
@media (max-width:960px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.foot-cols{grid-template-columns:1fr}}
.vbrand--foot{color:#fff;margin-bottom:1rem}
.vbrand--foot b{color:#FF9757}
.foot-disc{font-size:12.5px;line-height:1.7;color:#A9B1C2;max-width:46ch}
.foot h4{font:700 12px/1.2 var(--rtg-text);letter-spacing:.1em;text-transform:uppercase;color:#8E97AB;margin:0 0 1rem}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin:.45em 0;line-height:1.5}
.foot-info b{display:block;font:700 11px/1.2 var(--rtg-text);letter-spacing:.08em;text-transform:uppercase;color:#8E97AB;margin-bottom:.15em}
.foot-info li{margin:.9em 0}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2.4rem;padding-top:1.4rem;font-size:12.5px;color:#A9B1C2;line-height:1.7}

/* ---- reveals: armed only with JS + motion allowed; default fully visible ---- */
@media (prefers-reduced-motion:no-preference){
  html.rv-armed .rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
  html.rv-armed .rv.in{opacity:1;transform:none}
}

/* print: hide chrome beyond the scope card rules in rtg.css */
@media print{
  body{padding-top:0}
  #cqbar,.vnav,#cqTickerMount,.foot{display:none}
}
