.ff-calc-shell {
    --ff-calc-navy: #092037;
    --ff-calc-ink: #13293d;
    --ff-calc-muted: #5f6f7d;
    --ff-calc-line: #dce4ea;
    --ff-calc-soft: #f4f7f9;
    --ff-calc-positive: #087a55;
    color: var(--ff-calc-ink);
    font-family: inherit;
    line-height: 1.45;
    margin: 24px auto;
    max-width: 1260px;
    width: 100%;
}

.ff-calc-shell *, .ff-calc-shell *::before, .ff-calc-shell *::after { box-sizing: border-box; }
.ff-calc-shell button, .ff-calc-shell input, .ff-calc-shell select, .ff-calc-shell textarea { font: inherit; }
.ff-calc-shell button { cursor: pointer; }
.ff-calc-shell h2, .ff-calc-shell h3, .ff-calc-shell p { margin-top: 0; }
.ff-calc-noscript, .ff-calc-error { padding: 18px; border: 1px solid #e6c9c9; border-radius: 10px; background: #fff5f5; color: #8a2424; }

.ff-calc-entry, .ff-calc-results, .ff-calc-contact-stage {
    background: transparent;
}

.ff-calc-progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 18px;
}

.ff-calc-progress span { height: 5px; border-radius: 999px; background: #dce4ea; }
.ff-calc-progress span.is-active { background: var(--ff-calc-accent); }

.ff-calc-header {
    background: linear-gradient(135deg, var(--ff-calc-navy), #143d59);
    border-radius: 18px 18px 0 0;
    color: #fff;
    padding: 34px clamp(22px, 5vw, 56px) 38px;
}

.ff-pkv-brand-style-hellas .ff-calc-header {
    background:
        radial-gradient(circle at 90% 5%, rgba(250, 197, 25, .27), transparent 30%),
        linear-gradient(135deg, #22253d 0%, #014488 100%);
}

.ff-pkv-brand-style-hellas .ff-calc-header .ff-calc-eyebrow {
    color: #f9df7b;
}

.ff-pkv-brand-style-hellas .ff-calc-link,
.ff-pkv-brand-style-hellas .ff-calc-package-check,
.ff-pkv-brand-style-hellas .ff-calc-provider-benefits summary,
.ff-pkv-brand-style-hellas .ff-calc-monogram,
.ff-pkv-brand-style-hellas .ff-calc-segment label.is-selected {
    color: #014488;
}

.ff-calc-eyebrow {
    color: var(--ff-calc-accent);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ff-calc-header .ff-calc-eyebrow { color: #8ee4c4; }
.ff-calc-header h2 { color: #fff; font-size: clamp(27px, 4vw, 42px); line-height: 1.12; margin-bottom: 12px; max-width: 820px; }
.ff-calc-header p { color: #dfeaf2; font-size: 17px; margin-bottom: 0; max-width: 840px; }

.ff-calc-input-form { background: #fff; border: 1px solid var(--ff-calc-line); border-top: 0; border-radius: 0 0 18px 18px; box-shadow: 0 16px 45px rgba(9, 32, 55, .11); }
.ff-calc-panel { padding: clamp(22px, 4vw, 42px) clamp(20px, 5vw, 56px); }
.ff-calc-panel + .ff-calc-panel { border-top: 1px solid var(--ff-calc-line); }
.ff-calc-section-head { align-items: flex-start; display: flex; gap: 13px; margin-bottom: 24px; }
.ff-calc-section-head > span { align-items: center; background: var(--ff-calc-navy); border-radius: 50%; color: #fff; display: flex; flex: 0 0 32px; font-weight: 800; height: 32px; justify-content: center; }
.ff-calc-section-head h3 { color: var(--ff-calc-navy); font-size: 23px; margin-bottom: 3px; }
.ff-calc-section-head p { color: var(--ff-calc-muted); margin-bottom: 0; }

.ff-calc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.ff-calc-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ff-calc-field > span { color: var(--ff-calc-ink); font-size: 14px; font-weight: 750; }
.ff-calc-field-wide { grid-column: 1 / -1; }
.ff-calc-field input, .ff-calc-field select, .ff-calc-filter select {
    appearance: none;
    background-color: #fff;
    border: 1px solid #aebbc5;
    border-radius: 9px;
    color: var(--ff-calc-ink);
    min-height: 50px;
    padding: 11px 13px;
    width: 100%;
}
.ff-calc-field select, .ff-calc-filter select { background-image: linear-gradient(45deg, transparent 50%, #647581 50%), linear-gradient(135deg, #647581 50%, transparent 50%); background-position: calc(100% - 17px) 21px, calc(100% - 12px) 21px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 34px; }
.ff-calc-field input:focus, .ff-calc-field select:focus, .ff-calc-filter select:focus { border-color: var(--ff-calc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ff-calc-accent) 18%, transparent); outline: 0; }
.ff-calc-field small { color: var(--ff-calc-muted); }
.ff-calc-entry-note { align-items: center; color: var(--ff-calc-muted); display: flex; font-size: 12px; gap: 7px; margin: 15px 0 0; }
.ff-calc-entry-note span { align-items: center; background: color-mix(in srgb, var(--ff-calc-positive) 12%, #fff); border-radius: 50%; color: var(--ff-calc-positive); display: inline-flex; flex: 0 0 20px; font-size: 10px; font-weight: 900; height: 20px; justify-content: center; }

.ff-calc-segment { border: 1px solid #aebbc5; border-radius: 9px; display: grid; grid-template-columns: repeat(2, 1fr); min-height: 50px; overflow: hidden; }
.ff-calc-segment label { align-items: center; cursor: pointer; display: flex; justify-content: center; position: relative; }
.ff-calc-segment label + label { border-left: 1px solid var(--ff-calc-line); }
.ff-calc-segment label.is-selected { background: color-mix(in srgb, var(--ff-calc-accent) 10%, #fff); color: var(--ff-calc-accent); font-weight: 800; }
.ff-calc-segment input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.ff-calc-segment label:focus-within { box-shadow: inset 0 0 0 2px var(--ff-calc-accent); }

.ff-calc-status-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ff-calc-status-card { align-items: center; background: #fff; border: 1px solid #b8c4cd; border-radius: 11px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr) 22px; min-height: 74px; padding: 12px; position: relative; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ff-calc-status-card:hover { border-color: var(--ff-calc-accent); transform: translateY(-1px); }
.ff-calc-status-card.is-selected { background: color-mix(in srgb, var(--ff-calc-accent) 7%, #fff); border: 2px solid var(--ff-calc-accent); box-shadow: 0 7px 18px color-mix(in srgb, var(--ff-calc-accent) 12%, transparent); padding: 11px; }
.ff-calc-status-card input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.ff-calc-status-card:focus-within { outline: 3px solid color-mix(in srgb, var(--ff-calc-accent) 22%, transparent); outline-offset: 2px; }
.ff-calc-status-card > i { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 10%, #fff); border-radius: 9px; color: var(--ff-calc-accent); display: flex; font-size: 18px; font-style: normal; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.ff-calc-status-card > span { display: grid; gap: 2px; min-width: 0; }
.ff-calc-status-card strong { color: var(--ff-calc-navy); font-size: 13px; line-height: 1.2; }
.ff-calc-status-card small { color: var(--ff-calc-muted); font-size: 10px; line-height: 1.25; }
.ff-calc-status-card > b { align-items: center; background: var(--ff-calc-accent); border-radius: 50%; color: #fff; display: flex; font-size: 11px; height: 20px; justify-content: center; width: 20px; }
.ff-calc-status-card:not(.is-selected) > b { background: transparent; border: 1px solid #bcc8d0; }

.ff-calc-packages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.ff-calc-package { background: #fff; border: 1px solid var(--ff-calc-line); border-radius: 13px; color: var(--ff-calc-ink); cursor: pointer; display: block; min-height: 260px; padding: 22px 18px 18px; position: relative; text-align: left; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ff-calc-package:hover { border-color: var(--ff-calc-accent); transform: translateY(-2px); }
.ff-calc-package.is-selected { background: color-mix(in srgb, var(--ff-calc-accent) 6%, #fff); border: 2px solid var(--ff-calc-accent); box-shadow: 0 10px 25px color-mix(in srgb, var(--ff-calc-accent) 13%, transparent); padding: 21px 17px 17px; }
.ff-calc-package > strong { color: var(--ff-calc-navy); display: block; font-size: 22px; margin-bottom: 2px; }
.ff-calc-package > small { color: var(--ff-calc-muted); }
.ff-calc-package ul { list-style: none; margin: 17px 0; padding: 0; }
.ff-calc-package li { margin: 7px 0; padding-left: 20px; position: relative; }
.ff-calc-package li::before { color: var(--ff-calc-positive); content: '✓'; font-weight: 900; left: 0; position: absolute; }
.ff-calc-recommended { background: #dff3ca; border-radius: 999px; color: #315d17; font-size: 11px; font-weight: 800; padding: 4px 9px; position: absolute; right: 12px; top: 12px; }
.ff-calc-package-check { bottom: 17px; color: var(--ff-calc-accent); font-size: 13px; font-weight: 800; left: 18px; position: absolute; }
.ff-calc-package-hint { align-items: center; color: var(--ff-calc-muted); display: flex; font-size: 12px; gap: 7px; margin: 13px 0 0; }
.ff-calc-package-hint > span { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: inline-flex; flex: 0 0 18px; font-size: 10px; font-weight: 900; height: 18px; justify-content: center; }

.ff-calc-primary { align-items: center; background: var(--ff-calc-cta); border: 0; border-radius: 999px; box-shadow: 0 8px 20px color-mix(in srgb, var(--ff-calc-cta) 22%, transparent); color: #fff; display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 50px; padding: 12px 24px; text-align: center; transition: filter .2s ease, transform .2s ease; }
.ff-calc-primary:hover { filter: brightness(.92); transform: translateY(-1px); }
.ff-calc-primary:focus-visible, .ff-calc-link:focus-visible, .ff-calc-package:focus-visible, .ff-calc-salutation button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ff-calc-cta) 35%, #fff); outline-offset: 3px; }
.ff-calc-primary:disabled { cursor: wait; opacity: .75; transform: none; }
.ff-calc-panel > .ff-calc-primary { display: flex; margin: 24px auto 0; max-width: 430px; width: 100%; }
.ff-calc-trust, .ff-calc-submit-note { color: var(--ff-calc-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 10px 20px; justify-content: center; margin-top: 14px; }
.ff-calc-trust span::first-letter, .ff-calc-submit-note span::first-letter { color: var(--ff-calc-positive); }
.ff-calc-promise { border-top: 1px solid var(--ff-calc-line); display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 25px; padding-top: 19px; }
.ff-calc-promise > span { align-items: center; display: grid; gap: 1px 9px; grid-template-columns: 28px minmax(0, 1fr); min-width: 0; padding: 4px 14px; }
.ff-calc-promise > span + span { border-left: 1px solid var(--ff-calc-line); }
.ff-calc-promise i { align-items: center; background: color-mix(in srgb, var(--ff-calc-positive) 12%, #fff); border-radius: 50%; color: var(--ff-calc-positive); display: flex; font-size: 12px; font-style: normal; font-weight: 900; grid-row: 1 / 3; height: 28px; justify-content: center; width: 28px; }
.ff-calc-promise b { color: var(--ff-calc-navy); font-size: 13px; }
.ff-calc-promise small { color: var(--ff-calc-muted); font-size: 10px; line-height: 1.25; }
.ff-calc-message { border-radius: 8px; font-size: 14px; margin-top: 12px; outline: 0; }
.ff-calc-message.is-error { background: #fff2f2; border: 1px solid #efc7c7; color: #8a2424; padding: 10px 12px; }

.ff-calc-loading, .ff-calc-success { align-items: center; background: #fff; border: 1px solid var(--ff-calc-line); border-radius: 18px; box-shadow: 0 16px 45px rgba(9, 32, 55, .11); display: flex; flex-direction: column; min-height: 520px; justify-content: center; padding: 38px 24px; text-align: center; }
.ff-calc-loading h2, .ff-calc-success h2 { color: var(--ff-calc-navy); font-size: clamp(26px, 4vw, 38px); margin-bottom: 10px; }
.ff-calc-loading p, .ff-calc-success p { color: var(--ff-calc-muted); max-width: 620px; }
.ff-calc-loading ul { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: center; list-style: none; margin: 20px 0 0; padding: 0; }
.ff-calc-loading li::before { color: var(--ff-calc-positive); content: '✓'; font-weight: 900; margin-right: 6px; }
.ff-calc-loading-bar { background: #e7ecef; border-radius: 999px; height: 7px; margin-top: 17px; max-width: 480px; overflow: hidden; width: 100%; }
.ff-calc-loading-bar span { animation: ff-calc-progress 1.8s ease-out forwards; background: var(--ff-calc-accent); display: block; height: 100%; width: 0; }
.ff-calc-radar { background: radial-gradient(circle, color-mix(in srgb, var(--ff-calc-accent) 12%, #fff) 0 7%, transparent 8% 31%, color-mix(in srgb, var(--ff-calc-accent) 30%, transparent) 32% 33%, transparent 34% 60%, color-mix(in srgb, var(--ff-calc-accent) 25%, transparent) 61% 62%, transparent 63%); border: 1px solid color-mix(in srgb, var(--ff-calc-accent) 45%, #fff); border-radius: 50%; height: 150px; margin-bottom: 22px; overflow: hidden; position: relative; width: 150px; }
.ff-calc-radar span { animation: ff-calc-radar 1.5s linear infinite; background: conic-gradient(from 0deg, color-mix(in srgb, var(--ff-calc-accent) 55%, transparent), transparent 25%); inset: 0; position: absolute; transform-origin: center; }
.ff-calc-radar i, .ff-calc-radar b, .ff-calc-radar em { animation: ff-calc-dot 1.4s ease-in-out infinite; background: var(--ff-calc-cta); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 2px 8px rgba(9, 32, 55, .2); height: 13px; position: absolute; width: 13px; }
.ff-calc-radar i { left: 34px; top: 45px; }.ff-calc-radar b { animation-delay: .35s; right: 30px; top: 72px; }.ff-calc-radar em { animation-delay: .7s; bottom: 27px; left: 72px; }

.ff-calc-results-head { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin: 0 0 20px; }
.ff-calc-results-head h2 { color: var(--ff-calc-navy); font-size: clamp(25px, 3.4vw, 38px); line-height: 1.15; margin-bottom: 6px; }
.ff-calc-results-head p { color: var(--ff-calc-muted); margin: 0; }
.ff-calc-link { background: transparent; border: 0; color: var(--ff-calc-accent); font-weight: 800; padding: 7px 0; text-decoration: underline; text-underline-offset: 3px; }
.ff-calc-profile-strip { align-items: center; background: #fff; border: 1px solid var(--ff-calc-line); border-left: 4px solid var(--ff-calc-accent); border-radius: 11px; display: grid; gap: 11px; grid-template-columns: 28px minmax(0, 1fr) auto; margin: 0 0 17px; padding: 11px 14px; }
.ff-calc-profile-strip > span { align-items: center; background: color-mix(in srgb, var(--ff-calc-positive) 12%, #fff); border-radius: 50%; color: var(--ff-calc-positive); display: flex; font-size: 11px; font-weight: 900; height: 28px; justify-content: center; width: 28px; }
.ff-calc-profile-strip > div { display: grid; gap: 1px; }
.ff-calc-profile-strip small { color: var(--ff-calc-muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ff-calc-profile-strip strong { color: var(--ff-calc-navy); font-size: 13px; }
.ff-calc-profile-strip .ff-calc-link { font-size: 12px; }
.ff-calc-results-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: 280px minmax(0, 1fr); }
.ff-calc-sidebar { max-height: calc(100vh - 32px); overflow-y: auto; padding: 0 4px 4px 0; position: sticky; scrollbar-color: #bac8d1 transparent; scrollbar-width: thin; top: 16px; }
.ff-calc-sidebar > details, .ff-calc-sidebar-help { background: #fff; border: 1px solid var(--ff-calc-line); border-radius: 12px; box-shadow: 0 5px 16px rgba(9, 32, 55, .06); overflow: hidden; }
.ff-calc-sidebar summary { align-items: center; color: var(--ff-calc-navy); cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; padding: 16px; }
.ff-calc-sidebar summary small { background: color-mix(in srgb, var(--ff-calc-accent) 10%, #fff); border-radius: 999px; color: var(--ff-calc-accent); font-size: 10px; padding: 4px 7px; }
.ff-calc-filter-list { border-top: 1px solid var(--ff-calc-line); display: grid; gap: 0; padding: 0 15px 15px; }
.ff-calc-filter-head { align-items: flex-start; display: flex; gap: 8px; justify-content: space-between; padding: 15px 0 10px; }
.ff-calc-filter-head > div { display: grid; gap: 1px; }
.ff-calc-filter-head strong { color: var(--ff-calc-navy); font-size: 12px; }
.ff-calc-filter-head small { color: var(--ff-calc-muted); font-size: 9px; line-height: 1.25; }
.ff-calc-filter-head button { background: transparent; border: 0; color: var(--ff-calc-accent); font-size: 10px; font-weight: 800; padding: 2px 0; text-decoration: underline; text-underline-offset: 2px; }
.ff-calc-filter-group { border: 0; border-top: 1px solid #edf1f4; margin: 0; min-width: 0; padding: 12px 0 2px; }
.ff-calc-filter-group legend { color: var(--ff-calc-navy); font-size: 11px; font-weight: 800; padding: 0; }
.ff-calc-filter-options { display: grid; gap: 5px; margin-top: 7px; }
.ff-calc-filter-options label { align-items: center; border: 1px solid #d4dde3; border-radius: 7px; color: var(--ff-calc-muted); cursor: pointer; display: flex; font-size: 10px; line-height: 1.25; min-height: 34px; padding: 6px 8px; position: relative; }
.ff-calc-filter-options label:hover { border-color: var(--ff-calc-accent); }
.ff-calc-filter-options label.is-selected { background: color-mix(in srgb, var(--ff-calc-accent) 8%, #fff); border-color: var(--ff-calc-accent); color: var(--ff-calc-accent); font-weight: 800; }
.ff-calc-filter-options input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.ff-calc-filter-options label:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ff-calc-accent) 18%, transparent); outline: 0; }
.ff-calc-filter-group:first-of-type .ff-calc-filter-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ff-calc-filter-group:first-of-type .ff-calc-filter-options label { justify-content: center; padding-left: 4px; padding-right: 4px; text-align: center; }
.ff-calc-sidebar-help { margin-top: 12px; padding: 15px; }
.ff-calc-sidebar-help strong { color: var(--ff-calc-navy); }
.ff-calc-sidebar-help p { color: var(--ff-calc-muted); font-size: 13px; margin: 5px 0 0; }
.ff-calc-disclosure { background: #eef5fa; border: 1px solid #cfe0eb; border-radius: 10px; color: #345167; font-size: 13px; margin-bottom: 15px; padding: 12px 14px; }
.ff-calc-provider-search { display: block; margin: 0 0 12px; position: relative; }
.ff-calc-provider-search > span { display: block; font-size: 11px; font-weight: 800; margin-bottom: 5px; }
.ff-calc-provider-search input { appearance: none; background: #fff; border: 1px solid #aebbc5; border-radius: 9px; min-height: 43px; padding: 9px 38px 9px 12px; width: 100%; }
.ff-calc-provider-search input:focus { border-color: var(--ff-calc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ff-calc-accent) 18%, transparent); outline: 0; }
.ff-calc-provider-search i { color: var(--ff-calc-muted); font-size: 20px; font-style: normal; pointer-events: none; position: absolute; right: 13px; top: 28px; }
.ff-calc-result-tools { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin: 0 0 14px; }
.ff-calc-sort { align-items: center; border: 1px solid var(--ff-calc-line); border-radius: 9px; display: inline-flex; overflow: hidden; }
.ff-calc-sort > span { color: var(--ff-calc-muted); font-size: 11px; font-weight: 750; padding: 8px 10px; }
.ff-calc-sort button { background: #fff; border: 0; border-left: 1px solid var(--ff-calc-line); color: var(--ff-calc-muted); font-size: 12px; min-height: 36px; padding: 7px 11px; }
.ff-calc-sort button.is-active { background: color-mix(in srgb, var(--ff-calc-accent) 9%, #fff); color: var(--ff-calc-accent); font-weight: 850; }
.ff-calc-compare-count { background: #f4f7f9; border-radius: 999px; color: var(--ff-calc-muted); font-size: 12px; padding: 7px 11px; white-space: nowrap; }
.ff-calc-compare-count b { color: var(--ff-calc-accent); }
.ff-calc-result-count { align-items: center; display: flex; gap: 8px; }
.ff-calc-result-count > span:first-child { color: var(--ff-calc-muted); font-size: 11px; font-weight: 750; white-space: nowrap; }
.ff-calc-featured-grid { display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ff-calc-provider { background: #fff; border: 1px solid var(--ff-calc-line); border-radius: 14px; box-shadow: 0 7px 22px rgba(9, 32, 55, .07); min-width: 0; position: relative; }
.ff-calc-provider.is-featured { background: color-mix(in srgb, var(--ff-calc-accent) 3%, #fff); display: flex; flex-direction: column; overflow: hidden; padding: 22px 16px 16px; }
.ff-calc-provider-brand { align-items: center; display: flex; gap: 9px; min-height: 50px; padding-right: 0; }
.ff-calc-provider-brand img { height: 44px; max-width: 145px; object-fit: contain; object-position: left center; width: auto; }
.ff-calc-provider-brand strong { color: var(--ff-calc-navy); font-size: 17px; }
.ff-calc-monogram { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 12%, #fff); border: 1px solid color-mix(in srgb, var(--ff-calc-accent) 35%, #fff); border-radius: 9px; color: var(--ff-calc-accent); display: inline-flex; font-weight: 900; height: 38px; justify-content: center; width: 42px; }
.ff-calc-provider-badge { background: #e4f2d7; border-radius: 4px; color: #365b21; display: inline-block; font-size: 10px; font-weight: 800; margin: 12px 0 7px; padding: 4px 6px; }
.ff-calc-provider-main h3 { color: var(--ff-calc-navy); font-size: 17px; line-height: 1.25; margin-bottom: 5px; }
.ff-calc-provider-main p { color: var(--ff-calc-muted); font-size: 12px; margin-bottom: 14px; }
.ff-calc-provider-levels { min-width: 0; }
.ff-calc-provider-levels > span { color: var(--ff-calc-navy); display: block; font-size: 11px; font-weight: 850; margin-bottom: 7px; }
.ff-calc-provider-levels ul { display: grid; gap: 4px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.ff-calc-provider-levels li { background: #fff; border: 1px solid #d4dde3; border-radius: 6px; color: var(--ff-calc-muted); font-size: 9px; font-weight: 750; line-height: 1.2; min-width: 0; padding: 6px 3px; text-align: center; }
.ff-calc-provider-levels li.is-selected { background: var(--ff-calc-accent); border-color: var(--ff-calc-accent); box-shadow: 0 3px 9px color-mix(in srgb, var(--ff-calc-accent) 19%, transparent); color: #fff; font-weight: 900; }
.ff-calc-provider-levels li.is-selected::before { content: '\2713'; font-size: 8px; margin-right: 3px; }
.ff-calc-provider-levels small { color: var(--ff-calc-muted); display: block; font-size: 9px; line-height: 1.25; margin-top: 6px; }
.ff-calc-provider.is-featured > .ff-calc-provider-levels { padding-bottom: 13px; }
.ff-calc-provider-benefits { border-top: 1px solid var(--ff-calc-line); padding-top: 13px; }
.ff-calc-provider-benefits > strong { font-size: 12px; }
.ff-calc-provider-benefits ul { list-style: none; margin: 9px 0 12px; padding: 0; }
.ff-calc-provider-benefits li { align-items: flex-start; display: flex; font-size: 12px; gap: 7px; margin: 7px 0; }
.ff-calc-benefit-check { align-items: center; border: 1.5px solid currentColor; border-radius: 50%; display: inline-flex; flex: 0 0 17px; font-size: 10px; font-weight: 900; height: 17px; justify-content: center; line-height: 1; margin-top: -1px; }
.ff-calc-provider-benefits li.is-positive .ff-calc-benefit-check { color: var(--ff-calc-positive); }
.ff-calc-provider-benefits li.is-attention .ff-calc-benefit-check { color: var(--ff-calc-cta); }
.ff-calc-provider-benefits details { color: var(--ff-calc-muted); font-size: 11px; }
.ff-calc-provider-benefits summary { color: var(--ff-calc-accent); cursor: pointer; font-weight: 750; }
.ff-calc-provider-benefits details p { margin: 7px 0 0; }
.ff-calc-provider-action { margin-top: auto; padding-top: 15px; text-align: center; }
.ff-calc-no-price { color: var(--ff-calc-navy); display: block; font-size: 13px; font-weight: 800; margin-bottom: 8px; }
.ff-calc-compare-toggle { align-items: center; background: #fff; border: 1px solid var(--ff-calc-accent); border-radius: 8px; color: var(--ff-calc-accent); display: flex; font-size: 11px; font-weight: 850; gap: 7px; justify-content: center; margin: 0 0 7px; min-height: 39px; padding: 7px 9px; width: 100%; }
.ff-calc-compare-toggle i { align-items: center; border: 1px solid currentColor; border-radius: 4px; display: inline-flex; flex: 0 0 18px; font-size: 11px; font-style: normal; height: 18px; justify-content: center; }
.ff-calc-compare-toggle.is-selected { background: color-mix(in srgb, var(--ff-calc-accent) 10%, #fff); box-shadow: inset 0 0 0 1px var(--ff-calc-accent); }
.ff-calc-provider-action .ff-calc-primary { border-radius: 8px; font-size: 12px; min-height: 44px; padding: 9px 12px; width: 100%; }
.ff-calc-provider-action small { color: var(--ff-calc-muted); display: block; font-size: 10px; margin-top: 6px; }
.ff-calc-advisor { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 5%, #fff); border: 1px solid color-mix(in srgb, var(--ff-calc-accent) 22%, var(--ff-calc-line)); border-radius: 14px; box-shadow: 0 7px 22px rgba(9, 32, 55, .06); display: grid; gap: 18px; grid-template-columns: 170px minmax(250px, 1fr) 220px; margin: 17px 0 19px; padding: 18px; }
.ff-calc-advisor-person { align-items: center; display: flex; flex-direction: column; gap: 9px; min-width: 0; text-align: center; }
.ff-calc-advisor-person > div:last-child { display: grid; gap: 1px; }
.ff-calc-advisor-person strong { color: var(--ff-calc-navy); font-size: 13px; line-height: 1.2; }
.ff-calc-advisor-person small { color: var(--ff-calc-muted); font-size: 10px; }
.ff-calc-advisor-avatar { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 12%, #fff); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px color-mix(in srgb, var(--ff-calc-accent) 25%, var(--ff-calc-line)); color: var(--ff-calc-accent); display: flex; flex: 0 0 68px; font-size: 14px; font-weight: 900; height: 68px; justify-content: center; overflow: hidden; width: 68px; }
.ff-calc-advisor-avatar img { height: 100%; object-fit: cover; width: 100%; }
.ff-calc-advisor-message { background: #fff; border-radius: 11px; padding: 14px 17px; position: relative; }
.ff-calc-advisor-message::before { border-bottom: 8px solid transparent; border-right: 10px solid #fff; border-top: 8px solid transparent; content: ''; left: -10px; position: absolute; top: 27px; }
.ff-calc-advisor-message .ff-calc-eyebrow { font-size: 9px; }
.ff-calc-advisor-message h3 { color: var(--ff-calc-navy); font-size: 17px; line-height: 1.25; margin: 4px 0 5px; }
.ff-calc-advisor-message p { color: var(--ff-calc-muted); font-size: 12px; line-height: 1.55; margin: 0; }
.ff-calc-advisor-action ul { list-style: none; margin: 0 0 10px; padding: 0; }
.ff-calc-advisor-action li { align-items: center; color: var(--ff-calc-muted); display: flex; font-size: 11px; gap: 6px; margin: 5px 0; }
.ff-calc-advisor-action li span { align-items: center; background: #e2f4e9; border-radius: 50%; color: var(--ff-calc-positive); display: inline-flex; flex: 0 0 18px; font-size: 10px; font-weight: 900; height: 18px; justify-content: center; }
.ff-calc-advisor-action .ff-calc-primary { border-radius: 8px; font-size: 12px; min-height: 44px; padding: 9px 12px; width: 100%; }
.ff-calc-more { margin-top: 18px; }
.ff-calc-more > h3 { color: var(--ff-calc-navy); font-size: 19px; }
.ff-calc-provider.is-compact { align-items: center; display: grid; gap: 14px; grid-template-columns: minmax(150px, 1.05fr) minmax(210px, 1.3fr) minmax(210px, 1.5fr) minmax(190px, .9fr); margin-bottom: 10px; padding: 18px 15px; }
.ff-calc-provider.is-compact .ff-calc-provider-brand { padding-right: 0; }.ff-calc-provider.is-compact .ff-calc-provider-badge { margin: 6px 0 4px; }.ff-calc-provider.is-compact .ff-calc-provider-main h3 { font-size: 14px; }.ff-calc-provider.is-compact .ff-calc-provider-main p { margin-bottom: 0; }.ff-calc-provider.is-compact .ff-calc-provider-levels, .ff-calc-provider.is-compact .ff-calc-provider-benefits { border-left: 1px solid var(--ff-calc-line); border-top: 0; padding: 0 0 0 14px; }.ff-calc-provider.is-compact .ff-calc-provider-benefits details { display: none; }.ff-calc-provider.is-compact .ff-calc-provider-action { margin: 0; padding: 0; }
.ff-calc-show-more { align-items: center; display: flex; flex-direction: column; gap: 5px; margin: 18px 0 3px; }
.ff-calc-show-more button { background: #fff; border: 1px solid var(--ff-calc-accent); border-radius: 999px; color: var(--ff-calc-accent); font-weight: 800; min-height: 45px; padding: 9px 22px; }
.ff-calc-show-more button:hover { background: color-mix(in srgb, var(--ff-calc-accent) 7%, #fff); }
.ff-calc-show-more small { color: var(--ff-calc-muted); font-size: 10px; }
.ff-calc-no-results { background: #fff; border: 1px dashed #b9c8d1; border-radius: 12px; padding: 28px 18px; text-align: center; }
.ff-calc-no-results strong { color: var(--ff-calc-navy); }
.ff-calc-no-results p { color: var(--ff-calc-muted); margin: 5px 0 2px; }
.ff-calc-compare-empty { align-items: center; background: #fff; border: 1px dashed #b9c8d1; border-radius: 11px; color: var(--ff-calc-muted); display: flex; gap: 12px; margin-top: 16px; padding: 13px 15px; }
.ff-calc-compare-empty > span { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 10%, #fff); border-radius: 50%; color: var(--ff-calc-accent); display: flex; flex: 0 0 32px; font-size: 18px; height: 32px; justify-content: center; }
.ff-calc-compare-empty div { display: grid; gap: 1px; }
.ff-calc-compare-empty strong { color: var(--ff-calc-navy); font-size: 13px; }
.ff-calc-compare-empty small { font-size: 11px; }
.ff-calc-compare-bar { align-items: center; background: var(--ff-calc-navy); border: 1px solid color-mix(in srgb, var(--ff-calc-accent) 55%, var(--ff-calc-navy)); border-radius: 13px; bottom: 12px; box-shadow: 0 12px 32px rgba(9, 32, 55, .22); color: #fff; display: flex; gap: 16px; justify-content: space-between; margin-top: 18px; padding: 13px 14px 13px 18px; position: sticky; z-index: 20; }
.ff-calc-compare-bar > div { display: grid; gap: 2px; min-width: 0; }
.ff-calc-compare-bar > div span { color: #a9c9dc; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ff-calc-compare-bar > div strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ff-calc-compare-bar .ff-calc-primary { box-shadow: none; flex: 0 0 auto; font-size: 12px; min-height: 43px; padding: 9px 17px; }

.ff-calc-back { margin-bottom: 14px; }
.ff-calc-contact-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: 300px minmax(0, 650px); justify-content: center; }
.ff-calc-selection-summary, .ff-calc-contact-card { background: #fff; border: 1px solid var(--ff-calc-line); border-radius: 14px; box-shadow: 0 9px 28px rgba(9, 32, 55, .08); padding: 24px; }
.ff-calc-selection-summary { position: sticky; top: 24px; }
.ff-calc-selection-summary .ff-calc-provider-brand { margin-bottom: 14px; padding-right: 0; }
.ff-calc-selected-providers { display: grid; gap: 7px; margin-bottom: 15px; }
.ff-calc-selected-providers .ff-calc-provider-brand { border: 1px solid var(--ff-calc-line); border-radius: 9px; margin: 0; min-height: 48px; padding: 6px 9px; }
.ff-calc-selected-providers .ff-calc-provider-brand img { height: 29px; max-width: 105px; }
.ff-calc-selected-providers .ff-calc-provider-brand strong { font-size: 13px; }
.ff-calc-callback-summary-mark { align-items: center; background: color-mix(in srgb, var(--ff-calc-accent) 11%, #fff); border: 1px solid color-mix(in srgb, var(--ff-calc-accent) 30%, #fff); border-radius: 50%; color: var(--ff-calc-accent); display: flex; font-size: 25px; height: 58px; justify-content: center; margin: 13px 0; width: 58px; }
.ff-calc-selection-summary h3 { color: var(--ff-calc-navy); font-size: 19px; }
.ff-calc-selection-summary dl { border-bottom: 1px solid var(--ff-calc-line); border-top: 1px solid var(--ff-calc-line); margin: 16px 0; padding: 10px 0; }
.ff-calc-selection-summary dl > div { display: flex; gap: 10px; justify-content: space-between; padding: 5px 0; }
.ff-calc-selection-summary dt { color: var(--ff-calc-muted); font-size: 12px; }.ff-calc-selection-summary dd { font-size: 12px; font-weight: 750; margin: 0; text-align: right; }
.ff-calc-selection-summary > p { color: var(--ff-calc-muted); font-size: 12px; margin-bottom: 0; }
.ff-calc-contact-card { padding: clamp(23px, 4vw, 40px); }
.ff-calc-contact-card h2 { color: var(--ff-calc-navy); font-size: clamp(25px, 3.6vw, 36px); line-height: 1.16; margin-bottom: 9px; }
.ff-calc-contact-card > p { color: var(--ff-calc-muted); margin-bottom: 22px; }
.ff-calc-final-details { background: #f4f8fa; border: 1px solid var(--ff-calc-line); border-radius: 11px; margin: 0 0 18px; padding: 15px; }
.ff-calc-final-details > div:first-child { display: grid; gap: 1px; margin-bottom: 12px; }
.ff-calc-final-details > div:first-child strong { color: var(--ff-calc-navy); font-size: 13px; }
.ff-calc-final-details > div:first-child small { color: var(--ff-calc-muted); font-size: 11px; }
.ff-calc-salutation { display: flex; gap: 8px; margin-bottom: 16px; }
.ff-calc-salutation button { background: #fff; border: 1px solid #aebbc5; border-radius: 999px; color: var(--ff-calc-ink); min-height: 38px; padding: 7px 17px; }
.ff-calc-salutation button.is-selected { background: var(--ff-calc-navy); border-color: var(--ff-calc-navy); color: #fff; font-weight: 800; }
.ff-calc-consent { align-items: flex-start; color: var(--ff-calc-muted); display: flex; font-size: 12px; gap: 9px; margin: 18px 0; }
.ff-calc-consent input { flex: 0 0 auto; height: 18px; margin-top: 1px; width: 18px; }
.ff-calc-consent a { color: var(--ff-calc-accent); }
.ff-calc-submit-guarantee { align-items: center; background: #e5f5d6; color: #315d17; display: flex; font-size: 12px; gap: 6px; justify-content: center; margin: 0 auto -5px; max-width: 430px; min-height: 26px; padding: 4px 12px; position: relative; z-index: 2; }
.ff-calc-submit-guarantee span { font-weight: 900; }
.ff-calc-submit { width: 100%; }
.ff-calc-hp { height: 1px !important; left: -10000px !important; opacity: 0 !important; position: absolute !important; width: 1px !important; }
.ff-calc-button-spinner { animation: ff-calc-spin .8s linear infinite; border: 2px solid rgba(255,255,255,.45); border-radius: 50%; border-top-color: #fff; height: 17px; width: 17px; }
.ff-calc-success > span { align-items: center; background: #daf3e7; border-radius: 50%; color: var(--ff-calc-positive); display: flex; font-size: 30px; font-weight: 900; height: 72px; justify-content: center; margin-bottom: 18px; width: 72px; }
.ff-calc-success .ff-calc-primary { margin-top: 9px; }

@keyframes ff-calc-radar { to { transform: rotate(360deg); } }
@keyframes ff-calc-dot { 0%, 100% { opacity: .45; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.12); } }
@keyframes ff-calc-progress { 0% { width: 4%; } 60% { width: 72%; } 100% { width: 100%; } }
@keyframes ff-calc-spin { to { transform: rotate(360deg); } }

@media (max-width: 1050px) {
    .ff-calc-featured-grid { grid-template-columns: 1fr; }
    .ff-calc-provider.is-featured { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ff-calc-provider.is-featured .ff-calc-provider-main { grid-column: 1; }.ff-calc-provider.is-featured .ff-calc-provider-levels { border-left: 1px solid var(--ff-calc-line); border-top: 0; padding: 0 0 0 15px; }.ff-calc-provider.is-featured .ff-calc-provider-benefits { border-left: 0; border-top: 1px solid var(--ff-calc-line); padding: 12px 0 0; }.ff-calc-provider.is-featured .ff-calc-provider-action { align-self: end; margin: 0; padding: 0; }
    .ff-calc-provider.is-compact { grid-template-columns: 1fr 1fr; }.ff-calc-provider.is-compact .ff-calc-provider-levels, .ff-calc-provider.is-compact .ff-calc-provider-benefits { border-left: 0; border-top: 1px solid var(--ff-calc-line); padding: 12px 0 0; }.ff-calc-provider.is-compact .ff-calc-provider-action { align-self: end; }
    .ff-calc-advisor { grid-template-columns: 150px minmax(0, 1fr); }
    .ff-calc-advisor-action { align-items: center; display: grid; gap: 14px; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 230px; }
    .ff-calc-advisor-action ul { display: flex; flex-wrap: wrap; gap: 5px 13px; margin: 0; }
}

@media (max-width: 820px) {
    .ff-calc-shell { margin: 16px auto; }
    .ff-calc-packages { grid-template-columns: 1fr; }
    .ff-calc-package { min-height: 175px; }
    .ff-calc-results-layout { grid-template-columns: 1fr; }
    .ff-calc-sidebar { max-height: none; overflow: visible; padding: 0; position: static; }
    .ff-calc-sidebar > details:not([open]) { padding: 0; }
    .ff-calc-sidebar summary { background: #fff; position: sticky; top: 7px; z-index: 12; }
    .ff-calc-sidebar details[open] .ff-calc-filter-list { max-height: 70vh; overflow-y: auto; }
    .ff-calc-sidebar-help { display: none; }
    .ff-calc-contact-layout { grid-template-columns: 1fr; }
    .ff-calc-selection-summary { position: static; }
    .ff-calc-compare-bar { align-items: stretch; bottom: 7px; flex-direction: column; gap: 9px; }
    .ff-calc-compare-bar .ff-calc-primary { width: 100%; }
}

@media (max-width: 650px) {
    .ff-calc-header { border-radius: 14px 14px 0 0; padding: 25px 19px 27px; }
    .ff-calc-header p { font-size: 15px; }
    .ff-calc-input-form { border-radius: 0 0 14px 14px; }
    .ff-calc-panel { padding: 24px 17px; }
    .ff-calc-form-grid { grid-template-columns: 1fr; }
    .ff-calc-field-wide { grid-column: auto; }
    .ff-calc-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ff-calc-status-card { gap: 7px; grid-template-columns: 30px minmax(0, 1fr) 18px; min-height: 70px; padding: 9px; }
    .ff-calc-status-card.is-selected { padding: 8px; }
    .ff-calc-status-card > i { height: 30px; width: 30px; }
    .ff-calc-status-card > b { height: 18px; width: 18px; }
    .ff-calc-status-card strong { font-size: 11px; }
    .ff-calc-status-card small { font-size: 9px; }
    .ff-calc-promise { grid-template-columns: 1fr; }
    .ff-calc-promise > span { padding: 8px 3px; }
    .ff-calc-promise > span + span { border-left: 0; border-top: 1px solid var(--ff-calc-line); }
    .ff-calc-section-head h3 { font-size: 20px; }
    .ff-calc-results-head { align-items: flex-start; flex-direction: column; gap: 7px; }
    .ff-calc-results-head h2 { font-size: 28px; }
    .ff-calc-profile-strip { grid-template-columns: 25px minmax(0, 1fr) auto; padding: 10px; }
    .ff-calc-profile-strip > span { height: 25px; width: 25px; }
    .ff-calc-profile-strip strong { font-size: 11px; }
    .ff-calc-result-tools { align-items: stretch; flex-direction: column; }
    .ff-calc-sort { display: grid; grid-template-columns: 1fr 1fr; }
    .ff-calc-sort > span { grid-column: 1 / -1; }
    .ff-calc-sort button:nth-of-type(1) { border-left: 0; border-top: 1px solid var(--ff-calc-line); }
    .ff-calc-sort button:nth-of-type(2) { border-top: 1px solid var(--ff-calc-line); }
    .ff-calc-result-count { justify-content: space-between; }
    .ff-calc-compare-count { align-self: flex-start; }
    .ff-calc-provider.is-featured, .ff-calc-provider.is-compact { display: flex; flex-direction: column; }
    .ff-calc-provider.is-featured .ff-calc-provider-main, .ff-calc-provider.is-compact .ff-calc-provider-main, .ff-calc-provider.is-featured .ff-calc-provider-levels, .ff-calc-provider.is-compact .ff-calc-provider-levels, .ff-calc-provider.is-featured .ff-calc-provider-benefits, .ff-calc-provider.is-compact .ff-calc-provider-benefits, .ff-calc-provider.is-featured .ff-calc-provider-action, .ff-calc-provider.is-compact .ff-calc-provider-action { width: 100%; }
    .ff-calc-provider.is-featured .ff-calc-provider-levels, .ff-calc-provider.is-compact .ff-calc-provider-levels, .ff-calc-provider.is-featured .ff-calc-provider-benefits, .ff-calc-provider.is-compact .ff-calc-provider-benefits { border-left: 0; border-top: 1px solid var(--ff-calc-line); padding: 12px 0 0; }
    .ff-calc-provider-brand { padding-right: 0; width: 100%; }
    .ff-calc-advisor { align-items: stretch; grid-template-columns: 1fr; padding: 16px; }
    .ff-calc-advisor-person { flex-direction: row; text-align: left; }
    .ff-calc-advisor-message::before { display: none; }
    .ff-calc-advisor-action { display: block; grid-column: auto; }
    .ff-calc-advisor-action ul { display: grid; gap: 0; margin-bottom: 12px; }
    .ff-calc-contact-card, .ff-calc-selection-summary { padding: 20px 17px; }
    .ff-calc-contact-card h2 { font-size: 27px; }
    .ff-calc-salutation { display: grid; grid-template-columns: repeat(3, 1fr); }
    .ff-calc-salutation button { padding-left: 8px; padding-right: 8px; }
    .ff-calc-trust, .ff-calc-submit-note { align-items: center; flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
    .ff-calc-shell *, .ff-calc-shell *::before, .ff-calc-shell *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
