/* Cross Border Medical Connection — Draft v1
   Design direction: hospital-grade trust, not tourism-brochure trust.
   Palette carried over from current brand (navy/teal) but tightened. */

:root{
  --navy-900:#0a2e44;
  --navy-800:#0d3a52;
  --navy-700:#134a68;
  --teal-500:#0e8f8a;
  --teal-400:#14a89f;
  --amber-500:#c98a2c;   /* trust / certification accent, used sparingly */
  --ink:#152530;
  --ink-soft:#4a5c68;
  --line:#e2e8ec;
  --bg:#ffffff;
  --bg-soft:#f5f8fa;
  --bg-navy-tint:#eef4f6;
  --radius:10px;
  --shadow:0 4px 18px rgba(10,46,68,0.08);
  --maxw:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  color:var(--navy-900);
  line-height:1.18;
  margin:0 0 .5em;
  font-weight:600;
}
h1{font-size:clamp(2.1rem,4vw,3.1rem)}
h2{font-size:clamp(1.6rem,2.6vw,2.15rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em; color:var(--ink-soft)}
a{color:var(--teal-500); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
section{padding:72px 0}
.section-tight{padding:48px 0}
.section-soft{background:var(--bg-soft)}
.section-navy{background:var(--navy-900); color:#dce7ec}
.section-navy h2, .section-navy h3{color:#fff}
.section-navy p{color:#b9cdd6}

.eyebrow{
  display:inline-block; text-transform:uppercase; letter-spacing:.09em;
  font-size:.74rem; font-weight:700; color:var(--teal-500); margin-bottom:.6em;
}
.section-navy .eyebrow{color:var(--teal-400)}

.lede{font-size:1.15rem; max-width:640px}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:999px; font-weight:700; font-size:.95rem;
  border:2px solid transparent; cursor:pointer; text-decoration:none;
  transition:all .15s ease;
}
.btn-primary{background:var(--teal-500); color:#fff}
.btn-primary:hover{background:var(--teal-400); text-decoration:none}
.btn-outline{border-color:#fff; color:#fff}
.btn-outline:hover{background:#fff; color:var(--navy-900); text-decoration:none}
.btn-navy{background:var(--navy-900); color:#fff}
.btn-navy:hover{background:var(--navy-700); text-decoration:none}
.btn-ghost{border-color:var(--navy-900); color:var(--navy-900)}
.btn-ghost:hover{background:var(--navy-900); color:#fff; text-decoration:none}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:1.6em}

/* Top utility bar */
.topbar{background:var(--navy-900); color:#b9cdd6; font-size:.82rem}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding:8px 24px; flex-wrap:wrap; gap:6px}
.topbar a{color:#dce7ec}
.topbar .badges{display:flex; gap:16px; font-weight:600; flex-wrap:wrap; justify-content:center}
.topbar .badges span{white-space:nowrap}
@media (max-width:560px){
  .topbar .badges{display:none}
}

/* Header / nav */
header.site{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:18px}
.brand{display:flex; align-items:center; gap:10px; flex:none}
.brand img{height:34px; width:auto}
nav.primary{display:flex; align-items:center; gap:20px; flex-wrap:wrap; justify-content:center}
nav.primary a{color:var(--navy-900); font-weight:600; font-size:.87rem; white-space:nowrap}
nav.primary a:hover{color:var(--teal-500); text-decoration:none}
.header-cta{display:flex; align-items:center; gap:14px; flex:none}
.phone-cta{font-weight:700; color:var(--navy-900); font-size:.95rem}

/* Hero */
.hero{
  background:linear-gradient(135deg,var(--navy-900) 0%, var(--navy-800) 55%, var(--teal-500) 150%);
  color:#fff; padding:76px 0 64px; position:relative; overflow:hidden;
}
.hero-photo-card{border-radius:var(--radius); overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.18)}
.hero-photo-card img{width:100%; display:block; aspect-ratio:1/1; object-fit:cover}
.hero-photo-caption{background:rgba(255,255,255,.08); padding:14px 18px; font-size:.86rem; color:#dce7ec; font-weight:600}
.hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center}
.hero h1{color:#fff}
.hero p.lede{color:#cfe1e7}
.hero-card{
  background:rgba(10,46,68,.62); border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius); padding:26px; backdrop-filter:blur(6px);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.hero-card h3{color:#fff; font-size:1.05rem}
.hero-card p{color:#cfe1e7; font-size:.94rem; margin-bottom:0}
.trust-strip{display:flex; gap:30px; margin-top:34px; flex-wrap:wrap}
.trust-strip .item{display:flex; align-items:center; gap:10px; font-size:.88rem; color:#dce7ec; font-weight:600}
.trust-strip .dot{width:8px; height:8px; border-radius:50%; background:var(--teal-400); flex:none}

/* Stat bar */
.stat-bar{background:var(--bg-navy-tint); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.stat-bar .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:34px 24px; text-align:center}
.stat-bar .num{font-family:inherit; font-size:2rem; color:var(--navy-900); font-weight:700; overflow-wrap:anywhere}
.stat-bar .label{font-size:.875rem; line-height:1.45; max-width:22ch; margin-inline:auto; text-align:center; color:var(--ink-soft); font-weight:600}

/* Grid / cards */
.grid{display:grid; gap:26px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center}
@media (max-width:900px){.two-col{grid-template-columns:1fr; gap:32px}}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow);
}
.card h3{margin-bottom:.4em}
.card .icon{width:44px; height:44px; margin-bottom:14px}
.card a.more{font-weight:700; font-size:.88rem}

.proc-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column;
}
.proc-card .body{padding:22px}
.proc-card .icon{width:40px; height:40px; margin-bottom:12px}

.step{display:flex; gap:18px; align-items:flex-start}
.step .n{
  font-family:inherit; font-size:1.5rem; font-weight:700; color:var(--teal-500);
  border:2px solid var(--teal-500); border-radius:50%; width:52px; height:52px;
  display:flex; align-items:center; justify-content:center; flex:none;
}

/* Safety / objection blocks */
.objection{
  display:grid; grid-template-columns:34px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--line);
}
.objection:last-child{border-bottom:none}
.objection .mark{font-size:1.3rem; color:var(--teal-500); font-weight:800}
.objection h4{margin:0 0 .3em; color:var(--navy-900); font-size:1.02rem}
.objection p{margin:0; font-size:.94rem}

/* Testimonial */
.quote-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px;
  box-shadow:var(--shadow);
}
.quote-card .stars{color:var(--amber-500); letter-spacing:2px; margin-bottom:10px}
.quote-card p.quote{font-size:1rem; color:var(--ink); font-style:italic}
.quote-card .who{display:flex; align-items:center; gap:10px; margin-top:14px}
.avatar{width:42px; height:42px; border-radius:50%; background:var(--bg-navy-tint); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--navy-800); font-family:inherit;}
.who .meta{font-size:.82rem; color:var(--ink-soft)}
.who .name{font-weight:700; color:var(--navy-900); font-size:.92rem}

/* Before/after */
.ba-card{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow)}
.ba-pair{display:grid; grid-template-columns:1fr 1fr}
.ba-pair .slide{aspect-ratio:4/5; background:var(--bg-navy-tint); display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em}
.ba-pair .slide.before{border-right:1px solid var(--line)}
.ba-card .caption{padding:16px 18px}
.ba-card .caption .proc{font-weight:700; color:var(--navy-900); font-size:.92rem}
.ba-card .caption .note{font-size:.82rem; color:var(--ink-soft); margin-top:2px}

.disclaimer{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 22px; font-size:.85rem; color:var(--ink-soft);
}
.disclaimer strong{color:var(--navy-900)}

/* Warning callout */
.callout-warn{
  background:#fff8ee; border:1px solid #f0d9ad; border-radius:var(--radius);
  padding:20px 24px; font-size:.92rem; color:#6b4d17;
}
.callout-warn strong{color:#5a3f0f}

/* CTA band */
.cta-band{background:var(--teal-500); color:#fff; text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:#e3fbf8}

/* Footer */
footer.site{background:var(--navy-900); color:#a9bfc9; padding:56px 0 26px; font-size:.9rem}
footer.site .grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
footer.site h4{color:#fff; font-size:.92rem; margin-bottom:14px}
footer.site a{color:#a9bfc9}
footer.site a:hover{color:#fff}
footer.site ul{list-style:none; margin:0; padding:0}
footer.site li{margin-bottom:8px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem}

.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}
.badge{
  display:inline-flex; align-items:center; gap:6px; font-size:.76rem; font-weight:700;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#dce7ec;
  padding:6px 12px; border-radius:999px;
}

/* Multi-step intake wizard */
.wizard{max-width:520px; margin:0 auto}
.wizard-progress{display:flex; gap:8px; margin-bottom:30px}
.wizard-progress .seg{flex:1; height:5px; border-radius:3px; background:var(--line)}
.wizard-progress .seg.done{background:var(--teal-500)}
.wizard-progress .seg.current{background:var(--teal-400)}
.wizard-step{display:none}
.wizard-step.active{display:block}
.wizard-step .step-label{font-size:.78rem; font-weight:700; color:var(--teal-500); text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px}
.wizard-step h2{margin-bottom:.3em}
.wizard-step .help{font-size:.92rem; color:var(--ink-soft); margin-bottom:22px}
.field{margin-bottom:18px}
.field label{font-weight:700; font-size:.88rem; display:block; margin-bottom:6px; color:var(--navy-900)}
.field input, .field select, .field textarea{
  width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:8px; font-size:1rem;
  font-family:inherit; color:var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--teal-400); outline-offset:1px}
.field-lg input{padding:16px; font-size:1.15rem}
.wizard-actions{display:flex; justify-content:space-between; align-items:center; margin-top:26px}
.wizard-actions .spacer{flex:1}
.link-back{font-weight:700; font-size:.88rem; color:var(--ink-soft); cursor:pointer; border:none; background:none; padding:8px 4px}
.link-back:hover{color:var(--navy-900)}
.wizard-note{font-size:.78rem; color:var(--ink-soft); text-align:center; margin-top:16px}
.wizard-done{text-align:center; padding:20px 0}
.wizard-done .check{
  width:56px; height:56px; border-radius:50%; background:var(--teal-500); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 18px;
}

/* Breadcrumb / page header for interior pages */
.page-head{background:var(--bg-navy-tint); padding:44px 0; border-bottom:1px solid var(--line)}
.page-head .eyebrow{color:var(--teal-500)}
.page-head p{max-width:680px}

@media (max-width:940px){
  nav.primary{display:none}
  .hero .wrap{grid-template-columns:1fr}
  .stat-bar .wrap{grid-template-columns:repeat(2,1fr)}
  .grid-3, .grid-4{grid-template-columns:1fr 1fr}
  footer.site .grid{grid-template-columns:1fr 1fr}
  .ba-pair{grid-template-columns:1fr}
  .topbar .wrap{justify-content:center; text-align:center}
}
@media (max-width:600px){
  .grid-3, .grid-4, .grid-2{grid-template-columns:1fr}
  .objection{grid-template-columns:26px 1fr}
}

/* Coordination disclosure (footer, above copyright; also under contact details). Brand/Legal-approved wording. */
.footer-bottom .coordination-disclosure{flex-basis:100%; margin:0 0 4px; font-size:.875rem; line-height:1.45; color:#c3d4dc}
.coordination-disclosure--form{margin-top:16px;color:var(--ink-soft,#4a5c68);text-align:left}
.contact-block .coordination-disclosure{margin:20px 0 0; color:var(--ink-soft,#4a5c68); font-size:.92rem}
.contact-details .card a{word-break:break-word}

@media (max-width:600px){.tb-item{display:block}.tb-sep,.tb-item.tb-email{display:none}}

/* Contact form (launch-v2-form) */
.wizard fieldset{border:0; margin:0; padding:0; min-width:0}
.wizard legend{padding:0}
.wizard-step.active{display:block}
.wizard-step h2:focus{outline:none}
.hp-field{position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden}
.field-error{color:#b42318; font-size:.85rem; font-weight:600; margin:6px 0 0; min-height:0}
.field-error:empty{display:none}
.field input[aria-invalid="true"], .field select[aria-invalid="true"]{border-color:#b42318}
.contact-form-layout .wizard{max-width:none}
.contact-form-layout .coordination-disclosure--form{margin-top:14px}
.wizard-actions .btn{min-height:44px}
.wizard-actions .link-back{min-height:44px}
.wizard-actions .btn[disabled]{opacity:.65; cursor:wait}
@media (max-width:600px){.wizard{padding:22px 18px}.wizard-actions .btn{flex:1}}

/* Form privacy note (Ricardo-approved wording, Oct 22 2026) */
.form-privacy-note{margin:10px 0 0;font-size:1rem;line-height:1.5;color:#2b3a45;text-align:left;max-width:100%}

/* Privacy Policy links (Oct 22 2026). Links on white use cyan-600 #1479AE (Brand, AA on white). */
a.form-privacy-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin-left:-4px;font-size:1rem;line-height:1.5;color:#1479AE;text-decoration:underline;text-underline-offset:2px}
a.form-privacy-link:hover,a.form-privacy-link:focus-visible{color:var(--navy-700)}
.footer-legal{display:flex;align-items:center}
footer.site a.footer-privacy-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin:0 -4px;font-size:.875rem;color:#c3d4dc;text-decoration:underline;text-underline-offset:2px}
footer.site a.footer-privacy-link:hover,footer.site a.footer-privacy-link:focus-visible{color:#fff}

/* Privacy Policy page */
.policy-body{max-width:720px}
.policy-body p{font-size:1.0625rem;line-height:1.7;color:var(--ink);margin:0 0 1.15em}
.policy-body p strong{color:var(--navy-900)}
.policy-body a.policy-link{color:#1479AE;text-decoration:underline;text-underline-offset:2px;padding:6px 0}
.policy-effective{font-size:1rem;color:var(--ink-soft);margin:0}
@media (max-width:600px){.policy-body{padding-top:8px}section.policy{padding:40px 0 56px}}

/* CTA subline under main "Get free guidance" buttons (Ricardo final CTA, Oct 22 2026) */
.cta-subline{margin:12px 0 0;font-size:1rem;line-height:1.5;color:var(--ink-soft)}
.hero .cta-subline{color:#cfe1e7}

/* Value hero (Oct 22 2026, homepage-hero.md, Brand layout). Mobile-first, light background so the display line is navy serif. */
.hero.hero--value{background:var(--bg-navy-tint); color:var(--ink); padding:40px 0 44px}
.hero--value .hero-eyebrow{font-family:inherit; font-size:1rem; line-height:1.4; font-weight:600; letter-spacing:0; text-transform:none; color:#1479AE; margin:0 0 10px}
.hero--value .hero-display{font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,7.5vw,3.1rem); line-height:1.15; font-weight:700; color:var(--navy-900); margin:0 0 18px}
.hero--value .hero-proof-lead{font-size:1.0625rem; font-weight:600; color:var(--navy-900); margin:0 0 8px}
.hero--value .hero-proof{list-style:none; padding:0; margin:0; font-size:1.0625rem; line-height:1.45; color:var(--ink)}
.hero--value .hero-proof li{position:relative; padding-left:30px; margin:0 0 8px}
.hero--value .hero-proof li::before{content:"\2713"; position:absolute; left:0; top:0; font-weight:700; color:#1479AE}
.hero--value .btn-row{margin-top:20px}
.hero--value .hero-cta{min-height:48px; justify-content:center; font-size:1rem}
.hero--value .cta-subline{font-size:1rem; color:var(--ink-soft)}
@media (max-width:600px){.hero--value .btn-row{display:block}.hero--value .hero-cta{display:flex; width:100%}}
/* Text stat card ("No coordination fee", claims file badge) */
.stat-bar .num.num-text{font-size:1.25rem; line-height:1.25; padding-top:6px}
/* Stat tiles (CC 2026-10-23): 2 columns under 768px, 1 column at 359px and below */
@media (max-width:767px){.stat-bar .wrap{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px}}
@media (max-width:359px){.stat-bar .wrap{grid-template-columns:1fr}}
/* CC r3/r6: labels 30ch at 768px and up; stat values 1.45rem at 479px and below */
@media (min-width:768px){.stat-bar .label{max-width:30ch}}
@media (max-width:479px){.stat-bar .num{font-size:1.45rem}}
.hero--value .hero-photo-card{border-color:var(--line); box-shadow:var(--shadow)}
.hero--value .hero-photo-caption{background:var(--navy-900); color:#fff}
.hero--value .hero-secondary{margin:6px 0 0;font-size:1rem}
.hero--value .hero-secondary a{display:inline-flex;align-items:center;min-height:44px;color:#1479AE;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* update-followup-content (Oct 22 2026): FAQ lists, why-tijuana coordination band. Mobile-first, 16px body, 44px targets. */
.faq-list .objection p,.faq-list .objection li{font-size:1rem; line-height:1.55}
.faq-list .objection h3.faq-q,.faq-list .objection h4{font-size:1.0625rem; margin:0 0 .35em; color:var(--navy-900)}
.faq-list .faq-a p{margin:0 0 .6em}
.faq-list .faq-a p:last-child{margin-bottom:0}
.faq-list .faq-a ul{margin:0 0 .6em; padding-left:20px; color:var(--ink)}
.faq-list .faq-a a{display:inline-block; padding:10px 0; margin:-10px 0; min-height:44px; box-sizing:border-box; line-height:24px; text-decoration:underline; text-underline-offset:2px}
.faq-close{margin-top:28px}
.faq-close .btn-row,.wt-coord .btn-row{margin-top:16px}
.cta-main{min-height:48px; justify-content:center; font-size:1rem}
@media (max-width:600px){.faq-close .cta-main,.wt-coord .cta-main{display:flex; width:100%}}
.wt-list{padding-left:20px; margin:0 0 1em; max-width:640px; font-size:1rem; line-height:1.6}
.wt-list li{margin:0 0 6px}
.wt-coord .value-line{font-size:1.0625rem; margin:18px 0 0}
.wt-coord .cta-subline{color:#cfe1e7}
.img-figure{margin:0 0 24px}
.img-figure .img-caption{margin:6px 0 0; font-size:.875rem; color:var(--ink-soft)}

/* ---- update-surgery-rank (20261022f): bariatric + plastic answer-first layout ---- */
.wrap.narrow{max-width:820px}
.answer-lead{font-size:1.08rem; line-height:1.6; color:var(--ink); max-width:720px}
.fee-line{font-size:.95rem; color:var(--ink-soft); margin-top:.4em}
.page-head .cta-main{min-height:48px; display:inline-flex; align-items:center}
.serrano-sec{padding:40px 0}
.doc-card{background:#fff; border:1px solid var(--line); border-left:4px solid var(--teal-500); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 24px; max-width:820px}
.doc-card .doc-name{font-size:1.45rem; margin:.15em 0 .1em}
.doc-card .doc-sub{font-weight:700; color:var(--navy-900); margin:0 0 .5em}
.doc-card p{margin:0}
.price-block{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; margin-top:22px; max-width:820px}
.price-block h3{margin:0 0 .35em}
.price-block p{margin:.3em 0}
.pt-title{margin-top:34px; font-size:1.4rem}
.pt-wrap{max-width:820px; overflow-x:auto}
.ptable1{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.ptable1 th,.ptable1 td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
.ptable1 thead th{background:var(--navy-900); color:#fff; font-size:.85rem; letter-spacing:.02em}
.ptable1 tbody th{color:var(--navy-900); font-weight:700; width:44%}
.ptable1 .pt-stay{display:block; font-weight:500; font-size:.85rem; color:var(--ink-soft); margin-top:3px}
.ptable1 .pt-h{font-size:.85rem; color:var(--ink-soft)}
.ptable1 .pt-amt{font-weight:700; color:var(--navy-900); white-space:nowrap}
.ptable1 .pt-pq{color:var(--teal-500)}
.ptable-caption{font-size:.9rem; color:var(--ink-soft); margin:10px 0 0; max-width:820px}
.ptable-fee{font-size:.95rem; font-weight:600; margin:6px 0 0}
.ptable-source{font-size:.82rem; color:var(--ink-soft); margin:6px 0 0}
.qa-sec{padding:44px 0}
.qa-sec h2{font-size:1.55rem}
.qa-kicker{font-weight:700; color:var(--teal-500); margin:0 0 .3em}
.incl-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:14px}
.incl-h{font-size:1.05rem; margin:0 0 .4em}
ul.incl,ul.notincl,ul.proc-list{list-style:none; padding:0; margin:0}
ul.incl li,ul.notincl li,ul.proc-list li{position:relative; padding:6px 0 6px 26px; line-height:1.5}
ul.incl li::before{content:"\2713"; position:absolute; left:2px; color:var(--teal-500); font-weight:800}
ul.notincl li::before{content:"\2013"; position:absolute; left:4px; color:var(--ink-soft); font-weight:800}
ul.proc-list li::before{content:"\2022"; position:absolute; left:8px; color:var(--teal-500); font-weight:800}
.incl-close{margin-top:14px; font-weight:600}
.factors{margin-top:16px}
.proc-grid{margin-top:18px; gap:16px}
.proc-group h3{font-size:1.08rem}
.pq-tag{margin:.6em 0 0; font-size:.85rem; font-weight:700; color:var(--teal-500)}
.text-link{font-weight:700}
.related{padding:32px 0}
.cta-subline--band{color:#e3fbf8}
.close-phones{margin-top:14px}
.close-phones a{color:#fff; font-weight:700; text-decoration:underline}
.last-updated{font-size:.85rem; margin-top:10px}
@media (max-width:600px){
  .incl-grid{grid-template-columns:1fr}
  .qa-sec{padding:32px 0}
  .qa-sec h2{font-size:1.3rem}
  .page-head .btn-row{display:block}
  .page-head .cta-main,.cta-band .cta-main{display:flex; width:100%; justify-content:center}
  .ptable1 th,.ptable1 td{padding:12px 12px}
  .ptable1 thead{display:none}
  .ptable1 tbody th,.ptable1 td{display:block; width:auto; border-bottom:none}
  .ptable1 tbody td{padding-top:0; border-bottom:1px solid var(--line)}
  .ptable1 .pt-amt{white-space:normal}
}

/* sitewide-labels 2026-10-23: Call/Text split. Full label from 768px up, short label below; 44px tap target. */
a.ph-link{display:inline-flex;align-items:center;justify-content:center;gap:.25em;min-height:44px;min-width:44px}
.topbar a.ph-link{margin:-10px 0}
footer.site a.ph-link{justify-content:flex-start;min-width:44px;padding-left:0;margin-top:0;margin-bottom:0}
@media (max-width:767.98px){
  a.ph-link .lbl-full{display:none}
  .topbar,.topbar .wrap{flex-wrap:nowrap;white-space:nowrap}
  .topbar .wrap{justify-content:center}
  .topbar .tb-item,.topbar .tb-sep{display:inline}
  .topbar .tb-item.tb-email,.topbar .tb-sep.tb-email{display:none}
  .close-phones{display:flex;flex-direction:column;align-items:center;gap:4px}
  .close-phones .sep{display:none}
}
@media (max-width:374.98px){.topbar .tb-lead{display:none}}
/* "Get free guidance" in the header and page head on pages without refresh.css: cyan-600 #1479AE like the .rf pages */
.btn-primary.cta-cyan{background:#1479AE;color:#fff}
.btn-primary.cta-cyan:hover{background:#0F6390}
/* Brand 2026-10-23: links and buttons #1479AE instead of teal-500 on body.lk-cyan pages (not index.html).
   :where() keeps the specificity of the rules being replaced. Non-link/button teal is unchanged pending the palette restyle. */
:where(body.lk-cyan) a{color:#1479AE}
:where(body.lk-cyan) nav.primary a:hover{color:#0F6390}
:where(body.lk-cyan) .btn-primary{background:#1479AE}
:where(body.lk-cyan) .btn-primary:hover{background:#0F6390}
/* CC + Brand 2026-10-23 (sl4): closing .cta-band uses the bariatric closing-block gradient (refresh.css .rf .rf-band) instead of teal-500.
   White heading/body text; the white pill button keeps its inline #1479AE text; close-phones links stay white + underlined.
   On .rf pages (bariatric) .rf .rf-band wins on specificity, so they are unchanged. index.html has no lk-cyan, so it is unchanged. */
:where(body.lk-cyan) .cta-band{background:linear-gradient(135deg,#1479AE 0%,#0F6390 55%,var(--navy-900) 100%)}
:where(body.lk-cyan) .cta-band p,:where(body.lk-cyan) .cta-band .cta-subline--band{color:#fff}
/* CC + CoS 2026-10-23 (sl5): phone numbers always visible in the footer, and in the top bar below 768 (lead-in hidden there).
   Scoped to body.lk-cyan so index.html is unaffected. 768 and up is unchanged. */
body.lk-cyan footer.site a.ph-link{display:flex;align-items:center;justify-content:flex-start;min-height:44px;margin:0;padding:0}
/* keep each label on one line; at 320 on non-.rf pages the 127px label runs ~4px past the 123px Office column into the 24px page gutter (no page overflow) */
body.lk-cyan footer.site a.ph-link{white-space:nowrap}
body.lk-cyan footer.site a.ph-link .lbl-full{display:inline}
body.lk-cyan footer.site li:has(> a.ph-link[href^="tel:"]){margin-bottom:0}
body.lk-cyan footer.site li:has(> a.ph-link[href^="sms:"]){margin-bottom:8px}
@media (max-width:767.98px){
  body.lk-cyan .topbar .tb-lead{display:none}
  body.lk-cyan .topbar a.ph-link .lbl-full{display:inline}
  body.lk-cyan .topbar .tb-item,body.lk-cyan .topbar .tb-sep,body.lk-cyan .topbar a.ph-link{font-size:14px;white-space:nowrap}
}
/* Two centered lines only where one line could overflow: the one-line bar is ~261px of text + 48px padding in Arial; iOS SF is wider, so wrap below 360. */
@media (max-width:359.98px){
  body.lk-cyan .topbar .wrap{white-space:normal}
  body.lk-cyan .topbar .wrap>div{display:flex;flex-wrap:wrap;justify-content:center;width:100%}
  body.lk-cyan .topbar .tb-sep{display:none}
  body.lk-cyan .topbar .tb-item:not(.tb-email){display:flex;justify-content:center;flex:0 0 100%}
  body.lk-cyan .topbar a.ph-link{margin:0}
}
/* CC 2026-10-23 (sl6): no sideways scroll at 320. Header only, below 375, body.lk-cyan only; 375 and up unchanged. */
@media (max-width:374.98px){
  body.lk-cyan header.site .wrap{padding-left:12px;padding-right:12px;gap:8px}
  body.lk-cyan header.site .btn{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-size:15px;min-height:44px;white-space:nowrap}
  body.lk-cyan header.site .brand img{max-width:120px;height:auto}
}
