
:root{--bg:#05070d;--bg2:#0a0f1c;--panel:rgba(255,255,255,.055);--panel2:rgba(255,255,255,.085);--line:rgba(255,255,255,.13);--text:#f5f8ff;--muted:#a8b2c8;--blue:#00b7ff;--blue2:#006eff;--cyan:#38f6ff;--success:#72ffbd;--warn:#ffd166;--shadow:0 25px 70px rgba(0,0,0,.45);--radius:26px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 75% 10%,rgba(0,183,255,.18),transparent 32rem),radial-gradient(circle at 10% 35%,rgba(0,110,255,.14),transparent 26rem),linear-gradient(180deg,#03050a 0%,var(--bg) 38%,#080b13 100%);line-height:1.6}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 75%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 34px));margin:0 auto}.header{position:sticky;top:0;z-index:50;backdrop-filter:blur(22px);background:rgba(4,7,13,.72);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.06em}.logo-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,183,255,.35),rgba(255,255,255,.08));border:1px solid rgba(0,183,255,.42);box-shadow:0 0 35px rgba(0,183,255,.18)}.logo-mark img{width:28px;height:28px}.nav-links{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:.94rem}.nav-links a:hover,.nav-links a[aria-current=page]{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;border-radius:999px;border:1px solid rgba(0,183,255,.38);background:linear-gradient(135deg,var(--blue),var(--blue2));color:#00111f;font-weight:850;box-shadow:0 18px 45px rgba(0,183,255,.22);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(0,183,255,.32)}.btn.secondary{background:rgba(255,255,255,.055);color:#fff;border-color:var(--line);box-shadow:none}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.2);box-shadow:none}.menu-btn{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.mobile-menu{display:none;border-top:1px solid var(--line);padding:14px 0 22px}.mobile-menu a{display:block;padding:12px 0;color:var(--muted)}.hero{padding:86px 0 66px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.kicker{color:var(--cyan);font-weight:850;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:16px}h1,h2,h3{line-height:1.08;margin:0 0 16px}h1{font-size:clamp(2.65rem,6vw,5.7rem);letter-spacing:-.07em}h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em}h3{font-size:1.22rem;letter-spacing:-.02em}.lead{font-size:clamp(1.08rem,1.7vw,1.28rem);color:var(--muted);max-width:710px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.trust-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.pill{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:999px;padding:10px 14px;color:#d8e3f7;font-size:.92rem}.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.map-card{min-height:520px;position:relative;padding:26px;background:radial-gradient(circle at 70% 22%,rgba(0,183,255,.28),transparent 18rem),linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}.map-lines{position:absolute;inset:0;opacity:.62;background-image:linear-gradient(35deg,transparent 0 46%,rgba(0,183,255,.24) 48% 52%,transparent 54% 100%),linear-gradient(-38deg,transparent 0 42%,rgba(255,255,255,.11) 43% 45%,transparent 47% 100%),radial-gradient(circle at 50% 50%,rgba(0,183,255,.13) 0 2px,transparent 3px);background-size:210px 210px,180px 180px,34px 34px}.route{position:absolute;inset:56px;border:1px solid rgba(0,183,255,.16);border-radius:32px}.pin{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 9px rgba(56,246,255,.12),0 0 45px rgba(56,246,255,.65)}.pin.one{left:18%;top:32%}.pin.two{left:70%;top:24%}.pin.three{left:54%;top:72%}.route-line{position:absolute;left:20%;top:35%;width:55%;height:39%;border-left:2px solid var(--cyan);border-bottom:2px solid var(--cyan);border-radius:0 0 0 55px;filter:drop-shadow(0 0 12px var(--cyan))}.map-content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;justify-content:space-between}.status-card{margin-top:auto;width:min(100%,390px);background:rgba(3,7,16,.68);border:1px solid var(--line);border-radius:22px;padding:20px;backdrop-filter:blur(16px)}.section{padding:76px 0}.section.alt{background:linear-gradient(180deg,transparent,rgba(255,255,255,.025),transparent)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}.section-head p{max-width:640px;color:var(--muted);margin:0}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:24px;padding:24px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.card:hover{transform:translateY(-4px);border-color:rgba(0,183,255,.38);background:rgba(255,255,255,.075)}.card p{color:var(--muted);margin:8px 0 0}.num{font-size:2rem;font-weight:950;color:rgba(0,183,255,.9);line-height:1}.icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;margin-bottom:16px;background:rgba(0,183,255,.12);border:1px solid rgba(0,183,255,.2);color:var(--cyan);font-weight:900}.feature-list{list-style:none;margin:18px 0 0;padding:0}.feature-list li{padding:9px 0 9px 28px;position:relative;color:#dbe6f8;border-bottom:1px solid rgba(255,255,255,.06)}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:900}.cta{padding:42px;border-radius:32px;border:1px solid rgba(0,183,255,.28);background:radial-gradient(circle at 80% 20%,rgba(0,183,255,.22),transparent 25rem),linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:var(--shadow)}.form{display:grid;gap:16px;border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:28px;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;color:#dce7fb;font-weight:750;font-size:.92rem;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(3,7,16,.72);color:#fff;border-radius:16px;padding:14px 14px;font:inherit;outline:none}textarea{min-height:128px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,183,255,.12)}.notice{border:1px solid rgba(255,209,102,.28);background:rgba(255,209,102,.08);border-radius:20px;padding:18px;color:#ffe9ae}.notice.blue{border-color:rgba(0,183,255,.28);background:rgba(0,183,255,.08);color:#dff7ff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:22px}table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.045);min-width:650px}th,td{text-align:left;padding:15px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}th{color:#fff;background:rgba(255,255,255,.06)}td{color:#cbd6ea}.legal article{max-width:930px}.legal h2{font-size:2rem;margin-top:34px}.legal h3{margin-top:22px}.legal p,.legal li{color:#cad5e9}.legal .meta{display:grid;grid-template-columns:240px 1fr;gap:8px 20px;border:1px solid var(--line);border-radius:22px;padding:20px;background:rgba(255,255,255,.045)}.legal .meta strong{color:#fff}.footer{padding:54px 0 34px;border-top:1px solid var(--line);background:rgba(0,0,0,.18)}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:28px}.footer p,.footer a{color:var(--muted)}.footer a{display:block;margin:8px 0}.small{font-size:.88rem;color:var(--muted)}.badge{display:inline-flex;border:1px solid rgba(0,183,255,.25);background:rgba(0,183,255,.09);color:#c9f7ff;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:800}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;background:rgba(5,8,15,.92);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:18px;display:none}.cookie-banner.show{display:block}.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:980px){.nav-links,.nav .desktop-cta{display:none}.menu-btn{display:block}.mobile-menu.show{display:block}.hero-grid,.grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}.hero{padding-top:54px}.map-card{min-height:430px}.section-head{display:block}.form-grid{grid-template-columns:1fr}.footer-grid{gap:8px}}@media(max-width:520px){.container{width:min(100% - 24px,var(--max))}.nav{height:68px}.hero-actions .btn{width:100%}.cta{padding:28px}.legal .meta{grid-template-columns:1fr}.cookie-inner{display:block}.cookie-actions{margin-top:12px}}

/* Logo officiel KAPT */
.logo-mark{overflow:hidden}
.logo-mark img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.brand-hero-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:0 25px 80px rgba(0,183,255,.18),var(--shadow)}
.brand-visual-img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
.brand-caption{padding:18px 22px 22px;border-top:1px solid var(--line);background:rgba(3,7,16,.68)}
.brand-caption p{margin:10px 0 0;color:var(--muted)}
@media(max-width:980px){.brand-visual-img{aspect-ratio:3/2}}

/* Logo lion centré au-dessus du grand titre de la page d'accueil */
.hero-logo-wrap{display:flex;justify-content:center;align-items:center;margin:0 0 22px}
.hero-logo-img{width:min(210px,45vw);height:auto;filter:drop-shadow(0 0 16px rgba(56,246,255,.48)) drop-shadow(0 0 38px rgba(0,183,255,.26));animation:kaptLogoFloat 5s ease-in-out infinite}
@keyframes kaptLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:980px){.brand-hero-card{display:none}.hero-logo-wrap{margin-bottom:18px}}
@media(max-width:520px){.hero-logo-img{width:168px}.hero{padding-top:42px}}


/* Correction : le logo public doit apparaître uniquement au-dessus du grand titre, sans bloc de définition. */
.hero-content{max-width:900px;margin:0 auto}
.hero-content .hero-logo-wrap{justify-content:center}
.hero-content h1,.hero-content .lead{max-width:860px}
.brand-hero-card{display:none!important}
@media(min-width:981px){.hero-content{text-align:left}.hero-content .hero-logo-wrap{justify-content:center}}

/* Visuels premium par page : remplace le cadre répétitif "Demande de trajet" */
.visual-card{position:relative;overflow:hidden;border:1px solid rgba(56,246,255,.18);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 28px 90px rgba(0,183,255,.16),0 28px 80px rgba(0,0,0,.42)}
.visual-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 70% 18%,rgba(56,246,255,.18),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%);mix-blend-mode:screen;opacity:.6;z-index:1}
.visual-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -34px 80px rgba(0,0,0,.28);z-index:2}
.visual-card picture,.visual-card img{display:block;width:100%}
.visual-card img{aspect-ratio:4/3;object-fit:cover;transform:scale(1.01);filter:saturate(1.04) contrast(1.03)}
.hero-grid .visual-card{align-self:center}
@media(max-width:980px){.hero-grid .visual-card{margin-top:8px}.visual-card{border-radius:26px}.visual-card img{aspect-ratio:4/3}}
@media(max-width:520px){.visual-card{border-radius:22px}.visual-card img{aspect-ratio:4/3}}


/* Correctif KAPT V3 : image entière, sans cadre ajouté par le site */
.page-visual.visual-card{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.page-visual.visual-card:before,.page-visual.visual-card:after{display:none!important;content:none!important}
.page-visual.visual-card picture{display:block;width:100%;background:transparent!important;border-radius:0!important;overflow:visible!important}
.page-visual.visual-card img{display:block;width:100%;height:auto!important;max-width:100%;aspect-ratio:auto!important;object-fit:contain!important;object-position:center center;transform:none!important;filter:saturate(1.02) contrast(1.02);border-radius:0!important}
.hero-grid .page-visual.visual-card{align-self:center;width:100%}
