/* Homepage-only visual refresh. Child pages keep their existing stylesheet. */
.home-page .hero-character{position:absolute;width:390px;height:490px;max-width:90%;object-fit:contain;left:50%;bottom:30px;transform:translateX(-50%)}
.home-page .service-icon{width:100%;height:155px;border-radius:0;background:none;margin:0 0 24px;overflow:visible}
.home-page .service-icon img{width:100%;height:155px;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.home-page .service-card{min-height:410px}
.home-page .about-art{background:#e9dfef;color:#4a155b;min-height:455px;padding:34px 30px}
.home-page .about-art .eyebrow{color:#6e497c;position:relative;z-index:1}
.home-page .about-art blockquote{position:relative;margin:68px 0 60px 46%;font-size:31px;line-height:1.22;z-index:1}
.home-page .about-art em{color:#79518b}
.home-page .about-character{position:absolute;left:-10px;bottom:0;width:51%;height:365px;object-fit:contain;object-position:bottom}
.home-page .about-signature{color:#6e497c;position:relative;display:block;margin-left:46%;font-size:10px;max-width:210px;z-index:1}




.home-page .contact-art{width:340px;right:20px;top:10px;bottom:0}
.home-page .contact-art .contact-character{width:280px;height:380px;max-width:100%;right:15px;top:auto;bottom:-5px;object-fit:contain;object-position:bottom}
@media(max-width:1100px){.home-page .about-art blockquote{font-size:26px;margin-left:45%}.home-page .about-art{padding:30px 22px}.home-page .contact-art{right:-10px;width:290px}}
@media(max-width:800px){.home-page .hero-character{height:410px;bottom:25px}.home-page .service-icon,.home-page .service-icon img{height:150px}.home-page .service-card{min-height:410px}.home-page .about-art blockquote{font-size:34px;margin-top:60px}.home-page .about-character{height:370px}.home-page .contact-art{width:260px;right:-30px}.home-page .contact-art .contact-character{height:330px;width:230px;right:0}}
@media(max-width:520px){.home-page .hero-character{height:360px;bottom:22px;width:300px}.home-page .service-card{min-height:370px}.home-page .service-icon,.home-page .service-icon img{height:115px}.home-page .service-icon{margin-bottom:20px}.home-page .about-art{min-height:420px;padding:30px 20px}.home-page .about-art blockquote{font-size:27px;margin-top:60px;margin-left:45%;margin-bottom:32px}.home-page .about-character{height:315px;width:51%;left:-5px}.home-page .about-signature{margin-left:45%;font-size:9px}.home-page .contact-art{top:auto;bottom:-20px;right:-15px;height:285px;width:220px}.home-page .contact-art .contact-character{height:285px;width:200px}}
@media(prefers-reduced-motion:reduce){.home-page .service-card{transition:none}.home-page .service-card:hover{transform:none}}
/* Two equal sequences make the marquee loop without a visible jump. */
.home-page .insurer-carousel{position:relative;width:100%;min-width:0}
.home-page .insurer-viewport{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.home-page .insurer-track{display:flex;width:max-content;animation:insurer-loop 38s linear infinite;will-change:transform}
.home-page .insurer-logos{list-style:none;display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:24px;margin:0;padding:8px 24px 8px 0;width:max-content}
.home-page .insurer-logos li{display:flex;align-items:center;justify-content:center;flex:0 0 176px;width:176px;height:84px;padding:16px;box-sizing:border-box;background:#fff;border:1px solid #eee8f0;border-radius:12px}
.home-page .insurer-logos img{display:block;width:144px;height:52px;max-width:144px;max-height:52px;object-fit:contain;filter:brightness(0);opacity:.62;mix-blend-mode:normal}
.home-page .insurer-pause{display:block;margin:16px auto 0;padding:7px 12px;background:transparent;border:1px solid #ded3e4;border-radius:20px;font:inherit;font-size:11px;color:#65456e;cursor:pointer}
.home-page .insurer-pause:focus-visible{outline:2px solid #4a155b;outline-offset:3px}
.home-page .insurer-carousel:is(:hover,:focus-within,.is-paused) .insurer-track{animation-play-state:paused}
@keyframes insurer-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:520px){.home-page .insurer-logos{gap:16px;padding-right:16px}.home-page .insurer-logos li{flex-basis:164px;width:164px;padding:10px}.home-page .insurer-track{animation-duration:44s}}
@media(prefers-reduced-motion:reduce){.home-page .insurer-track{animation:none;transform:none}.home-page .insurer-viewport{overflow-x:auto;mask-image:none}.home-page .insurer-logos[aria-hidden="true"],.home-page .insurer-pause{display:none}}

/* Three hero messages on the circle perimeter; clear space above the mascot. */
.home-page .hero-character{height:420px;bottom:35px}
.home-page .tag-savings,.home-page .tag-top{top:45px;bottom:auto;width:200px;max-width:calc(50% - 10px);box-sizing:border-box;white-space:normal;font-size:11px;line-height:1.5;padding:13px 14px;transform:none}
.home-page .tag-savings{left:0;right:auto;transform:rotate(-4deg)}
.home-page .tag-top{left:auto;right:0;transform:rotate(4deg)}
.home-page .scene-note{left:0;right:auto;bottom:55px;width:180px;max-width:42%;box-sizing:border-box;justify-content:flex-start;transform:rotate(-3deg);font-size:11px;padding:13px 14px}
@media(max-width:1100px){.home-page .hero-character{height:390px;bottom:30px}.home-page .tag-savings,.home-page .tag-top{width:180px;font-size:10px;padding:12px}}
@media(max-width:800px){.home-page .hero-character{height:340px;bottom:30px}.home-page .tag-savings,.home-page .tag-top{top:38px;width:165px;font-size:9px;padding:11px}.home-page .scene-note{bottom:45px;width:160px;font-size:10px}}
@media(max-width:520px){.home-page .hero-character{height:300px;bottom:30px}.home-page .tag-savings,.home-page .tag-top{top:32px;width:160px;max-width:calc(50% - 8px);font-size:9px;padding:10px}.home-page .scene-note{bottom:45px;width:145px;font-size:9px;padding:11px}.home-page .scene-caption{bottom:0}}



/* Match typography and decorative stars across all three hero messages. */
.home-page .scene-tag,.home-page .scene-note{font-family:inherit;font-size:11px;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.5;color:var(--ink);gap:8px;align-items:center}
.home-page .scene-tag{display:flex}
.home-page .scene-tag .mini-check,.home-page .scene-note .note-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;line-height:1;font-size:16px;color:#6b397d;background:#f0e7f5;border-radius:7px}
@media(max-width:1100px){.home-page .scene-tag,.home-page .scene-note{font-size:10px}}
@media(max-width:800px){.home-page .scene-tag,.home-page .scene-note{font-size:9px}.home-page .scene-tag .mini-check,.home-page .scene-note .note-icon{flex-basis:18px;width:18px;height:18px;font-size:14px}}

.home-page .tag-top{top:50%;left:auto;right:-16px;transform:translateY(-50%) rotate(4deg)}
@media(max-width:520px){.home-page .tag-top{right:-6px}}
@media(max-width:1100px){.home-page .tag-top{top:65%;right:0}}
