*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--w:#fff;--b:#1D1D1F;--g:#F5F5F7;--gt:#6E6E73;--gl:#D2D2D7;--bl:#0071E3;--bh:#0077ED;--wa:#25D366}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--b);background:var(--w);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* LAYOUT */
.c,.container{max-width:1120px;margin:0 auto;padding:0 24px}
.content{max-width:820px;margin:0 auto}
.content-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;transition:background .3s,box-shadow .3s}
header.sc,header.scrolled{background:rgba(255,255,255,.93);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.hi,.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--b)}
.li,.logo-icon{width:32px;height:32px;background:var(--b);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.li svg,.logo-icon svg{width:18px;height:18px}
nav{display:flex;align-items:center;gap:4px}
nav a{font-size:13px;color:var(--b);padding:6px 10px;border-radius:8px;transition:background .2s}
nav a:hover{background:var(--g)}
.header-cta{display:flex;align-items:center;gap:12px}
.header-phone{font-size:14px;font-weight:600;color:var(--b)}
.bh,.btn-header{background:var(--bl);color:#fff;padding:8px 16px;border-radius:980px;font-size:13px;font-weight:500;transition:background .2s;display:inline-block}
.bh:hover,.btn-header:hover{background:var(--bh)}
.hm,.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hm span,.hamburger span{width:22px;height:2px;background:var(--b);border-radius:2px}
.mn,.mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding:16px 24px;border-bottom:1px solid var(--gl);z-index:999;flex-direction:column;gap:2px}
.mn.op,.mobile-nav.open{display:flex}
.mn a,.mobile-nav a{padding:10px 14px;font-size:15px;font-weight:500;border-radius:10px;color:var(--b)}
.mn a:hover,.mobile-nav a:hover{background:var(--g)}

/* BREADCRUMB */
.bc,.breadcrumb{padding:76px 0 0;font-size:13px;color:var(--gt)}
.bc a,.breadcrumb a{color:var(--bl)}
.bc span,.breadcrumb span{margin:0 6px}

/* TYPOGRAPHY */
h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(1.7rem,3.5vw,2.9rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:14px}
h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:12px}
h3{font-size:16px;font-weight:600;margin-bottom:8px}
.ps{font-size:16px;color:var(--gt);max-width:580px;line-height:1.65;margin-bottom:26px}
.prose{font-size:15px;color:var(--gt);line-height:1.75}
.prose p{margin-bottom:14px}
.prose h2{font-family:"DM Serif Display",Georgia,serif;font-size:1.5rem;color:var(--b);margin:24px 0 10px}
.prose h3{font-size:16px;font-weight:700;color:var(--b);margin:18px 0 8px}
.section-tag,.st{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--bl);margin-bottom:10px}
.section-sub,.ss{font-size:15px;color:var(--gt);line-height:1.7;max-width:600px}

/* PAGE HERO (index) */
.ph{padding:36px 0 56px;position:relative;overflow:hidden}
.pg{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.btag{display:inline-block;background:rgba(0,113,227,.08);border:1px solid rgba(0,113,227,.2);color:var(--bl);padding:5px 14px;border-radius:980px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}
.hb{display:flex;flex-wrap:wrap;gap:10px}
.hbg{display:inline-flex;align-items:center;gap:6px;background:var(--g);padding:7px 14px;border-radius:980px;font-size:13px;font-weight:500}

/* PAGE HERO (secondary pages) */
.page-hero{padding:36px 0 48px}
.page-hero h1{margin-bottom:12px}
.page-hero p{font-size:16px;color:var(--gt);max-width:640px;line-height:1.65;margin-bottom:20px}
.badge-cat{display:inline-block;background:rgba(0,113,227,.08);border:1px solid rgba(0,113,227,.2);color:var(--bl);padding:5px 14px;border-radius:980px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--g);padding:7px 14px;border-radius:980px;font-size:13px;font-weight:500}

/* SECTIONS */
section{padding:60px 0}
section.alt{background:var(--g)}

/* FORM */
.fw,.form-wrap{background:var(--w);border:1.5px solid var(--gl);border-radius:20px;padding:26px;box-shadow:0 8px 40px rgba(0,0,0,.12)}
.fw h3,.form-wrap h3{font-size:16px;font-weight:600;margin-bottom:16px}
.fg,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ff,.form-field{display:flex;flex-direction:column;gap:4px}
.ff label,.form-field label{font-size:11px;font-weight:600;color:var(--gt);text-transform:uppercase;letter-spacing:.05em}
.ff input,.ff select,.form-field input,.form-field select{width:100%;padding:10px 13px;border:1.5px solid var(--gl);border-radius:10px;font-family:inherit;font-size:14px;color:var(--b);background:var(--w);outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.ff input:focus,.ff select:focus,.form-field input:focus,.form-field select:focus{border-color:var(--bl)}
.bp,.btn-primary{width:100%;padding:13px;background:var(--bl);color:#fff;border:none;border-radius:980px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;margin-top:6px;transition:background .2s}
.bp:hover,.btn-primary:hover{background:var(--bh)}
.fc,.form-confirm{display:none;text-align:center;padding:14px;background:rgba(52,211,153,.08);border-radius:10px;color:#059669;font-weight:500;margin-top:8px;font-size:14px}
.fc.sh,.form-confirm.show{display:block}

/* BUTTONS */
.bw{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:#fff;color:var(--b);border-radius:980px;font-weight:600;font-size:15px;transition:all .2s}
.bw:hover{background:#F5F5F7}
.bo{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);border-radius:980px;font-weight:600;font-size:15px;transition:all .2s}
.bo:hover{border-color:#fff}
.btn-white{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--w);color:var(--b);border:1.5px solid var(--gl);border-radius:980px;font-size:15px;font-weight:600;transition:all .2s}
.btn-white:hover{border-color:var(--bl);color:var(--bl)}
.btn-blue-outline{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;color:var(--bl);border:1.5px solid var(--bl);border-radius:980px;font-size:15px;font-weight:600;transition:all .2s}
.btn-blue-outline:hover{background:var(--bl);color:#fff}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* CTA STRIP */
.cta,.cs2,.cta-strip{background:var(--b);padding:56px 0;text-align:center}
.cta h2,.cs2 h2,.cta-strip h2{color:#fff;margin-bottom:10px}
.cta p,.cs2 p,.cta-strip p{color:#86868B;font-size:16px;margin-bottom:28px}
.cb{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* VILLES PAGE */
.dept-block{margin-bottom:44px}
.dept-header{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--gl)}
.dept-num{width:48px;height:48px;background:var(--bl);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex-shrink:0}
.dept-header h2{font-size:22px;font-weight:700;margin:0;letter-spacing:-.01em}
.dept-header p{font-size:13px;color:var(--gt);margin:2px 0 0}
.links-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}
.link-chip{display:flex;align-items:center;justify-content:center;padding:9px 12px;background:var(--w);border:1.5px solid var(--gl);border-radius:10px;font-size:13px;font-weight:500;text-align:center;transition:all .2s;line-height:1.3;color:var(--b)}
.link-chip:hover{border-color:var(--bl);color:var(--bl);background:rgba(0,113,227,.02)}

/* ZONE GRID (index) */
.zone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.zone-card{display:block;background:var(--w);border:1.5px solid var(--gl);border-radius:16px;padding:22px 18px;transition:all .3s;text-decoration:none;color:inherit}
.zone-card:hover{border-color:var(--bl);box-shadow:0 4px 20px rgba(0,113,227,.08)}
.zone-num{font-size:28px;font-weight:800;color:var(--bl);margin-bottom:6px;font-family:"DM Serif Display",Georgia,serif}
.zone-card h3{font-size:15px;font-weight:600;margin-bottom:4px}
.zone-card p{font-size:13px;color:var(--gt)}

/* VILLE PAGES (individual) */
.rg{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.ng{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.rc,.nc{display:flex;align-items:center;justify-content:center;padding:10px 12px;background:var(--w);border:1.5px solid var(--gl);border-radius:10px;font-size:12px;font-weight:500;text-align:center;transition:all .2s;line-height:1.3;color:var(--b)}
.rc:hover,.nc:hover{border-color:var(--bl);color:var(--bl)}

/* CARDS */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--w);border:1.5px solid var(--gl);border-radius:16px;padding:24px;transition:all .3s}
.card:hover{border-color:var(--bl);box-shadow:0 4px 20px rgba(0,113,227,.08)}
.card-icon{width:48px;height:48px;background:rgba(0,113,227,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.card-icon svg{width:24px;height:24px}

/* MODELS */
.models-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.model{background:var(--w);border:1.5px solid var(--gl);border-radius:14px;padding:18px 14px;transition:all .3s;text-align:center}
.model:hover{border-color:var(--bl);transform:translateY(-2px)}
.model-name{font-size:14px;font-weight:600;color:var(--b);margin-bottom:4px}
.model-year{font-size:12px;color:var(--gt)}
.model-chip{display:inline-block;background:rgba(0,113,227,.08);color:var(--bl);font-size:11px;font-weight:600;padding:2px 8px;border-radius:980px;margin-bottom:8px}
.model-link{display:block;font-size:13px;color:var(--bl);margin-top:8px;font-weight:500}

/* PRICING */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price-card{background:var(--w);border:1.5px solid var(--gl);border-radius:14px;padding:20px}
.price{font-size:24px;font-weight:700;color:var(--bl)}

/* SPECS */
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}
.spec-card{background:var(--g);border-radius:12px;padding:14px 16px}
.spec-card .label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--gt);letter-spacing:.05em;margin-bottom:4px}
.spec-card .value{font-size:15px;font-weight:600;color:var(--b)}

/* FAQ */
.fl,.faq-list{max-width:720px}
.fi,.faq-item{border-bottom:1px solid var(--gl)}
.fq,.faq-q{display:flex;justify-content:space-between;align-items:center;padding:17px 0;cursor:pointer;font-size:15px;font-weight:500;gap:16px;transition:color .2s;user-select:none}
.fq:hover,.faq-q:hover{color:var(--bl)}
.fc2,.faq-chevron{width:18px;height:18px;flex-shrink:0;transition:transform .3s}
.fi.op .fc2,.faq-item.open .faq-chevron{transform:rotate(180deg)}
.fa,.faq-a{font-size:14px;color:var(--gt);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}
.fi.op .fa,.faq-item.open .faq-a{max-height:300px;padding-bottom:16px}

/* STEPS */
.step-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.step-n{width:36px;height:36px;background:var(--bl);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}

/* ANIMATIONS */
.rv,.reveal{opacity:1;transform:none;transition:opacity .6s,transform .6s}

/* FOOTER */
footer{background:var(--b);color:#86868B;padding:48px 0 32px}
.fgrid,.footer-grid,.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{display:flex;flex-direction:column}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:#fff;font-weight:600;font-size:15px}
.footer-logo .logo-icon,.footer-logo .li{background:#333 !important}
.footer-desc{font-size:14px;line-height:1.65;color:#86868B}
.fcl,.footer-col{display:flex;flex-direction:column}
.fcl h4,.footer-col h4{font-size:12px;font-weight:600;text-transform:uppercase;color:#fff;margin-bottom:14px;letter-spacing:.06em}
.fcl ul,.footer-col ul{display:flex;flex-direction:column;gap:8px}
.fcl a,.footer-col a,.footer-col ul li a{font-size:13px;color:#86868B;transition:color .2s}
.fcl a:hover,.footer-col a:hover,.footer-col ul li a:hover{color:#fff}
.fbot,.footer-bottom{border-top:1px solid #333336;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fbot p,.fbot a,.footer-bottom p,.footer-bottom a{font-size:12px;color:#86868B}
.fbot a:hover,.footer-bottom a:hover{color:#fff}

/* FLOATING BUTTONS */
.fbs,.floating-btns{position:fixed;bottom:22px;right:18px;z-index:999;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.fb,.float-btn{display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:980px;font-size:13px;font-weight:600;color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.2);transition:transform .2s}
.fb:hover,.float-btn:hover{transform:scale(1.04)}
.fb svg,.float-btn svg{width:18px;height:18px}
.fwa,.float-wa{background:var(--wa)}
.fca,.float-call{background:var(--bl)}

/* TICKER */
.ticker-section{background:var(--b);padding:14px 0;overflow:hidden}
.ticker-label{text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:10px}
.ticker-wrap{overflow:hidden;white-space:nowrap}
.ticker-inner{display:inline-flex;animation:ticker 30s linear infinite}
.ticker-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.7);padding:0 24px}
.ticker-sep{color:var(--bl)}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* RESPONSIVE */
@media(max-width:960px){
  .pg,.two,.content-grid{grid-template-columns:1fr}
  .rg,.ng,.links-grid{grid-template-columns:repeat(3,1fr)}
  .zone-grid{grid-template-columns:repeat(2,1fr)}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .models-grid{grid-template-columns:repeat(3,1fr)}
  .fgrid,.footer-grid,.footer-inner{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:768px){
  nav{display:none}
  .hm,.hamburger{display:flex}
  section{padding:44px 0}
  .fg,.form-grid{grid-template-columns:1fr}
  .rg,.ng{grid-template-columns:repeat(2,1fr)}
  .links-grid{grid-template-columns:repeat(2,1fr)}
  .cards-grid{grid-template-columns:1fr}
  .models-grid{grid-template-columns:repeat(2,1fr)}
  .fgrid,.footer-grid,.footer-inner{grid-template-columns:1fr}
  .header-phone{display:none}
  .fb span,.float-btn span{display:none}
  .fb,.float-btn{padding:13px;border-radius:50%;width:50px;height:50px;justify-content:center}
}
@media(max-width:480px){
  .rg,.ng,.links-grid{grid-template-columns:repeat(2,1fr)}
  .zone-grid{grid-template-columns:repeat(2,1fr)}
  .models-grid{grid-template-columns:repeat(2,1fr)}
}
