:root{--navy:#0c3156;--navy-dark:#05253d;--blue:#286cb0;--ice:#e8f1fa;--background:#f3f7fc;--orange:#f08932;--orange-dark:#e66d10;--text:#0e2d4e;--muted:#71849c;--border:#dce6f1;--shadow:0 10px 24px rgba(20,65,111,.09);--soft-shadow:0 6px 20px rgba(20,65,111,.065);font-family:Estedad,Vazirmatn,Tahoma,'Segoe UI',sans-serif;color:var(--text);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--background);min-width:320px}html{scroll-behavior:smooth}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0}.container{width:min(1440px,calc(100% - 48px));margin-inline:auto}.prototype-ribbon{background:#fff2df;color:#734a1e;font-size:11px;font-weight:700;text-align:center;padding:7px 12px;border-bottom:1px solid #ead9be}.site-header{background:#fff;border-bottom:1px solid #e2eaf5;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px #183c5f08}.nav-shell{height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap}.brand img{width:62px;height:55px;object-fit:contain}.brand span{display:grid;gap:1px}.brand b{font-size:25px;font-weight:950;line-height:1.25;letter-spacing:-1px}.brand small{font-size:10px;color:#48637c}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{font-size:13px;font-weight:700;white-space:nowrap;color:#2a405a}.nav-links a:hover,.nav-links a.selected{color:var(--orange-dark)}.nav-tools{display:flex;align-items:center;gap:14px}.phone-badge{display:flex;gap:8px;align-items:center;color:var(--navy)}.phone-badge>svg{background:#edf4fc;width:39px;height:39px;border-radius:50%;padding:9px}.phone-badge span{display:grid;gap:1px}.phone-badge b{font-size:11px}.phone-badge small{font-size:9px;color:var(--muted)}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;font-size:13px;font-weight:900;border-radius:13px;line-height:1.45;transition:.15s;background:#fff}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.97)}.btn-orange{color:white;background:linear-gradient(180deg,#ff963c,#ec760c);box-shadow:0 7px 15px #ef771e30}.btn-navy{color:#fff;background:linear-gradient(180deg,#135282,#082e51)}.btn-white{color:var(--navy);background:#fff}.btn-outline{background:linear-gradient(180deg,#fff,#f4f9ff);color:var(--navy);border-color:#cbdbea}.btn-s{padding:11px 15px;font-size:11px}.btn-tiny{font-size:10px;padding:9px 12px;border-radius:9px}.full{width:100%}.hamburger,.mobile-nav{display:none}.home{background:linear-gradient(#e7f1fd,#f5f9ff)}.hero{height:490px;position:relative;overflow:hidden;background:#07365c}.hero-illustration{position:absolute;inset:0 44% 0 0;background-image:url('/assets/rava-hero-concept.webp');background-size:cover;background-position:50% 51%;filter:saturate(.94)}.hero-shade{position:absolute;inset:0;background:linear-gradient(270deg,#052d50 0%,#08385e 31%,rgba(4,43,75,.95) 45%,rgba(5,42,72,.38) 60%,rgba(5,42,72,.08) 78%)}.hero-inner{height:100%;display:flex;align-items:center;justify-content:flex-start;position:relative;z-index:1;padding-bottom:64px}.hero-copy{max-width:605px;color:#fff;text-align:right}.hero-overline{font-size:13px;color:#d9eafc;display:inline-block;margin-bottom:14px}.hero h1{font-size:clamp(38px,3.5vw,60px);line-height:1.35;font-weight:950;letter-spacing:-2px}.hero h1 em{color:var(--orange);font-style:normal}.hero-copy p{max-width:555px;margin-top:18px;font-size:17px;line-height:2;color:#f2f8ff}.hero-features{display:flex;gap:27px;margin-top:24px;align-items:center;flex-wrap:wrap}.hero-features span{display:grid;justify-items:center;gap:6px;font-size:11px;font-weight:800;color:#e2f0fb}.hero-features svg{color:#fff}.content-overlap{position:relative;z-index:2;margin-top:-83px;padding-bottom:58px}.quote-panel{border-radius:21px;background:#fff;box-shadow:0 12px 30px #254c7930;border:1px solid #d7e1ed;padding:22px 30px}.quote-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:15px;font-weight:900;font-size:17px}.quote-panel-title svg{color:var(--navy)}.quote-fields{display:grid;grid-template-columns:1fr 1fr .9fr auto;gap:14px;align-items:end}.quote-fields label{border:1px solid #cfdbeb;border-radius:12px;min-height:63px;display:flex;flex-direction:column;justify-content:center;padding:9px 13px;background:linear-gradient(#fff,#f7fafe)}.quote-fields label span{font-size:10px;color:#70869f;font-weight:700}.quote-fields select{width:100%;border:0;background:transparent;outline:0;color:var(--text);font-size:13px;font-weight:800;min-width:0}.quote-button{height:63px;padding-inline:25px}.perks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:29px}.perk{display:grid;justify-items:center;text-align:center;gap:9px;background:#f9fbffbb;border:1px solid #e1e9f4;border-radius:15px;box-shadow:var(--soft-shadow);padding:18px 12px;min-height:119px}.perk svg{color:var(--navy)}.perk b{font-size:14px}.perk span{font-size:11px;color:#47617d}.section-title{font-size:21px;font-weight:950;text-align:center;margin:26px 0 3px}.section-sub{text-align:center;font-size:10px;color:#7489a0;margin-bottom:18px}.company-strip{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:15px 0 30px}.company-chip{border:1px solid #e5eaf2;border-radius:15px;box-shadow:var(--soft-shadow);background:white;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:144px;min-height:66px}.company-chip b{font-size:12px}.company-symbol{display:inline-grid;place-items:center;min-width:42px;width:42px;height:42px;border:2px solid var(--symbol);background:color-mix(in srgb,var(--symbol) 9%,white);border-radius:12px;font-weight:950;font-size:15px;color:var(--symbol);flex-shrink:0}.company-symbol.sample{font-size:12px}.support-banner{min-height:236px;border-radius:23px;background:linear-gradient(270deg,#0c416d 5%,#063050 55%,#145075 100%);box-shadow:var(--shadow);display:flex;position:relative;overflow:hidden;color:#fff}.support-photo{width:49%;position:absolute;left:0;top:0;bottom:0;background-image:linear-gradient(270deg,#073756,transparent 55%),url('/assets/support-concept.webp');background-size:cover;background-position:50% 36%}.support-text{position:relative;z-index:1;width:60%;padding:28px 35px}.tiny-label{font-size:11px;color:#c4e5ff;display:block;margin-bottom:10px}.support-text h2{font-size:28px;line-height:1.5;font-weight:950}.support-text p{font-size:12px;max-width:480px;line-height:2;margin:7px 0 14px;color:#dbeaf5}.support-note{position:absolute;left:15px;bottom:9px;z-index:3;color:#d5e0edb0;font-size:9px}.home-values{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.home-values>div{display:grid;place-items:center;gap:7px;background:#eaf2fc;border:1px solid #dce7f3;border-radius:16px;padding:18px 12px;text-align:center}.home-values svg{color:var(--orange)}.home-values b{font-size:14px}.home-values span{font-size:11px;color:#617993}.voice-section{padding:34px 0}.section-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.section-header h2{font-size:23px}.eyebrow{font-size:11px;color:var(--orange-dark);font-weight:900}.small-link{font-size:12px;color:var(--blue);display:inline-flex;align-items:center;gap:7px}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.voice-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:#fff;box-shadow:var(--soft-shadow);border-radius:15px;padding:15px}.voice-avatar{background:#ecf4fc;border-radius:50%;padding:10px;color:#306c9e}.voice-card>div:nth-child(2){display:grid;gap:4px}.voice-card b{font-size:12px}.voice-card small{font-size:9px;color:#607b91}.fake-wave{color:#81abc8;letter-spacing:2px;white-space:nowrap;margin-right:auto}.play-round{border:1px solid #d7e2ef;background:#f2f8ff;color:#7591a8;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:12px}.bottom-banner{background:#0b3659;color:white;border-radius:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.bottom-banner h2{font-size:22px}.bottom-banner p{color:#bfd7eb;font-size:12px;margin-top:6px}.footer{background:#0b2d4b;color:#e8f1ff;margin-top:0}.footer-columns{padding:44px 0 35px;display:grid;grid-template-columns:2.1fr repeat(3,1fr);gap:32px}.brand-footer b{color:#fff}.brand-footer small{color:#c4d8eb}.footer-columns p{font-size:11px;color:#b7cadf;line-height:2.2;margin-top:14px}.footer-columns h4{font-size:14px;margin-bottom:18px}.footer-columns a:not(.brand){display:block;font-size:12px;color:#d1e2f4;margin:9px 0}.footer-icons{display:flex;gap:14px;color:#f89b46;margin-top:15px}.footer-bottom{display:flex;justify-content:space-between;gap:12px;color:#aac5df;border-top:1px solid #45617c;padding:15px 0 20px;font-size:10px}.page-hero{background:linear-gradient(120deg,#0a365e,#0b4e79);color:#fff;position:relative;overflow:hidden;padding:55px 0}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(24px,3vw,38px);margin-bottom:9px}.page-hero p{font-size:12px;color:#dbedfb;line-height:2}.compare-head{min-height:171px}.page-hero-car{position:absolute;left:5%;bottom:0;top:0;width:33%;background:url('/assets/rava-hero-concept.webp') center 55% / cover;opacity:.7;mask-image:linear-gradient(90deg,#000 10%,transparent 100%)}.compare-shell{margin-top:-14px;position:relative;z-index:3;padding-bottom:70px}.compare-search>.quote-panel{padding:14px 19px}.compare-search .quote-panel-title{display:none}.compare-search .quote-fields{grid-template-columns:1fr 1fr 1fr auto}.compare-search .quote-fields label,.compare-search .quote-button{min-height:55px;height:55px}.comparison-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;margin-top:17px;align-items:start}.filter-pane{border:1px solid var(--border);background:#fff;border-radius:17px;padding:20px;box-shadow:var(--soft-shadow)}.filter-title{font-size:17px;font-weight:900;display:flex;gap:9px;align-items:center;margin-bottom:19px}.filter-pane fieldset{border:0;border-top:1px solid #e9eef7;margin:0;padding:16px 0}.filter-pane legend{font-size:12px;font-weight:800;padding:0 4px}.filter-pane fieldset label{display:flex;align-items:center;gap:8px;font-size:11px;color:#34536e;margin:11px 0}.filter-pane input[type=checkbox],.filter-pane input[type=radio],.agreement input{accent-color:var(--orange);width:16px;height:16px}.filter-pane input[type=range]{width:100%;accent-color:var(--orange)}.range-ends,.percent-line{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#6d85a0;margin:8px 0}.percent-line strong{font-size:15px;color:var(--navy)}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 11px}.results-toolbar h2,.installment-panel h2{font-size:18px}.results-toolbar p,.installment-panel p{font-size:10px;color:#7891a7;margin-top:5px}.demo-tag{font-size:10px;background:#ffeddb;border-radius:30px;color:#8d560c;padding:7px 10px;display:flex;gap:6px;align-items:center}.results-list{display:grid;gap:11px}.insurer-result{background:#fff;display:grid;grid-template-columns:1.55fr 1fr 1fr 1.45fr;gap:12px;align-items:center;border-radius:14px;border:1px solid var(--border);box-shadow:var(--soft-shadow);padding:16px}.insurer-name{display:flex;align-items:center;gap:10px}.insurer-name>div{display:grid;gap:5px}.insurer-name b{font-size:13px}.insurer-name small,.result-stat small{font-size:10px;color:#7e93a9}.result-stat{display:grid;gap:6px}.result-stat b{font-size:13px;white-space:nowrap}.result-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.installment-panel{background:#fff;border:1px solid var(--border);box-shadow:var(--soft-shadow);border-radius:17px;margin-top:16px;padding:22px}.installment-grid{display:grid;grid-template-columns:1fr .7fr 1fr auto;gap:20px;align-items:center}.installment-grid>div{display:grid;gap:9px}.installment-grid span{font-size:11px;color:#7189a0}.installment-grid strong{font-size:15px}.choice-pills{display:flex;gap:5px}.pill{border:1px solid #c9d8ea;padding:7px 13px;border-radius:9px;background:#f5f9fe;color:#345b7b;font-size:11px;font-weight:800}.pill.active{background:#0d477a;color:white}.invoice-hero{padding:34px 0}.invoice-hero>.container{display:flex;justify-content:space-between;align-items:center}.invoice-hero svg{color:#b8d4f2}.invoice-grid{display:grid;grid-template-columns:235px minmax(0,1fr) 330px;gap:16px;padding:23px 0 90px;align-items:start}.steps-card,.policy-card,.payment-card{background:#fff;border-radius:19px;border:1px solid var(--border);box-shadow:var(--soft-shadow);padding:24px}.steps-card h3,.policy-card h3,.payment-card h3{font-size:17px;margin-bottom:23px}.timeline-item{display:flex;gap:12px;align-items:start;min-height:77px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;top:22px;right:12px;bottom:0;width:2px;background:#d9e5f2}.step-bullet{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #d0ddec;background:#eef3f8;font-size:11px;position:relative;z-index:1;color:#7793ae}.complete .step-bullet{background:#0b3d67;color:#fff}.timeline-item:nth-of-type(2) .step-bullet{background:#f28a2d;color:white}.timeline-item>div{display:grid;gap:6px;padding-top:3px}.timeline-item b{font-size:12px}.timeline-item small{font-size:10px;color:#8ba0b3}.policy-title{display:flex;align-items:center;gap:10px;border:1px solid #e5edf6;border-radius:13px;padding:14px;margin-bottom:14px}.policy-title>div{display:grid;gap:5px}.policy-title b{font-size:13px}.policy-title small{font-size:11px;color:#8398ac}.status-pill{margin-right:auto;border-radius:8px;padding:7px 10px;background:#e0f4e8;color:#28714e;font-size:10px;font-weight:900;white-space:nowrap}.detail-table{margin:0}.detail-table div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 7px;border-bottom:1px solid #e7edf5;font-size:11px}.detail-table div:nth-child(even){background:#f6f9fd}.detail-table dt{color:#627d94}.detail-table dd{font-weight:900;margin:0;text-align:left}.coverage-details{border-top:1px solid #e2eaf3;margin-top:18px;padding-top:17px;font-size:12px}.coverage-details summary{font-weight:900;cursor:pointer}.coverage-details p{font-size:11px;color:#5a7591;line-height:2;margin-top:12px}.payment-card{padding:23px}.payment-amount{font-size:25px;font-weight:950;color:var(--orange-dark);margin-bottom:17px;white-space:nowrap}.payment-stats{background:#f1f6fb;border-radius:12px;padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px}.payment-stats span{display:grid;gap:7px;font-size:10px;color:#6c84a0}.payment-stats b{font-size:12px;color:#153c62}.payment-card>.btn{margin-top:10px}.agreement{display:flex;gap:9px;font-size:10px;line-height:1.9;color:#5e7186}.safe-note{background:#f3f7fb;color:#54738f;font-size:11px;line-height:1.9;padding:13px;margin-top:14px;display:flex;gap:7px;border-radius:10px}.simple-content{padding:45px 0 85px;max-width:900px}.simple-card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:45px}.simple-card>svg{color:var(--orange)}.simple-card h2{font-size:24px;margin:16px 0 12px}.simple-card p{font-size:13px;color:#55708b;line-height:2.2;margin-bottom:18px}.simple-card details{padding:15px;border-top:1px solid #ebeff6}.simple-card summary{cursor:pointer;font-weight:800}.flex-actions{display:flex;gap:12px;flex-wrap:wrap}@media (max-width:1160px){.nav-links{gap:12px}.nav-links a{font-size:11px}.phone-badge{display:none}.hero h1{font-size:44px}.insurer-result{grid-template-columns:1.3fr 1fr 1fr}.result-actions{grid-column:1 / -1;justify-content:flex-start}.invoice-grid{grid-template-columns:210px minmax(0,1fr) 280px}.payment-amount{font-size:21px}}@media (max-width:850px){.container{width:min(100% - 30px,700px)}.nav-shell{height:68px}.brand img{width:48px;height:46px}.brand b{font-size:21px}.nav-links,.nav-tools{display:none}.hamburger{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dce5ee;background:#f8fbff;border-radius:12px;color:var(--navy)}.mobile-nav{display:grid;padding:8px 20px 18px;gap:7px;border-top:1px solid #e0e9f5;background:#fff}.mobile-nav a{padding:10px;color:var(--navy);font-size:13px}.hero{height:580px}.hero-illustration{inset:0 0 39% 0;background-position:center 48%;opacity:.9}.hero-shade{background:linear-gradient(0deg,#073353 0%,rgba(6,44,75,.99) 39%,rgba(6,43,74,.18) 78%)}.hero-inner{align-items:flex-end;padding-bottom:113px}.hero-copy{max-width:100%;text-align:right}.hero h1{font-size:35px}.hero-copy p{font-size:14px}.hero-features{gap:13px}.hero-features span{font-size:9px}.content-overlap{margin-top:-81px}.quote-panel{padding:18px}.quote-fields{grid-template-columns:1fr 1fr}.quote-button{grid-column:1 / -1}.perks-grid,.home-values{grid-template-columns:repeat(2,1fr)}.company-chip{min-width:120px}.support-photo{opacity:.4;width:70%}.support-text{width:100%;max-width:85%}.voice-grid{grid-template-columns:1fr}.footer-columns{grid-template-columns:repeat(2,1fr)}.comparison-layout{grid-template-columns:1fr}.filter-pane{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.filter-pane .filter-title{grid-column:1/-1}.filter-pane fieldset{min-width:0}.filter-pane .btn{grid-column:1/-1}.invoice-grid{grid-template-columns:1fr 1fr}.steps-card{grid-column:1/-1;display:none}.payment-card{grid-column:1/-1;grid-row:1}.policy-card{grid-column:1/-1}.installment-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.container{width:calc(100% - 24px)}.hero{height:605px}.hero-copy{padding-bottom:0}.hero h1{font-size:29px}.hero-copy p{font-size:12px}.hero-features{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.hero-features span{font-size:8px;text-align:center}.hero-features svg{width:22px}.quote-panel-title{font-size:15px}.quote-fields{gap:8px}.quote-fields label{padding:7px}.quote-fields select{font-size:11px}.perk{padding:15px 8px}.perk b{font-size:12px}.perk span{font-size:10px}.company-strip{gap:8px}.company-chip{width:calc(50% - 8px);padding:8px}.support-banner{min-height:250px}.support-text{max-width:100%;padding:22px}.support-text h2{font-size:22px}.support-note{right:14px;left:auto}.home-values b{font-size:11px}.home-values span{font-size:9px}.bottom-banner{display:grid;gap:15px}.bottom-banner h2{font-size:18px}.footer-columns{grid-template-columns:1fr 1fr;gap:20px}.footer-columns>div:first-child{grid-column:1/-1}.footer-bottom{display:grid}.compare-search .quote-fields{grid-template-columns:1fr 1fr}.compare-search .quote-button{grid-column:1/-1}.filter-pane{display:block}.insurer-result{grid-template-columns:1fr 1fr;padding:13px}.insurer-name{grid-column:1/-1}.result-actions{grid-column:1/-1}.result-stat b{font-size:11px}.page-hero h1{font-size:24px}.installment-grid{grid-template-columns:1fr 1fr}.installment-grid>.btn{grid-column:1/-1}.invoice-grid{padding-top:14px}.payment-card,.policy-card{padding:18px}.payment-amount{font-size:23px}.status-pill{white-space:normal}.detail-table div{font-size:10px}.simple-card{padding:25px}}

/* Rava approved-homepage visual fidelity pass (v0.4)
   Source of truth: approved 1648x928 composite PNG, not a decorative screenshot.
   All elements remain real semantic HTML controls and links. */
@font-face { font-family: 'Estedad'; src: url('/assets/Estedad-Thin.woff2') format('woff2'); font-style: normal; font-weight: 100; font-display: swap; }
@font-face { font-family: 'Estedad'; src: url('/assets/Estedad-Light.woff2') format('woff2'); font-style: normal; font-weight: 300 400 500; font-display: swap; }
@font-face { font-family: 'Estedad'; src: url('/assets/Estedad-Bold.woff2') format('woff2'); font-style: normal; font-weight: 600 700 800; font-display: swap; }
@font-face { font-family: 'Estedad'; src: url('/assets/Estedad-Black.woff2') format('woff2'); font-style: normal; font-weight: 900 1000; font-display: swap; }
:root {
  --navy: #0b3155;
  --navy-dark: #082b4c;
  --orange: #ff8c26;
  --orange-dark: #f07914;
  --background: #edf5ff;
  --border: #d6e5f4;
  --soft-shadow: 0 6px 16px rgba(23,71,117,.095);
  font-family: 'Estedad', Tahoma, sans-serif;
}
body { font-family: 'Estedad', Tahoma, sans-serif; font-weight: 400; }
.container { width: min(1260px, calc(100% - 42px)); }
.prototype-ribbon { padding: 3px 12px 4px; line-height: 1.3; font-size: 9px; min-height: 20px; font-weight: 700; }
.site-header { position: relative; box-shadow: 0 2px 12px rgba(8,47,87,.035); }
.nav-shell { height: 52px; gap: 15px; }
.brand { gap: 5px; }
.brand img { width: 45px; height: 42px; }
.brand b { font-size: 20px; font-weight: 900; letter-spacing: -.7px; }
.brand small { font-size: 8px; }
.nav-links { gap: 23px; }
.nav-links a { font-size: 10px; font-weight: 700; }
.nav-tools { gap: 13px; }
.phone-badge { gap: 7px; }
.phone-badge > svg { width: 33px; height: 33px; padding: 8px; }
.phone-badge b { font-size: 9px; }
.phone-badge small { font-size: 7px; }
.btn { border-radius: 10px; padding: 9px 14px; font-size: 11px; gap: 7px; }
.btn-s { font-size: 9px; padding: 8px 12px; }
.btn-orange { background: linear-gradient(180deg,#ff963c,#f77d0e); box-shadow: 0 5px 12px rgba(240,112,22,.24); }
.home { background: radial-gradient(ellipse at 50% 26%, #e6f2ff 5%, #f5faff 78%); }
.hero { height: 274px; background: #083657; border-radius: 0 0 48% 3% / 0 0 6% 3%; }
.hero-illustration { inset: 0 42% 0 0; background-size: cover; background-position: center 53%; }
.hero-shade { background: linear-gradient(270deg,#073354 0%,#073354 25%,rgba(7,51,84,.96) 38%,rgba(7,51,84,.52) 55%,rgba(7,51,84,.06) 73%); }
.hero-inner { padding-bottom: 45px; align-items: center; }
.hero-copy { width: 520px; max-width: 55%; }
.hero-overline { font-size: 10px; margin-bottom: 7px; }
.hero h1 { font-size: clamp(31px,3.05vw,46px); font-weight: 900; line-height: 1.31; letter-spacing: -1.2px; }
.hero-copy p { max-width: 500px; margin-top: 11px; font-size: 10px; font-weight: 700; line-height: 1.85; }
.hero-features { gap: 0; margin-top: 12px; flex-wrap: nowrap; justify-content: flex-start; }
.hero-features span { font-size: 10px; min-width: 102px; padding: 0 12px; line-height: 1.25; border-left: 1px solid rgba(221,236,249,.23); gap: 3px; }
.hero-features span:last-child { border-left: 0; }
.hero-features svg { width: 23px; height: 23px; }
.content-overlap { margin-top: -50px; padding-bottom: 4px; }
.quote-panel { padding: 11px 20px 15px; border-radius: 18px; border: 1px solid #d5e2f1; box-shadow: 0 11px 23px rgba(30,80,126,.19); }
.quote-panel-title { font-size: 12px; margin-bottom: 7px; gap: 8px; }
.quote-panel-title svg { width: 22px; height: 22px; }
.quote-fields { grid-template-columns: 1fr 1fr 1fr 160px; gap: 11px; }
.quote-fields label { min-height: 43px; height: 43px; padding: 5px 12px; border-radius: 9px; }
.quote-fields label span { font-size: 8px; }
.quote-fields select { font-size: 11px; font-weight: 700; }
.quote-button { min-height: 43px; height: 43px; padding-inline: 10px; font-size: 10px; }
.perks-grid { margin-top: 12px; gap: 10px; }
.perk { display: flex; align-items: center; justify-content: center; text-align: right; gap: 8px; padding: 7px 11px; min-height: 51px; border-radius: 11px; background: #f4f9ffb8; }
.perk svg { width: 28px; height: 28px; }
.perk b { font-size: 10px; font-weight: 800; }
.perk span { font-size: 8px; color: #57738e; }
.perk { display:grid; grid-template-rows: 1fr 1fr; grid-template-columns: 30px 1fr; justify-items: start; row-gap: 1px; column-gap: 9px; }
.perk svg { grid-row: 1/3; grid-column: 1; }
.perk b { grid-row: 1; grid-column: 2; align-self:end; }
.perk span { grid-row: 2; grid-column: 2; align-self:start; }
.companies-section { margin: 0; padding: 0; }
.section-title { font-size: 13px; font-weight: 900; margin: 8px 0 7px; line-height: 1.6; }
.section-title .demo-inline { font-size: 7px; font-weight: 300; color: #6982a0; }
.company-strip { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin: 0 auto 15px; justify-content: space-between; max-width: 1135px; }
.company-strip::before, .company-strip::after { content: '‹'; display: grid; place-items: center; flex: 0 0 22px; height:22px; border-radius:50%; border:1px solid #c5d7eb; color:#345b82; font-size:19px; font-family:Tahoma,sans-serif; background:#ecf5fd; }
.company-strip::before { content:'›'; }
.company-chip { min-width: 0; min-height: 43px; flex: 1; padding: 4px 8px; gap: 4px; border-radius: 12px; box-shadow: 0 4px 8px rgba(18,65,111,.07); display: flex; flex-direction: column; }
.company-chip b { font-size: 9px; line-height: 1.15; font-weight: 900; white-space: nowrap; }
.company-strip .company-symbol.sample { border: 0; box-shadow: none; width:25px; height:20px; min-width:25px; border-radius: 6px; background: transparent; font-size: 14px; line-height:1; color:var(--symbol); }
.trust-row { display: grid; direction: ltr; grid-template-columns: 1.05fr 1fr; gap: 15px; align-items: stretch; margin-top: 2px; }
.trust-row .support-banner { min-height: 119px; height: 119px; border-radius: 14px; box-shadow: 0 4px 13px #0e497322; direction: rtl; }
.trust-row .support-photo { width: 52%; background-position: 40% 33%; }
.trust-row .support-text { width: 66%; padding: 11px 13px; }
.trust-row .support-text .tiny-label { display: none; }
.trust-row .support-text h2 { font-size: 16px; line-height: 1.28; }
.trust-row .support-text p { font-size: 8px; line-height: 1.65; margin: 5px 0 6px; max-width: 240px; }
.trust-row .support-text .btn { font-size: 8px; padding: 5px 12px; border-radius: 16px; }
.trust-row .support-text .btn svg { width: 13px; height: 13px; }
.trust-row .support-note { display: none; }
.home-values { direction: rtl; margin: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.home-values>div { background: #f5faff; border: 1px solid #dce8f6; box-shadow: 0 3px 11px #123c6510; padding: 8px 2px; border-radius: 13px; gap: 2px; }
.home-values svg { width:25px; height:25px; }
.home-values b { font-size: 16px; font-weight: 900; line-height: 1.1; }
.home-values span { font-size: 9px; color: #1c4572; line-height: 1.2; }
.home-values small { font-size: 6px; color: #7790a7; }
.voice-section { padding: 9px 0 10px; }
.section-header { margin-bottom: 7px; }
.section-header h2 { font-size: 17px; font-weight: 900; }
.eyebrow { font-size: 8px; }
.small-link { font-size: 8px; }
.voice-grid { gap: 13px; }
.voice-card { min-height: 44px; padding: 5px 10px; border-radius: 11px; gap: 7px; }
.voice-avatar { padding: 5px; }
.voice-avatar svg { width: 15px; height:15px; }
.voice-card b { font-size: 9px; }
.voice-card small { font-size: 7px; }
.fake-wave { font-size: 10px; letter-spacing: 1px; }
.play-round { height:26px; width:26px; font-size: 9px; }
.bottom-banner { min-height: 48px; padding: 9px 15px; border-radius: 12px; }
.bottom-banner h2 { font-size: 16px; }
.bottom-banner p { font-size: 9px; margin-top: 1px; }
.bottom-banner .btn { font-size: 9px; padding: 7px 18px; }
.footer { margin-top: 6px; }
.footer-columns { padding: 10px 0 8px; gap: 25px; grid-template-columns: 2fr repeat(3,1fr); }
.brand-footer img { width: 43px; height: 38px; }
.brand-footer b { font-size: 17px; }
.footer-columns h4 { font-size: 10px; margin: 2px 0 5px; }
.footer-columns p { font-size: 8px; line-height: 1.8; margin-top: 4px; }
.footer-columns a:not(.brand) { font-size: 8px; margin: 3px 0; }
.footer-icons { gap: 10px; margin-top: 8px; }
.footer-icons svg { width: 17px; height: 17px; }
.footer-bottom { padding: 7px 0; font-size: 8px; }
/* Consistent mockup density for secondary screens too. */
.compare-shell,.invoice-grid,.simple-content { max-width: 1260px; }
.page-hero { padding: 29px 0; }
.page-hero h1 { font-weight: 900; }
.compare-head { min-height: 145px; }
.invoice-hero { padding: 25px 0; }
.invoice-grid { grid-template-columns: 195px minmax(0,1fr) 305px; }
@media (max-width: 1280px) and (min-width: 851px) {
  .nav-links { gap: 13px; }
  .nav-links a { font-size: 9px; }
  .hero-copy { max-width: 57%; }
  .hero h1 { font-size: 36px; }
  .hero-features span { min-width: 82px; padding: 0 6px; }
  .trust-row { grid-template-columns: 1fr 1fr; }
  .home-values b { font-size: 13px; }
  .home-values span { font-size: 7px; }
}
@media (max-width: 850px) {
  .container { width: min(100% - 28px,700px); }
  .nav-shell { height: 60px; }
  .brand b { font-size: 21px; }
  .brand img { width: 47px; height: 43px; }
  .hero { height: 510px; border-radius: 0 0 22px 22px; }
  .hero-illustration { inset: 0 0 39% 0; background-position: center 50%; }
  .hero-shade { background: linear-gradient(0deg,#073353 0%,#073353 31%,rgba(7,51,83,.8) 54%,rgba(6,43,74,.04) 90%); }
  .hero-inner { padding-bottom: 95px; align-items: flex-end; }
  .hero-copy { width: 100%; max-width: 100%; }
  .hero h1 { font-size: clamp(29px,5.5vw,38px); }
  .hero-copy p { font-size: 11px; }
  .hero-features { justify-content:space-between; }
  .hero-features span { min-width: 0; flex: 1; padding: 0 4px; font-size: 9px; }
  .content-overlap { margin-top: -68px; }
  .quote-panel { padding: 14px; }
  .quote-fields { grid-template-columns: repeat(2,1fr); }
  .quote-button { grid-column: 1/-1; }
  .perks-grid { grid-template-columns: repeat(2,1fr); }
  .company-strip { flex-wrap: wrap; justify-content:center; gap: 8px; }
  .company-strip::before,.company-strip::after { display:none; }
  .company-chip { flex: 0 1 30%; }
  .trust-row { display:grid; grid-template-columns:1fr; }
  .trust-row .support-banner { height: 190px; }
  .trust-row .support-text { padding: 22px; }
  .trust-row .support-text h2 { font-size: 21px; }
  .trust-row .support-text p { font-size: 10px; }
  .home-values { grid-template-columns: repeat(4,1fr); min-height: 100px; }
  .home-values>div { padding: 12px 4px; }
  .voice-grid { grid-template-columns:1fr; }
  .voice-card { min-height: 55px; }
  .footer-columns { padding: 23px 0; }
  .invoice-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .prototype-ribbon { font-size: 8px; line-height: 1.6; padding: 4px 10px; }
  .hero { height: 505px; }
  .hero-illustration { inset: 0 0 42% 0; }
  .hero-inner { padding-bottom: 86px; }
  .hero-copy { padding-bottom:0; }
  .hero-overline { font-size: 10px; }
  .hero h1 { font-size: 27px; letter-spacing: -.4px; }
  .hero-features span { font-size: 8px; }
  .quote-panel-title { font-size: 12px; }
  .quote-fields label { padding: 6px 8px; }
  .perks-grid { grid-template-columns:repeat(2,1fr); }
  .perk { grid-template-columns: 24px 1fr; gap: 4px; padding: 8px 6px; }
  .perk svg { width: 22px; height:22px; }
  .perk b { font-size: 9px; }
  .perk span { font-size:7px; }
  .company-chip { flex-basis: calc(50% - 7px); }
  .trust-row .support-banner { height: 185px; }
  .trust-row .support-text { width: 80%; }
  .trust-row .support-photo { opacity: .45; }
  .trust-row .support-text h2 { font-size: 21px; }
  .home-values { grid-template-columns: repeat(2,1fr); }
  .home-values b { font-size: 16px; }
  .home-values span { font-size: 9px; }
  .section-header h2 { font-size: 15px; }
  .bottom-banner { display: grid; }
  .bottom-banner h2 { font-size: 15px; }
  .footer-columns { grid-template-columns: 1fr 1fr; }
  .footer-columns>div:first-child { grid-column: 1/-1; }
}
/* Final optical adjustment: preserves the reference hero headline above the floating quote panel. */
@media (min-width: 851px) {
  .hero h1 { font-size: 40px; }
  .hero-copy p { margin-top: 9px; }
  .hero-features { margin-top: 11px; }
}
/* Rava UI v0.5 — optical scale & usable spacing.  This is a layout fix,
   not CSS zoom: type, controls and regions have real accessible sizes. */
@media (min-width: 851px) {
  .container { width: min(1640px, calc(100% - 80px)); }
  .prototype-ribbon { font-size: 12px; padding-block: 8px; }
  .nav-shell { height: 75px; gap: 22px; }
  .brand { gap: 10px; }
  .brand img { width: 62px; height: 58px; }
  .brand b { font-size: 26px; }
  .brand small { font-size: 11px; }
  .nav-links { gap: clamp(12px, 1.5vw, 29px); }
  .nav-links a { font-size: 14px; line-height: 1.5; }
  .nav-tools { gap: 17px; }
  .phone-badge > svg { width: 44px; height: 44px; padding: 10px; }
  .phone-badge b { font-size: 13px; }
  .phone-badge small { font-size: 10px; }
  .btn { font-size: 15px; padding: 13px 22px; border-radius: 12px; }
  .btn-s { font-size: 13px; padding: 11px 19px; }
  .btn-tiny { font-size: 12px; padding: 10px 15px; }
  .hero { height: 420px; border-radius: 0 0 36px 36px; }
  .hero-illustration { inset: 0 42% 0 0; background-position: 48% 54%; }
  .hero-shade { background: linear-gradient(270deg,#073354 0%,#073354 23%,rgba(7,51,84,.97) 37%,rgba(7,51,84,.53) 58%,rgba(7,51,84,.04) 77%); }
  .hero-inner { padding-bottom: 84px; }
  .hero-copy { width: 720px; max-width: 52%; }
  .hero-overline { font-size: 14px; margin-bottom: 13px; }
  .hero h1 { font-size: clamp(42px,3.6vw,61px); line-height: 1.39; letter-spacing: -1.3px; }
  .hero-copy p { font-size: 16px; line-height: 1.95; margin-top: 14px; font-weight: 600; }
  .hero-features { margin-top: 20px; gap: 0; }
  .hero-features span { font-size: 13px; min-width: 132px; padding: 0 16px; gap: 5px; }
  .hero-features svg { width: 30px; height: 30px; }
  .content-overlap { margin-top: -73px; padding-bottom: 20px; }
  .quote-panel { padding: 20px 28px 23px; border-radius: 24px; }
  .quote-panel-title { font-size: 18px; margin-bottom: 13px; }
  .quote-panel-title svg { width: 28px; height: 28px; }
  .quote-fields { grid-template-columns: repeat(3, minmax(0,1fr)) 205px; gap: 16px; }
  .quote-fields label { height: 63px; min-height: 63px; border-radius: 13px; padding: 8px 16px; }
  .quote-fields label span { font-size: 12px; }
  .quote-fields select { font-size: 16px; line-height: 1.5; }
  .quote-button { height: 63px; min-height: 63px; font-size: 15px; }
  .perks-grid { margin-top: 20px; gap: 16px; }
  .perk { min-height: 88px; border-radius: 15px; grid-template-columns: 41px 1fr; grid-template-rows: 1fr 1fr; padding: 15px 18px; column-gap: 12px; row-gap: 3px; }
  .perk svg { width: 38px; height: 38px; }
  .perk b { font-size: 15px; }
  .perk span { font-size: 12px; }
  .section-title { font-size: 20px; margin: 20px 0 15px; line-height: 1.5; }
  .section-title .demo-inline { font-size: 11px; }
  .company-strip { max-width: none; margin: 0 auto 26px; gap: 12px; }
  .company-chip { min-height: 74px; border-radius: 15px; gap: 7px; padding: 8px 10px; }
  .company-chip b { font-size: 13px; }
  .company-strip .company-symbol.sample { min-width: 34px; width: 34px; height: 30px; font-size: 17px; }
  .company-strip::before,.company-strip::after { height: 32px; flex-basis: 32px; font-size: 23px; }
  .trust-row { grid-template-columns: 1.08fr 1fr; gap: 20px; }
  .trust-row .support-banner { min-height: 195px; height: 195px; border-radius: 19px; }
  .trust-row .support-text { padding: 23px 25px; width: 63%; }
  .trust-row .support-text h2 { font-size: 25px; line-height: 1.4; }
  .trust-row .support-text p { font-size: 12px; line-height: 1.8; max-width: 350px; margin: 7px 0 11px; }
  .trust-row .support-text .btn { font-size: 12px; padding: 10px 16px; border-radius: 22px; }
  .trust-row .support-text .btn svg { width: 18px; height: 18px; }
  .home-values { gap: 12px; }
  .home-values>div { border-radius: 18px; padding: 13px 5px; gap: 5px; }
  .home-values svg { width: 33px; height: 33px; }
  .home-values b { font-size: 21px; line-height: 1.25; }
  .home-values span { font-size: 12px; line-height: 1.45; }
  .home-values small { font-size: 9px; }
  .voice-section { padding: 35px 0 21px; }
  .section-header { margin-bottom: 15px; }
  .section-header h2 { font-size: 25px; }
  .eyebrow { font-size: 12px; }
  .small-link { font-size: 13px; }
  .voice-grid { gap: 15px; }
  .voice-card { padding: 12px 16px; min-height: 76px; gap: 12px; border-radius: 15px; }
  .voice-avatar { padding: 9px; }
  .voice-avatar svg { width: 19px; height: 19px; }
  .voice-card b { font-size: 13px; }
  .voice-card small { font-size: 10px; }
  .fake-wave { font-size: 14px; }
  .play-round { width: 38px; height: 38px; font-size: 14px; }
  .bottom-banner { min-height: 84px; border-radius: 17px; padding: 16px 24px; }
  .bottom-banner h2 { font-size: 23px; }
  .bottom-banner p { font-size: 13px; margin-top: 4px; }
  .bottom-banner .btn { font-size: 14px; padding: 12px 21px; }
  .footer { margin-top: 15px; }
  .footer-columns { padding: 31px 0 26px; gap: 30px; }
  .brand-footer img { width: 52px; height: 50px; }
  .brand-footer b { font-size: 23px; }
  .footer-columns h4 { font-size: 14px; margin: 5px 0 13px; }
  .footer-columns p { font-size: 12px; line-height: 2.1; margin-top: 9px; }
  .footer-columns a:not(.brand) { font-size: 12px; margin: 7px 0; }
  .footer-icons svg { width: 22px; height: 22px; }
  .footer-bottom { font-size: 11px; padding: 14px 0 18px; }
  /* Do not shrink secondary screens independently from the homepage. */
  .compare-shell,.invoice-grid { max-width: 1640px; }
  .simple-content { max-width: 980px; }
  .page-hero { padding: 46px 0; }
  .page-hero h1 { font-size: clamp(30px,2.5vw,42px); }
  .page-hero p { font-size: 15px; }
  .compare-head { min-height: 190px; }
  .invoice-hero { padding: 37px 0; }
  .invoice-grid { grid-template-columns: 240px minmax(0,1fr) 355px; gap: 20px; }
  .comparison-layout { grid-template-columns: 260px minmax(0,1fr); gap: 24px; }
  .filter-pane,.steps-card,.policy-card,.payment-card { padding: 24px; }
  .insurer-result { padding: 22px; gap: 18px; }
  .insurer-name b,.result-stat b,.policy-title b { font-size: 16px; }
  .insurer-name small,.result-stat small,.policy-title small { font-size: 12px; }
  .results-toolbar h2,.installment-panel h2 { font-size: 22px; }
  .results-toolbar p,.installment-panel p { font-size: 13px; }
  .steps-card h3,.policy-card h3,.payment-card h3 { font-size: 20px; }
  .detail-table div { font-size: 14px; padding-block: 15px; }
  .payment-amount { font-size: 29px; }
  .agreement { font-size: 12px; }
}
@media (min-width: 851px) and (max-width: 1399px) {
  .container { width: calc(100% - 56px); }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 12px; }
  .phone-badge { display: none; }
  .hero { height: 392px; }
  .hero h1 { font-size: clamp(39px, 4vw, 49px); }
  .hero-copy { max-width: 56%; }
  .hero-copy p { font-size: 14px; }
  .hero-features span { min-width: 106px; font-size: 11px; padding-inline: 7px; }
  .hero-features svg { width: 27px; height: 27px; }
  .quote-fields { grid-template-columns: repeat(3,minmax(0,1fr)) 175px; gap: 11px; }
  .quote-panel { padding-inline: 20px; }
  .company-strip { gap: 8px; }
  .company-chip b { font-size: 11px; }
  .trust-row .support-text { padding: 17px; width: 67%; }
  .trust-row .support-text h2 { font-size: 21px; }
  .trust-row .support-text p { font-size: 10px; }
  .home-values>div { padding-inline: 2px; }
  .home-values b { font-size: 17px; }
  .home-values span { font-size: 10px; }
  .voice-card { padding-inline: 10px; gap: 7px; }
  .voice-card b { font-size: 11px; }
  .fake-wave { letter-spacing: 0; }
  .invoice-grid { grid-template-columns: 205px minmax(0,1fr) 310px; }
}
@media (max-width: 850px) {
  .container { width: min(100% - 32px,760px); }
  .nav-shell { height: 70px; }
  .brand img { width: 52px; height: 50px; }
  .brand b { font-size: 24px; }
  .brand small { font-size: 10px; }
  .hero { height: 570px; }
  .hero-illustration { inset: 0 0 39% 0; }
  .hero-inner { padding-bottom: 100px; }
  .hero h1 { font-size: clamp(31px,5.5vw,42px); line-height: 1.42; }
  .hero-copy p { font-size: 14px; line-height: 1.9; margin-top: 11px; }
  .hero-overline { font-size: 12px; }
  .hero-features { margin-top: 16px; }
  .hero-features span { font-size: 11px; min-width: 0; padding-inline: 5px; }
  .hero-features svg { width: 26px; height: 26px; }
  .content-overlap { margin-top: -83px; }
  .quote-panel { padding: 19px; border-radius: 18px; }
  .quote-panel-title { font-size: 17px; margin-bottom: 13px; }
  .quote-panel-title svg { width: 24px; height: 24px; }
  .quote-fields { gap: 10px; }
  .quote-fields label { height: 60px; min-height: 60px; padding: 10px 13px; }
  .quote-fields label span { font-size: 11px; }
  .quote-fields select { font-size: 14px; }
  .quote-button { height: 55px; min-height: 55px; font-size: 14px; }
  .perks-grid { margin-top: 18px; gap: 10px; }
  .perk { min-height: 90px; padding: 13px; border-radius: 15px; grid-template-columns: 35px 1fr; }
  .perk svg { width: 32px; height: 32px; }
  .perk b { font-size: 13px; }
  .perk span { font-size: 11px; }
  .section-title { font-size: 17px; margin: 22px 0 14px; }
  .section-title .demo-inline { font-size: 10px; }
  .company-strip { margin-bottom: 22px; }
  .company-chip { min-height: 64px; padding: 8px; border-radius: 13px; }
  .company-chip b { font-size: 12px; }
  .company-strip .company-symbol.sample { font-size: 16px; }
  .trust-row .support-banner { height: 225px; }
  .trust-row .support-text { padding: 24px; }
  .trust-row .support-text h2 { font-size: 25px; }
  .trust-row .support-text p { font-size: 12px; }
  .trust-row .support-text .btn { font-size: 12px; padding: 11px 15px; }
  .home-values { margin-top: 12px; min-height: 130px; gap: 9px; }
  .home-values>div { padding: 13px 6px; }
  .home-values svg { width: 29px; height: 29px; }
  .home-values b { font-size: 19px; }
  .home-values span { font-size: 11px; }
  .home-values small { font-size: 9px; }
  .voice-section { padding: 30px 0 20px; }
  .section-header h2 { font-size: 22px; }
  .eyebrow,.small-link { font-size: 12px; }
  .voice-card { min-height: 70px; padding: 11px 13px; }
  .voice-card b { font-size: 12px; }
  .voice-card small { font-size: 10px; }
  .bottom-banner { min-height: 83px; padding: 17px; }
  .bottom-banner h2 { font-size: 20px; }
  .bottom-banner p { font-size: 12px; }
  .bottom-banner .btn { font-size: 13px; }
  .footer-columns { padding: 30px 0 24px; }
  .footer-columns h4 { font-size: 14px; }
  .footer-columns a:not(.brand) { font-size: 12px; }
  .footer-columns p { font-size: 12px; }
  .footer-bottom { font-size: 10px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 28px); }
  .hero { height: 565px; }
  .hero-illustration { inset: 0 0 43% 0; }
  .hero-inner { padding-bottom: 97px; }
  .hero h1 { font-size: clamp(30px,8vw,37px); }
  .hero-copy p { font-size: 12px; }
  .hero-features { gap: 0; }
  .hero-features span { font-size: 9px; padding: 0 2px; }
  .hero-features svg { width: 24px; height: 24px; }
  .quote-panel-title { font-size: 15px; }
  .quote-panel { padding: 15px; }
  .quote-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .quote-fields label { padding: 9px 10px; }
  .quote-fields label span { font-size: 10px; }
  .quote-fields select { font-size: 13px; }
  .quote-fields .quote-button { grid-column: 1/-1; }
  .perk { min-height: 94px; padding: 13px 9px; gap: 5px; }
  .perk b { font-size: 11px; }
  .perk span { font-size: 10px; }
  .company-chip { flex-basis: calc(50% - 5px); }
  .company-chip b { font-size: 11px; }
  .trust-row .support-banner { height: 215px; }
  .trust-row .support-text { width: 87%; padding: 21px; }
  .trust-row .support-text h2 { font-size: 22px; }
  .trust-row .support-text p { font-size: 11px; }
  .home-values { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-values b { font-size: 19px; }
  .home-values span { font-size: 11px; }
  .section-header h2 { font-size: 19px; }
  .voice-card { padding-inline: 10px; }
  .fake-wave { letter-spacing: 0; }
  .bottom-banner { gap: 13px; }
  .bottom-banner h2 { font-size: 19px; }
  .footer-columns { gap: 20px; }
  .footer-columns h4 { font-size: 13px; }
  .footer-bottom { display: grid; }
}
/* Rava UI v0.6: UX hierarchy and breathing room — preserves reference design. */
/* Primary actions should look primary only at the moment of decision. */
.nav-cta-quiet {
  background: #f4f8fd;
  border-color: #d6e4f1;
  color: var(--navy);
  box-shadow: none;
}
.nav-cta-quiet:hover:not(:disabled) { background: #eaf3fc; box-shadow: none; }
.site-header .nav-links a { transition: color .15s ease; }
.site-header .nav-tools { flex-shrink: 0; }
.hero-features span { white-space: nowrap; }

/* Strong form focus: clear heading, one primary CTA, balanced field groups. */
.quote-panel { isolation: isolate; }
.quote-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 19px;
}
.quote-panel-title { margin-bottom: 0; }
.quote-helper { color: #617b96; font-size: 13px; line-height: 1.75; font-weight: 500; }
.quote-fields { align-items: stretch; }
.quote-fields label { transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.quote-fields label:focus-within { border-color: #4b91ca; background: #fff; box-shadow: 0 0 0 3px #347cb51a; }
.quote-button { box-shadow: 0 9px 20px #ef771e26; }
.quote-button:hover:not(:disabled) { box-shadow: 0 11px 24px #ef771e35; }

/* Cards should have a shared rhythm rather than all compete for attention. */
.perks-section { margin: 28px 0 0; }
.perks-section .perks-grid { margin-top: 0; gap: 16px; }
.perks-section .perk {
  background: rgba(255,255,255,.64);
  border: 1px solid #e0eaf5;
  box-shadow: 0 3px 12px rgba(20,65,111,.035);
  border-radius: 16px;
  min-width: 0;
}
.perks-section .perk svg { color: var(--navy); }
.perks-section .perk span { color: #677e97; }
.companies-section { margin-top: 41px; }
.company-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin-bottom: 17px;
}
.company-head .section-title { margin: 0; line-height: 1.6; }
.company-disclaimer { color: #72889e; font-size: 12px; line-height: 1.8; }
.company-strip {
  max-width: none;
  margin-bottom: 0;
  gap: 13px;
  justify-content: stretch;
}
/* Previous decorative angle glyphs resembled controls but had no action. */
.company-strip::before, .company-strip::after { display: none; }
.company-chip {
  background: #fff;
  border: 1px solid #e0eaf5;
  box-shadow: 0 4px 12px rgba(22,63,105,.045);
  flex: 1 1 0;
}
.company-chip b { line-height: 1.4; }

/* Distinct team/statistics group with one shared sample-data disclaimer. */
.trust-row { margin-top: 31px; gap: 22px; align-items: stretch; }
.trust-row .support-banner { box-shadow: 0 7px 19px rgba(16,57,95,.12); }
.home-values { position: relative; gap: 13px; align-content: stretch; }
.home-values>div {
  box-shadow: none;
  background: #fff;
  border: 1px solid #dde9f5;
  transition: border-color .15s ease;
}
.home-values>div svg { color: #f07820; }
.home-values>div span { color: #4b6782; }
.stats-disclaimer {
  grid-column: 1/-1;
  display: block;
  font-size: 11px;
  color: #7890a9;
  text-align: center;
  line-height: 1.5;
  margin: 0;
}

/* Testimonials are an upcoming content zone, not a fake working audio player. */
.voice-section { padding-top: 49px; padding-bottom: 28px; }
.voice-section .section-header { margin-bottom: 19px; }
.voice-card {
  border: 1px solid #dae7f3;
  box-shadow: 0 3px 12px rgba(16,57,95,.035);
  background: #fff;
  min-width: 0;
  gap: 12px;
}
.voice-card>div { min-width: 0; }
.voice-card b, .voice-card small { display: block; }
.voice-card small { color: #7890aa; line-height: 1.6; margin-top: 3px; }
.voice-status {
  margin-inline-start: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 700;
  color: #67829b;
  background: #f0f5fb;
  border-radius: 999px;
  white-space: nowrap;
}
.bottom-banner {
  margin-top: 3px;
  border-radius: 17px;
  gap: 26px;
}
.bottom-banner .btn { white-space: nowrap; }
.footer { margin-top: 35px; }
/* Quieter filter reset so comparison cards and selected plan remain dominant. */
.reset-filters { box-shadow: none; }

@media (min-width: 851px) {
  .container { width: min(1600px, calc(100% - 72px)); }
  .hero-copy { max-width: 54%; }
  .quote-panel { padding: 24px 29px 27px; }
  .quote-fields { gap: 15px; }
  .perks-section .perk { padding-block: 17px; }
  .companies-section { margin-top: 40px; }
  .company-chip { min-height: 79px; }
  .trust-row .support-banner { height: 214px; min-height: 214px; }
  .trust-row .support-text { padding-block: 22px; }
  .home-values>div { padding: 18px 7px 13px; }
  .voice-card { min-height: 82px; }
  .voice-grid { gap: 17px; }
  .bottom-banner { min-height: 94px; padding: 21px 27px; }
}
@media (min-width: 851px) and (max-width: 1399px) {
  .container { width: calc(100% - 48px); }
  .quote-helper { font-size: 12px; }
  .company-head { margin-bottom: 13px; }
  .company-disclaimer { font-size: 11px; }
  .trust-row { gap: 15px; }
  .voice-status { font-size: 10px; padding: 6px 8px; }
}
@media (max-width: 850px) {
  .nav-cta-quiet { display: none; }
  .quote-panel-head { align-items: flex-start; gap: 7px; flex-direction: column; margin-bottom: 15px; }
  .quote-panel-title { margin-bottom: 0; }
  .quote-helper { font-size: 11px; }
  .perks-section { margin-top: 24px; }
  .perks-section .perks-grid { gap: 12px; }
  .companies-section { margin-top: 34px; }
  .company-head { gap: 3px; margin-bottom: 15px; }
  .company-disclaimer { font-size: 11px; }
  .company-strip { display:flex; flex-wrap:nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 8px; gap: 10px; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .company-chip { flex: 0 0 138px; scroll-snap-align: start; }
  .trust-row { margin-top: 27px; gap: 16px; }
  .stats-disclaimer { font-size: 10px; }
  .voice-section { padding-top: 39px; }
  .voice-card { min-height: 77px; }
  .voice-status { font-size: 10px; }
  .bottom-banner { padding: 18px; }
  .footer { margin-top: 29px; }
}
@media (max-width: 560px) {
  .quote-panel { padding: 19px 15px 18px; }
  .quote-helper { font-size: 10px; }
  .perks-section .perks-grid { gap: 10px; }
  .perks-section .perk { border-radius: 14px; padding: 11px 10px; }
  .companies-section { margin-top: 31px; }
  .company-head { display: block; }
  .company-head .section-title { margin-bottom: 5px; }
  .company-disclaimer { display: block; line-height: 1.6; }
  .company-chip { min-height: 70px; flex-basis: 125px; }
  .trust-row { margin-top: 24px; }
  .stats-disclaimer { padding-top: 2px; }
  .voice-section { padding-top: 34px; padding-bottom: 22px; }
  .voice-section .section-header { margin-bottom: 15px; }
  .voice-grid { gap: 10px; }
  .voice-card { padding: 13px 12px; }
  .voice-status { padding: 6px 9px; font-size: 9px; white-space: normal; text-align: center; max-width: 80px; }
  .bottom-banner { gap: 14px; }
  .bottom-banner .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .nav-links a, .quote-fields label, .home-values>div { transition: none; }
}

/* Keyboard access for horizontal insurer list. */
.company-strip:focus-visible { outline: 3px solid #f08932; outline-offset: 4px; }

/* Rava UI v0.7 — quote form is *below* the hero's visual focal point.
   The extra row makes make/model discoverable without crowding the poster. */
.home .content-overlap { margin-top: -18px; }
.vehicle-quote { padding: 25px 30px 20px; }
.vehicle-quote .quote-panel-head { margin-bottom: 20px; }
.vehicle-quote .quote-fields,
.compare-search .vehicle-quote .quote-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 18px;
  align-items: stretch;
}
.vehicle-quote .quote-fields label,
.compare-search .vehicle-quote .quote-fields label {
  min-width: 0;
  width: 100%;
  height: 67px;
  min-height: 67px;
  padding: 10px 17px;
}
.vehicle-quote .quote-fields label span { font-size: 12px; line-height: 1.6; }
.vehicle-quote .quote-fields input[type="search"] {
  width: 100%; min-width: 0; height: 30px; padding: 0; margin: 0;
  border: 0; background: transparent; appearance: auto;
  font-family: Estedad, Tahoma, sans-serif;
  font-size: 16px; font-weight: 700; color: var(--navy);
  outline: none; direction: rtl;
}
.vehicle-quote .quote-fields input[type="search"]::placeholder { font-weight: 500; color: #8195ab; opacity: 1; }
.vehicle-quote .quote-fields input[type="search"]:disabled { color: #94a8ba; cursor: not-allowed; }
.vehicle-quote .quote-fields select { font-size: 16px; min-width: 0; }
.vehicle-quote .quote-button,
.compare-search .vehicle-quote .quote-button {
  min-height: 67px; height: 67px; width: 100%; font-size: 16px;
  border-radius: 13px;
}
.vehicle-quote .quote-form-foot {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; margin-top: 15px; min-height: 23px;
}
.vehicle-quote .quote-form-foot > span { display: inline-flex; align-items: center; gap: 7px; color: #617f9a; font-size: 12px; font-weight: 500; }
.vehicle-quote .quote-form-foot svg { color: #4e799e; }
.vehicle-quote .quote-error { font-size: 12px; color: #a9322f; font-weight: 700; }
.compare-search .vehicle-quote { padding: 20px 24px; }
.compare-search .vehicle-quote .quote-panel-head { display: flex; margin-bottom: 17px; }
.compare-search .vehicle-quote .quote-panel-title { display: flex; }
.compare-search .vehicle-quote .quote-fields { gap: 12px 14px; }
/* Keep the lower edge of the banner visible, especially on smaller screens. */
@media (min-width: 851px) and (max-width: 1100px) {
  .vehicle-quote .quote-fields,
  .compare-search .vehicle-quote .quote-fields { gap: 12px; }
  .vehicle-quote .quote-fields label { padding-inline: 12px; }
  .vehicle-quote .quote-panel-head { align-items: flex-start; flex-direction: column; gap: 4px; }
}
@media (max-width: 850px) {
  .home .content-overlap { margin-top: 12px; }
  .vehicle-quote .quote-panel-head,
  .compare-search .vehicle-quote .quote-panel-head { align-items: flex-start; gap: 6px; flex-direction: column; }
  .vehicle-quote .quote-fields,
  .compare-search .vehicle-quote .quote-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .vehicle-quote .quote-fields label,
  .compare-search .vehicle-quote .quote-fields label { min-height: 61px; height: 61px; padding: 9px 12px; }
  .vehicle-quote .quote-button,
  .compare-search .vehicle-quote .quote-button { min-height: 61px; height: 61px; }
  .vehicle-quote .quote-form-foot { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 560px) {
  .vehicle-quote { padding: 17px 14px; }
  .vehicle-quote .quote-panel-title { font-size: 15px; }
  .vehicle-quote .quote-fields [data-key="vehicle"],
  .vehicle-quote .quote-fields [data-key="brand"],
  .vehicle-quote .quote-fields [data-key="model"] { grid-column: 1/-1; }
  .vehicle-quote .quote-fields,
  .compare-search .vehicle-quote .quote-fields { gap: 9px; }
  .vehicle-quote .quote-fields label,
  .compare-search .vehicle-quote .quote-fields label { min-height: 60px; height: 60px; }
  .vehicle-quote .quote-fields select,
  .vehicle-quote .quote-fields input[type="search"] { font-size: 14px; }
  .vehicle-quote .quote-button,
  .compare-search .vehicle-quote .quote-button { grid-column: 1/-1; height: 56px; min-height: 56px; }
  .vehicle-quote .quote-form-foot > span { font-size: 11px; }
  .compare-search .vehicle-quote { padding: 17px 14px; }
}

/* v0.8 — authentic self-hosted colored insurer marks; one visual scale per card. */
.company-strip .company-chip {
  min-height: 114px;
  padding: 13px 10px 12px;
  gap: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.company-strip .company-logo {
  display: block;
  width: 52px;
  height: 52px;
  max-width: 100%;
  object-fit: contain;
  flex: 0 0 52px;
}
.company-strip .company-chip b {
  font-size: 13px;
  line-height: 1.6;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 850px) {
  .company-strip .company-chip { min-height: 103px; flex: 0 0 142px; gap: 7px; }
  .company-strip .company-logo { width: 46px; height: 46px; flex-basis: 46px; }
  .company-strip .company-chip b { font-size: 12px; }
}
@media (max-width: 560px) {
  .company-strip .company-chip { min-height: 99px; flex-basis: 135px; padding-inline: 9px; }
  .company-strip .company-logo { width: 44px; height: 44px; flex-basis: 44px; }
}

/* Rava v0.9 — evidence-led trust, not unverifiable statistics or badges. */
.trust-verification{margin-top:38px;border:1px solid #d6e5f3;border-radius:23px;padding:29px 32px 20px;background:#fff;box-shadow:0 12px 28px rgba(19,58,96,.07)}
.trust-verification-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:24px}
.trust-verification-head h2{font-size:clamp(21px,1.9vw,29px);font-weight:900;line-height:1.5}
.trust-verification-head p{font-size:13px;line-height:1.9;color:#607993;margin-top:4px}
.trust-verification-link{flex-shrink:0;color:#196193;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:7px;padding:9px 0}
.trust-verification-link:hover,.trust-verification-foot a:hover,.trust-guide-list a:hover{color:#e4771a}
.trust-verification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.trust-proof{min-width:0;border:1px solid #e1eaf5;background:#f7faff;border-radius:17px;padding:19px 19px 18px;display:flex;flex-direction:column;gap:7px}
.trust-proof-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px}
.trust-proof-icon{width:46px;height:46px;border-radius:14px;background:#e9f2fc;color:#0e4d79;display:grid;place-items:center}
.trust-proof-status{font-size:10px;font-weight:700;color:#715938;background:#fff4e3;border:1px solid #f3e2c6;border-radius:999px;padding:5px 10px;text-align:center}
.trust-proof-label{color:#dc7418;font-size:11px;font-weight:850}
.trust-proof h3{font-size:17px;line-height:1.55;font-weight:900}
.trust-proof p{font-size:12px;line-height:2;color:#4c6882;max-width:52ch}
.trust-verification-foot{border-top:1px solid #e3ecf5;margin-top:19px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#506b82}
.trust-verification-foot>span,.trust-verification-foot a{display:inline-flex;align-items:center;gap:8px}
.trust-verification-foot>span svg{color:#1a6a9d}
.trust-verification-foot a{color:#1c6092;font-weight:850;flex-shrink:0}
.trust-questions{margin:35px 0 6px;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.5fr);gap:32px;align-items:start}
.trust-questions-intro{padding:15px 5px}
.trust-questions-intro h2{font-size:clamp(20px,1.7vw,25px);line-height:1.6;font-weight:900;margin:6px 0}
.trust-questions-intro p{font-size:12px;line-height:2;color:#607891;margin-bottom:15px}
.trust-questions-list{display:grid;gap:10px}
.trust-questions-list details{border:1px solid #dce7f4;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 3px 11px rgba(22,58,95,.045)}
.trust-questions-list summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-size:14px;line-height:1.65;font-weight:850;padding:15px 19px}
.trust-questions-list summary::-webkit-details-marker{display:none}
.trust-questions-list details[open] summary svg{transform:rotate(180deg)}
.trust-questions-list details p{padding:0 19px 17px;font-size:12px;line-height:2;color:#506d88}
.invoice-trust-mini{margin-top:18px;padding:15px;border:1px solid #d5e5f2;border-radius:14px;background:#f5faff;display:grid;gap:10px}
.invoice-trust-mini strong,.invoice-trust-mini span,.invoice-trust-mini a{display:flex;gap:8px;align-items:flex-start;line-height:1.7}
.invoice-trust-mini strong{font-size:13px;color:#113b60}
.invoice-trust-mini span{font-size:11px;color:#496681}
.invoice-trust-mini span svg{color:#236b8d;flex-shrink:0;margin-top:2px}
.invoice-trust-mini a{font-size:12px;color:#146392;font-weight:800;border-top:1px solid #d8e6f3;padding-top:10px}
.trust-guide-shell{max-width:1100px!important;padding:30px 0 60px}
.trust-guide-alert{display:flex;gap:12px;align-items:flex-start;background:#fff4e8;border:1px solid #efd3ad;padding:17px 21px;border-radius:16px;margin-bottom:20px;color:#6e4b24}
.trust-guide-alert p{font-size:13px;line-height:2}.trust-guide-alert svg{margin-top:4px;flex-shrink:0}
.trust-guide-list{display:grid;gap:14px}
.trust-guide-list article{background:#fff;border:1px solid #dce8f3;border-radius:18px;display:flex;align-items:flex-start;gap:20px;padding:23px 27px;box-shadow:var(--soft-shadow)}
.trust-guide-step{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:13px;color:#fff;background:#0c4c79;font-size:19px;font-weight:900}
.trust-guide-list h2{font-size:19px;margin-bottom:6px;line-height:1.5}
.trust-guide-list p{font-size:13px;line-height:2;color:#4d6780;max-width:88ch}
.trust-guide-list a,.trust-guide-unavailable{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:850;color:#145f92}
.trust-guide-unavailable{color:#856b48}
.home-values-evidence b{font-size:16px;line-height:1.6}
.home-values-evidence span{font-size:11px;line-height:1.8}
@media(max-width:1100px){.trust-verification{padding:22px}.trust-proof{padding:15px}.trust-proof h3{font-size:15px}}
@media(max-width:850px){.trust-verification{margin-top:25px;padding:18px 16px;border-radius:18px}.trust-verification-head{align-items:start;flex-direction:column;gap:8px;margin-bottom:15px}.trust-verification-grid{grid-template-columns:1fr;gap:10px}.trust-proof{padding:15px}.trust-proof h3{font-size:16px}.trust-verification-foot{flex-direction:column;align-items:flex-start}.trust-questions{margin-top:26px;grid-template-columns:1fr;gap:13px}.trust-questions-intro{padding:0}.trust-questions-list summary{font-size:13px}.trust-guide-shell{padding:20px 0 35px}.trust-guide-list article{padding:17px;gap:13px}.trust-guide-list h2{font-size:16px}}
@media(max-width:420px){.trust-proof-status{font-size:9px}.trust-guide-step{width:36px;height:36px;font-size:17px}.trust-verification-foot{font-size:11px}}


/* Rava v0.10 — calm, compositor-first, app-like motion. No layout-shifting tricks. */
:root { --motion-fast: 130ms; --motion-base: 215ms; --motion-slow: 320ms; --motion-ease: cubic-bezier(.22, 1, .36, 1); }
/* Avoid animated shadows/filters on large images; animate only tiny surfaces and transform/opacity. */
.btn, .pill, .hamburger, .quote-button, .reset-filters {
  transition: transform var(--motion-base) var(--motion-ease),
              background-color var(--motion-base) ease,
              border-color var(--motion-base) ease,
              color var(--motion-base) ease,
              box-shadow var(--motion-base) ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.btn:hover:not(:disabled) { filter:none; transform:translate3d(0,-2px,0); }
.btn:active:not(:disabled), .pill:active:not(:disabled), .hamburger:active:not(:disabled) {
  transform:translate3d(0,0,0) scale(.975);
  transition-duration:var(--motion-fast);
}
.btn-orange:hover:not(:disabled) { box-shadow:0 9px 18px rgba(237,112,21,.25); }
.btn:focus-visible,.pill:focus-visible,.hamburger:focus-visible { outline-offset:3px; }
.nav-links a, .mobile-nav a, .small-link, .trust-verification-link, .footer-columns a {
  transition: color var(--motion-base) ease, opacity var(--motion-base) ease;
}
.nav-links a {position:relative;}
.nav-links a::after {content:'';position:absolute;bottom:-9px;inset-inline:12%;height:2px;background:var(--orange);border-radius:999px;transform:scaleX(0);transition:transform var(--motion-base) var(--motion-ease);}
.nav-links a:hover::after, .nav-links a.selected::after {transform:scaleX(1);}
.quote-fields label, .quote-panel .vehicle-input-wrap, .filter-pane fieldset label {
  transition:border-color var(--motion-base) ease,background-color var(--motion-base) ease,box-shadow var(--motion-base) ease;
}
.quote-fields label:focus-within {box-shadow:0 0 0 3px rgba(38,114,174,.10);border-color:#77a5ce;}
.pill:hover:not(:disabled) {border-color:#7eabc8;}
.pill.active {box-shadow:0 2px 7px rgba(15,65,110,.12);}
/* A clearly visible selected state without excessive movement. */
.filter-pane label:has(input:checked) {color:#0c4d7f;font-weight:800;}
.trust-questions-list summary svg, .coverage-details summary svg {transition:transform var(--motion-base) var(--motion-ease);}
.trust-questions-list details[open] summary svg, .coverage-details[open] summary svg {transform:rotate(180deg);}
.trust-questions-list details[open] p, .coverage-details[open] p {animation:rava-disclosure-in var(--motion-base) var(--motion-ease) both;}
@keyframes rava-disclosure-in {from{opacity:.1;transform:translate3d(0,-6px,0)}to{opacity:1;transform:none}}
/* Menu stays mounted; no full-page re-render or focus loss on toggling. */
@media(max-width:850px){
  .mobile-nav {
    display:grid;max-height:0;overflow:hidden;padding-block:0;opacity:0;visibility:hidden;
    border-top-color:transparent;transform:translate3d(0,-5px,0);
    transition:max-height var(--motion-slow) var(--motion-ease),
      opacity var(--motion-base) ease, transform var(--motion-base) var(--motion-ease),
      padding var(--motion-slow) var(--motion-ease),visibility 0s linear var(--motion-slow),
      border-color var(--motion-base) ease;
  }
  .mobile-nav.is-open {
    max-height:340px;opacity:1;visibility:visible;padding-block:8px 18px;
    border-top-color:#e0e9f5;transform:translate3d(0,0,0);
    transition:max-height var(--motion-slow) var(--motion-ease),
      opacity var(--motion-base) ease, transform var(--motion-base) var(--motion-ease),
      padding var(--motion-slow) var(--motion-ease),visibility 0s,
      border-color var(--motion-base) ease;
  }
  .mobile-nav a{border-radius:9px;}
  .mobile-nav a:active{background:#edf5fc;}
}
/* Reveal only when JS installed IntersectionObserver; never block SEO/accessibility fallback. */
/* Content is never hidden awaiting a scroll callback. Captures, scripts-off and slow devices stay readable. */
.reveal-pending.is-visible {
  animation: rava-reveal-in 320ms var(--motion-ease) both;
  animation-delay:calc(var(--reveal-order,0) * 22ms);
}
@keyframes rava-reveal-in {
  from{opacity:.84;transform:translate3d(0,9px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
/* The first screen should feel immediate, with small progressive visual guidance. */
.hero-overline {animation:rava-hero-enter 420ms var(--motion-ease) both;}
.hero h1 {animation:rava-hero-enter 460ms 45ms var(--motion-ease) both;}
.hero-copy p {animation:rava-hero-enter 460ms 85ms var(--motion-ease) both;}
.hero-features {animation:rava-hero-enter 460ms 120ms var(--motion-ease) both;}
@keyframes rava-hero-enter {from{opacity:.2;transform:translate3d(0,9px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
/* Progressive enhancement for same-document SPA route transitions. */
@supports (view-transition-name:root) {
  ::view-transition-old(root) {animation:rava-page-out 120ms ease both;}
  ::view-transition-new(root) {animation:rava-page-in 215ms var(--motion-ease) both;}
}
@keyframes rava-page-out{to{opacity:.65}}
@keyframes rava-page-in{from{opacity:.72;transform:translate3d(0,5px,0)}to{opacity:1;transform:none}}
/* Avoid desktop hover animation from sticking on mobile touch screens. */
@media (hover:none){.btn:hover:not(:disabled){transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){
  html,body {scroll-behavior:auto!important;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important;}
  .reveal-pending,.reveal-pending.is-visible{opacity:1!important;transform:none!important;}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important;}
}

/* Rava v0.17 — compact lead form, calm trust content and overflow repair.
   Overrides earlier poster-sized values at the bottom of the cascade. */
#app,.home,.content-overlap,.trust-row,.trust-row>*,
.home-values,.home-values>div,.perks-grid,.perk,
.vehicle-quote,.vehicle-quote .quote-fields,
.company-strip,.company-chip,.support-banner,.support-text,
.trust-proof,.bottom-banner,.footer-columns>div { min-width:0; }
.vehicle-quote,
.compare-search .vehicle-quote {
  padding:20px 24px 16px;
  border-radius:20px;
  border-color:#e1e8f0;
  box-shadow:0 12px 28px rgba(14,52,88,.08);
}
.vehicle-quote .quote-panel-head,
.compare-search .vehicle-quote .quote-panel-head {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:14px;
}
.vehicle-quote .quote-panel-title {
  font-size:17px;
  line-height:1.5;
  gap:9px;
  margin:0;
  flex:0 0 auto;
}
.vehicle-quote .quote-panel-title svg {width:22px;height:22px}
.vehicle-quote .quote-helper {
  color:#627a92;
  font-size:12px;
  line-height:1.85;
  max-width:690px;
  text-align:start;
  margin:0;
}
.vehicle-quote .quote-fields,
.compare-search .vehicle-quote .quote-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 13px;
  align-items:stretch;
}
.vehicle-quote .quote-fields label,
.compare-search .vehicle-quote .quote-fields label {
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:54px;
  min-height:54px;
  min-width:0;
  width:100%;
  padding:7px 13px;
  border-radius:13px;
  border:1px solid #dbe5ef;
  background:#fcfdff;
  box-shadow:none;
  overflow:hidden;
}
.vehicle-quote .quote-fields label:focus-within {
  border-color:#76a6c8;
  background:#fff;
  box-shadow:0 0 0 3px rgba(42,120,179,.09);
}
.vehicle-quote .quote-fields label>span {
  display:block;
  font-size:10px;
  line-height:1.45;
  font-weight:750;
  color:#73889d;
  margin-bottom:2px;
}
.vehicle-quote .quote-fields select,
.vehicle-quote .quote-fields input[type="search"] {
  min-height:26px;
  height:26px;
  max-width:100%;
  width:100%;
  min-width:0;
  padding:0;
  margin:0;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
  color:#113c62;
  background:transparent;
}
.vehicle-quote .quote-fields input[type="search"]::placeholder {font-size:12px;color:#8da2b4;font-weight:500}
.vehicle-quote .quote-button,
.compare-search .vehicle-quote .quote-button {
  grid-column:3;
  justify-self:start;
  align-self:center;
  display:inline-flex;
  min-height:54px;
  height:54px;
  width:min(100%,235px);
  padding:10px 18px;
  border-radius:13px;
  font-size:13px;
  line-height:1.5;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 6px 14px rgba(226,112,23,.17);
}
.vehicle-quote .quote-button svg {width:17px;height:17px}
.vehicle-quote .quote-form-foot {margin-top:10px;min-height:18px;gap:10px}
.vehicle-quote .quote-form-foot>span {font-size:10px;line-height:1.7}
.compare-search .vehicle-quote {padding:17px 20px}
.compare-search .vehicle-quote .quote-fields {gap:9px 12px}

/* The original support banner had a fixed ~214px height: text/CTA clipped.
   Grow with content and keep its image behind the text. */
.trust-row {
  align-items:stretch;
  gap:18px;
}
.trust-row .support-banner {
  min-height:300px;
  height:auto;
  border-radius:20px;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.trust-row .support-photo {
  width:50%;
  opacity:.9;
  z-index:0;
}
.trust-row .support-text {
  min-width:0;
  width:64%;
  max-width:none;
  padding:25px 26px;
  align-self:center;
  position:relative;
  z-index:2;
}
.trust-row .support-text h2 {
  font-size:clamp(22px,1.55vw,30px);
  line-height:1.48;
  max-width:23ch;
  overflow-wrap:break-word;
}
.trust-row .support-text p {
  font-size:12px;
  line-height:1.95;
  max-width:52ch;
  margin:10px 0 15px;
}
.trust-row .support-text .btn {
  min-height:42px;
  padding:9px 17px;
  border-radius:12px;
  font-size:12px;
  line-height:1.4;
}
.trust-row .home-values {
  margin:0;
  min-height:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  align-content:stretch;
}
.trust-row .home-values>div {
  min-width:0;
  min-height:119px;
  padding:15px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:17px;
  overflow:hidden;
}
.trust-row .home-values svg {width:30px;height:30px}
.trust-row .home-values b {
  font-size:clamp(12px,1.1vw,16px);
  line-height:1.55;
  text-align:center;
  max-width:100%;
}
.trust-row .home-values span {
  font-size:clamp(10px,.83vw,12px);
  line-height:1.7;
  text-align:center;
  max-width:100%;
  overflow-wrap:break-word;
}
.trust-row .stats-disclaimer {
  grid-column:1/-1;
  font-size:10px;
  line-height:1.7;
  text-align:center;
  color:#647e96;
  margin:0;
  padding-inline:8px;
}
.perks-section .perk,
.company-strip .company-chip,
.trust-proof,
.voice-card,
.bottom-banner,
.payment-card,
.policy-card {overflow:hidden}
.perks-section .perk b,.company-chip b,.trust-proof h3,
.bottom-banner h2,.support-text p {overflow-wrap:break-word}
.perks-section .perk {min-height:124px}
.section-header,.bottom-banner,.trust-verification-head {min-width:0}
.section-header>div,.bottom-banner>div,.trust-verification-head>div {min-width:0}

/* Keep essential estimation disclosure readable, but not a warning-colored
   advertising headline. Display it calmly without false certainty. */
.prototype-ribbon {
  background:#f1f6fb;
  border-color:#e2ebf3;
  color:#536d85;
  font-weight:650;
  padding:6px 15px;
  line-height:1.7;
  text-wrap:pretty;
}
.site-header .brand img,.brand-footer img {object-fit:contain}

@media (max-width:1200px) {
 .vehicle-quote .quote-panel-head,.compare-search .vehicle-quote .quote-panel-head {
   flex-direction:column;align-items:flex-start;gap:6px;
 }
 .trust-row .support-text {width:69%}
}
@media (max-width:950px) {
 .vehicle-quote .quote-fields,.compare-search .vehicle-quote .quote-fields {
   grid-template-columns:repeat(2,minmax(0,1fr));
 }
 .vehicle-quote .quote-button,.compare-search .vehicle-quote .quote-button {
   grid-column:1/-1;justify-self:end;max-width:235px;
 }
 .trust-row {grid-template-columns:minmax(0,1fr)}
 .trust-row .support-banner {min-height:280px}
 .trust-row .home-values {grid-template-columns:repeat(4,minmax(0,1fr))}
 .trust-row .home-values>div {min-height:125px}
}
@media (max-width:600px) {
 .vehicle-quote,.compare-search .vehicle-quote {
   padding:16px 14px 14px;border-radius:18px;
 }
 .vehicle-quote .quote-panel-title {font-size:15px}
 .vehicle-quote .quote-helper {font-size:11px;line-height:1.8}
 .vehicle-quote .quote-fields,.compare-search .vehicle-quote .quote-fields {
   grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
 }
 .vehicle-quote .quote-fields [data-key="vehicle"],
 .vehicle-quote .quote-fields [data-key="brand"],
 .vehicle-quote .quote-fields [data-key="model"] {
   grid-column:1/-1;
 }
 .vehicle-quote .quote-fields label,
 .compare-search .vehicle-quote .quote-fields label {
   height:52px;min-height:52px;padding:7px 10px;border-radius:12px;
 }
 .vehicle-quote .quote-fields label>span {font-size:10px}
 .vehicle-quote .quote-fields select,
 .vehicle-quote .quote-fields input[type="search"] {font-size:12px;height:25px;min-height:25px}
 .vehicle-quote .quote-button,.compare-search .vehicle-quote .quote-button {
   grid-column:1/-1;
   width:100%;max-width:none;
   justify-self:stretch;
   height:51px;min-height:51px;
   font-size:13px;
 }
 .trust-row .support-banner {min-height:340px;align-items:stretch}
 .trust-row .support-photo {width:100%;opacity:.28}
 .trust-row .support-text {width:100%;max-width:none;padding:24px 20px}
 .trust-row .support-text h2 {font-size:23px}
 .trust-row .support-text p {font-size:11px;line-height:1.9;max-width:100%}
 .trust-row .home-values {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .trust-row .home-values>div {min-height:116px;padding:12px 7px}
 .trust-row .home-values b {font-size:12px}
 .trust-row .home-values span {font-size:10px}
 .trust-verification-head,.section-header {align-items:flex-start;flex-wrap:wrap}
 .company-head .company-disclaimer {font-size:11px;line-height:1.8}
}


/* Rava v0.18 — evidence-led trust elements, intentionally quieter than sales CTAs. */
.assurance-strip{margin:14px 0 26px;border:1px solid #d6e5f0;border-radius:15px;background:linear-gradient(95deg,#f8fbff,#eff6fc);padding:13px 18px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:16px;box-shadow:0 4px 16px rgba(20,65,111,.035)}
.assurance-strip-item{min-width:0;display:flex;align-items:center;gap:11px}
.assurance-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#e1edf7;color:#15537d}
.assurance-strip-item>span:last-child{display:grid;gap:3px;min-width:0}
.assurance-strip-item b{font-size:12px;line-height:1.5;color:#173e60}
.assurance-strip-item small{font-size:10px;line-height:1.7;color:#657d95}
.assurance-strip-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;color:#155a88;font-size:11px;font-weight:850;border:1px solid #c9dfe9;border-radius:10px;background:#fff;padding:10px 12px;transition:border-color .15s,background-color .15s}
.assurance-strip-link:hover{border-color:#87b2ce;background:#fafdff}
.trust-journey{margin:28px 0 0;background:#fff;border:1px solid #dce6f0;border-radius:23px;box-shadow:0 7px 25px rgba(25,68,105,.055);padding:29px 30px 24px;min-width:0}
.trust-journey-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px}
.trust-journey-heading>div{min-width:0}
.trust-journey-heading h2,.privacy-promise-intro h2{font-size:clamp(19px,2vw,26px);line-height:1.65;font-weight:950;margin:5px 0}
.trust-journey-heading p,.privacy-promise-intro p{font-size:12px;line-height:2;color:#607a92;max-width:73ch}
.trust-journey-heading .small-link{white-space:nowrap;flex-shrink:0;font-weight:800}
.trust-journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative}
.trust-journey-step{min-width:0;position:relative;padding:17px 16px 19px;border:1px solid #e2eaf3;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7faff);display:flex;flex-direction:column;gap:10px}
.trust-journey-step-top{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap}
.trust-journey-number{font-size:12px;font-weight:950;color:#66849e;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.trust-journey-status{display:inline-flex;max-width:100%;padding:5px 9px;border-radius:999px;background:#f1f3f6;color:#577087;font-size:9px;line-height:1.45;font-weight:850}
.trust-journey-status.status-active{background:#e6f6ef;color:#27765f}
.trust-journey-status.status-reference{background:#edf3ff;color:#315f9b}
.trust-journey-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#e8f1fa;color:#185787}
.trust-journey-step h3{font-size:14px;font-weight:900;line-height:1.7;color:#153d60}
.trust-journey-step p{font-size:11px;line-height:2;color:#5a748d;overflow-wrap:anywhere}
.trust-journey-verify{margin-top:16px;padding:13px 16px;background:#f0f6fc;border-radius:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;line-height:1.8;color:#375976}
.trust-journey-verify>svg{color:#246f96}
.trust-journey-verify a{color:#0e5e92;font-weight:900;display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-decoration-color:#b4d1e4;text-underline-offset:4px}
.privacy-promise{margin:29px 0 13px;min-width:0}
.privacy-promise-intro{margin-bottom:17px}
.privacy-promise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.privacy-promise-card{background:#f8fbff;border:1px solid #dce9f4;border-radius:18px;padding:22px 25px;min-width:0;position:relative}
.privacy-promise-icon{display:grid;place-items:center;width:43px;height:43px;background:#e9f2fb;color:#246189;border-radius:13px;margin-bottom:13px}
.privacy-promise-card h3{font-size:16px;font-weight:900;line-height:1.7;margin-bottom:7px}
.privacy-promise-card p{color:#58738a;font-size:12px;line-height:2;max-width:72ch}
.privacy-promise-card a{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-size:11px;font-weight:900;color:#175e8e}
.trust-data-explainer{background:#edf6ff;border:1px solid #d3e4f2;border-radius:18px;margin-bottom:18px;padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.trust-data-explainer>div{min-width:0}
.trust-data-explainer h2{font-size:20px;line-height:1.6;margin:5px 0 7px}
.trust-data-explainer p{font-size:12px;color:#4d6f87;line-height:2;max-width:74ch}
.trust-data-explainer .btn{white-space:nowrap;flex:none}
.rava-estimate-privacy{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#456b87;font-size:11px;line-height:1.85}
.rava-estimate-privacy svg{color:#176a8b}
@media(max-width:1100px){
 .assurance-strip{grid-template-columns:1fr 1fr}
 .assurance-strip-link{grid-column:1/-1;justify-self:start}
 .trust-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .trust-data-explainer{flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
 .assurance-strip{grid-template-columns:1fr;gap:11px;padding:13px}
 .assurance-strip-link{grid-column:auto;width:100%;white-space:normal}
 .trust-journey{padding:20px 15px 16px;border-radius:18px}
 .trust-journey-heading{align-items:flex-start;flex-direction:column;gap:7px}
 .trust-journey-heading h2,.privacy-promise-intro h2{font-size:20px}
 .trust-journey-grid{grid-template-columns:1fr;gap:10px}
 .trust-journey-step{padding:15px}
 .trust-journey-verify{align-items:flex-start}
 .privacy-promise-grid{grid-template-columns:1fr;gap:11px}
 .privacy-promise-card{padding:19px}
 .trust-data-explainer{padding:17px}
 .trust-data-explainer h2{font-size:18px}
 .trust-data-explainer .btn{width:100%;white-space:normal}
}
@media(max-width:420px){
 .trust-journey-heading h2{font-size:18px}
 .trust-journey-status{font-size:9px}
 .assurance-strip-item b{font-size:11px}
}


/* Rava v0.21 — discoverable three-question insurance choice assistant entry. */
.rava-advisor-home{display:flex;align-items:center;gap:18px;padding:18px 21px;margin:12px 0 20px;background:linear-gradient(105deg,#eef7ff,#fff);border:1px solid #cde0ee;border-radius:17px;box-shadow:0 7px 20px #113b5b0b;min-width:0}
.rava-advisor-home-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;background:#dcecf9;border-radius:14px;color:#155982}
.rava-advisor-home-copy{flex:1;min-width:0}
.rava-advisor-home .eyebrow{color:#d06f27;font-size:10px;font-weight:850}
.rava-advisor-home h2{color:#103c60;font-size:clamp(16px,1.7vw,20px);margin:3px 0 5px;line-height:1.6}
.rava-advisor-home p{font-size:11px;line-height:1.9;color:#577791;max-width:66ch;margin:0}
.rava-advisor-home-cta{font-size:12px;flex:0 0 auto;white-space:nowrap;padding:11px 15px}
.rava-version{color:#88acc9;font-size:10px;white-space:nowrap}
@media(max-width:780px){.rava-advisor-home{flex-wrap:wrap;padding:15px;gap:12px}.rava-advisor-home-cta{width:100%;justify-content:center}.rava-advisor-home-icon{height:43px;width:43px;flex-basis:43px}}
@media(max-width:480px){.rava-advisor-home p{font-size:11px}.rava-advisor-home h2{font-size:16px}.rava-version{display:block;white-space:normal}}
