@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

.insurance-page {
    --ic-ink: #123a40;
    --ic-teal: #087f83;
    --ic-teal-dark: #07575e;
    --ic-mist: #eaf4f1;
    --ic-paper: #f8f7f1;
    --ic-coral: #d96d4d;
    --ic-text: #4d6668;
    --ic-line: #d8e5df;
    color: var(--ic-ink);
    background: var(--ic-paper);
    font-family: 'DM Sans', sans-serif;
    overflow: hidden;
}
.insurance-page *, .insurance-page *::before, .insurance-page *::after { box-sizing: border-box; }
.insurance-page h1, .insurance-page h2, .insurance-page h3, .insurance-page p { margin-top: 0; }
.insurance-page h1, .insurance-page h2, .insurance-page h3 { font-family: 'Manrope', sans-serif; color: var(--ic-ink); }
.insurance-page a { color: inherit; }
.insurance-page a:focus-visible, .insurance-page summary:focus-visible { outline: 3px solid var(--ic-coral); outline-offset: 4px; border-radius: 3px; }
.insurance-hero { background: var(--ic-teal-dark); color: #f5fbf7; position: relative; }
.insurance-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 24% 18%, rgba(51, 143, 137, .3), transparent 45%), linear-gradient(112deg, transparent 56%, rgba(8, 127, 131, .18)); }
.insurance-hero-inner { max-width: 1240px; min-height: 590px; margin: auto; padding: 164px 30px 60px; display: grid; grid-template-columns: 1.02fr .98fr; gap: 48px; align-items: center; position: relative; }
.insurance-hero-copy { max-width: 590px; animation: ic-rise .7s both; }
.insurance-kicker { display: flex; align-items: center; gap: 10px; color: var(--ic-teal); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .17em; margin: 0 0 19px; }
.insurance-kicker > span { display: inline-block; width: 22px; height: 2px; background: var(--ic-coral); }
.insurance-hero .insurance-kicker { color: #a8d8cd; }
.insurance-hero h1 { color: #f6f5eb; max-width: 600px; font-size: clamp(44px, 5.7vw, 73px); line-height: 1.04; letter-spacing: -.065em; margin: 0 0 24px; }
.insurance-hero h1 em, .insurance-section-head h2 em, .insurance-guide-heading h2 em, .insurance-questions h2 em, .insurance-clinic h2 em { font-family: Georgia, serif; font-weight: 400; color: #ed9a77; letter-spacing: -.055em; }
.insurance-hero-lede { max-width: 500px; font-size: 17px; line-height: 1.75; color: #d3e5df; margin-bottom: 27px; }
.insurance-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.insurance-button { min-height: 49px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; text-decoration: none !important; font-weight: 700; font-size: 13px; transition: transform .2s ease, background-color .2s ease; }
.insurance-button:hover { transform: translateY(-2px); }
.insurance-button-light { background: #f3f2e9; color: var(--ic-teal-dark) !important; }
.insurance-button-ghost { border: 1px solid rgba(231, 246, 238, .47); color: #eff7f2 !important; }
.insurance-hero-note { font-size: 12px; line-height: 1.55; color: #bbd7d0; margin: 20px 0 0; max-width: 500px; }
.insurance-hero-visual { position: relative; align-self: stretch; min-height: 415px; margin: 10px 0 20px; animation: ic-rise .85s .12s both; }
.insurance-hero-visual::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(225, 244, 235, .28); transform: translate(12px, 12px); pointer-events: none; }
.insurance-hero-visual > img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 47% center; }
.insurance-image-caption { position: absolute; left: 18px; bottom: 18px; z-index: 1; padding: 12px 16px 12px 12px; display: flex; align-items: center; gap: 11px; background: #f8f7f1; color: var(--ic-ink); }
.insurance-caption-mark { width: 35px; height: 35px; display: grid; place-items: center; background: var(--ic-teal); color: #fff; font-family: Georgia, serif; font-size: 22px; }
.insurance-image-caption strong, .insurance-image-caption small { display: block; }
.insurance-image-caption strong { font-size: 12px; }
.insurance-image-caption small { color: var(--ic-text); font-size: 10px; margin-top: 2px; }
.insurance-hero-stamp { position: absolute; z-index: 2; top: 27px; right: -22px; width: 117px; height: 117px; border-radius: 50%; background: var(--ic-coral); color: #fff8ed; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(8deg); box-shadow: 0 10px 24px rgba(12, 49, 50, .2); }
.insurance-hero-stamp span, .insurance-hero-stamp i { font-size: 9px; letter-spacing: .08em; font-style: normal; }
.insurance-hero-stamp strong { font: 700 22px 'Manrope', sans-serif; line-height: 1.1; }
.insurance-truth { background: #f0e8dc; border-bottom: 1px solid #e4d9cb; }
.insurance-truth-inner { max-width: 1180px; min-height: 107px; padding: 22px 24px; margin: auto; display: grid; grid-template-columns: 40px 1fr auto; gap: 17px; align-items: center; }
.insurance-truth-symbol { width: 33px; height: 33px; display: grid; place-items: center; background: var(--ic-coral); border-radius: 50%; color: white; font-weight: 700; }
.insurance-truth strong { display: block; font: 700 14px 'Manrope', sans-serif; margin-bottom: 4px; }
.insurance-truth p { color: #665f56; margin: 0; font-size: 12px; line-height: 1.55; }
.insurance-truth a { color: var(--ic-teal-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.insurance-truth a span { padding-left: 8px; }
.section-pad { padding: 94px max(28px, calc((100% - 1160px) / 2)); }
.insurance-intro, .insurance-guide, .insurance-questions, .insurance-clinic { scroll-margin-top: 146px; }
.insurance-intro { background: var(--ic-paper); }
.insurance-section-head { max-width: 620px; margin-bottom: 40px; }
.insurance-section-head h2, .insurance-guide-heading h2, .insurance-questions h2, .insurance-clinic h2 { font-size: clamp(34px, 4.3vw, 52px); line-height: 1.1; letter-spacing: -.06em; margin: 0 0 14px; }
.insurance-section-head h2 em, .insurance-guide-heading h2 em, .insurance-questions h2 em, .insurance-clinic h2 em { color: var(--ic-coral); }
.insurance-section-head > p:last-child, .insurance-guide-heading > p:not(.insurance-kicker), .insurance-questions-head > p { color: var(--ic-text); line-height: 1.7; font-size: 14px; max-width: 520px; }
.insurance-flow { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--ic-line); border-bottom: 1px solid var(--ic-line); }
.insurance-flow-step { position: relative; min-height: 245px; padding: 28px 34px 26px 0; }
.insurance-flow-step + .insurance-flow-step { border-left: 1px solid var(--ic-line); padding-left: 32px; }
.insurance-step-num { position: absolute; top: 29px; right: 27px; font: 11px 'DM Sans', sans-serif; color: #8ea9a5; letter-spacing: .15em; }
.insurance-step-icon { width: 39px; height: 39px; display: grid; place-items: center; background: #dcebe3; color: var(--ic-teal-dark); border-radius: 50%; font: 700 10px 'DM Sans', sans-serif; margin-bottom: 22px; }
.insurance-flow-step h3 { font-size: 20px; letter-spacing: -.035em; margin: 0 0 9px; }
.insurance-flow-step p { color: var(--ic-text); font-size: 13px; line-height: 1.65; margin-bottom: 15px; max-width: 330px; }
.insurance-flow-step a { color: var(--ic-teal); font-size: 12px; font-weight: 700; text-decoration: none; }
.insurance-flow-step a span { color: var(--ic-coral); padding-left: 7px; }
.insurance-privacy { margin-top: 26px; padding: 17px 20px; display: flex; gap: 14px; align-items: flex-start; background: #edf1e9; border-left: 3px solid var(--ic-coral); }
.insurance-privacy-icon { flex: 0 0 22px; height: 22px; display: grid; place-items: center; border: 1px solid #9bb8aa; border-radius: 50%; color: var(--ic-teal-dark); font: 700 12px Georgia, serif; }
.insurance-privacy p { color: var(--ic-text); margin: 0; font-size: 12px; line-height: 1.6; }
.insurance-privacy strong { color: var(--ic-ink); }
.insurance-care-note { min-height: 330px; display: grid; grid-template-columns: 1fr 1fr; background: #dfece6; }
.insurance-care-image { min-height: 330px; position: relative; }
.insurance-care-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.insurance-care-copy { max-width: 580px; padding: 54px clamp(28px, 7vw, 100px); align-self: center; }
.insurance-care-copy h2 { font-size: clamp(29px, 3.5vw, 42px); line-height: 1.12; letter-spacing: -.055em; margin: 0 0 15px; }
.insurance-care-copy h2 em { color: var(--ic-coral); font-family: Georgia, serif; font-weight: 400; }
.insurance-care-copy > p:last-child { color: var(--ic-text); font-size: 13px; line-height: 1.75; margin: 0; }
.insurance-guide { background: #eef4ee; border-top: 1px solid #e3ebe3; }
.insurance-guide-heading { max-width: 670px; margin: 0 auto 30px; text-align: center; }
.insurance-guide-heading .insurance-kicker { justify-content: center; }
.insurance-guide-heading h2 { font-size: clamp(31px, 4vw, 43px); margin: 0 0 11px; letter-spacing: -.06em; }
.insurance-guide-heading h2 em { color: var(--ic-coral); font-family: Georgia, serif; font-weight: 400; }
.insurance-guide-heading > p:not(.insurance-kicker) { color: var(--ic-text); line-height: 1.65; font-size: 13px; margin-bottom: 0; }
.insurance-toc { max-width: 1000px; margin: 0 auto 30px; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.insurance-toc a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #d4e2da; background: rgba(248, 247, 241, .58); color: #50696a; font-size: 10px; line-height: 1.25; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.insurance-toc a:hover { color: var(--ic-teal-dark); background: #fff; }
.insurance-toc a span { color: var(--ic-coral); font: 700 9px 'DM Sans', sans-serif; }
.insurance-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.insurance-topic, .insurance-checklist-card { border: 1px solid #d5e2da; background: #fbfaf5; scroll-margin-top: 135px; }
.insurance-topic { align-self: start; }
.insurance-topic summary, .insurance-checklist-card summary { min-height: 84px; padding: 18px 20px; display: grid; grid-template-columns: 31px 1fr 28px; align-items: center; gap: 13px; cursor: pointer; list-style: none; }
.insurance-topic summary::-webkit-details-marker, .insurance-checklist-card summary::-webkit-details-marker { display: none; }
.insurance-topic-number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #e5eee7; color: var(--ic-teal-dark); font: 700 9px 'DM Sans', sans-serif; }
.insurance-topic-title { color: var(--ic-ink); font: 700 13px/1.4 'Manrope', sans-serif; }
.insurance-topic-toggle { position: relative; width: 26px; height: 26px; border: 1px solid #bed0c6; border-radius: 50%; }
.insurance-topic-toggle::before, .insurance-topic-toggle::after { content: ""; position: absolute; left: 7px; top: 12px; width: 10px; height: 1px; background: var(--ic-teal); }
.insurance-topic-toggle::after { transform: rotate(90deg); transition: transform .18s ease; }
.insurance-topic[open] .insurance-topic-toggle::after, .insurance-checklist-card[open] .insurance-topic-toggle::after { transform: rotate(0); }
.insurance-topic-content { padding: 0 23px 21px 64px; animation: ic-faq-in .18s ease both; }
.insurance-topic-content p { color: var(--ic-text); font-size: 12px; line-height: 1.75; margin: 0; }
.insurance-checklist-card { max-width: 100%; margin-top: 14px; background: #e1ece5; }
.insurance-checklist-card .insurance-topic-number { background: var(--ic-teal-dark); color: white; font-size: 14px; }
.insurance-questions { background: var(--ic-paper); }
.insurance-questions-head { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 32px; }
.insurance-questions-head > p { max-width: 370px; margin-bottom: 5px; }
.insurance-faq-list { border-top: 1px solid var(--ic-line); }
.insurance-faq { border-bottom: 1px solid var(--ic-line); }
.insurance-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; list-style: none; padding: 20px 3px; font: 700 14px 'Manrope', sans-serif; color: var(--ic-ink); }
.insurance-faq summary::-webkit-details-marker { display: none; }
.insurance-faq-toggle { width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #b9cdc5; border-radius: 50%; position: relative; }
.insurance-faq-toggle::before, .insurance-faq-toggle::after { content: ""; position: absolute; left: 7px; top: 11px; width: 9px; height: 1px; background: var(--ic-teal); }
.insurance-faq-toggle::after { transform: rotate(90deg); transition: transform .18s ease; }
.insurance-faq[open] .insurance-faq-toggle::after { transform: rotate(0); }
.insurance-faq-answer { padding: 0 48px 18px 3px; animation: ic-faq-in .2s ease both; }
.insurance-faq-answer p { max-width: 760px; color: var(--ic-text); font-size: 13px; line-height: 1.7; margin: 0; }
.insurance-clinic { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(35px, 7vw, 92px); align-items: center; background: #e6f0e9; }
.insurance-clinic-photo { position: relative; min-height: 420px; }
.insurance-clinic-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.insurance-clinic-photo > span { position: absolute; left: 0; bottom: 0; padding: 12px 17px; background: var(--ic-coral); color: #fff; font-size: 11px; font-weight: 700; }
.insurance-clinic-copy { max-width: 480px; }
.insurance-clinic h2 { font-size: 45px; }
.insurance-clinic-copy > p:not(.insurance-kicker) { color: var(--ic-text); line-height: 1.7; font-size: 13px; }
.insurance-clinic-meta { margin: 25px 0 20px; padding: 15px 0; border-top: 1px solid #c7d8ce; border-bottom: 1px solid #c7d8ce; }
.insurance-clinic-meta span, .insurance-clinic-meta strong, .insurance-clinic-meta small { display: block; }
.insurance-clinic-meta span { color: #6c8580; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.insurance-clinic-meta strong { margin: 6px 0; font: 700 14px 'Manrope', sans-serif; }
.insurance-clinic-meta small { color: var(--ic-text); font-size: 11px; }
.insurance-clinic-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
.insurance-button-teal { background: var(--ic-teal-dark); color: white !important; }
.insurance-text-link { display: inline-block; color: var(--ic-teal-dark) !important; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.insurance-text-link span { color: var(--ic-coral); padding-left: 5px; }
.insurance-clinic-reminder { padding-top: 16px; margin-top: 22px; border-top: 1px solid #c7d8ce; color: #607773 !important; font-size: 11px !important; }
.insurance-map-section { display: grid; grid-template-columns: .8fr 1.2fr; background: #f8f7f1; }
.insurance-map-copy { padding: 56px max(30px, calc((100vw - 1160px) / 2)); padding-right: 38px; align-self: center; }
.insurance-map-copy h2 { font-size: 23px; margin: 0 0 8px; letter-spacing: -.04em; }
.insurance-map-copy > p:not(.insurance-kicker) { color: var(--ic-text); font-size: 13px; }
.insurance-map-copy .insurance-kicker { margin-bottom: 14px; }
.insurance-map-frame { min-height: 310px; }
.insurance-map-frame iframe { display: block; width: 100%; height: 100%; min-height: 310px; border: 0; }
.insurance-related { background: var(--ic-teal-dark); color: #eff8f2; padding: 54px 30px 25px; }
.insurance-related-inner { max-width: 1160px; margin: auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: 50px; align-items: start; }
.insurance-related .insurance-kicker { color: #a8d8cd; }
.insurance-related h2 { color: #f5f5ed; font: 700 24px 'Manrope', sans-serif; }
.insurance-related nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
.insurance-related nav a { padding: 12px 0; border-bottom: 1px solid rgba(232, 246, 238, .18); color: #e6f2ec; font-size: 12px; text-decoration: none; display: flex; justify-content: space-between; gap: 12px; }
.insurance-related nav a span { color: #ed9a77; }
.insurance-disclaimer { max-width: 1160px; margin: 38px auto 0; padding-top: 18px; border-top: 1px solid rgba(232, 246, 238, .18); color: #c4d9d0; font-size: 10px; line-height: 1.6; }
@keyframes ic-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ic-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 850px) {
    .insurance-hero-inner { grid-template-columns: 1fr 1fr; gap: 28px; min-height: 610px; padding-top: 150px; }
    .insurance-hero-visual { min-height: 360px; }
    .insurance-hero h1 { font-size: clamp(42px, 6vw, 59px); }
    .insurance-care-copy { padding: 40px 30px; }
    .insurance-map-section { grid-template-columns: .9fr 1.1fr; }
}
@media (max-width: 640px) {
    .insurance-hero-inner { grid-template-columns: 1fr; gap: 20px; padding: 138px 22px 58px; }
    .insurance-hero-copy { max-width: none; }
    .insurance-hero h1 { max-width: 500px; font-size: clamp(43px, 13vw, 62px); }
    .insurance-hero-lede { font-size: 15px; }
    .insurance-hero-visual { min-height: 300px; margin: 4px 8px 16px 0; }
    .insurance-hero-stamp { width: 94px; height: 94px; right: -10px; top: -15px; }
    .insurance-hero-stamp strong { font-size: 18px; }
    .insurance-truth-inner { grid-template-columns: 34px 1fr; gap: 11px; padding: 20px 22px; }
    .insurance-truth a { grid-column: 2; }
    .section-pad { padding: 65px 22px; }
    .insurance-intro, .insurance-guide, .insurance-questions, .insurance-clinic { scroll-margin-top: 100px; }
    .insurance-section-head h2, .insurance-questions h2, .insurance-clinic h2 { font-size: 39px; }
    .insurance-flow { grid-template-columns: 1fr; }
    .insurance-flow-step, .insurance-flow-step + .insurance-flow-step { min-height: auto; padding: 23px 28px 23px 0; border-left: 0; border-bottom: 1px solid var(--ic-line); }
    .insurance-flow-step:last-child { border-bottom: 0; }
    .insurance-step-num { top: 25px; right: 4px; }
    .insurance-flow-step p { max-width: none; }
    .insurance-care-note { grid-template-columns: 1fr; }
    .insurance-care-image { min-height: 255px; }
    .insurance-care-copy { padding: 38px 22px 44px; }
    .insurance-guide-heading { margin-bottom: 24px; text-align: left; }
    .insurance-guide-heading .insurance-kicker { justify-content: flex-start; }
    .insurance-toc { justify-content: flex-start; margin-bottom: 22px; }
    .insurance-toc a { font-size: 9px; }
    .insurance-topic-grid { grid-template-columns: 1fr; gap: 9px; }
    .insurance-topic, .insurance-checklist-card { scroll-margin-top: 105px; }
    .insurance-topic summary, .insurance-checklist-card summary { min-height: 76px; padding: 15px 14px; grid-template-columns: 29px 1fr 25px; gap: 10px; }
    .insurance-topic-title { font-size: 12px; }
    .insurance-topic-content { padding: 0 16px 18px 53px; }
    .insurance-topic-content p { font-size: 11px; }
    .insurance-questions-head { display: block; }
    .insurance-questions-head > p { font-size: 13px; }
    .insurance-faq summary { font-size: 13px; }
    .insurance-faq-answer { padding-right: 34px; }
    .insurance-clinic { grid-template-columns: 1fr; gap: 32px; }
    .insurance-clinic-photo { min-height: 300px; }
    .insurance-clinic h2 { font-size: 40px; }
    .insurance-clinic-actions { align-items: flex-start; flex-direction: column; }
    .insurance-map-section { grid-template-columns: 1fr; }
    .insurance-map-copy { padding: 38px 22px; }
    .insurance-map-frame, .insurance-map-frame iframe { min-height: 270px; }
    .insurance-related { padding: 43px 22px 22px; }
    .insurance-related-inner { grid-template-columns: 1fr; gap: 12px; }
    .insurance-related nav { grid-template-columns: 1fr; }
    .insurance-disclaimer { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .insurance-page *, .insurance-page *::before, .insurance-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
