:root{}
.rcalc{--navy:#16233c;--blue:#1a6f9e;--cyan:#14587e;--ink:#16233c;--muted:#5b6577;--line:#e4ddd0;--bg:#faf8f4;--radius:3px;font-family:Archivo,Helvetica,sans-serif;color:var(--ink);line-height:1.55;font-size:16px}
.rcalc *{box-sizing:border-box}
.rcalc h2,.rcalc h3{font-family:Spectral,Georgia,serif;font-weight:400;color:var(--navy);line-height:1.2;margin:0}
.rcalc input,.rcalc select{font:inherit;font-size:16px;color:var(--ink);padding:11px 12px;border:1px solid #d8d0bf;border-radius:2px;background:#fff;width:100%;min-width:0}
.rcalc input:focus,.rcalc select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(26,111,158,.18)}
.rcalc .wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.rcalc .layout{display:grid;gap:18px;margin-top:-40px;padding-bottom:60px;position:relative}
.rcalc .card{background:#fff;border-radius:var(--radius);box-shadow:0 12px 34px rgba(22,35,60,.10);padding:22px 18px;border:1px solid #e4ddd0}
.rcalc .card h2{font-size:24px;font-weight:400;display:flex;align-items:center;gap:10px}
.rcalc .step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cyan);color:#fff;font-size:15px;font-weight:700;flex:none}
.rcalc .hint{color:var(--muted);margin:8px 0 14px;font-size:15px}
.rcalc .roles{display:grid;gap:12px}
.rcalc .role{border:1.5px solid var(--line);border-radius:3px;padding:12px 14px;transition:border-color .15s,background .15s}
.rcalc .role.on{border-color:var(--blue);background:#f3f7fa}
.rcalc .role-top{display:flex;align-items:center;gap:12px;cursor:pointer}
.rcalc .role-top input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue);flex:none;margin:0}
.rcalc .role-name{font-family:Archivo,Helvetica,sans-serif;font-weight:600;color:var(--navy);font-size:16.5px;flex:1}
.rcalc .role-sub{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.rcalc .role-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.rcalc .role:not(.on) .role-body{display:none}
.rcalc .field{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;color:var(--navy)}
.rcalc .field small{font-weight:400;color:var(--muted);font-size:12.5px}
.rcalc input,.rcalc select{font:inherit;font-size:16px;color:var(--ink);padding:11px 12px;border:1.5px solid #cdd8e4;border-radius:2px;background:#fff;width:100%;min-width:0}
.rcalc input:focus,.rcalc select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(55,125,189,.2)}
.rcalc .money{position:relative}
.rcalc .money::before{content:"$";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}
.rcalc .money input{padding-left:24px}
.rcalc .status{grid-column:1/-1;display:flex;gap:8px}
.rcalc .status label{flex:1;position:relative}
.rcalc .status input{position:absolute;opacity:0;pointer-events:none}
.rcalc .status span{display:block;text-align:center;padding:9px 6px;border:1.5px solid #cdd8e4;border-radius:2px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}
.rcalc .status input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.rcalc .status input:focus-visible+span{outline:3px solid var(--cyan);outline-offset:2px}
.rcalc .stepper{display:flex;align-items:stretch}
.rcalc .stepper button{width:42px;border:1.5px solid #cdd8e4;background:#f3f6fa;font-size:20px;color:var(--navy);cursor:pointer;flex:none}
.rcalc .stepper button:first-child{border-radius:2px 0 0 10px;border-right:0}
.rcalc .stepper button:last-child{border-radius:0 10px 10px 0;border-left:0}
.rcalc .stepper input{border-radius:0;text-align:center;padding-left:4px;padding-right:4px}
.rcalc .extras{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.rcalc .extras summary{cursor:pointer;font-weight:700;color:var(--blue);font-size:15px}
.rcalc .extras-grid{display:grid;gap:12px;margin-top:12px}
.rcalc .totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.rcalc .total{background:#16233c;color:#fff;border-radius:3px;padding:14px 12px}
.rcalc .total-label{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:#8ecbec;font-weight:700}
.rcalc .total-value{display:block;font-family:Spectral,Georgia,serif;font-weight:400;font-size:clamp(17px,4.6vw,26px);line-height:1.25;margin-top:4px;word-break:break-word}
.rcalc .basis{font-size:13px;color:var(--muted);margin:10px 0 6px}
.rcalc .breakdown{width:100%;border-collapse:collapse;margin-top:8px;font-size:14.5px}
.rcalc .breakdown th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:8px 0;border-bottom:1.5px solid var(--line)}
.rcalc .breakdown th:last-child,.rcalc .breakdown td:last-child{text-align:right}
.rcalc .breakdown td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.rcalc .breakdown td small{display:block;color:var(--muted);font-size:12.5px}
.rcalc .breakdown td:last-child{font-weight:600;white-space:nowrap;padding-left:10px}
.rcalc .onetime{font-size:14px;margin:12px 0 0;color:var(--ink)}
.rcalc .empty{color:var(--muted);font-size:14px}
.rcalc .coverage{margin-top:18px;background:#eef4f8;border-left:4px solid var(--cyan);border-radius:2px;padding:14px 14px}
.rcalc .coverage h3{font-size:16px;margin-bottom:4px}
.rcalc .coverage p{margin:0;font-size:14.5px}
.rcalc .fine{font-size:12.5px;color:var(--muted);margin:0}
@media (min-width:860px){.rcalc .hero{padding:52px 0 96px}
.rcalc .layout{grid-template-columns:1.15fr .85fr;align-items:start}
.rcalc .calc{grid-row:span 1}
.rcalc .card{padding:28px 26px}
.rcalc .extras-grid{grid-template-columns:1fr 1fr}}

@media (max-width:360px){.rcalc .role-body{grid-template-columns:1fr}
.rcalc .header-phone{font-size:13px;padding:7px 9px}
.rcalc .brand img{height:48px}}
