/* FlexiCare Insurance — V1153 Homepage Content Density / Section Rhythm
   Scope: homepage only through body.fc-home. Loaded after V1152 visual baseline. */

body.fc-home{
  --fc-home-rhythm-gap:clamp(18px,2.1vw,28px);
  --fc-home-rhythm-tight:clamp(10px,1.2vw,16px);
  --fc-home-rhythm-wide:clamp(30px,4vw,54px);
}

body.fc-home .fc-main{ isolation:isolate; }

body.fc-home .hero2{
  padding-top:clamp(22px,3.4vw,46px);
  padding-bottom:clamp(24px,3.8vw,52px);
}

body.fc-home .hero2-grid{
  padding:clamp(22px,3.8vw,46px);
  gap:clamp(22px,4.4vw,54px);
}

body.fc-home .hero2-title-center{ margin-bottom:clamp(14px,1.8vw,20px); }
body.fc-home .hero2-brand{ max-width:12ch; }
body.fc-home .hero2-sub{ max-width:25ch; }
body.fc-home .hero2-text{ max-width:66ch; margin-bottom:0; }
body.fc-home .hero2-actions{ margin-top:clamp(18px,2vw,24px); }

body.fc-home .hero2-note{
  max-width:70ch;
  margin-top:clamp(14px,1.8vw,20px);
  padding-top:clamp(12px,1.4vw,16px);
  border-top:1px solid rgba(12,52,65,.09);
}

body.fc-home .fc-hero-methods{ gap:12px; }
body.fc-home .fc-hero-method{ padding:clamp(14px,1.6vw,18px); }
body.fc-home .fc-hero-method__text{ max-width:34ch; }

body.fc-home .section{
  padding-top:var(--fc-home-rhythm-wide);
  padding-bottom:var(--fc-home-rhythm-wide);
}

body.fc-home .hero2 + .section{ padding-top:clamp(24px,3vw,40px) !important; }
body.fc-home .fc-section-head{ margin-bottom:clamp(18px,2.2vw,26px); }
body.fc-home .fc-section-head > div:first-child{ display:grid; gap:10px; }
body.fc-home .fc-section-head .fc-h1{ max-width:980px; }

body.fc-home .fc-section-head .small{
  max-width:960px;
  font-size:clamp(15px,1.02vw,17px);
  line-height:1.72;
}

body.fc-home .fc-programs-split{
  gap:clamp(16px,2.2vw,24px) !important;
  align-items:stretch;
}

body.fc-home .fc-programs-box{
  display:flex;
  flex-direction:column;
  padding:clamp(18px,2.2vw,26px);
}

body.fc-home .fc-programs-box-h{
  margin-bottom:clamp(14px,1.8vw,20px);
  padding-bottom:clamp(12px,1.6vw,16px);
  border-bottom:1px solid rgba(12,52,65,.10);
}

body.fc-home .fc-programs-box-title-btn{
  width:100%;
  justify-content:center;
  min-height:44px;
  text-align:center;
}

body.fc-home .fc-bullet-cols{
  columns:2;
  column-gap:clamp(18px,2.4vw,34px);
  padding-left:0;
  list-style:none;
}

body.fc-home .fc-bullet-cols li{
  position:relative;
  margin:0 0 10px;
  padding-left:20px;
  line-height:1.42;
}

body.fc-home .fc-bullet-cols li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(14,152,178,.62);
  box-shadow:0 0 0 3px rgba(14,152,178,.09);
}

body.fc-home .fc-bullet-cols a{
  display:inline;
  color:#214c58;
  font-weight:600;
  line-height:1.45;
}

body.fc-home .fc-bullet-cols a:hover{
  text-decoration:none;
  color:#0f6173;
}

body.fc-home .fc-bullet-cols a:focus-visible{
  outline:3px solid rgba(14,152,178,.24);
  outline-offset:3px;
  border-radius:6px;
}

@media (min-width:1180px){
  body.fc-home .fc-programs-box{ min-height:100%; }
}

@media (max-width:980px){
  body.fc-home .hero2-grid{ padding:clamp(20px,4vw,34px); }
  body.fc-home .hero2-brand,
  body.fc-home .hero2-sub{ max-width:none; }
  body.fc-home .fc-hero-method__text{ max-width:62ch; }
}

@media (max-width:760px){
  body.fc-home .hero2{ padding-top:18px; padding-bottom:28px; }
  body.fc-home .hero2-grid{ padding:18px; gap:18px; }
  body.fc-home .hero2-card{ border-radius:24px; }
  body.fc-home .hero2-note{ font-size:12.5px; }
  body.fc-home .hero2 + .section{ padding-top:28px !important; }
  body.fc-home .fc-section-head{ margin-bottom:18px; }
  body.fc-home .fc-programs-box{ padding:18px; }
  body.fc-home .fc-bullet-cols{ columns:1; }
  body.fc-home .fc-bullet-cols li{ margin-bottom:11px; }
}

@media (max-width:420px){
  body.fc-home .hero2-grid{ padding:16px; }
  body.fc-home .fc-hero-method{ grid-template-columns:38px minmax(0,1fr); gap:12px; }
  body.fc-home .fc-hero-method__icon{ width:38px; height:38px; border-radius:14px; }
  body.fc-home .fc-programs-box-title-btn{ white-space:normal; line-height:1.25; padding-block:10px; }
}
