/* NEWBAN Health – public site. One bold element (the visit journey); everything else quiet. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#102a33;--ink2:#3d5560;--muted:#5b6f77;--paper:#f3f7f7;--white:#fff;--line:#d6e2e3;--teal:#0e7c86;--teal-d:#095a61;--em:#c0262d;--vu:#d9622b;--ur:#c99a00;--ro:#2f8a3a;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 "IBM Plex Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
a{color:var(--teal-d)}img{max-width:100%}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
:focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 55%,transparent);outline-offset:2px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.12;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(38px,5.6vw,66px);font-weight:700}h2{font-size:clamp(28px,3.4vw,40px);font-weight:700}h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:62ch}
/* header */
.sh{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.sh-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:18px}
.sn{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.sn a{color:var(--ink2);text-decoration:none;font-weight:500;font-size:15.5px}.sn a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.sbtn,.btn-s{display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#fff!important;padding:10px 18px;border-radius:10px;font-weight:600;text-decoration:none;border:0;font:inherit;font-weight:600;cursor:pointer}
.sbtn:hover,.btn-s:hover{background:var(--teal-d)}.btn-o{display:inline-flex;padding:10px 18px;border-radius:10px;border:1.5px solid var(--ink);color:var(--ink);font-weight:600;text-decoration:none}
/* hero */
.hero{padding:64px 0 72px}.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1 span{display:block;color:var(--teal)}
.lead{font-size:20px;color:var(--ink2);max-width:52ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 14px}.small{font-size:14px;color:var(--muted)}
/* the visit journey */
.journey{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px 22px 10px;box-shadow:0 30px 60px -38px rgba(16,42,51,.45)}
.j-pt{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:6px}
.j-pt b{font-size:18px}.j-pt code{font:600 14px/1 "IBM Plex Sans";background:var(--paper);padding:5px 8px;border-radius:6px}
.j-al{display:inline-block;margin-top:4px;color:var(--em);font-weight:600;font-size:13.5px}
.j{list-style:none;margin:0;padding:0}
.j li{display:grid;grid-template-columns:52px 14px 1fr;gap:12px;padding:10px 0;position:relative;font-size:15px}
.j li::after{content:"";position:absolute;left:70px;top:30px;bottom:-10px;width:2px;background:var(--line)}.j li:last-child::after{display:none}
.j time{color:var(--muted);font-size:14px;padding-top:1px}
.j i{width:14px;height:14px;border-radius:50%;margin-top:5px;background:var(--teal);position:relative;z-index:1;box-shadow:0 0 0 4px var(--white)}
.j i.ur{background:var(--ur)}.j i.em{background:var(--em)}.j i.ro{background:var(--ro)}
.j b{display:block;font-weight:600}.j span{color:var(--ink2);font-size:14px}
.j .crit{color:var(--em);font-weight:600}
/* sections */
.sec{padding:72px 0;border-top:1px solid var(--line)}.sec.white{background:var(--white)}
.path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 56px;margin-top:28px}
.path div{padding:18px 0;border-top:2px solid var(--ink)}.path h3{margin-bottom:6px}.path p{color:var(--ink2);font-size:16px;margin:0}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}.facts div{border-left:3px solid var(--teal);padding-left:16px}.facts p{color:var(--ink2);font-size:16px}
.ug{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.ug ul{margin:0;padding:0;list-style:none}.ug li{padding:12px 0;border-bottom:1px solid var(--line)}.ug li b{display:block}
.tri{display:flex;gap:6px;margin:14px 0}.tri span{flex:1;height:10px;border-radius:5px}.tri .a{background:var(--em)}.tri .b{background:var(--vu)}.tri .c{background:var(--ur)}.tri .d{background:var(--ro)}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px}
.plan{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:6px}
.plan.feat{border:2px solid var(--teal)}.plan .pr{font-size:32px;font-weight:700;letter-spacing:-.02em}.plan .pr small{font-size:15px;font-weight:400;color:var(--muted)}
.plan ul{padding-left:18px;margin:10px 0 18px;color:var(--ink2);font-size:15px}.plan .sbtn,.plan .btn-o{margin-top:auto;justify-content:center}
.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{font-weight:600;cursor:pointer;font-size:18px}.faq p{color:var(--ink2);margin-top:10px}
/* forms */
.fcard{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:28px;max-width:720px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.fgrid .full{grid-column:1/-1}
label.f{display:flex;flex-direction:column;gap:5px;font-size:14.5px;font-weight:500}
label.f input,label.f select,label.f textarea{font:inherit;font-size:16px;padding:11px 12px;border:1px solid #b9cbcd;border-radius:10px;background:#fff;color:var(--ink)}
label.f input:focus,label.f select:focus,label.f textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px}.chk input{width:18px;height:18px;margin-top:3px;accent-color:var(--teal)}
.hp{position:absolute;left:-5000px}
.sflash{margin:16px 0 0;padding:12px 16px;border-radius:10px;background:#e8f1fb}.sflash.f-error{background:#fdecec;color:#7d1a1e}.sflash.f-success{background:#e9f5ea}
.verify{max-width:640px;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:32px;margin:64px auto}.verify .ok{color:var(--ro)}.verify .no{color:var(--em)}
/* footer */
.sf{background:var(--ink);color:#c9d6d9;padding:44px 0}.sf-in{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.sf b{color:#fff}.sf nav{display:flex;gap:18px;flex-wrap:wrap;align-content:flex-start}.sf a{color:#c9d6d9}.sf-small{grid-column:1/-1;font-size:13px;color:#8fa5ab;max-width:none;margin:0}
@media (max-width:900px){.hero-in,.ug{grid-template-columns:1fr}.path,.facts{grid-template-columns:1fr}.sn a:not(.sbtn){display:none}.sn a[href$="login"]{display:inline}.fgrid{grid-template-columns:1fr}.sf-in{grid-template-columns:1fr}.hero{padding:40px 0}}
@media (max-width:420px){.wrap{padding:0 16px}}
@media (prefers-reduced-motion:no-preference){.journey .j li{animation:jin .5s ease both}.journey .j li:nth-child(2){animation-delay:.08s}.journey .j li:nth-child(3){animation-delay:.16s}.journey .j li:nth-child(4){animation-delay:.24s}.journey .j li:nth-child(5){animation-delay:.32s}.journey .j li:nth-child(6){animation-delay:.4s}
@keyframes jin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
@media (max-width:900px){.sh-in{min-height:58px}.brand b{white-space:nowrap;font-size:16px}.sn{gap:12px;align-items:center;flex-wrap:nowrap}.sn .sbtn{padding:8px 12px;font-size:14px;white-space:nowrap}.sn a[href$="login"]{font-size:14px;white-space:nowrap}}
@media (max-width:440px){.brand b{display:none}}.sh-in{gap:12px}
