:root{
  --bg:#F6F8FA; --surface:#FFFFFF; --text:#16232F; --muted:#556777;
  --primary:#0A558E; --accent:#118DEF; --border:#DEE6ED;
  --hg:#00A855; --shadow:0 10px 30px rgba(10,45,80,.08);
}
[data-theme="dark"]{
  --bg:#0C141C; --surface:#14202B; --text:#E9EFF5; --muted:#93A5B4;
  --primary:#4FA3E8; --accent:#4FA3E8; --border:#243545;
  --hg:#17C96C; --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;background:var(--bg);color:var(--text);
  line-height:1.6;transition:background .25s,color .25s;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:0 24px}

/* header */
header{display:flex;justify-content:space-between;align-items:center;
  max-width:1040px;margin:0 auto;padding:22px 24px;width:100%}
.wordmark{line-height:1.05;color:var(--text)}
.wordmark b{font-weight:800;font-size:1.35rem;letter-spacing:.02em;font-stretch:125%}
.wordmark span{display:block;font-size:.62rem;font-weight:600;letter-spacing:.52em;color:var(--muted)}
.wordmark.lg b{font-size:clamp(2.4rem,7vw,3.6rem)}
.wordmark.lg span{font-size:clamp(.8rem,2.2vw,1.05rem);letter-spacing:.58em;margin-top:4px}
#themeToggle{background:var(--surface);border:1px solid var(--border);color:var(--text);
  border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit;font-size:.85rem;display:flex;gap:6px;align-items:center}
#themeToggle:hover{border-color:var(--accent)}
#themeToggle:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* hero */
.hero{padding:72px 0 48px;text-align:center}
.hero p.tag{margin-top:18px;font-size:1.1rem;color:var(--muted);max-width:560px;margin-left:auto;margin-right:auto}

/* brand cards */
.brands{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;padding:24px 0 72px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:28px 24px 24px;display:flex;flex-direction:column;gap:12px;color:var(--text);
  border-top:4px solid var(--card-accent,var(--primary));box-shadow:var(--shadow);
  transition:transform .18s,border-color .18s}
.card:hover{transform:translateY(-4px);border-color:var(--card-accent,var(--primary))}
.card img{height:34px;width:auto;align-self:flex-start;object-fit:contain}
.card h2{font-size:1.12rem;font-weight:700}
.card p{color:var(--muted);font-size:.95rem;flex:1}
.card .go{font-weight:600;font-size:.92rem}
.card.rh{--card-accent:var(--accent)}
.card.hg{--card-accent:var(--hg)}
.card.rc{--card-accent:var(--primary)}

/* generic sections */
.section{padding:40px 0}
.section h1{font-size:clamp(1.7rem,4.5vw,2.3rem);font-weight:800;font-stretch:115%}
.section h2{font-size:1.25rem;margin:28px 0 10px;font-weight:700}
.section p{margin:10px 0;max-width:68ch}
.section ul{margin:10px 0 10px 22px;max-width:68ch}
.section li{margin:6px 0}
.notice{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);
  border-radius:10px;padding:16px 18px;margin:18px 0;max-width:68ch}
.btn{display:inline-block;background:var(--primary);color:#fff;font-weight:600;
  padding:12px 26px;border-radius:10px;border:0;cursor:pointer;font:inherit;font-size:1rem}
.btn:hover{filter:brightness(1.1)}
blockquote{border-left:4px solid var(--accent);padding:14px 18px;background:var(--surface);
  border-radius:0 10px 10px 0;margin:22px 0;max-width:68ch;color:var(--muted);font-style:italic}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-weight:600;color:var(--text)}

/* form */
form.contact{display:grid;gap:14px;max-width:520px;margin:24px 0}
form.contact label{font-weight:600;font-size:.92rem}
form.contact input,form.contact textarea{width:100%;padding:11px 13px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface);color:var(--text);font:inherit}
form.contact input:focus,form.contact textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.hp{position:absolute;left:-9999px}
.ok{background:#e6f6ec;border:1px solid #7ed3a0;color:#14582f;padding:14px 18px;border-radius:10px;margin:18px 0;max-width:520px}
[data-theme="dark"] .ok{background:#11301f;border-color:#1f7a45;color:#9fe6bd}

footer{border-top:1px solid var(--border);margin-top:auto}
footer .inner{max-width:1040px;margin:0 auto;padding:26px 24px;font-size:.85rem;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* RC logo is squarish 200x120 - display larger than the wide logos */
.card.rc img{height:52px}
