.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}/* Start custom CSS *//* State location pages (/locations/<state>/). Layout and type live in each element's local style (the kit is at Elementor's 1,000 global-class ceiling). This block holds what V4 styles cannot: keyframes and timing, gradients, backdrop blur, descendant rules (em, a, strong), and the pf-anim scroll reveal. Hooks: lc-hero, lc-map, lc-week, lc-tl, lc-light; photos are matched by file name. Same CSS on all seven pages. */
@keyframes lc-drift{0%,100%{transform:scale(1.02) translate(0,0)}50%{transform:scale(1.08) translate(-1.2%,-.8%)}}
@keyframes lc-ring{0%{box-shadow:0 0 0 0 rgba(225,250,185,.95),0 2px 6px rgba(1,58,66,.3)}70%,100%{box-shadow:0 0 0 14px rgba(225,250,185,0),0 2px 6px rgba(1,58,66,.3)}}
@keyframes lc-stepon{0%{background-color:rgba(255,255,255,.14);box-shadow:0 0 0 0 rgba(225,250,185,0)}5%,85%{background-color:#E1FAB9;box-shadow:0 0 0 7px rgba(225,250,185,.18)}100%{background-color:rgba(255,255,255,.14);box-shadow:0 0 0 0 rgba(225,250,185,0)}}
@keyframes lc-seg{0%{transform:scaleY(0);opacity:1}12%,86%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes lc-numcol{0%{color:rgba(255,255,255,.78)}5%,85%{color:#013A42}100%{color:rgba(255,255,255,.78)}}
@keyframes lc-textup{0%{opacity:.5}5%,85%{opacity:1}100%{opacity:.5}}
@keyframes lc-draw{0%,38%{stroke-dashoffset:220}60%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes fq-pulse{0%,100%{box-shadow:0 0 0 0 rgba(251,255,227,.55)}50%{box-shadow:0 0 0 9px rgba(251,255,227,0)}}
@keyframes in-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* words inside headings and paragraphs */
.elementor .pf-main h1 em,.elementor .pf-main h2 em{font-style:italic;color:#025760}
.elementor .pf-main .lc-hero h1 em,.elementor .pf-main .lc-light h2 em{color:#E1FAB9}
.elementor .pf-main p a{color:#025760;text-decoration:underline;text-underline-offset:3px}
.elementor .pf-main .lc-hero p a{color:rgba(255,255,255,.88)}
.elementor .pf-main .lc-light p a{color:#E1FAB9}
.elementor .pf-main p strong{font-weight:600;color:#13262B}

/* photos and maps, matched by file name */
.elementor .pf-main img[src*="-landscape.webp"]{width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:50% 60%;animation:lc-drift 28s ease-in-out infinite;will-change:transform}
.elementor .pf-main img[src*="-at-home.webp"]{width:100%;max-width:none;object-fit:cover;display:block}
.elementor .pf-main img[src*="thrive-state-map"]{object-fit:contain;display:block}
.elementor .pf-main img[src*="ins-logo"]{object-fit:contain;max-width:100%}
.elementor .pf-main .lc-hero>:nth-child(2){background:radial-gradient(ellipse 60% 44% at 50% 36%,rgba(0,22,26,.46) 0%,rgba(0,22,26,0) 100%),linear-gradient(180deg,rgba(0,22,26,.42) 0%,rgba(0,22,26,.12) 40%,rgba(1,40,46,.64) 100%)}
/* hero copy stays readable over bright photos (child 3 is the copy, its last child the buttons) */
.elementor .pf-main .lc-hero>:nth-child(3) p{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.elementor .pf-main .lc-hero>:nth-child(3)>:last-child>:last-child:not(:hover){background-color:rgba(0,22,26,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* frosted glass: the hero cards and the partner timeline */
.elementor .pf-main .lc-hero>:last-child>*{background-color:rgba(1,58,66,.32);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}
.elementor .pf-main .lc-tl{background-color:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}

/* hero button breathes */
.elementor .pf-main .fq-pulse{animation:fq-pulse 2.6s ease-in-out infinite}

/* map: pins pulse in turn, labels arrive as the map scrolls in (child 1 is the map image) */
.elementor .pf-main .lc-map>div>div{animation:lc-ring 2.6s ease-out infinite}
.elementor .pf-main .lc-map>div:nth-child(3)>div{animation-delay:.4s}
.elementor .pf-main .lc-map>div:nth-child(4)>div{animation-delay:.8s}
.elementor .pf-main .lc-map>div:nth-child(5)>div{animation-delay:1.2s}
.elementor .pf-main .lc-map>div:nth-child(6)>div{animation-delay:1.6s}
.elementor .pf-main .lc-map>div:nth-child(7)>div{animation-delay:2s}
.elementor .pf-main .lc-map>div>p{transition:opacity .5s ease .3s,transform .5s ease .3s}
html.pf-js .elementor .pf-main .lc-map:not(.pf-in)>div>p{opacity:0;transform:translateY(6px)}
.elementor .pf-main .lc-map>div:nth-child(3)>p{transition-delay:.45s}
.elementor .pf-main .lc-map>div:nth-child(4)>p{transition-delay:.6s}
.elementor .pf-main .lc-map>div:nth-child(5)>p{transition-delay:.75s}
.elementor .pf-main .lc-map>div:nth-child(6)>p{transition-delay:.9s}
.elementor .pf-main .lc-map>div:nth-child(7)>p{transition-delay:1.05s}

/* week: blocks grow down, day by day */
.elementor .pf-main .lc-week>*>:nth-child(2)>*{transform-origin:top center;transition:transform .7s cubic-bezier(.4,0,.2,1) .3s}
html.pf-js .elementor .pf-main .lc-week:not(.pf-in)>*>:nth-child(2)>*{transform:scaleY(0)}
.elementor .pf-main .lc-week>:nth-child(2)>:nth-child(2)>*{transition-delay:.45s}
.elementor .pf-main .lc-week>:nth-child(3)>:nth-child(2)>*{transition-delay:.6s}
.elementor .pf-main .lc-week>:nth-child(4)>:nth-child(2)>*{transition-delay:.75s}
.elementor .pf-main .lc-week>:nth-child(5)>:nth-child(2)>*{transition-delay:.9s}
/* phones: the week is a list, so the bars grow sideways */
@media (max-width:767px){
  .elementor .pf-main .lc-week>*>:nth-child(2)>*{transform-origin:left center}
  html.pf-js .elementor .pf-main .lc-week:not(.pf-in)>*>:nth-child(2)>*{transform:scaleX(0)}
}

/* partner timeline: each step lights up in turn, the rail fills, the score line draws itself (loops) */
.elementor .pf-main .lc-tl>*>:first-child>:first-child{animation:lc-stepon 9s ease-in-out infinite}
.elementor .pf-main .lc-tl>*>:first-child>:first-child>p{animation:lc-numcol 9s ease-in-out infinite}
.elementor .pf-main .lc-tl>*>:first-child>:nth-child(2)>*{transform-origin:top center;transform:scaleY(0);animation:lc-seg 9s ease-in-out infinite}
.elementor .pf-main .lc-tl>*>:nth-child(2){animation:lc-textup 9s ease-in-out infinite}
.elementor .pf-main .lc-tl>:nth-child(2)>:first-child>:first-child,.elementor .pf-main .lc-tl>:nth-child(2)>:first-child>:first-child>p,.elementor .pf-main .lc-tl>:nth-child(2)>:nth-child(2){animation-delay:1.1s}
.elementor .pf-main .lc-tl>:nth-child(3)>:first-child>:first-child,.elementor .pf-main .lc-tl>:nth-child(3)>:first-child>:first-child>p,.elementor .pf-main .lc-tl>:nth-child(3)>:nth-child(2){animation-delay:2.2s}
.elementor .pf-main .lc-tl>:nth-child(4)>:first-child>:first-child,.elementor .pf-main .lc-tl>:nth-child(4)>:first-child>:first-child>p,.elementor .pf-main .lc-tl>:nth-child(4)>:nth-child(2){animation-delay:3.3s}
.elementor .pf-main .lc-tl>:nth-child(5)>:first-child>:first-child,.elementor .pf-main .lc-tl>:nth-child(5)>:first-child>:first-child>p,.elementor .pf-main .lc-tl>:nth-child(5)>:nth-child(2){animation-delay:4.4s}
.elementor .pf-main .lc-tl>:nth-child(1)>:first-child>:nth-child(2)>*{animation-delay:.35s}
.elementor .pf-main .lc-tl>:nth-child(2)>:first-child>:nth-child(2)>*{animation-delay:1.45s}
.elementor .pf-main .lc-tl>:nth-child(3)>:first-child>:nth-child(2)>*{animation-delay:2.55s}
.elementor .pf-main .lc-tl>:nth-child(4)>:first-child>:nth-child(2)>*{animation-delay:3.65s}
.elementor .pf-main .lc-tl svg{display:block;width:200px;height:44px;overflow:visible}
.elementor .pf-main .lc-tl svg path{fill:none !important;stroke-dasharray:220;stroke-dashoffset:220;animation:lc-draw 9s ease-in-out 3.3s infinite}
.elementor .pf-main .lc-tl svg circle{animation:lc-textup 9s ease-in-out 3.3s infinite}

/* accordion icon (same as the FAQ, insurance and About pages) */
.elementor .pf-main .in-acc summary{list-style:none}
.elementor .pf-main .in-acc summary::-webkit-details-marker{display:none}
.elementor .pf-main .in-acc-icon>*{display:none !important}
.elementor .pf-main .in-acc-icon{position:relative;transition:background-color .25s ease,color .25s ease,transform .3s ease}
.elementor .pf-main .in-acc-icon::before{position:absolute;left:0;top:0;right:0;bottom:0;width:auto;height:auto;margin:0;display:flex;align-items:center;justify-content:center;padding-bottom:2px;box-sizing:border-box;transform:none;content:"+";font-family:General Sans Variable,system-ui,sans-serif;font-size:21px;line-height:1;font-weight:400;transition:transform .3s ease}
.elementor .pf-main .in-acc-item[open] .in-acc-icon::before{transform:rotate(45deg)}
.elementor .pf-main .in-acc-item[open] .in-acc-icon{transform:none !important;background-color:#025760;border-color:#025760;color:#FFFFFF}
.elementor .pf-main .in-acc-head:hover .in-acc-icon{background-color:#025760;border-color:#025760;color:#FFFFFF}
.elementor .pf-main .in-acc-head:hover .in-acc-q{color:#025760}
.elementor .pf-main .in-acc-q{transition:color .2s ease}

/* gap above the footer's "Ready when you are" band: 120 / 104 / 72, measured against the FAQ page */
body .elementor .pf-main>:last-child{padding-bottom:90px}
@media (max-width:1024px){body .elementor .pf-main>:last-child{padding-bottom:80px}}
@media (max-width:767px){body .elementor .pf-main>:last-child{padding-bottom:69px}}

/* laptop widths: the kit has no breakpoint between 1025 and 1440 */
@media (min-width:1025px) and (max-width:1339px){
  body .elementor .pf-main>:not(:first-child){padding-left:56px;padding-right:56px}
  body .elementor .pf-main>:has(>.lc-map),body .elementor .pf-main>:has(img[src*="-at-home"]){grid-template-columns:minmax(0,1fr) 420px;gap:48px}
  body .elementor .pf-main>.lc-light:has(>.lc-tl){grid-template-columns:minmax(0,1fr) 500px;gap:48px}
  body .elementor .pf-main>:has(>.lc-week){grid-template-columns:340px minmax(0,1fr);gap:48px}
  body .elementor .pf-main>:has(>.in-acc){grid-template-columns:300px minmax(0,1fr);gap:48px}
}
/* wide screens keep the 1200px column */
@media (min-width:1441px){
  body .elementor .pf-main>:not(:first-child){padding-left:calc((100% - 1200px)/2);padding-right:calc((100% - 1200px)/2)}
}

/* Motion. thrive-platform-motion.php adds .pf-js to <html> and .pf-in to each .pf-anim as it scrolls into view, and counts up .pf-count numbers. Without the script everything simply shows. */
@media all{
  html.pf-js .elementor .pf-main .pf-anim{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  html.pf-js .elementor .pf-main .pf-anim.pf-in{opacity:1;transform:none}
  .elementor .pf-main .pf-d2.pf-anim{transition-delay:.1s}
  .elementor .pf-main .pf-d3.pf-anim{transition-delay:.2s}
  .elementor .pf-main .pf-d4.pf-anim{transition-delay:.3s}
  .elementor .pf-main .pf-d5.pf-anim{transition-delay:.4s}
  .elementor .pf-main .pf-d6.pf-anim{transition-delay:.5s}
  html.pf-js .elementor .pf-main .in-acc.pf-anim:not(.pf-in) .in-acc-item{opacity:0;transform:translateY(14px)}
  .elementor .pf-main .in-acc .in-acc-item{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(2){transition-delay:.06s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(3){transition-delay:.12s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(4){transition-delay:.18s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(5){transition-delay:.24s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(6){transition-delay:.3s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(7){transition-delay:.36s}
  .elementor .pf-main .in-acc .in-acc-item:nth-child(8){transition-delay:.42s}
  .elementor .pf-main .in-acc-item[open] .in-acc-body{animation:in-open .35s ease-out}
}

/* REDUCE-OVERRIDE */
/* The UiCore theme sets *{animation:auto!important} for reduced-motion devices; the owner wants these pages to move for everyone, so the same animations are restated with !important. */
@media (prefers-reduced-motion:reduce){
html body .elementor .pf-main img[src*="-landscape.webp"]{animation:lc-drift 28s ease-in-out infinite !important}
html body .elementor .pf-main .fq-pulse{animation:fq-pulse 2.6s ease-in-out infinite !important}
html body .elementor .pf-main .lc-map>div>div{animation:lc-ring 2.6s ease-out infinite !important}
html body .elementor .pf-main .lc-tl>*>:first-child>:first-child{animation:lc-stepon 9s ease-in-out infinite !important}
html body .elementor .pf-main .lc-tl>*>:first-child>:first-child>p{animation:lc-numcol 9s ease-in-out infinite !important}
html body .elementor .pf-main .lc-tl>*>:first-child>:nth-child(2)>*{animation:lc-seg 9s ease-in-out infinite !important}
html body .elementor .pf-main .lc-tl>*>:nth-child(2){animation:lc-textup 9s ease-in-out infinite !important}
html body .elementor .pf-main .lc-tl svg path{animation:lc-draw 9s ease-in-out 3.3s infinite !important}
html body .elementor .pf-main .in-acc-item[open] .in-acc-body{animation:in-open .35s ease-out !important}
}/* End custom CSS */