/* Ridian Capital base: brand guide v2 tokens. Navy leads, brass sparingly, slate for data, dark neutral for text, vellum ground. */
:root{
  --navy:#0C1C31; --navy-2:#13263F; --brass:#A9824A; --brass-lt:#C9A874; --slate:#3D5A73;
  --ink:#3C4444; --vellum:#F4F1EA; --paper:#FAF8F3; --line:#DDD6C8; --on-navy:#F4F1EA; --on-navy-2:#C7CCD3;
  --serif:"Libre Baskerville",Baskerville,"Baskerville Old Face",Georgia,serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1120px; --gut:clamp(16px,4vw,32px);
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--slate)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:var(--on-navy);padding:8px 14px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:780px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 .6em;color:var(--navy);text-wrap:balance}
h1{font-size:clamp(34px,5.2vw,58px);letter-spacing:-.01em}
h2{font-size:clamp(26px,3.4vw,38px)}
h3,.h3{font-size:21px}
p{margin:0 0 1em}
.lead{font-size:19px;line-height:1.65;max-width:62ch}
.lead.flush{margin-top:0}
.small{font-size:14px;color:var(--slate)}
.eyebrow{font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 14px}
.role{font:500 14px/1.4 var(--sans);color:var(--slate)}
/* header */
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:16px}
.brand img{height:50px;width:auto}
.top nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.top nav a{font:500 15px var(--sans);text-decoration:none;color:var(--navy)}
.top nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:6px;text-decoration-thickness:2px}
/* buttons */
.btn{display:inline-block;background:var(--brass);color:var(--navy);text-decoration:none;border:0;border-radius:1px;padding:14px 26px;
  font:600 15px/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--brass-lt)}
.btn-sm{padding:10px 16px;font-size:14px}
.top nav a.btn{color:var(--navy);text-decoration:none}
.btn.ghost{background:transparent;color:var(--on-navy);box-shadow:inset 0 0 0 1px var(--brass)}
.btn.ghost:hover{background:rgba(169,130,74,.15)}
.btn:disabled{opacity:.6;cursor:wait}
.more{font-weight:600;color:var(--slate);text-decoration:none;border-bottom:1px solid var(--brass)}
.more:after{content:" \2192"}
/* sections */
.sec{padding-block:clamp(56px,8vw,96px)}
.sec.alt{background:var(--vellum)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,64px);align-items:start}
.split>*{min-width:0}
.pagehead{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.pagehead .wrap{padding-block:clamp(56px,8vw,88px);position:relative}
.pagehead h1{color:var(--on-navy);max-width:20ch}
.pagehead p{color:var(--on-navy-2);max-width:60ch;margin:0;font-size:18px}
.pagehead .eyebrow{color:var(--brass-lt)}
.prose{max-width:760px}
/* approach */
.principles{margin:0;display:grid;gap:0}
.principles div{padding:20px 0;border-top:1px solid var(--line)}
.principles div:last-child{border-bottom:1px solid var(--line)}
.principles dt{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:6px}
.principles dd{margin:0}
.path{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:p}
.path li{counter-increment:p;background:#fff;border:1px solid var(--line);padding:28px}
.path .step{display:block;font-family:var(--serif);font-size:24px;color:var(--navy);margin-bottom:8px}
.path .step:before{content:counter(p) ". ";color:var(--slate)}
.path p{margin:0}
.quote{margin:32px 0 0;padding:0 0 0 22px;border-left:2px solid var(--brass)}
.quote p{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.55;color:var(--navy)}
.quote cite{font:500 14px var(--sans);color:var(--slate);font-style:normal}
/* connect */
.steps{counter-reset:s;list-style:none;padding:0;margin:24px 0 28px}
.steps li{counter-increment:s;position:relative;padding:0 0 22px 56px}
.steps li:before{content:counter(s);position:absolute;left:0;top:-2px;width:38px;height:38px;border-radius:50%;border:1px solid var(--brass);
  display:grid;place-items:center;font-family:var(--serif);font-size:18px;color:var(--navy)}
.steps strong{display:block;color:var(--navy)}
form{background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,34px)}
fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
legend{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:6px}
label{display:block;font:600 14px/1.4 var(--sans);color:var(--navy);margin:14px 0 6px}
.hint{font-weight:400;color:var(--slate);font-size:13px}
input[type=text],input[type=email],input[type=tel],select{width:100%;padding:12px 13px;border:1px solid #CBC3B2;border-radius:1px;font:16px var(--sans);background:var(--paper);color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--brass);outline-offset:1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.row>*{min-width:0}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;color:var(--ink);margin:4px 0 20px}
.check input{margin-top:4px;flex:none}
.hp{position:absolute;left:-9999px}
.notice{background:var(--vellum);border-left:2px solid var(--brass);padding:18px 20px;font-size:15px;color:var(--ink)}
.status{margin-top:14px;font-size:15px;color:#8A2E1D}
/* footer */
.foot{background:var(--navy);color:var(--on-navy-2);font-size:13px;line-height:1.6}
.foot .wrap{padding-block:48px}
.foot-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.foot-top img{width:54px;height:auto}
.foot-tag{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--brass-lt);margin:0;flex:1 1 220px}
.fnav{display:flex;gap:20px;flex-wrap:wrap}
.fnav a{color:var(--on-navy);text-decoration:none;font-size:14px}
.fnav a:hover{color:var(--brass-lt)}
.legal{border-top:1px solid #243752;margin-top:28px;padding-top:22px}
.legal p{max-width:100ch}
.legal a{color:var(--brass-lt)}
@media (max-width:820px){
  .split,.path,.row{grid-template-columns:minmax(0,1fr)}
  .top nav{gap:16px}
}
