/* Resident view */
.r-hero{position:relative; background:var(--ink); color:var(--white); overflow:hidden}
.r-hero .wrap{position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; padding-block:clamp(56px,8vw,96px); align-items:center}
.r-hero h1{color:var(--white); font-size:clamp(34px,5vw,58px)}
.r-hero p{color:var(--on-ink-muted); font-size:18px; max-width:50ch}
.r-hero img{border-radius:var(--r); width:100%; display:block; aspect-ratio:16/10; object-fit:cover}
@media (max-width:860px){.r-hero .wrap{grid-template-columns:1fr}}
.stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.stat{background:var(--mist); border-radius:var(--r); padding:26px; display:flex; flex-direction:column; gap:8px}
.stat b{font-family:var(--display); font-size:52px; line-height:1; color:var(--teal); font-weight:700}
.stat:first-child b{color:var(--gold)}
.stat span{color:var(--muted); font-size:15px}
@media (max-width:760px){.stats{grid-template-columns:1fr}}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; counter-reset:s}
.steps li{counter-increment:s; display:flex; flex-direction:column; gap:8px; padding-top:16px; border-top:2px solid var(--teal); font-size:15px; font-weight:500; color:var(--ink)}
.steps li::before{content:counter(s,decimal-leading-zero); font-family:var(--display); font-size:26px; color:var(--gold); font-weight:700}
.steps li:last-child{border-top-color:var(--gold)}
.steps-note{margin-top:22px; background:var(--sand); border-radius:8px; padding:16px 20px; color:var(--ink); font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:500px){.steps{grid-template-columns:1fr 1fr}}
.split{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.split>div{border-radius:var(--r); padding:28px; display:flex; flex-direction:column; gap:12px}
.split .own{background:var(--white); border:2px solid var(--gold)}
.split .op{background:var(--white); border:1px solid var(--line)}
.split .pc{font-family:var(--display); font-size:56px; font-weight:700; line-height:1}
.split .own .pc{color:var(--gold)} .split .op .pc{color:var(--teal)}
.split ul{margin:0; padding-left:18px; color:var(--muted); font-size:15px; display:flex; flex-direction:column; gap:4px}
.split-note{margin-top:16px; font-size:14px; color:var(--muted)}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.inc{display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:start}
.bars{display:flex; flex-direction:column; gap:14px}
.bar{display:grid; grid-template-columns:150px 1fr; gap:14px; align-items:center; font-size:14.5px}
.bar .track{background:var(--mist); border-radius:6px; height:34px; position:relative; overflow:hidden}
.bar .fill{background:var(--teal); height:100%; border-radius:6px; display:flex; align-items:center; justify-content:flex-end; padding-right:10px; color:var(--white); font-weight:600; font-size:13.5px; font-variant-numeric:tabular-nums; min-width:fit-content; padding-left:10px}
.bar:last-child .fill{background:var(--gold)}
.assume{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:22px; font-size:14px; color:var(--muted); display:flex; flex-direction:column; gap:8px}
.assume ul{margin:0; padding-left:18px}
@media (max-width:860px){.inc{grid-template-columns:1fr}}
@media (max-width:460px){.bar{grid-template-columns:1fr; gap:4px}}
.tblwrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--white)}
table{border-collapse:collapse; width:100%; min-width:640px; font-size:14.5px}
th,td{text-align:left; padding:12px 16px; border-bottom:1px solid var(--line)}
th{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; background:var(--mist)}
td.n{font-variant-numeric:tabular-nums; white-space:nowrap}
tr:last-child td{border-bottom:0}
.formcard{background:var(--white); border-radius:14px; padding:clamp(22px,4vw,40px); box-shadow:0 10px 30px rgba(8,40,42,.08); border:1px solid var(--line)}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.fgrid .full{grid-column:1/-1}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}}
.radios{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.radios label{display:flex; gap:10px; align-items:flex-start; border:1px solid var(--line); border-radius:8px; padding:12px; cursor:pointer; text-transform:none; letter-spacing:0; font-size:15px; font-weight:500; color:var(--text); background:var(--paper)}
.radios label:has(input:checked){border-color:var(--teal); background:var(--mist)}
.radios input{margin-top:4px; accent-color:var(--teal)}
.radios small{display:block; color:var(--muted); font-weight:400; font-size:13px}
.f.invalid .radios label{border-color:var(--err)}
@media (max-width:520px){.radios{grid-template-columns:1fr}}
.consent{display:flex; gap:10px; font-size:14px; color:var(--muted); align-items:flex-start}
.consent input{margin-top:4px; accent-color:var(--teal)}
.status{border-radius:8px; padding:14px 16px; font-size:15px}
.status.ok{background:#E7F3EC; color:var(--ok)}
.status.bad{background:#FBEDEA; color:var(--err)}
.res-layout{display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start}
.res-layout aside{display:flex; flex-direction:column; gap:18px; position:sticky; top:100px}
@media (max-width:900px){.res-layout{grid-template-columns:1fr} .res-layout aside{position:static}}

