﻿:root {
  --blue: #14358a;
  --blue-deep: #0e2a72;
  --blue-mid: #1a43a8;
  --blue-soft: #eaf0fb;
  --blue-line: #d6e0f3;
  --ink: #0c1733;
  --ink-2: #38476a;
  --ink-3: #6a7693;
  --bg: #ffffff;
  --bg-2: #f5f7fc;
  --line: #e6e9f2;
  --green: #16a34a;
  --amber: #f59e0b;
  --red: #dc2626;
  --shadow-sm: 0 1px 3px rgba(15,26,70,.07), 0 1px 2px rgba(15,26,70,.05);
  --shadow-md: 0 6px 20px rgba(15,26,70,.09), 0 2px 6px rgba(15,26,70,.05);
  --shadow-lg: 0 24px 64px rgba(15,26,70,.14), 0 6px 20px rgba(15,26,70,.07);
  --shadow-blue: 0 8px 28px rgba(20,53,138,.30);
  --radius: 14px;
  --t: 0.18s ease;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Manrope','Inter',sans-serif;color:var(--ink);letter-spacing:-0.025em;margin:0;}
h1{font-size:clamp(36px,5.5vw,76px);font-weight:900;line-height:1.02;letter-spacing:-.03em;}
h2{font-size:clamp(26px,3.5vw,52px);font-weight:800;line-height:1.0;letter-spacing:-.025em;}
h3{font-size:20px;font-weight:700;}
p{margin:0;color:var(--ink-2);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:0;background:none;}
input,textarea,select{font-family:inherit;font-size:15px;}
ul{padding:0;margin:0;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ---- KEYFRAMES ---- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-28px);}to{opacity:1;transform:translateX(0);}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(28px);}to{opacity:1;transform:translateX(0);}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.4);opacity:.6;}100%{transform:translate(-50%,-50%) scale(1.7);opacity:0;}}
@keyframes shimmer{0%{background-position:-400px 0;}100%{background-position:400px 0;}}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes ripple{to{transform:scale(4);opacity:0;}}
@keyframes badgePop{0%{transform:rotate(2deg) scale(.8);}60%{transform:rotate(2deg) scale(1.08);}100%{transform:rotate(2deg) scale(1);}}
@keyframes gradShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}};

/* ---- GRAIN OVERLAY ---- */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---- SCROLL REVEAL (GSAP-driven, CSS just resets) ---- */
.reveal,.reveal.left,.reveal.right,.reveal.scale{opacity:1;transform:none;}
.reveal-d1,.reveal-d2,.reveal-d3,.reveal-d4{}

/* ---- TOPBAR ---- */
.topbar{background:var(--blue-deep);color:#fff;font-size:13px;}
.topbar-inner{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:8px 24px;max-width:1200px;margin:0 auto;}
.topbar-left{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.topbar-item{display:inline-flex;gap:7px;align-items:center;opacity:.9;}
.topbar-item svg{width:13px;height:13px;flex-shrink:0;}
.topbar-right{display:inline-flex;gap:14px;align-items:center;}
@media(max-width:720px){.topbar-right{display:none;}.topbar-left{font-size:12px;gap:10px;}}

/* ---- HEADER ---- */
header.nav{position:sticky;top:0;z-index:50;background:transparent;}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 24px;max-width:1200px;margin:0 auto;transition:background .5s cubic-bezier(.16,1,.3,1),border-radius .5s,margin .5s,padding .4s,box-shadow .5s;}
.nav-inner .brand{justify-self:start;}
.nav-inner nav.menu{justify-self:center;}
.nav-inner > div:last-child{justify-self:end;}
header.nav.scrolled .nav-inner{background:rgba(8,20,65,.96);backdrop-filter:blur(28px) saturate(180%);border-radius:72px;margin:10px auto;width:calc(100% - 36px);padding:5px 22px;box-shadow:0 8px 40px rgba(8,20,65,.35),0 0 0 1px rgba(255,255,255,.08);}
header.nav.scrolled nav.menu a{color:rgba(255,255,255,.75);}
header.nav.scrolled nav.menu a:hover{color:#fff;}
header.nav.scrolled nav.menu a::after{background:#fff;}
header.nav.scrolled .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25);}
header.nav.scrolled .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45);}
.brand{display:flex;align-items:flex-start;overflow:hidden;height:88px;}
.brand-logo{width:150px;height:150px;object-fit:contain;margin-top:-30px;transition:transform var(--t);}
.brand-logo:hover{transform:scale(1.03);}
header.nav.scrolled .brand{height:72px;}
header.nav.scrolled .brand-logo{width:130px;height:130px;margin-top:-26px;}
@media(max-width:720px){.brand{height:66px;}.brand-logo{width:110px;height:110px;margin-top:-22px;}}
@media(max-width:720px){header.nav.scrolled .brand{height:58px;}header.nav.scrolled .brand-logo{width:96px;height:96px;margin-top:-19px;}}
nav.menu{display:flex;gap:26px;align-items:center;}
nav.menu a{font-weight:500;font-size:15px;color:var(--ink-2);position:relative;padding-bottom:2px;}
nav.menu a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--blue);border-radius:2px;transition:width .2s ease;}
nav.menu a:hover{color:var(--blue);}
nav.menu a:hover::after{width:100%;}
.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15px;transition:transform var(--t),box-shadow .2s ease,background .15s ease;white-space:nowrap;position:relative;overflow:hidden;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:var(--shadow-blue);}
.btn-ghost{color:var(--blue);background:transparent;border:1.5px solid var(--blue-line);}
.btn-ghost:hover{background:var(--blue-soft);transform:translateY(-1px);}
.btn-lg{padding:16px 30px;font-size:16px;border-radius:999px;}
.btn svg{width:18px;height:18px;}
.btn-ripple::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.35);width:100px;height:100px;transform:scale(0);pointer-events:none;opacity:1;}
.btn-ripple.do-ripple::after{animation:ripple .5s ease-out forwards;}
.menu-toggle{display:none;}
@media(max-width:900px){
  nav.menu{display:none;}
  .menu-toggle{display:inline-flex;}
  nav.menu.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 16px 16px;box-shadow:var(--shadow-md);animation:fadeInUp .2s ease;}
  nav.menu.open a{padding:13px 8px;border-bottom:1px solid var(--line);}
  nav.menu.open a::after{display:none;}
}

/* ---- HERO ---- */
.hero{position:relative;overflow-x:hidden;isolation:isolate;}
.hero-bg{position:absolute;inset:0;z-index:-2;background-image:url('../assets/carrosserie.webp');background-size:cover;background-position:center;filter:blur(3px) saturate(1.1);transform:scale(1.05);transition:transform 8s ease-out;}
.hero-bg.loaded{transform:scale(1);}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(255,255,255,.75) 0%,rgba(255,255,255,.82) 55%,rgba(255,255,255,.92) 100%);}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:52px;align-items:center;padding:68px 24px 76px;max-width:1200px;margin:0 auto;}
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr;gap:36px;padding:40px 24px 52px;}}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 14px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-weight:600;font-size:13px;border:1px solid var(--blue-line);}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.18);animation:pulse-dot 2s ease infinite;}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 4px rgba(22,163,74,.18);}50%{box-shadow:0 0 0 7px rgba(22,163,74,.08);}}
.hero h1{margin-top:18px;padding-bottom:.06em;}
.hero h1 .accent{color:var(--blue);}
.hero .lede{margin-top:18px;font-size:17px;color:var(--ink-2);max-width:560px;line-height:1.65;}
.hero-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}
.hero-bullets{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:28px;max-width:540px;}
@media(max-width:500px){.hero-bullets{grid-template-columns:1fr;}}
.hero-bullets li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);font-weight:500;}
.hero-bullets li svg{width:18px;height:18px;color:var(--green);flex:0 0 18px;margin-top:2px;}

/* hero card */
.hero-card{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#0d2870 0%,#14358a 55%,#1e48b5 100%);color:#fff;padding:30px;box-shadow:var(--shadow-lg),0 0 0 1px rgba(255,255,255,.06);animation:floatY 5s ease-in-out infinite;}
.hero-card::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 350px at 110% -10%,rgba(255,255,255,.1),transparent 60%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><path d='M0 30h60M30 0v60' stroke='white' stroke-opacity='.04' stroke-width='1'/></svg>");pointer-events:none;}
.hero-card .head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;position:relative;}
.hero-card .head h3{color:#fff;font-size:21px;}
.hero-card .head p{color:rgba(255,255,255,.72);font-size:13px;margin-top:4px;}
.badge-200{background:#16a34a;color:#fff;font-weight:800;font-size:14px;letter-spacing:.03em;padding:10px 13px;border-radius:9px;transform:rotate(2deg);box-shadow:0 6px 18px rgba(22,163,74,.4);white-space:nowrap;text-align:center;animation:badgePop .5s .8s cubic-bezier(.34,1.56,.64,1) both;}
.perk-list{display:grid;gap:12px;margin-top:24px;position:relative;}
.perk{display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:13px 15px;border-radius:12px;transition:background .15s ease,transform .15s ease;}
.perk:hover{background:rgba(255,255,255,.13);transform:translateX(4px);}
.perk .icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.14);flex:0 0 40px;}
.perk .icon svg{width:22px;height:22px;color:#fff;}
.perk .t{font-weight:700;font-size:14px;}
.perk .s{font-size:12px;color:rgba(255,255,255,.68);margin-top:2px;}
.hero-card-foot{margin-top:20px;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.13);font-size:13px;color:rgba(255,255,255,.82);position:relative;}
.hero-card-foot strong{color:#fff;}

/* trust strip */
.trust{padding:20px 24px;border-top:1px solid var(--line);display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--ink-3);font-size:13px;max-width:1200px;margin-inline:auto;}
.trust-item{display:inline-flex;gap:9px;align-items:center;}
.trust-item svg{width:18px;height:18px;color:var(--blue);}
.trust-item b{color:var(--ink);font-weight:700;font-size:14px;}

/* ---- SECTIONS ---- */
section{padding:88px 0;}
@media(max-width:720px){section{padding:62px 0;}}
.section-head{max-width:720px;margin:0 auto 52px;text-align:center;}
.section-head .eyebrow{color:var(--blue);font-weight:700;font-size:11px;letter-spacing:.45em;text-transform:uppercase;}
.section-head h2{margin-top:10px;}
.section-head p{margin-top:14px;font-size:17px;}

/* ---- STATS ---- */
.stats-strip{background:var(--blue-deep);color:#fff;padding:42px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
.stat-item{text-align:center;padding:10px;}
.stat-num{font-family:'Manrope',sans-serif;font-size:clamp(32px,4vw,52px);font-weight:900;color:#fff;line-height:1;}
.stat-suf{font-size:.55em;font-weight:700;color:rgba(255,255,255,.75);vertical-align:baseline;}
.stat-label{font-size:14px;color:rgba(255,255,255,.72);margin-top:6px;}

/* ---- SERVICES ---- */
.services{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:980px){.service-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr;}}
.service-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue-line);}
.service-icon{width:54px;height:54px;border-radius:13px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);margin-bottom:18px;transition:background .2s ease;}
.service-card:hover .service-icon{background:var(--blue);color:#fff;}
.service-icon svg{width:28px;height:28px;}
.service-card h3{margin-bottom:8px;}
.service-card p{font-size:14px;line-height:1.6;}
.service-tag{margin-top:14px;display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--blue);font-weight:600;}

/* ---- FORM ---- */
.form-section{background:#fff;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media(max-width:980px){.form-grid{grid-template-columns:1fr;gap:32px;}}
.form-side h2{margin-bottom:18px;}
.form-side .lede{font-size:16px;max-width:480px;line-height:1.7;}
.timeline{margin-top:32px;display:grid;gap:16px;max-width:460px;}
.step{display:flex;gap:14px;align-items:flex-start;}
.step-num{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;display:grid;place-items:center;flex:0 0 34px;font-size:14px;box-shadow:0 4px 12px rgba(20,53,138,.3);}
.step .t{font-weight:600;color:var(--ink);}
.step .s{font-size:14px;color:var(--ink-2);margin-top:2px;}
.form-card{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow-md);}
.form-card-head{display:flex;gap:14px;align-items:center;margin-bottom:6px;}
.form-card-head .ic{width:42px;height:42px;border-radius:11px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;}
.form-card-head .ic svg{width:22px;height:22px;}
.form-card h3{font-size:22px;}
.form-card .sub{font-size:14px;color:var(--ink-2);margin-bottom:22px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:520px){.field-row{grid-template-columns:1fr;}}
.label{font-size:13px;font-weight:600;color:var(--ink);display:flex;gap:4px;}
.label .req{color:var(--red);}
.input,.textarea{width:100%;padding:12px 15px;border-radius:10px;border:1.5px solid var(--line);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;color:var(--ink);}
.input::placeholder,.textarea::placeholder{color:#a8b0c2;}
.input:focus,.textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,53,138,.1);}
.input.error,.textarea.error{border-color:var(--red);box-shadow:0 0 0 4px rgba(220,38,38,.08);}
.err-msg{color:var(--red);font-size:12px;margin-top:2px;}
.textarea{min-height:120px;resize:vertical;}
.uploader{border:1.5px dashed var(--blue-line);border-radius:12px;padding:22px;text-align:center;background:var(--blue-soft);cursor:pointer;transition:background .15s ease,border-color .15s ease;}
.uploader:hover{background:#dce8f9;border-color:var(--blue);}
.uploader svg{width:28px;height:28px;color:var(--blue);}
.uploader .t{font-weight:600;margin-top:8px;font-size:14px;}
.uploader .s{font-size:12px;color:var(--ink-3);margin-top:2px;}
.uploader input{display:none;}
.files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.file-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);font-size:12px;color:var(--ink-2);max-width:220px;}
.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-chip button{color:var(--ink-3);padding:0;line-height:0;}
.file-chip button:hover{color:var(--red);}
.insured-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px 16px;border:1.5px solid var(--blue-line);border-radius:12px;background:var(--blue-soft);transition:border-color .15s,background .15s;}
.insured-check:hover{border-color:var(--blue);background:#dce8f9;}
.insured-check input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;}
.check-box{width:22px;height:22px;border-radius:6px;border:2px solid var(--blue-line);background:#fff;flex:0 0 22px;margin-top:2px;display:grid;place-items:center;transition:background .15s,border-color .15s;}
.insured-check input:checked ~ .check-box{background:var(--blue);border-color:var(--blue);}
.insured-check input:checked ~ .check-box::after{content:'';width:6px;height:10px;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(45deg) translate(-1px,-1px);}
.check-label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;}
.submit-row{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.legal{font-size:12px;color:var(--ink-3);margin-top:14px;}
.success{background:#e7f7ee;border:1px solid #bfe6cf;border-radius:12px;padding:24px;color:#0d6b34;display:flex;gap:14px;align-items:flex-start;animation:scaleIn .3s ease;}
.success .ic{width:38px;height:38px;border-radius:50%;background:#16a34a;display:grid;place-items:center;flex:0 0 38px;}
.success .ic svg{width:20px;height:20px;color:#fff;}
.success h4{font-family:'Manrope',sans-serif;font-size:18px;color:#0d6b34;margin-bottom:4px;}
.success p{color:#0d6b34;font-size:14px;}

/* ---- GALLERY ---- */
.gallery{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.gallery-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr;}}
.ba-card{background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;}
.ba-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.ba-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d6dbe8;user-select:none;touch-action:none;}
.ba-img{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;color:#fff;font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;background-size:cover;background-position:center;}
.ba-img span{text-shadow:0 1px 8px rgba(0,0,0,.9);background:rgba(0,0,0,.45);padding:3px 12px;border-radius:5px;}
.ba-before{}
.ba-after{clip-path:inset(0 0 0 50%);}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.25);}
.ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#fff;border:2.5px solid var(--blue);display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.22);cursor:ew-resize;}
.ba-knob svg{width:16px;height:16px;color:var(--blue);}
.ba-tag{position:absolute;top:12px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(6px);}
.ba-tag.before{left:12px;background:rgba(0,0,0,.5);color:#fff;}
.ba-tag.after{right:12px;background:rgba(255,255,255,.9);color:var(--blue-deep);}
.ba-meta{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.ba-meta h3{font-size:16px;}
.ba-meta .vehicle{color:var(--ink-3);font-size:13px;}

/* ---- TESTIMONIALS ---- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease;}
.testi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.stars{display:inline-flex;gap:2px;color:#f59e0b;}
.stars svg{width:17px;height:17px;}
.quote{font-size:15px;color:var(--ink);flex:1;line-height:1.7;font-style:italic;}
.testi-meta{display:flex;gap:12px;align-items:center;padding-top:12px;border-top:1px solid var(--line);}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0;}
.testi-meta .name{font-weight:600;font-size:14px;}
.testi-meta .city{font-size:12px;color:var(--ink-3);}
.rating-row{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:40px;flex-wrap:wrap;padding:22px 28px;background:var(--bg-2);border:1.5px solid var(--line);border-radius:16px;max-width:720px;margin-left:auto;margin-right:auto;}
.rating-num{font-family:'Manrope',sans-serif;font-size:40px;font-weight:900;color:var(--blue);}
.rating-text{display:flex;flex-direction:column;gap:4px;}
.rating-text .small{font-size:13px;color:var(--ink-3);}

/* ---- INSURERS ---- */
.insurers{background:#fff;border-top:1px solid var(--line);}
.insurer-img-wrap{text-align:center;margin-top:0;}
.insurer-img-wrap img{max-width:900px;width:100%;margin:0 auto;border-radius:16px;box-shadow:var(--shadow-md);}

/* ---- INFOS ---- */
.infos{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.infos-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;}
@media(max-width:880px){.infos-grid{grid-template-columns:1fr;}}
.info-card{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:24px;}
.info-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.info-row:last-child{border-bottom:0;}
.info-row .ic{width:38px;height:38px;border-radius:9px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;flex:0 0 38px;}
.info-row .ic svg{width:18px;height:18px;}
.info-row .t{font-size:12px;color:var(--ink-3);font-weight:500;text-transform:uppercase;letter-spacing:.04em;}
.info-row .v{font-weight:600;color:var(--ink);margin-top:3px;}
.hours-table{width:100%;border-collapse:collapse;}
.hours-table td{padding:10px 0;font-size:14px;border-bottom:1px solid var(--line);}
.hours-table tr:last-child td{border-bottom:0;}
.hours-table td:first-child{color:var(--ink-2);}
.hours-table td:last-child{text-align:right;font-weight:600;color:var(--ink);}
.closed{color:var(--red)!important;}
.map-card{background:#fff;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;min-height:100%;display:flex;flex-direction:column;}
.map-stage{flex:1;min-height:360px;position:relative;overflow:hidden;border-radius:16px 16px 0 0;}
.map-pin{position:absolute;top:48%;left:52%;transform:translate(-50%,-100%);}
.map-pin .pin{width:40px;height:40px;border-radius:50% 50% 50% 0;background:var(--blue);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 8px 24px rgba(20,53,138,.4);}
.map-pin .pin::after{content:'';width:14px;height:14px;border-radius:50%;background:#fff;}
.map-pin .pulse{position:absolute;left:50%;top:100%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:2px solid var(--blue);opacity:.35;animation:pulse 2.4s ease-out infinite;}
.map-foot{padding:14px 18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:14px;}

/* ---- FAQ ---- */
.faq-list{max-width:840px;margin:0 auto;display:grid;gap:10px;}
.faq-item{background:#fff;border:1.5px solid var(--line);border-radius:13px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;}
.faq-item.open{border-color:var(--blue-line);box-shadow:var(--shadow-sm);}
.faq-q{width:100%;text-align:left;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600;font-size:16px;color:var(--ink);}
.faq-q svg{width:20px;height:20px;color:var(--blue);transition:transform .25s cubic-bezier(.22,1,.36,1);flex:0 0 20px;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.22,1,.36,1),padding .25s ease;padding:0 22px;color:var(--ink-2);font-size:15px;line-height:1.7;}
.faq-item.open .faq-a{padding-bottom:20px;}

/* ---- CTA STRIP ---- */
.cta-strip{background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue) 60%,var(--blue-mid) 100%);background-size:200% 200%;animation:gradShift 8s ease infinite;color:#fff;padding:64px 0;}
.cta-strip .wrap{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.cta-strip h2{color:#fff;max-width:620px;}
.cta-strip p{color:rgba(255,255,255,.82);margin-top:8px;font-size:16px;}
.cta-strip .actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-white{background:#fff;color:var(--blue);font-weight:700;}
.btn-white:hover{background:#f0f4ff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.18);}
.btn-outline-white{color:#fff;border:1.5px solid rgba(255,255,255,.45);}
.btn-outline-white:hover{background:rgba(255,255,255,.1);transform:translateY(-1px);}

/* ---- FOOTER ---- */
footer.foot{background:#080f28;color:rgba(255,255,255,.72);padding:60px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px;}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
.foot h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;font-family:'Inter',sans-serif;font-weight:700;}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;}
.foot ul li,.foot ul a{font-size:14px;color:rgba(255,255,255,.65);}
.foot ul a:hover{color:#fff;}
.foot-brand img{height:90px;width:auto;border-radius:6px;filter:brightness(1.25);}
.foot-brand p{color:rgba(255,255,255,.6);font-size:14px;margin-top:16px;max-width:300px;line-height:1.65;}
.foot-social{display:flex;gap:10px;margin-top:18px;}
.foot-social a{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:rgba(255,255,255,.7);transition:background .15s,color .15s;}
.foot-social a:hover{background:var(--blue);color:#fff;}
.foot-social svg{width:17px;height:17px;}
.foot-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(255,255,255,.4);}

/* ---- FLOATING BUTTONS ---- */
.float-btns{position:fixed;bottom:20px;right:20px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.float-wa{display:inline-flex;gap:9px;align-items:center;background:#25d366;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 6px 24px rgba(37,211,102,.4);font-weight:700;font-size:14px;transition:transform .15s,box-shadow .2s;}
.float-wa:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,.45);}
.float-wa svg{width:20px;height:20px;}
.float-call{display:none;background:var(--blue);color:#fff;padding:13px 17px;border-radius:999px;box-shadow:var(--shadow-lg);font-weight:600;font-size:14px;gap:8px;align-items:center;transition:transform .15s;}
.float-call:hover{transform:translateY(-2px);}
.float-call svg{width:18px;height:18px;}
@media(max-width:720px){.float-call{display:inline-flex;}}

/* ---- MARQUEE ASSURANCES ---- */
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mq-wrap{position:relative;overflow:hidden;padding:16px 0;}
.mq-row{display:flex;overflow:hidden;margin-bottom:14px;}
.mq-row:last-child{margin-bottom:0;}
.mq-track{display:flex;gap:12px;align-items:center;}
.mq-row.ltr .mq-track{animation:mq-left 34s linear infinite;}
.mq-row.rtl .mq-track{animation:mq-right 34s linear infinite;}
.mq-row:hover .mq-track{animation-play-state:paused;}
.logo-chip{flex-shrink:0;background:transparent;border:none;box-shadow:none;padding:8px 16px;display:flex;align-items:center;gap:10px;white-space:nowrap;transition:transform .2s,opacity .2s;min-width:0;}
.logo-chip:hover{transform:translateY(-2px);opacity:.8;}
.logo-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block;}
.logo-name{font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;color:var(--ink);}
.logo-img{height:40px;max-width:140px;object-fit:contain;display:block;flex-shrink:0;}
.logo-favicon{height:30px;width:30px;border-radius:5px;object-fit:contain;flex-shrink:0;}
.mq-fade-l{position:absolute;left:0;top:0;height:100%;width:110px;background:linear-gradient(to right,#fff 20%,transparent);pointer-events:none;z-index:2;}
.mq-fade-r{position:absolute;right:0;top:0;height:100%;width:110px;background:linear-gradient(to left,#fff 20%,transparent);pointer-events:none;z-index:2;}
@media(max-width:720px){.logo-chip{padding:6px 12px;}.logo-img{height:32px;max-width:110px;}.logo-favicon{height:24px;width:24px;}}

/* ---- UTILITIES ---- */
[hidden]{display:none!important;}
.center{text-align:center;}
.mt-8{margin-top:8px;}.mt-16{margin-top:16px;}.mt-24{margin-top:24px;}
