/* ===================================================================
   CARDIOFLUSH — cardiioflush.com  (heart / circulation support capsule)
   Palette : navy #16305A | navy-dk #0E2040 | coral #FF6F4A | coral-dk #E24F2C
             sand #FBF6EE | paper #FFFFFF | ink #1D2733 | grey #5C6774 | line #E6E1D6
   Type    : 'Roboto' (headings) + 'Open Sans' (body)
   Motif   : pulse-ring (concentric rings expanding outward like a heartbeat)
   NOTE: distinct from prior burgundy/Fraunces/artery-flow build — new palette,
         new type pairing, new signature, hero flipped to image-LEFT on desktop.
=================================================================== */
:root{
  --cf-navy:#16305A; --cf-navy-dk:#0E2040; --cf-coral:#FF6F4A; --cf-coral-dk:#E24F2C;
  --cf-sand:#FBF6EE; --cf-paper:#FFFFFF; --cf-ink:#1D2733; --cf-grey:#5C6774; --cf-line:#E6E1D6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cf-paper);color:var(--cf-ink);font-family:'Open Sans',sans-serif;
  font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Roboto',sans-serif;font-weight:700;line-height:1.17;margin:0 0 .5em;color:var(--cf-navy)}
h1{font-size:clamp(1.95rem,4.6vw,2.95rem)}
h2{font-size:clamp(1.45rem,3vw,2.05rem)}
h3{font-size:1.25rem}
h4{font-family:'Roboto',sans-serif;font-weight:700;font-size:1.02rem;margin:0 0 .5em;color:var(--cf-navy)}
p{margin:0 0 1.1em}
a{color:var(--cf-coral-dk);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.cf2-wrap{max-width:1150px;margin:0 auto;padding:0 22px;overflow-wrap:break-word}
.cf2-narrow{max-width:800px;margin:0 auto}
.cf2-mid{text-align:center}
.cf2-eyebrow{display:inline-block;font-family:'Roboto',sans-serif;font-size:.7rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cf-coral-dk);margin-bottom:.8em}
.cf2-pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--cf-line);
  border-radius:999px;padding:9px 19px;font-family:'Roboto',sans-serif;font-size:.8rem;font-weight:700;
  color:var(--cf-navy);box-shadow:0 3px 12px rgba(22,48,90,.1)}
.cf2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--cf-coral);
  color:#fff;font-family:'Roboto',sans-serif;font-weight:700;font-size:.96rem;padding:14px 28px;
  border:none;border-radius:8px;cursor:pointer;transition:transform .16s,background .16s;
  box-shadow:0 10px 22px rgba(255,111,74,.32)}
.cf2-btn:hover{background:var(--cf-coral-dk);transform:translateY(-2px);color:#fff}
.cf2-btn-navy{background:var(--cf-navy);box-shadow:0 10px 22px rgba(22,48,90,.3)}
.cf2-btn-navy:hover{background:var(--cf-navy-dk);color:#fff}
.cf2-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;
  border:1px solid var(--cf-line);color:var(--cf-navy);font-family:'Roboto',sans-serif;font-weight:700;
  font-size:.92rem;padding:13px 24px;border-radius:8px;transition:.16s}
.cf2-btn-outline:hover{border-color:var(--cf-coral);color:var(--cf-coral-dk)}
.cf2-btn-full{width:100%}
.cf2-strip{background:var(--cf-navy-dk);color:#B7C3D6;font-size:.76rem;text-align:center;padding:9px 15px}
.cf2-strip b{color:#fff}
.cf2-strip span{white-space:nowrap;margin:0 10px;display:inline-block}
@media(max-width:580px){.cf2-strip{font-size:.68rem}.cf2-strip span{white-space:normal;margin:0 6px}}
.cf2-nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(9px);
  border-bottom:1px solid var(--cf-line)}
.cf2-nav .cf2-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px}
.cf2-logo{font-family:'Roboto',sans-serif;font-weight:700;font-size:1.32rem;color:var(--cf-navy);white-space:nowrap}
.cf2-logo em{font-style:normal;color:var(--cf-coral)}
.cf2-links{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.cf2-links a:not(.cf2-btn){font-family:'Roboto',sans-serif;font-size:.85rem;font-weight:600;color:var(--cf-ink);opacity:.8}
.cf2-links a:not(.cf2-btn):hover{opacity:1;color:var(--cf-coral-dk)}
.cf2-links .cf2-btn{color:#fff;opacity:1;padding:11px 22px}
.cf2-toggle{display:none;background:none;border:none;color:var(--cf-navy);font-size:1.5rem;cursor:pointer}
@media(max-width:1020px){
  .cf2-links{position:absolute;top:100%;left:0;right:0;background:var(--cf-paper);flex-direction:column;
    align-items:stretch;gap:0;border-top:1px solid var(--cf-line);display:none;max-height:76vh;overflow:auto}
  .cf2-links.open{display:flex}
  .cf2-links li{border-bottom:1px solid var(--cf-line)}
  .cf2-links a{display:block;padding:14px 20px}
  .cf2-links .cf2-btn{margin:14px 20px;width:calc(100% - 40px);text-align:center}
  .cf2-toggle{display:block}
}
.cf2-sec{padding:68px 0}
.cf2-sec-sand{background:var(--cf-sand)}
.cf2-sec-dark{background:var(--cf-navy);color:#C7D2E2}
.cf2-sec-dark h2,.cf2-sec-dark h3,.cf2-sec-dark h4{color:#fff}
.cf2-sec-dark .cf2-eyebrow{color:#FFAA8F}
.cf2-head{max-width:750px;margin:0 auto 40px;text-align:center}
.cf2-head p{color:var(--cf-grey)}
.cf2-sec-dark .cf2-head p{color:#AEBBD0}
.cf2-hero{background:var(--cf-sand);border-bottom:1px solid var(--cf-line);padding:44px 0 56px;overflow:hidden}
.cf2-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:46px;align-items:center}
.cf2-hero-shot{text-align:center;position:relative}
.cf2-hero-shot img{max-width:min(230px,100%);margin:0 auto;filter:drop-shadow(0 24px 38px rgba(22,48,90,.22))}
.cf2-hero h1 em{font-style:normal;color:var(--cf-coral)}
@media(max-width:920px){
  .cf2-hero-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .cf2-hero-copy{display:contents}
  .cf2-hero-shot{order:1}
  .cf2-hero-title{order:2}
  .cf2-hero-rest{order:3}
  .cf2-hero-shot img{max-width:min(200px,100%)}
}
.cf2-answer{background:#fff;border-radius:12px;padding:20px 22px;margin:0 0 18px;
  box-shadow:0 8px 22px rgba(22,48,90,.09);border-left:4px solid var(--cf-coral)}
.cf2-answer .tag{display:block;font-family:'Roboto',sans-serif;font-size:.66rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;color:var(--cf-coral-dk);margin-bottom:8px}
.cf2-answer p{margin:0;color:var(--cf-grey)}
.cf2-answer p.first{color:var(--cf-navy);font-weight:700;margin-bottom:.7em}
.cf2-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}
.cf2-facts li{background:#fff;border:1px solid var(--cf-line);border-radius:999px;padding:6px 14px;
  font-family:'Roboto',sans-serif;font-size:.77rem;font-weight:700;color:var(--cf-navy)}
.cf2-check{list-style:none;margin:0 0 20px;padding:0}
.cf2-check li{position:relative;padding-left:28px;margin-bottom:9px;font-size:.93rem;font-weight:600}
.cf2-check li::before{content:'\2713';position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:5px;
  background:var(--cf-coral);color:#fff;font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center}
/* ---------- pulse-ring signature: concentric rings expanding like a heartbeat ---------- */
.cf2-pulse{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:8px}
.cf2-pulse-stage{position:relative;width:56px;height:56px}
.cf2-ring{position:absolute;inset:0;border:2px solid var(--cf-coral);border-radius:50%;
  animation:cf2-ping 2.4s cubic-bezier(.3,.6,.4,1) infinite}
.cf2-ring.r2{animation-delay:.8s;border-color:var(--cf-navy)}
.cf2-ring.r3{animation-delay:1.6s}
.cf2-pulse-dot{position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;
  border-radius:50%;background:var(--cf-coral)}
@keyframes cf2-ping{
  0%{transform:scale(.25);opacity:1}
  80%{opacity:0}
  100%{transform:scale(1.5);opacity:0}
}
.cf2-pulse-cap{color:var(--cf-grey);font-family:'Roboto',sans-serif;font-size:.75rem;font-weight:700}
.cf2-grid{display:grid;gap:20px}
.cf2-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cf2-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cf2-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.cf2-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.cf2-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.cf2-g4,.cf2-g3,.cf2-g2{grid-template-columns:minmax(0,1fr)}}
.cf2-card{background:#fff;border:1px solid var(--cf-line);border-radius:12px;padding:23px 19px}
.cf2-card p{color:var(--cf-grey);font-size:.92rem;margin:0}
.cf2-sec-dark .cf2-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.cf2-sec-dark .cf2-card p{color:#AEBBD0}
.cf2-card-badge{text-align:center}
.cf2-card-badge img{max-width:min(128px,100%);margin:0 auto 12px}
.cf2-idx{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;
  background:var(--cf-navy);color:#fff;font-family:'Roboto',sans-serif;font-weight:700;font-size:.9rem;margin-bottom:12px}
.cf2-idx-coral{background:var(--cf-coral)}
.cf2-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center}
@media(max-width:920px){.cf2-split{grid-template-columns:minmax(0,1fr);gap:25px}}
.cf2-split img{max-width:min(500px,100%);margin:0 auto;border-radius:12px}
.cf2-split-copy p{color:var(--cf-grey)}
.cf2-sec-dark .cf2-split-copy p{color:#AEBBD0}
.cf2-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:760px){.cf2-list{grid-template-columns:minmax(0,1fr)}}
.cf2-list li{background:#fff;border:1px solid var(--cf-line);border-left:3px solid var(--cf-coral);
  border-radius:0 8px 8px 0;padding:14px 17px;font-size:.9rem;color:var(--cf-grey)}
.cf2-list li b{display:block;color:var(--cf-navy);margin-bottom:3px;font-family:'Roboto',sans-serif;font-size:.97rem}
.cf2-callout{background:#fff;border:1px solid var(--cf-line);border-radius:10px;padding:19px 21px;font-size:.9rem;color:var(--cf-grey)}
.cf2-callout b{color:var(--cf-navy)}
.cf2-callout a{color:var(--cf-coral-dk);text-decoration:underline;text-underline-offset:3px}
.cf2-flag{background:#FFF1E8;border:1px solid #F6C8A9;border-radius:10px;padding:19px 21px;font-size:.87rem;color:#7A3E14}
.cf2-flag b{color:#95500E}
.cf2-alert{background:#FDECEC;border:1px solid #EFC0C0;border-radius:10px;padding:19px 21px;font-size:.87rem;color:#82302E}
.cf2-alert b{color:#A5302E}
.cf2-rev-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.cf2-rev-head img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}
.cf2-rev-name{font-family:'Roboto',sans-serif;font-weight:700;font-size:.93rem;color:var(--cf-navy)}
.cf2-rev-sub{font-size:.74rem;color:var(--cf-grey)}
.cf2-stars{color:var(--cf-coral);letter-spacing:2px;font-size:.86rem;margin-bottom:7px}
.cf2-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:center;margin-top:28px}
@media(max-width:640px){.cf2-board{grid-template-columns:minmax(0,1fr)}}
.cf2-board b{display:block;font-family:'Roboto',sans-serif;font-size:1.8rem;color:var(--cf-navy)}
.cf2-board span{font-family:'Roboto',sans-serif;font-size:.74rem;font-weight:700;color:var(--cf-grey);
  text-transform:uppercase;letter-spacing:.06em}
.cf2-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
@media(max-width:980px){.cf2-plans{grid-template-columns:minmax(0,1fr);max-width:420px;margin:0 auto}}
.cf2-plan{background:#fff;border:2px solid var(--cf-line);border-radius:14px;padding:25px 20px;text-align:center;
  display:flex;flex-direction:column;position:relative}
.cf2-plan.top{border-color:var(--cf-coral);box-shadow:0 22px 40px rgba(255,111,74,.2)}
@media(min-width:981px){.cf2-plan.top{transform:translateY(-9px)}}
.cf2-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--cf-coral);color:#fff;
  font-family:'Roboto',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:6px 15px;border-radius:999px;white-space:nowrap}
.cf2-badge-navy{background:var(--cf-navy)}
.cf2-plan img.pk{max-width:min(148px,100%);margin:6px auto 14px}
.cf2-plan-ttl{font-family:'Roboto',sans-serif;font-size:1.32rem;color:var(--cf-navy)}
.cf2-plan-sub{font-size:.79rem;color:var(--cf-grey);margin-bottom:12px}
.cf2-plan-price{font-family:'Roboto',sans-serif;font-weight:700;font-size:2.25rem;color:var(--cf-navy);line-height:1}
.cf2-plan-price small{font-family:'Open Sans',sans-serif;font-size:.75rem;font-weight:600;color:var(--cf-grey)}
.cf2-plan-tot{font-family:'Roboto',sans-serif;font-weight:700;font-size:.93rem;color:var(--cf-navy);margin:8px 0 6px}
.cf2-plan-ship{font-family:'Roboto',sans-serif;font-size:.79rem;font-weight:700;color:#1E7A5E;margin-bottom:11px}
.cf2-plan-ship.pay{color:var(--cf-grey)}
.cf2-plan ul{list-style:none;margin:0 0 16px;padding:0;text-align:left;font-size:.84rem;color:var(--cf-grey)}
.cf2-plan ul li{position:relative;padding-left:20px;margin-bottom:6px}
.cf2-plan ul li::before{content:'\2713';position:absolute;left:0;color:var(--cf-coral);font-weight:800}
.cf2-plan .cf2-btn{margin-top:auto}
.cf2-plan .cards{max-width:min(160px,100%);margin:12px auto 0;opacity:.6}
.cf2-guar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:34px;align-items:center;background:#fff;
  border:1px solid var(--cf-line);border-radius:14px;padding:30px}
@media(max-width:800px){.cf2-guar{grid-template-columns:minmax(0,1fr);gap:18px;text-align:center;padding:24px 18px}}
.cf2-guar img{max-width:min(160px,100%);margin:0 auto}
.cf2-guar p{color:var(--cf-grey)}
.cf2-steps{display:grid;gap:13px}
.cf2-step{background:#fff;border:1px solid var(--cf-line);border-radius:10px;padding:19px 21px;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start}
.cf2-step .n{width:31px;height:31px;border-radius:8px;background:var(--cf-sand);color:var(--cf-navy);
  font-family:'Roboto',sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.88rem}
.cf2-step p{margin:0;color:var(--cf-grey);font-size:.89rem}
.cf2-faq{border-top:1px solid var(--cf-line)}
.cf2-faq-row{border-bottom:1px solid var(--cf-line)}
.cf2-faq-btn{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:17px 3px;
  display:flex;justify-content:space-between;align-items:center;gap:15px;font-family:'Roboto',sans-serif;
  font-weight:700;font-size:1rem;color:var(--cf-navy)}
.cf2-faq-btn::after{content:'+';font-size:1.3rem;color:var(--cf-coral);flex-shrink:0;transition:transform .2s}
.cf2-faq-row.on .cf2-faq-btn::after{transform:rotate(45deg)}
.cf2-faq-body{max-height:0;overflow:hidden;transition:max-height .28s ease}
.cf2-faq-body p{padding:0 3px 17px;margin:0;color:var(--cf-grey);font-size:.91rem}
.cf2-refs{list-style:none;margin:0 0 16px;padding:0}
.cf2-refs li{padding:10px 0;border-bottom:1px solid var(--cf-line);font-size:.88rem;color:var(--cf-grey)}
.cf2-refs a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cf2-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
@media(max-width:760px){.cf2-rel{grid-template-columns:minmax(0,1fr)}}
.cf2-rel a{display:block;background:#fff;border:1px solid var(--cf-line);border-radius:10px;padding:17px 18px;transition:.18s}
.cf2-rel a:hover{border-color:var(--cf-coral);transform:translateY(-2px)}
.cf2-rel b{display:block;font-family:'Roboto',sans-serif;font-size:.96rem;color:var(--cf-navy);margin-bottom:4px}
.cf2-rel span{font-size:.82rem;color:var(--cf-grey)}
.cf2-final{background:linear-gradient(150deg,var(--cf-navy) 0%,var(--cf-navy-dk) 100%);border-radius:18px;
  padding:46px 26px;text-align:center}
.cf2-final h2{color:#fff}
.cf2-final p{color:#AEBBD0}
.cf2-final img{max-width:min(255px,100%);margin:18px auto}
.cf2-final .old{color:#AEBBD0;text-decoration:line-through}
.cf2-final .new{font-family:'Roboto',sans-serif;font-weight:700;font-size:2rem;color:#FFAA8F;margin:4px 0 17px}
.cf2-final .sm{font-size:.81rem;color:#AEBBD0;margin-top:13px}
.cf2-crumb{font-size:.79rem;color:var(--cf-grey);padding:15px 0 0}
.cf2-crumb a{color:var(--cf-coral-dk);font-weight:700}
.cf2-crumb i{font-style:normal;margin:0 7px;opacity:.5}
.cf2-article h2{margin-top:1.5em}
.cf2-article p{color:var(--cf-grey)}
.cf2-article a{color:var(--cf-coral-dk);text-decoration:underline;text-underline-offset:3px}
.cf2-meta{font-size:.84rem;color:var(--cf-grey);margin-bottom:23px}
.cf2-meta a{color:var(--cf-coral-dk);font-weight:700}
.cf2-foot{background:var(--cf-navy-dk);color:#9AA9C0;padding:44px 0 30px;font-size:.85rem}
.cf2-foot a{color:#C4CEE0}
.cf2-foot a:hover{color:#FFAA8F}
.cf2-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:11px 22px;list-style:none;margin:0 0 17px;padding:0;font-family:'Roboto',sans-serif;font-weight:700}
.cf2-foot-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 18px;list-style:none;margin:0 0 23px;padding:0;font-size:.81rem}
.cf2-foot hr{border:none;border-top:1px solid rgba(255,255,255,.14);margin:19px 0}
.cf2-foot p{margin:0 0 12px;line-height:1.65}
.cf2-foot .cr{text-align:center;font-size:.81rem;opacity:.85;margin-top:19px}
.cf2-sticky{position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--cf-navy-dk);border-top:2px solid var(--cf-coral);
  padding:9px 15px;display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(0,0,0,.25)}
.cf2-sticky .t{min-width:0;line-height:1.24;color:#fff}
.cf2-sticky .t b{display:block;font-size:.89rem;color:#FFAA8F;font-family:'Roboto',sans-serif}
.cf2-sticky .t small{color:#AEBBD0;font-size:.7rem}
.cf2-sticky .cf2-btn{padding:10px 17px;font-size:.83rem;flex-shrink:0}
@media(max-width:920px){.cf2-sticky{display:flex}body{padding-bottom:66px}}
