/* Mobil Haven signature redesign */
:root{
  --navy:#071827;
  --navy-2:#0b263b;
  --blue:#0787c9;
  --blue2:#16a7dd;
  --red:#f33442;
  --ink:#10202d;
  --muted:#5e6d78;
  --line:#dbe4e9;
  --soft:#f3f7f9;
  --white:#fff;
  --radius:16px;
  --shadow:0 24px 70px rgba(5,24,39,.12);
}

body{background:#fff;color:var(--ink);font-family:Manrope,"Segoe UI",Arial,sans-serif}
.container{width:min(1220px,calc(100% - 56px))}
.topbar{background:#061521;color:#bed0dc;border:0;font-size:12px;letter-spacing:.035em}
.topbar-inner{height:38px}
.topbar-actions a{color:#fff;font-weight:700}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(8,40,62,.1);box-shadow:0 10px 35px rgba(5,24,39,.045)}
.site-header.scrolled{box-shadow:0 14px 42px rgba(5,24,39,.1)}
.nav-wrap{height:94px}
.brand{flex:0 0 auto}
.brand-logo{display:block;width:176px;height:70px;object-fit:contain;object-position:left center}
.footer-brand{display:inline-flex;width:max-content;padding:11px 15px 9px;background:#fff;border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.24)}
.footer-brand .brand-logo{width:166px;height:76px;object-fit:contain;filter:none}
.primary-nav{gap:25px;font-size:13px;letter-spacing:.01em}
.primary-nav a:not(.nav-cta){padding:36px 0;color:#294151}
.primary-nav a:not(.nav-cta):after{bottom:26px;background:linear-gradient(90deg,var(--red),var(--blue))}
.primary-nav a:hover,.primary-nav a.active{color:var(--navy)}
.primary-nav .nav-cta{border-radius:8px;background:var(--red);box-shadow:0 10px 24px rgba(243,52,66,.22);padding:13px 19px}
.primary-nav .nav-cta:hover{background:#d92030}

.hero{min-height:730px;background:var(--navy)}
.hero-media{background-position:center 44%;filter:saturate(.72) contrast(1.1)}
.hero-overlay{background:linear-gradient(90deg,rgba(3,15,25,.98) 0%,rgba(4,25,40,.9) 47%,rgba(4,25,40,.34) 100%),linear-gradient(0deg,rgba(4,25,40,.5),transparent 55%)}
.hero-content{padding:120px 0 112px}
.hero-content>*{max-width:760px}
.eyebrow{color:#73d8ff;font-size:11px;letter-spacing:.22em}
.eyebrow.dark{color:var(--blue)}
h1{font-size:clamp(52px,6.6vw,82px);line-height:.99;letter-spacing:-.052em}
h2{font-size:clamp(34px,4vw,52px)}
.hero h1:after{content:"";display:block;width:82px;height:5px;margin-top:28px;background:linear-gradient(90deg,var(--red) 0 42%,#fff 42% 50%,var(--blue) 50%);border-radius:99px}
.hero p{font-size:19px;line-height:1.75;color:#d2e1ea}
.button{border-radius:8px;min-height:52px;padding:15px 23px;letter-spacing:.02em}
.button-primary{background:var(--red);box-shadow:0 14px 34px rgba(243,52,66,.26)}
.button-primary:hover{background:#d92030}
.button-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.38)}
.button-dark{background:var(--navy)}
.trust-row{margin-top:70px;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;color:#d6e3ea}
.trust-row span:before{color:#55c9f4}

.quick-strip{margin-top:-49px}
.quick-grid{border-radius:13px;box-shadow:0 25px 65px rgba(5,24,39,.16);border:0}
.quick-grid a{padding:30px 34px;border-color:#e4eaee}
.quick-grid a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);opacity:0;transition:.2s}
.quick-grid a:hover:before{opacity:1}
.quick-grid a:last-child:before{background:var(--red)}
.quick-grid b{color:var(--navy);letter-spacing:-.01em}
.quick-grid span{line-height:1.55}

.section{padding:112px 0}
.services-section{padding-top:154px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.section-heading{margin-bottom:48px}
.section-heading h2{max-width:720px}
.text-link{color:var(--blue)}
.service-grid{gap:20px}
.service-card{position:relative;overflow:hidden;border-radius:14px;padding:34px;background:#fff;border:1px solid #dde6eb;box-shadow:0 8px 28px rgba(5,24,39,.035)}
.service-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:0 24px 52px rgba(5,24,39,.11)}
.service-card:hover:after{transform:scaleX(1)}
.service-card .icon{background:#ebf7fc;color:var(--blue);border-radius:10px}
.service-card:nth-child(2) .icon,.service-card:nth-child(5) .icon{background:#fff0f1;color:var(--red)}
.service-card h3{color:var(--navy)}

.story-section{background:#edf3f6;position:relative}
.story-section:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(7,135,201,.06),transparent 48%);pointer-events:none}
.split{gap:84px}
.story-image{border-radius:14px;padding:0;box-shadow:0 30px 70px rgba(5,24,39,.17);background:#fff}
.story-image img{border-radius:14px;object-fit:contain!important;height:auto!important}
.stats{border-top:1px solid #d6e1e7;border-bottom:1px solid #d6e1e7;padding:18px 0}
.stats div{border-color:var(--red)}
.stats div:nth-child(2){border-color:#fff;background:rgba(255,255,255,.5)}
.stats div:nth-child(3){border-color:var(--blue)}
.warranty-card{border-radius:15px;background:linear-gradient(120deg,#061521,#0b3450);border:1px solid rgba(255,255,255,.08);box-shadow:0 32px 75px rgba(5,24,39,.2)}
.warranty-card:before{content:"NAPA";font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.055);font-size:92px;position:absolute;right:160px}
.warranty-card{position:relative;overflow:hidden}
.warranty-card>*{position:relative}
.cta-card{padding-top:12px}

.page-hero{padding:106px 0 98px;background:radial-gradient(circle at 88% 0,rgba(8,135,201,.28),transparent 31%),linear-gradient(120deg,#061521,#0b3450)}
.page-hero:before{content:"";position:absolute;width:5px;height:80px;background:linear-gradient(var(--red) 0 46%,#fff 46% 54%,var(--blue) 54%);left:max(28px,calc((100vw - 1220px)/2 - 28px));top:50%;transform:translateY(-50%);border-radius:99px}
.page-hero h1{font-size:clamp(46px,5.8vw,70px)}
.page-hero p{font-size:17px;color:#ccdde7}
.content-layout{grid-template-columns:minmax(0,1fr) 350px;gap:86px}
.prose{line-height:1.85}
.prose h2{color:var(--navy)}
.info-card{border-radius:13px;border:0;border-top:4px solid var(--red);box-shadow:0 22px 60px rgba(5,24,39,.11)}
.feature-list span{border-radius:8px;border-color:#d8e3e9}
.tag-cloud span{border-radius:7px;background:#edf5f8;color:#24465a}
.faq-list details{border-radius:9px}
.promo-card,.location-card,.empty-state{border-radius:14px}
.promo-card.dark{background:linear-gradient(125deg,#061521,#0b3450)}
.modern-form{border-radius:13px;background:#f5f8fa;border-color:#d9e4e9}
.modern-form input,.modern-form select,.modern-form textarea{border-radius:7px}
.modern-form button{background:var(--red)}
.form-status{padding:13px 15px;border-left:4px solid var(--blue);background:#eaf6fb;color:#17445a;font-weight:700;border-radius:6px}
.map-card{border-radius:14px}
.pdf-modal-trigger,.pdf-popup-trigger{padding:0;border:0;background:none;font:inherit;cursor:pointer;text-align:left}
.pdf-modal{width:min(1120px,calc(100% - 32px));height:min(88vh,900px);padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.38);overflow:hidden}
.pdf-modal::backdrop{background:rgba(2,13,22,.78);backdrop-filter:blur(6px)}
.pdf-modal-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto}
.pdf-modal header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}
.pdf-modal header h2{font-size:25px;margin:4px 0 0;letter-spacing:-.025em}
.pdf-modal-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:28px;line-height:1;cursor:pointer}
.pdf-modal-close:hover{background:var(--soft)}
.pdf-modal iframe{width:100%;height:100%;border:0;background:#edf2f5}
.pdf-modal footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.pdf-modal footer .button{min-height:42px;padding:10px 16px}

.site-footer{background:#04121c;padding-top:78px;border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--red) 0 33%,#fff 33% 66%,var(--blue) 66%) 1}
.footer-grid{grid-template-columns:1.55fr repeat(3,1fr);gap:58px}
.footer-grid h3{color:#fff;font-size:12px}
.footer-grid>div>a:not(.brand){color:#9db2be}
.footer-bottom{color:#78909d}
.floating-call{background:var(--red);border:3px solid #fff;box-shadow:0 14px 32px rgba(243,52,66,.36)}

@media(max-width:1050px){
  .primary-nav{gap:17px}.brand-logo{width:150px}
}
@media(max-width:960px){
  .container{width:min(100% - 36px,1220px)}
  .nav-wrap{height:82px}
  .brand-logo{width:152px;height:62px}
  .primary-nav{top:75px;border-radius:10px;padding:12px}
  .primary-nav a:not(.nav-cta){padding:12px 14px}
  .hero{min-height:650px}
  .hero-content{padding:90px 0}
  .hero-media{background-position:63% center}
  .split{gap:50px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1220px)}
  .nav-wrap{height:76px}
  .brand-logo{width:137px;height:57px}
  .hero{min-height:650px}
  .hero-content{padding:74px 0}
  .hero h1{font-size:clamp(43px,14vw,58px)}
  .hero p{font-size:16px}
  .trust-row{margin-top:44px}
  .quick-strip{margin-top:0;padding-top:14px}
  .quick-grid{border-radius:10px}
  .section{padding:78px 0}
  .services-section{padding-top:82px}
  .service-card{padding:28px}
  .story-image{border-radius:10px}
  .story-image img{border-radius:10px}
  .warranty-card,.cta-card{border-radius:10px}
  .page-hero{padding:74px 0}
  .page-hero:before{display:none}
  .page-hero h1{font-size:clamp(42px,12vw,56px)}
  .modern-form{padding:22px 18px}
  .pdf-modal{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}
  .pdf-modal header{padding:16px}
  .pdf-modal header h2{font-size:20px}
  .pdf-modal footer{align-items:stretch;flex-direction:column}
  .pdf-modal footer .button{width:100%}
  .footer-grid{grid-template-columns:1fr}
}
