/* medpaymap pathway pages — shared styles
   Brand: Fraunces (display) + Inter (body)
   Paper #F7F6F2 · Money green #1A7A4A · Deep navy #1E3A6E */
:root{
  --paper:#F7F6F2; --ink:#1c1e21; --muted:#6b6e76;
  --green:#1A7A4A; --green-soft:#E7F2EC;
  --navy:#1E3A6E; --navy-soft:#E9EDF5;
  --line:#E3E1DA; --card:#FFFFFF;
  --amber:#B45309; --amber-soft:#FDF3E7;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;font-size:16px}
.wrap{max-width:720px;margin:0 auto;padding:0 1.15rem}

/* header */
header{border-bottom:1px solid var(--line);background:var(--card)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}
.logo span{color:var(--green)}
.nav a.back{font-size:.82rem;color:var(--muted);text-decoration:none}
.nav a.back:hover{color:var(--navy)}

/* hero */
.hero{padding:2.6rem 0 1.8rem}
.crumb{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:.8rem}
h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(1.7rem,5.5vw,2.5rem);line-height:1.15;letter-spacing:-.01em;margin-bottom:.9rem}
.lede{color:var(--muted);font-size:1.02rem;max-width:600px}
.beta{display:inline-block;margin-top:1.1rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);background:var(--amber-soft);border:1px solid #EED9BF;border-radius:6px;padding:.25rem .6rem}

/* verdict card */
.verdict{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;padding:1.2rem 1.3rem;margin:1.6rem 0}
.verdict.navy{border-left-color:var(--navy)}
.verdict h2{font-family:'Fraunces',serif;font-size:1.15rem;margin-bottom:.4rem}
.verdict p{font-size:.95rem;color:var(--muted)}
.verdict p b{color:var(--ink)}

/* sections */
section{padding:1.6rem 0}
h2.sec{font-family:'Fraunces',serif;font-size:1.45rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em}
h3{font-family:'Fraunces',serif;font-size:1.08rem;font-weight:600;margin:1.3rem 0 .5rem}
p+p{margin-top:.8rem}
section p{max-width:640px}
a{color:var(--navy)}

/* route cards */
.routes{display:grid;gap:1rem}
.route{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.3rem}
.route .tag{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:.2rem .55rem;display:inline-block;margin-bottom:.6rem}
.tag.fast{background:var(--green-soft);color:var(--green)}
.tag.std{background:var(--navy-soft);color:var(--navy)}
.route h3{margin:.1rem 0 .4rem}
.route p{font-size:.92rem;color:var(--muted)}
.route .facts{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:.8rem;font-size:.8rem}
.route .facts span{color:var(--muted)}
.route .facts b{color:var(--ink);font-weight:600}

/* steps */
.steps{counter-reset:step;list-style:none;margin-top:.4rem}
.steps li{position:relative;padding:0 0 1.5rem 3rem;counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:2.05rem;height:2.05rem;border-radius:50%;background:var(--navy);color:#fff;font-family:'Fraunces',serif;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.steps li::after{content:'';position:absolute;left:1rem;top:2.3rem;bottom:.2rem;width:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps h3{margin:0 0 .3rem;font-size:1.02rem}
.steps p{font-size:.92rem;color:var(--muted)}

/* cost / timeline table */
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.9rem}
th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--paper)}
tr:last-child td{border-bottom:none}
td b{font-family:'Fraunces',serif;font-variant-numeric:tabular-nums}
.note{font-size:.78rem;color:var(--muted);margin-top:.6rem}

/* watch-outs */
.watch{background:var(--amber-soft);border:1px solid #EED9BF;border-radius:12px;padding:1.1rem 1.3rem;margin-top:1rem}
.watch h3{margin-top:0;color:var(--amber)}
.watch ul{margin:.5rem 0 0 1.1rem;font-size:.92rem;color:var(--ink)}
.watch li{margin-bottom:.5rem}

/* gate */
.gate{background:var(--navy);border-radius:16px;padding:1.8rem 1.4rem;margin:2.2rem 0;color:#fff}
.gate h2{font-family:'Fraunces',serif;font-size:1.4rem;margin-bottom:.5rem}
.gate>p{font-size:.93rem;color:#C7D1E4;max-width:520px}
.gate ul{list-style:none;margin:1rem 0 1.3rem;font-size:.9rem}
.gate ul li{padding-left:1.5rem;position:relative;margin-bottom:.45rem;color:#EAEFF7}
.gate ul li::before{content:'✓';position:absolute;left:0;color:#7FD3A4;font-weight:700}
.gate form{display:flex;flex-direction:column;gap:.6rem;max-width:440px}
.gate input[type=text],.gate input[type=email],.gate select{width:100%;padding:.85rem 1rem;border-radius:10px;border:1px solid #3A548C;background:#28477F;color:#fff;font-family:inherit;font-size:.95rem}
.gate input::placeholder{color:#8FA3C6}
.gate select{color:#fff}
.gate input:focus,.gate select:focus{outline:none;border-color:#7FD3A4}
.gate .consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.76rem;color:#C7D1E4;line-height:1.5;cursor:pointer}
.gate .consent input{margin-top:.2rem;accent-color:#7FD3A4}
.gate button{padding:.9rem 1.4rem;background:var(--green);border:none;border-radius:10px;color:#fff;font-weight:700;font-size:.98rem;cursor:pointer;font-family:'Inter',sans-serif}
.gate button:hover{filter:brightness(1.1)}
.gate .gmsg{display:none;margin-top:.6rem;font-size:.85rem}
.gate .fine{font-size:.72rem;color:#8FA3C6;margin-top:.8rem}

/* cross-sell */
.cross{background:var(--green-soft);border:1px solid #CFE5D9;border-radius:12px;padding:1.1rem 1.3rem;margin:1.4rem 0}
.cross p{font-size:.92rem}
.cross a{font-weight:600;color:var(--green)}

/* sources & footer */
.sources{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding:1.4rem 0 .6rem;margin-top:1.6rem}
.sources ul{margin:.4rem 0 0 1.1rem}
.sources li{margin-bottom:.25rem}
footer{border-top:1px solid var(--line);margin-top:2rem;padding:1.4rem 0 2.2rem;font-size:.78rem;color:var(--muted)}
footer a{color:var(--muted)}
@media(max-width:480px){
  .steps li{padding-left:2.7rem}
  th,td{padding:.6rem .6rem}
}

/* ---- route finder ---- */
.router{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.3rem;margin:1.6rem 0 .4rem}
.router .rq{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.router .opts{display:flex;flex-wrap:wrap;gap:.5rem}
.router .opt{padding:.6rem .95rem;border:1.5px solid var(--line);border-radius:99px;background:var(--paper);font-size:.86rem;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;color:var(--ink)}
.router .opt:hover{border-color:var(--navy)}
.router .opt.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.rverdict{display:none;margin-top:1.1rem;border-top:1px dashed var(--line);padding-top:1.1rem}
.rverdict.show{display:block}
.rverdict .rlabel{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.rverdict h3{font-family:'Fraunces',serif;font-size:1.25rem;margin:.25rem 0 .35rem}
.rverdict p{font-size:.92rem;color:var(--muted)}
.rverdict .rchips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.rverdict .rchip{font-size:.76rem;font-weight:600;background:var(--green-soft);color:var(--green);border-radius:6px;padding:.3rem .6rem;font-variant-numeric:tabular-nums}
.rverdict .rchip.navy{background:var(--navy-soft);color:var(--navy)}
.rverdict a.rjump{display:inline-block;margin-top:.9rem;font-size:.88rem;font-weight:600;color:var(--navy)}
@media(prefers-reduced-motion:no-preference){.rverdict.show{animation:vrise .22s ease}@keyframes vrise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
