
/* Frank Insurance UX4 — dark green, light blue and orange */
:root{
  --fi-deep-green:#0d342d;
  --fi-dark-green:#174b40;
  --fi-light-blue:#dff3ff;
  --fi-light-blue-strong:#b9e3fb;
  --fi-orange:#f29a4a;
  --fi-orange-soft:#ffd7ad;
  --fi-campaign-blue:#0b4f82;
  --fi-campaign-blue-deep:#123f6b;
}
html{min-height:100%;background:var(--fi-deep-green);}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 7% 6%,rgba(185,227,251,.95) 0 11%,rgba(185,227,251,.52) 23%,transparent 40%),
    radial-gradient(circle at 94% 8%,rgba(242,154,74,.92) 0 10%,rgba(242,154,74,.48) 23%,transparent 40%),
    radial-gradient(circle at 83% 88%,rgba(223,243,255,.78) 0 12%,transparent 34%),
    linear-gradient(145deg,#0d342d 0%,#174b40 31%,#dff3ff 68%,#f29a4a 100%) !important;
  background-attachment:fixed !important;
}
.wrap,.page{position:relative}
.header,.top,.hero,.heroCard,.card,.panel,.article,.articleCard,.listCard,
.homeContactSection,.brokerProfileCard,.seoHomeBlock,.coverageReviewIntro{
  backdrop-filter:saturate(112%) blur(2px);
  -webkit-backdrop-filter:saturate(112%) blur(2px);
}

/* Slogan band: rich blue background with orange accent */
.brandCampaignInline,.brandCampaignBar,.fiCampaignBand{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 11px;
  width:100%;
  max-width:100%;
  padding:10px 13px !important;
  margin:10px 0 !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,var(--fi-campaign-blue-deep),var(--fi-campaign-blue)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-left:6px solid var(--fi-orange) !important;
  border-bottom:3px solid rgba(242,154,74,.82) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(8,38,63,.22) !important;
  box-sizing:border-box;
  font-family:"Avenir Next","Segoe UI Semibold","Trebuchet MS","Segoe UI",Arial,sans-serif !important;
}
.brandCampaignInline strong,.brandCampaignBar strong,.fiCampaignBand strong{
  color:#fff !important;
  font-size:13px;
  font-weight:800 !important;
  letter-spacing:.065em !important;
  line-height:1.25;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}
.brandCampaignInline #t_campaignSecondary,.brandCampaignBar #t_campaignSecondary,.fiCampaignBand .fiCampaignSecondary{
  color:#ffbd7c !important;
  font-size:12px;
  font-weight:900 !important;
  letter-spacing:.055em !important;
}
.brandCampaignInline #t_campaignProducts,.brandCampaignBar #t_campaignProducts,.fiCampaignBand .fiCampaignProducts{
  flex-basis:100%;
  color:#dff3ff !important;
  font-size:11px;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

/* Scheduler service-highlight badges */
.schedulerTrustStrip{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0 4px;
}
.schedulerTrustStrip .trustBadge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(18,61,53,.14);
  background:linear-gradient(135deg,rgba(223,243,255,.98),rgba(255,235,213,.96));
  color:#123d35;
  font-size:11px;
  font-weight:850;
  line-height:1.15;
  box-shadow:0 5px 14px rgba(13,52,45,.07);
}
.schedulerPage .schedulerCampaign{max-width:760px}
.card,.panel,.heroCard,.header,.top{border-color:rgba(18,61,53,.13) !important}

@media(max-width:620px){
  body{background-attachment:scroll !important}
  .brandCampaignInline,.brandCampaignBar,.fiCampaignBand{
    padding:8px 9px !important;
    gap:4px 7px;
    border-left-width:4px !important;
  }
  .brandCampaignInline strong,.brandCampaignBar strong,.fiCampaignBand strong{font-size:10.5px !important}
  .brandCampaignInline #t_campaignSecondary,.brandCampaignBar #t_campaignSecondary,.fiCampaignBand .fiCampaignSecondary{font-size:10px !important}
  .brandCampaignInline #t_campaignProducts,.brandCampaignBar #t_campaignProducts,.fiCampaignBand .fiCampaignProducts{
    font-size:9px !important;
    line-height:1.35;
    letter-spacing:.035em !important;
  }
  .schedulerTrustStrip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    margin-top:8px;
  }
  .schedulerTrustStrip .trustBadge{
    justify-content:center;
    min-width:0;
    padding:6px 7px;
    text-align:center;
    font-size:9.5px;
  }
}


/* === UX5 homepage-specific fixes ===
   ui-refinements.css uses .homePage rules with !important, so the
   homepage needs a more-specific override to actually show the theme. */
body.homePage{
  min-height:100vh;
  background:
    radial-gradient(circle at 6% 7%, rgba(185,227,251,.98) 0 12%, rgba(185,227,251,.58) 24%, transparent 41%),
    radial-gradient(circle at 94% 9%, rgba(242,154,74,.96) 0 11%, rgba(242,154,74,.54) 24%, transparent 41%),
    radial-gradient(circle at 82% 88%, rgba(223,243,255,.82) 0 13%, transparent 35%),
    linear-gradient(145deg,#0d342d 0%,#174b40 31%,#dff3ff 68%,#f29a4a 100%) !important;
  background-attachment:fixed !important;
}

body.homePage .wrap{
  background:transparent !important;
}

/* Restore the homepage slogan to the full blue campaign panel. */
body.homePage .brandCampaignInline{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:5px 11px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 18px !important;
  padding:11px 14px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-left:6px solid var(--fi-orange) !important;
  border-bottom:3px solid rgba(242,154,74,.82) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,var(--fi-campaign-blue-deep),var(--fi-campaign-blue)) !important;
  box-shadow:0 10px 24px rgba(8,38,63,.22) !important;
}

body.homePage .brandCampaignInline strong{
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.065em !important;
}

body.homePage .brandCampaignInline #t_campaignSecondary{
  display:inline-block !important;
  color:#ffbd7c !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
}

body.homePage .brandCampaignInline #t_campaignProducts{
  flex-basis:100% !important;
  color:#dff3ff !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

/* Let the green/blue/orange page background frame the white content panels. */
body.homePage .header,
body.homePage .hero,
body.homePage .visualServices,
body.homePage .homeContactSection,
body.homePage .seoHomeBlock,
body.homePage #client-tools,
body.homePage .footer{
  box-shadow:0 16px 36px rgba(8,38,31,.10) !important;
}

@media(max-width:620px){
  body.homePage{
    background-attachment:scroll !important;
  }
  body.homePage .brandCampaignInline{
    padding:9px 10px !important;
    border-left-width:4px !important;
  }
  body.homePage .brandCampaignInline strong{font-size:10.5px !important;}
  body.homePage .brandCampaignInline #t_campaignSecondary{font-size:10px !important;}
  body.homePage .brandCampaignInline #t_campaignProducts{font-size:9px !important;line-height:1.35 !important;}
}


/* === UX6 scheduler + contact fixes === */

/* ui-refinements.css sets .schedulerPage background:#f5f8fc !important.
   Override it with the same three-colour treatment used on the homepage. */
body.schedulerPage{
  min-height:100vh;
  background:
    radial-gradient(circle at 6% 7%, rgba(185,227,251,.98) 0 12%, rgba(185,227,251,.58) 24%, transparent 41%),
    radial-gradient(circle at 94% 9%, rgba(242,154,74,.96) 0 11%, rgba(242,154,74,.54) 24%, transparent 41%),
    radial-gradient(circle at 82% 88%, rgba(223,243,255,.82) 0 13%, transparent 35%),
    linear-gradient(145deg,#0d342d 0%,#174b40 31%,#dff3ff 68%,#f29a4a 100%) !important;
  background-attachment:fixed !important;
}

body.schedulerPage .wrap{
  background:transparent !important;
}

body.schedulerPage .header,
body.schedulerPage .card,
body.schedulerPage .steps{
  box-shadow:0 16px 36px rgba(8,38,31,.10) !important;
}

/* Ensure scheduler slogan keeps its intended blue treatment despite older CSS. */
body.schedulerPage .schedulerCampaign{
  background:linear-gradient(135deg,var(--fi-campaign-blue-deep),var(--fi-campaign-blue)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-left:6px solid var(--fi-orange) !important;
  border-bottom:3px solid rgba(242,154,74,.82) !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(8,38,63,.22) !important;
}

/* Contact page top navigation */
body.contactPage .top{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px 22px !important;
  padding:16px 18px !important;
}

body.contactPage .top .brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  color:#0b2340 !important;
  text-decoration:none !important;
  font-weight:850 !important;
}

body.contactPage .top .brand img{
  width:52px !important;
  height:52px !important;
  object-fit:contain !important;
  flex:0 0 52px !important;
}

body.contactPage .top nav{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}

body.contactPage .top nav a,
body.contactPage .top nav button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:9px 14px !important;
  border:1px solid rgba(11,35,64,.14) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#0b2340 !important;
  text-decoration:none !important;
  font:inherit !important;
  font-size:14px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  cursor:pointer !important;
  box-shadow:0 5px 14px rgba(11,35,64,.06) !important;
}

body.contactPage .top nav a:hover,
body.contactPage .top nav button:hover{
  background:#eaf6ff !important;
  border-color:#9fcbe7 !important;
}

body.contactPage .top nav #schedulerLink{
  background:#0b4f82 !important;
  border-color:#0b4f82 !important;
  color:#fff !important;
}

body.contactPage .top nav #schedulerLink:hover{
  background:#123f6b !important;
  border-color:#123f6b !important;
}

body.contactPage .top nav #langBtn{
  min-width:48px !important;
  background:#fff3e3 !important;
  border-color:#f2c596 !important;
}

@media(max-width:700px){
  body.schedulerPage{background-attachment:scroll !important;}

  body.contactPage .top{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }

  body.contactPage .top .brand{
    justify-content:center !important;
  }

  body.contactPage .top nav{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    gap:7px !important;
  }

  body.contactPage .top nav a,
  body.contactPage .top nav button{
    width:100% !important;
    min-width:0 !important;
    padding:9px 8px !important;
    font-size:12px !important;
    text-align:center !important;
  }
}

@media(max-width:400px){
  body.contactPage .top nav{
    grid-template-columns:1fr !important;
  }
}
