/* =====================================================================
   DESKTOP-ONLY STYLESHEET (generated — do not edit by hand)
   index.html loads this single sheet instead of the individual source files.
   Every max-width media query up to 992px (phone/tablet breakpoints) has been
   stripped, so the desktop page renders zero mobile CSS. The mobile page
   The phone/tablet view in index.html loads the original source sheets
   unchanged (scoped to max-width: 992px).
   Regenerate with:  pwsh -NoProfile -File tmp/build-desktop-css.ps1
   ===================================================================== */

/* ===== css\styles.css ===== */
/* NOTE: index.html loads the generated css/desktop.css (phone/tablet breakpoints stripped).
   After editing this file, regenerate it:  pwsh -NoProfile -File tmp/build-desktop-css.ps1 */

/* ===== style-1 ===== */
:root{--primary-navy:#013947;--primary-blue:#01545f;--accent-red:#017a78;--accent-gold:#d4af37;--accent-green:#017a78;--whatsapp-green:#25D366;--text-dark:#1e293b;--text-light:#f8fafc;--bg-light:#f3f5fa;--shadow-sm:0 4px 12px rgba(0,0,0,0.04);--shadow-lg:0 12px 30px rgba(10,40,80,0.25);--logo-gold:#d59a1b;--logo-navy:#082d66;--ni-font-sans:'Inter','Segoe UI',Roboto,system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;}*{margin:0;padding:0;box-sizing:border-box;}button,input,select,textarea,optgroup{font-family:inherit;}html{font-family:var(--ni-font-sans);}body{font-family:var(--ni-font-sans);background:var(--bg-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden;}a{text-decoration:none;color:inherit;}ul{list-style:none;}.container{max-width:1300px;margin:0 auto;padding:0 1.5rem;}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;background:var(--accent-red);color:#fff;padding:0.8rem 1.8rem;border-radius:40px;font-weight:600;transition:all 0.3s;border:none;cursor:pointer;}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(1,122,120,0.3);background:#01545f;}#getQuotesBtn{background:#D5A72A;color:#013947;font-weight:700;border-radius:40px;box-shadow:0 5px 14px rgba(1,57,71,0.18);transition:background-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease;}#getQuotesBtn:hover{background:#B98D1F;color:#013947;transform:translateY(-2px);box-shadow:0 8px 18px rgba(1,57,71,0.24);}#getQuotesBtn:focus-visible{outline:3px solid rgba(213,167,42,0.35);outline-offset:3px;}.btn-secondary{background:#fff;color:var(--text-dark);border:1px solid #d1d9e6;padding:0.8rem 1.8rem;border-radius:40px;font-weight:600;transition:0.2s;cursor:pointer;}.btn-secondary:hover{background:#e2e8f0;}.btn-success{background:var(--accent-green);color:#fff;border:none;padding:0.8rem 1.8rem;border-radius:40px;font-weight:600;transition:0.3s;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;}.btn-success:hover{background:#016f6d;transform:translateY(-2px);box-shadow:0 8px 18px rgba(1,122,120,0.3);}.btn-whatsapp{background:var(--whatsapp-green);color:#fff;border:none;padding:0.8rem 1.8rem;border-radius:40px;font-weight:600;transition:0.3s;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;}.btn-whatsapp:hover{background:#1da851;transform:translateY(-2px);box-shadow:0 8px 18px rgb(37, 202, 211,0.3);}.section-title{font-size:2.2rem;font-weight:700;color:var(--primary-navy);margin-bottom:1rem;}.section-title span{color:var(--accent-red);}.section-desc{color:#64748b;font-size:1.1rem;margin-bottom:2.5rem;max-width: 1024px;margin-left:auto;margin-right:auto;}header{background:#f0f7f7;padding:0.6rem 0;box-shadow:0 2px 6px rgba(0,0,0,0.05);position:sticky;top:0;z-index:1000;}.header-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.8rem;}.header-logo-wrapper{display:flex;align-items:center;gap:20px;flex-shrink:0;}.header-shield{width:52px;height:auto;flex-shrink:0;}.header-shield svg{width:100%;height:auto;display:block;}.header-divider{width:2px;height:52px;background:var(--logo-gold);flex-shrink:0;}.header-brand{display:flex;flex-direction:column;justify-content:center;line-height:1.1;}.header-brand .brand-name{font-size:clamp(16px,1.8vw,28px);font-weight:900;color:var(--logo-navy);letter-spacing:-0.02em;line-height:1.1;white-space:nowrap;}.header-brand .brand-tagline{font-size:clamp(10px,1vw,14px);font-weight:700;color:#b8860b;letter-spacing:0.15em;text-transform:uppercase;line-height:1.2;}.nav-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}.nav-links a{font-weight:500;color:var(--text-dark);transition:0.2s;}.nav-links a:hover,.nav-links a.active{color:var(--accent-green);}.nav-cta{display:flex;align-items:center;gap:1rem;}.nav-cta .phone{display:flex;align-items:center;gap:0.4rem;font-weight:600;color:var(--accent-green);}header .nav-cta .btn-primary{background:var(--accent-green);}header .nav-cta .btn-primary:hover{background:#01545f;}#hero{background:linear-gradient(135deg,var(--primary-blue),var(--primary-navy));color:#fff;padding:3rem 0 5rem 0;border-radius:0;margin-bottom:-2rem;position:relative;}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;}.hero-text h3.premium-tag{font-size:1.1rem;font-weight:400;letter-spacing:1px;opacity:0.85;margin-bottom:0.3rem;text-transform:uppercase;}.hero-text h1{font-size:2.8rem;font-weight:800;margin-bottom:1rem;line-height:1.2;}.hero-text h1 span{color:var(--accent-gold);}.hero-text p{font-size:1.2rem;opacity:0.9;max-width:500px;margin-bottom:1.5rem;}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.5rem;}.stat-card{background:rgba(255,255,255,0.1);padding:1rem;border-radius:16px;text-align:center;border:1px solid rgba(255,255,255,0.05);}.stat-card .num{font-size:1.8rem;font-weight:800;color:var(--accent-gold);}.stat-card .label{font-size:0.75rem;opacity:0.8;}.stat-card .num.gold-accent{color:var(--accent-gold);}.quote-wrapper{background:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow-lg);color:var(--text-dark);border-top:5px solid var(--accent-red);position:relative;animation:quoteEngineReady 0.38s ease-out both;}@keyframes quoteEngineReady{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}.quote-wrapper select,.quote-wrapper input,.quote-wrapper button,.quote-wrapper .cover-type-toggle label,.quote-wrapper .group-age-options span{transition:border-color 0.16s ease,box-shadow 0.16s ease,background-color 0.16s ease,color 0.16s ease,transform 0.16s ease;}@media (prefers-reduced-motion:reduce){.quote-wrapper{animation:none;}.quote-wrapper select,.quote-wrapper input,.quote-wrapper button,.quote-wrapper .cover-type-toggle label,.quote-wrapper .group-age-options span{transition:none;}}.quote-wrapper h2{font-size:1.4rem;margin-bottom:1.5rem;color:var(--primary-navy);display:flex;align-items:center;gap:0.5rem;border-bottom:2px solid #e9edf2;padding-bottom:0.8rem;}.family-row{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:0.8rem;}.family-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:0.8rem;}.family-age-pair{display:contents;}.family-overview .child-ages-inline{display:flex;flex-direction:column;gap:0.6rem;width:100%;}.family-overview .child-age-item{width:100%;}.family-item{flex-direction:column;align-items:stretch;gap:0.25rem;}.family-overview .family-item label{min-width:auto;}.family-overview .family-item select{width:100%;}.family-overview .children-count-item{flex-direction:column;align-items:stretch;gap:0.25rem;}.family-overview .children-count-item label{min-width:0;white-space:normal;}.family-overview .children-count-item select{width:100%;flex:none;min-width:0;}.cover-type-card{max-width:560px;display:flex;align-items:center;gap:0.75rem;}.cover-type-heading{display:flex;align-items:center;gap:0.45rem;margin-bottom:0;color:var(--primary-navy);font-size:0.8rem;font-weight:800;white-space:nowrap;flex:0 0 auto;}.cover-type-heading i{color:#016f6d;width:26px;height:26px;border-radius:8px;background:#e6fbf9;display:inline-flex;align-items:center;justify-content:center;font-size:0.75rem;}.cover-type-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:0.45rem;background:transparent;flex:1;}.cover-type-toggle label{min-width:0 !important;margin:0;display:flex;align-items:center;justify-content:center;gap:0.38rem;padding:0.55rem 0.65rem;border:1.5px solid #d9e0e8;border-radius:10px;background:#fff;font-size:0.75rem !important;font-weight:750 !important;color:#475569 !important;cursor:pointer;text-align:center;transition:all 0.2s ease;box-shadow:0 2px 6px rgba(15,23,42,0.03);}.cover-type-toggle label:hover{border-color:rgba(8,45,102,0.35);transform:translateY(-1px);}.cover-type-toggle input{position:absolute;opacity:0;pointer-events:none;}.cover-type-toggle label:has(input:checked){background:linear-gradient(135deg,var(--primary-navy),#124a88);border-color:var(--primary-navy);color:#fff !important;box-shadow:0 5px 12px rgba(8,45,102,0.18);}.cover-type-toggle label:has(input:checked)::before{content:"✓";width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.16);font-size:0.68rem;font-weight:900;}.group-composition{display:none;margin-top:0.8rem;padding-top:0.8rem;border-top:1px solid #e9edf2;}.group-composition.active{display:block;}.group-composition-head{display:flex;align-items:baseline;gap:0.45rem;flex-wrap:wrap;margin-bottom:0.65rem;}.group-composition-head strong{color:var(--primary-navy);font-size:0.88rem;}.group-composition-head span{color:#64748b;font-size:0.72rem;font-style:italic;}.group-rating-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.65rem;}.group-rating-row label{font-size:0.74rem;font-weight:800;color:#475569;}.group-rating-row select{min-width:82px;padding:0.42rem 0.55rem;border:1.5px solid #d1d9e6;border-radius:8px;background:#fff;font-size:0.8rem;outline:none;}.group-rating-row small{color:#64748b;font-size:0.68rem;}.group-average-age-row{margin-top:0.7rem;margin-bottom:0;display:flex;align-items:center;gap:0.65rem;flex-wrap:nowrap;white-space:nowrap;}.group-average-label{font-size:0.74rem;font-weight:800;color:#475569;}.group-age-options{display:flex;align-items:center;gap:0.35rem;}.group-age-options label{margin:0;cursor:pointer;}.group-age-options input{position:absolute;opacity:0;pointer-events:none;}.group-age-options span{min-width:36px;height:30px;padding:0 0.5rem;border:1.5px solid #d1d9e6;border-radius:8px;background:#fff;color:#475569;font-size:0.74rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:0.18s ease;}.group-age-options input:checked + span{background:var(--primary-navy);border-color:var(--primary-navy);color:#fff;box-shadow:0 3px 8px rgba(8,45,102,0.15);}.group-average-age-row small{color:#64748b;font-size:0.68rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;}.group-composition-grid{display:grid;grid-template-columns:repeat(8,minmax(58px,1fr));gap:0.5rem;}.group-quote-breakdown{margin-top:0.45rem;padding-top:0.45rem;border-top:1px dashed #d9e0e8;display:grid;gap:0.22rem;}.group-quote-breakdown div{display:flex;justify-content:space-between;gap:0.75rem;font-size:0.72rem;color:#64748b;}.group-quote-breakdown strong{color:var(--primary-navy);font-weight:700;}.group-composition-item{display:flex;flex-direction:column;gap:0.25rem;}.group-composition-item label{font-size:0.72rem;font-weight:800;color:#475569;text-align:center;}.group-composition-item input{width:100%;min-width:0;padding:0.48rem 0.35rem;border:1.5px solid #d1d9e6;border-radius:8px;background:#fff;color:var(--text-dark);font-size:0.82rem;text-align:center;outline:none;}.group-composition-item input:focus{border-color:var(--accent-red);box-shadow:0 0 0 2px rgba(177,18,38,0.07);}.family-item{display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;}.family-item label{font-weight:600;font-size:0.8rem;color:#475569;min-width:130px;}.family-item select{padding:0.4rem 0.6rem;border-radius:8px;border:1.5px solid #d1d9e6;background:#fff;font-size:0.85rem;outline:none;flex:1;min-width:100px;}.family-item select:focus{border-color:var(--accent-red);}.family-item.child-age-item{padding-left:0;display:flex;flex-direction:row;align-items:center;gap:0.6rem;flex-wrap:nowrap;width:100%;}.family-item.child-age-item label{min-width:110px;white-space:nowrap;}.family-item.child-age-item select{flex:0 0 110px;min-width:110px;}.form-row{display:flex;flex-wrap:wrap;gap:0.8rem;margin-bottom:0.8rem;}.form-group{flex:1;min-width:140px;display:flex;flex-direction:column;gap:0.3rem;}.form-group label{font-weight:600;font-size:0.75rem;color:#475569;}.form-group select{padding:0.5rem;border-radius:8px;border:1.5px solid #d1d9e6;background:#fff;font-size:0.85rem;outline:none;width:100%;}.form-group select:focus{border-color:var(--accent-red);}.form-group .scope-group{display:flex;gap:0.6rem;align-items:center;margin-top:0.2rem;}.form-group .scope-group label{font-weight:400;font-size:0.7rem;color:#475569;display:flex;align-items:center;gap:0.2rem;cursor:pointer;}.form-group .scope-group input[type="radio"]{margin:0;accent-color:var(--accent-red);cursor:pointer;width:14px;height:14px;}.form-group .scope-group input[type="radio"]:disabled{accent-color:#cbd5e1;cursor:not-allowed;}.form-group .scope-group label:has(input:disabled){color:#94a3b8;cursor:not-allowed;}.limit-scope-wrapper{display:flex;flex-direction:column;gap:0.2rem;}.form-group:has(.scope-group),.form-group:has(#maternityLimit){flex-direction:row;align-items:center;gap:0.8rem;}.form-group:has(.scope-group)>label,.form-group:has(#maternityLimit)>label{flex:0 0 145px;}.form-group:has(.scope-group) .limit-scope-wrapper,.form-group:has(#maternityLimit) .limit-scope-wrapper{flex:1;flex-direction:row;align-items:center;gap:0.8rem;}.form-group:has(.scope-group) .limit-scope-wrapper select,.form-group:has(#maternityLimit) .limit-scope-wrapper select{flex:1;min-width:140px;}.form-group:has(.scope-group) .scope-group{flex:0 0 auto;margin-top:0;white-space:nowrap;}.benefit-icon{margin-right:6px;color:#019e98;font-size:0.95em;}.inpatient-validation-message{display:none;margin-top:0.45rem;color:#b91c1c;font-size:0.78rem;font-weight:700;}.inpatient-validation-message.visible{display:block;}#inpatientLimit.inpatient-limit-error{border-color:#dc2626 !important;box-shadow:0 0 0 3px rgba(220,38,38,0.14),0 0 14px rgba(220,38,38,0.28) !important;animation:inpatientErrorPulse 1.05s ease-in-out 2;}@keyframes inpatientErrorPulse{0%,100%{box-shadow:0 0 0 3px rgba(220,38,38,0.12),0 0 10px rgba(220,38,38,0.20);}50%{box-shadow:0 0 0 4px rgba(220,38,38,0.20),0 0 20px rgba(220,38,38,0.36);}}.actions-quote{display:flex;gap:1rem;margin-top:1.5rem;}.actions-quote .btn-primary{flex:1;}.quote-rate-note{margin-top:0.8rem;color:#94a3b8;font-size:0.68rem;text-align:center;letter-spacing:0.02em;}.insurer-card{max-width:560px;width:100%;}.insurer-card .cover-type-heading{flex:0 0 101px;}.insurer-control{flex:1;min-width:0;}.insurer-control select{width:100%;min-width:0;margin:0;padding:0.55rem 0.75rem;border:1.5px solid #d9e0e8;border-radius:10px;background:#fff;color:#475569;font-size:0.75rem;font-weight:750;min-height:38px;}.insurer-control select:focus{outline:none;border-color:#86b5b3;box-shadow:0 0 0 3px rgba(1,111,109,0.08);}.inpatient-card{width:100%;}.inpatient-card .cover-type-heading{flex:0 0 auto;}.inpatient-control{flex:1;min-width:0;}.inpatient-control select{width:100%;min-width:0;padding:0.55rem 0.75rem;border:1.5px solid #d9e0e8;border-radius:10px;background:#fff;color:#475569;font-size:0.75rem;font-weight:750;min-height:38px;}.inpatient-control select:focus{outline:none;border-color:#86b5b3;box-shadow:0 0 0 3px rgba(1,111,109,0.08);}.form-group-inline{flex-direction:row;align-items:center;gap:0.8rem;}.form-group-inline label{flex:0 0 auto;margin-bottom:0;}.form-group-inline select{width:auto;flex:1;}#resultsContainer{margin-top:3rem;display:none;scroll-margin-top:80px;}#resultsContainer.visible{display:block;animation:fadeUp 0.45s ease;}.premium-disclaimer{margin:1.25rem 0 0;text-align:center;font-size:0.82rem;font-style:italic;color:#64748b;}#plans-rates{padding:4rem 0;background:#f8fafc;}.plan-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;margin-top:1.8rem;}.plan-rate-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;}.plan-rate-card h3{color:var(--primary-navy);font-size:1rem;margin-bottom:0.25rem;}.plan-rate-card p{color:#64748b;font-size:0.75rem;margin-bottom:0.7rem;}.rate-table-wrap{overflow-x:auto;}.rate-table{width:100%;border-collapse:collapse;font-size:0.72rem;white-space:nowrap;}.rate-table th,.rate-table td{border-bottom:1px solid #edf2f7;padding:0.42rem 0.35rem;text-align:left;}.rate-table th{color:var(--primary-navy);font-weight:700;background:#f8fafc;}.rate-table td:not(:first-child){text-align:right;}.plan-rate-action{display:inline-flex;align-items:center;gap:0.35rem;margin-top:0.85rem;color:var(--accent-green);font-size:0.78rem;font-weight:700;text-decoration:none;}.plan-rate-action:hover{color:var(--primary-navy);}.selected-plan-notice{display:none;margin:-0.6rem 0 1rem;padding:0.55rem 0.7rem;border-radius:8px;background:#e4f4f3;color:#01545f;font-size:0.75rem;}.selected-plan-notice.is-visible{display:block;}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px);}100%{opacity:1;transform:translateY(0);}}.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem;}.results-header h2{color:var(--primary-navy);}.badge-count{font-size:1rem;background:#e2e8f0;padding:0.1rem 0.9rem;border-radius:30px;}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;margin-bottom:2rem;}.provider-card{border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-sm);border:2px solid var(--primary-navy);transition:0.3s;background:#fff;}.provider-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.provider-card h3{font-size:1.2rem;color:var(--primary-navy);display:flex;align-items:center;gap:0.5rem;}.provider-card .price{font-size:1.8rem;font-weight:800;color:var(--accent-red);}.provider-card .price small{font-size:0.8rem;font-weight:400;color:#64748b;}.provider-card .price-note{font-size:0.8rem;color:#64748b;margin-bottom:0.5rem;}.extra-fees{font-size:0.65rem;color:#64748b;margin-top:0.2rem;border-top:1px dashed #e2e8f0;padding-top:0.2rem;display:flex;gap:0.8rem;flex-wrap:wrap;}.extra-fees span{display:inline-flex;align-items:center;gap:0.2rem;}.extra-fees .fee-label{font-weight:500;color:#475569;}.sub-container{border-radius:12px;padding:0.8rem;margin:0.6rem 0;border:1px solid #e2e8f0;border-left:1px solid var(--accent-green);box-shadow:inset 0 1px 2px rgba(0,0,0,0.02);background:#ffffff;}.sub-container h4{font-size:0.75rem;font-weight:700;color:var(--primary-navy);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.4rem;border-bottom:2px solid #e2e8f0;padding-bottom:0.3rem;}.sub-container h4 i{color:var(--accent-gold);}.premium-breakdown{display:flex;flex-direction:column;gap:0.15rem;font-size:0.75rem;color:#475569;}.premium-breakdown .breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:0.05rem 0;}.premium-breakdown .breakdown-row .label{font-weight:400;}.premium-breakdown .breakdown-row .value{font-weight:600;color:var(--text-dark);}.premium-breakdown .breakdown-row.total{border-top:1px solid #d1d9e6;margin-top:0.2rem;padding-top:0.3rem;font-weight:700;color:var(--primary-navy);}.premium-breakdown .breakdown-row.total .value{color:var(--accent-red);font-size:1rem;}.premium-breakdown .breakdown-row.levy{font-size:0.7rem;color:#64748b;}.premium-breakdown .breakdown-row.levy .value{color:#64748b;font-weight:500;}.premium-breakdown .breakdown-row.stamp{font-size:0.7rem;color:#64748b;}.premium-breakdown .breakdown-row.stamp .value{color:#64748b;font-weight:500;}.cover-limit-list{display:flex;flex-direction:column;gap:0.2rem;font-size:0.75rem;}.cover-limit-list div{display:flex;align-items:center;gap:0.3rem;flex-wrap:wrap;}.cover-limit-list strong{color:var(--primary-navy);}.cover-limit-list .family-total{color:var(--accent-red);font-weight:600;font-size:0.7rem;background:#fef2f2;padding:0.05rem 0.5rem;border-radius:12px;margin-left:0.3rem;}.family-text{font-size:0.85rem;font-weight:500;color:var(--text-dark);}.terms-copay{color:#991b1b;margin-top:0.3rem;font-size:0.75rem;}.waiting-text{font-size:0.75rem;color:var(--text-dark);}details.benefits-details{cursor:pointer;width:100%;}details.benefits-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:0.7rem;font-weight:700;color:var(--primary-navy);text-transform:uppercase;letter-spacing:0.5px;}details.benefits-details>summary::-webkit-details-marker{display:none;}details.benefits-details summary .benefits-toggle-icon{transition:transform 0.2s ease;}details.benefits-details[open] summary .benefits-toggle-icon{transform:rotate(180deg);}.benefits-toggle-open{display:none;}details.benefits-details[open] .benefits-toggle-closed{display:none;}details.benefits-details[open] .benefits-toggle-open{display:inline;}details.benefits-details .benefit-list{margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid rgba(0,0,0,0.05);}.benefit-list{list-style:none;padding:0;margin:0;}.benefit-list li{font-size:0.8rem;padding:0.2rem 0;border-bottom:1px dashed rgba(0,0,0,0.05);display:flex;align-items:center;gap:0.5rem;}.benefit-list li:last-child{border-bottom:none;}.benefit-list li i{color:var(--accent-green);}.benefit-list .benefit-status{margin-left:auto;padding:0.1rem 0.45rem;border-radius:999px;font-size:0.65rem;font-weight:700;white-space:nowrap;}.benefit-list .benefit-status.selected{background:#e4f4f3;color:#01545f;}.benefit-list .benefit-status.not-selected{background:#f1f5f9;color:#64748b;}.payment-method{font-size:0.75rem;margin-bottom:0.3rem;padding:0.3rem 0.5rem;background:#f8fafc;border-radius:6px;border-left:1px solid var(--accent-gold);}.payment-method strong{color:var(--primary-navy);}.payment-method .method-type{font-weight:700;color:var(--accent-red);}.payment-method .detail-line{display:block;padding-left:0.5rem;font-size:0.7rem;}.get-cover-btn{background:var(--accent-green);color:#fff;border:none;border-radius:30px;padding:0.4rem 1.5rem;font-size:0.8rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;margin-top:0.8rem;transition:0.2s;width:100%;justify-content:center;}.get-cover-btn:hover{background:#016f6d;transform:translateY(-2px);box-shadow:0 4px 12px rgba(1,122,120,0.3);}.cover-card-actions{display:flex;align-items:stretch;gap:0.5rem;margin-top:0.8rem;}.cover-card-actions .get-cover-btn{flex:1;width:auto;margin-top:0;}.download-quote-btn{flex:1;border:1px solid var(--accent-green);border-radius:30px;background:#fff;color:var(--accent-green);cursor:pointer;font-size:0.8rem;font-weight:700;padding:0.4rem 0.75rem;transition:0.2s;}.download-quote-btn:hover{background:#e4f4f3;transform:translateY(-2px);}.contact-banner{background:linear-gradient(135deg,#013947,#017a78);color:#fff;padding:0.8rem 1.5rem;border-radius:12px;margin-top:0.8rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;font-size:0.85rem;border:1px solid rgba(255,255,255,0.1);}.contact-banner i{color:var(--accent-gold);margin-right:0.3rem;}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:none;justify-content:center;align-items:center;z-index:9999;padding:1rem;overflow-y:auto;}.modal-overlay.active{display:flex;}.modal-content{background:#fff;max-width:780px;width:100%;border-radius:24px;padding:2rem;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px rgba(0,0,0,0.3);animation:modalSlide 0.3s ease;}@keyframes modalSlide{from{transform:translateY(30px);opacity:0;}to{transform:translateY(0);opacity:1;}}.modal-close{position:sticky;top:0;float:right;background:none;border:none;font-size:1.8rem;color:#94a3b8;cursor:pointer;transition:0.2s;line-height:1;}.modal-close:hover{color:var(--accent-red);transform:rotate(90deg);}.modal-content h2{font-size:1.6rem;color:var(--primary-navy);margin-bottom:0.5rem;}.modal-summary{background:var(--bg-light);border-radius:12px;padding:0.8rem 1rem;margin-bottom:1.5rem;border-left:4px solid var(--accent-gold);}.modal-summary .summary-row{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem;font-size:0.85rem;}.modal-summary .summary-row strong{color:var(--primary-navy);}.modal-summary .summary-row .label{color:#64748b;font-weight:500;}.modal-summary .summary-row .value{font-weight:600;color:var(--text-dark);}.modal-summary .summary-divider{border-top:1px dashed #d1d9e6;margin:0.4rem 0;}.modal-summary .cover-limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.2rem 1rem;font-size:0.8rem;margin-top:0.3rem;}.modal-summary .cover-limits-grid .limit-item{display:flex;justify-content:space-between;padding:0.1rem 0;}.modal-summary .cover-limits-grid .limit-item .limit-label{color:#64748b;}.modal-summary .cover-limits-grid .limit-item .limit-value{font-weight:600;color:var(--text-dark);}.member-section{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1.2rem;background:#fafcff;}.member-section h3{font-size:1rem;color:var(--primary-navy);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.5rem;}.member-section h3 .role-badge{font-size:0.6rem;background:var(--accent-gold);color:var(--primary-navy);padding:0.1rem 0.6rem;border-radius:12px;font-weight:700;}.member-section .field-group{margin-bottom:0.6rem;display:flex;flex-direction:column;gap:0.2rem;}.member-section .field-group label{font-size:0.75rem;font-weight:600;color:#475569;}.member-section .field-group input,.member-section .field-group textarea,.member-section .field-group select{padding:0.4rem 0.6rem;border-radius:8px;border:1.5px solid #d1d9e6;font-size:0.85rem;outline:none;width:100%;font-family:inherit;}.member-section .field-group input:focus,.member-section .field-group textarea:focus,.member-section .field-group select:focus{border-color:var(--accent-red);}.member-section .field-group textarea{resize:vertical;min-height:50px;}.member-section .field-group input[type="file"]{padding:0.3rem;border:1px dashed #d1d9e6;background:#fafcff;cursor:pointer;}.member-section .field-group .file-label{font-size:0.7rem;color:#64748b;}.hospital-details{display:none;margin-top:0.3rem;}.hospital-details.visible{display:block;}.beneficiary-section{border:2px dashed var(--accent-gold);border-radius:12px;padding:1rem;margin-bottom:1.2rem;background:#fffdf5;}.beneficiary-section h3{font-size:1rem;color:var(--primary-navy);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.5rem;}.beneficiary-section h3 .role-badge{font-size:0.6rem;background:var(--accent-gold);color:var(--primary-navy);padding:0.1rem 0.6rem;border-radius:12px;font-weight:700;}.beneficiary-section .field-group{margin-bottom:0.6rem;display:flex;flex-direction:column;gap:0.2rem;}.beneficiary-section .field-group label{font-size:0.75rem;font-weight:600;color:#475569;}.beneficiary-section .field-group input{padding:0.4rem 0.6rem;border-radius:8px;border:1.5px solid #d1d9e6;font-size:0.85rem;outline:none;width:100%;font-family:inherit;}.beneficiary-section .field-group input:focus{border-color:var(--accent-red);}.beneficiary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.beneficiary-grid .beneficiary-box{border:1px solid #e2e8f0;border-radius:8px;padding:0.8rem;background:#fafcff;}.beneficiary-grid .beneficiary-box h4{font-size:0.8rem;color:var(--primary-navy);margin-bottom:0.5rem;border-bottom:1px solid #e2e8f0;padding-bottom:0.3rem;font-weight:700;}.payment-details-modal{border:1px solid #e2e8f0;border-radius:12px;padding:0.8rem 1rem;margin-bottom:1.2rem;background:#f0f7ff;}.payment-details-modal h4{font-size:0.8rem;font-weight:700;color:var(--primary-navy);margin-bottom:0.4rem;display:flex;align-items:center;gap:0.4rem;}.payment-details-modal h4 i{color:var(--accent-gold);}.payment-details-modal .payment-note{font-size:0.8rem;color:var(--text-dark);margin-top:0.3rem;padding-top:0.3rem;border-top:1px dashed #d1d9e6;}.payment-details-modal .payment-note strong{color:var(--accent-red);}.privacy-note{font-size:11px;font-style:italic;color:#94a3b8;text-align:center;margin-bottom:0.8rem;line-height:1.4;}.privacy-note i{color:#94a3b8;margin-right:0.3rem;}.validation-errors{display:none;background:#fef9e7;border:1px solid #f0d5a0;border-radius:8px;padding:0.6rem 0.8rem;margin-bottom:0.8rem;text-align:left;}.validation-errors.visible{display:block;}.validation-errors .error-title{font-size:0.7rem;font-weight:600;color:#b7791f;margin-bottom:0.2rem;}.validation-errors .error-item{font-size:0.75rem;color:#8b6b1f;padding:0.1rem 0;font-style:italic;line-height:1.4;}.validation-errors .error-item::before{content:"⚠ ";font-size:0.7rem;}.modal-actions{display:flex;flex-wrap:wrap;gap:0.8rem;margin-top:0.5rem;}.modal-actions .btn-success{flex:2;min-width:160px;}.modal-actions .btn-whatsapp{flex:2;min-width:160px;}.modal-actions .btn-secondary{flex:1;min-width:100px;}.modal-actions .action-group{display:flex;flex:1;gap:0.8rem;min-width:100%;}.success-view{text-align:center;padding:1rem 0;}.success-view .success-icon{font-size:4rem;color:var(--accent-green);margin-bottom:1rem;}.success-view .ref-number{font-size:1.8rem;font-weight:800;color:var(--primary-navy);background:var(--bg-light);padding:0.3rem 1.5rem;border-radius:12px;display:inline-block;margin:0.5rem 0 1rem;letter-spacing:1px;}.success-view .success-message{font-size:1rem;color:#475569;max-width:500px;margin:0 auto 1.5rem;}.success-view .contact-details{background:var(--bg-light);border-radius:12px;padding:1rem;margin-top:1rem;text-align:left;font-size:0.85rem;}.success-view .contact-details i{color:var(--accent-gold);width:24px;}.success-view .contact-details .whatsapp-link{color:var(--whatsapp-green);font-weight:600;}#trust{padding:5rem 0;background:#fff;}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;text-align:center;}.trust-item i{font-size:2.5rem;color:var(--primary-navy);background:var(--bg-light);padding:1rem;border-radius:50%;margin-bottom:1rem;}.trust-item h4{font-weight:700;color:var(--text-dark);margin-bottom:0.3rem;}.trust-item p{font-size:0.9rem;color:#64748b;}#partners{padding:3rem 0;background:#FFF9E8;text-align:center;}.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.15rem;margin-top:2rem;}.partner-logo{--partner-color:var(--accent-gold);position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#fffdf8 100%);padding:1.15rem 1.1rem 1rem;border-radius:18px;box-shadow:0 8px 20px rgba(1,57,71,0.08);color:var(--primary-navy);display:flex;flex-direction:column;align-items:flex-start;gap:0.6rem;border:1px solid rgba(15,23,42,0.08);transition:transform 0.22s ease,box-shadow 0.22s ease;text-align:left;min-height:165px;}.partner-logo::before{content:"";position:absolute;top:0;left:0;right:0;height:7px;background:var(--partner-color);}.partner-logo::after{content:"";position:absolute;top:-26px;right:-26px;width:86px;height:86px;border-radius:50%;background:color-mix(in srgb,var(--partner-color) 12%,transparent);pointer-events:none;}.partner-logo:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(1,57,71,0.14);}.partner-logo .partner-brand{display:flex;align-items:center;gap:0.65rem;width:100%;position:relative;z-index:1;}.partner-logo .partner-icon{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--partner-color) 12%,#ffffff);color:var(--partner-color);font-size:1rem;flex:0 0 auto;}.partner-logo .partner-icon.partner-logo-image{padding:0;overflow:hidden;background:#123f82;}.partner-logo.aar .partner-icon.partner-logo-image{background:#fff;}.partner-logo .partner-icon.partner-logo-image img{width:100%;height:100%;object-fit:cover;display:block;}.partner-logo .logo-fallback{font-size:1.05rem;font-weight:800;letter-spacing:-0.01em;}.partner-logo p{margin:0;font-size:0.78rem;line-height:1.5;color:#64748b;font-weight:400;position:relative;z-index:1;}.partner-logo .partner-why{padding-top:0.5rem;margin-top:0.1rem;border-top:1px dashed rgba(100,116,139,0.22);color:#475569;}.partner-logo p strong{color:var(--primary-navy);font-weight:700;}.partner-logo .partner-history{font-size:0.73rem;color:#7c6f55;background:#fffaf0;border-radius:9px;padding:0.38rem 0.5rem;width:100%;}.partner-logo .partner-action{text-decoration:none;cursor:pointer;}.partner-logo .partner-action:hover{text-decoration:underline;text-underline-offset:3px;}.partner-logo .partner-action{margin-top:auto;font-size:0.76rem;font-weight:800;color:var(--partner-color);position:relative;z-index:1;}.partner-logo.britam{--partner-color:#22408e;}.partner-logo.aar{--partner-color:#e8860a;}.partner-logo.jubilee{--partner-color:#d20404;}.partner-logo.cic{--partner-color:#5f0f14;}.partner-logo.apa{--partner-color:#0f5c9c;}#contact{background:#fff;padding:5rem 0;}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}.contact-info{background:var(--primary-navy);color:#fff;padding:3rem;border-radius:24px;}.contact-info h3{font-size:1.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--accent-gold);display:inline-block;padding-bottom:0.3rem;}.contact-info p{opacity:0.8;margin-bottom:1rem;display:flex;align-items:center;gap:0.8rem;}.contact-info i{color:var(--accent-gold);width:20px;}.contact-form{background:var(--bg-light);padding:3rem;border-radius:24px;}.contact-form h3{font-size:1.5rem;color:var(--primary-navy);margin-bottom:1.5rem;}.contact-form input,.contact-form textarea{width:100%;padding:0.5rem;border-radius:8px;border:1.5px solid #d1d9e6;font-size:0.85rem;outline:none;}footer{background:var(--primary-navy);color:#94a3b8;padding:3rem 0 1rem;border-top:4px solid var(--accent-gold);margin-top:3rem;}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem;}.footer-grid h4{color:#fff;margin-bottom:1rem;}.footer-grid ul li{margin-bottom:0.4rem;}.footer-grid ul li a{transition:0.2s;}.footer-grid ul li a:hover{color:#fff;}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);font-size:0.8rem;}.floating-chat{position:fixed;bottom:max(0.75rem,env(safe-area-inset-bottom));right:max(0.75rem,env(safe-area-inset-right));left:auto;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 12px rgb(37, 202, 211,0.4);z-index:999;cursor:pointer;transition:0.2s;}.floating-chat:hover{transform:scale(1.1);}.group-members-badge-wrap{width:100%;display:flex;justify-content:center;margin:0.35rem 0 0.45rem;}.group-families-live-total{display:inline-flex;align-items:center;justify-content:center;background:#e9f6f7;border:1px solid #016f6d;color:#016f6d;font-size:0.72rem;font-weight:800;padding:0.2rem 0.7rem;border-radius:999px;white-space:nowrap;}.family-badge{display:inline-block;background:var(--accent-gold);color:var(--primary-navy);font-size:0.6rem;font-weight:700;padding:0.05rem 0.5rem;border-radius:12px;margin-left:0.3rem;}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.6s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.provider-logo{height:40px;width:auto;max-width:100px;object-fit:contain;display:inline-block;}.provider-logo-sm{height:28px;width:auto;max-width:70px;object-fit:contain;}.provider-logo-fallback{font-size:1.5rem;color:var(--primary-navy);}.scope-label{font-weight:600;font-size:0.7rem;color:#475569;margin-right:0.2rem;}.limit-scope-wrapper .scope-group{display:flex;gap:0.8rem;align-items:center;flex-wrap:wrap;padding-top:0.1rem;}.limit-scope-wrapper .scope-group .radio-option{display:flex;align-items:center;gap:0.2rem;font-size:0.7rem;color:#475569;cursor:pointer;}.limit-scope-wrapper .scope-group .radio-option input[type="radio"]{margin:0;accent-color:var(--accent-red);cursor:pointer;width:14px;height:14px;}.limit-scope-wrapper .scope-group .radio-option input[type="radio"]:disabled{accent-color:#cbd5e1;cursor:not-allowed;}.limit-scope-wrapper .scope-group .radio-option:has(input:disabled){color:#94a3b8;cursor:not-allowed;}.maternity-disabled-note{font-size:0.65rem;color:#94a3b8;font-style:italic;margin-top:0.2rem;}.maternity-disabled-note.enabled{color:#017a78;}.premium-tag-container{display:inline-block;font-family:var(--ni-font-sans);font-weight:700;font-size:clamp(0.9rem,1.8vw,1.6rem);color:#ffffff;text-align:center;padding:0.4rem 1.8rem;background:rgba(0,0,0,0.2);backdrop-filter:blur(4px);border:1px solid rgba(212,175,55,0.4);border-bottom:3px solid #d4af37;border-radius:50px;margin-bottom:1.8rem;letter-spacing:0.5px;position:relative;box-shadow:0 2px 16px rgba(212,175,55,0.08),0 1px 4px rgba(0,0,0,0.06);transition:box-shadow 0.3s ease,border-color 0.3s ease,transform 0.2s ease;}.premium-tag-container:hover{box-shadow:0 0 30px rgba(212,175,55,0.5),0 4px 20px rgba(0,0,0,0.2);border-color:rgba(212,175,55,0.8);transform:translateY(-1px);}.premium-tag-container .year-highlight{font-weight:900;color:#d4af37;text-shadow:0 0 10px rgba(212,175,55,0.3);}.premium-tag-container .dot-gold{color:var(--accent-gold);font-weight:900;}.hero-text h1{margin-top:0.8rem;margin-bottom:1.5rem;}.hero-text p{margin-bottom:2rem;}.premium-composition-details{border:0;}.premium-composition-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0;}.premium-composition-details>summary h4{margin:0;}.premium-composition-details>summary::-webkit-details-marker{display:none;}.premium-composition-details>summary .premium-toggle-icon{transition:transform 0.2s ease;}.premium-composition-details[open]>summary .premium-toggle-icon{transform:rotate(180deg);}.premium-composition-details .premium-breakdown{margin-top:12px;}.provider-directory-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#022123 0%,#043639 48%,#075a52 100%);padding:5.5rem 0 5rem;color:#fff}.provider-directory-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.10),transparent 28%),radial-gradient(circle at 88% 8%,rgba(255,255,255,.08),transparent 24%),linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.025) 48% 50%,transparent 50%);pointer-events:none}.provider-directory-section:after{content:"";position:absolute;width:360px;height:360px;right:-150px;bottom:-190px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018);pointer-events:none}.provider-directory-section>.container{position:relative;z-index:1}.directory-hero{text-align:center;max-width:820px;margin:0 auto 2.25rem}.directory-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .8rem;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);border-radius:999px;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;color:#d9f4f5}.directory-eyebrow i{font-size:.75rem}.directory-hero h1,.directory-hero h2{margin:.85rem 0 .7rem;color:#fff;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em}.directory-hero p{margin:0 auto;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.65;max-width:720px}.directory-hero .directory-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-top:1.15rem}.directory-trust span{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.78);font-size:.78rem}.directory-trust i{color:#9ce1e5}.directory-panel{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:1.35rem;box-shadow:0 24px 65px rgba(0,0,0,.20);color:#173a3c;backdrop-filter:blur(10px)}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.directory-panel{background:linear-gradient(135deg,#fff8e1 0%,#fff3c4 100%);border-color:#d4a017}.directory-grid>div{display:flex;flex-direction:column;gap:.4rem;min-width:0}.directory-grid>div>label{margin-bottom:0}.directory-grid>div>select,.directory-grid>div>input{width:100%;min-width:0}.directory-grid>div:last-child{grid-column:1 / -1}.directory-status{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#f1f7f7;color:#2f4f52;font-size:.9rem}.directory-results-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.75rem 0 1rem}.directory-results-head h3{margin:0 0 .25rem}.directory-results-head p{margin:0;color:#66766d;font-size:.9rem}.directory-results-head strong{white-space:nowrap;color:#01545f}.directory-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.directory-card{background:#fff;border:1px solid #e2e9e9;border-radius:16px;padding:1.1rem;transition:.2s;box-shadow:0 5px 18px rgba(1,57,71,.04)}.directory-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(1,57,71,.09);border-color:#b8d2d3}.directory-card h3{font-size:1rem;margin:0 0 .45rem;color:#173a3c}.directory-card p{margin:.4rem 0;color:#5f6e65;font-size:.84rem;line-height:1.45}.directory-card .badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.directory-card .badge{font-size:.7rem;padding:.28rem .5rem;border-radius:999px;background:#edf6f6;color:#235d60}.directory-card .meta{display:flex;gap:.4rem;align-items:flex-start}.directory-card .meta i{width:14px;margin-top:.15rem;color:#286c70}.directory-empty{padding:3rem 1rem;text-align:center;color:#718078;border:1px dashed #ccd8d9;border-radius:16px;background:#fbfdfd}.directory-empty i{font-size:2rem;color:#8ba9ab;margin-bottom:.75rem}.directory-empty h3{margin:.25rem 0;color:#2f4f52}.directory-empty p{margin:0}.directory-panel label{display:flex;align-items:center;gap:.42rem;margin-bottom:.42rem;font-size:.76rem;font-weight:800;color:#2f4f52}.directory-panel label i{color:#286c70;font-size:.78rem}.directory-panel select,.directory-panel input{width:100%;min-height:48px;border:1px solid #d8e3e4;border-radius:12px;background:#fff;color:#173a3c;padding:.72rem .85rem;font:inherit;outline:none;transition:.18s;box-shadow:0 2px 7px rgba(1,57,71,.03)}.directory-panel select:focus,.directory-panel input:focus{border-color:#2f8a8f;box-shadow:0 0 0 4px rgb(47, 138, 143,.12)}.directory-panel select:disabled,.directory-panel input:disabled{background:#f4f7f7;color:#89958e;cursor:not-allowed}.directory-dependent-filter{display:none}.directory-dependent-filter.is-visible{display:flex}.directory-field-highlight{padding:.2rem}.directory-status{display:flex;align-items:center;gap:.55rem;margin-top:1rem;padding:.82rem 1rem;border-radius:12px;background:#edf7f8;color:#2f4f52;font-size:.86rem;border:1px solid #d8eaeb}.directory-status i{color:#286c70}.directory-results-head h3{color:#fff}.directory-results-head p{color:rgba(255,255,255,.68)}.directory-results-head strong{color:#c8f1f3}.directory-empty{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.25)}.benefit-edit-link{cursor:pointer;text-decoration:underline;text-underline-offset:2px;}.benefit-edit-link:hover{text-decoration-thickness:2px;}.composition-section{margin-bottom:0.75rem;padding:0.75rem 0.85rem;background:#fafbfc;border:1px solid #e7ebf0;border-radius:10px;}.composition-title,.cover-limits-title{font-size:0.76rem;font-weight:800;color:var(--primary-navy);text-transform:uppercase;letter-spacing:0.035em;margin-bottom:0.45rem;}.composition-summary{font-size:0.78rem;color:#475569;line-height:1.5;}.composition-meta{margin-top:0.3rem;font-size:0.75rem;color:#64748b;}.group-premium-label{margin-top:0.55rem;padding-top:0.5rem;border-top:1px dashed #d9e0e8;font-size:0.72rem;font-weight:800;color:var(--primary-navy);}.cover-limits-title{padding-bottom:0.35rem;border-bottom:1px solid #e7ebf0;}.cover-details-container{position:relative;padding:1rem;background:radial-gradient(circle at top right,rgba(213,167,42,0.08),transparent 34%),linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,0.06);}.cover-details-heading{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.8rem;padding-bottom:0.65rem;border-bottom:1px solid #e9edf2;color:var(--primary-navy);font-size:0.9rem;font-weight:800;letter-spacing:-0.01em;}.cover-details-heading i{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#fff7df;color:var(--accent-gold) !important;box-shadow:inset 0 0 0 1px rgba(213,167,42,0.18);}.cover-detail-inner{position:relative;overflow:hidden;background:#fff;border:1px solid #e6eaf0;border-radius:12px;padding:0.8rem 0.85rem;margin-top:0.65rem;box-shadow:0 3px 10px rgba(15,23,42,0.035);transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;}.cover-detail-inner::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#d8dee7;}.cover-detail-inner:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(15,23,42,0.065);border-color:#d9e0e8;}.cover-detail-inner:first-of-type{margin-top:0;}.composition-inner::before{background:var(--primary-navy);}.limits-inner::before{background:var(--accent-gold);}.benefits-inner::before{background:#017a78;}.policy-inner::before{background:#64748b;}.premium-inner::before{background:#b88918;}.cover-details-container .composition-section{margin:0;padding:0;background:transparent;border:0;border-radius:0;}.cover-details-container .composition-title,.cover-details-container .cover-limits-title{font-size:0.74rem;letter-spacing:0.04em;margin-bottom:0.5rem;}.cover-details-container .cover-limit-list{margin:0;}.cover-details-container .cover-limit-list>div:not(.cover-limits-title){padding:0.24rem 0;}.cover-details-container .benefits-details,.cover-details-container .premium-composition-details{margin:0;}.cover-details-container .benefits-details summary,.cover-details-container .premium-composition-details summary{padding:0;min-height:28px;color:var(--primary-navy);font-weight:800;}.cover-details-container .benefits-details summary span,.cover-details-container .premium-composition-details summary span{display:inline-flex;align-items:center;gap:0.45rem;}.inner-section-heading{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.4rem;color:var(--primary-navy);font-size:0.76rem;font-weight:800;}.inner-section-heading i{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;color:var(--accent-gold);box-shadow:inset 0 0 0 1px #e7ebf0;font-size:0.72rem;}.cover-details-container .waiting-text{color:#475569;line-height:1.55;padding-left:2.1rem;}.cover-details-container .terms-copay{color:#7f1d1d;line-height:1.55;padding-left:2.1rem;font-weight:600;}.cover-details-container .benefit-list{margin-top:0.65rem;padding-top:0.55rem;border-top:1px dashed #e2e8f0;}.cover-details-container .premium-breakdown{margin-top:0.65rem;padding-top:0.55rem;border-top:1px dashed #e2e8f0;}.payment-methods-container{margin-top:0.85rem;padding:1rem;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;border-radius:16px;box-shadow:0 7px 18px rgba(15,23,42,0.05);}.payment-methods-container h4{display:flex;align-items:center;gap:0.5rem;color:var(--primary-navy);margin-bottom:0.7rem;}.payment-methods-container h4 i{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:var(--primary-navy) !important;}.payment-methods-container .payment-method{background:#fff;border:1px solid #e7ebf0;border-radius:10px;padding:0.7rem 0.75rem;margin-top:0.5rem;}.premium-main-container,.premium-family-container{margin-top:0.85rem;padding:1rem;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;border-radius:16px;box-shadow:0 7px 18px rgba(15,23,42,0.05);}.premium-main-container .premium-composition-details{margin:0;}.premium-main-container .premium-composition-details summary,.premium-family-heading{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;color:var(--primary-navy);font-size:0.86rem;font-weight:800;cursor:pointer;}.premium-main-container .premium-composition-details summary span,.premium-family-heading{display:flex;align-items:center;gap:0.5rem;}.premium-main-container .premium-composition-details summary span i,.premium-family-heading>i{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:var(--primary-navy);}.premium-main-container .premium-breakdown,.premium-family-breakdown{margin-top:0.7rem;padding-top:0.6rem;border-top:1px solid #e7ebf0;}.premium-family-breakdown div{padding:0.32rem 0;}.always-visible-heading,.premium-static-heading{display:flex;align-items:center;gap:0.5rem;color:var(--primary-navy);font-size:0.8rem;font-weight:800;}.always-visible-heading i,.premium-static-heading i{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:var(--primary-navy);}.benefits-inner .benefit-list,.premium-main-container .premium-breakdown{display:block !important;}.premium-static-heading{font-size:0.86rem;}.provider-card .sub-container,.provider-card .cover-detail-inner{font-family:inherit;color:#475569;font-size:0.76rem;line-height:1.5;}.provider-card .sub-container>h4,.provider-card .cover-details-heading,.provider-card .premium-static-heading,.provider-card .premium-family-heading,.provider-card .payment-methods-container>h4{font-size:0.86rem !important;line-height:1.3;font-weight:800 !important;letter-spacing:0 !important;text-transform:none;color:var(--primary-navy);}.provider-card .composition-title,.provider-card .cover-limits-title,.provider-card .always-visible-heading,.provider-card .inner-section-heading,.provider-card .group-premium-label{font-size:0.76rem !important;line-height:1.35;font-weight:800 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--primary-navy);}.provider-card .composition-summary,.provider-card .composition-meta,.provider-card .cover-limit-list>div:not(.cover-limits-title),.provider-card .benefit-list,.provider-card .benefit-list li,.provider-card .waiting-text,.provider-card .terms-copay,.provider-card .premium-breakdown,.provider-card .premium-breakdown div,.provider-card .group-quote-breakdown,.provider-card .group-quote-breakdown div,.provider-card .payment-method,.provider-card .payment-methods-container{font-size:0.74rem !important;line-height:1.5;font-weight:400;}.provider-card .composition-meta strong,.provider-card .cover-limit-list strong,.provider-card .premium-breakdown strong,.provider-card .group-quote-breakdown strong,.provider-card .payment-method strong{font-size:inherit;font-weight:700;color:var(--primary-navy);}.provider-card .terms-copay{color:#7f1d1d;font-weight:500;}.provider-card .cover-details-heading i,.provider-card .premium-static-heading i,.provider-card .premium-family-heading>i,.provider-card .payment-methods-container>h4 i{font-size:0.76rem !important;}.provider-card .always-visible-heading i,.provider-card .inner-section-heading i{font-size:0.7rem !important;}.provider-card .family-badge{font-size:0.66rem !important;font-weight:700;line-height:1.2;}.provider-card .quote-detail-section{margin-top:0.85rem;padding:1rem;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;border-radius:16px;box-shadow:0 7px 18px rgba(15,23,42,0.05);}.provider-card .composition-main-container{border-top-color:#e3e8ef;}.provider-card .limits-main-container{border-top-color:#e3e8ef;}.provider-card .benefits-main-container{border-top-color:#e3e8ef;}.provider-card .waiting-main-container{border-top-color:#e3e8ef;}.provider-card .copay-main-container{border-top-color:#e3e8ef;}.provider-card .quote-detail-section .composition-section{margin:0;padding:0;border:0;background:transparent;box-shadow:none;}.provider-card .quote-detail-section .cover-limit-list{margin:0;}.provider-card .quote-detail-section .benefit-list{margin-top:0.7rem;padding-top:0.6rem;border-top:1px solid #e7ebf0;}.provider-card .quote-detail-section .waiting-text,.provider-card .quote-detail-section .terms-copay{padding-left:2.1rem;margin-top:0.25rem;}.premium-family-breakdown .premium-family-total{margin-top:0.45rem;padding-top:0.55rem;border-top:1px solid #d9e0e8;font-weight:800;color:var(--primary-navy);}.premium-family-breakdown .premium-family-total span,.premium-family-breakdown .premium-family-total strong{font-weight:800 !important;color:var(--primary-navy);}.premium-family-container .premium-family-heading{display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;color:var(--primary-navy);font-size:0.86rem !important;line-height:1.3;font-weight:800 !important;letter-spacing:0 !important;text-transform:none;}.premium-family-container .premium-family-heading i{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;margin:0;background:#eef4fb;color:var(--primary-navy);font-size:0.76rem !important;}.premium-family-container .premium-family-heading span{margin:0;padding:0;}.premium-family-container .family-picture-icon{font-size:0.9rem !important;}.provider-card .premium-main-container .premium-total-row,.provider-card .premium-family-container .premium-total-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:0.55rem;padding-top:0.65rem;border-top:1px solid #d8e5e6;font-size:0.78rem !important;line-height:1.4;font-weight:800 !important;color:#016f6d !important;}.provider-card .premium-main-container .premium-total-row .label,.provider-card .premium-main-container .premium-total-row .value,.provider-card .premium-family-container .premium-total-row .label,.provider-card .premium-family-container .premium-total-row .value{margin:0;padding:0;font-size:0.78rem !important;line-height:1.4;font-weight:800 !important;color:#016f6d !important;}.provider-card h3 .fa-face-smile{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:#1565a7 !important;font-size:1rem;vertical-align:middle;margin-right:0.18rem;}.provider-card h3 .britam-badge{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;background:#0067b1;color:#ffffff;font-size:0.9rem;line-height:1;font-weight:900;font-family:inherit;vertical-align:middle;margin-right:0.18rem;box-shadow:0 2px 6px rgba(0,103,177,0.22);}.provider-card h3 .jubilee-badge{position:relative;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:flex-start;justify-content:center;flex:0 0 32px;overflow:hidden;background:#c62828;color:#fff;vertical-align:middle;margin-right:0.18rem;box-shadow:0 2px 6px rgba(198,40,40,.22);}.provider-card h3 .jubilee-badge>.fa-umbrella{position:absolute;top:4px;left:7px;font-size:1rem;color:#fff !important;z-index:2;}.provider-card h3 .jubilee-family{position:absolute;left:5px;right:5px;bottom:4px;display:flex;align-items:flex-end;justify-content:center;gap:1px;color:#fff;}.provider-card h3 .jubilee-family i{color:#fff !important;font-size:0.48rem;}.provider-card h3 .jubilee-family .fa-child{font-size:0.4rem;}.provider-card .composition-summary{display:flex;flex-wrap:wrap;column-gap:0.35rem;row-gap:0.15rem;}.provider-card .composition-summary{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;}.provider-card .composition-title,.provider-card .cover-limits-title{display:flex;align-items:center;gap:0.5rem;}.provider-card .composition-title-icon,.provider-card .cover-limits-title-icon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;background:#eef4fb;color:var(--primary-navy);font-size:0.76rem !important;}.provider-card .cover-limits-title-icon{background:#fff7df;color:var(--accent-gold);}.provider-card .group-image-icon{overflow:hidden;background:#fff;padding:2px;}.provider-card .group-image-icon img{width:100%;height:100%;display:block;object-fit:cover;border-radius:7px;}.provider-card .group-circle-icon{position:relative;width:30px;height:30px;flex:0 0 30px;padding:0;overflow:hidden;border-radius:9px;background:#f8fafc;}.provider-card .group-circle-icon .group-person{position:absolute;width:8px;height:8px;border-radius:50%;}.provider-card .group-circle-icon .group-person::after{content:"";position:absolute;width:10px;height:6px;border-radius:7px 7px 4px 4px;background:inherit;}.provider-card .group-circle-icon .gp-top{top:3px;left:11px;background:#c9365a;}.provider-card .group-circle-icon .gp-top::after{top:6px;left:-1px;}.provider-card .group-circle-icon .gp-right{top:11px;right:3px;background:#071d33;}.provider-card .group-circle-icon .gp-right::after{top:6px;left:-1px;transform:rotate(90deg);transform-origin:center;}.provider-card .group-circle-icon .gp-bottom{bottom:3px;left:11px;background:#16a6b6;}.provider-card .group-circle-icon .gp-bottom::after{top:-4px;left:-1px;transform:rotate(180deg);transform-origin:center;}.provider-card .group-circle-icon .gp-left{top:11px;left:3px;background:#ffb814;}.provider-card .group-circle-icon .gp-left::after{top:6px;left:-1px;transform:rotate(-90deg);transform-origin:center;}.provider-card .group-quadrant-icon{position:relative;width:30px;height:30px;flex:0 0 30px;padding:0;border-radius:50%;overflow:hidden;background:#fff;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;box-shadow:none;}.provider-card .group-quadrant-icon .gq{display:block;width:100%;height:100%;}.provider-card .group-quadrant-icon .q1{background:#ffb51b;border-radius:100% 0 0 0;}.provider-card .group-quadrant-icon .q2{background:#ff6655;border-radius:0 100% 0 0;}.provider-card .group-quadrant-icon .q3{background:#0bc7d1;border-radius:0 0 0 100%;}.provider-card .group-quadrant-icon .q4{background:#55a4ed;border-radius:0 0 100% 0;}.provider-card .composition-title,.provider-card .cover-limits-title,.provider-card .inner-section-heading,.provider-card .always-visible-heading,.provider-card .premium-static-heading,.provider-card .premium-family-heading,.provider-card .payment-methods-container>h4{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:0.5rem !important;margin:0 0 0.55rem 0 !important;padding:0 !important;color:var(--primary-navy) !important;font-family:inherit !important;font-size:0.86rem !important;line-height:1.3 !important;font-weight:800 !important;letter-spacing:0 !important;text-transform:none !important;}.provider-card .composition-title>i,.provider-card .composition-title>.composition-title-icon,.provider-card .cover-limits-title>i,.provider-card .cover-limits-title>.cover-limits-title-icon,.provider-card .inner-section-heading>i,.provider-card .always-visible-heading>i,.provider-card .premium-static-heading>i,.provider-card .premium-family-heading>i,.provider-card .payment-methods-container>h4>i{width:30px !important;height:30px !important;min-width:30px !important;flex:0 0 30px !important;border-radius:9px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;padding:0 !important;background:#eef4fb;color:var(--primary-navy) !important;font-size:0.76rem !important;line-height:1 !important;}.provider-card .composition-title>.group-quadrant-icon{display:grid !important;grid-template-columns:1fr 1fr !important;grid-template-rows:1fr 1fr !important;gap:2px !important;overflow:hidden !important;border-radius:50% !important;background:#fff !important;}.provider-card .cover-limits-title{border-bottom:0 !important;padding-bottom:0 !important;}.provider-card .composition-title>span:last-child,.provider-card .cover-limits-title>span:last-child,.provider-card .inner-section-heading>span,.provider-card .always-visible-heading>span,.provider-card .premium-static-heading>span,.provider-card .premium-family-heading>span,.provider-card .payment-methods-container>h4{vertical-align:middle;}.provider-card .composition-title>.group-people-icon{width:30px !important;height:30px !important;min-width:30px !important;flex:0 0 30px !important;border-radius:9px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;overflow:visible !important;background:#eef4fb !important;color:var(--primary-navy) !important;box-shadow:none !important;}.provider-card .composition-title>.group-people-icon i{color:var(--primary-navy) !important;font-size:0.82rem !important;line-height:1 !important;}.provider-card h3 .britam-badge,.provider-card h3 .jubilee-badge,.provider-card h3 .insurer-logo-badge,.provider-card h3 .apa-logo-badge,.provider-card h3 .provider-logo-fallback,.provider-card h3>i{width:32px !important;height:32px !important;min-width:32px !important;flex:0 0 32px !important;margin:0 0.42rem 0 0 !important;padding:0 !important;border-radius:50% !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;vertical-align:middle !important;box-sizing:border-box !important;line-height:1 !important;font-size:0.9rem !important;}.provider-card h3 .insurer-logo-badge,.provider-card h3 .apa-logo-badge{object-fit:cover;overflow:hidden;background:#123f82;box-shadow:0 2px 6px rgba(18,63,130,.24) !important;}.provider-card h3 .britam-badge{background:#0067b1 !important;color:#fff !important;font-weight:900 !important;box-shadow:0 2px 6px rgba(0,103,177,.20) !important;}.provider-card h3 .jubilee-badge{background:#c62828 !important;color:#fff !important;box-shadow:0 2px 6px rgba(198,40,40,.20) !important;}.provider-card h3>i,.provider-card h3 .provider-logo-fallback{background:#eef4fb !important;color:var(--primary-navy) !important;box-shadow:0 2px 6px rgba(15,23,42,.10) !important;}.provider-card h3>.fa-face-smile,.provider-card h3 .provider-logo-fallback .fa-face-smile{background:#1565a7 !important;color:#fff !important;}.provider-card h3 .provider-logo-fallback>i{width:auto !important;height:auto !important;min-width:0 !important;flex:none !important;margin:0 !important;padding:0 !important;border-radius:0 !important;background:#fff !important;box-shadow:none !important;color:inherit !important;font-size:0.9rem !important;}.provider-card h3{display:flex;align-items:center;}.provider-card h3 .aar-badge{position:relative;width:32px !important;height:32px !important;min-width:32px !important;flex:0 0 32px !important;margin:0 0.42rem 0 0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;overflow:visible;vertical-align:middle;}.provider-card h3 .aar-badge .aar-diamond{position:absolute;width:23px;height:23px;background:#ed1c24;transform:rotate(45deg);border:1px solid #9f1117;box-sizing:border-box;}.provider-card h3 .aar-badge::before,.provider-card h3 .aar-badge::after{content:"";position:absolute;z-index:1;background:#ed1c24;}.provider-card h3 .aar-badge::before{width:11px;height:30px;clip-path:polygon(50% 0,100% 18%,76% 18%,76% 82%,100% 82%,50% 100%,0 82%,24% 82%,24% 18%,0 18%);}.provider-card h3 .aar-badge::after{width:30px;height:11px;clip-path:polygon(0 50%,18% 0,18% 24%,82% 24%,82% 0,100% 50%,82% 100%,82% 76%,18% 76%,18% 100%);}.provider-card h3 .aar-badge strong{position:relative;z-index:3;color:#fff;font-family:Arial,sans-serif;font-size:0.58rem;line-height:1;font-weight:900;letter-spacing:-0.04em;text-shadow:0 1px 1px rgba(0,0,0,.16);}.provider-card h3 .aar-circle-badge{width:32px !important;height:32px !important;min-width:32px !important;flex:0 0 32px !important;margin:0 0.42rem 0 0 !important;padding:0 !important;border-radius:50% !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;box-sizing:border-box !important;background:#ed1c24 !important;color:#fff !important;font-family:Arial,sans-serif !important;font-size:0.56rem !important;line-height:1 !important;font-weight:900 !important;letter-spacing:-0.03em !important;vertical-align:middle !important;box-shadow:0 2px 6px rgba(237,28,36,.20) !important;}.provider-card h3 .aar-exact-badge{width:32px !important;height:32px !important;min-width:32px !important;flex:0 0 32px !important;margin:0 0.42rem 0 0 !important;padding:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;vertical-align:middle !important;background:transparent !important;border-radius:0 !important;box-shadow:none !important;overflow:visible !important;}.provider-card h3 .aar-exact-badge img{width:32px;height:32px;display:block;object-fit:contain;}.results-grid .provider-card,#results .provider-card{width:100%;max-width:calc(33.333% - 0.8rem);box-sizing:border-box;}@media (max-width:1050px){.results-grid .provider-card,#results .provider-card{max-width:calc(50% - 0.6rem);}}.results-grid,#results{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1.2rem !important;align-items:start !important;justify-content:stretch !important;}.results-grid .provider-card,#results .provider-card{width:100% !important;max-width:none !important;min-width:0 !important;box-sizing:border-box !important;}@media (max-width:1050px){.results-grid,#results{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}.group-families-live-total{margin-left:0.35rem;color:#01807c !important;font-size:inherit;font-weight:800;white-space:nowrap;}.provider-card .composition-summary{display:grid !important;grid-template-columns:repeat(2,minmax(0,max-content)) !important;justify-content:start !important;column-gap:0.8rem !important;row-gap:0.22rem !important;white-space:normal !important;}.provider-card .group-composition-item{display:inline-block;white-space:nowrap;}.provider-card .group-composition-separator{display:none !important;}.directory-status{border-radius:10px;padding:0.65rem 0.8rem;transition:background-color 0.18s ease,color 0.18s ease,border-color 0.18s ease;}.directory-status-loading{background:#fff1f2 !important;border:1px solid #fecdd3 !important;color:#991b1b !important;}.directory-status-loading i,.directory-status-loading strong{color:#991b1b !important;}.directory-status-success{background:#e6fbf9 !important;border:1px solid #b7f7f3 !important;color:#016f6d !important;}.directory-status-success i,.directory-status-success strong{color:#016f6d !important;}.directory-insurer-badge{display:inline-flex;align-items:center;margin:0 0.18rem 0.15rem 0;padding:0.14rem 0.42rem;border-radius:999px;background:#eef4fb;color:var(--primary-navy);border:1px solid #d9e4ef;font-size:0.68rem;font-weight:800;line-height:1.2;}.group-composition-grid{grid-template-columns:repeat(4,minmax(58px,1fr)) !important;}.provider-card .composition-summary{display:block !important;}.provider-card .group-composition-result-row{display:flex;align-items:baseline;justify-content:space-between;gap:0.75rem;padding:0.22rem 0;font-size:0.74rem;line-height:1.45;color:#475569;}.provider-card .group-composition-result-row + .group-composition-result-row{border-top:1px dashed #edf0f3;}.provider-card .group-composition-result-row strong{color:var(--primary-navy);font-size:inherit;font-weight:700;white-space:nowrap;}.provider-card .composition-meta{display:flex !important;align-items:center;justify-content:space-between;gap:0.75rem;width:100%;}.provider-card .group-total-meta{margin-left:auto !important;text-align:right;white-space:nowrap;}.quote-table-comparison{margin-top:1.25rem;padding:1rem;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,0.055);}.quote-table-heading{display:flex;align-items:center;gap:0.65rem;margin-bottom:0.85rem;}.quote-table-heading-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:var(--primary-navy);font-size:0.86rem;}.quote-table-heading h3{margin:0;color:var(--primary-navy);font-size:0.92rem;line-height:1.25;font-weight:800;}.quote-table-heading p{margin:0.15rem 0 0;color:#64748b;font-size:0.7rem;line-height:1.4;}.quote-table-scroll{width:100%;overflow-x:auto;border:1px solid #e5e9ef;border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch;}#quoteComparisonTable{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;font-size:0.72rem;line-height:1.4;color:#475569;}#quoteComparisonTable th,#quoteComparisonTable td{padding:0.7rem 0.75rem;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:top;}#quoteComparisonTable th:last-child,#quoteComparisonTable td:last-child{border-right:0;}#quoteComparisonTable tbody tr:last-child th,#quoteComparisonTable tbody tr:last-child td{border-bottom:0;}#quoteComparisonTable thead th{background:#f3f6fa;color:var(--primary-navy);font-size:0.73rem;font-weight:800;white-space:nowrap;}#quoteComparisonTable .comparison-feature-col,#quoteComparisonTable tbody th{position:sticky;left:0;z-index:2;min-width:145px;background:#f8fafc;color:var(--primary-navy);font-weight:800;}#quoteComparisonTable thead .comparison-feature-col{z-index:3;background:#eaf0f7;}#quoteComparisonTable td{min-width:180px;}#quoteComparisonTable .premium-row td{color:#016f6d;font-weight:800;background:#f3fbfb;}#quoteComparisonTable .premium-row th{color:#016f6d;}#quoteComparisonTable .copay-row td{color:#7f1d1d;font-weight:600;}#quoteComparisonTable .comparison-action-row th,#quoteComparisonTable .comparison-action-row td{padding:0.8rem 0.65rem;vertical-align:middle;background:#fff;}.comparison-table-btn{width:100%;border:0;border-radius:999px;padding:0.55rem 0.7rem;font:inherit;font-weight:800;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;}.comparison-table-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,0.12);}.comparison-download-btn{background:#fff;color:var(--accent-green);border:1px solid var(--accent-green);}.comparison-cover-btn{background:var(--quote-accent,var(--accent-green));color:#fff;}.quote-grid,.selector-grid,.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.quote-grid>*,.selector-grid>*,.form-grid>*{min-width:0;}.cover-type-grid,.insurer-grid,.inpatient-grid,.family-grid,.selector-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.cover-type-grid>*,.insurer-grid>*,.inpatient-grid>*,.family-grid>*,.selector-row>*{width:100%;}.selector-row,.cover-type-options,.insurer-selector,.inpatient-selector{display:flex;gap:12px;}.selector-row>*,.cover-type-options>*,.insurer-selector>*,.inpatient-selector>*{flex:1 1 33.333%;max-width:33.333%;}.quote-form-grid,.family-grid,.selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}.quote-form-grid .selector-card,.family-grid .selector-card,.selector-grid .selector-card{width:100%;max-width:none;}.cover-type-selector,.cover-type-option,.cover-type-card{width:100%;max-width:none;}.cover-type-selector{flex:1 1 0;}.quote-engine-card{border-radius:24px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.08);}.quote-section-title{font-weight:700;letter-spacing:.2px;}.selector-card{border-radius:16px;transition:transform .2s ease,box-shadow .2s ease;}.selector-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08);}.compare-button{border-radius:14px;font-weight:700;padding:16px 24px;}.limit-type-toggle{display:flex;border:1px solid #d9e3e3;border-radius:12px;overflow:hidden;}.limit-type-toggle label{flex:1;padding:12px;text-align:center;cursor:pointer;font-weight:600;}.limit-type-toggle input{display:none;}.limit-type-toggle input:checked + span{display:block;background:#0b747a;color:white;border-radius:8px;}.limit-type-toggle span{display:block;}.person-family-toggle{display:flex;width:100%;border:1px solid #d8e2e3;border-radius:14px;overflow:hidden;background:#fff;}.person-family-toggle label{flex:1;padding:12px;text-align:center;cursor:pointer;font-weight:600;}.person-family-toggle input{display:none;}.person-family-toggle label:has(input:checked){background:#08797f;color:#fff;}.cover-type-card{width:100%;max-width:100%;}.cover-type-heading{flex:0 0 33.333% !important;width:33.333%;}.cover-type-toggle{flex:0 0 66.666%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;}.cover-type-toggle label{width:100%;}.cover-type-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;align-items:center;}.cover-type-card .cover-type-heading,.cover-type-card .cover-type-toggle{width:100%;max-width:100%;flex:none !important;min-width:0;}.cover-type-card .cover-type-toggle{grid-column:span 2;}.insurer-card .cover-type-heading{flex:0 0 33.333% !important;}.insurer-control{display:flex;gap:0.6rem;}.insurer-control select{flex:1;}.form-group:has(.limit-scope-wrapper)>label{flex:0 0 33.333%;}.form-group:has(.limit-scope-wrapper) .limit-scope-wrapper{flex:0 0 66.666%;}.quote-fixed-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0.8rem;align-items:center;}.quote-fixed-row>*{min-width:0;width:100%;}.quote-fixed-row select,.quote-fixed-row input{width:100%;max-width:100%;}.form-group:has(.scope-group),.form-group:has(#maternityLimit),.insurer-card,.cover-type-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0.8rem;align-items:center;}.form-group:has(.scope-group)>label,.form-group:has(#maternityLimit)>label,.insurer-card .cover-type-heading{width:100%;min-width:0;}.insurer-control,.inpatient-control,.limit-scope-wrapper,.cover-type-toggle{width:100%;min-width:0;}.quote-wrapper .insurer-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:0.8rem;align-items:center;}.quote-wrapper .insurer-card .cover-type-heading{width:100%;min-width:0;}.quote-wrapper .insurer-control{width:100%;min-width:0;}.quote-wrapper .insurer-control select{width:100%;}.quote-wrapper #planGroup{grid-column:3;width:100%;}.quote-wrapper .insurer-control{width:100%;min-width:0;}.quote-wrapper .insurer-control select{width:100%;}.form-group:has(#outpatientLimit)>label:before{content:"\f0f8";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:8px;color:#016f6d;}.form-group:has(#maternityLimit)>label:before{content:"\f77b";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:8px;color:#016f6d;}.form-group:has(#dentalLimit)>label:before{content:"\f5c9";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:8px;color:#016f6d;}.form-group:has(#opticalLimit)>label:before{content:"\f06e";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:8px;color:#016f6d;}.quote-wrapper .limit-scope-wrapper{display:flex;align-items:center;gap:.8rem;width:100%;}.quote-wrapper .limit-scope-wrapper select{flex:1;min-width:0;}.quote-wrapper .maternity-limit-row,.quote-wrapper .form-group:has(#maternityLimit) .limit-scope-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;width:100%;}.quote-wrapper .maternity-disabled-note{width:100%;display:flex;align-items:center;background:#f8fafc;border:1px solid #d9e0e8;border-radius:10px;padding:0.55rem 0.75rem;font-size:0.75rem;font-weight:700;color:#475569;}.quote-wrapper .form-group:has(#outpatientLimit),.quote-wrapper .form-group:has(#dentalLimit),.quote-wrapper .form-group:has(#opticalLimit){display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:0.8rem;}.quote-wrapper .form-group:has(#outpatientLimit)>label:before,.quote-wrapper .form-group:has(#dentalLimit)>label:before,.quote-wrapper .form-group:has(#opticalLimit)>label:before{font-family:'Font Awesome 6 Free';font-weight:900;margin-right:0.4rem;color:#016f6d;}.quote-wrapper .form-group:has(#outpatientLimit)>label:before{content:'\f3c5';}.quote-wrapper .form-group:has(#dentalLimit)>label:before{content:'\f1fd';}.quote-wrapper .form-group:has(#opticalLimit)>label:before{content:'\f06e';}.quote-wrapper .limit-scope-wrapper select{width:100%;min-height:38px;border:1.5px solid #d9e0e8;border-radius:10px;padding:0.55rem 0.75rem;font-weight:750;}.optional-benefit-row .form-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:0.8rem;width:100%;}.optional-benefit-row .form-group>label{width:100%;min-width:0;display:flex;align-items:center;gap:0.35rem;font-weight:700;}.optional-benefit-row .limit-scope-wrapper{display:contents;}.optional-benefit-row select{width:100%;min-width:0;}.optional-benefit-row .scope-group{width:100%;display:flex;justify-content:flex-start;gap:0.35rem;}.optional-benefit-row .radio-option{border:1px solid #019e98;border-radius:18px;padding:0.22rem 0.45rem;color:#016f6d;background:#fff;font-size:0.68rem;white-space:nowrap;}.optional-benefit-row .radio-option:has(input:checked){background:#019e98;color:#fff;}.optional-benefit-row .radio-option input{margin-right:3px;}.optional-benefit-row .form-group{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:0.8rem;width:100%;}.optional-benefit-row .form-group>label{display:flex;align-items:center;gap:0.45rem;font-weight:700;min-width:0;}.optional-benefit-row .limit-scope-wrapper{display:contents;}.optional-benefit-row .limit-scope-wrapper select{width:100%;min-width:0;}.optional-benefit-row .scope-group{display:flex;justify-content:flex-start;gap:0.35rem;flex-wrap:nowrap;min-width:0;}.optional-benefit-row .radio-option{border:1px solid #017a78;color:#017a78;background:#fff;border-radius:18px;padding:0.22rem 0.55rem;font-size:0.7rem;font-weight:700;white-space:nowrap;}.optional-benefit-row .radio-option input{accent-color:#017a78;}.maternity-disabled-note{font-size:0.72rem;font-weight:700;color:#017a78;}.quote-wrapper .maternity-optical-style .form-group{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;align-items:center !important;gap:0.8rem !important;width:100% !important;}.quote-wrapper .maternity-optical-style .limit-scope-wrapper{display:contents !important;}.quote-wrapper .maternity-optical-style #maternityLimit{width:100% !important;min-width:0 !important;max-width:100% !important;}.quote-wrapper .maternity-optical-style .maternity-disabled-note{width:100% !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:transparent !important;color:#017a78 !important;font-size:0.65rem !important;font-style:italic !important;font-weight:500 !important;display:flex !important;align-items:center !important;}.quote-wrapper .form-group:has(#outpatientLimit),.quote-wrapper .form-group:has(#maternityLimit),.quote-wrapper .form-group:has(#dentalLimit),.quote-wrapper .form-group:has(#opticalLimit){display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:0.8rem;}.quote-wrapper .form-group:has(#outpatientLimit)>label:before,.quote-wrapper .form-group:has(#dentalLimit)>label:before,.quote-wrapper .form-group:has(#opticalLimit)>label:before{content:none !important;}.optional-benefit-row .scope-group{display:flex;gap:0.8rem;align-items:center;flex-wrap:nowrap;}.optional-benefit-row .radio-option{border:none !important;background:transparent !important;color:#475569 !important;padding:0 !important;border-radius:0 !important;font-size:0.7rem;font-weight:600;white-space:nowrap;}.optional-benefit-row .radio-option input{width:14px;height:14px;margin-right:0.25rem;accent-color:#017a78;}.optional-benefit-row .radio-option:has(input:checked){color:#017a78 !important;background:transparent !important;}.quote-wrapper .maternity-fixed-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.8rem;align-items:center;}.quote-wrapper .maternity-fixed-row>*{min-width:0;width:100%;}.quote-wrapper .maternity-selector-cell select{width:100%;max-width:100%;}.quote-wrapper .maternity-disabled-note{background:none;border:none;padding:0;display:flex;align-items:center;font-size:0.7rem;font-style:italic;color:#017a78;}.quote-wrapper .form-group:has(#maternityLimit)>label::before{content:none !important;display:none !important;}.callback-cta-section{position:relative;overflow:hidden;margin:2.5rem 0;padding:0;border-radius:26px;background:linear-gradient(135deg,#063c3f 0%,#075a5e 48%,#08797f 100%);box-shadow:0 18px 45px rgb(5, 67, 70,.20);}.callback-cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.35rem 2.5rem;}.callback-cta-copy{max-width:720px;color:#fff}.callback-eyebrow{display:inline-flex;align-items:center;margin-bottom:.7rem;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.10);color:#d9f6f7;font-size:.72rem;font-weight:800;letter-spacing:.12em;}.callback-cta-copy h2{margin:0 0 .55rem;color:#fff;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15;}.callback-cta-copy p{margin:0;max-width:650px;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.6;}.callback-trust{display:flex;flex-wrap:wrap;gap:.65rem 1.15rem;margin-top:1.15rem;color:#d9f6f7;font-size:.82rem;font-weight:600;}.callback-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem;}.callback-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.8rem 1.15rem;border-radius:14px;border:1px solid transparent;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}.callback-btn:hover{transform:translateY(-2px);}.callback-btn-primary{background:#fff;color:#075a5e;box-shadow:0 10px 25px rgba(0,0,0,.15);}.callback-btn-primary:hover{box-shadow:0 14px 30px rgba(0,0,0,.20);}.callback-btn-whatsapp{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.30);backdrop-filter:blur(8px);}.callback-btn-whatsapp:hover{background:rgba(255,255,255,.18);}.callback-btn-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:1rem;}.callback-btn-primary .callback-btn-icon{background:#e8f5f6;}.callback-btn-whatsapp .callback-btn-icon{background:rgba(255,255,255,.18);}.callback-cta-glow{position:absolute;width:280px;height:280px;right:-90px;top:-150px;border-radius:50%;background:rgba(255,255,255,.08);}.callback-cta-section::after{content:"";position:absolute;width:180px;height:180px;left:-90px;bottom:-120px;border-radius:50%;background:rgba(255,255,255,.06);}.cover-type-grid,.insurer-grid,.inpatient-grid,.family-grid,.selector-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.cover-type-grid>*,.insurer-grid>*,.inpatient-grid>*,.family-grid>*,.selector-row>*{width:100%;}.cover-type-card{width:100%;max-width:100%;}.cover-type-heading{flex:0 0 33.333% !important;width:33.333%;}.cover-type-toggle{flex:0 0 66.666%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;}.cover-type-toggle label{width:100%;}.cover-type-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;align-items:center;}.cover-type-card .cover-type-heading,.cover-type-card .cover-type-toggle{width:100%;max-width:100%;flex:none !important;min-width:0;}.cover-type-card .cover-type-toggle{grid-column:span 2;}.insurer-card .cover-type-heading{flex:0 0 33.333% !important;}.insurer-control{display:flex;gap:0.6rem;}.insurer-control select{flex:1;}.form-group:has(.limit-scope-wrapper)>label{flex:0 0 33.333%;}.form-group:has(.limit-scope-wrapper) .limit-scope-wrapper{flex:0 0 66.666%;}.radio-box{border:1.5px solid #01807c !important;border-radius:9px !important;overflow:hidden !important;background:#fff !important;}.radio-box label{background:#fff;}.radio-box label + label{border-left:1.5px solid #01807c !important;}.radio-box label:has(input:checked){background:#01807c !important;color:#fff !important;font-weight:600 !important;}.radio-box label:has(input:checked) input{accent-color:#fff;}.radio-box{display:flex !important;height:38px !important;border:1px solid #d5dfe3 !important;border-radius:9px !important;overflow:hidden !important;background:#fff !important;width:100% !important;}.radio-box label{flex:1 1 50% !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;padding:0 8px !important;cursor:pointer !important;font-size:11px !important;font-weight:500 !important;color:#6b7280 !important;background:#fff !important;white-space:nowrap !important;margin:0 !important;min-width:0 !important;}.radio-box label + label{border-left:1px solid #d5dfe3 !important;}.radio-box input[type="radio"]{appearance:none !important;-webkit-appearance:none !important;width:12px !important;height:12px !important;border:1.5px solid #9ca3af !important;border-radius:50% !important;background:#fff !important;margin:0 !important;flex:0 0 12px !important;position:relative !important;cursor:pointer !important;}.radio-box input[type="radio"]:checked{border-color:#01807c !important;background:radial-gradient(circle at center,#01807c 0 3px,transparent 3.2px) !important;}.radio-box label:has(input[type="radio"]:checked){background:#eaf6f5 !important;color:#017a78 !important;font-weight:600 !important;}@media (min-width:651px){.benefit-row .radio-box,.form-group .radio-box,.limit-scope-wrapper .radio-box{align-self:center !important;}}.radio-box{display:flex!important;height:38px!important;width:100%!important;border:1px solid #d5dfe3!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important}.radio-box label{flex:1 1 50%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0 8px!important;margin:0!important;cursor:pointer!important;font-size:11px!important;font-weight:500!important;color:#6b7280!important;background:#fff!important;white-space:nowrap!important;min-width:0!important}.radio-box label+label{border-left:1px solid #d5dfe3!important}.radio-box input[type=radio]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.radio-box label:has(input[type=radio]:checked){background:#eaf6f5!important;color:#017a78!important;font-weight:700!important}.radio-box label:has(input[type=radio]:checked)::before{content:"✓"!important;color:#01807c!important;font-size:12px!important;font-weight:900!important;line-height:1!important}.radio-box label:not(:has(input[type=radio]:checked))::before{content:none!important}.radio-box{display:flex !important;height:38px !important;width:100% !important;border:1px solid #d5dfe3 !important;border-radius:9px !important;overflow:hidden !important;background:#fff !important;}.radio-box label{flex:1 1 50% !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;padding:0 8px !important;margin:0 !important;cursor:pointer !important;font-size:11px !important;font-weight:500 !important;color:#6b7280 !important;background:#fff !important;white-space:nowrap !important;min-width:0 !important;}.radio-box label + label{border-left:1px solid #d5dfe3 !important;}.radio-box input[type="radio"]{position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;pointer-events:none !important;}.radio-box label:has(input[type="radio"]:checked){background:#eaf6f5 !important;color:#017a78 !important;font-weight:700 !important;}.radio-box label:has(input[type="radio"]:checked)::before{content:"✓" !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;color:#01807c !important;font-size:12px !important;font-weight:900 !important;line-height:1 !important;}.radio-box label:not(:has(input[type="radio"]:checked))::before{content:none !important;}.group-families-live-total{display:block !important;width:fit-content;margin:0.45rem auto 0 !important;padding:0.28rem 0.75rem !important;background:#eaf6f7 !important;border:1px solid #01696a !important;color:#01696a !important;border-radius:999px !important;font-size:0.72rem !important;font-weight:800 !important;line-height:1.2 !important;text-align:center !important;}.group-composition-grid{grid-template-columns:repeat(8,minmax(55px,1fr)) !important;}.cover-type-grid,.insurer-grid,.inpatient-grid,.family-grid,.selector-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.cover-type-grid>*,.insurer-grid>*,.inpatient-grid>*,.family-grid>*,.selector-row>*{width:100%;}.cover-type-card{width:100%;max-width:100%;}.cover-type-heading{flex:0 0 33.333% !important;width:33.333%;}.cover-type-toggle{flex:0 0 66.666%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;}.cover-type-toggle label{width:100%;}.cover-type-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;align-items:center;}.cover-type-card .cover-type-heading,.cover-type-card .cover-type-toggle{width:100%;max-width:100%;flex:none !important;min-width:0;}.cover-type-card .cover-type-toggle{grid-column:span 2;}.insurer-card .cover-type-heading{flex:0 0 33.333% !important;}.insurer-control{display:flex;gap:0.6rem;}.insurer-control select{flex:1;}.form-group:has(.limit-scope-wrapper)>label{flex:0 0 33.333%;}.form-group:has(.limit-scope-wrapper) .limit-scope-wrapper{flex:0 0 66.666%;}.optional-benefit-row .form-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:0.8rem;align-items:center;width:100%;}.optional-benefit-row .form-group>label{display:flex;align-items:center;gap:0.45rem;width:100%;min-width:0;font-weight:800;color:#475569;}.optional-benefit-row .form-group>label i{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#e6fbf9;color:#016f6d;}.optional-benefit-row .limit-scope-wrapper{display:contents;}.optional-benefit-row select{width:100%;min-width:0;padding:0.55rem 0.75rem;border:1.5px solid #d9e0e8;border-radius:10px;background:#fff;color:#475569;font-size:0.75rem;font-weight:750;min-height:38px;}.optional-benefit-row .scope-group{display:flex;gap:0.35rem;width:100%;justify-content:flex-start;}.optional-benefit-row .radio-option{flex:0 0 auto;border:1px solid #017a78;border-radius:18px;padding:0.3rem 0.55rem;color:#017a78;background:#fff;font-size:0.7rem;font-weight:700;white-space:nowrap;}.optional-benefit-row .radio-option:has(input:checked){background:#017a78;color:#fff;}.maternity-disabled-note{color:#016f6d;font-weight:700;font-size:0.72rem;}.quote-wrapper .optional-benefit-row .form-group:has(#maternityLimit){display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.8rem;align-items:center;}.quote-wrapper .form-group:has(#maternityLimit)>label{min-width:0 !important;width:100%;flex:none !important;}.quote-wrapper .form-group:has(#maternityLimit) .limit-scope-wrapper{display:block;width:100%;}.quote-wrapper #maternityLimit{width:100%;max-width:100%;}.maternity-disabled-note{grid-column:3;font-size:0.7rem;font-style:italic;color:#017a78;margin-top:3px;background:none !important;border:none !important;padding:0 !important;}.maternity-fixed-row{display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:0.8rem;align-items:center;}.maternity-fixed-row>.form-group,.maternity-fixed-row .maternity-selector-cell,.maternity-fixed-row .maternity-disabled-note{width:100% !important;min-width:0 !important;max-width:none !important;}.maternity-fixed-row .maternity-selector-cell select{width:100% !important;max-width:100% !important;}.maternity-disabled-note{font-size:0.7rem !important;font-style:italic !important;color:#017a78 !important;white-space:nowrap;}#inpatientScopeGroup{display:flex;gap:0.35rem;width:100%;justify-content:flex-start;align-items:center;flex-wrap:nowrap;}#inpatientScopeGroup .radio-option{flex:0 0 auto;border:1px solid #017a78;border-radius:18px;padding:0.3rem 0.55rem;color:#017a78;background:#fff;font-size:0.7rem;font-weight:700;white-space:nowrap;cursor:pointer;}#inpatientScopeGroup .radio-option input[type="radio"]{accent-color:#017a78;margin-right:0.25rem;}#inpatientScopeGroup .radio-option:has(input:checked){background:#017a78;color:#fff;}#inpatientScopeGroup,.optional-benefit-row .scope-group{display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 !important;width:100% !important;min-width:0 !important;border:1px solid #017a78 !important;border-radius:10px !important;overflow:hidden !important;background:#fff !important;}#inpatientScopeGroup .radio-option,.optional-benefit-row .scope-group .radio-option{margin:0 !important;padding:0.42rem 0.35rem !important;border:0 !important;border-radius:0 !important;background:#fff !important;color:#016f6d !important;font-size:0.68rem !important;font-weight:700 !important;line-height:1.2 !important;text-align:center !important;white-space:nowrap !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;}#inpatientScopeGroup .radio-option + .radio-option,.optional-benefit-row .scope-group .radio-option + .radio-option{border-left:1px solid #017a78 !important;}#inpatientScopeGroup .radio-option input[type="radio"],.optional-benefit-row .scope-group .radio-option input[type="radio"]{position:absolute !important;opacity:0 !important;pointer-events:none !important;}#inpatientScopeGroup .radio-option:has(input:checked),.optional-benefit-row .scope-group .radio-option:has(input:checked){background:#017a78 !important;color:#fff !important;}#inpatientScopeGroup .radio-option:has(input:disabled),.optional-benefit-row .scope-group .radio-option:has(input:disabled){color:#94a3b8 !important;background:#f8fafc !important;cursor:not-allowed !important;}.optional-benefit-row .form-group>label .optional-text{font-weight:400 !important;color:#777 !important;}#inpatientScopeGroup,.optional-benefit-row .scope-group{display:flex !important;height:38px !important;width:100% !important;border:1px solid #d5dfe3 !important;border-radius:9px !important;overflow:hidden !important;background:#fff !important;gap:0 !important;}#inpatientScopeGroup .radio-option,.optional-benefit-row .scope-group .radio-option{flex:1 1 50% !important;min-width:0 !important;margin:0 !important;padding:0 8px !important;border:0 !important;border-radius:0 !important;background:#fff !important;color:#536174 !important;font-size:11px !important;font-weight:400 !important;white-space:nowrap !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;}#inpatientScopeGroup .radio-option + .radio-option,.optional-benefit-row .scope-group .radio-option + .radio-option{border-left:1px solid #d5dfe3 !important;}#inpatientScopeGroup .radio-option input[type="radio"],.optional-benefit-row .scope-group .radio-option input[type="radio"]{position:static !important;opacity:1 !important;pointer-events:auto !important;margin:0 !important;width:auto !important;height:auto !important;accent-color:#01807c !important;}#inpatientScopeGroup .radio-option:has(input:checked),.optional-benefit-row .scope-group .radio-option:has(input:checked){background:#eaf6f5 !important;color:#017a78 !important;font-weight:600 !important;}#inpatientScopeGroup .radio-option:has(input:disabled),.optional-benefit-row .scope-group .radio-option:has(input:disabled){background:#f8fafc !important;color:#94a3b8 !important;cursor:not-allowed !important;}#inpatientScopeGroup,#outpatientScopeGroup,#dentalScopeGroup,#opticalScopeGroup{display:flex !important;width:100% !important;height:38px !important;border:1px solid #d5dfe3 !important;border-radius:9px !important;overflow:hidden !important;background:#fff !important;gap:0 !important;}#inpatientScopeGroup .radio-option,#outpatientScopeGroup .radio-option,#dentalScopeGroup .radio-option,#opticalScopeGroup .radio-option{position:relative !important;flex:1 1 50% !important;min-width:0 !important;height:100% !important;margin:0 !important;padding:0 8px !important;border:0 !important;border-radius:0 !important;background:#fff !important;color:#64748b !important;font-size:11px !important;font-weight:500 !important;white-space:nowrap !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;}#inpatientScopeGroup .radio-option + .radio-option,#outpatientScopeGroup .radio-option + .radio-option,#dentalScopeGroup .radio-option + .radio-option,#opticalScopeGroup .radio-option + .radio-option{border-left:1px solid #d5dfe3 !important;}#inpatientScopeGroup .radio-option input[type="radio"],#outpatientScopeGroup .radio-option input[type="radio"],#dentalScopeGroup .radio-option input[type="radio"],#opticalScopeGroup .radio-option input[type="radio"]{position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;margin:0 !important;pointer-events:none !important;}#inpatientScopeGroup .radio-option:has(input[type="radio"]:checked),#outpatientScopeGroup .radio-option:has(input[type="radio"]:checked),#dentalScopeGroup .radio-option:has(input[type="radio"]:checked),#opticalScopeGroup .radio-option:has(input[type="radio"]:checked){background:#eaf6f5 !important;color:#017a78 !important;font-weight:700 !important;}#inpatientScopeGroup .radio-option:has(input[type="radio"]:checked)::before,#outpatientScopeGroup .radio-option:has(input[type="radio"]:checked)::before,#dentalScopeGroup .radio-option:has(input[type="radio"]:checked)::before,#opticalScopeGroup .radio-option:has(input[type="radio"]:checked)::before{content:"✓" !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;color:#01807c !important;font-size:12px !important;font-weight:900 !important;line-height:1 !important;}#dentalScopeGroup .radio-option:has(input:disabled),#opticalScopeGroup .radio-option:has(input:disabled){background:#f8fafc !important;color:#94a3b8 !important;cursor:not-allowed !important;}#groupComposition{order:initial !important;}#groupComposition .group-composition-grid{display:grid !important;grid-template-columns:repeat(4,minmax(70px,1fr)) !important;gap:0.55rem !important;margin-bottom:0.75rem !important;}#groupComposition .group-composition-head{margin-bottom:0.7rem !important;}#groupComposition .group-composition-head strong{display:block !important;width:100% !important;font-size:0.82rem !important;font-weight:700 !important;color:var(--primary-navy) !important;}#groupComposition .group-composition-head span{display:block !important;width:100% !important;margin-top:0.15rem !important;font-size:0.7rem !important;font-style:italic !important;color:#64748b !important;}#groupComposition .group-average-age-row{margin-top:0.25rem !important;margin-bottom:0.45rem !important;display:flex !important;align-items:center !important;gap:0.55rem !important;flex-wrap:wrap !important;white-space:normal !important;}#groupComposition .group-average-label{font-size:0.74rem !important;font-weight:800 !important;color:#475569 !important;}#groupComposition .group-average-age-row small{font-size:0.67rem !important;font-style:italic !important;color:#64748b !important;}#groupComposition .group-quote-breakdown{margin-top:0.35rem !important;padding-top:0.45rem !important;border-top:1px dashed #d9e0e8 !important;}#groupComposition .group-composition-head{display:flex !important;align-items:baseline !important;gap:0.35rem !important;flex-wrap:nowrap !important;white-space:nowrap !important;}#groupComposition .group-composition-head strong,#groupComposition .group-composition-head span{display:inline !important;width:auto !important;margin:0 !important;}#groupComposition .group-average-age-row{display:flex !important;align-items:center !important;gap:0.45rem !important;flex-wrap:nowrap !important;white-space:nowrap !important;overflow-x:auto !important;}#groupComposition .group-average-age-row small{flex:0 0 auto !important;overflow:visible !important;text-overflow:clip !important;}#groupComposition .group-quote-breakdown{text-align:center !important;}#groupComposition .group-quote-breakdown>div{justify-content:center !important;text-align:center !important;}#groupComposition .group-quote-breakdown{order:999 !important;width:100% !important;margin-top:0.75rem !important;padding-top:0.5rem !important;text-align:center !important;}#groupComposition .group-quote-breakdown>div{justify-content:center !important;text-align:center !important;}#groupComposition .group-average-label{font-size:0.82rem !important;font-weight:700 !important;color:var(--primary-navy) !important;line-height:1.2 !important;}#groupComposition .group-composition-head{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0.35rem !important;width:auto !important;max-width:100% !important;padding:0.42rem 0.7rem !important;margin:0 0 0.7rem 0 !important;border-radius:999px !important;background:#eaf6f7 !important;border:1px solid #b7dedd !important;color:#017a78 !important;white-space:nowrap !important;}#groupComposition .group-composition-head strong{color:#017a78 !important;font-size:0.78rem !important;font-weight:700 !important;display:inline !important;width:auto !important;}#groupComposition .group-composition-head span{color:#4f7d7f !important;font-size:0.7rem !important;font-style:italic !important;display:inline !important;width:auto !important;margin:0 !important;}.group-members-badge-wrap{width:100% !important;display:flex !important;justify-content:center !important;align-items:center !important;margin:0.55rem 0 0.8rem !important;}#groupComposition .group-average-age-row{display:flex !important;align-items:center !important;justify-content:center !important;gap:0.5rem !important;flex-wrap:nowrap !important;width:100% !important;margin:0.65rem auto !important;white-space:nowrap !important;}#groupComposition .group-average-age-row{background:#eaf6f5 !important;border:1px solid #b7dedd !important;border-radius:9px !important;padding:0 !important;overflow:hidden !important;width:fit-content !important;max-width:100% !important;min-height:38px !important;}#groupComposition .group-average-label{display:flex !important;align-items:center !important;height:38px !important;padding:0 0.75rem !important;margin:0 !important;border-right:1px solid #b7dedd !important;color:#017a78 !important;font-size:0.78rem !important;font-weight:700 !important;background:#eaf6f5 !important;}#groupComposition .group-age-options{display:flex !important;align-items:stretch !important;gap:0 !important;height:38px !important;margin:0 !important;}#groupComposition .group-age-options label{margin:0 !important;height:38px !important;display:flex !important;}#groupComposition .group-age-options span{min-width:42px !important;height:38px !important;padding:0 0.65rem !important;border:0 !important;border-radius:0 !important;border-right:1px solid #b7dedd !important;background:#fff !important;color:#536174 !important;font-size:0.74rem !important;font-weight:700 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;}#groupComposition .group-age-options label:last-child span{border-right:1px solid #b7dedd !important;}#groupComposition .group-age-options input:checked + span{background:#01807c !important;color:#fff !important;box-shadow:none !important;}#groupComposition .group-average-age-row small{display:flex !important;align-items:center !important;height:38px !important;padding:0 0.7rem !important;margin:0 !important;color:#4f7d7f !important;font-size:0.67rem !important;font-style:italic !important;background:#eaf6f5 !important;overflow:visible !important;text-overflow:clip !important;flex:0 0 auto !important;}#groupComposition .group-composition-head{display:flex !important;justify-content:center !important;align-items:center !important;width:100% !important;margin-left:auto !important;margin-right:auto !important;text-align:center !important;}.group-members-badge-wrap{width:100% !important;display:flex !important;justify-content:flex-end !important;align-items:center !important;margin:0.55rem 0 0.8rem !important;text-align:right !important;}.group-families-live-total{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:auto !important;padding:0.38rem 0.7rem !important;border-radius:999px !important;background:#ffd84d !important;border:1px solid #e3b900 !important;color:#111 !important;font-size:0.72rem !important;font-weight:800 !important;line-height:1 !important;white-space:nowrap !important;}.group-families-live-total{background:#d4af37 !important;border-color:#b8941f !important;color:#111 !important;}#groupComposition .group-members-badge-wrap{width:100% !important;display:flex !important;justify-content:flex-end !important;align-items:center !important;margin:0.55rem 0 !important;}#inpatientLimit.compare-all-select-required{color:#c62828 !important;font-weight:700 !important;}#inpatientLimit.compare-all-select-required option{color:#536174;font-weight:400;}#inpatientLimit.compare-all-select-required option[value="none"],#inpatientLimit.compare-all-select-required option[value=""]{color:#c62828 !important;font-weight:700 !important;}button[id*="reset" i],button[class*="reset" i],input[type="button"][id*="reset" i],input[type="reset"]{background:#b54a4a !important;color:#fff !important;border:1px solid #9f3f3f !important;box-shadow:none !important;}button[id*="reset" i]:hover,button[class*="reset" i]:hover,input[type="button"][id*="reset" i]:hover,input[type="reset"]:hover{background:#9f3f3f !important;}.inpatient-required-asterisk{color:#c62828 !important;font-weight:800 !important;margin-left:2px !important;}.provider-card{position:relative !important;}.provider-card .sticky-quote-summary{position:sticky !important;top:78px !important;z-index:20 !important;margin:-0.15rem -0.2rem 0.8rem !important;padding:0.62rem 0.75rem !important;background:rgba(255,255,255,0.97) !important;border:1px solid #e2e8f0 !important;border-radius:12px !important;box-shadow:0 6px 16px rgba(15,23,42,0.10) !important;backdrop-filter:blur(8px);}.provider-card .sticky-quote-main{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:0.8rem !important;}.provider-card .sticky-quote-plan{min-width:0 !important;color:var(--primary-navy) !important;font-size:0.84rem !important;font-weight:800 !important;line-height:1.2 !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}.provider-card .sticky-quote-price{flex:0 0 auto !important;color:var(--accent-red) !important;font-size:1rem !important;font-weight:900 !important;white-space:nowrap !important;}.provider-card .sticky-quote-limits{display:flex !important;align-items:center !important;gap:0.38rem !important;flex-wrap:wrap !important;margin-top:0.42rem !important;padding-top:0.42rem !important;border-top:1px solid #edf2f7 !important;}.provider-card .sticky-limit-chip{display:inline-flex !important;align-items:center !important;gap:0.18rem !important;padding:0.16rem 0.42rem !important;border-radius:999px !important;background:#f8fafc !important;border:1px solid #e2e8f0 !important;color:#475569 !important;font-size:0.66rem !important;font-weight:700 !important;white-space:nowrap !important;}.provider-card .sticky-limit-chip strong{color:var(--primary-navy) !important;font-weight:800 !important;}.provider-card .sticky-quote-summary{opacity:0 !important;pointer-events:none !important;transform:translateY(-4px) !important;transition:opacity .16s ease,transform .16s ease !important;}.provider-card .sticky-quote-summary.is-stuck-visible{opacity:1 !important;transform:translateY(0) !important;}.stats-grid,.hero-stats,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}@media (min-width:993px){#hero .hero-grid{align-items:start !important;}#hero .hero-text,#hero .quote-wrapper{margin-top:0 !important;padding-top:0 !important;}#hero .hero-text h1{margin-top:0 !important;}}@media (min-width:993px){#hero .hero-text{padding-top:18px !important;}}@media (min-width:993px){#quote-form{padding-top:18px !important;}}#quote-form>h2{margin-top:10px !important;margin-left:8px !important;margin-right:8px !important;}#quote-form{padding-bottom:14px !important;}#quote-form .quote-actions,#quote-form .form-actions,#quote-form .button-container,#quote-form .quote-button-wrap{margin-bottom:0 !important;padding-bottom:0 !important;}#quote-form #getQuotesBtn{margin-bottom:0 !important;}#quote-form{padding-top:22px !important;padding-bottom:22px !important;}#quote-form>h2{margin-top:0 !important;}#quote-form #getQuotesBtn{margin-bottom:0 !important;}#quote-form{padding-top:32px !important;padding-bottom:22px !important;}#quote-form{padding-top:32px !important;}#quote-form>h2{margin-top:0 !important;margin-left:10px !important;margin-right:10px !important;}@media (min-width:993px){#quote-form{padding-top:38px !important;}#quote-form>h2{margin-left:12px !important;margin-right:12px !important;}}#quote-form>h2{padding-top:0 !important;margin-top:24px !important;margin-bottom:22px !important;}@media (min-width:993px){#quote-form>h2{margin-top:30px !important;}}#resultsContainer .provider-card{padding:14px 16px !important;}#resultsContainer .provider-card>.provider-header,#resultsContainer .provider-card>.card-header,#resultsContainer .provider-card>.quote-header{margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}#resultsContainer .provider-card h3{margin-left:0 !important;}#resultsContainer .provider-card .price{margin-left:0 !important;margin-right:0 !important;}#resultsContainer .provider-card .sub-container{margin-left:0 !important;margin-right:0 !important;}#resultsContainer .provider-card{padding-top:7px !important;}#resultsContainer .provider-card>h3,#resultsContainer .provider-card>.provider-header,#resultsContainer .provider-card>.card-header,#resultsContainer .provider-card>.quote-header,#resultsContainer .provider-card .provider-logo,#resultsContainer .provider-card .insurer-logo,#resultsContainer .provider-card .price{margin-top:0 !important;padding-top:0 !important;}#resultsContainer .provider-card>:first-child{margin-top:0 !important;}#results .provider-card,.results-grid .provider-card{padding-top:8px !important;}#results .provider-card>h3,.results-grid .provider-card>h3{margin-top:0 !important;margin-bottom:4px !important;padding-top:0 !important;min-height:0 !important;}#results .provider-card>.price,.results-grid .provider-card>.price{margin-top:0 !important;margin-bottom:10px !important;padding-top:0 !important;line-height:1.08 !important;}#results .provider-card>.limits-main-container,.results-grid .provider-card>.limits-main-container{margin-top:8px !important;}#results .provider-card,.results-grid .provider-card{padding-top:3px !important;}#results .provider-card>h3,.results-grid .provider-card>h3{margin-top:0 !important;margin-bottom:2px !important;padding-top:0 !important;line-height:1.15 !important;}#results .provider-card>.price,.results-grid .provider-card>.price{margin-top:0 !important;margin-bottom:7px !important;padding-top:0 !important;}#results .provider-card>.sticky-quote-summary,.results-grid .provider-card>.sticky-quote-summary{display:none !important;margin:0 !important;}#results .provider-card>.sticky-quote-summary.is-stuck-visible,.results-grid .provider-card>.sticky-quote-summary.is-stuck-visible{display:block !important;}#results .provider-card,.results-grid .provider-card{padding-top:6px !important;}#results .provider-card>h3,.results-grid .provider-card>h3{margin:0 0 2px 0 !important;padding:0 !important;}#results .provider-card>.price,.results-grid .provider-card>.price{margin:0 0 8px 0 !important;padding:0 !important;}#quote-form .member-badge-before-insurer{display:flex !important;justify-content:flex-end !important;align-items:center !important;margin:0.15rem 0 0.35rem !important;padding:0 !important;min-height:0 !important;visibility:visible !important;}#quote-form .member-badge-before-insurer .group-families-live-total{margin:0 !important;}#results .provider-card>.cover-family-main-container,.results-grid .provider-card>.cover-family-main-container{order:10 !important;box-sizing:border-box !important;}#results .provider-card>.limits-main-container,.results-grid .provider-card>.limits-main-container,#results .provider-card>.composition-main-container,.results-grid .provider-card>.composition-main-container{display:none !important;}.provider-card .cover-family-heading{display:flex !important;align-items:center !important;gap:.5rem !important;margin:0 0 .55rem 0 !important;color:var(--primary-navy) !important;font-size:.86rem !important;font-weight:800 !important;}.provider-card .cover-family-heading>i{width:30px !important;height:30px !important;min-width:30px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;border-radius:9px !important;background:#eef4fb !important;color:var(--primary-navy) !important;font-size:.76rem !important;}.provider-card .cover-family-divider{height:1px !important;background:#e6ebef !important;margin:.65rem 0 !important;}.provider-card .cover-family-limits .cover-limits-title{display:none !important;}.provider-card .cover-family-composition .composition-title{margin-top:0 !important;margin-bottom:.35rem !important;}.provider-card .cover-family-limits .cover-limit-list>div{display:grid !important;grid-template-columns:112px minmax(0,1fr) !important;column-gap:10px !important;align-items:start !important;padding:2px 0 !important;}.provider-card .cover-family-limits .cover-limit-list>div>strong{display:block !important;min-width:0 !important;margin:0 !important;white-space:nowrap !important;}.provider-card .cover-family-limits .cover-limits-title,.provider-card .cover-family-limits>h4,.provider-card .cover-family-limits>.inner-section-heading{display:none !important;}.provider-card .cover-family-limits .cover-limits-title,.provider-card .cover-family-limits .inner-section-heading,.provider-card .cover-family-limits>h4{display:none !important;}#quote-form .group-families-live-total{background:#e7f1fb !important;color:#173b5f !important;border:2px solid #315b7d !important;box-shadow:none !important;}.provider-card .cover-family-composition .family-badge,.provider-card .composition-summary .family-badge,.provider-card .composition-meta .family-badge{background:#e7f1fb !important;color:#173b5f !important;border:2px solid #315b7d !important;box-shadow:none !important;}#resultsContainer,#cardsContainer,.provider-card{overflow-anchor:none !important;}html{scroll-behavior:auto;}.provider-card .cover-family-limits .cover-limit-list>div.cover-limit-selected{font-weight:700 !important;color:var(--primary-navy) !important;}.provider-card .cover-family-limits .cover-limit-list>div.cover-limit-selected>strong{font-weight:800 !important;}.provider-card .cover-family-limits .cover-limit-list>div:not(.cover-limit-selected){font-weight:400 !important;}.provider-card{position:relative !important;}.provider-card>.sticky-quote-summary{display:none !important;position:fixed !important;z-index:1000 !important;margin:0 !important;pointer-events:none !important;}.provider-card>.sticky-quote-summary.is-stuck-visible{display:block !important;}.provider-card .sticky-quote-family-size{display:inline-flex !important;align-items:center !important;margin:0 !important;padding:0.16rem 0.46rem !important;}#resultsContainer,#cardsContainer,.provider-card{overflow-anchor:none !important;}#results .provider-card:hover,#cardsContainer .provider-card:hover,.results-grid .provider-card:hover,.comparison-grid .provider-card:hover{transform:none !important;}#results .provider-card:hover,#cardsContainer .provider-card:hover,.results-grid .provider-card:hover,.comparison-grid .provider-card:hover{box-shadow:var(--shadow-lg) !important;}.provider-card>.sticky-quote-summary{transition:none !important;}.quote-wrapper .cover-type-toggle{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0.45rem !important;}.quote-wrapper .cover-type-toggle label{min-width:0 !important;text-align:center !important;justify-content:center !important;white-space:normal !important;}@media (min-width: 1025px){.family-overview:not(.children-only-layout){grid-template-columns:repeat(3,minmax(0,1fr)) !important;align-items:end !important;}.family-overview:not(.children-only-layout) .family-age-pair{display:contents !important;}.family-overview:not(.children-only-layout)>#childAgesContainer{grid-column:1 / -1 !important;}.family-overview:not(.children-only-layout) .family-item,.family-overview:not(.children-only-layout) .children-count-item{min-width:0 !important;width:100% !important;}.family-overview:not(.children-only-layout) .family-item label{min-height:1.2em;white-space:nowrap !important;}}#groupComposition{display:none;}#groupComposition.active{display:block !important;}.family-overview.children-only-layout{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:0.55rem !important;}.family-overview.children-only-layout .family-age-pair{display:none !important;}.family-overview.children-only-layout .children-count-item,.family-overview.children-only-layout #childAgesContainer{width:100% !important;margin:0 !important;}.family-overview.children-only-layout #childAgesContainer{display:flex !important;flex-direction:column !important;gap:0.55rem !important;}.family-overview.children-only-layout .child-age-item{margin:0 !important;}#groupComposition{width:100% !important;max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;overflow:hidden !important;}#groupComposition .group-composition-grid{width:100% !important;max-width:100% !important;min-width:0 !important;grid-template-columns:repeat(8,minmax(0,1fr)) !important;gap:0.35rem !important;}#groupComposition .group-composition-item{min-width:0 !important;}#groupComposition .group-composition-item label{font-size:0.67rem !important;white-space:nowrap !important;}#groupComposition .group-composition-item input{width:100% !important;min-width:0 !important;padding:0.42rem 0.15rem !important;font-size:0.76rem !important;box-sizing:border-box !important;}#groupComposition .group-composition-head{max-width:100% !important;white-space:normal !important;flex-wrap:wrap !important;}#groupComposition .group-average-age-row{width:100% !important;max-width:100% !important;min-width:0 !important;overflow-x:visible !important;flex-wrap:wrap !important;white-space:normal !important;}#groupComposition .group-average-age-row{display:flex !important;align-items:center !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:.45rem !important;width:100% !important;white-space:nowrap !important;}#groupComposition .group-average-age-row .group-average-label,#groupComposition .group-average-age-row .group-age-options,#groupComposition .group-average-age-row small{display:inline-flex !important;align-items:center !important;width:auto !important;max-width:none !important;margin:0 !important;flex:0 0 auto !important;}#groupComposition .group-average-age-row .group-age-options{gap:.3rem !important;}#groupComposition .group-average-age-row small{padding:0 !important;}@media (min-width: 1025px){.quote-wrapper .cover-type-toggle .children-only-label{display:inline-block !important;line-height:1.05 !important;text-align:center !important;white-space:normal !important;}}.provider-embedded-logo{width:28px;height:28px;object-fit:contain;display:inline-block;vertical-align:middle}.partner-logo.firstassurance{--partner-color:#f58220;}.partner-logo.firstassurance .partner-icon.partner-logo-image{background:#fff;padding:2px;}.partner-logo.firstassurance .partner-icon.partner-logo-image img{object-fit:contain;}.provider-card[data-provider-key="firstassurance"] .insurer-logo-badge{height:34px;width:34px;max-width:34px;object-fit:contain;background:#fff;border-radius:8px;padding:2px;vertical-align:middle;margin-right:6px;}.quote-comparison-table .composition-row td{white-space:normal;line-height:1.35;min-width:150px}.quote-comparison-table .composition-row th{white-space:nowrap;}.group-total-above-age{display:flex;justify-content:flex-start;align-items:center;margin:6px 0 4px}.group-total-above-age .group-families-live-total{display:inline-flex;align-items:center;width:auto;padding:4px 9px;border:1px solid rgba(0,0,0,.12);border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2;background:rgba(255,255,255,.72)}@media (min-width:1200px){body{font-size:90%;}.quote-engine-card,.quote-box,.quotation-container{transform:scale(0.8);transform-origin:top center;width:125%;}}


/* ===== style-2 ===== */
.group-families-live-total{background:#f7f4e8 !important;border:1px solid rgba(184,148,31,0.35) !important;color:#66571f !important;font-weight:700 !important;}.quote-wrapper .cover-type-toggle label,.quote-wrapper .cover-type-toggle .children-only-label{white-space:nowrap !important;}


/* ===== style-3 ===== */
@media (min-width: 1025px){.quote-wrapper{max-width:1240px !important;}.quote-wrapper .cover-type-card{grid-template-columns:minmax(120px,.65fr) minmax(0,2.35fr) !important;}.quote-wrapper .cover-type-toggle{grid-column:auto !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:.4rem !important;}.quote-wrapper .cover-type-toggle label,.quote-wrapper .cover-type-toggle label *{white-space:nowrap !important;}}


/* ===== fixed-quote-engine-width-v22 ===== */
@media (min-width:993px){#hero .quote-wrapper{width:100% !important;min-width:0 !important;max-width:none !important;}}@media (min-width:1225px){#hero .hero-grid{grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr) !important;}}


/* ===== quote-engine-insurer-inpatient-align-fix ===== */
@media (min-width: 1025px){.quote-wrapper .insurer-card,.quote-wrapper .inpatient-card{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:.8rem;width:100%;max-width:none;}.quote-wrapper .insurer-card .cover-type-heading,.quote-wrapper .inpatient-card .cover-type-heading{width:100%;min-width:0;white-space:nowrap;flex:none;}.quote-wrapper .inpatient-control{width:100%;min-width:0;}.quote-wrapper .inpatient-card .scope-group{width:100%;justify-content:flex-start;}}


/* ===== fixed-thirds-insurer-inpatient ===== */
@media (min-width: 1025px){.quote-wrapper .insurer-row .insurer-card{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;column-gap:.8rem !important;align-items:center !important;width:100% !important;}.quote-wrapper .insurer-row .insurer-card>.cover-type-heading,.quote-wrapper .insurer-row .insurer-card>.insurer-control,.quote-wrapper .insurer-row .insurer-card>.inpatient-control,.quote-wrapper .insurer-row .insurer-card>.scope-group{grid-column:auto !important;width:100% !important;min-width:0 !important;max-width:none !important;margin:0 !important;}.quote-wrapper .insurer-row .insurer-card>.cover-type-heading{white-space:nowrap !important;}.quote-wrapper .insurer-row .insurer-card>.insurer-control select,.quote-wrapper .insurer-row .insurer-card>.inpatient-control select{width:100% !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;}.quote-wrapper .insurer-row .insurer-card>#planGroup{grid-column:3 !important;}}


/* ===== style-7 ===== */
.cover-card-actions{display:grid!important;grid-template-columns:1.25fr 1fr .85fr!important;gap:.45rem!important}.quote-whatsapp-btn{border:1px solid #25D366;border-radius:30px;background:#25D366;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;padding:.4rem .75rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.quote-whatsapp-btn:hover{filter:brightness(.96);transform:translateY(-1px)}


/* ===== style-8 ===== */
.name-required-error{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.18)!important;background:#fff7f7!important;animation:nameErrorGlow .9s ease-in-out 2;}@keyframes nameErrorGlow{0%,100%{box-shadow:0 0 0 2px rgba(220,38,38,.15)}50%{box-shadow:0 0 0 5px rgba(220,38,38,.28)}}


/* ===== style-9 ===== */
#coverForm input.name-required-error,#coverForm input[id^="name_"].name-required-error{border:2px solid #dc2626 !important;outline:2px solid rgba(220,38,38,.22) !important;outline-offset:1px !important;box-shadow:0 0 0 4px rgba(220,38,38,.18),0 0 12px rgba(220,38,38,.30) !important;background-color:#fff5f5 !important;}#coverForm .field-group:has(input.name-required-error) label{color:#dc2626 !important;}


/* ===== style-10 ===== */
#coverForm .name-required-label{color:#dc2626!important;font-weight:700!important;}


/* ===== style-11 ===== */
#partners .partner-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}#partners .partner-logo{width:100%!important;min-width:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}#partners .partner-brand{width:100%!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important}#partners .partner-logo img{max-width:100%!important;height:auto!important;object-fit:contain!important}@media(max-width:1100px){#partners .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* ===== style-12 ===== */
.mobile-step-title,.mobile-quote-intro,.mobile-action-note{display:none}.quote-step-card{display:contents}@media (max-width:1024px){#quote-form{width:calc(100% - 24px)!important;max-width:760px!important;margin:16px auto!important;padding:16px!important;border-radius:22px!important;transform:none!important;}#quote-form>h2{font-size:1.45rem!important;margin-bottom:10px!important;line-height:1.2!important;}.mobile-quote-intro{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 0 14px;border:1px solid #dbe8e7;border-radius:16px;background:linear-gradient(135deg,#f5fbfb,#eaf6f4);}.mobile-quote-intro-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#e0f3f2;color:#24767a;}.mobile-quote-intro strong{display:block;font-size:.95rem;color:#013b46}.mobile-quote-intro small{display:block;margin-top:2px;color:#64748b;font-size:.76rem;line-height:1.35}.quote-step-card{display:block;background:#fff;border:1px solid #e4e9ee;border-radius:18px;padding:14px;margin:0 0 12px;box-shadow:0 5px 18px rgba(15,23,42,.055);overflow:visible;}.mobile-step-title{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #edf0f2;}.mobile-step-title>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#014a52;color:#fff;font-size:.78rem;font-weight:800;}.mobile-step-title strong{display:block;color:#013b46;font-size:.95rem;line-height:1.15}.mobile-step-title small{display:block;color:#7b8794;font-size:.7rem;margin-top:2px;line-height:1.25}.quote-step-cover .cover-type-card{display:block!important;width:100%!important;max-width:none!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;}.quote-step-cover .cover-type-heading{display:none!important}.quote-step-cover .cover-type-toggle{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;}.quote-step-cover .cover-type-toggle label{width:100%!important;min-height:50px!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:13px!important;font-size:.92rem!important;padding:10px 12px!important;white-space:normal!important;}.children-only-label{white-space:normal!important}.family-overview,.family-age-pair{display:block!important;width:100%!important;max-width:none!important;}.family-overview .family-item,.children-count-item,#childAgesContainer .family-item,#childAgesContainer>div{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important;max-width:none!important;margin:0 0 11px!important;}.family-overview label,#childAgesContainer label{font-size:.78rem!important;font-weight:750!important;color:#425466!important;}.quote-step-cover-selection .family-row,.quote-step-cover-selection .cover-type-card,.quote-step-cover-selection .insurer-card{display:block!important;width:100%!important;max-width:none!important;}.quote-step-cover-selection .cover-type-card{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;}.quote-step-cover-selection .cover-type-heading{display:flex!important;width:100%!important;margin:0 0 6px!important;font-size:.79rem!important;}.insurer-control,.inpatient-control{width:100%!important;max-width:none!important;margin:0 0 10px!important;}#quote-form select,#quote-form input[type="number"]{width:100%!important;max-width:none!important;min-height:50px!important;height:50px!important;font-size:16px!important;padding:0 13px!important;border-radius:12px!important;border:1.5px solid #d7dfe7!important;background:#fff!important;}#quote-form select:focus,#quote-form input[type="number"]:focus{border-color:#24767a!important;box-shadow:0 0 0 3px rgb(36, 118, 122,.12)!important;outline:none!important;}#quote-form .scope-group{display:flex!important;flex-wrap:wrap!important;gap:7px!important;width:100%!important;margin:6px 0 0!important;}#quote-form .scope-group .radio-option{flex:1 1 auto!important;min-width:110px!important;max-width:none!important;min-height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #dce3e8!important;border-radius:11px!important;padding:7px 9px!important;background:#f8fafc!important;font-size:.76rem!important;}.quote-step-group{display:none}.quote-step-group:has(#groupComposition.active){display:block}#groupComposition.active{display:block!important}#groupComposition .group-composition-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}.group-composition-item{min-width:0!important;display:block!important;}.group-composition-item label{display:block!important;margin-bottom:4px!important;font-size:.72rem!important}.group-rating-row{display:block!important;width:100%!important;margin-top:12px!important;}.group-age-options{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin:7px 0!important;}.group-age-options label{min-width:0!important}.quote-step-benefits .optional-benefit-row,.quote-step-benefits .form-group,.quote-step-benefits .limit-scope-wrapper{display:block!important;width:100%!important;max-width:none!important;}.quote-step-benefits .optional-benefit-row{padding:11px!important;margin:0 0 9px!important;border:1px solid #e5eaee!important;border-radius:14px!important;background:#fbfcfd!important;}.quote-step-benefits .form-group>label{display:block!important;margin:0 0 6px!important;font-size:.8rem!important;font-weight:800!important;}.mobile-quote-actions-shell{background:#fff;border:1px solid #e1e7eb;border-radius:18px;padding:12px;margin-top:6px;box-shadow:0 8px 24px rgba(15,23,42,.07);}.mobile-action-note{display:flex;align-items:flex-start;gap:7px;color:#718096;font-size:.67rem;line-height:1.35;margin:0 0 9px;}.mobile-action-note i{color:#24767a;margin-top:2px}.actions-quote{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important;}#getQuotesBtn,#resetBtn{width:100%!important;min-height:52px!important;border-radius:13px!important;font-size:.9rem!important;}#resetBtn{min-height:44px!important}#resultsContainer{width:100%!important}.comparison-grid{grid-template-columns:1fr!important;gap:12px!important;}.provider-card{width:100%!important;max-width:none!important;min-width:0!important;}#quoteTableComparison{display:none!important}}


/* ===== style-13 ===== */
.children-band-section{width:100%;margin-top:.15rem}.children-band-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.children-band-heading strong{font-size:.82rem;color:#425466}.children-band-heading small{font-size:.7rem;color:#7b8794}.children-band-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.children-band-card{border:1px solid #dde5e9;border-radius:13px;padding:10px;background:#fbfcfd;min-width:0}.children-band-label{display:flex;align-items:center;gap:8px;margin-bottom:7px}.children-band-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e9f4f5;color:#24767a;flex:0 0 30px}.children-band-label strong{display:block;font-size:.78rem;color:#263a3b}.children-band-label small{display:block;font-size:.65rem;color:#7b8794}.children-band-card select{width:100%}.children-band-total{text-align:right;margin-top:7px}.children-band-total span{display:inline-block;padding:4px 9px;border-radius:999px;background:#eaf6f4;color:#276063;font-size:.68rem;font-weight:750}@media(max-width:1024px){.children-band-heading{display:block}.children-band-heading small{display:block;margin-top:2px}.children-band-grid{grid-template-columns:1fr!important}.children-band-card{padding:12px!important;border-radius:14px!important}.children-band-label strong{font-size:.86rem}.children-band-label small{font-size:.7rem}.children-band-total{text-align:left}}


/* ===== style-14 ===== */
.children-band-label>div>strong{font-size:.8rem!important}.children-band-label>div>small{display:none!important}


/* ===== style-15 ===== */
.family-details-inline-heading{font-size:.86rem;font-weight:800;color:#18393b;margin:0 0 9px;}@media(max-width:1024px){.family-details-inline-heading{display:none!important;}}


/* ===== style-16 ===== */
#childAgesContainer,.child-ages-inline{display:none!important}.family-counter-only{display:flex!important;justify-content:center!important;margin:0 0 8px!important}.quote-step-members .family-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}.quote-step-members .family-age-pair,.quote-step-members .children-band-section,.quote-step-members .children-band-grid{display:contents!important}.quote-step-members .family-item,.quote-step-members .extra-spouse-item{display:flex!important;flex-direction:column!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.quote-step-members .family-item>label,.quote-step-members .extra-spouse-item>label{display:flex!important;align-items:center!important;justify-content:center!important;height:28px!important;min-height:28px!important;margin:0 0 6px!important;font-size:.75rem!important;font-weight:700!important;color:#4c5a70!important}.quote-step-members .family-item>select,.quote-step-members .extra-spouse-item>select{width:100%!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 9px!important;border:1.5px solid #d3dce8!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important}.quote-step-group{display:none}#groupComposition.active{display:block!important}#groupComposition .group-composition-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}#groupComposition .group-composition-head strong{font-size:.82rem;color:#18393b}#groupComposition .group-composition-head span{font-size:.68rem;color:#718096;text-align:right}#groupComposition .group-composition-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:6px!important}#groupComposition .group-composition-item label{display:block!important;text-align:center!important;margin:0 0 4px!important;font-size:.7rem!important;font-weight:800!important;color:#425466!important}#groupComposition .group-composition-item input{width:100%!important;height:38px!important;min-width:0!important;padding:0 4px!important;text-align:center!important;border:1.5px solid #d3dce8!important;border-radius:8px!important;background:#fff!important;box-sizing:border-box!important}#groupComposition .group-total-above-age{display:flex!important;justify-content:center!important;margin:8px 0!important}#groupComposition .group-families-live-total{display:inline-flex!important;align-items:center!important;min-height:27px!important;padding:3px 9px!important;border-radius:999px!important;background:#eaf6f4!important;color:#276063!important;font-size:.7rem!important;font-weight:800!important}#groupComposition .group-average-age-row{display:flex!important;align-items:center!important;gap:9px!important;margin-top:7px!important}#groupComposition .group-average-label{font-size:.74rem!important;font-weight:800!important;white-space:nowrap}#groupComposition .group-age-options{display:flex!important;gap:5px!important}#groupComposition .group-age-options label span{min-width:40px!important;min-height:34px!important;display:grid!important;place-items:center!important}#groupComposition .group-average-age-row small{font-size:.66rem!important;color:#718096!important;margin:0!important}@media(max-width:1024px){.quote-step-members .family-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quote-step-members .family-item>select,.quote-step-members .extra-spouse-item>select{height:44px!important;min-height:44px!important;font-size:16px!important}#groupComposition .group-composition-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}#groupComposition .group-composition-head,#groupComposition .group-average-age-row{display:grid!important;grid-template-columns:1fr!important}#groupComposition .group-composition-head span{text-align:left}}


/* ===== style-17 ===== */
.family-members-counter,#groupComposition .group-families-live-total{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:5px 13px 5px 30px!important;border:1px solid rgb(36, 118, 122,.18)!important;border-radius:999px!important;background:linear-gradient(180deg,#f8fcfc,#e9f5f4)!important;color:#20595c!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:0 3px 10px rgb(24, 75, 78,.07)!important;white-space:nowrap!important;}.family-members-counter::before,#groupComposition .group-families-live-total::before{content:"";position:absolute;left:10px;width:12px;height:12px;border-radius:50%;background:#017a78;box-shadow:0 0 0 4px rgba(1,122,120,.10);}.family-members-counter::after,#groupComposition .group-families-live-total::after{content:"";position:absolute;left:13px;top:8px;width:6px;height:3px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg);}


/* ===== style-18 ===== */
.quote-step-group{display:none}.quote-step-group:has(#groupComposition.active){display:block!important}#groupComposition.active{display:block!important}


/* ===== group-view-style-final ===== */
#groupQuoteStep{display:none!important}#groupQuoteStep[hidden]{display:none!important}#groupQuoteStep:not([hidden]){display:block!important}#groupQuoteStep:not([hidden]) #groupComposition{display:block!important;visibility:visible!important;opacity:1!important}#groupQuoteStep .group-composition-grid{display:grid!important}


/* ===== stability-fixes-final ===== */
#childAgesContainer,.child-ages-inline{display:none!important}#groupQuoteStep[hidden],#individualFamilyDetails[hidden]{display:none!important}#groupQuoteStep.group-step-visible{display:block!important}#groupQuoteStep.group-step-visible #groupComposition{display:block!important;visibility:visible!important;opacity:1!important}#groupQuoteStep.group-step-visible .group-composition-grid{display:grid!important}.partner-logo-text{display:grid;place-items:center;background:#eaf6f4;color:#276063;font-weight:900}


/* ===== fancy-group-composition-final ===== */
#groupQuoteStep{margin:10px 0 12px!important;padding:14px!important;border:1px solid rgb(36, 118, 122,.14)!important;border-radius:16px!important;background:linear-gradient(180deg,#ffffff,#f6fbfb)!important;box-shadow:0 6px 18px rgba(1,57,71,.06)!important;}#groupQuoteStep .mobile-step-title{display:none!important}#groupComposition .group-composition-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin:0 0 11px!important;padding:0 0 9px!important;border-bottom:1px solid #edf1f1!important;}#groupComposition .group-composition-head strong{color:#18393b!important;font-size:.84rem!important;font-weight:800!important;}#groupComposition .group-composition-head span{color:#7b8794!important;font-size:.68rem!important;font-style:italic!important;text-align:right!important;}#groupComposition .group-composition-grid{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:7px!important;}#groupComposition .group-composition-item{min-width:0!important;}#groupComposition .group-composition-item label{display:block!important;text-align:center!important;margin:0 0 4px!important;color:#425466!important;font-size:.7rem!important;font-weight:800!important;}#groupComposition .group-composition-item input{width:100%!important;height:38px!important;min-width:0!important;padding:0 4px!important;text-align:center!important;border:1.5px solid #d8e0dc!important;border-radius:9px!important;background:#fff!important;color:#26364d!important;font-size:.8rem!important;font-weight:700!important;box-shadow:none!important;}#groupComposition .group-composition-item input:focus{border-color:#017a78!important;box-shadow:0 0 0 2px rgba(1,122,120,.10)!important;outline:none!important;}#groupComposition .group-total-above-age{display:flex!important;justify-content:center!important;margin:10px 0 9px!important;}#groupComposition .group-families-live-total{min-height:29px!important;padding:4px 12px!important;border-radius:999px!important;background:linear-gradient(180deg,#f5fbfb,#e9f5f4)!important;border:1px solid rgba(1,122,120,.16)!important;color:#276063!important;font-size:.71rem!important;font-weight:800!important;box-shadow:0 2px 8px rgba(1,57,71,.05)!important;}#groupComposition .group-average-age-row{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important;}#groupComposition .group-average-label{color:#425466!important;font-size:.73rem!important;font-weight:800!important;white-space:nowrap!important;}#groupComposition .group-age-options{display:flex!important;gap:5px!important;}#groupComposition .group-age-options label span{min-width:40px!important;min-height:34px!important;display:grid!important;place-items:center!important;border:1px solid #d9e2e2!important;border-radius:9px!important;background:#fff!important;font-size:.74rem!important;font-weight:800!important;}#groupComposition .group-age-options input:checked+span{background:#014a52!important;color:#fff!important;border-color:#014a52!important;}#groupComposition .group-average-age-row small{color:#7b8794!important;font-size:.66rem!important;font-style:italic!important;}@media(max-width:1024px){#groupComposition .group-composition-head{display:block!important}#groupComposition .group-composition-head span{display:block!important;text-align:left!important;margin-top:3px!important}#groupComposition .group-composition-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}


/* ===== style-22 ===== */
/*lite-logo-fallback*/.provider-logo-fallback{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#ecf4f3;color:#276063;font-weight:800;font-size:.72rem}


/* ===== provider-county-gated-filters ===== */
.directory-dependent-filter{display:none!important}
.directory-dependent-filter.is-visible{display:flex!important}
.directory-county-filter.is-visible{display:flex!important}
.directory-county-filter.is-awaiting-selection label{color:#475569!important;font-weight:700!important}
.directory-county-filter.is-awaiting-selection select{border:1.5px solid #d7dfe7!important;background:#fff!important;color:#536174!important;box-shadow:none!important}
.directory-county-filter.is-awaiting-selection select:focus{border-color:#86b5b3!important;box-shadow:0 0 0 3px rgba(1,111,109,.08)!important;outline:none!important}
.directory-card .meta{display:flex;align-items:flex-start;gap:.55rem}
.directory-card .meta>i{flex:0 0 1rem;width:1rem;margin-top:.18rem;text-align:center;color:#2b676a}
.directory-card .provider-primary-meta{margin-top:.5rem}
.directory-card .badges .badge{display:inline-flex;align-items:center;gap:.3rem}
.directory-card .badges .badge>i{font-size:.72em;color:inherit}
.directory-card .meta>a{color:#1f5c5f;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.directory-card .meta>a:focus-visible{outline:2px solid #1f5c5f;outline-offset:3px;border-radius:3px}


/* ===== callback-fancy-final ===== */
.callback-cta-section{
  position:relative;
  padding:34px 18px;
  overflow:hidden;
}
.callback-shell{
  position:relative;
  max-width:1120px;
  margin:0 auto;
  padding:28px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  background:
    radial-gradient(circle at 8% 10%,rgba(212,175,55,.18),transparent 28%),
    radial-gradient(circle at 92% 90%,rgba(1,122,120,.22),transparent 30%),
    linear-gradient(135deg,#123a3c 0%,#014a52 52%,#0f3133 100%);
  box-shadow:0 18px 48px rgb(15, 49, 51,.20);
}
.callback-shell::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:25px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.callback-badge{
  position:absolute;
  top:-14px;
  left:28px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 12px;
  border-radius:999px;
  background:#fff;
  color:#014a52;
  font-size:.7rem;
  font-weight:800;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.callback-badge i{color:#b88918}
.callback-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:28px;
  align-items:center;
}
.callback-cta-copy{
  color:#fff;
}
.callback-eyebrow{
  display:inline-block;
  margin-bottom:9px;
  color:#f3d878;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.11em;
}
.callback-cta-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.4rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.callback-cta-copy p{
  margin:0;
  max-width:650px;
  color:rgba(255,255,255,.82);
  font-size:.92rem;
  line-height:1.6;
}
.callback-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.callback-trust span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#eaf6f5;
  font-size:.7rem;
  font-weight:700;
}
.callback-trust i{color:#f3d878;font-size:.66rem}
.callback-actions-panel{
  padding:16px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.callback-actions-title{
  margin:0 0 9px;
  color:#fff;
  font-size:.76rem;
  font-weight:800;
}
.callback-actions{
  display:grid;
  gap:8px;
}
.callback-btn{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  text-decoration:none!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
.callback-btn:hover{
  transform:translateY(-1px);
}
.callback-btn-primary{
  border:0!important;
  background:linear-gradient(135deg,#f5d66f,#d4af37)!important;
  color:#013b46!important;
  box-shadow:0 8px 20px rgba(212,175,55,.20)!important;
}
.callback-btn-whatsapp{
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.callback-btn-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.55);
}
.callback-btn-whatsapp .callback-btn-icon{
  background:rgba(255,255,255,.12);
}
.callback-btn>span:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.15;
}
.callback-btn strong{
  font-size:.8rem;
}
.callback-btn small{
  margin-top:3px;
  font-size:.64rem;
  font-weight:600;
  opacity:.72;
}
.callback-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:rgba(255,255,255,.65);
  font-size:.62rem;
  line-height:1.4;
}
.callback-note i{color:#f3d878}




/* ===== contact-message-fancy-final ===== */
.contact-message-section{
  position:relative;
  padding:58px 18px;
  background:linear-gradient(180deg,#f7fafa 0%,#eef5f5 100%);
}
.contact-message-shell{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);
  gap:34px;
  align-items:center;
  max-width:1100px;
  margin:0 auto;
  padding:30px;
  border:1px solid #dde8e9;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 50px rgb(23, 76, 79,.09);
}
.contact-message-section .contact-info{
  padding:8px 10px;
  color:#013b46;
}
.contact-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
  color:#b88918;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
}
.contact-message-section .contact-info h3{
  margin:0 0 9px;
  color:#013b46;
  font-size:1.75rem;
  line-height:1.12;
}
.contact-intro{
  margin:0 0 20px;
  color:#66766d;
  font-size:.86rem;
  line-height:1.6;
}
.contact-detail-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.contact-detail-list>a,.contact-detail-item{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid #e5ecec;
  border-radius:12px;
  background:#fafcfc;
  color:#013b46;
  text-decoration:none;
}
.contact-detail-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e9f5f4;
  color:#286c70;
}
.contact-detail-list small{
  display:block;
  margin-bottom:2px;
  color:#8a9890;
  font-size:.6rem;
  font-weight:700;
}
.contact-detail-list strong{
  display:block;
  overflow:hidden;
  color:#2f4f52;
  font-size:.69rem;
  text-overflow:ellipsis;
}
.contact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.contact-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4f7f7;
  color:#64746b;
  font-size:.62rem;
  font-weight:700;
}
.contact-meta i{color:#b88918}

.contact-message-box{
  position:relative;
  padding:20px!important;
  border:1px solid #e0e9e9!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fbfdfd)!important;
  box-shadow:0 12px 32px rgb(23, 76, 79,.09)!important;
}
.message-box-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding-bottom:13px;
  border-bottom:1px solid #edf1f1;
}
.message-box-icon{
  width:39px;
  height:39px;
  flex:0 0 39px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,#014a52,#286c70);
  color:#fff;
  box-shadow:0 6px 14px rgb(23, 76, 79,.18);
}
.message-box-head>div{
  display:flex;
  flex-direction:column;
}
.message-box-head>div>span{
  color:#013b46;
  font-size:.94rem;
  font-weight:900;
}
.message-box-head small{
  margin-top:2px;
  color:#849189;
  font-size:.65rem;
}
.message-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.contact-message-box .form-group{
  margin-bottom:10px!important;
}
.contact-message-box label{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:5px;
  color:#43595a;
  font-size:.67rem;
  font-weight:800;
}
.contact-message-box label small{
  color:#9aa59f;
  font-size:.57rem;
  font-weight:600;
}
.contact-message-box input,.contact-message-box textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dce5e6!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#263a3b!important;
  font:inherit;
  font-size:.76rem!important;
  outline:none;
  box-shadow:none!important;
}
.contact-message-box input{
  min-height:42px!important;
  padding:9px 11px!important;
}
.contact-message-box textarea{
  min-height:92px!important;
  padding:10px 11px!important;
  resize:vertical;
}
.contact-message-box input:focus,.contact-message-box textarea:focus{
  border-color:#2f8a8f!important;
  box-shadow:0 0 0 3px rgb(47, 138, 143,.09)!important;
}
.message-send-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:44px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#014a52,#236568);
  color:#fff;
  font-size:.76rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 7px 16px rgb(23, 76, 79,.16);
  transition:transform .15s ease,box-shadow .15s ease;
}
.message-send-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgb(23, 76, 79,.20);
}
.message-privacy{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:8px 0 0;
  color:#8a9790;
  font-size:.58rem;
}
.message-privacy i{color:#b88918}




/* ===== merged-help-final ===== */
.merged-help-section{
  padding:56px 18px 26px;
  background:linear-gradient(180deg,#f5f8f8 0%,#edf4f4 100%);
}
.merged-help-shell{
  max-width:1120px;
  margin:0 auto;
  padding:28px;
  border:1px solid #dde7e8;
  border-radius:28px;
  background:
    radial-gradient(circle at 10% 0%,rgba(212,175,55,.10),transparent 24%),
    linear-gradient(180deg,#fff,#fbfdfd);
  box-shadow:0 20px 52px rgb(23, 76, 79,.10);
}
.merged-help-top{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:26px;
  align-items:center;
}
.merged-help-copy{
  min-width:0;
}
.merged-help-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:29px;
  padding:5px 11px;
  border-radius:999px;
  background:#eaf6f4;
  color:#276063;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:9px;
}
.merged-help-badge i{color:#b88918}
.merged-help-kicker{
  display:block;
  color:#b88918;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.1em;
  margin-bottom:7px;
}
.merged-help-copy h2{
  margin:0 0 10px;
  color:#013b46;
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.merged-help-copy>p{
  margin:0;
  max-width:680px;
  color:#66766d;
  font-size:.9rem;
  line-height:1.62;
}
.merged-help-trust{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:15px;
}
.merged-help-trust span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#f6f9f9;
  border:1px solid #e5ecec;
  color:#425758;
  font-size:.67rem;
  font-weight:700;
}
.merged-help-trust i{color:#017a78}
.merged-contact-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
.merged-contact-links>a,.merged-contact-item{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #e4ebeb;
  border-radius:12px;
  background:#fff;
  color:#013b46;
  text-decoration:none;
}
.merged-contact-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#e9f5f4;
  color:#286c70;
}
.merged-contact-links small{
  display:block;
  color:#8a9890;
  font-size:.58rem;
  font-weight:700;
  margin-bottom:1px;
}
.merged-contact-links strong{
  display:block;
  color:#2f4f52;
  font-size:.68rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
.merged-contact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.merged-contact-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#f4f7f7;
  color:#68776e;
  font-size:.61rem;
  font-weight:700;
}
.merged-contact-meta i{color:#b88918}

.merged-help-actions{
  padding:17px;
  border:1px solid #dfe8e8;
  border-radius:18px;
  background:linear-gradient(180deg,#173d3f,#123335);
  box-shadow:0 12px 28px rgb(18, 51, 53,.14);
}
.merged-action-title{
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  margin-bottom:9px;
}
.merged-action-btn{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  text-decoration:none!important;
  margin-bottom:8px;
  box-sizing:border-box;
}
.merged-callback-btn{
  border:0!important;
  background:linear-gradient(135deg,#f5d66f,#d4af37)!important;
  color:#013b46!important;
  cursor:pointer;
}
.merged-whatsapp-btn{
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
}
.merged-action-icon{
  width:35px;
  height:35px;
  flex:0 0 35px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.48);
}
.merged-whatsapp-btn .merged-action-icon{background:rgba(255,255,255,.12)}
.merged-action-btn>span:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.merged-action-btn strong{font-size:.78rem}
.merged-action-btn small{margin-top:2px;font-size:.62rem;opacity:.72}
.merged-help-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin:4px 0 0;
  color:rgba(255,255,255,.64);
  font-size:.6rem;
  line-height:1.4;
}
.merged-help-note i{color:#f2d675}

.merged-message-panel{
  margin-top:22px;
  padding:18px;
  border:1px solid #e0e8e8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 24px rgb(23, 76, 79,.06);
}
.merged-message-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  padding-bottom:11px;
  border-bottom:1px solid #edf1f1;
}
.merged-message-icon{
  width:37px;
  height:37px;
  flex:0 0 37px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,#014a52,#286c70);
  color:#fff;
}
.merged-message-head>div{
  display:flex;
  flex-direction:column;
}
.merged-message-head strong{
  color:#013b46;
  font-size:.9rem;
}
.merged-message-head small{
  margin-top:2px;
  color:#849189;
  font-size:.63rem;
}
.merged-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.merged-message-panel .form-group{
  margin-bottom:10px!important;
}
.merged-message-panel label{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:5px;
  color:#43595a;
  font-size:.66rem;
  font-weight:800;
}
.merged-message-panel label small{
  color:#9aa59f;
  font-size:.56rem;
  font-weight:600;
}
.merged-message-panel input,.merged-message-panel textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dce5e6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#263a3b!important;
  font:inherit;
  font-size:.74rem!important;
  outline:none;
}
.merged-message-panel input{
  min-height:40px!important;
  padding:8px 10px!important;
}
.merged-message-panel textarea{
  min-height:86px!important;
  padding:9px 10px!important;
  resize:vertical;
}
.merged-message-panel input:focus,.merged-message-panel textarea:focus{
  border-color:#2f8a8f!important;
  box-shadow:0 0 0 3px rgb(47, 138, 143,.08)!important;
}
.merged-send-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:42px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#014a52,#236568);
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  cursor:pointer;
}
.merged-privacy{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:7px 0 0;
  color:#8a9790;
  font-size:.57rem;
}
.merged-privacy i{color:#b88918}




/* ===== footer-assistance-final ===== */
.footer-message-section{padding:42px 18px;background:linear-gradient(180deg,#f5f8f8,#edf4f4)}
.footer-message-section .merged-message-panel{max-width:900px;margin:0 auto}
footer .footer-grid{grid-template-columns:1fr .7fr .9fr 1.35fr!important;gap:24px!important;align-items:start!important}
.footer-assistance-column{min-width:0}
.footer-assistance-column h4{margin:0 0 4px!important;color:#fff!important}
.footer-help-kicker{display:block;margin-bottom:5px;color:#d9bd60;font-size:.58rem;font-weight:900;letter-spacing:.09em}
.footer-assistance-column h3{margin:0 0 7px;color:#fff;font-size:.9rem;line-height:1.2}
.footer-assistance-column>p{margin:0;color:#aebbb5;font-size:.65rem;line-height:1.5}
.footer-help-trust{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.footer-help-trust span,.footer-help-meta span{padding:3px 6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#cbd5d0;font-size:.52rem;font-weight:700}
.footer-help-links{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}
.footer-help-links>a,.footer-help-item{display:flex;align-items:center;gap:6px;min-width:0;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.04);color:#fff;text-decoration:none}
.footer-help-links i{width:17px;text-align:center;color:#d9bd60;font-size:.66rem}
.footer-help-links small{display:block;color:#91a099;font-size:.48rem}
.footer-help-links strong{display:block;color:#e7eeee;font-size:.55rem;overflow:hidden;text-overflow:ellipsis}
.footer-help-meta{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}
.footer-help-actions-title{margin:8px 0 5px;color:#fff;font-size:.6rem;font-weight:800}
.footer-help-action{display:flex;align-items:center;gap:7px;margin-bottom:5px;padding:7px 8px;border-radius:9px;background:#d4af37;color:#013b46!important;text-decoration:none!important}
.footer-help-whatsapp{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#fff!important}
.footer-help-action>i{width:20px;text-align:center}
.footer-help-action>span{display:flex;flex-direction:column}
.footer-help-action strong{font-size:.58rem}
.footer-help-action small{margin-top:1px;font-size:.48rem;opacity:.72}
.footer-help-note{color:#8f9d96;font-size:.49rem;line-height:1.4}
@media(max-width:1050px){footer .footer-grid{grid-template-columns:1fr 1fr!important}.footer-assistance-column{grid-column:1/-1}}



/* ===== personal-assistance-dark-final ===== */
.personal-assistance-section{
  padding:52px 18px 28px;
  background:linear-gradient(180deg,#ecf4f3 0%,#e7efef 100%);
}
.personal-assistance-shell{
  max-width:1100px;
  margin:0 auto;
  padding:28px;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:18px;
  align-items:stretch;
  border-radius:26px;
  background:
    radial-gradient(circle at 10% 0%,rgba(212,175,55,.14),transparent 28%),
    radial-gradient(circle at 90% 100%,rgb(47, 138, 143,.18),transparent 30%),
    linear-gradient(135deg,#12383a 0%,#014a52 55%,#0f2e30 100%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 52px rgb(15, 49, 51,.20);
}
.personal-assistance-intro{
  max-width:none;
  margin:0;
  padding:22px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.personal-assistance-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:9px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:.67rem;
  font-weight:800;
}
.personal-assistance-badge i{color:#f0d36b}
.personal-assistance-kicker{
  display:block;
  margin-bottom:6px;
  color:#f0d36b;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.11em;
}
.personal-assistance-intro h3{
  margin:0 0 9px;
  color:#fff;
  font-size:clamp(1.55rem,2.6vw,2.15rem);
  line-height:1.1;
}
.personal-assistance-intro p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.6;
}
.personal-assistance-trust{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.personal-assistance-trust span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.07);
  color:#e8f1f1;
  font-size:.65rem;
  font-weight:700;
}
.personal-assistance-trust i{color:#f0d36b}

.personal-message-card{
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.personal-message-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.personal-message-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,#f0d36b,#d4af37);
  color:#013b46;
}
.personal-message-head>div{display:flex;flex-direction:column}
.personal-message-head strong{
  color:#fff;
  font-size:.9rem;
}
.personal-message-head small{
  margin-top:2px;
  color:rgba(255,255,255,.62);
  font-size:.62rem;
}
.personal-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.personal-message-card .form-group{
  margin-bottom:10px!important;
}
.personal-message-card label{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:5px;
  color:#e5eeee;
  font-size:.65rem;
  font-weight:800;
}
.personal-message-card label small{
  color:rgba(255,255,255,.45);
  font-size:.55rem;
  font-weight:600;
}
.personal-message-card input,
.personal-message-card select,
.personal-message-card textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.96)!important;
  color:#263a3b!important;
  font:inherit;
  font-size:.74rem!important;
  outline:none;
  box-shadow:none!important;
}
.personal-message-card input,
.personal-message-card select{
  min-height:41px!important;
  padding:8px 10px!important;
}
.personal-message-card textarea{
  min-height:88px!important;
  padding:9px 10px!important;
  resize:vertical;
}
.personal-message-card input:focus,
.personal-message-card select:focus,
.personal-message-card textarea:focus{
  border-color:#d4af37!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.12)!important;
}
.personal-contact-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:3px;
}
.personal-contact-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-width:0!important;
  min-height:54px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  cursor:pointer;
}
.personal-contact-btn>i{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.16);
}
.personal-contact-btn>span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
.personal-contact-btn strong{
  font-size:.68rem;
}
.personal-contact-btn small{
  margin-top:2px;
  max-width:100%;
  font-size:.54rem;
  opacity:.72;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.personal-email-btn{
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.personal-whatsapp-btn{
  border:1px solid rgba(255,255,255,.14)!important;
  background:#1f898f!important;
  color:#fff!important;
}
.personal-call-btn{
  border:0!important;
  background:linear-gradient(135deg,#f0d36b,#d4af37)!important;
  color:#013b46!important;
}
.personal-message-privacy{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:8px 0 0;
  color:rgba(255,255,255,.52);
  font-size:.56rem;
}
.personal-message-privacy i{color:#f0d36b}




/* ===== footer-contact-simple-final ===== */
footer .footer-grid{grid-template-columns:1fr .7fr .9fr 1.05fr!important}
.footer-contact-simple h4{margin:0 0 10px!important;color:#fff!important}
.footer-contact-list{list-style:none!important;margin:0!important;padding:0!important}
.footer-contact-list li{margin:0 0 7px!important;color:#aebbb5!important;font-size:.66rem!important;line-height:1.45!important}
.footer-contact-list strong{color:#e7eeee!important;font-weight:800!important}
.footer-contact-list a{color:#cbd7d8!important;text-decoration:none!important;overflow-wrap:anywhere}
.footer-contact-list a:hover{color:#d9bd60!important}
@media(max-width:1050px){footer .footer-grid{grid-template-columns:1fr 1fr!important}}



/* ===== embedded-insurer-logo-final ===== */
.provider-logo-embedded-wrap{display:inline-flex;align-items:center;justify-content:center;width:72px;height:34px;padding:2px 5px;margin-right:7px;vertical-align:middle;border:1px solid #e5ebeb;border-radius:8px;background:#fff;box-sizing:border-box}
.provider-logo-embedded-wrap .provider-embedded-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important}


/* ===== partner-embedded-logo-final ===== */
#partners .partner-brand{min-height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
#partners .partner-brand .partner-insurer-logo{display:block;width:58px;max-width:58px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:5px;box-sizing:border-box}
#partners .partner-brand .partner-icon,
#partners .partner-brand .logo-fallback{display:none!important}



/* ===== partner-logo-name-final ===== */
#partners .partner-brand{
  min-height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
#partners .partner-brand .partner-insurer-logo{
  display:block!important;
  width:auto!important;
  max-width:145px!important;
  height:48px!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:7px!important;
  padding:3px 6px!important;
  box-sizing:border-box!important;
}
#partners .partner-insurer-name{
  display:block!important;
  color:#013b46!important;
  font-size:.76rem!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
}


/* ===== partner-logo-fix-final ===== */
#partners .partner-brand .partner-static-logo{
  display:block!important;
  width:auto!important;
  max-width:145px!important;
  height:48px!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:7px!important;
  padding:3px 6px!important;
  box-sizing:border-box!important;
}


/* ===== group-family-details-visible-final ===== */
#groupQuoteStep[hidden]{display:none!important}
#groupQuoteStep:not([hidden]){display:block!important}
#groupQuoteStep:not([hidden]) #groupComposition{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#groupQuoteStep .group-composition-grid{display:grid!important}


/* ===== group-family-plain-final ===== */
#groupComposition{
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#groupComposition .group-plain-heading{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin:0 0 9px;
  padding:0;
}
#groupComposition .group-plain-heading #groupFamiliesLiveTotal{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 4px!important;
  padding:4px 9px!important;
  border:1px solid #dce5e6!important;
  border-radius:999px!important;
  background:#f5f8f8!important;
  color:#2f4f52!important;
  font-size:.62rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}
#groupComposition .group-plain-heading>strong{
  color:#013b46;
  font-size:.78rem;
  font-weight:900;
}
#groupComposition .group-plain-heading>small{
  color:#78877f;
  font-size:.61rem;
  line-height:1.4;
}
#groupComposition .group-plain-heading em{
  font-style:italic;
}
#groupComposition .group-composition-grid{
  margin:0!important;
}


/* ===== group-family-badge-expanded-final ===== */
#groupFamiliesLiveTotal{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:145px!important;
  min-height:32px!important;
  padding:6px 14px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
#groupFamiliesLiveTotal i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.72rem!important;
  color:#2d6d70!important;
}
#groupFamiliesLiveTotal span{
  display:inline-block!important;
  font-weight:800!important;
}


/* ===== group-average-age-redesign-final ===== */
#groupComposition .group-average-age-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:9px 11px!important;
  margin-top:9px!important;
  border:1px solid #e1e9e9!important;
  border-radius:10px!important;
  background:#fafcfc!important;
}
#groupComposition .group-average-copy{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:210px!important;
}
#groupComposition .group-average-copy .group-average-label{
  color:#013b46!important;
  font-size:.7rem!important;
  font-weight:900!important;
}
#groupComposition .group-average-copy small{
  color:#7b8880!important;
  font-size:.55rem!important;
  line-height:1.3!important;
}
#groupComposition .group-age-options{
  display:grid!important;
  grid-template-columns:repeat(5,42px)!important;
  gap:5px!important;
  margin-left:auto!important;
}
#groupComposition .group-age-options label{margin:0!important}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid #d8e2e2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#365253!important;
  font-size:.68rem!important;
  font-weight:800!important;
  cursor:pointer!important;
}
#groupComposition .group-age-options input:checked + span{
  border-color:#2e7276!important;
  background:#e9f3f4!important;
  color:#1f5f62!important;
  box-shadow:0 0 0 1px rgb(46, 114, 118,.08)!important;
}



/* ===== group-composition-centered-final ===== */
/* Centre the Group composition content without changing quotation logic */
#groupComposition .group-plain-heading{
  align-items:center!important;
  text-align:center!important;
}
#groupComposition .group-composition-grid{
  margin-left:auto!important;
  margin-right:auto!important;
}
#groupComposition .group-composition-item label{
  text-align:center!important;
}
#groupComposition .group-composition-item input{
  text-align:center!important;
}
#groupComposition .group-total-above-age{
  justify-content:center!important;
}
#groupComposition .group-average-age-row{
  justify-content:center!important;
}
#groupComposition .group-average-copy{
  text-align:center!important;
  align-items:center!important;
}
#groupComposition .group-age-options{
  margin-left:0!important;
}



/* ===== group-average-inline-centered-final ===== */
#groupComposition .group-average-age-row{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
}
#groupComposition .group-average-copy{
  min-width:0!important;
  width:100%!important;
  align-items:center!important;
  text-align:center!important;
}
#groupComposition .group-average-copy .group-average-label{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}
#groupComposition .group-average-copy .group-average-label em{
  color:#7b8880!important;
  font-size:.56rem!important;
  font-weight:500!important;
}
#groupComposition .group-age-options{
  margin:0 auto!important;
}


/* ===== group-average-plain-final ===== */
#groupComposition .group-average-age-row{
  padding:0!important;
  margin-top:10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy .group-average-label{
  color:#013b46!important;
  font-weight:800!important;
}
#groupComposition .group-average-copy .group-average-label em{
  color:#6f7e75!important;
  font-style:normal!important;
  font-size:inherit!important;
  font-weight:500!important;
}


/* ===== group-composition-copy-clean-final ===== */
#groupComposition .group-plain-heading small{
  text-align:center!important;
  line-height:1.45!important;
}
#groupComposition .group-plain-heading small em{
  display:inline-block!important;
  margin-top:2px!important;
  font-style:normal!important;
  color:#6f7e75!important;
}
#groupComposition .group-average-copy .group-average-label{
  text-align:center!important;
}


/* ===== group-average-age-one-line-final ===== */
#groupComposition .group-average-age-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important;text-align:center!important}
#groupComposition .group-average-copy{width:auto!important;min-width:0!important;flex:0 0 auto!important}
#groupComposition .group-average-copy .group-average-label{white-space:nowrap!important}
#groupComposition .group-age-options{width:auto!important;display:grid!important;grid-template-columns:repeat(4,42px)!important;gap:5px!important;margin:0!important}
#groupComposition .group-age-options label span{width:42px!important}



/* ===== group-average-single-badge-final ===== */
#groupComposition .group-average-age-row{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:auto!important;
  margin:10px auto 0!important;
  padding:6px 8px 6px 12px!important;
  border:1px solid #dce5e6!important;
  border-radius:999px!important;
  background:#f5f8f8!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy{
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
}
#groupComposition .group-average-copy .group-average-label{
  white-space:nowrap!important;
  color:#2f4f52!important;
  font-size:.64rem!important;
  font-weight:800!important;
}
#groupComposition .group-age-options{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  width:auto!important;
  margin:0!important;
}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:28px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#46574d!important;
  font-size:.64rem!important;
  font-weight:800!important;
}
#groupComposition .group-age-options input:checked + span{
  background:#2e7276!important;
  color:#fff!important;
  box-shadow:none!important;
}



/* ===== group-average-dark-compact-final ===== */
#groupComposition .group-average-age-row{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:9px auto 0!important;
  padding:4px 5px 4px 10px!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:#183b3d!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy{
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
}
#groupComposition .group-average-copy .group-average-label{
  color:#fff!important;
  font-size:.59rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#groupComposition .group-age-options{
  display:flex!important;
  width:auto!important;
  gap:2px!important;
  margin:0!important;
  align-items:center!important;
}
#groupComposition .group-age-options label{
  margin:0!important;
}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:29px!important;
  height:25px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  color:#e5eeee!important;
  font-size:.59rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options input:checked + span{
  background:#0b2021!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important;
}



/* ===== group-average-clean-final ===== */
/* Remove any outer/subcontainer treatment */
#groupComposition .group-average-age-row{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:9px auto 0!important;
  padding:0!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy{
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#groupComposition .group-average-copy .group-average-label{
  color:#013b46!important;
  font-size:.63rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* The age choices themselves form the only compact dark badge */
#groupComposition .group-age-options{
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  gap:3px!important;
  margin:0!important;
  padding:3px!important;
  border:0!important;
  border-radius:999px!important;
  background:#183b3d!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options label{margin:0!important}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:31px!important;
  height:26px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#013b46!important;
  font-size:.61rem!important;
  font-weight:900!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options input:checked + span{
  background:#0b2021!important;
  color:#fff!important;
  box-shadow:none!important;
}



/* ===== group-average-free-text-badge-final ===== */
#groupComposition .group-average-age-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:9px auto 0!important;
  padding:0!important;
  gap:9px!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy,
#groupComposition .group-average-copy .group-average-label{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#013b46!important;
  font-size:.64rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#groupComposition .group-age-options{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  width:auto!important;
  margin:0!important;
  padding:3px!important;
  border:1px solid #dbe5e5!important;
  border-radius:999px!important;
  background:#f3f7f7!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options label{margin:0!important}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:31px!important;
  height:26px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#013b46!important;
  font-size:.61rem!important;
  font-weight:900!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options input:checked + span{
  background:#013b46!important;
  color:#fff!important;
}



/* ===== group-average-two-row-badge-final ===== */
#groupComposition .group-average-age-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  margin:10px auto 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#groupComposition .group-average-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#groupComposition .group-average-copy .group-average-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  margin:0!important;
  padding:5px 12px!important;
  border:1px solid #dce5e6!important;
  border-radius:999px!important;
  background:#f5f8f8!important;
  color:#2f4f52!important;
  font-size:.64rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options label{
  margin:0!important;
}
#groupComposition .group-age-options label span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid #d7e1e1!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#013b46!important;
  font-size:.64rem!important;
  font-weight:900!important;
  box-shadow:none!important;
}
#groupComposition .group-age-options input:checked + span{
  background:#013b46!important;
  border-color:#013b46!important;
  color:#fff!important;
}


/* ===== group-instruction-normal-final ===== */
#groupComposition .group-plain-heading small{
  font-weight:400!important;
}
#groupComposition .group-plain-heading small br:first-of-type{
  line-height:1.5!important;
}
#groupComposition .group-plain-heading small em{
  font-weight:400!important;
}


/* ===== group-average-desktop-one-line-final ===== */
@media(min-width: 1025px){
  #groupComposition .group-average-age-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:auto!important;
    margin:10px auto 0!important;
  }
  #groupComposition .group-average-copy{
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  #groupComposition .group-average-copy .group-average-label{
    white-space:nowrap!important;
  }
  #groupComposition .group-age-options{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:auto!important;
    margin:0!important;
  }
}


/* ===== mobile-insurer-inpatient-labels-final ===== */



/* ===== quote-results-carousel-final ===== */
#quoteCarouselShell{
  position:relative;
  width:100%;
  margin:0 auto 10px;
}
#cardsContainer.quote-carousel-track{
  display:flex!important;
  grid-template-columns:none!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:3px 3px 10px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  overscroll-behavior-inline:contain!important;
}
#cardsContainer.quote-carousel-track::-webkit-scrollbar{display:none!important}
#cardsContainer.quote-carousel-track>.provider-card{
  flex:0 0 calc((100% - 14px)/2)!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  box-sizing:border-box!important;
}
.quote-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:8!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d7e1e1!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#013b46!important;
  box-shadow:0 6px 18px rgba(1,59,70,.14)!important;
  cursor:pointer!important;
  transform:translateY(-50%)!important;
}
.quote-carousel-prev{left:-20px!important}
.quote-carousel-next{right:-20px!important}
.quote-carousel-arrow:disabled{
  opacity:.28!important;
  cursor:default!important;
  box-shadow:none!important;
}
.quote-carousel-arrow:not(:disabled):hover{
  background:#013b46!important;
  color:#fff!important;
}
.quote-carousel-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:25px;
  margin:0 0 20px;
  color:#64748b;
  font-size:.65rem;
  font-weight:800;
}
.quote-carousel-dots{
  display:flex;
  align-items:center;
  gap:4px;
}
.quote-carousel-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#cfd8d3;
}
.quote-carousel-dot.is-active{
  width:16px;
  border-radius:999px;
  background:#315d5f;
}
@media(min-width:1250px){
  #cardsContainer.quote-carousel-track>.provider-card{
    flex-basis:calc((100% - 28px)/3)!important;
  }
}




/* ===== quote-results-navigation-fixed-final ===== */
.quote-number-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  margin:-6px 0 14px;
}
.quote-number-btn{
  min-width:70px;
  height:30px;
  padding:0 10px;
  border:1px solid #d8e2e2;
  border-radius:8px;
  background:#fff;
  color:#2f4f52;
  font-size:.62rem;
  font-weight:800;
  cursor:pointer;
}
.quote-number-btn.is-active{
  border-color:#013b46;
  background:#013b46;
  color:#fff;
}
.quote-number-btn:hover{
  border-color:#315d5f;
}

/* Keep navigation arrows visible in the viewport while scrolling vertically
   through long quotation cards. */
#quoteCarouselShell .quote-carousel-arrow{
  position:sticky!important;
  top:50vh!important;
  transform:translateY(-50%)!important;
  z-index:20!important;
  flex:0 0 auto!important;
}
#quoteCarouselShell{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  align-items:start!important;
  column-gap:6px!important;
  position:relative!important;
}
#quoteCarouselShell .quote-carousel-prev{
  grid-column:1!important;
  grid-row:1!important;
  left:auto!important;
  right:auto!important;
  justify-self:center!important;
}
#quoteCarouselShell #cardsContainer{
  grid-column:2!important;
  grid-row:1!important;
}
#quoteCarouselShell .quote-carousel-next{
  grid-column:3!important;
  grid-row:1!important;
  left:auto!important;
  right:auto!important;
  justify-self:center!important;
}



/* ===== quote-carousel-end-slash-final ===== */
.quote-carousel-arrow.is-end-stop{
  opacity:1!important;
  background:#f3f5f4!important;
  border-color:#cfd8d3!important;
  color:#7b8780!important;
  cursor:default!important;
  box-shadow:none!important;
}
.quote-carousel-arrow.is-end-stop i{
  display:none!important;
}
.quote-carousel-arrow.is-end-stop::before{
  content:"⊘";
  display:block;
  font-size:1.25rem;
  line-height:1;
  font-weight:700;
  color:#7b8780;
}


/* ===== floating-quote-summary-removed-final ===== */
.sticky-quote-summary,
.provider-card>.sticky-quote-summary,
.floating-quote-summary,
#floatingQuoteSummary{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  position:static!important;
  pointer-events:none!important;
}


/* ===== quote-ribbon-sticky-continuous-final ===== */
/* One continuous ribbon attached directly below the sticky site header */
#quoteStickyRibbon{
  display:none!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--quote-ribbon-top,0px)!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  z-index:998!important;
  background:#013b46!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  border-bottom:1px solid rgba(0,0,0,.18)!important;
  box-shadow:0 4px 12px rgb(15, 49, 51,.14)!important;
  overflow:hidden!important;
}
#quoteStickyRibbon.is-visible{
  display:block!important;
}
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  display:flex!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  scroll-behavior:smooth!important;
  background:transparent!important;
}
#quoteStickyRibbon .quote-sticky-ribbon-inner::-webkit-scrollbar{
  display:none!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  cursor:pointer!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-item:first-child{
  border-left:1px solid rgba(255,255,255,.14)!important;
}
#quoteStickyRibbon .quote-ribbon-item.is-active{
  background:rgba(255,255,255,.12)!important;
}
#quoteStickyRibbon .quote-ribbon-item-number{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:23px!important;
  padding:0 7px!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#013b46!important;
  font-size:.57rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-provider{
  color:#fff!important;
  font-size:.61rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-plan{
  color:rgba(255,255,255,.7)!important;
  font-size:.62rem!important;
  font-weight:600!important;
  max-width:120px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  flex-shrink:1!important;
  min-width:0!important;
  line-height:1.1!important;
}
#quoteStickyRibbon .quote-ribbon-item-members{
  color:rgba(255,255,255,.5)!important;
  font-size:.56rem!important;
  font-weight:500!important;
  max-width:140px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  flex-shrink:1!important;
  min-width:0!important;
  line-height:1.1!important;
}
#quoteStickyRibbon .quote-ribbon-ident-main{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  line-height:1.15!important;
}
#quoteStickyRibbon .quote-ribbon-item-sep{
  color:rgba(255,255,255,.45)!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#f4d66d!important;
  font-size:.61rem!important;
  font-weight:900!important;
}



/* ===== quote-ribbon-card-aligned-spacing-final ===== */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  max-width:none!important;
  padding-left:var(--quote-ribbon-side-space,0px)!important;
  padding-right:var(--quote-ribbon-side-space,0px)!important;
  gap:var(--quote-ribbon-gap,14px)!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  flex:0 0 var(--quote-ribbon-card-width,320px)!important;
  width:var(--quote-ribbon-card-width,320px)!important;
  min-width:var(--quote-ribbon-card-width,320px)!important;
  max-width:var(--quote-ribbon-card-width,320px)!important;
  box-sizing:border-box!important;
  border-left:0!important;
  border-right:0!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
#quoteStickyRibbon .quote-ribbon-item + .quote-ribbon-item{
  border-left:1px solid rgba(255,255,255,.14)!important;
}


/* ===== quote-ribbon-fixed-noninteractive-final ===== */
#quoteStickyRibbon,
#quoteStickyRibbon *{
  user-select:none!important;
  -webkit-user-select:none!important;
}
#quoteStickyRibbon{
  pointer-events:none!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  cursor:default!important;
  pointer-events:none!important;
}
#quoteStickyRibbon .quote-ribbon-item:hover,
#quoteStickyRibbon .quote-ribbon-item:focus,
#quoteStickyRibbon .quote-ribbon-item:active,
#quoteStickyRibbon .quote-ribbon-item.is-active{
  background:transparent!important;
  outline:none!important;
  box-shadow:none!important;
}


/* ===== quote-ribbon-ip-op-summary-final ===== */
#quoteStickyRibbon .quote-ribbon-item-number{
  min-height:auto!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:.62rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-benefit{
  flex:0 0 auto!important;
  color:#fff!important;
  font-size:.59rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}



/* ===== quote-ribbon-each-quote-badge-final ===== */
/* Keep one continuous ribbon background, but group each quote summary into its own badge */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  gap:10px!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:30px!important;
  padding:4px 10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#quoteStickyRibbon .quote-ribbon-item + .quote-ribbon-item{
  border-left:1px solid rgba(255,255,255,.22)!important;
}
#quoteStickyRibbon .quote-ribbon-item-number{
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:.61rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-provider{
  color:#fff!important;
  font-size:.61rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-benefit{
  color:#e6efef!important;
  font-size:.57rem!important;
  font-weight:800!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#f4d66d!important;
  font-size:.61rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-sep{
  color:rgba(255,255,255,.45)!important;
}



/* ===== quote-ribbon-compact-badges-final ===== */
#quoteStickyRibbon .quote-ribbon-item{
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  min-height:26px!important;
  padding:2px 7px!important;
  gap:4px!important;
  border-radius:7px!important;
}
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  gap:7px!important;
}
#quoteStickyRibbon .quote-ribbon-item-number,
#quoteStickyRibbon .quote-ribbon-item-provider,
#quoteStickyRibbon .quote-ribbon-item-price{
  font-size:.58rem!important;
}
#quoteStickyRibbon .quote-ribbon-benefit{
  font-size:.54rem!important;
}



/* ===== quote-ribbon-compact-aligned-final ===== */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:35px!important;
  padding:0!important;
  overflow:hidden!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  position:absolute!important;
  top:4px!important;
  flex:none!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
}


/* ===== quote-actions-stacked-payment-final ===== */
.provider-card .cover-card-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  margin-top:10px!important;
}
.provider-card .cover-card-actions button{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 12px!important;
  border-radius:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:.72rem!important;
  font-weight:800!important;
}
.provider-card .get-cover-btn{
  background:#013b46!important;
  color:#fff!important;
}
.provider-card .download-quote-btn{
  background:#fff!important;
  color:#315d5f!important;
  border:1px solid #cddadb!important;
}
.provider-card .quote-whatsapp-btn{
  background:#25D366!important;
  color:#fff!important;
  border:0!important;
}
.provider-card .view-provider-network-btn{
  background:#fff!important;
  color:#013b46!important;
  border:1px solid #8fb3b5!important;
  cursor:pointer!important;
}
.provider-card .pay-insurer-btn{
  background:#d4af37!important;
  color:#013b46!important;
  border:0!important;
  cursor:pointer!important;
}

.directory-download-btn{
  min-height:42px;
  padding:9px 14px;
  border:1px solid #b58b20;
  border-radius:10px;
  background:#fff8df;
  color:#013b46;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.directory-download-btn:disabled{
  border-color:#dce3df;
  background:#f3f5f4;
  color:#8a9590;
  cursor:not-allowed;
}


/* Insurer payment instructions popup */
.payment-popup-overlay{
  position:fixed;
  inset:0;
  z-index:12000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgb(10, 23, 24,.62);
}
.payment-popup-overlay.is-open{display:flex}
.payment-popup-card{
  position:relative;
  width:min(520px,100%);
  max-height:88vh;
  overflow-y:auto;
  padding:24px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.payment-popup-close{
  position:absolute;
  right:13px;
  top:10px;
  border:0;
  background:transparent;
  color:#7a8981;
  font-size:1.6rem;
  cursor:pointer;
}
.payment-popup-icon{
  width:42px;height:42px;display:grid;place-items:center;
  border-radius:12px;background:#edf6f6;color:#245c5f;margin-bottom:9px;
}
.payment-popup-kicker{
  display:block;color:#b18518;font-size:.61rem;font-weight:900;letter-spacing:.08em;
}
.payment-popup-card h3{
  margin:3px 0 14px;color:#013b46;font-size:1.3rem;
}
.payment-popup-summary{
  display:grid;
  gap:7px;
  margin-bottom:14px;
}
.payment-popup-summary>div{
  display:flex;justify-content:space-between;gap:15px;
  padding:8px 10px;border:1px solid #e3ebeb;border-radius:9px;background:#fafcfc;
}
.payment-popup-summary span{color:#7a8981;font-size:.66rem;font-weight:700}
.payment-popup-summary strong{color:#273e3f;font-size:.72rem;text-align:right}
.payment-popup-summary .payment-popup-amount{
  background:#f7f1df;border-color:#eadca9;
}
.payment-popup-summary .payment-popup-amount strong{
  color:#013b46;font-size:.86rem;
}
.payment-popup-methods{
  display:grid;gap:8px;margin-top:4px;
}
.payment-popup-method{
  padding:10px 11px;border:1px solid #dde7e7;border-radius:10px;background:#fff;
}
.payment-popup-method h4{
  margin:0 0 5px;color:#013b46;font-size:.72rem;
}
/* A bank's own mark beside the heading, kept small because this popup is
   compact, and outlined in the bank's colour. */
.payment-popup-method h4{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.payment-popup-method h4 .pay-method-mark{
  --pay-mark-h:20px;padding:2px 5px;
}
.payment-popup-method h4 .pay-bank-logo{max-width:82px}
.payment-popup-method p{
  margin:2px 0;color:#52645a;font-size:.65rem;line-height:1.45;
}
.payment-popup-method strong{color:#263b3c}
.payment-popup-empty{
  padding:12px;border-radius:10px;background:#f6f8f8;color:#68776f;
  font-size:.68rem;text-align:center;
}
.payment-popup-note{
  display:flex;gap:6px;margin:12px 0 0;color:#78877f;font-size:.61rem;line-height:1.45;
}
.payment-popup-note i{color:#b18518;margin-top:2px}
.payment-popup-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;
}
.payment-popup-actions a,.payment-popup-actions button{
  min-height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  gap:7px;font-size:.68rem;font-weight:800;text-decoration:none;cursor:pointer;
}
.payment-popup-whatsapp{background:#25D366;color:#fff}
.payment-popup-done{border:1px solid #d8e2e2;background:#fff;color:#2f4f52}



/* ===== payment-confirmation-flow-final ===== */
.payment-confirm-divider{
  display:flex;align-items:center;gap:10px;margin:17px 0 12px;
  color:#013b46;font-size:.7rem;font-weight:900;
}
.payment-confirm-divider:before,.payment-confirm-divider:after{
  content:"";height:1px;flex:1;background:#e0e8e8;
}
.payment-confirm-form{display:grid;gap:9px}
.payment-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.payment-confirm-field{display:grid;gap:4px}
.payment-confirm-field label{
  color:#425657;font-size:.62rem;font-weight:800;
}
.payment-confirm-field label span{color:#8b9891;font-weight:600}
.payment-confirm-field input,
.payment-confirm-field select,
.payment-confirm-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #d8e2e2;border-radius:8px;
  background:#fff;color:#243839;padding:8px 9px;font:inherit;font-size:.68rem;outline:none;
}
.payment-confirm-field input:focus,
.payment-confirm-field select:focus,
.payment-confirm-field textarea:focus{
  border-color:#789a9c;box-shadow:0 0 0 2px rgb(49, 93, 95,.08);
}
.payment-confirm-field textarea{resize:vertical}
.payment-confirm-dynamic[hidden]{display:none!important}
.payment-confirm-submit{
  width:100%;min-height:40px;border:0;border-radius:9px;
  background:#013b46;color:#fff;font-size:.68rem;font-weight:900;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.payment-confirm-status{
  margin:0;padding:8px 9px;border-radius:8px;background:#edf6f6;
  color:#245c5f;font-size:.63rem;line-height:1.4;
}



/* ===== insurer-checkbox-ui ===== */
.insurer-checkboxes{display:flex;align-items:center;gap:.4rem;width:100%;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none;-ms-overflow-style:none}
.insurer-checkboxes::-webkit-scrollbar{display:none}
.insurer-checkbox-option{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 13px;border:1px solid #d6dbe1;border-radius:8px;background:#fff;color:#475569;font-size:.7rem;font-weight:600;letter-spacing:.01em;box-shadow:none;cursor:pointer;transition:.18s ease;white-space:nowrap;flex:0 0 auto}
.insurer-checkbox-option:hover{border-color:#9aa4b2;background:#f8fafc;transform:translateY(-1px)}
.insurer-checkbox-option::before{content:none}
.insurer-checkbox-option:has(input:checked){border-color:#94a3b8;background:#fff;color:#1e293b}
.insurer-checkbox-option:has(input:checked)::before{content:none}
.insurer-checkbox-option:has(input:checked)::after{content:none}
.insurer-checkbox-option input{position:static;opacity:1;pointer-events:auto;width:15px;height:15px;margin:0;accent-color:#475569;cursor:pointer}

.insurer-selection-warning{display:none;margin-top:.4rem;color:#b91c1c;font-size:.72rem;font-weight:700}
.insurer-selection-warning.visible{display:block}
.insurer-dependent-disabled{opacity:.42;filter:grayscale(1);pointer-events:none;user-select:none}
#quote-form select.has-selection{background:#e9f5f4!important;border-color:#4f9093!important;color:#17494c!important;box-shadow:0 0 0 2px rgba(1,122,120,.07)!important}
#quote-form select.has-selection:focus{border-color:#017a78!important;box-shadow:0 0 0 3px rgba(1,122,120,.13)!important}
#groupComposition input[type="number"].has-selection{background:#e9f5f4!important;border-color:#4f9093!important;color:#17494c!important;box-shadow:0 0 0 2px rgba(1,122,120,.07)!important}
#groupComposition input[type="number"].has-selection:focus{border-color:#017a78!important;box-shadow:0 0 0 3px rgba(1,122,120,.13)!important}
#groupComposition .group-plain-heading small{display:block;color:#475569;font-size:.72rem;font-weight:600;line-height:1.45}
#groupComposition .group-plain-heading small em{color:#64748b;font-size:.68rem;font-weight:500;font-style:normal}
.quote-wrapper .insurer-row .insurer-card:not(.inpatient-card){grid-template-columns:auto minmax(0,1fr)!important;max-width:none!important;width:100%!important}
.quote-wrapper .insurer-row .insurer-card:not(.inpatient-card)>.insurer-control:not(#planGroup){width:100%!important;min-width:0!important}
.quote-wrapper .insurer-row .insurer-card>#planGroup{grid-column:1/-1!important;display:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;margin-top:.2rem!important;padding-top:.65rem;border-top:1px solid #e7eeee}
.quote-wrapper .insurer-row .insurer-card>#planGroup[style*="display: block"],.quote-wrapper .insurer-row .insurer-card>#planGroup[style*="display:block"]{display:grid!important}
.insurer-plan-label{display:flex;align-items:center;gap:.4rem;color:var(--primary-navy);font-size:.75rem;font-weight:800;white-space:nowrap}
.insurer-plan-label i{color:#016f6d}
.quote-step-members .family-item:has(#principalAge.principal-age-error)>label{color:#b91c1c!important}
#principalAge.principal-age-error{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.14)!important}
/* The principal is one of the member boxes, so a chosen age no longer swells
   the closed selector: it keeps the size the spouse and the children wear -
   "Principal Age 47" sits in the box the same way "Spouse Age 38" does. */
#principalAge:not(.principal-age-placeholder){font-weight:750!important}#spouseAge,#childrenAge017,#childrenAge1824{font-weight:750!important}
#principalAge option{font-weight:750}#spouseAge option,#childrenAge017 option,#childrenAge1824 option{font-weight:750}
#principalAge.principal-age-placeholder{color:#b91c1c!important;font-weight:700!important}
#principalAge option[value=""]{color:#b91c1c;font-weight:700}
#principalAge option:not([value=""]){color:var(--text-dark);font-weight:400}
.principal-age-inline-warning{display:block;margin-top:.35rem;color:#b91c1c;font-size:.68rem;font-weight:700;text-align:center}
.principal-validation-message{display:none;margin-top:.35rem;color:#b91c1c;font-size:.68rem;font-weight:700;text-align:center}
.principal-validation-message.visible{display:block}
.quote-header-badge-host{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}
.quote-header-badge-host .group-families-live-total{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px;min-height:30px!important;margin:0!important;padding:5px 13px!important;border:1px solid rgb(36, 118, 122,.18)!important;border-radius:999px!important;background:linear-gradient(180deg,#f8fcfc,#e9f5f4)!important;color:#20595c!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:0 3px 10px rgb(24, 75, 78,.07)!important;white-space:nowrap!important}
.quote-header-badge-host .group-families-live-total i{color:#017a78;font-size:.72rem}
.quote-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.quote-price-row .price{margin:0}
.quote-sequence{margin-left:auto;color:#475569;font-size:.76rem;font-weight:750;white-space:nowrap}

.family-counter-only{display:none!important}




/* ===== related-quote-styles ===== */
.related-quote-banner{display:flex;align-items:center;gap:.45rem;margin:0 0 .75rem;padding:.48rem .65rem;border:1px solid #f59e0b;border-radius:9px;background:#fffbeb;color:#92400e;font-size:.72rem;font-weight:800;line-height:1.3}
.related-quote-placeholder{visibility:hidden!important;pointer-events:none!important}
.related-quote-banner i{color:#d97706}.provider-card.related-quote-card{border-style:dashed!important}.provider-card.related-quote-card h3{margin-bottom:.35rem}
.related-quote-note{display:block;margin-top:.18rem;color:#92400e;font-size:.66rem;font-weight:700}


/* ===== insurer-horizontal-ribbon-ui ===== */
/* Single horizontal insurer ribbon */
#insurerCheckboxes.insurer-checkboxes{
  display:flex!important;align-items:stretch!important;gap:0!important;width:100%!important;
  overflow-x:auto!important;padding:0!important;border:1px solid #d5e1e0!important;
  border-radius:10px!important;background:#fff!important;box-shadow:0 2px 7px rgba(1,57,71,.04)!important;
  scrollbar-width:none;-ms-overflow-style:none;
}
#insurerCheckboxes.insurer-checkboxes::-webkit-scrollbar{display:none}
#insurerCheckboxes .insurer-checkbox-option{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:6px!important;min-height:38px!important;padding:7px 13px!important;margin:0!important;
  border:0!important;border-right:1px solid #e1e7e3!important;border-radius:0!important;
  background:#fff!important;color:#526158!important;font-size:.7rem!important;font-weight:700!important;
  white-space:nowrap!important;box-shadow:none!important;transform:none!important;flex:1 0 auto!important;cursor:pointer!important;
}
#insurerCheckboxes .insurer-checkbox-option:last-child{border-right:0!important}
#insurerCheckboxes .insurer-checkbox-option:hover{background:#f6fbfb!important;color:#24494b!important}
#insurerCheckboxes .insurer-checkbox-option input{
  position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important;
}
#insurerCheckboxes .insurer-checkbox-option::before{
  content:""!important;width:15px!important;height:15px!important;border:1.5px solid #aebbb3!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 15px!important;
  background:#fff!important;color:#fff!important;font-size:9px!important;font-weight:900!important;line-height:1!important;
}
#insurerCheckboxes .insurer-checkbox-option:has(input:checked){
  background:#eaf6f5!important;color:#17484b!important;
}
#insurerCheckboxes .insurer-checkbox-option:has(input:checked)::before{
  content:"✓"!important;background:#017a78!important;border-color:#017a78!important;color:#fff!important;
}
#insurerCheckboxes .insurer-checkbox-option:has(input:focus-visible){
  outline:2px solid rgba(1,122,120,.28)!important;outline-offset:-2px!important;z-index:1;
}
/* Pin the "All" option to the left while the other insurers scroll */
#insurerCheckboxes .insurer-checkbox-option:first-child{
  position:sticky!important;
  left:0!important;
  z-index:3!important;
  background:#fff!important;
  box-shadow:4px 0 8px rgba(1,57,71,.10)!important;
}



/* ===== style-67 ===== */
/* Progressive prompt: after Principal Age, make Inpatient Limit the next obvious action. */
#inpatientLimit.inpatient-limit-error {
  color: #dc2626 !important;
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.25) !important;
  font-weight: 700;
}
#inpatientLimit.inpatient-limit-error option {
  color: #1e293b;
  font-weight: 400;
}
#inpatientLimit.inpatient-limit-error option[value=""],
#inpatientLimit.inpatient-limit-error option[value="none"] {
  color: #dc2626;
  font-weight: 700;
}

/* Keep the inpatient selector inactive until the required family details are supplied. */
.inpatient-card.inpatient-limit-pending .cover-type-heading {
  color: #64748b !important;
}
.inpatient-card.inpatient-limit-pending #inpatientLimit:disabled {
  color: #64748b !important;
  background: #edf1f3 !important;
  border-color: #d5dce1 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

/* Group application document collection. */
.group-application-section {
  position: relative;
  margin: 1rem 0;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid #c9dfe0;
  border-radius: 18px;
  background: linear-gradient(135deg, #f7fcfc 0%, #eff8f8 100%);
  box-shadow: 0 12px 28px rgba(1,59,70, .09);
}
.group-application-section::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, #01696a, #4a989c, #d9a723);
}
.group-application-section h3 {
  margin: .1rem 0 .35rem;
  font-size: 1.05rem;
}
.group-application-section .role-badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem .75rem;
  border-radius: 999px;
  background: #013b46;
  color: #fff;
  letter-spacing: .01em;
}
.group-application-intro {
  max-width: 52rem;
  margin: .75rem 0 1.1rem;
  color: #475569;
  font-size: .85rem;
  line-height: 1.5;
}
.group-application-section .beneficiary-grid { gap: 1rem; }
.group-application-section .beneficiary-box {
  padding: 1rem;
  border: 1px solid #d8e6e7;
  border-radius: 14px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 4px 12px rgba(1,59,70, .04);
}
.group-application-section .beneficiary-box h4 {
  margin: 0 0 .85rem;
  color: #013b46;
  font-size: .9rem;
}
.group-application-section .beneficiary-box h4 small {
  color: #8a6d1d;
  font-weight: 700;
}
.group-application-section .field-group { margin-bottom: .8rem; }
.group-application-section .field-group:last-child { margin-bottom: 0; }
.group-application-section input[type="file"] {
  padding: .45rem;
  border: 1px dashed #9dbabc;
  border-radius: 9px;
  background: #f9fcfc;
}
.group-contact-box {
  background: linear-gradient(135deg, #fffdf3, #fff8d9) !important;
  border-color: #eadba1 !important;
}
.group-contact-box .field-group label {
  color: #695619;
  font-size: .86rem;
  font-weight: 800;
}
.group-contact-box input,
.group-contact-box select {
  min-height: 48px;
  padding: .7rem .8rem;
  border: 1px solid #dfca7d;
  border-radius: 10px;
  background: rgba(255,255,255,.9);
  font-size: .96rem;
}
.group-contact-box input:focus,
.group-contact-box select:focus {
  border-color: #b68a18;
  box-shadow: 0 0 0 3px rgba(182,138,24,.14);
  outline: none;
}
.group-attachment-email {
  margin: 1rem 0 0;
  padding-top: .85rem;
  border-top: 1px solid #d8e6e7;
  color: #526158;
  font-size: .82rem;
  line-height: 1.45;
}
.group-attachment-email i { color: #01696a; margin-right: .25rem; }
.group-attachment-email a { color: #01696a; font-weight: 800; }
.group-template-download {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: .2rem 0 .7rem;
  padding: .55rem .75rem;
  border: 1px solid #b7d3d4;
  border-radius: 9px;
  background: #e8f4f5;
  color: #01696a;
  font-size: .83rem;
  font-weight: 700;
  text-decoration: none;
}
.group-template-download:hover { background: #d9eeef; text-decoration: none; }


/* ===== principal-age-only-required-cue-v2 ===== */
#principalAge.principal-age-error {
  color: #dc2626 !important;
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24) !important;
  font-weight: 700;
}
#principalAge.principal-age-error option {
  color: #1e293b;
  font-weight: 400;
}
#principalAge.principal-age-error option[value=""] {
  color: #dc2626 !important;
  font-weight: 700;
}


/* ===== zero-count-required-glow-v1 ===== */
/* Required zero-count cue for Children Only and Group/SME. */
select.zero-count-required,
input.zero-count-required {
  color: #dc2626 !important;
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24) !important;
  font-weight: 700 !important;
}
select.zero-count-required option {
  color: #1e293b;
  font-weight: 400;
}
select.zero-count-required option[value="0"] {
  color: #dc2626 !important;
  font-weight: 700;
}


/* ===== optional-benefits-disabled-without-inpatient-v1 ===== */
/* Grey out optional benefits until a specific Inpatient Limit is selected. */
.optional-benefit-disabled,
.optional-benefit-disabled select,
.optional-benefit-disabled input,
select.optional-benefit-disabled,
input.optional-benefit-disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}
select.optional-benefit-disabled,
input.optional-benefit-disabled {
  background-color: #f3f4f6 !important;
  color: #9ca3af !important;
  border-color: #d1d5db !important;
  box-shadow: none !important;
}


/* ===== optional-benefits-core-disabled-polish-v1 ===== */
input.optional-benefit-disabled + span,
input.optional-benefit-disabled + label,
.optional-benefit-disabled label {
  color: #9ca3af !important;
}


/* ===== outpatient-required-warning-style-v1 ===== */
#outpatientRequiredWarning {
  display: none;
  width: 100%;
  position: static !important;
  float: none !important;
  clear: both;
  margin: 5px 0 0 0 !important;
  padding: 0 !important;
  text-align: left;
  font-size: 12px;
  line-height: 1.25;
  color: #dc2626;
  font-weight: 700;
}
#outpatientRequiredWarning.visible {
  display: block !important;
}


/* ===== outpatient-required-attention-style-v1 ===== */
#outpatientLimit.outpatient-required-attention {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.12) !important;
}


/* ===== group-family-zero-red-style-final ===== */
/* Group/SME M ... M+7 required cue, matching the Children Only red cue */
#groupComposition input.zero-count-required,
#groupComposition select.zero-count-required {
  color: #dc2626 !important;
  -webkit-text-fill-color: #dc2626 !important;
  border-color: #dc2626 !important;
  background: #fff !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  font-style: normal !important;
  box-shadow:
    0 0 0 3px rgba(220,38,38,.13),
    0 0 14px rgba(220,38,38,.24) !important;
}


/* ===== disabled-benefit-hard-lock-style ===== */
/* A greyed benefit is genuinely non-interactive. */
select.optional-benefit-disabled:disabled,
input.optional-benefit-disabled:disabled {
  pointer-events: none !important;
  cursor: not-allowed !important;
}
.form-group.optional-benefit-disabled,
.field.optional-benefit-disabled,
.benefit-field.optional-benefit-disabled,
.quote-field.optional-benefit-disabled,
.selector-wrap.optional-benefit-disabled,
.control-group.optional-benefit-disabled {
  cursor: not-allowed !important;
}


/* ===== maternity-cover-layout-fix ===== */
/* Children Only: maternity is not shown */
body.cover-children-only #maternityField,
body.cover-children-only #maternityLimitContainer,
body.cover-children-only .maternity-field,
body.cover-children-only [data-benefit="maternity"] {
  display: none !important;
}

/* Group/SME: maternity occupies the full width of its container */
body.cover-group-sme #maternityField,
body.cover-group-sme #maternityLimitContainer,
body.cover-group-sme .maternity-field,
body.cover-group-sme [data-benefit="maternity"] {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
  grid-column: 1 / -1 !important;
}

/* Any principal/spouse-specific maternity controls are irrelevant for Group/SME */
body.cover-group-sme .maternity-principal,
body.cover-group-sme .maternity-spouse,
body.cover-group-sme [data-maternity-member="principal"],
body.cover-group-sme [data-maternity-member="spouse"] {
  display: none !important;
}


/* ===== quote-engine-fixed-thirds-v23 ===== */
@media (min-width: 1025px){.quote-wrapper .insurer-card,.quote-wrapper .inpatient-card{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}.quote-wrapper .insurer-card>*,.quote-wrapper .inpatient-card>*{width:100% !important;min-width:0 !important;box-sizing:border-box;}}


/* ===== quote-sequence-validation-styles ===== */
.sequence-prerequisite-error{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.18),0 0 14px rgba(220,38,38,.28)!important;animation:sequencePrerequisitePulse .8s ease-in-out 2}
select.sequence-prerequisite-error{color:#dc2626!important;font-weight:700!important}
select.sequence-prerequisite-error option{color:#1e293b;font-weight:400}
select.sequence-prerequisite-error option[data-sequence-original-text]{color:#dc2626!important;font-weight:700!important}
.quote-step-members .family-item:has(#principalAge.sequence-prerequisite-error)>label{color:#b91c1c!important}
@keyframes sequencePrerequisitePulse{50%{box-shadow:0 0 0 4px rgba(220,38,38,.20),0 0 16px rgba(220,38,38,.26)!important}}

/* ===== responsive-quote-results-partners-v1 ===== */
/* Tablets retain the compact desktop quote-engine presentation. */
@media (min-width: 1025px) and (max-width:1024px){
  #quote-form{width:100%!important;max-width:none!important;margin:0!important;padding:2rem!important;border-radius:24px!important}
  .mobile-quote-intro,.mobile-step-title,.mobile-action-note{display:none!important}
  .quote-step-card{display:contents!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
  #quote-form select,#quote-form input[type="number"]{min-height:38px!important;height:38px!important;font-size:.8rem!important;border-radius:8px!important;padding:.4rem .6rem!important}
  .quote-step-cover .cover-type-card,.quote-step-cover-selection .cover-type-card,.quote-step-cover-selection .insurer-card{display:grid!important;width:100%!important;max-width:none!important}
  .quote-step-cover .cover-type-heading,.quote-step-cover-selection .cover-type-heading{display:flex!important}
  .quote-step-cover .cover-type-toggle{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .quote-step-benefits .optional-benefit-row{padding:0!important;margin-bottom:.8rem!important;border:0!important;border-radius:0!important;background:transparent!important}
  .actions-quote{display:flex!important;margin-top:1.5rem!important}
  #getQuotesBtn,#resetBtn{width:auto!important;min-height:44px!important;border-radius:40px!important;font-size:.9rem!important}
  #cardsContainer.quote-carousel-track>.provider-card{flex-basis:calc((100% - 28px)/3)!important}
  #partners .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}




/* ===== insurer-specific-benefit-bundling-style-v1 ===== */
#quote-form .insurer-benefit-rule-note{margin-top:.3rem;padding:.42rem .6rem;border:1px solid #bbdddf;border-radius:8px;background:#ecfdfb;color:#016f6d;font-size:.69rem;font-weight:750;line-height:1.35}
#quote-form .insurer-benefit-rule-note strong{font-weight:900}
#quote-form .insurer-benefit-rule-note.mixed{border-color:#d9e0e8;background:#f8fafc;color:#475569}
#quote-form .bundled-benefit-select{background:#ecfdfb !important;color:#016f6d !important;border-color:#86b5b3 !important;font-weight:800 !important}
#quote-form .bundled-benefit-label .optional-text{display:none !important}
#quote-form .bundled-benefit-label::after{content:' (Included)';color:#016f6d;font-size:.68rem;font-weight:800}

body.cover-children-only #quote-form .form-row:has(#maternityLimit){display:none !important;}

/* ===== primary-navigation-selected-state ===== */
.nav-links li:empty{display:none!important}
.nav-links a{padding:.38rem .62rem;border-radius:8px}
.nav-links a.active{color:#016f6d!important;background:#e1f0f1!important;font-weight:800!important;box-shadow:inset 0 -2px 0 #017a78}

/* ===== children-only-second-quarter-layout ===== */
@media (min-width: 1025px){
  .family-overview.children-only-layout .family-item:has(#childrenAge017){
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    column-gap:10px !important;
  }
  .family-overview.children-only-layout label[for="childrenAge017"]{
    grid-column:1 / 2 !important;
  }
  .family-overview.children-only-layout #childrenAge017{
    grid-column:2 / -1 !important;
  }
}


.family-overview.children-only-layout .family-item:has(#childrenAge017){
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:.6rem !important;
}
.family-overview.children-only-layout label[for="childrenAge017"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  min-width:150px !important;
  margin:0 !important;
  white-space:nowrap !important;
  color:var(--primary-navy) !important;
  font-size:.8rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.family-overview.children-only-layout .children-age-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:8px;
  background:#e6fbf9;
  color:#016f6d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Font Awesome 6 Free";
  font-size:.75rem;
  font-weight:900;
  line-height:1;
}
.family-overview.children-only-layout #childrenAge017{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
}

/* ===== mobile-cover-types-single-row ===== */


/* ===== mobile-flat-quote-engine ===== */


/* ===== mobile-flat-quote-engine-polish ===== */


/* ===== quote-actions-single-row-mobile-tablet ===== */
@media (max-width:1024px){
  #quote-form .actions-quote{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
  }
  #quote-form #getQuotesBtn{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
  }
  #quote-form #resetBtn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:82px!important;
  }
}

/* ===== benefit-label-selector-single-row-mobile-tablet ===== */
@media (max-width:1024px){
  #quote-form .quote-step-cover-selection .inpatient-card{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:8px!important;
    width:100%!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card .cover-type-heading{
    width:auto!important;
    min-height:44px!important;
    margin:0!important;
    align-items:center!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-control{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  #quote-form .quote-step-benefits .form-group{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
  }
  #quote-form .quote-step-benefits .form-group>label{
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    margin:0!important;
    font-size:.72rem!important;
    line-height:1.15!important;
  }
  #quote-form .quote-step-benefits .limit-scope-wrapper{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-benefits .limit-scope-wrapper select{
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-benefits .scope-group{
    width:100%!important;
    margin:0!important;
  }
}

/* Equal halves wherever the responsive action row contains two controls. */
@media (max-width:1024px){
  #quote-form .actions-quote>#getQuotesBtn,
  #quote-form .actions-quote>#resetBtn{
    flex:1 1 0!important;
    width:50%!important;
    min-width:0!important;
  }
}

/* ===== centered-responsive-section-headings ===== */
@media (max-width:1024px){
  #quote-form .mobile-step-title{
    justify-content:center!important;
    text-align:center!important;
  }
  #quote-form .mobile-step-title>div{
    text-align:center!important;
  }
  #quote-form .mobile-step-title>span{
    display:none!important;
  }
}

/* ===== responsive-benefit-heading-and-control-rows ===== */
@media (max-width:1024px){
  #quote-form .quote-step-cover-selection .inpatient-card,
  #quote-form .quote-step-benefits .form-group{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card .cover-type-heading,
  #quote-form .quote-step-benefits .form-group>label{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    min-height:24px!important;
    margin:0!important;
    text-align:center!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-control,
  #quote-form .quote-step-benefits .limit-scope-wrapper{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-control>select,
  #quote-form .quote-step-benefits .limit-scope-wrapper>select{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-control>.scope-group,
  #quote-form .quote-step-benefits .limit-scope-wrapper>.scope-group,
  #quote-form .quote-step-benefits .limit-scope-wrapper>#maternityNote{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  #quote-form .scope-group{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
  }
  #quote-form .scope-group .radio-option{
    min-width:0!important;
    width:100%!important;
    padding:5px 3px!important;
    font-size:.64rem!important;
    white-space:nowrap!important;
  }
  #quote-form #maternityNote{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    text-align:center!important;
    font-size:.67rem!important;
    line-height:1.15!important;
  }
  #quote-form .inpatient-validation-message,
  #quote-form .outpatient-required-warning{
    grid-column:1 / -1!important;
  }
}

/* ===== compact-mobile-benefit-scopes ===== */


/* Inpatient scope is a sibling of its selector, unlike the optional-benefit scopes. */
@media (max-width:1024px){
  #quote-form .quote-step-cover-selection .inpatient-card{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
    gap:6px 7px!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.cover-type-heading{
    grid-column:1 / -1!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control{
    display:block!important;
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>#inpatientScopeGroup{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control>select{
    width:100%!important;
    min-width:0!important;
  }
}

/* ===== mobile-header-contact-actions ===== */


/* ===== mobile-menu-actions-single-row ===== */


/* ===== mobile-get-quote-and-contact-icons ===== */
/* The first nav link reads "Compare & Apply" straight from the markup now, so
   the old font-size:0 + generated "Get Quote" label is gone. */


/* ===== unified-centered-mobile-menu-row ===== */


/* Keep menu links and contact icons in the same physical flex row. */


/* ===== mobile-quote-heading-and-member-header ===== */


/* Joined mobile Get Quotes / Reset segmented action. */


/* Match the Children Only required prompt to its field-label typography. */


/* Keep Group Average Age and all four choices on one mobile row. */




/* Quote-card counts by device; extra cards remain horizontally scrollable. */

@media (min-width: 1025px) and (max-width:1024px){
  #cardsContainer.quote-carousel-track>.provider-card{
    flex:0 0 calc((100% - 14px)/2)!important;
  }
}
@media (min-width:1025px){
  #cardsContainer.quote-carousel-track>.provider-card{
    flex:0 0 calc((100% - 28px)/3)!important;
  }
}

/* ===== remove-mobile-section-headers ===== */




/* Keep family age selectors in two equal columns on phones. */


/* Mobile benefit controls: insurer-style segmented selectors. */


/* ===== Phones: even 50/50 limit + scope split, with centred row headings ===== */


/* Light premium mobile quote-engine theme with a dark-green and gold frame. */


/* Keep the mobile quote title and live member counter on one line. */


/* Mobile quote actions: two comfortable, non-wrapping buttons in one row. */




/* Keep the trust heading as a balanced two-line statement. */
#trust .section-title > span{
  display:block;
}

/* Balance the mobile logo tagline with the NOW INSURANCE AGENCY wordmark. */
.header-brand .tagline-default{
  display:inline-block!important;
  transform-origin:left center;
}
.header-brand .tagline-mobile{
  display:none!important;
  transform-origin:left center;
}



/* Give the mobile quote-engine title more prominence without wrapping its badge. */

/* Footer legal navigation */
.footer-legal-links{display:inline-flex;align-items:center;gap:.55rem;margin-left:.75rem}.footer-legal-links a{text-decoration:underline;text-underline-offset:3px}.footer-legal-links a:hover{color:#f0cf66}
/* Unified footer typography and spacing */
footer,footer *{font-family:var(--ni-font-sans)}.footer-grid>div>h4,.footer-contact-simple h4{margin:0 0 .9rem!important;color:#fff!important;font-size:1rem!important;font-weight:800!important;line-height:1.25!important;letter-spacing:0!important}.footer-grid>div:first-child>.logo{font-size:1.25rem!important;font-weight:850!important;line-height:1.25!important}.footer-grid>div:first-child>p{margin:0!important;color:#aebbb5!important;font-size:.82rem!important;line-height:1.7!important}.footer-grid>div:not(:first-child)>ul{margin:0!important;padding:0!important}.footer-grid>div:not(:first-child)>ul>li,.footer-contact-list li{margin:0 0 .58rem!important;color:#aebbb5!important;font-size:.82rem!important;font-weight:400!important;line-height:1.5!important}.footer-grid ul li a,.footer-contact-list a{color:#cbd7d8!important;font-size:inherit!important;font-weight:500!important;line-height:inherit!important;text-decoration:none!important}.footer-grid ul li a:hover,.footer-contact-list a:hover{color:#f0cf66!important}.footer-contact-list strong{color:#fff!important;font-size:inherit!important;font-weight:750!important}.footer-contact-list strong+a{margin-left:.28rem}.footer-bottom{font-size:.8rem!important;line-height:1.5!important}
.footer-about p strong{color:#e7eeee;font-weight:750}.footer-about-link{display:inline-flex;margin-top:.75rem;color:#f0cf66!important;font-size:.82rem!important;font-weight:750!important}.footer-about-link:hover{color:#fff!important}
.provider-card .member-composition-main-container{box-sizing:border-box!important}.provider-card .member-composition-main-container .composition-title{margin:0 0 .45rem!important}.provider-card .member-composition-main-container .composition-section{margin:0!important}.provider-card .member-composition-main-container .composition-summary{margin-bottom:.35rem!important}
.provider-card .members-total-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-top: 0.6rem !important;
    padding-top: 0.6rem !important;
    border-top: 1px solid #cfddde !important;
    color: #014a52 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
}

.provider-card .members-total-row strong {
    color: #176367 !important;
    font-size: 0.84rem !important;
    font-weight: 900 !important;
}
#resultSummary {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 0.1rem 0.9rem;
    border: 0;
    border-radius: 30px;
    background: #e2e8f0;
    color: var(--primary-navy) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.6;
}
.member-health-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

#coverForm .member-bmi[readonly] {
    background: #ecf4f3;
    color: #014a52;
    font-weight: 800;
    cursor: default;
}

#coverForm .application-field-error {
    border: 2px solid #dc2626 !important;
    outline: 2px solid rgba(220, 38, 38, 0.2) !important;
    outline-offset: 1px !important;
    background-color: #fff5f5 !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.18), 0 0 15px rgba(220, 38, 38, 0.38) !important;
    animation: applicationFieldErrorGlow 1s ease-in-out 2;
}

#coverForm .field-group:has(.application-field-error) > label {
    color: #dc2626 !important;
    font-weight: 800 !important;
}

@keyframes applicationFieldErrorGlow {
    0%, 100% { box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15), 0 0 10px rgba(220, 38, 38, 0.25); }
    50% { box-shadow: 0 0 0 5px rgba(220, 38, 38, 0.25), 0 0 22px rgba(220, 38, 38, 0.5); }
}


.email-submission-fallback {
    margin: 1rem 0;
    padding: 0.9rem;
    border: 1px solid #f0b8b8;
    border-radius: 12px;
    background: #fff5f5;
    color: #7f1d1d;
}

.email-fallback-copy {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.email-fallback-copy > i {
    margin-top: 0.2rem;
    color: #dc2626;
}

.email-fallback-copy p,
.email-fallback-copy small {
    display: block;
    margin-top: 0.2rem;
}

.email-fallback-reason {
    color: #991b1b;
}

.email-fallback-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0.75rem;
    padding: 0.65rem 1rem;
    border: 0;
    border-radius: 999px;
    background: var(--whatsapp-green);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.email-fallback-whatsapp:hover,
.email-fallback-whatsapp:focus-visible {
    background: #1da851;
    outline: 3px solid rgb(37, 202, 211, 0.25);
    outline-offset: 2px;
}

/* Sharing options after a failed email submission: download first, then send. */
.email-fallback-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.email-fallback-actions button,
.email-fallback-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0.65rem 1rem;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.86rem;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.email-fallback-download {
    background: #0f585c;
    color: #fff;
}

.email-fallback-download:hover,
.email-fallback-download:focus-visible {
    background: #0b4144;
    outline: 3px solid rgb(15, 88, 92, 0.22);
    outline-offset: 2px;
}

.email-fallback-actions .email-fallback-whatsapp {
    margin-top: 0;
}

.email-fallback-email {
    background: #fff;
    border: 1px solid #c7d2e0 !important;
    color: #1e3a8a;
}

.email-fallback-email:hover,
.email-fallback-email:focus-visible {
    background: #eef2ff;
    outline: 3px solid rgba(30, 58, 138, 0.18);
    outline-offset: 2px;
}
.provider-directory-section {
    padding: 52px 18px 28px !important;
    background: linear-gradient(180deg, #ecf4f3 0%, #e7efef 100%) !important;
    color: #fff;
}

#providers > .container {
    max-width: 1100px;
    padding: 28px !important;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 26px;
    background:
        radial-gradient(circle at 10% 0%, rgba(212, 175, 55, 0.16), transparent 28%),
        radial-gradient(circle at 90% 100%, rgb(45, 204, 212, 0.18), transparent 30%),
        linear-gradient(135deg, #064e4e 0%, #075b5b 52%, #017a78 100%);
    box-shadow: 0 20px 52px rgba(6, 78, 78, 0.22);
}

#providers .directory-hero {
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}


#providers > .container > p:last-child {
    margin-top: 1.25rem !important;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #e6f4f2 !important;
    font-size: 0.8rem !important;
    line-height: 1.6 !important;
}
.directory-field-download {
    width: auto;
    margin-top: 0;
    white-space: normal;
    flex: 1 1 190px;
}

.directory-status-row {
    display: flex;
    align-items: stretch;
    gap: 0.65rem;
    width: 100%;
}

.directory-status-row #directoryStatus {
    flex: 1 1 auto;
}

.directory-status-row .directory-download-btn {
    min-height: 38px;
    padding: 0.45rem 0.8rem;
    border: 1px solid #b7f7f3;
    border-radius: 999px;
    background: #e6fbf9;
    color: #016f6d;
    box-shadow: none;
}

.directory-status-row .directory-download-btn:hover,
.directory-status-row .directory-download-btn:focus-visible {
    background: #176367;
    border-color: #176367;
    color: #fff;
    outline: 3px solid rgba(1,128,124, 0.2);
    outline-offset: 2px;
}

.directory-status-row .directory-download-btn:disabled {
    border-color: #b8c7c8;
    background: #dce6e7;
    color: #718078;
    box-shadow: none;
}

.directory-field-download[hidden] {
    display: none !important;
}

.directory-download-actions {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0;
    width: auto;
    margin-left: 0;
    margin-top: 0;
}

#directoryStatus {
    flex-wrap: wrap;
}

#directoryStatus > span {
    flex: 1 1 280px;
}

.directory-search-download-row {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(360px, 1.3fr);
    align-items: stretch;
    gap: 0.55rem;
    width: 100%;
}

.directory-search-download-row #directorySearch {
    width: 100%;
}



/* Prominent quote actions shown immediately beneath each quoted premium. */
.provider-card .quote-card-primary-actions {
    display: grid;
    grid-template-columns: 0.86fr 1.12fr 1.42fr;
    gap: 0.5rem;
    margin: 0.8rem 0;
}

.provider-card .quote-card-primary-actions button {
    min-height: 42px;
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.15;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.provider-card .quote-card-primary-actions button:hover,
.provider-card .quote-card-primary-actions button:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.04);
    outline: none;
}

.provider-card .quote-card-primary-actions .get-cover-btn {
    background: rgb(228, 245, 246, 0.78) !important;
    border: 1px solid rgb(31, 136, 141, 0.34) !important;
    color: #175f63 !important;
    box-shadow: 0 3px 10px rgb(18, 122, 127, 0.09);
}

.provider-card .quote-card-primary-actions .download-quote-btn {
    background: rgba(255, 250, 229, 0.78) !important;
    border: 1px solid rgba(190, 145, 20, 0.34) !important;
    color: #70570e !important;
    box-shadow: 0 3px 10px rgba(200, 151, 14, 0.08);
}

.provider-card .quote-card-primary-actions .quote-whatsapp-btn {
    background: rgb(226, 249, 250, 0.76) !important;
    border: 1px solid rgb(37, 182, 190, 0.34) !important;
    color: #147d83 !important;
    box-shadow: 0 3px 10px rgb(37, 202, 211, 0.09);
}

.provider-card .cover-card-secondary-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-top: 10px;
}

.provider-card .cover-card-secondary-actions button {
    min-height: 38px;
    padding: 7px 12px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 0.72rem;
    font-weight: 800;
}



/* Place navigation arrows over the outside edges so quote cards keep full width. */
#quoteCarouselShell {
    display: block !important;
}

#quoteCarouselShell .quote-carousel-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

#quoteCarouselShell .quote-carousel-prev {
    left: -20px !important;
    right: auto !important;
}

#quoteCarouselShell .quote-carousel-next {
    right: -20px !important;
    left: auto !important;
}

#quoteCarouselShell .quote-carousel-arrow.is-viewport-sticky {
    position: fixed !important;
    top: 50vh !important;
    z-index: 100 !important;
}







/* Keep every insurer mark visually consistent in cards and the partner strip. */
.provider-card .insurer-logo-badge,
.provider-card .provider-embedded-logo {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    background: #fff !important;
    border-radius: 9px !important;
    padding: 2px !important;
    vertical-align: middle;
}

#resultsContainer .provider-card h3 .insurer-logo-badge,
#resultsContainer .provider-card h3 .provider-embedded-logo {
    border-radius: 9px !important;
}

.provider-card h3.quotecard-title{display:flex !important;align-items:center;gap:.6rem;scroll-margin:0;}
.provider-card h3.quotecard-title .quotecard-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.provider-card h3.quotecard-title .quotecard-insurer{font-size:1.12rem;font-weight:800;color:var(--primary-navy);}
.provider-card h3.quotecard-title .quotecard-plan{font-size:.9rem;font-weight:600;color:#64748b;margin-top:.12rem;}

.provider-card .benefit-sections{display:grid;gap:.9rem;}
.provider-card .benefit-section{border:1px solid #eef2f6;border-radius:10px;padding:.7rem .8rem;background:#fbfcfe;}
.provider-card .benefit-section-title{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:800;color:var(--primary-navy);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.02em;}
.provider-card .benefit-section-status.not-selected{font-size:.64rem;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;padding:.05rem .5rem;text-transform:none;letter-spacing:0;}
.provider-card .benefit-section-status.inbuilt{font-size:.64rem;font-weight:700;color:#01807c;background:#d7fbf8;border:1px solid #86eaef;border-radius:999px;padding:.05rem .55rem;text-transform:none;letter-spacing:0;}
.provider-card .benefit-section-list{list-style:none;margin:0;padding:0;display:grid;gap:.28rem;}
.provider-card .benefit-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.76rem;color:#475569;}
.provider-card .benefit-row-label{color:#475569;}
.provider-card .benefit-row-value{font-weight:700;color:var(--text-dark);text-align:right;max-width:58%;word-break:normal;overflow-wrap:normal;line-height:1.25;text-wrap:balance;}
.provider-card .benefit-row-value-nowrap{white-space:nowrap;}

.provider-card .waiting-detail-list{margin:.5rem 0 0;padding:0;list-style:none;display:grid;gap:.25rem;font-size:.74rem;color:#475569;}.provider-card .waiting-detail-list span{font-weight:700;color:var(--primary-navy);}.provider-card .waiting-detail-list strong{font-weight:600;color:var(--text-dark);}

/* ===== ribbon-green-large-badges ===== */
#quoteStickyRibbon{
  background:linear-gradient(135deg,#016f6d,#017a78)!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(0,0,0,.25)!important;
  box-shadow:0 6px 18px rgba(1,111,109,.24)!important;
}
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  min-height:96px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  min-height:74px!important;
  padding:0.65rem 1.7rem!important;
  gap:10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  border:2px solid rgba(255,255,255,.45)!important;
  top:10px!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}
#quoteStickyRibbon .quote-ribbon-item + .quote-ribbon-item{
  border-left:2px solid rgba(255,255,255,.45)!important;
}
#quoteStickyRibbon .quote-ribbon-item.is-active,
#quoteStickyRibbon .quote-ribbon-item:hover,
#quoteStickyRibbon .quote-ribbon-item:focus,
#quoteStickyRibbon .quote-ribbon-item:active{
  background:rgba(255,255,255,.36)!important;
  border-color:#fff!important;
}
#quoteStickyRibbon .quote-ribbon-item-number{
  min-height:32px!important;
  min-width:32px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#014a52!important;
  font-size:1.05rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-provider{
  color:#fff!important;
  font-size:1.15rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-benefit{
  color:#e7f5f6!important;
  font-size:1rem!important;
  font-weight:800!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#fde68a!important;
  font-size:1.2rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-sep{
  color:rgba(255,255,255,.6)!important;
  font-size:1.05rem!important;
}


/* ===== ribbon-badges-fit-quote-theme ===== */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  min-height:86px!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
  overflow:visible!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:3px!important;
  text-align:center!important;
  white-space:normal!important;
  min-height:62px!important;
  padding:0.5rem 0.85rem!important;
  border-radius:16px!important;
  background:#013947!important;
  border:2px solid rgba(255,255,255,.42)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.26)!important;
  box-sizing:border-box!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-ident{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-price-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  line-height:1.12!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-price-label{
  font-size:0.62rem!important;
  font-weight:800!important;
  color:#cbe4e5!important;
  text-transform:uppercase!important;
  letter-spacing:.4px!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-limits{
  display:grid!important;
  grid-template-columns:auto auto!important;
  column-gap:18px!important;
  row-gap:1px!important;
  justify-content:end!important;
  margin-left:auto!important;
  padding-left:10px!important;
  text-align:right!important;
  line-height:1.25!important;
  white-space:normal!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-cell{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:6px!important;
  font-size:0.7rem!important;
  font-weight:600!important;
  color:#c4dcdd!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-label{
  color:#b8d6d8!important;
  font-weight:700!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-value{
  color:#eaf6f4!important;
  font-weight:800!important;
}
#quoteStickyRibbon .quote-ribbon-item.is-active,
#quoteStickyRibbon .quote-ribbon-item:hover,
#quoteStickyRibbon .quote-ribbon-item:focus,
#quoteStickyRibbon .quote-ribbon-item:active{
  background:#01545f!important;
  border-color:#fff!important;
}
#quoteStickyRibbon .quote-ribbon-item-number{
  min-height:26px!important;
  min-width:26px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#d4af37!important;
  color:#013947!important;
  font-size:1rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item-provider{
  color:#fff!important;
  font-size:1.08rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-benefit{
  color:#d7eeef!important;
  font-size:0.96rem!important;
  font-weight:800!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#fde68a!important;
  font-size:1.12rem!important;
  font-weight:900!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-price-unit{
  font-size:.66em!important;
  font-weight:600!important;
  color:#cfe2e3!important;
  opacity:.85!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-item-sep{
  color:rgba(255,255,255,.55)!important;
  font-size:1rem!important;
}


/* ===== ribbon-carousel-three-per-view-final ===== */
@media(min-width:992px){
  #cardsContainer.quote-carousel-track>.provider-card{flex:0 0 calc((100% - 28px)/3)!important;}
}
@media(min-width: 1025px) and (max-width:991px){
  #cardsContainer.quote-carousel-track>.provider-card{flex:0 0 calc((100% - 14px)/2)!important;}
}


/* ===== ribbon-carousel-arrows-over-quotes ===== */
#quoteCarouselShell .quote-carousel-arrow{
  top:50%!important;
  left:auto!important;
  right:auto!important;
  width:42px!important;
  height:42px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid #d7e1e1!important;
  box-shadow:0 5px 16px rgba(15,23,42,.26)!important;
  color:#013b46!important;
}
#quoteCarouselShell .quote-carousel-prev{
  left:10px!important;
  right:auto!important;
}
#quoteCarouselShell .quote-carousel-next{
  right:10px!important;
  left:auto!important;
}


/* ===== ribbon-carousel-arrows-on-ribbon ===== */
#quoteStickyRibbon .quote-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  left:auto!important;
  right:auto!important;
  width:42px!important;
  height:42px!important;
  z-index:1000!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid #d7e1e1!important;
  border-radius:50%!important;
  box-shadow:0 5px 16px rgba(15,23,42,.30)!important;
  color:#013b46!important;
  pointer-events:auto!important;
}
#quoteStickyRibbon .quote-carousel-prev{
  left:10px!important;
  right:auto!important;
}
#quoteStickyRibbon .quote-carousel-next{
  right:10px!important;
  left:auto!important;
}


/* ===== benefit-category-grid-row ===== */
.provider-card .benefit-category-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0.7rem!important;
  align-items:stretch!important;
}
.provider-card .benefit-category-grid .sub-container{
  margin:0!important;
  padding:.6rem .7rem!important;
}
.provider-card .benefit-category-grid .benefit-row{gap:.3rem!important;}
.provider-card .benefit-category-grid .benefit-row-value{max-width:none!important;white-space:normal!important;}


/* ===== apply-at-bottom-btn ===== */
.provider-card .apply-at-bottom-btn{
  grid-column:1 / -1!important;
  min-height:40px!important;
  background:#013b46!important;
  color:#fff!important;
  border:0!important;
  border-radius:30px!important;
  cursor:pointer!important;
}
.provider-card .apply-at-bottom-btn:hover{
  background:#01545f!important;
}

/* ===== pre-footer-cta ===== */
.pre-footer-cta{
  background:linear-gradient(135deg,var(--primary-blue),var(--primary-navy));
  padding:3rem 0;margin:0;color:#fff;
}
.pre-footer-cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.pre-footer-cta-text{max-width:560px;}
.pre-footer-kicker{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-gold);margin-bottom:.4rem;
}
.pre-footer-cta-text h2{font-size:1.9rem;font-weight:800;margin:0 0 .4rem;}
.pre-footer-cta-text p{font-size:1.05rem;opacity:.9;margin:0;}
.pre-footer-cta-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--accent-gold);color:#013947;font-weight:800;padding:1rem 2.2rem;
  border-radius:40px;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:.25s;
  white-space:nowrap;font-size:1rem;cursor:pointer;
}
.pre-footer-cta-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.32);background:#d4af37;}


/* ===== quote-member-labels-and-insurer-grey ===== */
.quote-wrapper .family-item label,
.quote-wrapper .family-item label span{
  color:var(--text-dark) !important;
  font-weight:700 !important;
}
.quote-wrapper .insurer-card:has(.insurer-checkboxes.optional-benefit-disabled) .cover-type-heading span{
  color:#9ca3af !important;
}
.quote-wrapper .insurer-card:has(.insurer-checkboxes.optional-benefit-disabled) .cover-type-heading i{
  background:#eef0f2 !important;
  color:#9ca3af !important;
}

/* ===== quote-inpatient-limit-label-grey ===== */
.quote-wrapper .inpatient-card.inpatient-limit-pending .cover-type-heading span{
  color:#9ca3af !important;
}
.quote-wrapper .inpatient-card.inpatient-limit-pending .cover-type-heading i{
  background:#eef0f2 !important;
  color:#9ca3af !important;
}

/* ===== maternity-note-as-selector ===== */
.quote-wrapper #maternityNote{
  appearance:none!important;
  -webkit-appearance:none!important;
  text-align:center!important;
  background:#f6f8f8!important;
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  font-size:.76rem!important;
  font-weight:600!important;
  cursor:not-allowed!important;
  flex:1!important;
  min-width:160px!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.quote-wrapper #maternityNote.enabled{
  background:#e9f5f4!important;
  border:1px solid #a9d2d4!important;
  box-shadow:0 1px 3px rgba(1,122,120,.12)!important;
  color:#17494c!important;
  -webkit-text-fill-color:#17494c!important;
  font-weight:700!important;
}


/* ===== Ribbon divider: name/plan/member | premium + limits ===== */
#quoteStickyRibbon .quote-ribbon-item{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  white-space:nowrap!important;
  text-align:left!important;
}
#quoteStickyRibbon .quote-ribbon-main{
  display:flex!important;
  align-items:flex-start!important;
  align-self:flex-start!important;
  gap:6px!important;
  min-width:0!important;
}
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-ident{
  align-items:flex-start!important;
}
#quoteStickyRibbon .quote-ribbon-sep{
  flex:0 0 1px!important;
  width:1px!important;
  align-self:center!important;
  height:30px!important;
  max-height:100%!important;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.30) 24%, rgba(255,255,255,.30) 76%, rgba(255,255,255,0) 100%)!important;
  opacity:.6!important;
}
#quoteStickyRibbon .quote-ribbon-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:2px!important;
  min-width:0!important;
  margin-left:auto!important;
}
#quoteStickyRibbon .quote-ribbon-meta .quote-ribbon-item-price{
  line-height:1.1!important;
}

/* ===== Quotation card action buttons — fancy frosted glass ===== */
.provider-card .quote-card-primary-actions button {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  backdrop-filter: blur(8px) saturate(135%);
}
.provider-card .quote-card-primary-actions .get-cover-btn {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgb(234, 245, 246,0.92), rgb(224, 239, 240,0.64)) !important;
  border: 1px solid rgb(31, 136, 141,0.30) !important;
  color: #175f63 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.75),
    inset 0 -1px 0 rgb(31, 136, 141,0.10),
    0 6px 16px rgb(18, 122, 127,0.10);
}
.provider-card .quote-card-primary-actions .download-quote-btn {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,250,231,0.94), rgba(252,246,224,0.70)) !important;
  border: 1px solid rgba(190,145,20,0.30) !important;
  color: #6f560e !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 -1px 0 rgba(190,145,20,0.10),
    0 6px 16px rgba(200,151,14,0.10);
}
.provider-card .quote-card-primary-actions .quote-whatsapp-btn {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgb(232, 249, 250,0.94), rgb(222, 242, 243,0.70)) !important;
  border: 1px solid rgb(37, 182, 190,0.30) !important;
  color: #147d83 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.75),
    inset 0 -1px 0 rgb(37, 182, 190,0.10),
    0 6px 16px rgb(37, 202, 211,0.10);
}

/* ===== Related quote badge — pin to the card's top-right, compact ===== */
.provider-card .related-quote-banner{
  position:absolute!important;
  top:0.55rem!important;
  right:0.6rem!important;
  margin:0!important;
  padding:0.32rem 0.75rem!important;
  border-radius:999px!important;
  gap:0.4rem!important;
  font-size:0.72rem!important;
  line-height:1.15!important;
  z-index:2!important;
  box-shadow:0 1px 4px rgba(0,0,0,0.08)!important;
}
.provider-card .related-quote-banner i{
  font-size:0.72rem!important;
}
.provider-card .related-quote-banner span{
  letter-spacing:0.02em!important;
}

/* ===== Equal-width primary actions + prominent Apply ===== */
.provider-card .quote-card-primary-actions {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0.5rem !important;
}
/* The top row carries three actions (Apply Online, Download Quote, WhatsApp).
   The attribute selector keeps this three-column layout ahead of the later
   two-column rules, and the buttons shrink instead of clipping their labels. */
.provider-card .quote-card-primary-actions[aria-label="Quote actions"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}
.provider-card .quote-card-primary-actions[aria-label="Quote actions"] button {
  min-width: 0 !important;
  padding-left: 0.35rem !important;
  padding-right: 0.35rem !important;
  white-space: nowrap !important;
  font-size: 0.72rem !important;
}
/* The pack button names both documents - the quotation and the application
   pack it travels with - which is longer than a third of a card. It folds onto
   a second line rather than clipping its own label. */
.provider-card .quote-card-primary-actions[aria-label="Quote actions"] button.download-pack-btn {
  white-space: normal !important;
  line-height: 1.12 !important;
}
@media (max-width: 1024px) {
  .provider-card .quote-card-primary-actions[aria-label="Quote actions"] button {
    gap: 0.22rem !important;
    font-size: 0.68rem !important;
  }
}
.provider-card .quote-card-primary-actions .get-cover-btn {
  background: linear-gradient(180deg, #2e9ca2 0%, #1c757a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    0 8px 18px rgb(18, 122, 127, 0.28);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
}

/* ===== Glowing holographic action buttons ===== */
@keyframes quoteShimmer {
  from { background-position: 0% 50%; }
  to   { background-position: 260% 50%; }
}
.provider-card .quote-card-primary-actions .get-cover-btn,
.provider-card .quote-card-primary-actions .download-quote-btn,
.provider-card .quote-card-primary-actions .quote-whatsapp-btn {
  background:
    linear-gradient(100deg,
      rgb(46, 217, 226, 0.40),
      rgba(56, 189, 248, 0.40),
      rgba(167, 139, 250, 0.40),
      rgba(251, 191, 36, 0.40),
      rgb(46, 217, 226, 0.40)) !important;
  background-size: 260% 100%;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  color: #11383a !important;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.60),
    0 6px 16px rgba(0, 0, 0, 0.10),
    0 0 16px rgba(56, 189, 248, 0.20),
    0 0 26px rgba(251, 191, 36, 0.14);
  animation: quoteShimmer 7s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .provider-card .quote-card-primary-actions .get-cover-btn,
  .provider-card .quote-card-primary-actions .download-quote-btn,
  .provider-card .quote-card-primary-actions .quote-whatsapp-btn {
    animation: none;
  }
}

/* ===== Glowing, large "Get a Medical Cover Quote" button ===== */
.pre-footer-cta-btn{
  padding:1.35rem 3.3rem!important;
  font-size:1.2rem!important;
  border-radius:999px!important;
  box-shadow:0 0 20px rgba(212,175,55,0.55), 0 0 46px rgba(212,175,55,0.25) !important;
  animation:ctaGlow 2.4s ease-in-out infinite;
}
@keyframes ctaGlow{
  0%,100%{
    box-shadow:0 0 18px rgba(212,175,55,0.5), 0 0 40px rgba(212,175,55,0.22);
  }
  50%{
    box-shadow:0 0 32px rgba(212,175,55,0.78), 0 0 72px rgba(212,175,55,0.36);
  }
}
@media (prefers-reduced-motion: reduce){
  .pre-footer-cta-btn{animation:none}
}

/* ===== Center the "START TODAY" pre-footer CTA ===== */
.pre-footer-cta-inner{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:1.4rem!important;
}
.pre-footer-cta-text{
  max-width:none!important;
  text-align:center!important;
}
.pre-footer-cta-text h2{
  text-align:center!important;
}
.pre-footer-cta-btn{
  margin:0 auto!important;
}

/* ===== Fancy quotation comparison table ===== */
.quote-table-comparison{
  border-top:3px solid var(--accent-gold)!important;
  box-shadow:0 16px 38px rgba(15,23,42,0.10)!important;
}
.quote-table-comparison .quote-table-heading-icon{
  background:linear-gradient(160deg,#014a52,#0f3436)!important;
  color:#f4d66d!important;
}
#quoteComparisonTable thead th{
  background:linear-gradient(180deg,#013947 0%,#013330 100%)!important;
  color:#f4d66d!important;
  border-right:1px solid rgba(255,255,255,0.12)!important;
}
#quoteComparisonTable tbody tr:hover th,
#quoteComparisonTable tbody tr:hover td{
  background:#f0f7f7!important;
}
#quoteComparisonTable tbody tr:nth-child(even) td{
  background:#fbfdfd!important;
}
#quoteComparisonTable tbody th{
  background:#ffffff!important;
}
#quoteComparisonTable .premium-row td{
  background:linear-gradient(90deg,#eaf6f7 0%,#f7fdfd 100%)!important;
  color:#0f585c!important;
}

/* ===== Consistent fancy glass for the bottom card actions ===== */
.provider-card .cover-card-secondary-actions button{
  border-radius:12px!important;
  -webkit-backdrop-filter:blur(9px) saturate(140%)!important;
  backdrop-filter:blur(9px) saturate(140%)!important;
}
.provider-card .cover-card-secondary-actions .apply-at-bottom-btn{
  background:linear-gradient(180deg, rgba(1,59,70,0.85) 0%, rgb(19, 48, 50,0.78) 100%)!important;
  border:1px solid rgba(255,255,255,0.22)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.30), 0 8px 18px rgba(1,59,70,0.20)!important;
}
.provider-card .cover-card-secondary-actions .view-provider-network-btn{
  background:linear-gradient(180deg, rgba(246,196,64,0.78) 0%, rgba(204,140,20,0.56) 100%)!important;
  border:1px solid rgba(190,145,20,0.55)!important;
  color:#3f2d05!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.50), 0 6px 16px rgba(200,151,14,0.22)!important;
}
.provider-card .cover-card-secondary-actions .pay-insurer-btn{
  background:linear-gradient(180deg, rgb(30, 173, 180,0.74) 0%, rgb(20, 125, 130,0.54) 100%)!important;
  border:1px solid rgb(20, 125, 130,0.50)!important;
  color:#07373a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 6px 16px rgb(20, 125, 130,0.20)!important;
}

/* ===== Translucent glass action buttons ===== */
.provider-card .quote-card-primary-actions .get-cover-btn,
.provider-card .quote-card-primary-actions .download-quote-btn,
.provider-card .quote-card-primary-actions .quote-whatsapp-btn {
  animation: none !important;
  background-size: 100% 100% !important;
  border-radius: 12px;
  -webkit-backdrop-filter: blur(9px) saturate(140%);
  backdrop-filter: blur(9px) saturate(140%);
}
.provider-card .quote-card-primary-actions .get-cover-btn {
  background: linear-gradient(180deg, rgb(51, 159, 165, 0.26) 0%, rgb(28, 117, 122, 0.18) 100%) !important;
  border: 1px solid rgb(28, 117, 122, 0.30) !important;
  color: #014a52 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.60), 0 6px 16px rgb(18, 122, 127, 0.12);
}
.provider-card .quote-card-primary-actions .download-quote-btn {
  background: linear-gradient(180deg, rgba(246, 210, 116, 0.28) 0%, rgba(217, 160, 34, 0.18) 100%) !important;
  border: 1px solid rgba(190, 145, 20, 0.30) !important;
  color: #6f560e !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.60), 0 6px 16px rgba(200, 151, 14, 0.12);
}
.provider-card .quote-card-primary-actions .quote-whatsapp-btn {
  background: linear-gradient(180deg, rgb(43, 201, 209, 0.26) 0%, rgb(30, 158, 165, 0.18) 100%) !important;
  border: 1px solid rgb(37, 182, 190, 0.30) !important;
  color: #0f585c !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.60), 0 6px 16px rgb(37, 202, 211, 0.12);
}

/* ===== Family details grouped in a sub-container card ===== */
#quote-form .family-row.family-overview.sub-container{
  box-sizing:border-box!important;
  width:100%!important;
  align-items:start!important;
  padding:0.85rem!important;
  border:1px solid #e3e8ef!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbfb 100%)!important;
  box-shadow:0 10px 26px rgba(15,23,42,0.07), 0 3px 8px rgba(15,23,42,0.05), inset 0 1px 0 rgba(255,255,255,0.8)!important;
}

/* ===== applicant-parent-guardian-children-only ===== */
.applicant-application-section{ margin:.4rem 0 1rem; }
.applicant-application-section h3{ margin:0 0 .6rem; }
.applicant-application-section .beneficiary-grid{ display:grid; grid-template-columns:1.25fr .85fr; gap:1rem; align-items:start; }
.applicant-application-section .beneficiary-box{ padding:1rem; border:1px solid #d8e6e7; border-radius:14px; background:rgba(255,255,255,.88); box-shadow:0 4px 12px rgba(1,59,70,.04); }
.applicant-application-section .beneficiary-box h4{ margin:0 0 .85rem; color:#013b46; font-size:.9rem; }
.applicant-application-section .field-group{ margin-bottom:.8rem; }
.applicant-application-section .field-group:last-child{ margin-bottom:0; }
.applicant-application-section .field-group label{ color:#013b46; font-size:.86rem; font-weight:800; }
.applicant-application-section input,
.applicant-application-section select{ width:100%; min-height:48px; padding:.7rem .8rem; border:1px solid #ddc987; border-radius:10px; background:rgba(255,255,255,.9); font-size:.96rem; color:#1e293b; }
.applicant-application-section input:focus,
.applicant-application-section select:focus{ border-color:#b68a18; box-shadow:0 0 0 3px rgba(182,138,24,.14); outline:none; }
.applicant-application-section input[type="file"]{ padding:.45rem; border:1px dashed #9dbabc; background:#f9fcfc; font-size:.88rem; }
.applicant-contact-box{ background:linear-gradient(135deg,#fffdf3,#fff8d9)!important; border-color:#eadba1!important; }
.applicant-contact-box input:focus{ border-color:#b68a18; box-shadow:0 0 0 3px rgba(182,138,24,.14); }
.applicant-attachments-box{ background:linear-gradient(135deg,#f4fbfb,#e9f5f6)!important; border-color:#bfdee0!important; }
.beneficiary-application-intro{ margin:0 0 .85rem; color:#526158; font-size:.85rem; line-height:1.45; }
.beneficiary-application-email{ margin:.9rem 0 0; padding-top:.8rem; border-top:1px solid #d8e6e7; color:#526158; font-size:.82rem; line-height:1.45; }
.beneficiary-application-email i{ color:#01696a; margin-right:.25rem; }
.beneficiary-application-email a{ color:#01696a; font-weight:800; }
.applicant-application-section .role-badge{ display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .85rem; border-radius:999px; background:#013b46; color:#fff; letter-spacing:.01em; }


/* ===== get-this-cover two-column summary ===== */
#modalSummary .modal-summary-cols{
  display:flex;
  gap:1.2rem;
  align-items:stretch;
}
#modalSummary .modal-summary-left{
  flex:0 0 44%;
  min-width:0;
}
#modalSummary .modal-summary-right{
  flex:1;
  min-width:0;
}
#modalSummary .summary-field{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:0.6rem;
  padding:0.35rem 0;
  font-size:0.85rem;
}
#modalSummary .summary-field .summary-label{
  color:#64748b;
  font-weight:600;
}
#modalSummary .summary-field .summary-value{
  color:var(--primary-navy);
  font-weight:800;
  text-align:right;
}
#modalSummary .modal-summary-divider{
  width:1px;
  align-self:stretch;
  background:linear-gradient(180deg,transparent,#d1d9e6 20%,#d1d9e6 80%,transparent);
  flex:0 0 1px;
}
#modalSummary .modal-limits-title{
  font-size:0.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.03em;
  color:var(--primary-navy);
  margin-bottom:0.3rem;
}
#modalSummary .modal-cover-type-title{
  margin-bottom:0.45rem;
  color:var(--accent-gold);
}
#modalSummary .modal-summary-right .cover-limits-grid{
  grid-template-columns:1fr;
  margin-top:0;
}
#modalSummary .modal-summary-right .limit-item{
  gap:0.6rem;
}
#modalSummary .modal-summary-right .limit-item .limit-label{
  flex:0 0 auto;
  white-space:nowrap;
}
#modalSummary .modal-summary-right .limit-item .limit-value{
  flex:1;
  text-align:right;
  min-width:0;
  word-break:break-word;
}


/* ===== prominent Apply in top quote actions ===== */
.provider-card .quote-card-primary-actions .get-cover-btn{
  background:linear-gradient(180deg,#132b2c 0%,#3aa5ab 100%)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:#ffffff!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 3px 8px rgba(15,23,42,.12)!important;
  animation:none!important;
}
.provider-card .quote-card-primary-actions .get-cover-btn:hover{
  filter:brightness(1.06)!important;
  transform:translateY(-1px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 4px 10px rgba(15,23,42,.15)!important;
}
@media (prefers-reduced-motion:reduce){
  .provider-card .quote-card-primary-actions .get-cover-btn{animation:none!important;}
}

/* ===== quiet secondary actions (white/glass, muted text) ===== */
.provider-card .quote-card-primary-actions .download-quote-btn,
.provider-card .quote-card-primary-actions .quote-whatsapp-btn{
  background:linear-gradient(180deg,#ffffff 0%,#f6f8f8 100%)!important;
  border:1px solid #d5e1e0!important;
  color:#4b5a51!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 2px 6px rgba(15,23,42,.06)!important;
  animation:none!important;
  text-shadow:none!important;
}
.provider-card .quote-card-primary-actions .download-quote-btn{
  color:#8a6d1d!important;
}
.provider-card .quote-card-primary-actions .quote-whatsapp-btn{
  color:#147d83!important;
}
.provider-card .quote-card-primary-actions .download-quote-btn:hover,
.provider-card .quote-card-primary-actions .quote-whatsapp-btn:hover{
  filter:brightness(1.02)!important;
  transform:translateY(-1px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 4px 10px rgba(15,23,42,.08)!important;
}

/* ===== light vertical gradients for secondary action buttons ===== */
.provider-card .quote-card-primary-actions .download-quote-btn{
  background:linear-gradient(180deg,#e8d8a8 0%,#fdf7e5 100%)!important;
  border:1px solid #e3ce8f!important;
  color:#6f560e!important;
}
.provider-card .quote-card-primary-actions .quote-whatsapp-btn{
  background:linear-gradient(180deg,#cdecee 0%,#eafafb 100%)!important;
  border:1px solid #bfdee0!important;
  color:#147d83!important;
}
.provider-card .cover-card-secondary-actions .download-pack-btn{
  background:linear-gradient(180deg,#cfe0f2 0%,#eef6ff 100%)!important;
  border:1px solid #c3d7ec!important;
  color:#1f4e79!important;
  border-radius:9px!important;
}
.provider-card .quote-card-primary-actions .download-quote-btn:hover,
.provider-card .quote-card-primary-actions .quote-whatsapp-btn:hover,
.provider-card .cover-card-secondary-actions .download-pack-btn:hover{
  filter:brightness(1.03)!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 4px 10px rgba(15,23,42,.08)!important;
}

/* ===== medical examination panel (APA / Heritage / Jubilee) ===== */
.provider-card .medical-exam-main-container{
  text-align:center;
}
.provider-card .medical-exam-main-container .inner-section-heading{
  justify-content:center !important;
}
.provider-card .medical-exam-main-container .medical-exam-status{
  display:inline-block;
  margin:0 0 0 .1rem;
  padding:.15rem .55rem;
  border-radius:999px;
  background:rgba(1,122,120,.12);
  color:#01545f;
  font-size:.78rem;
  font-weight:700;
}
.provider-card .medical-exam-main-container .download-medical-exam-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.5rem .9rem;
  background:linear-gradient(135deg,#7b2d8b 0%,#5b3c9c 38%,#2563eb 100%)!important;
  border:1px solid #4a3ea0!important;
  color:#fff!important;
  border-radius:9px!important;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  text-shadow:0 1px 1px rgba(30,40,110,.40);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 4px 12px rgba(74,62,160,.26)!important;
}
.provider-card .medical-exam-main-container .download-medical-exam-btn:hover{
  filter:brightness(1.05)!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 6px 16px rgba(74,62,160,.32)!important;
}

/* ===== declaration & signature (apply) ===== */
.declaration-section{ margin:.9rem 0; padding:1rem; border:1px solid #e2e8f0; border-radius:14px; background:#fbfcfd; }
.declaration-heading{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:800; color:#013b46; margin-bottom:.6rem; }
.declaration-heading i{ color:#c88608; }
.declaration-text{ font-size:.78rem; line-height:1.5; color:#4b5a51; margin-bottom:.8rem; }
.declaration-agree{ display:flex; align-items:flex-start; gap:.5rem; font-size:.8rem; font-weight:700; color:#013b46; cursor:pointer; margin-bottom:.9rem; }
.declaration-agree input{ width:16px; height:16px; margin-top:2px; accent-color:#017a78; flex:0 0 auto; }
.signature-block{ border-top:1px dashed #e2e8f0; padding-top:.9rem; }
.signature-heading{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:800; color:#013b46; margin-bottom:.4rem; }
.signature-heading i{ color:#c88608; }
.signature-hint{ font-size:.72rem; color:#64748b; margin-bottom:.6rem; }
.signature-canvas-wrap{ position:relative; margin-bottom:.7rem; }
#signatureCanvas{ width:100%; height:160px; max-height:170px; border:1.5px dashed #b9c9ca; border-radius:12px; background:#fff; touch-action:none; cursor:crosshair; display:block; }
.signature-clear-btn{ margin-top:.4rem; padding:.35rem .8rem; border:1px solid #d1d9e6; border-radius:8px; background:#fff; color:#64748b; font-size:.72rem; font-weight:700; cursor:pointer; }
.signature-clear-btn:hover{ background:#f1f5f9; }
.signature-upload{ display:flex; flex-direction:column; gap:.25rem; }
.signature-upload label{ font-size:.74rem; font-weight:700; color:#475569; }
.signature-upload input[type="file"]{ padding:.4rem; border:1px dashed #9dbabc; border-radius:9px; background:#f9fcfc; font-size:.8rem; }
.section-radio-group{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.15rem;}
.section-radio-option{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .95rem;border:1.5px solid #d1d9e6;border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem;color:#475569;transition:border-color .18s,background .18s,color .18s;}
.section-radio-option:hover{border-color:#86b5b3;}
.section-radio-option input[type="radio"]{width:auto;height:auto;margin:0;accent-color:#017a78;cursor:pointer;}
.section-radio-option:has(input:checked){border-color:#017a78;background:#eaf6f5;color:#013947;font-weight:700;}
.member-section .field-group.hospital-details{display:none;}
.member-section .field-group.hospital-details.visible{display:flex;flex-direction:column;gap:0.2rem;}
.member-section .height-display{display:block;margin-top:0.15rem;font-size:0.68rem;color:#64748b;font-weight:600;}
.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid #d1d9e6;background:#fff;color:#017a78;font-size:1rem;transition:0.2s;cursor:pointer;text-decoration:none;}
.nav-icon-btn:hover{background:#eaf6f5;border-color:#017a78;transform:translateY(-1px);}
.nav-icon-btn.wa{color:#25D366;}
.nav-icon-btn.wa:hover{background:#e8f7f8;border-color:#25D366;}
.hero-grid{grid-template-columns:9fr 11fr !important;gap:1.5rem !important;align-items:stretch !important;}
#quote-form{background:#ffffff !important;box-shadow:0 12px 30px rgba(10,40,80,.18) !important;}
.copy-nextofkin-btn{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .7rem;padding:.3rem .7rem;border:1px solid #d1d9e6;border-radius:8px;background:#fff;color:#475569;font-size:.72rem;font-weight:600;cursor:pointer;transition:.18s;}
.copy-nextofkin-btn:hover{border-color:#017a78;color:#013947;background:#eaf6f5;}

/* ===== Split hero: left green fading into the light green quote side =====
   The light green used to start on a hard 40% line; it now ramps in under the
   dark side so the two halves read as one surface. */
@media (min-width:993px){
  /* The panel behind the quote card is the house gold taken down to a dark
     golden, fading into the green on the left rather than washing it out to
     grey. */
  #hero{background:linear-gradient(90deg,rgba(143,108,20,0) 18%,rgba(143,108,20,.38) 34%,rgba(143,108,20,.88) 48%,#8f6c14 62%,#8f6c14 100%),linear-gradient(135deg,var(--primary-blue),var(--primary-navy)) !important;}
}
/* ===== Left side content contained in a card ===== */
.hero-text{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:2.2rem 1.6rem;
}
.hero-text p{max-width:420px !important;}
.hero-text h1{font-size:3.6rem !important;}

/* ===== No divider between the two hero containers =====
   The straight rule that used to sit on the 40% line is gone: the dark side
   fades into the light green instead (see hero-waves at the end of this file). */
.hero-grid{position:relative;}
.hero-grid::after{
  content:none;
}


/* ===== Keep the quotation card always inset inside the light-green area ===== */
@media (min-width:1025px){
  #quote-form{margin:1rem 0.6rem 1.4rem 0.6rem !important;}
}

/* ===== Members section: two-column grid (Principal/Spouse, then children) ===== */
@media (min-width:600px){
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ===== Age selectors: hide header labels so they read as bare dropdowns ===== */
@media (min-width:1025px){
  #quote-form #individualFamilyDetails .family-item>label,
  #quote-form #individualFamilyDetails .extra-spouse-item>label{
    display:none !important;
  }
}

/* ===== Phones: same bare-dropdown treatment as desktop (min-width:1025px) —
   drop the Members strip and every age label (Principal, Spouse, Children),
   which only repeat the text already inside the selects. ===== */


/* ===== Members section: "Members" label (1/3) + selectors (2/3) ===== */
@media (min-width:1025px){
  #quote-form #individualFamilyDetails{
    position:relative !important;
  }
  #quote-form #individualFamilyDetails .members-label{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    height:40px !important;
    display:flex !important;
    align-items:center !important;
    gap:.5rem !important;
    font-size:.9rem !important;
    font-weight:800 !important;
    color:#12383a !important;
    white-space:nowrap !important;
  }
  #quote-form #individualFamilyDetails .members-label i{
    color:#016f6d !important;
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    border-radius:8px !important;
    background:#e6fbf9 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:.75rem !important;
  }
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.9rem .45rem !important;
    width:auto !important;
    margin-left:112px !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 0 0 112px !important;
  }
  #quote-form #individualFamilyDetails .principal-age-inline-warning{
    display:none !important;
  }
}

/* ===== Insurers: one bordered grid divided by lines (desktop) ===== */
@media (min-width:1025px){
  #insurerCheckboxes.insurer-checkboxes{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    border:1px solid #d5e1e0 !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 2px 7px rgba(1,57,71,.04) !important;
    scrollbar-width:none !important;
  }
  #insurerCheckboxes .insurer-checkbox-option{
    border:0 !important;
    border-right:1px solid #e1e7e3 !important;
    border-bottom:1px solid #e1e7e3 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#526158 !important;
    flex:none !important;
    position:static !important;
    box-shadow:none !important;
    padding:.45rem .5rem !important;
    min-height:38px !important;
    white-space:nowrap !important;
  }
  #insurerCheckboxes .insurer-checkbox-option:nth-child(4n){border-right:0 !important;}
  #insurerCheckboxes .insurer-checkbox-option:nth-child(n+5){border-bottom:0 !important;}
  #insurerCheckboxes .insurer-checkbox-option:first-child{
    position:static !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  #insurerCheckboxes .insurer-checkbox-option:hover{background:#f6fbfb !important;color:#24494b !important;}
  #insurerCheckboxes .insurer-checkbox-option:has(input:checked){
    background:#eaf6f5 !important;
    color:#17484b !important;
  }
}

/* ===== Align all selectors to start at the 25% mark ===== */
@media (min-width:1025px){
  /* Cover Type / Insurers / Inpatient: label = 25%, controls fill the rest */
  #quote-form .quote-step-cover .cover-type-card,
  #quote-form .quote-step-cover-selection .insurer-card{
    display:flex !important;
    align-items:center !important;
    gap:.6rem !important;
    width:100% !important;
  }
  #quote-form .quote-step-cover .cover-type-heading,
  #quote-form .quote-step-cover-selection .insurer-card>.cover-type-heading{
    flex:0 0 25% !important;
    width:25% !important;
    min-width:25% !important;
    max-width:25% !important;
  }
  #quote-form .quote-step-cover .cover-type-toggle,
  #quote-form .quote-step-cover-selection .insurer-card>.insurer-control,
  #quote-form .quote-step-cover-selection .insurer-card>.inpatient-control,
  #quote-form .quote-step-cover-selection .insurer-card>#planGroup{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  #quote-form .quote-step-cover-selection .insurer-card>.scope-group{
    flex:0 0 auto !important;
    margin-left:.4rem !important;
  }
  /* Members */
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout),
  #quote-form #individualFamilyDetails .family-overview.sub-container{
    margin-left:calc(25% + .6rem) !important;
  }
  /* Benefits: label at 25%, controls fill the rest */
  #quote-form .quote-step-benefits .form-group{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    flex:1 1 100% !important;
    gap:.6rem !important;
  }
  #quote-form .quote-step-benefits .form-group>label{
    flex:0 0 25% !important;
    width:25% !important;
    min-width:25% !important;
    max-width:25% !important;
    white-space:normal !important;
    line-height:1.25 !important;
  }
  #quote-form .quote-step-benefits .limit-scope-wrapper{
    flex:1 !important;
    min-width:0 !important;
  }
}

/* ===== Larger fonts for the quote engine (desktop) ===== */
@media (min-width:1025px){
  #quote-form>h2{font-size:1.3rem !important;}
  #quote-form .quote-step-cover .cover-type-heading,
  #quote-form .quote-step-cover-selection .insurer-card>.cover-type-heading,
  #quote-form #individualFamilyDetails .members-label,
  #quote-form .quote-step-benefits .form-group>label{
    font-size:1rem !important;
  }
  #quote-form select{
    font-size:.95rem !important;
  }
  #quote-form .cover-type-toggle label{font-size:.9rem !important;}
  #quote-form #insurerCheckboxes .insurer-checkbox-option{font-size:.8rem !important;}
  #quote-form .actions-quote>#getQuotesBtn,
  #quote-form .actions-quote>#resetBtn{font-size:.9rem !important;}
}

/* ===== Uniform font size & weight across the quote engine (desktop) ===== */
@media (min-width:1025px){
  #quote-form .quote-step-cover .cover-type-heading,
  #quote-form .quote-step-cover-selection .insurer-card>.cover-type-heading,
  #quote-form #individualFamilyDetails .members-label,
  #quote-form .quote-step-benefits .form-group>label,
  #quote-form select,
  #quote-form .cover-type-toggle label,
  #quote-form #insurerCheckboxes .insurer-checkbox-option,
  #quote-form .quote-step-benefits .scope-group .radio-option,
  #quote-form .quote-step-cover-selection .insurer-card>.scope-group .radio-option,
  #quote-form .actions-quote>#getQuotesBtn,
  #quote-form .actions-quote>#resetBtn{
    font-size:.9rem !important;
    font-weight:600 !important;
  }
  #quote-form .quote-step-benefits .form-group>label{
    display:block !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}

/* ===== Remove Per Person / Per Family toggles from Dental & Optical ===== */
#quote-form #dentalScopeGroup,
#quote-form #opticalScopeGroup{
  display:none !important;
}

/* ===== Members: 2x2 single bordered grid (mirrors the insurer grid) ===== */
@media (min-width: 1025px){
  #quote-form #individualFamilyDetails .family-overview.sub-container{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1px !important;
    align-items:stretch !important;
    border:1.5px solid #d5e1e0 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    background:#e1e7e3 !important;
    box-shadow:none !important;
    margin-left:calc(25% + .6rem) !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item{
    background:#fff !important;
    margin:0 !important;
    padding:.55rem .65rem !important;
    border:0 !important;
    box-shadow:none !important;
    min-width:0 !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item>label,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item>label{
    height:auto !important;
    min-height:22px !important;
    margin:0 0 .3rem !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item>select,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item>select{
    border:1.5px solid #d9e0e8 !important;
    border-radius:8px !important;
  }
}

/* Members grid: drop the per-cell label nesting, keep just the selectors in the cells */
@media (min-width: 1025px){
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item>label,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item>label{
    display:none !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item{
    padding:.6rem .7rem !important;
  }
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item>select,
  #quote-form #individualFamilyDetails .family-overview.sub-container .children-count-item>select{
    height:44px !important;
    min-height:44px !important;
  }
}

/* Remove the border around the quote engine (drop the outer frame + inset gold ring) */
#quote-form.quote-wrapper,
#quote-form{
  border:0 !important;
  border-top:0 !important;
}
#quote-form.quote-wrapper{
  box-shadow:none !important;
}

/* Center the Add Members label vertically against the members grid */
#quote-form #individualFamilyDetails .members-label{
  top:50% !important;
  transform:translateY(-50%) !important;
}

/* Remove the greying on disabled optional-benefit fields */
.optional-benefit-disabled,
.optional-benefit-disabled select,
.optional-benefit-disabled input,
select.optional-benefit-disabled,
input.optional-benefit-disabled{
  opacity:1 !important;
}
select.optional-benefit-disabled,
input.optional-benefit-disabled{
  background:#fff !important;
  color:#475569 !important;
  border-color:#d1d9e6 !important;
}
.optional-benefit-disabled label,
input.optional-benefit-disabled + span,
input.optional-benefit-disabled + label{
  color:#475569 !important;
}

/* Widen the optional-benefit label column so labels like "Optical OP (Optional)" don't wrap */
#quote-form .quote-step-benefits .form-group>label{
  flex:0 0 30% !important;
  width:30% !important;
  min-width:30% !important;
  max-width:30% !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
}

/* ===== All left label columns at 30% ===== */
#quote-form .quote-step-cover .cover-type-heading,
#quote-form .quote-step-cover-selection .insurer-card>.cover-type-heading,
#quote-form .quote-step-cover-selection .inpatient-card>.cover-type-heading,
#quote-form .quote-step-cover-selection .cover-type-heading{
  flex:0 0 30% !important;
  width:30% !important;
  min-width:30% !important;
  max-width:30% !important;
}
#quote-form #individualFamilyDetails .family-overview:not(.children-only-layout),
#quote-form #individualFamilyDetails .family-overview.sub-container{
  margin-left:calc(30% + .6rem) !important;
}

/* ===== Remove greying on Insurer & Inpatient (headings, scope radios, select) ===== */
#quote-form .quote-step-cover-selection .cover-type-heading,
#quote-form .quote-step-cover-selection .cover-type-heading span,
#quote-form .quote-step-cover-selection .cover-type-heading strong{
  color:#013947 !important;
}
#quote-form .quote-step-cover-selection .cover-type-heading i{
  background:#e6fbf9 !important;
  color:#016f6d !important;
}
#quote-form .quote-step-cover-selection .scope-group .radio-option{
  color:#475569 !important;
  background:#fff !important;
}
#quote-form .quote-step-cover-selection .scope-group .radio-option:has(input:checked){
  background:#eaf6f5 !important;
  color:#17484b !important;
}
#quote-form .scope-group input[type="radio"]:disabled{
  accent-color:#019e98 !important;
}
#quote-form #inpatientLimit.optional-benefit-disabled,
#quote-form #inpatientLimit{
  background:#fff !important;
  color:#475569 !important;
  border-color:#d1d9e6 !important;
}

/* Maternity: single selector — hide the separate "For Principal or Spouse" note */
#quote-form #maternityNote,
#quote-form .maternity-disabled-note{
  display:none !important;
}
/* Hero: left-justify content + Buy online line */
.hero-text{text-align:left !important;}
.hero-text p{margin:0 0 1.5rem 0 !important;}
.hero-text .hero-buy-line{margin:1.6rem 0 0 !important;}
.hero-buy-line{font-size:clamp(1rem,1.9vw,1.4rem);font-weight:800;color:var(--accent-gold);max-width:500px;line-height:1.3;}
.m-hero-inner{text-align:left !important;}
.m-hero-buy-line{font-size:1.15rem;font-weight:800;color:var(--accent-gold);margin:1.4rem 0 0;line-height:1.3;}
/* ===== how to pay / payment methods section ===== */
.payment-section{background:#f8fafc;padding:4rem 0;}
.payment-section .section-desc{max-width:720px;}
.payment-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0;}
.payment-step{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem;box-shadow:var(--shadow-sm);}
.payment-step .step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--primary-navy);color:#fff;font-weight:800;font-size:.85rem;margin-bottom:.55rem;}
.payment-step strong{display:block;color:var(--primary-navy);margin-bottom:.3rem;font-size:.98rem;}
.payment-step p{color:#64748b;font-size:.82rem;line-height:1.5;margin:0;}
.payment-methods-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;}
.payment-method{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--primary-navy);border-radius:14px;padding:1.3rem;box-shadow:var(--shadow-sm);}
.payment-method i{color:var(--accent-red);font-size:1.5rem;margin-bottom:.6rem;}
.payment-method h4{color:var(--primary-navy);font-size:1rem;margin:0 0 .4rem;}
.payment-method p{color:#64748b;font-size:.85rem;line-height:1.55;margin:0;}
.payment-note{margin:2rem auto 0;max-width:760px;text-align:center;background:#eaf6f5;border:1px solid #cfe4e5;color:#01545f;font-size:.85rem;line-height:1.6;padding:.9rem 1rem;border-radius:12px;}
.payment-note i{margin-right:.35rem;}

.payment-subheading{text-align:center;color:var(--primary-navy);font-size:1.15rem;font-weight:800;margin:2.4rem 0 1.2rem;}.payment-caution{margin:1rem auto 0;max-width:760px;text-align:center;background:#fff7ed;border:1px solid #f3d19a;color:#9a3412;font-size:.85rem;line-height:1.6;padding:.9rem 1rem;border-radius:12px;}
.payment-caution i{margin-right:.35rem;}/* ===== about - IRA licence section ===== */
.license-section{padding:4rem 0;background:#fff;}
.license-heading{text-align:center;max-width:720px;margin:0 auto 2rem;}
.license-heading h2{font-size:2rem;color:var(--primary-navy);margin-bottom:.5rem;}
.license-heading p{color:#64748b;font-size:.95rem;}
.license-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1.5rem;box-shadow:var(--shadow-sm);text-align:center;}
.license-card .license-image{display:block;max-width:520px;margin:0 auto 1rem;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}
.license-card .license-image img{width:100%;height:auto;display:block;}
.license-meta{display:flex;justify-content:center;gap:2.5rem;margin:0 0 1.2rem;flex-wrap:wrap;}
.license-meta-item small{display:block;color:#94a3b8;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}
.license-meta-item strong{color:var(--primary-navy);font-size:.95rem;}
.license-download{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary-navy);color:#fff;padding:.65rem 1.4rem;border-radius:40px;font-weight:600;font-size:.9rem;transition:.2s;}
.license-download:hover{background:#12383a;transform:translateY(-2px);}
.ira-license-link{color:#b8860b;text-decoration:none;font-weight:800;cursor:pointer;}
.ira-license-link:hover{color:#a0720a;}.license-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:2000;padding:1rem;}
.license-modal-overlay.open{display:flex;}
.license-modal{background:#fff;border-radius:16px;max-width:560px;width:100%;padding:1.2rem;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.license-modal-close{position:absolute;top:.6rem;right:.8rem;background:none;border:none;font-size:1.5rem;line-height:1;color:#64748b;cursor:pointer;}
.license-modal-head{display:flex;align-items:center;gap:.5rem;font-weight:800;color:var(--primary-navy);margin-bottom:.8rem;}
.license-modal-head i{color:var(--accent-gold);}
.license-modal-body img{width:100%;height:auto;max-height:60vh;object-fit:contain;border:1px solid #e2e8f0;border-radius:8px;}
.license-modal-actions{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap;}
.license-modal-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary-navy);color:#fff;padding:.55rem 1rem;border-radius:30px;font-size:.82rem;font-weight:600;transition:.2s;text-decoration:none;}
.license-modal-btn:hover{background:#12383a;}
.license-modal-btn.view{background:var(--accent-gold);color:#013b46;}
.license-modal-btn.view:hover{background:#c9a12b;}/* Members Count badge: thin line, transparent */

/* ===== How It Works split into two stages ===== */
.payment-section .section-title{
  margin-bottom:.4rem;
}
.payment-step-grid-split{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:1rem;
  margin:1.6rem 0 0 !important;
}
.payment-step-grid-split .payment-step{
  flex:1 1 210px;
  max-width:290px;
}
.payment-step-break{
  max-width:760px;
  margin:2.2rem auto 0;
  padding-top:1.8rem;
  border-top:1px solid #e2e8f0;
  text-align:center;
}
.payment-break-title{
  margin:0 0 .5rem;
  color:var(--primary-navy);
  font-size:1.5rem;
  font-weight:800;
  line-height:1.25;
}
.payment-break-title span{
  color:var(--accent-red);
}
.payment-break-desc{
  margin:0;
  color:#64748b;
  font-size:.98rem;
  line-height:1.6;
}
/* The payment-method block now follows the step rows directly. */
.payment-section .payment-subheading{
  margin-top:2.6rem;
}


/* ===== Step 4 "Pay the Premium" now carries the allowed payment methods ===== */
.payment-step-grid-split.payment-step-grid-pay .payment-step-pay{
  flex:1 1 380px;
  max-width:470px;
}
.payment-step-grid-split.payment-step-grid-pay>.payment-step:not(.payment-step-pay){
  flex:0 1 300px;
  max-width:300px;
}
.payment-step-pay .payment-inline-methods{
  display:grid;
  gap:.6rem;
  margin-top:.9rem;
  padding-top:.9rem;
  border-top:1px dashed #dbe3ea;
}
.payment-inline-method{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
}
.payment-inline-method>i{
  flex:0 0 auto;
  width:20px;
  margin-top:.18rem;
  text-align:center;
  color:var(--accent-red);
  font-size:1rem;
}
.payment-inline-method h4{
  margin:0 0 .12rem;
  color:var(--primary-navy);
  font-size:.86rem;
  font-weight:800;
}
.payment-inline-method p{
  margin:0;
  color:#64748b;
  font-size:.78rem;
  line-height:1.5;
}

/* ===== Six steps: 1-3 above the divider, 4-6 below, all cards one width ===== */
.payment-step-grid-split .payment-step,
.payment-step-grid-split.payment-step-grid-pay .payment-step-pay,
.payment-step-grid-split.payment-step-grid-pay>.payment-step:not(.payment-step-pay){
  flex:1 1 200px;
  max-width:290px;
}
.payment-inline-methods{
  display:grid;
  gap:.55rem;
  margin-top:.75rem;
  padding-top:.75rem;
  border-top:1px dashed #dbe3ea;
}
.payment-inline-method{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
}
.payment-inline-method>i{
  flex:0 0 auto;
  width:18px;
  margin-top:.15rem;
  text-align:center;
  color:var(--accent-red);
  font-size:.92rem;
}
.payment-inline-method h4{
  margin:0 0 .08rem;
  color:var(--primary-navy);
  font-size:.82rem;
  font-weight:800;
}
.payment-inline-method p{
  margin:0;
  color:#64748b;
  font-size:.74rem;
  line-height:1.45;
}
.payment-cheque-note{
  margin:.95rem 0 0;
  padding-top:.8rem;
  border-top:1px dashed #dbe3ea;
  color:#64748b;
  font-size:.72rem;
  line-height:1.5;
  text-align:left;
}
.payment-cheque-note i{
  margin-right:.35rem;
  color:var(--accent-red);
}
.payment-cheque-note strong{
  color:var(--primary-navy);
}
.payment-cheque-note a{
  color:var(--primary-navy);
  font-weight:700;
}


/* Small clarifier line inside step 4. */
.payment-step-pay p em{
  display:block;
  margin-top:.25rem;
  color:#94a3b8;
  font-size:.7rem;
  font-style:normal;
  letter-spacing:.01em;
}
/* Second line inside a payment method ("we shall assist…"). */
.payment-inline-method p + p{
  margin-top:.35rem;
}
.payment-assist-note{
  color:var(--primary-navy) !important;
  font-weight:600;
}
/* Step 4: the two ways to pay, as a compact numbered pair. */
.payment-pay-options{
  margin:.9rem 0 0;
  padding-left:1.15rem;
  display:grid;
  gap:.55rem;
}
.payment-pay-options li{
  color:#64748b;
  font-size:.82rem;
  line-height:1.5;
}
.payment-pay-options li::marker{
 color:var(--primary-navy);
 font-weight:800;
}

/* Cover-type pills: keep Children Only / Individual-Family / Group the same width */
@media (min-width: 1025px){
  .quote-wrapper .cover-type-toggle label,
  .quote-wrapper .cover-type-toggle label *{
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
  .quote-wrapper .cover-type-toggle label{
    padding:.5rem .5rem !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.15 !important;
  }
  .quote-wrapper .cover-type-toggle label:has(input:checked)::before{
    display:none !important;
  }
}
.payment-pay-options li strong{
  color:var(--primary-navy);
  font-weight:800;
}

/* ===== quote-ribbon-insurer-tint =====
   Each sticky ribbon badge is filled with its own insurer's darker brand colour
   (set per item as --quote-ribbon-accent by js/quote-navigation-ui.js). */
#quoteStickyRibbon .quote-ribbon-item,
#quoteStickyRibbon .quote-ribbon-item.is-active,
#quoteStickyRibbon .quote-ribbon-item:hover,
#quoteStickyRibbon .quote-ribbon-item:focus,
#quoteStickyRibbon .quote-ribbon-item:active{
  background:var(--quote-ribbon-accent,transparent)!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  border-right:1px solid rgba(255,255,255,.16)!important;
}
#quoteStickyRibbon .quote-ribbon-item + .quote-ribbon-item{
  border-left:1px solid rgba(255,255,255,.16)!important;
}
/* ===== quote-ribbon-badge-type-scale =====
   Larger plan name and member count inside each sticky ribbon badge. */
#quoteStickyRibbon .quote-ribbon-item-plan{
  font-size:.78rem!important;
  max-width:150px!important;
}
#quoteStickyRibbon .quote-ribbon-item-members{
  font-size:.72rem!important;
  max-width:150px!important;
}

/* ===== Desktop: one size + one colour for every benefit selector =====
   Mirrors the mobile pass (css/mobile-quote.css). The scope dropdowns and the
   maternity note used to run at their own sizes and colours, so the rows never
   looked like a set. Kept inside min-width:993px so the phone layout, which
   sets its own values, is untouched. */
@media (min-width:993px){
  #quote-form .quote-step-cover-selection .inpatient-card > .inpatient-control > #inpatientLimit:not(:disabled),
  #quote-form .quote-step-cover-selection .inpatient-card > #inpatientScopeGroup > #inpatientScopeSelect:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper > #outpatientLimit:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper > #outpatientScopeGroup > #outpatientScopeSelect:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper > #dentalLimit:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper > #opticalLimit:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper > #maternityLimit:not(:disabled),
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote:not(:disabled){
    font-size:.9rem!important;
    color:#111!important;
  }

  /* One grey placeholder for every locked row. */
  #quote-form .quote-step-cover-selection .inpatient-card > .inpatient-control > #inpatientLimit:disabled,
  #quote-form .quote-step-cover-selection .inpatient-card > #inpatientScopeGroup > #inpatientScopeSelect:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper > #outpatientLimit:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper > #outpatientScopeGroup > #outpatientScopeSelect:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper > #dentalLimit:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper > #opticalLimit:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper > #maternityLimit:disabled,
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote:disabled{
    font-size:.9rem!important;
    color:#9aa3ad!important;
  }
}

/* ===== Desktop: drop the Cover Type / Members / Insurers row labels and let
   their controls stretch across the full row. ===== */
@media (min-width:993px){
  #quote-form .quote-step-cover .cover-type-card > .cover-type-heading,
  #quote-form #individualFamilyDetails .members-label,
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card) > .cover-type-heading{
    display:none!important;
  }

  /* Cover type: three equal chips across the row. */
  #quote-form .quote-step-cover .cover-type-toggle{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
  }

  /* Insurers: the checkbox grid takes the whole width. */
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card) > #insurerCheckboxes{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
  }

  /* Members: the family grid no longer needs the label's left gutter. Mirrors
     the older selectors that set that gutter so it wins on specificity. */
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout),
  #quote-form #individualFamilyDetails .family-overview.sub-container{
    margin-left:0!important;
    width:100%!important;
  }

  /* Members: Principal, Spouse and both Children selectors on a single line. */
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout){
    /* Weighted to each selector's text width plus the room the native arrow
       needs, so all four sit on one line with nothing clipped. */
    grid-template-columns:0.91fr 0.86fr 1.09fr 1.14fr!important;
    align-items:end!important;
  }
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout)>#childAgesContainer{
    display:contents!important;
    grid-column:auto!important;
  }
  /* A little less side padding gives every selector room for the native arrow. */
  #quote-form #individualFamilyDetails .family-item>select{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* ===== Tablet: same treatment as phone and desktop — drop the Cover Type,
   Members and Insurers labels and let their controls fill the row. ===== */
@media (min-width: 1025px) and (max-width:992px){
  #quote-form .quote-step-cover .cover-type-card>.cover-type-heading,
  #quote-form #individualFamilyDetails .members-label,
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card)>.cover-type-heading{
    display:none!important;
  }

  #quote-form .quote-step-cover .cover-type-card,
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card){
    grid-template-columns:minmax(0,1fr)!important;
  }

  #quote-form .quote-step-cover .cover-type-toggle,
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card)>#insurerCheckboxes{
    width:100%!important;
    max-width:none!important;
  }

  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout),
  #quote-form #individualFamilyDetails .family-overview.sub-container{
    margin-left:0!important;
    width:100%!important;
  }

  /* The tablet quote card is only ~330-420px wide, so the member selectors get
     a smaller size that still shows their full labels. */
  #quote-form #individualFamilyDetails .family-item>select{
    font-size:0.72rem!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  /* Reclaim the item's side padding so the dropdown arrow has room and the
     Children labels are not clipped. */
  #quote-form #individualFamilyDetails .family-overview.sub-container .family-item,
  #quote-form #individualFamilyDetails .family-overview:not(.children-only-layout) .family-item{
    padding-left:0!important;
    padding-right:0!important;
  }
}



/* ===== directory-grouped-facet-filter ===== */
/* Provider Type, Speciality and Service are one grouped dropdown; the
   original three selects stay in the DOM as filter state only. */
.directory-legacy-filter-host{display:none!important}
#directoryFacet optgroup{font-weight:800}
#directoryFacet option{font-weight:600}


/* ===== directory-download-slots ===== */
/* Download Full Plan Network sits beside Medical Plan; Download Filtered
   Providers sits beside Location / Filter Providers. */
.directory-grid>.directory-download-slot{display:none}
.directory-grid>.directory-download-slot.is-visible{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
}
.directory-download-slot .directory-download-btn,
.directory-download-slot .directory-field-download{width:100%;min-height:42px;flex:0 0 auto}
.directory-grid>.directory-search-field{grid-column:1 / -1}
/* ===== directory-load-more ===== */
.directory-load-more{
  display:block;
  width:min(320px,100%);
  margin:0.9rem auto 0;
  padding:0.7rem 1.1rem;
  border:1px solid #b58b20;
  border-radius:11px;
  background:#fff8df;
  color:#013b46;
  font:inherit;
  font-size:0.82rem;
  font-weight:800;
  cursor:pointer;
}
.directory-load-more:hover,
.directory-load-more:focus-visible{background:#176367;border-color:#176367;color:#fff;outline:none}
.directory-load-more[hidden]{display:none!important}


/* ===== provider-directory-full-bleed ===== */
/* The Hospitals band stretches to the edge of the screen, whatever constrains it. */
.provider-directory-section{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-radius:0!important;
}

/* ===== css\inpatient-scope-select.css ===== */
/* ===== Inpatient limit basis: Per Person / Per Family dropdown =====
   The quote engine shows the inpatient limit basis as a dropdown. The original
   radio inputs stay in the markup as the engine's source of truth and are
   hidden here, so every existing quote rule keeps working. */
#quote-form .quote-step-cover-selection .inpatient-card>#inpatientScopeGroup>.radio-option{
  display:none!important;
}

#quote-form #inpatientScopeGroup>.scope-select{
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Desktop: match the inpatient limit selector next to it. */
@media (min-width:1025px){
  /* The card is a flex row here, so the selector must take a compact fixed
     width instead of the old full-width pill row. */
  #quote-form .quote-step-cover-selection .insurer-card>#inpatientScopeGroup{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #quote-form #inpatientScopeGroup>.scope-select{
    width:auto!important;
    min-width:160px!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:.55rem .75rem!important;
    border:1.5px solid #d9e0e8!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#475569!important;
    font-size:.75rem!important;
    font-weight:600!important;
  }
  #quote-form #inpatientScopeGroup>.scope-select:focus{
    outline:none!important;
    border-color:#86b5b3!important;
    box-shadow:0 0 0 3px rgba(1,111,109,.08)!important;
  }
  #quote-form #inpatientScopeGroup>.scope-select:disabled{
    background:#f5f7f8!important;
    color:#94a3b8!important;
    cursor:not-allowed!important;
  }
}

/* Phone: sit beside the inpatient limit selector in the same segmented row. */


/* ===== Outpatient limit basis: Per Person / Per Family dropdown ===== */
#quote-form #outpatientScopeGroup>.radio-option{
  display:none!important;
}
#quote-form #outpatientScopeGroup>.scope-select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Desktop: compact dropdown beside the outpatient limit selector. */
@media (min-width:1025px){
  #quote-form #outpatientScopeGroup>.scope-select{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:160px!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:.55rem .75rem!important;
    border:1.5px solid #d9e0e8!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#475569!important;
    font-size:.75rem!important;
    font-weight:600!important;
  }
  #quote-form #outpatientScopeGroup>.scope-select:focus{
    outline:none!important;
    border-color:#86b5b3!important;
    box-shadow:0 0 0 3px rgba(1,111,109,.08)!important;
  }
}

/* Tablet: fill the scope grid cell. */
@media (min-width: 1025px) and (max-width:1024px){
  #quote-form #outpatientScopeGroup>.scope-select{
    grid-column:1 / -1!important;
    min-height:44px!important;
    height:44px!important;
  }
}

/* Phone: sit beside the outpatient limit selector. */


/* ===== Flatten the scope dropdowns on desktop: no nested wrapper box ===== */
@media (min-width:1025px){
  #quote-form #inpatientScopeGroup,
  #quote-form #outpatientScopeGroup{
    display:contents !important;
  }
  #quote-form #outpatientLimit{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  #quote-form #inpatientScopeGroup>.scope-select,
  #quote-form #outpatientScopeGroup>.scope-select{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:160px !important;
  }
}

/* ===== css\hero-badge.css ===== */
/* ===== Hero kicker badge: rounded, gold border, transparent ===== */
.hero-text .hero-buy-line{
  display:inline-block !important;
  margin:0 0 1.05rem 0 !important;
  padding:.42rem .95rem !important;
  border:1.5px solid var(--accent-gold) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--accent-gold) !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  line-height:1.25 !important;
  max-width:none !important;
  opacity:1 !important;
}
.hero-text .hero-buy-line .badge-sep{
  margin:0 .5rem;
  opacity:.5;
  font-weight:700;
}


/* ===== Hero kicker: glow + full-width alignment with the 6 tiles below ===== */
.hero-text .hero-buy-line{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  color:var(--accent-gold) !important;
  border-color:var(--accent-gold) !important;
  text-shadow:
    0 0 10px rgba(212,175,55,.55),
    0 0 24px rgba(212,175,55,.30) !important;
  box-shadow:
    0 0 16px rgba(212,175,55,.24),
    inset 0 0 14px rgba(212,175,55,.10) !important;
}
/* Headline and intro copy span the same width as the stat tiles + journey badges. */
.hero-text > h1,
.hero-text > p:not(.hero-buy-line){
  width:100% !important;
  max-width:100% !important;
}

/* ===== Hero stat tiles: stacked 2x2, width aligned to the content above ===== */
.hero-text .hero-stats{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.7rem !important;
  margin-top:1.5rem !important;
  max-width:100%;
  width:100%;
}
.hero-text .stat-card{
  padding:.8rem .6rem !important;
  border-radius:14px !important;
  text-align:center !important;
}
.hero-text .stat-card .num{
  font-size:1.45rem !important;
  line-height:1.15 !important;
}
.hero-text .stat-card .label{
  font-size:.72rem !important;
  line-height:1.2 !important;
  opacity:.85 !important;
  white-space:normal;
}

/* ===== hero-journey =====
   The whole "how it works" path, shown on the green half of the hero under the
   stat tiles. Kept short so it never competes with the quote card. */
.hero-text .hero-journey{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  width:100%;
  max-width:100%;
  margin-top:1.35rem;
}
.hero-text .hero-journey-badge{
  padding:.7rem .7rem !important;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:rgba(255,255,255,.1);
  text-align:left !important;
}
.hero-text .hero-journey-label{
  margin:0 0 .45rem !important;
  color:var(--accent-gold) !important;
  font-size:1.45rem !important;
  font-weight:800 !important;
  letter-spacing:normal !important;
  line-height:1.15 !important;
  text-transform:none !important;
  opacity:1 !important;
}
.hero-text .hero-journey-steps{
  width:100%;
  max-width:420px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.24rem .3rem;
  margin:0 !important;
  color:rgba(255,255,255,.9) !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  letter-spacing:.005em;
}
.hero-text .hero-journey-step{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  white-space:nowrap;
}
.hero-text .hero-journey-step i{
  font-size:.5rem;
  color:rgba(255,255,255,.45) !important;
  flex:0 0 auto;
}
.hero-text .hero-journey-final{
  color:#fff !important;
  font-weight:700;
}
.hero-text .hero-journey-outcome{
  display:flex;
  align-items:center;
  gap:.42rem;
  margin:.62rem 0 0 !important;
  color:#fff !important;
  font-size:1.19rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.01em;
}
.hero-text .hero-journey-outcome i{
  color:var(--accent-gold) !important;
  font-size:1rem !important;
}
.hero-text .hero-journey-ast{
  color:var(--accent-gold) !important;
  font-weight:800;
}
.hero-text .hero-journey-note{
  width:100%;
  max-width:420px;
  margin:.42rem 0 0 !important;
  color:rgba(255,255,255,.62) !important;
  font-size:.72rem !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:1.5 !important;
  letter-spacing:.005em;
}
.hero-text .hero-journey-note strong{
  color:rgba(255,255,255,.88) !important;
  font-weight:700;
}


/* ===== Stronger kicker glow + justified hero copy, flush with the tiles below ===== */
.hero-text .hero-buy-line{
  border-color:rgba(240,212,116,.95) !important;
  color:#f2d879 !important;
  text-shadow:
    0 0 6px rgba(255,240,190,.85),
    0 0 14px rgba(212,175,55,.65),
    0 0 30px rgba(212,175,55,.35) !important;
  box-shadow:
    0 0 10px rgba(212,175,55,.40),
    0 0 26px rgba(212,175,55,.24),
    inset 0 0 18px rgba(212,175,55,.14) !important;
}
/* Both blocks below (4 stat tiles + 2 journey badges) are flush left and right,
   so the copy above them is justified to the same edges. */
.hero-text > p:not(.hero-buy-line){
  text-align:justify;
  text-justify:inter-word;
}

/* ===== Kicker: glow removed (plain gold outline, still full width) ===== */
.hero-text .hero-buy-line{
  border-color:var(--accent-gold) !important;
  color:var(--accent-gold) !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
/* ===== Kicker + intro copy trimmed to the headline's own text width =====
   "Protect What Matters Most" renders 384px on desktop (its longest line),
   so the pill and the paragraph end on the same right edge as the headline. */
@media (min-width:993px){
  .hero-text .hero-buy-line{
    width:100% !important;
    max-width:384px !important;
    padding:.42rem .65rem !important;
    letter-spacing:.05em !important;
  }
  .hero-text > p:not(.hero-buy-line){
    width:100% !important;
    max-width:384px !important;
  }
}

/* ===== css\quote-required-cues.css ===== */
/* ===== Progressive required-step cue: RED =====
   1) Principal Age glows red until it is chosen.
   2) Once chosen, Inpatient Limit becomes the red next step.
   3) Once Inpatient is chosen, the optional limits read a black
      "Select Optional Limit". */

/* --- Step 1: Principal Age (red until chosen) --- */
.quote-step-members .family-item:has(#principalAge.principal-age-error)>label{
  color:#dc2626!important;
}
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.principal-age-error,
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.principal-age-placeholder,
#quote-form #principalAge.principal-age-error,
#quote-form #principalAge.principal-age-placeholder{
  color:#dc2626!important;
  border:1.5px solid #dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
  font-weight:700!important;
  animation:none!important;
}
#quote-form #principalAge.principal-age-error option{
  color:#1e293b!important;
  font-weight:400!important;
}
#quote-form #principalAge.principal-age-error option[value=""]{
  color:#dc2626!important;
  font-weight:700!important;
}
.principal-age-inline-warning{
  color:#dc2626!important;
}
.principal-validation-message.visible,
.inpatient-validation-message.visible{
  color:#7f1d1d!important;
}

/* --- Step 2: Inpatient Limit (red once the member step is done) --- */
#quote-form #inpatientLimit.inpatient-limit-error,
#quote-form #inpatientLimit.compare-all-select-required{
  color:#dc2626!important;
  border:1.5px solid #dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
  font-weight:700!important;
  animation:none!important;
}
#quote-form #inpatientLimit.inpatient-limit-error option,
#quote-form #inpatientLimit.compare-all-select-required option{
  color:#1e293b!important;
  font-weight:400!important;
}
#quote-form #inpatientLimit.inpatient-limit-error option[value=""],
#quote-form #inpatientLimit.inpatient-limit-error option[value="none"],
#quote-form #inpatientLimit.inpatient-limit-error option[value="all"],
#quote-form #inpatientLimit.compare-all-select-required option[value=""],
#quote-form #inpatientLimit.compare-all-select-required option[value="none"],
#quote-form #inpatientLimit.compare-all-select-required option[value="all"]{
  color:#dc2626!important;
  font-weight:700!important;
}
.inpatient-required-asterisk{
  color:#dc2626!important;
}

/* ===== the cue also owns the selector's own text =====
   The row rules set the live Inpatient Limit to near-black
   (… .inpatient-control > #inpatientLimit:not(:disabled)), and on a phone
   mobile-quote.css does the same, so the cue would show a red border around
   black text. The repeated id outranks those two. */
#quote-form#quote-form#quote-form .quote-step-cover-selection .inpatient-card > .inpatient-control > #inpatientLimit.limit-step-required:not(:disabled),
#quote-form#quote-form#quote-form .quote-step-cover-selection .inpatient-card > .inpatient-control > #inpatientLimit.inpatient-limit-error:not(:disabled),
#quote-form#quote-form#quote-form .quote-step-cover-selection .inpatient-card > .inpatient-control > #inpatientLimit.compare-all-select-required:not(:disabled){
  color:#dc2626!important;
}

/* --- Blocking error state: only after a failed "Get My Quotes" --- */
#quote-form #principalAge.required-blocked,
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.required-blocked{
  color:#7f1d1d!important;
  border:1.5px solid #7f1d1d!important;
  box-shadow:0 0 0 3px rgba(127,29,29,.18), 0 0 14px rgba(127,29,29,.30)!important;
}
#quote-form #inpatientLimit.required-blocked{
  color:#7f1d1d!important;
  border:1.5px solid #7f1d1d!important;
  box-shadow:0 0 0 3px rgba(127,29,29,.18), 0 0 14px rgba(127,29,29,.30)!important;
}
#quote-form #principalAge.required-blocked option[value=""],
#quote-form #inpatientLimit.required-blocked option[value=""],
#quote-form #inpatientLimit.required-blocked option[value="none"],
#quote-form #inpatientLimit.required-blocked option[value="all"]{
  color:#7f1d1d!important;
}

/* --- Step 3: optional limits read black once available --- */
#quote-form #outpatientLimit:not(:disabled),
#quote-form #maternityLimit:not(:disabled),
#quote-form #dentalLimit:not(:disabled),
#quote-form #opticalLimit:not(:disabled){
  color:#111!important;
}

/* --- Children Only: the child-count selector takes the red cue too --- */
#quote-form #individualFamilyDetails .family-overview.sub-container.children-only-layout #childrenAge017.zero-count-required{
  color:#dc2626!important;
  border:1.5px solid #dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
  font-weight:700!important;
}
#quote-form #individualFamilyDetails .family-overview.sub-container.children-only-layout #childrenAge017.zero-count-required option[value="0"]{
  color:#dc2626!important;
  font-weight:700!important;
}

/* ===== Chosen fields get a light-green fill (Inpatient Limit + scopes) ===== */
#quote-form #inpatientLimit.has-selection,
#quote-form #inpatientScopeGroup>.scope-select.has-selection,
#quote-form #outpatientScopeGroup>.scope-select.has-selection{
  background:#e4f4f3!important;
  border-color:#a5d4d6!important;
  color:#01545f!important;
}

/* ===== Step 2b: after the Inpatient Limit, the Inpatient Scope is next ===== */
#quote-form #inpatientScopeGroup>.scope-select.scope-step-required{
  background:#fff!important;
  border:1.5px solid #dc2626!important;
  color:#dc2626!important;
  font-weight:700!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
}
#quote-form #inpatientScopeGroup>.scope-select.scope-step-required option[value=""]{
  color:#dc2626!important;
  font-weight:700!important;
}

/* ===== Inactive Inpatient Limit + scopes: no grey wash, just the blocked
   cursor so it stays visually consistent with the active fields. ===== */
#quote-form #inpatientLimit:disabled,
#quote-form .inpatient-card.inpatient-limit-pending #inpatientLimit:disabled,
#quote-form #inpatientScopeGroup>.scope-select:disabled,
#quote-form #outpatientScopeGroup>.scope-select:disabled{
  background:#fff!important;
  border-color:#d9e0e8!important;
  color:#475569!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
#quote-form .inpatient-control:has(#inpatientLimit:disabled),
#quote-form #inpatientScopeGroup:has(.scope-select:disabled),
#quote-form #outpatientScopeGroup:has(.scope-select:disabled){
  cursor:not-allowed!important;
}

/* ===== css\quote-form-layout.css ===== */
/* ===== Children Only: keep the members row inside the quote card =====
   The children-only row kept a full-width box while also carrying the left
   indent used by the other member rows, so it ran past the right edge of the
   quote card (and pushed the page sideways). Letting the width shrink into the
   remaining space keeps the row - and its selector - inside the engine's
   boundaries, with no horizontal overflow. */
#quote-form #individualFamilyDetails .family-overview.children-only-layout{
  width:auto!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#quote-form #individualFamilyDetails .family-overview.children-only-layout .family-item,
#quote-form #individualFamilyDetails .family-overview.children-only-layout .children-count-item,
#quote-form #individualFamilyDetails .family-overview.children-only-layout #childAgesContainer{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#quote-form #individualFamilyDetails .family-overview.children-only-layout select{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* ===== Members counter: always visible in the quote heading — rests as a soft
   "Add Members" invitation, then becomes a green chip once members are counted ===== */
#quote-form .quote-header-badge-host{
  display:inline-flex;
  align-items:center;
}
#quote-form .quote-header-badge-host:not(.is-counting){
  margin-top:0!important;
}
#quote-form .group-families-live-total{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0.16rem 0.6rem!important;
  border:1px solid rgba(1,84,95,.22)!important;
  border-radius:999px!important;
  background:#f3f9f9!important;
  color:#01545f!important;
  font-size:.7rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
#quote-form .group-families-live-total.is-counting{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0.16rem 0.6rem!important;
  border:1px solid rgba(1,84,95,.26)!important;
  border-radius:999px!important;
  background:#e4f4f3!important;
  color:#01545f!important;
  font-size:.7rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

/* ===== cover-type-selected-green =====
   Cover Type selection reads as deep green with a soft light-green fade
   toward the right edge, instead of the flat navy fill. */
#quote-form .cover-type-toggle label:has(input:checked){
  background:linear-gradient(90deg,#0b393b 0%,#14585c 58%,#1a6c70 100%)!important;
  border-color:#0b393b!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgb(11, 57, 59,.20)!important;
}
#quote-form .cover-type-toggle label:hover{
  border-color:rgb(11, 57, 59,.35)!important;
}

/* Group "Average Age" choices share the exact same selected treatment so every
   chosen chip in the engine reads as one green language. */
#quote-form #groupComposition .group-age-options input:checked + span{
  background:linear-gradient(90deg,#0b393b 0%,#14585c 58%,#1a6c70 100%)!important;
  border-color:#0b393b!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* ===== reset-quiet-outline =====
   "Reset Selections" steps back to a light outlined button on desktop/tablet so
   the gold "Get My Quotes" action is the only solid, high-emphasis button. The
   joined mobile action pill keeps its own treatment below 700px. */
@media (min-width: 1025px){
  #quote-form .actions-quote #resetBtn,
  #quote-form #resetBtn,
  button#resetBtn{
    background:#fff!important;
    border:1.5px solid rgba(1,84,95,.45)!important;
    color:#01545f!important;
    box-shadow:none!important;
  }
  #quote-form .actions-quote #resetBtn:hover,
  #quote-form #resetBtn:hover,
  button#resetBtn:hover{
    background:#eaf6f4!important;
    border-color:#01545f!important;
    color:#014a52!important;
  }
}

/* ===== optional-locked-grey-fill =====
   Optional covers stay visibly greyed while the member step is still open
   (e.g. Children Only before children are chosen). Inpatient keeps its own
   white treatment. */
#quote-form #outpatientLimit.optional-benefit-disabled:disabled,
#quote-form #dentalLimit.optional-benefit-disabled:disabled,
#quote-form #opticalLimit.optional-benefit-disabled:disabled,
#quote-form #maternityLimit.optional-benefit-disabled:disabled,
#quote-form #outpatientScopeSelect.optional-benefit-disabled:disabled{
  background:#f1f3f5!important;
  color:#9aa3ad!important;
  border-color:#d6dbe1!important;
  box-shadow:none!important;
}

/* The Inpatient Limit and both scope selectors grey out too while they are
   waiting on the previous step. */
#quote-form #inpatientLimit:disabled,
#quote-form .inpatient-card #inpatientLimit:disabled,
#quote-form .inpatient-card.inpatient-limit-pending #inpatientLimit:disabled,
#quote-form #inpatientScopeSelect:disabled,
#quote-form #inpatientScopeGroup > .scope-select:disabled,
#quote-form #outpatientScopeSelect:disabled,
#quote-form #outpatientScopeGroup > .scope-select:disabled{
  background:#f1f3f5!important;
  color:#9aa3ad!important;
  border-color:#d6dbe1!important;
  box-shadow:none!important;
}

/* While the Inpatient Limit is still waiting, its scope selector follows the
   same grey so the pair reads as one locked step. */
#quote-form .inpatient-card:has(#inpatientLimit:disabled) #inpatientScopeSelect{
  background:#f1f3f5!important;
  color:#9aa3ad!important;
  border-color:#d6dbe1!important;
  box-shadow:none!important;
}

/* ===== quote-journey-strip =====
   The line under the quote buttons shows the whole journey: quote, compare,
   apply, pay. The first beat is tinted green because it is the step the
   customer is on. */
.quote-cta-note.quote-journey{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.3rem .5rem;
  margin-top:.1rem;
  font-style:italic;
  font-size:.73rem;
  line-height:1.3;
  color:#64748b;
}
.quote-cta-note.quote-journey .quote-journey-step{
  white-space:nowrap;
  font-weight:400;
  letter-spacing:.005em;
}
.quote-cta-note.quote-journey .quote-journey-label{
  white-space:nowrap;
  color:#01545f;
  font-weight:700;
  letter-spacing:.005em;
}
.quote-cta-note.quote-journey .quote-journey-step.is-current{
  color:#01545f;
  font-weight:700;
}
.quote-cta-note.quote-journey .quote-journey-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.5rem;
  line-height:1;
  color:#b9c6c0;
}
.quote-cta-note.quote-journey .quote-journey-caveat{
  flex-basis:100%;
  width:100%;
  margin-top:.1rem;
  color:#94a3b8;
  font-size:.9em;
  font-weight:500;
  letter-spacing:.005em;
}
.quote-cta-note.quote-journey .quote-journey-amp{
  white-space:nowrap;
  color:#b9c6c0;
  font-weight:400;
  letter-spacing:.005em;
}


/* ===== Optional covers grey while waiting on Inpatient Scope =====
   These selects are locked by class rather than the disabled attribute, so the
   earlier ":disabled" grey rules never matched them and they kept the white
   "enabled" treatment. Grey them on the class alone, and they go back to white
   as soon as the class is removed. */
#quote-form select.optional-benefit-disabled,
#quote-form #outpatientLimit.optional-benefit-disabled,
#quote-form #dentalLimit.optional-benefit-disabled,
#quote-form #opticalLimit.optional-benefit-disabled,
#quote-form #maternityLimit.optional-benefit-disabled,
#quote-form #outpatientScopeSelect.optional-benefit-disabled{
  background:#f1f3f5!important;
  color:#9aa3ad!important;
  border-color:#d6dbe1!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}
/* Belt and braces: a locked optional cover must not open even if some other
   script briefly clears its disabled attribute. */
#quote-form select.optional-benefit-disabled{
  pointer-events:none!important;
}

/* ===== css\contact-attachments.css ===== */
/* ===== contact-attachments-v1 =====
   Optional document attachments on the "Send us a message" form. */
#personalAssistanceForm .personal-attach-group{
  margin-top:.15rem;
}
#personalAssistanceForm .personal-attach-control{
  display:flex;
  align-items:center;
  gap:.6rem;
  width:100%;
  padding:.6rem .75rem;
  border:1px dashed #cbd5d1;
  border-radius:12px;
  background:#f7fafa;
  cursor:pointer;
  text-align:left;
  transition:border-color .18s ease,background-color .18s ease;
}
#personalAssistanceForm .personal-attach-control:hover{
  border-color:#8fbdbf;
  background:#f2f8f8;
}
#personalAssistanceForm .personal-attach-control > i{
  flex:0 0 auto;
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#e4f4f3;
  color:#01545f;
  font-size:.82rem;
}
#personalAssistanceForm .personal-attach-control span{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}
#personalAssistanceForm .personal-attach-control strong{
  color:#013b46;
  font-size:.82rem;
  font-weight:700;
}
#personalAssistanceForm .personal-attach-control small{
  color:#7b8794;
  font-size:.7rem;
}
#personalAssistanceForm .personal-attach-control input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
#personalAssistanceForm .personal-attach-list{
  list-style:none;
  margin:.5rem 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.3rem;
}
#personalAssistanceForm .personal-attach-list li{
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .5rem;
  border:1px solid #dbe5e5;
  border-radius:9px;
  background:#fff;
  font-size:.74rem;
  color:#334155;
}
#personalAssistanceForm .personal-attach-list li i{
  color:#016f6d;
  font-size:.72rem;
}
#personalAssistanceForm .personal-attach-list li .attach-name{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
}
#personalAssistanceForm .personal-attach-list li .attach-size{
  flex:0 0 auto;
  color:#94a3b8;
  font-size:.68rem;
}
#personalAssistanceForm .personal-attach-list li button{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#b4232f;
  cursor:pointer;
  font-size:.78rem;
  line-height:1;
  padding:0 .15rem;
}
#personalAssistanceForm .personal-attach-note{
  margin:.5rem 0 0;
  font-size:.7rem;
  line-height:1.45;
  color:#64748b;
}
#personalAssistanceForm .personal-attach-note.is-warning{
  color:#9a7413;
}
#personalAssistanceForm .personal-attach-note.is-error{
  color:#b4232f;
}

/* ===== css\personal-agent.css ===== */
/* ===== personal-agent-v1 =====
   "Talk to Our Agent" intro block in the contact section. */

/* ===== Two standalone contact sections =====
   The agent profile and the message form used to share one shell; they are now
   two separate dark panels, each centred in its own section. */
.personal-assistance-shell-single{
  display:block;
  grid-template-columns:none;
}
.personal-assistance-section + .personal-assistance-section{
  padding-top:0;
}

/* Full-bleed bands: the dark panels run edge to edge with no outer container,
   and the content inside keeps a comfortable reading width. */
.personal-assistance-band{
  padding:0;
  background:transparent;
}
.personal-assistance-band .personal-assistance-shell-single{
  max-width:none;
  margin:0;
  border-radius:0;
  padding:48px clamp(20px,5vw,72px);
}
.personal-assistance-band .personal-assistance-intro{
  max-width:960px;
  margin:0 auto;
}
.personal-assistance-band .personal-message-card{
  max-width:1080px;
  margin:0 auto;
}

/* ===== Fancy centred agent band ===== */
#contact .personal-assistance-band .personal-assistance-intro,
#contact .personal-assistance-intro{
  max-width:920px;
  margin:0 auto;
  padding:36px 30px 32px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.18);
  text-align:center;
  align-items:center;
}
#contact .personal-assistance-intro .personal-agent-head{
  justify-content:center;
  margin-top:0;
  padding-bottom:0;
}
#contact .personal-assistance-intro .personal-agent-head-icon{
  width:44px;
  height:44px;
  border-radius:13px;
  font-size:1.05rem;
}
#contact .personal-assistance-intro .personal-agent-head strong{
  font-size:1.02rem;
}
#contact .personal-assistance-intro .personal-agent-head small{
  font-size:.68rem;
}
#contact .personal-assistance-intro .personal-agent-rule{
  width:min(340px,62%);
  margin:.85rem auto .95rem;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.38),rgba(255,255,255,0));
}
#contact .personal-assistance-intro .personal-assistance-kicker{
  display:block;
  margin-bottom:.55rem;
}
#contact .personal-assistance-intro p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
#contact .personal-agent-card{
  flex-direction:column;
  align-items:center;
  gap:.75rem;
  margin-top:1.5rem;
}
#contact .personal-agent-photo{
  width:104px;
  height:104px;
  border-radius:50%;
  border:3px solid rgba(212,175,55,.85);
  box-shadow:0 10px 26px rgba(0,0,0,.3);
}
#contact .personal-agent-meta h4{
  font-size:1.14rem;
}
#contact .personal-agent-contact{
  justify-content:center;
}
#contact .personal-assistance-trust{
  justify-content:center;
  margin-top:1.15rem;
}
/* Bottom call / WhatsApp badges. */
#contact .personal-agent-cta{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:center;
  margin-top:1.35rem;
}
#contact .personal-agent-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.72rem 1.4rem;
  border-radius:999px;
  border:1.5px solid transparent;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
#contact .personal-agent-cta-btn:hover{
  transform:translateY(-2px);
}
#contact .personal-agent-cta-wa{
  background:#25D366;
  color:#fff !important;
  box-shadow:0 8px 20px rgb(37, 202, 211,.32);
}
#contact .personal-agent-cta-wa:hover{
  background:#1eabb2;
}
#contact .personal-agent-cta-call{
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#013b46 !important;
  box-shadow:0 8px 20px rgba(212,175,55,.3);
}
#contact .personal-agent-cta-call:hover{
  background:linear-gradient(135deg,#f6d463,#dcb945);
}


#contact .personal-assistance-intro p + p{
  margin-top:.6rem;
}
#contact .personal-assistance-intro strong{
  color:#fff;
  font-weight:800;
}
/* All copy in this block sits on the deep green panel. */
#contact .personal-assistance-intro,
#contact .personal-assistance-intro p,
#contact .personal-assistance-intro h3{
  color:#fff;
}
#contact .personal-assistance-intro p{
  font-weight:400;
}
#contact .personal-agent-card{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:1.15rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

/* ===== Header row, mirroring the "Send us a message" card ===== */
#contact .personal-assistance-intro .personal-agent-head{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-top:.9rem;
  padding-bottom:.7rem;
}
#contact .personal-assistance-intro .personal-agent-head-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#013b46;
  font-size:.95rem;
  box-shadow:0 4px 10px rgba(180,140,30,.28);
}
#contact .personal-assistance-intro .personal-agent-head strong{
  display:block;
  color:#fff;
  font-size:.9rem;
  font-weight:700;
  line-height:1.25;
}
#contact .personal-assistance-intro .personal-agent-head small{
  display:block;
  margin-top:.1rem;
  color:rgba(255,255,255,.62);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.02em;
}
/* Thin subtle divider under the header. */
#contact .personal-assistance-intro .personal-agent-rule{
  height:1px;
  width:100%;
  margin:0 0 .95rem;
  background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.03));
}
/* Phone / WhatsApp icon links. */
#contact .personal-agent-contact{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.4rem;
}
#contact .personal-agent-ic{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.14);
  color:#fff !important;
  font-size:.78rem;
  text-decoration:none;
  transition:background-color .16s ease,transform .16s ease;
}
#contact .personal-agent-ic:hover{
  background:rgba(255,255,255,.26);
  transform:translateY(-1px);
}
#contact .personal-agent-ic-wa{
  background:#25D366;
  border-color:#25D366;
}
#contact .personal-agent-ic-wa:hover{
  background:#1eabb2;
}
#contact .personal-agent-nums{
  color:rgba(255,255,255,.92);
  font-size:.78rem;
  font-weight:600;
  white-space:nowrap;
}
#contact .personal-agent-nums a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
}
#contact .personal-agent-nums a:hover{
  text-decoration:underline;
}
#contact .personal-agent-sep{
  margin:0 .15rem;
  color:rgba(255,255,255,.5);
}
#contact .personal-agent-photo{
  flex:0 0 auto;
  width:78px;
  height:78px;
  border-radius:14px;
  object-fit:cover;
  object-position:center 18%;
  background:#e4f4f3;
  border:2px solid #fff;
  box-shadow:0 4px 12px rgba(15,23,42,.12);
}
#contact .personal-agent-meta{
  min-width:0;
}
#contact .personal-agent-meta h4{
  margin:0 0 .15rem;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
  font-size:1.02rem;
  font-weight:800;
  line-height:1.2;
}
#contact .personal-assistance-intro .personal-agent-role{
  margin:0 0 .45rem;
  color:rgba(255,255,255,.82);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.35;
}
#contact .personal-assistance-intro .personal-agent-agency{
  color:var(--accent-gold);
  font-weight:700;
}
#contact .personal-agent-contact{
  margin:0 0 .55rem;
  color:rgba(255,255,255,.88);
  font-size:.78rem;
  line-height:1.4;
}
#contact .personal-agent-contact i{
  color:var(--accent-gold);
  margin-right:.25rem;
}
#contact .personal-agent-contact a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
#contact .personal-agent-contact a:hover{
  text-decoration:underline;
}
#contact .personal-agent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
#contact .personal-agent-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .8rem;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  text-decoration:none;
  border:1.5px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
#contact .personal-agent-btn:hover{
  transform:translateY(-1px);
}
#contact .personal-agent-wa{
  background:#25D366;
  color:#fff !important;
  box-shadow:0 4px 12px rgb(37, 202, 211,.28);
}
#contact .personal-agent-wa:hover{
  background:#1eabb2;
}
#contact .personal-agent-call{
  background:#fff;
  border-color:rgba(255,255,255,.55);
  color:#013b46 !important;
}
#contact .personal-agent-call:hover{
  background:#f4fbfb;
}
#contact .personal-assistance-trust{
  flex-wrap:wrap;
}


/* ===== Fancy agent band — final overrides =====
   Placed last so nothing earlier in this sheet wins the cascade. */
#contact .personal-agent-photo{
  width:104px !important;
  height:104px !important;
  border-radius:50% !important;
  border:3px solid rgba(212,175,55,.85) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.3) !important;
  object-position:center 16% !important;
}
#contact .personal-agent-meta h4{
  font-size:1.14rem !important;
  letter-spacing:.01em;
}
#contact .personal-agent-contact{
  justify-content:center;
}


/* ===== Message card action row =====
   Only two buttons remain (Email / WhatsApp); centre them as a pair instead of
   leaving a third empty grid column. */
.personal-contact-actions{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  justify-content:center;
  max-width:400px;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* ===== Agent card: photo, vertical rule, then the details ===== */
#contact .personal-agent-card{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center;
  gap:1.15rem;
  text-align:left;
}
#contact .personal-agent-meta{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:1.15rem;
  text-align:left;
}
#contact .personal-agent-contact{
  justify-content:flex-start !important;
}


/* ===== Bottom badges: equal rectangular pills spanning the column ===== */
#contact .personal-agent-cta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  width:100%;
  max-width:440px;
  margin:1.45rem auto 0;
}
#contact .personal-agent-cta-btn{
  justify-content:center;
  width:100%;
  padding:.8rem 1rem;
  border-radius:14px !important;
}


/* ===== Trust chips: three per line, two on the second ===== */
#contact .personal-assistance-trust{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem .55rem;
  justify-content:center;
  max-width:560px;
  margin:1.2rem auto 0 !important;
}
#contact .personal-assistance-trust > span{
  justify-content:center;
  width:100%;
}


/* The agent copy sits directly on the band — no rounded sub-container. */
#contact .personal-assistance-intro{
  max-width:920px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* ===== One dark band, two columns, vertical divider ===== */
#contact.personal-assistance-band{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) 1px minmax(0,1fr);
  gap:0 clamp(20px,3.2vw,46px);
  align-items:center;
  padding:56px clamp(20px,5vw,72px);
  background:
    radial-gradient(circle at 12% 0%,rgba(212,175,55,.14),transparent 30%),
    radial-gradient(circle at 88% 100%,rgb(47, 138, 143,.20),transparent 32%),
    linear-gradient(135deg,#12383a 0%,#174a4d 55%,#12383a 100%);
}
#contact .personal-assistance-shell{
  display:block !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#contact .personal-contact-divider{
  width:1px;
  align-self:stretch;
  justify-self:center;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
}
#contact .personal-assistance-intro{
  max-width:640px !important;
  margin:0 0 0 auto !important;
  padding-right:clamp(0px,2vw,26px) !important;
}
#contact .personal-message-card{
  max-width:100%;
  margin:0 !important;
}

/* Header row: two gold quick-action icons then the heading. */
#contact .personal-agent-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
}
/* Square gold call button beside the white heading. */
#contact .personal-agent-head-call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:14px;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#013b46 !important;
  font-size:1.15rem;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(180,140,30,.35);
  transition:transform .16s ease,box-shadow .16s ease;
  flex:0 0 auto;
}
#contact .personal-agent-head-call:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(180,140,30,.45);
}
#contact .personal-agent-head-text{
  text-align:left;
}
#contact .personal-agent-head-text strong{
  display:block;
  color:#fff !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
  line-height:1.2;
}
#contact .personal-agent-head-text small{
  display:block;
  margin-top:.1rem;
  color:var(--accent-gold);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.02em;
}
#contact .personal-agent-head-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#013b46 !important;
  font-size:1rem;
  text-decoration:none;
  border:0;
  box-shadow:0 6px 16px rgba(180,140,30,.35);
  transition:transform .16s ease,box-shadow .16s ease;
}
#contact .personal-agent-head-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(180,140,30,.45);
}
#contact .personal-agent-head-wa:hover{
  background:linear-gradient(135deg,#3dd4dc,#25D366);
  color:#fff !important;
}

/* Principal Officer role: agency name on its own line. */
#contact .personal-assistance-intro .personal-agent-role .personal-agent-agency{
  display:block;
  margin-top:.12rem;
}
/* Section band: deep blue blending into deep green (behind the sub-containers). */
#contact.personal-assistance-band{
  background:
    radial-gradient(circle at 6% -12%,rgba(41,98,168,.46),transparent 44%),
    radial-gradient(circle at 96% 112%,rgb(32, 140, 146,.44),transparent 46%),
    linear-gradient(116deg,#0a2144 0%,#0f3157 24%,#11403c 58%,#134e51 82%,#14565a 100%);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
/* ===== "Talk to Our Agent" now sits in a glass card, matching "Send us a message" ===== */
#contact .personal-assistance-intro{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  margin:0 !important;
  padding:18px 18px 35px !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.075) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 34px rgba(0,0,0,.16) !important;
  text-align:center !important;
}

/* ===== Section footer note: centred under both cards ===== */
#contact .personal-contact-footnote{
  grid-column:1 / -1;
  justify-self:center;
  text-align:center;
  margin:24px auto 0 !important;
  color:rgba(255,255,255,.64);
  font-size:.73rem;
  font-weight:500;
  letter-spacing:.01em;
  line-height:1.5;
}
#contact .personal-contact-footnote i{
  margin-right:.38rem;
  color:var(--accent-gold);
}


/* ===== Larger type throughout the "Send us a message" card ===== */
#contact .personal-message-card .personal-message-head strong{
  font-size:1.06rem;
  line-height:1.3;
}
#contact .personal-message-card .personal-message-head small{
  font-size:.8rem;
  line-height:1.45;
}
#contact .personal-message-card .personal-message-icon{
  width:40px;
  height:40px;
  font-size:1.05rem;
}
#contact .personal-message-card label{
  font-size:.84rem;
  letter-spacing:.01em;
  margin-bottom:7px;
}
#contact .personal-message-card label small{
  font-size:.73rem;
}
#contact .personal-message-card input,
#contact .personal-message-card select,
#contact .personal-message-card textarea{
  font-size:.95rem !important;
}
#contact .personal-message-card input,
#contact .personal-message-card select{
  min-height:47px !important;
  padding:10px 12px !important;
}
#contact .personal-message-card textarea{
  min-height:106px !important;
  padding:11px 12px !important;
}
#contact .personal-message-card .form-group{
  margin-bottom:13px !important;
}
#contact .personal-contact-btn strong{
  font-size:.9rem;
}
#contact .personal-contact-btn small{
  font-size:.73rem;
}
#contact .personal-attach-control strong{
  font-size:.95rem;
}
#contact .personal-attach-control small{
  font-size:.8rem;
}
#contact .personal-attach-list li{
  font-size:.8rem;
}
#contact .personal-attach-note{
  font-size:.8rem;
}
/* ===== "Talk to Our Agent" type scaled to match "Send us a message" ===== */
#contact .personal-assistance-intro .personal-agent-head strong{
  font-size:1.06rem;
  line-height:1.3;
}
#contact .personal-assistance-intro .personal-agent-head small{
  font-size:.8rem;
  line-height:1.45;
}
#contact .personal-assistance-intro > p{
  font-size:.95rem;
  line-height:1.62;
}
#contact .personal-assistance-intro .personal-agent-card h4{
  font-size:1.2rem;
}
#contact .personal-assistance-intro .personal-agent-role,
#contact .personal-assistance-intro .personal-agent-agency{
  font-size:.84rem;
}
#contact .personal-assistance-intro .personal-agent-contact,
#contact .personal-assistance-intro .personal-agent-contact a,
#contact .personal-assistance-intro .personal-agent-contact i{
  font-size:.88rem;
}
#contact .personal-assistance-trust > span{
  padding:.5rem .55rem;
  font-size:.8rem;
  white-space:nowrap;
}
#contact .personal-assistance-trust > span i{
  font-size:.8rem;
}
#contact .personal-agent-cta-btn,
#contact .personal-agent-cta-btn i{
  font-size:.9rem;
}
/* ===== Left-aligned, justified agent copy to mirror "Send us a message" ===== */
#contact .personal-assistance-intro{
  align-items:flex-start !important;
  text-align:left !important;
}
#contact .personal-assistance-intro > p{
  width:100%;
  text-align:justify;
  text-justify:inter-word;
}
#contact .personal-assistance-intro .personal-agent-head{
  justify-content:flex-start !important;
  width:100%;
}
#contact .personal-assistance-intro .personal-agent-card{
  justify-content:flex-start !important;
  width:100%;
}
#contact .personal-assistance-intro .personal-assistance-trust{
  margin:1.2rem 0 0 !important;
}
#contact .personal-assistance-intro .personal-agent-cta{
  margin:1.45rem 0 0 !important;
}
/* ===== "Send Us a Message" header: glowing title + icon matching "Talk to Our Agent" ===== */
#contact .personal-message-card .personal-message-head strong{
  font-size:1.05rem !important;
  font-weight:800 !important;
  letter-spacing:.005em;
  line-height:1.2;
  color:#fff;
  text-shadow:0 0 16px rgba(212,175,55,.50),0 0 32px rgba(212,175,55,.26);
}
/* Same gold square as the agent card's call button. */
#contact .personal-message-card .personal-message-icon{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#f2c94c,#d4af37) !important;
  color:#013b46 !important;
  font-size:1.15rem !important;
  box-shadow:0 8px 20px rgba(180,140,30,.35),0 0 22px rgba(212,175,55,.32);
}

/* Align both card headers to the same baseline, then spread the spare space
   through the blocks below so the two cards stay the same height. */
#contact .personal-assistance-intro .personal-agent-head{
  margin-top:0 !important;
}
#contact .personal-assistance-intro .personal-assistance-trust{
  margin-top:1.65rem !important;
}
#contact .personal-assistance-intro .personal-agent-cta{
  margin-top:1.9rem !important;
}
/* More breathing room between the two agent paragraphs (bottom padding
   trimmed by the same amount so the two cards stay level). */
#contact .personal-assistance-intro > p + p{
  margin-top:1.5rem !important;
}

/* ===== sticky quote ribbon — light card badges (reference design) ===== */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  min-height:118px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}
#quoteStickyRibbon .quote-ribbon-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:normal!important;
  text-align:left!important;
  min-height:96px!important;
  padding:10px 14px 8px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,var(--quote-ribbon-tint,#f6fafa) 100%)!important;
  border:1.6px solid var(--quote-ribbon-accent,#01545f)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
  box-sizing:border-box!important;
}
#quoteStickyRibbon .quote-ribbon-top{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
}
#quoteStickyRibbon .quote-ribbon-item-number{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--quote-ribbon-accent,#01545f)!important;
  color:#ffffff!important;
  font-size:.95rem!important;
  font-weight:800!important;
  line-height:1!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
#quoteStickyRibbon .quote-ribbon-ident-main{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#quoteStickyRibbon .quote-ribbon-item-provider{
  font-size:1.02rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  color:var(--quote-ribbon-accent,#013947)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#quoteStickyRibbon .quote-ribbon-item-plan{
  font-size:.74rem!important;
  font-weight:600!important;
  color:#64748b!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#quoteStickyRibbon .quote-ribbon-sep{
  display:block!important;
  flex:0 0 1px!important;
  width:1px!important;
  height:34px!important;
  max-height:34px!important;
  align-self:center!important;
  margin:0 4px!important;
  background:#dde5e5!important;
  opacity:1!important;
}
#quoteStickyRibbon .quote-ribbon-price-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:1px!important;
  flex:0 0 auto!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  font-size:1.14rem!important;
  font-weight:800!important;
  color:#b8860b!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-item-price .quote-ribbon-price-unit{
  font-size:.7rem!important;
  font-weight:600!important;
  color:#94a3a0!important;
}
#quoteStickyRibbon .quote-ribbon-item-members{
  font-size:.74rem!important;
  font-weight:600!important;
  color:#64748b!important;
  white-space:nowrap!important;
}
#quoteStickyRibbon .quote-ribbon-limits{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:100%!important;
  border-top:1px solid #e4eaea!important;
  padding-top:6px!important;
  margin:0!important;
}
#quoteStickyRibbon .ribbon-limit-cell{
  flex:1 1 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0 6px!important;
  border-right:1px solid #e4eaea!important;
  font-size:.72rem!important;
  min-width:0!important;
}
#quoteStickyRibbon .ribbon-limit-cell:last-child{
  border-right:0!important;
}
#quoteStickyRibbon .ribbon-limit-cell i{
  color:var(--quote-ribbon-accent,#01545f)!important;
  font-size:.82rem!important;
}
#quoteStickyRibbon .ribbon-limit-label{
  color:#3f595a!important;
  font-weight:700!important;
  font-size:.68rem!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
#quoteStickyRibbon .ribbon-limit-value{
  color:var(--quote-ribbon-accent,#01545f)!important;
  font-weight:800!important;
  font-size:.76rem!important;
}
/* The limits strip stays a single row of four cells (a legacy rule made it a
   2x2 grid). Higher specificity keeps it in line with the card width. */
#quoteStickyRibbon .quote-ribbon-item .quote-ribbon-limits{
  display:flex!important;
  flex-wrap:nowrap!important;
  grid-template-columns:none!important;
  column-gap:0!important;
  row-gap:0!important;
  justify-content:space-between!important;
  margin-left:0!important;
  padding-left:0!important;
  width:100%!important;
  border-top:1px solid #e4eaea!important;
  padding-top:6px!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-cell{
  flex:1 1 0!important;
  justify-content:center!important;
  min-width:0!important;
  padding:0 3px!important;
  white-space:nowrap!important;
  gap:3px!important;
  font-size:.7rem!important;
  border-right:1px solid #e4eaea!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-cell:last-child{
  border-right:0!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-cell i{
  font-size:.78rem!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-label{
  font-size:.64rem!important;
}
#quoteStickyRibbon .quote-ribbon-item .ribbon-limit-value{
  font-size:.72rem!important;
}

/* Medical examination panel: question header with a Required / Not required
   answer, and the form offered only when one is actually required. */
.provider-card .medical-exam-main-container .medical-exam-status.is-not-required{
  background:rgba(100,116,139,.12);
  color:#475569;
}
.provider-card .medical-exam-main-container .medical-exam-details{
  margin:.1rem 0 .55rem;
  font-size:.78rem;
  line-height:1.5;
  color:#3f595a;
}

/* ===== provider network tier + exclusions on quote cards ===== */
.provider-card .provider-network-value{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin:.1rem 0 .35rem;
}
.provider-card .provider-network-value .network-tier{
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
}
.provider-card .provider-network-value .network-tier.is-advanced{ color:#01545f; }
.provider-card .provider-network-value .network-tier.is-select{ color:#b45309; }
.provider-card .provider-network-value .network-dot{ color:#94a3a0; }
.provider-card .view-full-network-link{
  border:0;
  background:none;
  padding:0;
  font:inherit;
  font-size:.82rem;
  font-weight:700;
  color:#1f4e79;
  text-decoration:underline;
  cursor:pointer;
}
.provider-card .view-full-network-link:hover{ color:#013947; }
.provider-card .provider-network-note{
  margin:0 0 .2rem;
  font-size:.74rem;
  line-height:1.45;
  color:#5b6b62;
}

/* Premium composition: a benefit carried inside another reads green; a
   selected benefit with no rate is flagged rather than shown as 0.00. */
.provider-card .premium-breakdown .breakdown-included .value{
  color:#01545f;
  font-style:italic;
}
.provider-card .premium-breakdown .breakdown-zero .value{
  color:#dc2626;
  font-weight:800;
}
.provider-card .exclusions-list{
  margin:.15rem 0 .45rem;
  padding-left:1.05rem;
  list-style:disc;
}
.provider-card .exclusions-list li{
  font-size:.78rem;
  line-height:1.5;
  color:#3f4a44;
  margin-bottom:.2rem;
}
.provider-card .exclusions-note{
  margin:0;
  font-size:.72rem;
  font-style:italic;
  line-height:1.45;
  color:#6b7a72;
}

/* ===== quote engine container — gold frame, gold accents rationed to the
   heading rule and the CTA divider so the primary button stays dominant ===== */
#quote-form.quote-wrapper{
  border:1.5px solid #d4af37!important;
  box-shadow:0 20px 44px rgba(212,175,55,.20), 0 0 0 6px rgba(255,255,255,.45)!important;
}
#quote-form > h2{
  border-bottom:2px solid #d4af37!important;
  padding-bottom:.5rem!important;
  margin-bottom:1rem!important;
}
#quote-form .actions-quote{
  border-top:1px solid rgba(212,175,55,.55)!important;
  padding-top:1rem!important;
}

/* Arrows between the tagline steps, matching the hero journey list. */
.quote-cta-note.quote-journey .quote-journey-amp i{
  font-size:.66rem;
  color:#9fb0a6;
}

/* ===== maternity-scope-locked =====
   Maternity is always rated per family, whatever the inpatient scope is, so the
   second control is a locked chip that states the scope instead of offering a
   choice the pricing engine would ignore. If a future insurer prices maternity
   per person, that plan should be surfaced as a related quote instead. */
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote,
#quote-form #maternityNote{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.45rem .75rem!important;
  background-color:#f2f5f5!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
  background-position:left .55rem center!important;
  background-size:.72rem .72rem!important;
  border:1px solid #d7dee2!important;
  color:#41586b!important;
  -webkit-text-fill-color:#41586b!important;
  font-weight:700!important;
  cursor:not-allowed!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  text-align:center!important;
}
#quote-form #maternityNote.enabled{
  background-color:#eaf6f4!important;
  border-color:#a9d2d4!important;
  color:#17494c!important;
  -webkit-text-fill-color:#17494c!important;
}
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
}

/* ===== maternity-row-two-controls =====
   The limit select carries "KSh X · Principal/Spouse", so it needs the wider
   column; the locked scope chip stays compact on the right. */
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:.4rem!important;
}
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityLimit{
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
}
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote,
#quote-form #maternityNote{
  grid-column:2!important;
  width:auto!important;
  min-width:118px!important;
  flex:0 0 auto!important;
  font-style:normal!important;
  font-size:.74rem!important;
  letter-spacing:.01em!important;
  padding:.42rem .75rem!important;
  white-space:nowrap!important;
}
@media (max-width:520px){
  #quote-form #maternityNote{
    min-width:104px!important;
    font-size:.68rem!important;
  }
}

/* ===== maternity-chip-width-match =====
   The locked "Per Family" chip lines up with the inpatient scope selector:
   a fixed 160px control on desktop, and the same half-row column on the
   narrower two-column layouts. */
@media (min-width:1025px){
  #quote-form #maternityNote{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:160px!important;
    min-height:38px!important;
    padding:.55rem .75rem!important;
    border:1.5px solid #d9e0e8!important;
    border-radius:10px!important;
    font-size:.75rem!important;
    font-weight:600!important;
  }
}
@media (max-width:1024px){
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #quote-form #maternityNote{
    width:100%!important;
    min-width:0!important;
    padding:.5rem .45rem!important;
    font-size:.72rem!important;
    font-weight:700!important;
  }
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityLimit{
    font-size:.72rem!important;
    padding-left:.6rem!important;
    padding-right:.4rem!important;
  }
}

/* ===== maternity-chip-width-match-2 =====
   Same declarations as above, but with the wrapper-qualified selector so they
   beat the earlier chip rule instead of losing on specificity. */
@media (min-width:1025px){
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote,
  #quote-form #maternityNote{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:160px!important;
    min-height:38px!important;
    padding:.55rem .75rem!important;
    border:1.5px solid #d9e0e8!important;
    border-radius:10px!important;
    font-size:.75rem!important;
    font-weight:600!important;
  }
}
@media (max-width:1024px){
  #quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote,
  #quote-form #maternityNote{
    width:100%!important;
    min-width:0!important;
    padding:.5rem .45rem!important;
    font-size:.72rem!important;
    font-weight:700!important;
  }
}

/* ===== maternity-chip-left-align =====
   The locked scope chip reads from its left edge, like the selectors beside it,
   instead of centring a single word in a fixed-width control. */
#quote-form #maternityNote,
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#maternityLimit) > #maternityNote{
  justify-content:flex-start!important;
  text-align:left!important;
  text-align-last:left!important;
  padding-left:.75rem!important;
  padding-right:.5rem!important;
}

/* ===== quote-ribbon-square-bottom-final =====
   Each sticky badge ends square at the bottom and carries no coloured rule
   along its lower edge, so it reads as a tab sitting on the ribbon. */
#quoteStickyRibbon .quote-ribbon-item{
  border-radius:16px 16px 0 0!important;
  border-bottom:0!important;
  border-bottom-width:0!important;
  border-bottom-color:transparent!important;
  box-shadow:0 -4px 12px rgba(15,23,42,.10)!important;
}

/* ===== quote-card-actions-labelled =====
   Two buttons on top (apply / download quotation), and the secondary row below
   the card carries the enquire, provider and download actions. */
.provider-card .quote-card-primary-actions{
  grid-template-columns:0.9fr 1.1fr!important;
}
.provider-card .cover-card-secondary-actions{
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.provider-card .cover-card-action-wide{
  grid-column:1 / -1!important;
}
.provider-card .cover-card-secondary-actions button{
  min-height:40px!important;
  padding:8px 9px!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center!important;
}
.provider-card .cover-card-secondary-actions .quote-whatsapp-btn{
  background:linear-gradient(180deg,#bfeef0 0%,#e6fafb 100%)!important;
  border:1px solid #a9dfe2!important;
  color:#0f757a!important;
}
.provider-card .cover-card-secondary-actions .download-quote-btn,
.provider-card .cover-card-secondary-actions .download-exam-btn{
  background:linear-gradient(180deg,#cfe0f2 0%,#eef6ff 100%)!important;
  border:1px solid #c3d7ec!important;
  color:#1f4e79!important;
}
.provider-card .cover-card-secondary-actions .view-provider-network-btn{
  background:linear-gradient(180deg,#f6c440 0%,#e6b02c 100%)!important;
  border:1px solid rgba(190,145,20,.55)!important;
  color:#3f2d05!important;
}
.provider-card .quote-card-primary-actions .download-quote-btn,
.provider-card .quote-card-primary-actions .get-cover-btn{
  font-size:.72rem!important;
  line-height:1.2!important;
  white-space:normal!important;
}

/* ===== quote-card-actions-final =====
   Apply Online and Enquire share the top row evenly; the bottom row is the
   apply button, then providers beside the quotation download, then the medical
   examination form across the full width when one applies. */
.provider-card .quote-card-primary-actions{
  grid-template-columns:1fr 1fr!important;
}
.provider-card .quote-card-primary-actions button,
.provider-card .cover-card-secondary-actions button{
  line-height:1.2!important;
}

/* ===== scope-attention-guard =====
   Clicking a locked benefit before the Inpatient Scope is chosen flashes that
   scope control red; the guard script sets the scope to Per Family on the
   sixth attempt. */
#quote-form #inpatientScopeGroup>.scope-select.scope-attention-flash{
  background:#fff!important;
  border:1.5px solid #dc2626!important;
  color:#991b1b!important;
  font-weight:700!important;
  animation:scopeAttentionFlash .6s ease-in-out 2!important;
}
#quote-form #inpatientScopeGroup>.scope-select.scope-attention-flash option[value=""]{
  color:#991b1b!important;
  font-weight:700!important;
}
@keyframes scopeAttentionFlash{
  0%,100%{
    box-shadow:0 0 0 3px rgba(220,38,38,.20), 0 0 12px rgba(220,38,38,.32);
  }
  50%{
    box-shadow:0 0 0 7px rgba(220,38,38,.30), 0 0 22px rgba(220,38,38,.55);
  }
}
#quote-form #inpatientScopeGroup.scope-attention-armed>.scope-select{
  border-color:#dc2626!important;
}
/* The auto-applied choice settles green, matching a normal selection. */
#quote-form #inpatientScopeGroup.scope-attention-applied>.scope-select{
  background:#e4f4f3!important;
  border-color:#017a78!important;
  color:#01545f!important;
  box-shadow:0 0 0 4px rgba(1,122,120,.18)!important;
  animation:none!important;
}

/* ===== single-insurer-plan-line =====
   With one insurer ticked the plan list drops onto its own line under the
   insurer selectors, with the same label/control geometry as the Inpatient
   Limit row. */
#quote-form .quote-step-cover-selection .insurer-card{
  flex-wrap:wrap!important;
}
#quote-form .quote-step-cover-selection .insurer-card>#planGroup{
  flex:1 0 100%!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-items:center!important;
  gap:.6rem!important;
  margin-top:.55rem!important;
  padding-top:.6rem!important;
  border-top:1px solid #e7eeee!important;
}
#quote-form .quote-step-cover-selection .insurer-card>#planGroup[style*="display: block"],
#quote-form .quote-step-cover-selection .insurer-card>#planGroup[style*="display:block"]{
  display:flex!important;
}
/* Label mirrors the Inpatient Limit heading: same column, same weight. */
#quote-form .quote-step-cover-selection .insurer-card>#planGroup>.insurer-plan-label{
  flex:0 0 25%!important;
  width:25%!important;
  min-width:25%!important;
  max-width:25%!important;
  color:var(--primary-navy)!important;
  font-size:1rem!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
#quote-form .quote-step-cover-selection .insurer-card>#planGroup>.insurer-plan-label i{
  color:#016f6d!important;
  font-size:1rem!important;
}
/* Control matches the inpatient selector: same height, radius and type size. */
#quote-form .quote-step-cover-selection .insurer-card>#planGroup>#planSelect{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:38px!important;
  padding:.55rem .75rem!important;
  border:1.5px solid #d9e0e8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#475569!important;
  font-size:.75rem!important;
  font-weight:600!important;
}
#quote-form .quote-step-cover-selection .insurer-card>#planGroup>#planSelect:focus{
  outline:none!important;
  border-color:#86b5b3!important;
  box-shadow:0 0 0 3px rgba(1,111,109,.08)!important;
}
/* Narrower layouts: keep the line full width above the checkbox stack. */
@media (max-width:1024px){
  #quote-form .quote-step-cover-selection .insurer-card>#planGroup{
    grid-column:1 / -1!important;
    width:100%!important;
    margin-top:.6rem!important;
    padding-top:.6rem!important;
    border-top:1px solid #e7eeee!important;
  }
  #quote-form .quote-step-cover-selection .insurer-card>#planGroup>.insurer-plan-label{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
    font-size:.95rem!important;
  }
}

/* ===== insurer-warning-line =====
   "Select an insurer to continue." takes a full line under the insurer
   selectors, matching the plan line below it. */
#quote-form .quote-step-cover-selection .insurer-card>#insurerSelectionWarning{
  flex:1 0 100%!important;
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  margin:.5rem 0 0!important;
  padding:0!important;
  color:#b91c1c!important;
  font-size:.78rem!important;
  font-weight:700!important;
  line-height:1.35!important;
}
@media (min-width:1025px){
  #quote-form .quote-step-cover-selection .insurer-card>#insurerSelectionWarning{
    padding-left:25.6%!important;
  }
}

/* ===== inpatient-row-matches-maternity =====
   The inpatient row reads like the maternity row: label, then the limit
   selector at the same width as the maternity selector, then the scope control
   beside it. Only the insurer card wraps onto a second line for its plan list. */
@media (min-width:1025px){
  #quote-form .quote-step-cover-selection .insurer-card:not(.inpatient-card){
    flex-wrap:wrap!important;
  }
  #quote-form .quote-step-cover-selection .insurer-card.inpatient-card{
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.cover-type-heading{
    flex:0 0 30%!important;
    width:30%!important;
    min-width:30%!important;
    max-width:30%!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:.6rem!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control>#inpatientLimit{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control>#inpatientScopeGroup,
  #quote-form .quote-step-cover-selection .inpatient-card>#inpatientScopeGroup{
    grid-column:2!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
  }
}

/* ===== inpatient-selector-width-match =====
   The inpatient row now uses the same column gaps as the maternity row, so its
   limit selector lines up with the maternity selector above/below it (same
   left edge, same right edge, scope control in the same right column). */
@media (min-width:1025px){
  #quote-form .quote-step-cover-selection .insurer-card.inpatient-card{
    column-gap:.4rem!important;
    gap:.4rem!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control{
    gap:0!important;
    margin-left:.2rem!important;
  }
  #quote-form .quote-step-cover-selection .inpatient-card>.inpatient-control>#inpatientLimit{
    width:100%!important;
  }
}

/* ===== scope-attention-both-scopes =====
   The Outpatient Scope gets the same gold "next step" cue as the Inpatient
   Scope, and either control turns red when a blocked benefit is clicked. */
#quote-form #outpatientScopeGroup>.scope-select.scope-step-required{
  background:#fff!important;
  border:1.5px solid #dc2626!important;
  color:#dc2626!important;
  font-weight:700!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
}
#quote-form #outpatientScopeGroup>.scope-select.scope-step-required option[value=""]{
  color:#dc2626!important;
  font-weight:700!important;
}
#quote-form .scope-select.scope-attention-flash{
  background:#fff!important;
  border:1.5px solid #dc2626!important;
  color:#991b1b!important;
  font-weight:700!important;
  animation:scopeAttentionFlash .6s ease-in-out 2!important;
}
#quote-form .scope-select.scope-attention-flash option[value=""]{
  color:#991b1b!important;
  font-weight:700!important;
}
#quote-form .scope-group.scope-attention-armed>.scope-select{
  border-color:#dc2626!important;
}
#quote-form .scope-group.scope-attention-applied>.scope-select{
  background:#e4f4f3!important;
  border-color:#017a78!important;
  color:#01545f!important;
  box-shadow:0 0 0 4px rgba(1,122,120,.18)!important;
  animation:none!important;
}

/* ===== member-gate-attention =====
   From the second blocked click the member step that is missing glows red,
   with its label, so the visitor knows what to fill in. */
#quote-form .member-attention,
#quote-form select.member-attention,
#quote-form input.member-attention{
  border:1.5px solid #dc2626!important;
  color:#991b1b!important;
  -webkit-text-fill-color:#991b1b!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.20), 0 0 14px rgba(220,38,38,.40)!important;
  animation:memberAttentionFlash .6s ease-in-out 2!important;
}
@keyframes memberAttentionFlash{
  0%,100%{ box-shadow:0 0 0 3px rgba(220,38,38,.18), 0 0 12px rgba(220,38,38,.32); }
  50%{ box-shadow:0 0 0 7px rgba(220,38,38,.30), 0 0 22px rgba(220,38,38,.55); }
}
#quote-form .member-attention-field>label,
#quote-form .member-attention-field label,
#quote-form .member-attention-field>strong,
#quote-form .member-attention-field small,
#quote-form .member-attention-field .children-band-label strong,
#quote-form .member-attention-field .group-plain-heading strong{
  color:#b91c1c!important;
}

/* ===== limit-step-red =====
   Once the member step is done the Inpatient Limit is the next thing to pick,
   so it carries the gold "next step" border; choosing a limit passes the gold
   to the Inpatient Scope. */
#quote-form #inpatientLimit.limit-step-required{
  background:#fff!important;
  border:1.5px solid #dc2626!important;
  color:#dc2626!important;
  font-weight:700!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.13), 0 0 14px rgba(220,38,38,.24)!important;
}
#quote-form #inpatientLimit.limit-step-required option[value=""],
#quote-form #inpatientLimit.limit-step-required option[value="all"],
#quote-form #inpatientLimit.limit-step-required option[value="none"]{
  color:#dc2626!important;
  font-weight:700!important;
}

/* ===== per-person-note =====
   Explains the basis of an inpatient per-person quote, and why a per-family
   premium was used where the insurer publishes no per-person rate. */
.provider-card .per-person-note{
  display:flex;
  gap:.45rem;
  align-items:flex-start;
  margin:.5rem 0 0!important;
  padding:.6rem .7rem!important;
  border:1px solid #dfe6ef!important;
  border-left:3px solid #1f4e79!important;
  border-radius:10px!important;
  background:#f6f9fd!important;
  color:#33475b!important;
  font-size:.68rem!important;
  line-height:1.45!important;
}
.provider-card .related-quote-card .per-person-note{
  border-left-color:#b45309!important;
  background:#fdf7ec!important;
  color:#6b4a12!important;
}
.provider-card .per-person-note i{
  color:#1f4e79!important;
  margin-top:.1rem;
}
.provider-card .related-quote-card .per-person-note i{
  color:#b45309!important;
}

/* ===== quotecard-header-split =====
   Left: insurer, plan and members stacked. Right: the premium with the quote
   number underneath, separated by a vertical rule. */
.provider-card .quotecard-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:.85rem!important;
  padding-bottom:.6rem!important;
  margin-bottom:.55rem!important;
  border-bottom:1px solid #e6ecef!important;
}
.provider-card .quotecard-identity{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:.18rem!important;
  min-width:0!important;
}
.provider-card .quotecard-identity .quotecard-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.provider-card .quotecard-identity .quotecard-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:.1rem!important;
  min-width:0!important;
}
.provider-card .quotecard-members{
  color:#5b6b7c!important;
  font-size:.68rem!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.provider-card .quotecard-figure{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:.12rem!important;
  padding-left:.85rem!important;
  border-left:1px solid #e2e8ee!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.provider-card .quotecard-figure .quote-sequence{
  color:#71808f!important;
  font-size:.68rem!important;
  font-weight:700!important;
}
.provider-card .quote-card-primary-actions{
  margin-top:.6rem!important;
}
@media (max-width:520px){
  .provider-card .quotecard-header{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:.6rem!important;
  }
  .provider-card .quotecard-figure{
    padding-left:.6rem!important;
  }
}

/* ===== quotecard-header-polish ===== */
.provider-card .quotecard-identity .quotecard-title,
.provider-card .quotecard-identity .quotecard-meta,
.provider-card .quotecard-identity .quotecard-meta>*{
  border-left:0!important;
  border-right:0!important;
  background:transparent!important;
}
.provider-card .quotecard-identity .quotecard-title::before,
.provider-card .quotecard-identity .quotecard-title::after{
  content:none!important;
}
.provider-card .quotecard-figure .price{
  font-size:1.45rem!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:#c0392b!important;
}
.provider-card .quotecard-figure .price small{
  font-size:.72rem!important;
  font-weight:600!important;
  color:#71808f!important;
}
.provider-card .quotecard-identity .quotecard-insurer{
  font-size:1.06rem!important;
  line-height:1.15!important;
}
.provider-card .quotecard-identity .quotecard-plan{
  font-size:.86rem!important;
  line-height:1.2!important;
}

/* ===== quotecard-figure-label =====
   The right column is labelled and carries the premium, the members and the
   quote number; the left column holds the insurer and plan. */
.provider-card .quotecard-figure .quotecard-figure-label{
  color:#71808f!important;
  font-size:.62rem!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  margin-bottom:.1rem!important;
}
.provider-card .quotecard-figure .quotecard-members{
  color:#5b6b7c!important;
  font-size:.68rem!important;
  font-weight:600!important;
  margin-top:.1rem!important;
}
.provider-card .quotecard-identity .quotecard-members{
  display:none!important;
}

/* ===== related-quote-inline ===== */
.provider-card .cover-family-heading{
  display:flex!important;
  align-items:center!important;
  gap:.4rem!important;
}
.provider-card .related-quote-chip{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:.28rem!important;
  padding:.12rem .45rem!important;
  border:1px solid rgba(180,83,9,.45)!important;
  border-radius:999px!important;
  background:#fdf3e3!important;
  color:#92400e!important;
  font-size:.55rem!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  white-space:nowrap!important;
}
.provider-card .related-quote-chip i{
  color:#b45309!important;
  font-size:.6rem!important;
}

/* ===== related-quote-explain ===== */
.provider-card .related-quote-explain{
  display:flex!important;
  gap:.4rem!important;
  align-items:flex-start!important;
  margin:.35rem 0 .5rem!important;
  padding:.45rem .55rem!important;
  border:1px solid rgba(180,83,9,.28)!important;
  border-left:3px solid #b45309!important;
  border-radius:9px!important;
  background:#fdf7ec!important;
  color:#6b4a12!important;
  font-size:.66rem!important;
  line-height:1.45!important;
}
.provider-card .related-quote-explain i{
  color:#b45309!important;
  margin-top:.08rem!important;
}
.provider-card .related-quote-explain strong{
  font-weight:800!important;
}
.provider-card .related-quote-explain .related-quote-lines{
  display:flex!important;
  flex-direction:column!important;
  gap:.3rem!important;
  min-width:0!important;
}
.provider-card .related-quote-explain .related-reason{
  display:block!important;
}

/* ===== related-quote-foot ===== */
.provider-card .related-quote-foot{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:.35rem!important;
  margin-top:.55rem!important;
  padding-top:.5rem!important;
  border-top:1px dashed #e3cba6!important;
}
.provider-card .related-quote-foot .related-quote-chip{
  margin-left:0!important;
}
.provider-card .related-quote-foot .related-quote-explain{
  margin:0!important;
}

/* ===== per-person-badge =====
   The per-person announcement reads as a green badge inside Cover Limits. */
.provider-card .per-person-announce{
  display:inline-flex!important;
  align-items:flex-start!important;
  gap:.34rem!important;
  width:auto!important;
  max-width:100%!important;
  margin:.55rem 0 0!important;
  padding:.34rem .6rem!important;
  border:1px solid #a9d2d4!important;
  border-radius:999px!important;
  background:#eaf6f4!important;
  color:#17494c!important;
  font-size:.64rem!important;
  font-weight:600!important;
  line-height:1.4!important;
}
.provider-card .per-person-announce i{
  color:#017a78!important;
  margin-top:.12rem!important;
}
.provider-card .per-person-announce strong{
  color:#0f3b3d!important;
  font-weight:800!important;
}
@media (max-width:520px){
  .provider-card .per-person-announce{
    border-radius:12px!important;
    padding:.4rem .55rem!important;
  }
}

/* ===== quote-ribbon-snug-band =====
   Trim the ribbon track to the height of the badge it carries, so the band's
   bottom edge sits flush with the bottom of the badge. */
#quoteStickyRibbon .quote-sticky-ribbon-inner{
  min-height:96px!important;
}

/* ===== quote-ribbon-bottom-flush =====
   Taller band, badge anchored to its bottom edge with breathing room above, and
   a stronger outline in the quote's accent colour. */
@media (min-width:1025px){
  #quoteStickyRibbon .quote-sticky-ribbon-inner{
    min-height:118px!important;
  }
  #quoteStickyRibbon .quote-ribbon-item{
    transform:translate(-50%, calc(-50% + 11px))!important;
  }
}
#quoteStickyRibbon .quote-ribbon-item{
  border-width:2px!important;
  border-style:solid!important;
  border-color:var(--quote-ribbon-accent,#014a52)!important;
  border-bottom:0!important;
}

/* ===== hide-inpatient-warning =====
   The inpatient hint is not shown beside the selector; the selector itself
   carries the required cue. */
#quote-form #inpatientValidationMessage,
#quote-form .inpatient-validation-message{
  display:none!important;
}

/* ===== limit-attention-red =====
   The inpatient limit selector glows red after a second unanswered Get My Quotes. */
#quote-form #inpatientLimit.limit-attention-red{
  border:1.5px solid #dc2626!important;
  color:#991b1b!important;
  font-weight:700!important;
  animation:limitAttentionFlash .6s ease-in-out 2!important;
}
#quote-form #inpatientLimit.limit-attention-red option[value=""],
#quote-form #inpatientLimit.limit-attention-red option[value="all"],
#quote-form #inpatientLimit.limit-attention-red option[value="none"]{
  color:#991b1b!important;
  font-weight:700!important;
}
@keyframes limitAttentionFlash{
  0%,100%{ box-shadow:0 0 0 3px rgba(220,38,38,.20), 0 0 12px rgba(220,38,38,.32); }
  50%{ box-shadow:0 0 0 7px rgba(220,38,38,.30), 0 0 22px rgba(220,38,38,.55); }
}

/* ===== quote-ribbon-grey ===== */
#quoteStickyRibbon{
  background:linear-gradient(135deg,#4b5563,#374151)!important;
  border-top:1px solid rgba(255,255,255,.20)!important;
  border-bottom:1px solid rgba(0,0,0,.28)!important;
  box-shadow:0 6px 18px rgba(17,24,39,.22)!important;
}

/* ===== quote-ribbon-light-green ===== */
#quoteStickyRibbon{
  background:linear-gradient(135deg,#e4f5f6,#c9e9eb)!important;
  border-top:1px solid rgba(255,255,255,.60)!important;
  border-bottom:1px solid rgba(1,111,109,.18)!important;
  box-shadow:0 6px 18px rgba(1,111,109,.12)!important;
}

/* ===== quote-ribbon-dark-green-blue ===== */
#quoteStickyRibbon{
  background:linear-gradient(135deg,#0d3b3f,#0e3a5c)!important;
  border-top:1px solid rgba(255,255,255,.20)!important;
  border-bottom:1px solid rgba(0,0,0,.32)!important;
  box-shadow:0 6px 18px rgba(13,59,63,.30)!important;
}

/* ===== quote-ribbon-price-dark ===== */
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#013947!important;
}
#quoteStickyRibbon .quote-ribbon-price-unit{
  color:#5b6b7c!important;
  font-weight:600!important;
}

/* ===== quotecard-price-green =====
   The card premium reads in the site's dark green rather than red, matching the
   figure shown on the sticky badge. */
.provider-card .quotecard-figure .price{
  color:#013947!important;
}
.provider-card .quotecard-figure .price small{
  color:#5b6b7c!important;
}

/* ===== premium-green-gold =====
   A dark green that is not near-black, with the unit in the site gold. */
.provider-card .quotecard-figure .price{
  color:#016f6d!important;
}
.provider-card .quotecard-figure .price small{
  color:#c8960f!important;
  font-weight:700!important;
}
#quoteStickyRibbon .quote-ribbon-item-price{
  color:#016f6d!important;
}
#quoteStickyRibbon .quote-ribbon-price-unit{
  color:#c8960f!important;
  font-weight:700!important;
}

/* ===== quote-ribbon-166534 ===== */
#quoteStickyRibbon{
  background:#016f6d!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-bottom:1px solid rgba(0,0,0,.25)!important;
  box-shadow:0 6px 18px rgba(1,111,109,.26)!important;
}

/* ===== quote-ribbon-173c2c ===== */
#quoteStickyRibbon{
  background:#013b46!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(0,0,0,.28)!important;
  box-shadow:0 6px 18px rgba(1,59,70,.28)!important;
}

/* ===== ribbon-premium-03574a =====
   Ribbon band and the premium figure share the same dark teal-green. */
#quoteStickyRibbon{
  background:#03574a!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(0,0,0,.28)!important;
  box-shadow:0 6px 18px rgba(3,87,74,.28)!important;
}
#quoteStickyRibbon .quote-ribbon-item-price,
.provider-card .quotecard-figure .price{
  color:#03574a!important;
}

/* ===== J-Biz critical illness rider row ===== */
#quote-form .critical-illness-row[hidden]{display:none!important}
#quote-form .critical-illness-row{margin-top:.15rem}
#quote-form .critical-illness-toggle{display:flex;align-items:flex-start;gap:.55rem;width:100%;
padding:.6rem .75rem;border:1px solid #dfe8e8;border-radius:12px;background:#f6fbfb;
color:#2f4d4f;font-size:.78rem;font-weight:650;line-height:1.35;cursor:pointer}
#quote-form .critical-illness-toggle:hover{background:#f2f8f8}
#quote-form .critical-illness-toggle input{width:18px;height:18px;flex:0 0 18px;margin:.1rem 0 0;
accent-color:#016f6d;cursor:pointer}
#quote-form .critical-illness-toggle input:disabled{cursor:not-allowed}
#quote-form .critical-illness-row .form-group>label[for="criticalIllnessCover"]{display:flex;
align-items:center;gap:.4rem;margin-bottom:.45rem;font-weight:800;color:#1d393b}

/* ===== per-unit rate shown beside each premium row ===== */
.premium-breakdown .breakdown-row .label .breakdown-rate{display:block;margin-top:1px;
font-size:.66rem;font-weight:600;letter-spacing:.01em;color:#6d7f74;line-height:1.25}
.premium-breakdown .breakdown-row.breakdown-included .label .breakdown-rate,
.premium-breakdown .breakdown-row.breakdown-zero .label .breakdown-rate{color:#8a9a90}
.premium-family-container .breakdown-rate{display:block;font-size:.66rem;color:#6d7f74;font-weight:600}

/* ===== child name chips (Child 1 (0-17) ...) ===== */
#quote-form #childAgesContainer.child-ages-inline{display:none;flex-wrap:wrap;gap:6px;
margin:2px 0 6px;padding:0}
#quote-form #childAgesContainer .child-age-chip{display:inline-flex;align-items:center;gap:3px;
padding:4px 9px;border:1px solid #dbe6e7;border-radius:999px;background:#f4fafa;color:#243f40;
font-size:.72rem;font-weight:700;line-height:1.2;white-space:nowrap}
#quote-form #childAgesContainer .child-age-chip em{font-style:normal;font-weight:600;color:#5d797a}
#quote-form #childAgesContainer .child-age-more{background:#ecf4f3;color:#4a6263}

/* ===== J-Biz cover-limit lines ===== */
#quote-form .critical-card-toggle{display:inline-flex;align-items:center;gap:5px;margin-left:6px;
padding:1px 8px 1px 6px;border:1px solid #dbe6e7;border-radius:999px;background:#f4fafa;
font-size:.68rem;font-weight:700;color:#245d60;cursor:pointer;vertical-align:middle}
#quote-form .critical-card-toggle input{width:14px;height:14px;margin:0;accent-color:#016f6d;cursor:pointer}
#quote-form .cover-line-note{color:#6d7f74;font-size:.68rem;font-weight:600}

/* ===== plan minimum notice ===== */
#cardsContainer .headcount-note{margin:0 0 12px;padding:10px 12px;border:1px solid #e6ddd0;
border-radius:14px;background:#fdf9f1;color:#5c4a2c;font-size:.78rem;line-height:1.4}
#cardsContainer .headcount-note p{margin:0}
#cardsContainer .headcount-note p + p{margin-top:4px}
#cardsContainer .headcount-note i{margin-right:5px;color:#b58b2a}

/* ===== transient requirement note (pops and clears) ===== */
/* Big, and laid over the field the visitor still has to fill in. */
#quotePopNote{position:fixed;left:0;top:0;transform:translateX(-50%) translateY(-8px) scale(.94);
z-index:100000;max-width:min(94vw,620px);width:max-content;
padding:18px 26px 19px;border-radius:18px;background:#fff;
border:2px solid #f0b9b9;border-left:8px solid #dc2626;color:#b91c1c;font-weight:800;
font-size:clamp(1rem,2.3vw,1.24rem);line-height:1.34;letter-spacing:.01em;text-align:center;
box-shadow:0 22px 52px rgba(15,23,42,.30), 0 2px 8px rgba(15,23,42,.12);
opacity:0;pointer-events:none;
transition:opacity .22s ease, transform .22s ease}
#quotePopNote.visible{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
/* Tail: outlined triangle plus white fill, aimed at the field below the note. */
#quotePopNote::before,#quotePopNote::after{content:"";position:absolute;left:var(--quote-note-arrow,50%);
width:0;height:0;border:12px solid transparent;transform:translateX(-50%)}
#quotePopNote::before{top:100%;border-top-color:#f0b9b9}
#quotePopNote::after{top:calc(100% - 3px);border:10px solid transparent;border-top-color:#fff}
#quotePopNote.is-below::before{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#f0b9b9}
#quotePopNote.is-below::after{top:auto;bottom:calc(100% - 3px);border-top-color:transparent;border-bottom-color:#fff}
@media (max-width: 1024px){
  #quotePopNote{padding:15px 19px 16px;font-size:1.02rem;border-radius:16px}
}

/* ===== Customer journey action rows =========================================
   Top:    Apply Online | Download (quotation + application pack) | WhatsApp
   Bottom: Apply Online | Download Quote & Application
           View Providers | Download Providers
           Download Medical Examination Form (only when one is required) */
.provider-card .quote-card-primary-actions{
  grid-template-columns:1fr 0.92fr 1fr!important;
}
.provider-card .download-pack-btn{
  background:linear-gradient(180deg, rgba(246,210,116,0.28) 0%, rgba(217,160,34,0.18) 100%)!important;
  border:1px solid rgba(190,145,20,0.30)!important;
  color:#6f560e!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.60), 0 6px 16px rgba(200,151,14,0.12);
}
.provider-card .cover-card-secondary-actions .download-pack-btn{
  background:linear-gradient(180deg, rgba(246,196,64,0.78) 0%, rgba(204,140,20,0.56) 100%)!important;
  border:1px solid rgba(190,145,20,0.55)!important;
  color:#3f2d05!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.50), 0 6px 16px rgba(200,151,14,0.22)!important;
}
.provider-card .download-pack-btn[data-busy="1"]{
  cursor:progress;
  opacity:.82;
}

/* ===== benefit-basis-chip =====
   Dental and Optical state how they are delivered - sold on their own, carried
   inside the outpatient limit, or a mix of both across the insurers ticked -
   in a locked chip beside the limit, the way Maternity states its own basis. */
#quote-form #dentalBasis,
#quote-form #opticalBasis{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:center!important;
  flex:0 0 160px!important;
  width:160px!important;
  min-height:38px!important;
  min-width:160px!important;
  max-width:160px!important;
  margin:0!important;
  padding:.55rem .75rem!important;
  border:1.5px solid #d9e0e8!important;
  border-radius:10px!important;
  background-color:#f2f5f5!important;
  background-image:none!important;
  color:#9aa3ad!important;
  -webkit-text-fill-color:#9aa3ad!important;
  font-size:.75rem!important;
  font-weight:600!important;
  font-style:normal!important;
  cursor:not-allowed!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  text-align:left!important;
  text-align-last:left!important;
  opacity:1!important;
}
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#dentalLimit),
#quote-form .quote-step-benefits .limit-scope-wrapper:has(#opticalLimit){
  flex-wrap:wrap!important;
}
@media (max-width:1024px){
  #quote-form #dentalBasis,
  #quote-form #opticalBasis{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:.5rem .45rem!important;
    font-size:.72rem!important;
    font-weight:700!important;
  }
}

/* ===== hero-heading-two-rows =====
   "Protect What / Matters Most" keeps the page's full heading size (3.6rem) and
   breaks after "What", which is how the hero was designed. One row would fit
   only at about 28px in this 430px column, which reads as a caption next to the
  23px stat numbers. Two rows need ~385px of the 428px available. */
#hero .hero-text h1 {
    white-space: nowrap;
    font-size: clamp(1.6rem, 4.4vw, 3.6rem) !important;
}

/* The closing lines of the footer: who regulates the agency, then the
   copyright. The licence number links to the certificate, as it does in the
   about paragraph and the trust section. */
.footer-bottom .footer-regulation{margin:0 0 .3rem!important;color:#aebbb5!important;font-size:.78rem!important;font-weight:400!important;line-height:1.5!important;}
.footer-bottom .footer-regulation a{color:#cbd7d8!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap;}
.footer-bottom .footer-regulation a:hover{color:#f0cf66!important;text-decoration:underline!important;}
.footer-bottom .footer-copyright{margin:0!important;color:#aebbb5!important;}

/* ===== insurer-ribbon-divider =====
   The line between insurers is drawn in a colour that can be seen, and the
   ribbon keeps its rounded outer edge. */
body #insurerCheckboxes.insurer-checkboxes {
  border-color: #bccccd !important;
}

body #insurerCheckboxes .insurer-checkbox-option {
  border-right: 1px solid #bccccd !important;
}

body #insurerCheckboxes .insurer-checkbox-option:last-child {
  border-right: 0 !important;
}


/* ===== hero-copy-fits-band =====
   The hero paragraph carries a 384px cap; on a narrower desktop its column is
   thinner than that, so the last words used to run under the quote panel. */
@media (min-width: 1025px) {
  #hero#hero .hero-text > p:not(.hero-buy-line) {
    max-width: min(384px, calc(40vw - 4.5rem)) !important;
  }
}

/* ===== hero-waves =====
   The desktop hero band carries layered waves inside - gold glow, light sweep
   and a deeper green at the foot - and it now melts into the green quote side
   instead of stopping on a straight edge. Two masks do the fading:

     fadeMask    the dark field itself, solid to ~22% and gone by ~58%,
                 which is what turns the old 40% edge into a blend;
     waveMask    the waves, which run the full width of the band and keep
                 going out to the far right, thinning to nothing by ~94%.

   So the wave shapes are drawn to x=1000 rather than stopping at the old 40%
   line, and they dissolve gradually across the light side instead of being
   cut off with it.
   The green the fade lands on is a shade deeper than the old #e6f1f2 (about
   12% off its brightness) so the white quote card separates from the field
   behind it instead of washing into it. Desktop only. */
@media (min-width: 1025px) {
  #hero#hero {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 700' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='fade' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='.22' stop-color='%23ffffff'/%3E%3Cstop offset='.58' stop-color='%23000000'/%3E%3C/linearGradient%3E%3ClinearGradient id='waveFade' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='.3' stop-color='%23ffffff'/%3E%3Cstop offset='.6' stop-color='%23ffffff' stop-opacity='.9'/%3E%3Cstop offset='.86' stop-color='%23ffffff' stop-opacity='.72'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='.55'/%3E%3C/linearGradient%3E%3Cmask id='fadeMask' maskUnits='userSpaceOnUse' x='0' y='0' width='1000' height='700'%3E%3Crect x='0' y='0' width='1000' height='700' fill='url(%23fade)'/%3E%3C/mask%3E%3Cmask id='waveMask' maskUnits='userSpaceOnUse' x='0' y='0' width='1000' height='700'%3E%3Crect x='0' y='0' width='1000' height='700' fill='url(%23waveFade)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23fadeMask)'%3E%3Crect width='1000' height='700' fill='%230d393b'/%3E%3C/g%3E%3Cg mask='url(%23waveMask)'%3E%3Cpath fill='%230a2a2c' fill-opacity='.7' d='M0 470 C110 420 260 560 400 500 C520 448 660 560 800 512 C880 486 950 508 1000 494 V700 H0 Z'/%3E%3Cpath fill='%230a2a2c' fill-opacity='.45' d='M0 556 C120 516 260 606 400 562 C540 520 690 612 830 568 C900 548 960 558 1000 564 V700 H0 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.055' d='M0 120 C110 50 250 190 400 130 C540 74 690 194 830 140 C900 114 960 126 1000 138 V218 C960 206 900 194 830 220 C690 274 540 154 400 210 C250 270 110 130 0 200 Z'/%3E%3Ccircle cx='90' cy='40' r='300' fill='%23d4af37' fill-opacity='.045'/%3E%3Cpath fill='%23ffffff' fill-opacity='.045' d='M0 330 C110 285 240 390 400 340 C540 294 690 400 830 352 C900 330 960 340 1000 348 V400 C960 392 900 382 830 404 C690 452 540 346 400 392 C240 442 110 337 0 382 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.05' d='M0 236 C120 192 260 296 400 248 C540 204 690 302 830 258 C900 240 960 248 1000 254 V314 C960 308 900 298 830 318 C690 368 540 264 400 310 C260 354 120 242 0 288 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.042' d='M0 424 C120 384 260 466 400 424 C540 384 690 472 830 432 C900 416 960 424 1000 430 V480 C960 476 900 468 830 482 C690 524 540 434 400 474 C260 514 120 438 0 474 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.035' d='M0 512 C120 478 260 556 400 516 C540 478 690 566 830 526 C900 508 960 516 1000 522 V560 C960 556 900 548 830 562 C690 604 540 518 400 556 C260 594 120 524 0 558 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.028' d='M0 56 C120 24 260 100 400 66 C540 34 690 108 830 76 C900 60 960 66 1000 72 V108 C960 104 900 98 830 110 C690 144 540 70 400 102 C260 132 120 70 0 92 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.06' d='M0 156 C120 118 260 214 400 168 C540 126 690 220 830 178 C900 160 960 168 1000 174 V214 C960 210 900 200 830 218 C690 260 540 160 400 202 C260 242 120 140 0 182 Z'/%3E%3Cpath fill='%230a2a2c' fill-opacity='.3' d='M0 392 C120 350 260 440 400 396 C540 354 690 446 830 402 C900 382 960 392 1000 398 V446 C960 442 900 432 830 450 C690 494 540 404 400 444 C260 486 120 408 0 446 Z'/%3E%3C/g%3E%3C/svg%3E"),
      /* The right-hand panel is the house gold taken down to a dark golden, so
         the band reads green on the left and gold on the right, with the waves
         across both. */
      linear-gradient(90deg, rgba(143,108,20,0) 18%, rgba(143,108,20,.38) 34%, rgba(143,108,20,.88) 48%, #8f6c14 62%, #8f6c14 100%),
      linear-gradient(135deg, #154d50 0%, #013947 60%, #0b292b 100%) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100%, 100% 100%, 100% 100% !important;
    background-position: center !important;
  }

  #hero#hero .hero-grid::after {
    display: none !important;
  }
}

/* ===== hero-content-fits-band =====
   The stat tiles and the journey badge are as wide as the copy column, which is
   wider than the 40% band on a narrower desktop - their last tile used to be
   sliced by the band edge. They now stop where the band stops. */
@media (min-width: 1025px) {
  #hero#hero .hero-text .hero-stats,
  #hero#hero .hero-text .hero-journey,
  #hero#hero .hero-text .hero-journey-badge {
    max-width: min(100%, calc(40vw - 4.5rem)) !important;
  }
}

/* ===== hero-message-fits-band =====
   The dark band is 40% of the hero; the message column is slightly narrower
   than that on some screen sizes, so the kicker and the headline follow the
   band rather than their own fixed sizes. */
@media (min-width: 1025px) {
  #hero#hero .hero-text .hero-buy-line {
    max-width: min(384px, calc(40vw - 4.5rem)) !important;
  }

  #hero#hero .hero-text h1 {
    font-size: min(clamp(1.6rem, 4.4vw, 3.6rem), calc((40vw - 6rem) / 8.2)) !important;
    max-width: calc(40vw - 3.5rem) !important;
    white-space: normal !important;
  }
}

/* Keep the quote actions tight against the benefit rows. */
#quote-form .mobile-quote-actions-shell .actions-quote {
  margin-top: 8px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
