.term-with-help{display:inline;white-space:normal}.inline-term-info{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:26px;height:26px;margin-left:5px;padding:0;border:1.5px solid currentColor;border-radius:50%;font-size:15px;font-weight:800;line-height:1;color:inherit;background:transparent;cursor:pointer}.inline-term-info:hover{background:#7babc033}.inline-term-info:focus-visible{outline:3px solid #60dfb5;outline-offset:3px}.discovery-review .inline-term-info{color:#63e7b7}.coverage-term-help{display:flex;gap:16px;flex-wrap:wrap;margin:8px 8px 14px;color:var(--a);font-size:14px;font-weight:700}.international-phone{display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:white}.international-phone:focus-within{outline:2px solid var(--a);outline-offset:2px}.form-field .international-phone select{width:42%;min-width:0;margin:0;border:0;border-right:1px solid var(--line);border-radius:0;background:#eef3f8;font-size:14px;min-height:48px}.form-field .international-phone input[type=tel]{width:58%;min-width:0;margin:0;border:0;border-radius:0;min-height:48px;font-size:16px}.international-phone select:focus,.international-phone input:focus{outline:none}.phone-format-hint{font-size:14px;line-height:1.5;color:var(--muted)}

/* Single-label answers align their text and radio in one compact row. */
.choices .radio-choice.compact-option{min-height:52px;padding:12px 18px;gap:16px;flex-direction:row;align-items:center;justify-content:space-between}
.radio-choice.compact-option .choice-copy{order:0;flex:1;min-width:0}
.radio-choice.compact-option .choice-copy b{margin:0;font-size:16px;line-height:1.4}
.radio-choice.compact-option .choice-radio{position:static;order:1;flex:0 0 22px;width:22px;height:22px;margin:0}
@media(max-width:600px){.choices .radio-choice.compact-option{padding:11px 14px;gap:12px}.radio-choice.compact-option .choice-copy b{font-size:14px}}

.footer-identity{display:flex;align-items:center;column-gap:clamp(32px,5vw,80px);row-gap:12px;flex-wrap:wrap;flex-shrink:0}.footer .footer-identity a,.footer .footer-identity a:visited{color:#fff;text-underline-offset:4px}.footer .footer-identity a:hover{color:#fff;text-decoration-thickness:2px}.footer-identity a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}

html[lang="es"] .contact-en,html[lang="en"] .contact-es{display:none}

/* Keep the shared header attached to the viewport on every public route. */
body{overflow-x:clip;overflow-y:visible}
.app{overflow:visible}
.top{position:sticky;top:0;z-index:80}
html{scroll-padding-top:calc(var(--clari-header-height,100px) + 16px)}
.coverage-intent-note{font-size:14px;line-height:1.6;color:var(--ink);background:#eef3f8;border-left:3px solid var(--a);padding:14px 16px;margin:18px 0 0;border-radius:0 10px 10px 0}

.coverage-choice .choice .term-with-help{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:inherit;line-height:inherit}.coverage-choice .inline-term-info{flex:none;margin-left:0;color:var(--a)}.coverage-choice .sel .inline-term-info{color:var(--mint)}
/* Small visual icon; larger transparent button keeps it easy to tap. */
.inline-term-info{position:relative;width:28px;height:28px;min-width:28px;border:0;font-size:11px;font-weight:600;isolation:isolate}.inline-term-info::before{content:"";position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%;pointer-events:none}.coverage-info-button span{width:18px;height:18px;border-width:1px;font-size:11px;font-weight:600}

/* Nationality details belong to the situation step. */
.situation-nationalities{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:24px;padding:20px;background:var(--soft);border:1px solid var(--surface-border);border-radius:16px}.situation-nationalities.is-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.situation-nationalities label{display:block;margin-bottom:8px;font-weight:700;color:var(--ink)}.situation-nationalities select{width:100%;min-height:48px;background:#fff;border:1px solid var(--surface-border);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit}.situation-nationalities select:focus-visible{outline:2px solid var(--a);outline-offset:3px}@media(max-width:640px){.situation-nationalities.is-dual{grid-template-columns:1fr}.situation-nationalities{padding:16px;gap:14px}}

/* Align the single passport block with the situation card above. */
@media(min-width:821px){.situation-nationalities:not(.is-dual){width:calc((100% - 10px)/2);box-sizing:border-box}}

/* One entry point; preserve the existing photo and sticky hero layout. */
.hero-single .actions{justify-content:center;margin-top:22px}
.hero-single .lead{margin:0 auto 20px;max-width:660px}
.hero-single .online-note{display:block;color:#fff;font-size:17px;font-weight:750;line-height:1.5;margin:22px auto 0;text-shadow:0 2px 10px rgba(0,0,0,.65)}
.primary.home-start{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-width:290px;min-height:60px;padding:18px 28px;font-size:18px;background:var(--mint);color:var(--ink);border:1px solid transparent;box-shadow:0 5px 18px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-start span{transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.primary.home-start:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(99,231,183,.25),0 0 42px rgba(99,231,183,.3);border-color:rgba(255,255,255,.5)}.home-start:hover span{transform:translateX(4px)}}
.primary.home-start:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 32px rgba(99,231,183,.4)}
.primary.home-start:active{transform:translateY(0);box-shadow:0 3px 12px rgba(99,231,183,.2)}
.hero-single .cta-invitation{color:#e3edf3;font-size:15px;line-height:1.5;margin:14px 0 0;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.residence-paths{margin-bottom:0}.residence-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.home-final-actions{display:flex;justify-content:center}.route-repeat{grid-template-columns:1fr auto}
@media(max-width:820px){.hero-single .actions{justify-content:flex-start}.hero-single .online-note{margin-left:0}.hero-single .lead{margin-left:0}}
@media(max-width:640px){.primary.home-start{width:100%;min-width:0}.hero-single .actions{display:block}.hero-single .online-note{font-size:16px}.residence-details{margin-top:20px;padding-top:20px}}
@media(prefers-reduced-motion:reduce){.primary.home-start,.home-start span{transition:none}.primary.home-start:hover,.home-start:hover span{transform:none}}

/* Keep the home header CTA hidden at mobile breakpoints too. */
.top #saveTop[hidden]{display:none!important}

@media(max-width:640px){.route-repeat{grid-template-columns:minmax(0,1fr)}.route-repeat strong{grid-column:auto}}

/* A welcoming first step, using the home navy and teal palette. */
.journey-card:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card){background:linear-gradient(125deg,var(--deep),#163f54);border:1px solid #244b60;border-radius:24px;padding:28px;box-shadow:0 14px 36px rgba(10,41,67,.1);color:#fff}
.residence-welcome{display:flex;align-items:center;gap:14px;margin-bottom:24px}.residence-welcome>.choice-icon{width:36px;height:36px;flex:none;color:var(--mint);margin:0}.residence-welcome h2{color:#fff;font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:0 0 6px}.residence-welcome p{color:#ccdde7;font-size:15px;line-height:1.5;margin:0}
:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-paths{gap:12px}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice{background:#fff;border:2px solid transparent;border-radius:16px;color:var(--ink);min-height:82px;box-shadow:none;transition:background .18s,border-color .18s,box-shadow .18s}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .choice-copy b{color:var(--ink);font-size:17px;line-height:1.4}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice:hover{background:#f0f5f8;border-color:#94b7c8;box-shadow:none}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel,:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel:hover{background:#fff;border-color:var(--mint);box-shadow:0 0 0 2px rgba(99,231,183,.2)}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel .choice-copy,:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel .choice-copy b{color:var(--ink)}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .choice-radio,:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel .choice-radio{accent-color:#078476}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice:focus-within{outline:3px solid var(--mint);outline-offset:4px}
:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-details{background:#fff;color:var(--ink);border:0;border-radius:16px;padding:20px;margin-top:20px;gap:18px}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-details label{color:var(--ink)}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-details .passport-note{color:#526a79}.work:has(:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card)) .workhead{margin-bottom:28px}.work:has(:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card)) .pill.purple{background:#e7eef4;color:var(--ink)}
@media(max-width:640px){.journey-card:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card){padding:20px;border-radius:20px}.residence-welcome{gap:12px;margin-bottom:20px}.residence-welcome h2{font-size:20px}.residence-welcome p{font-size:14px}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-paths{grid-template-columns:1fr}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice{min-height:72px}:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .residence-details{padding:16px}}
@media(prefers-reduced-motion:reduce){:is(.residence-card,.people-card,.situation-card,.current-insurance-card,.timing-card) .radio-choice{transition:none}}

/* Keep people and age entry consistent with the residence panel. */
.people-card .people-choices{gap:14px}
.people-card .radio-choice .choice-icon,.people-card .radio-choice.sel .choice-icon{color:#078476}
.people-card .age-group{background:#fff;color:var(--ink);border-radius:16px;padding:20px;margin-top:20px}
.people-card .age-group-label{color:var(--ink)}
@media(max-width:640px){.people-card .people-choices{grid-template-columns:1fr}.people-card .age-group{padding:16px}}

/* Consistent blue question panels, with readable white controls. */
.situation-card .situation-nationalities{background:#214b64;border-color:#426a82;color:#fff}
.situation-card .situation-nationalities label{color:#fff}
.situation-card .budget-note,.timing-card .timing-intro,.timing-card .timing-note{color:#d9e7f0}
.timing-card h2{color:#fff}
:is(.situation-card,.current-insurance-card,.timing-card) .radio-choice .choice-detail,
:is(.situation-card,.current-insurance-card,.timing-card) .radio-choice.sel .choice-detail{color:#526a79}
.situation-card .radio-choice .choice-icon,.situation-card .radio-choice.sel .choice-icon{color:#078476}
.current-insurance-card .current-insurance-details{padding:20px;border-radius:16px;background:#e8f2f9;color:var(--ink)}
.current-insurance-card .passport-note{background:#214b64;color:#e2edf4}
.residence-card .passport-note{background:#e8f2f9}
.situation-nationalities select{border-color:#a8c5d9}
