/* RIDE UP — identité officielle, septembre 2026.
   Charte raster fournie : turquoise échantillonné #05F7FB, noir et blanc.
   Les règles de cette feuille remplacent l'ancienne direction Première Lueur. */
:root {
  color-scheme: dark;
  --bg:#080c0e;--surface:#12191c;--surface-warm:#0c1215;--chip-bg:#172c2e;--border:#283338;
  --heading:#f2f5f5;--text:#b5c0c5;--muted:#96a6ad;--accent:#05f7fb;--accent-xl:#05f7fb;
  --accent-hover:#83fcfe;--chip-text:#91fcff;--cross:#7d8e95;--on-accent:#052124;--gold:#05f7fb;
  --grad-signature:linear-gradient(100deg,#05f7fb,#02dcae);--grad-signature-text:linear-gradient(100deg,#05f7fb,#72fff1);
  --shadow-sm:0 2px 8px #0002;--shadow-card:0 8px 24px #0002;--shadow-card-hover:0 16px 32px #0003;--shadow-btn:none;
  --halo-reco:0 0 0 1px #05f7fb;--r-card:10px;--r-pill:6px;--r-input:6px;
  --font-heading:'Satoshi','Segoe UI',sans-serif;--font-body:'Satoshi','Segoe UI',sans-serif;
  --fs-h1:clamp(2.75rem,5.25vw,5.5rem);--fs-h2:clamp(2rem,4.1vw,3.65rem);--fs-h3:clamp(1.25rem,2.3vw,1.65rem);
  --fs-body:1.0625rem;--fs-lead:1.125rem;--fs-kicker:.875rem;--container:1320px;--container-pad:40px;
  --section-pad:clamp(72px,8vw,120px);
}
body{background:var(--bg);-webkit-font-smoothing:antialiased}
body::before{display:none}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.045em}
h2{line-height:1.12}p{line-height:1.7}
::selection{background:var(--accent);color:#051418}
a,button{-webkit-tap-highlight-color:transparent}
.btn-primary,.btn-secondary{min-height:52px;padding:16px 24px;font-weight:700;gap:24px;border-radius:6px;box-shadow:none}
.btn-primary:hover{box-shadow:0 0 24px #05f7fb16}
.btn-secondary{border-color:#55656c;background:transparent;color:var(--heading)}
.chip{border-radius:4px;font-weight:500}
.kicker{display:block;letter-spacing:.15em;color:var(--accent);margin-bottom:20px}
.kicker .horizon,.section .horizon{display:none}
.horizon::before,.horizon::after{display:none}
.hero-mark-stroke,.bento-mark-stroke{display:none}
.header{background:#080c0ef2;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}
.header-inner{min-height:88px;padding-block:12px;gap:64px}
.header.is-scrolled .header-inner{padding-block:12px}
.header-logo{flex-shrink:0;display:flex;width:185px;height:54px}
.brand-logo{display:block;width:100%;height:auto;object-fit:contain}
.header-links{gap:28px}.header-link{color:#c9d2d6;font-size:.9375rem}
.header-link::before{display:none}.header-link::after{background:var(--accent);height:1px}
.header-cta{min-height:44px;padding:12px 19px;font-size:.875rem}
.hero{background:#070b0d;position:relative;min-height:min(850px,calc(100svh - 88px));overflow:hidden;isolation:isolate}
.hero-photograph{position:absolute;inset:0 0 0 38%;z-index:-2}
.hero-photograph img{height:100%;width:100%;object-fit:cover;object-position:center 50%}
.hero-photograph::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#070b0d 0%,#070b0dd9 9%,#070b0d2b 43%,transparent 72%),linear-gradient(0deg,#070b0d 0%,transparent 22%)}
.hero-inner{padding-top:clamp(55px,8vh,90px);padding-bottom:104px;min-height:inherit;display:flex;flex-direction:column;justify-content:center}
.hero-content{max-width:730px}
.hero-eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:#c6dadd;display:flex;align-items:center;gap:12px;margin-bottom:26px}
.hero-eyebrow>span{height:6px;width:6px;flex:none;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #05f7fb66}
.hero-title{font-weight:700;font-size:var(--fs-h1);letter-spacing:-.052em;line-height:1.05;max-width:800px}
.hero-title>span{color:var(--accent);white-space:nowrap}
.hero-lead{color:#b9c4ca;max-width:470px;margin-top:28px;line-height:1.75;font-size:1rem}
.hero-ctas{margin-top:32px;align-items:center;gap:26px}
.hero-ctas .btn-primary{font-size:.9375rem}
.hero-link{font-size:.875rem;color:#e1e8eb;display:inline-flex;align-items:center;gap:14px;text-decoration:none;border-bottom:1px solid #ffffff45;padding-block:8px}
.hero-link:hover{color:var(--accent)}
.hero-signature{margin-top:42px;font-size:.6875rem;letter-spacing:.13em;color:#8b9fa7;line-height:1.8}
.hero-signature strong{color:#cbd7dc;font-weight:500}
.hero-scroll{position:absolute;bottom:30px;left:var(--container-pad);display:flex;gap:16px;align-items:center;font-size:.6875rem;letter-spacing:.16em;color:#aabac1}
.hero-scroll>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff30;border-radius:50%;font-size:1rem;color:var(--accent)}
.hero-caption{position:absolute;right:40px;bottom:40px;font-size:.75rem;letter-spacing:.16em;color:#fff}
.hero-caption span{display:block;margin-top:4px;font-size:.625rem;color:#91a4ae}
.brand-strip{border-block:1px solid var(--border);background:#0b1114;padding:32px 0}
.brand-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.brand-pillar{display:flex;align-items:center;gap:22px}
.brand-pillar+.brand-pillar{border-left:1px solid var(--border);padding-left:32px}
.brand-pillar>span{color:var(--accent);font-size:.75rem;letter-spacing:.1em}
.brand-pillar strong{display:block;color:var(--heading);font-size:1.0625rem;letter-spacing:.04em;font-weight:500}
.brand-pillar p{font-size:.875rem;color:var(--muted);margin-top:2px}
.bento-head{max-width:820px;margin-bottom:48px}.bento-title-l1,.bento-title-l2{display:inline}
.bento-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'statut statut revenus' 'protection protection revenus' 'paperasse paperasse paperasse' 'integre hebdo paie'}
.card{border:1px solid var(--border);box-shadow:none}
.card:hover{box-shadow:none;border-color:#426068}
.bento-card{padding:30px;gap:18px;min-width:0}
.bento-card-title{font-size:1.4rem;line-height:1.25;letter-spacing:-.025em}
.bento-card-text,.bento-card-mention{font-size:1rem}
.bento-card--statut{position:relative;min-height:350px;isolation:isolate;overflow:hidden;padding-right:42%}
.bento-card--statut::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102127 5%,#102127f2 40%,#10212700 95%),url('../public/images/drivers/chauffeur-au-volant.webp') right 33%/48% auto no-repeat}
.bento-formula{gap:8px}.bento-formula-term,.bento-formula-result{font-size:.75rem;padding:8px 10px}
.bento-card--revenus{justify-content:space-between;background:linear-gradient(160deg,#153a3b,#101a1e 65%)}
.bento-minicard{background:#071416;box-shadow:none;padding:24px;border-radius:6px}
.bento-minicard-amount{font-size:2.75rem;color:var(--accent);letter-spacing:-.04em}
.bento-chips{gap:10px}.bento-card--paperasse{padding-block:28px}
.compa-section{background:var(--surface-warm);border-block:1px solid var(--border)}
.compa-head{max-width:900px}.compa-card{border-radius:10px;box-shadow:none}
.compa-card--reco{background:#12262a;border-color:var(--accent)}
.compa-number{letter-spacing:-.055em}
.demo-note{display:block;font-size:.875rem;color:var(--muted);margin:16px 0;line-height:1.6}
.app-section{padding-block:var(--section-pad)}
.app-editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(36px,6vw,96px)}
.app-photo{position:relative;margin:0;overflow:hidden;max-height:740px}
.app-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.app-photo figcaption{position:absolute;bottom:24px;left:26px;font-size:.6875rem;letter-spacing:.16em;color:white}
.app-copy h2{font-size:var(--fs-h2);margin-bottom:24px}.app-copy h2 span{color:var(--accent)}
.app-copy>.lead{max-width:490px}.app-features{margin-top:32px;list-style:none;border-top:1px solid var(--border)}
.app-features li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--border);font-size:1rem;color:#c5d0d4}
.app-features li>span{color:var(--accent);font-size:.75rem;padding-top:3px}
.app-copy .btn-secondary{margin-top:32px}
.steps-section{background:#0d1519;border-block:1px solid var(--border)}
.steps-head{max-width:860px;margin-bottom:56px}.steps-title{max-width:860px}
.steps-borne,.steps-track,.steps-sunlane{display:none}
.step-number{display:block;font-size:4rem;line-height:1;color:var(--accent);font-weight:500;letter-spacing:-.06em;margin-bottom:32px}
.steps-item{border-top:1px solid #3b5058;padding-top:28px;align-items:flex-start;text-align:left}
.steps-grid{gap:40px}.steps-item-title{font-size:1.5rem}.steps-item-text{font-size:1rem}
.avis-header{text-align:left;margin-inline:0;max-width:880px}.avis-title{max-width:850px}
.avis-summary{justify-content:flex-start}.avis-grid{gap:16px}.avis-card{background:#111a1e}
.avis-stars{color:var(--accent)}
.club{background:#0b1216;border-block:1px solid var(--border)}
.club-header{max-width:900px;text-align:left;margin:0 0 42px}.club-header h2 span{color:var(--accent)}
.driver-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:start}
.driver-gallery figure{margin:0;position:relative;overflow:hidden}
.driver-gallery figure:nth-child(2){margin-top:64px}.driver-gallery figure:nth-child(3){margin-top:120px}
.driver-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform 650ms ease}
.driver-gallery figure:hover img{transform:scale(1.025)}
.driver-gallery figcaption{position:absolute;inset:auto 0 0;padding:48px 24px 24px;background:linear-gradient(transparent,#030b0dd9);color:white;font-size:.875rem;letter-spacing:.09em}
#faq>.container{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px;align-items:start}
.faq-header{text-align:left;margin:0;position:sticky;top:124px}.faq-title{font-size:clamp(2rem,3.6vw,3.25rem)}
.faq-list{width:100%;max-width:none}.faq-heading{font-size:1.125rem}
.faq-question{font-size:1.0625rem;padding:25px 0;font-family:var(--font-body);font-weight:500;line-height:1.5}
.faq-question .faq-icon{display:block!important;width:24px;height:24px;position:relative;flex:none}
.faq-question .faq-icon::before,.faq-question .faq-icon::after{display:block;content:'';position:absolute;width:14px;height:1px;left:5px;top:12px;background:var(--accent);border:0;border-radius:0;transform:none}
.faq-question .faq-icon::after{transform:rotate(90deg);transition:transform .2s}.faq-question[aria-expanded=true] .faq-icon::after{transform:rotate(0)}
.faq-answer{font-size:1rem;padding:0 28px 24px 0}.faq-more{grid-column:2;margin-top:0;text-align:left}
.blog{background:#0c1317;border-block:1px solid var(--border)}
.blog-header{text-align:left;max-width:880px;margin:0 0 48px}
.blog-cover{height:235px;overflow:hidden}.blog-cover img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform 650ms ease}
.blog-card:hover .blog-cover img{transform:scale(1.035)}
.blog-cover-icon{display:none}.blog-card-body{padding:26px}.blog-card-title{font-size:1.25rem}
.cta{background:#081216;padding-block:110px;border-bottom:1px solid var(--border);isolation:isolate}
.cta-sky,.cta-filigrane{display:none}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a171a 10%,#0a171ae8 40%,#0a171a45),url('../public/images/hero/rideup-van.webp') right 60%/52% auto no-repeat}
.cta-inner{align-items:flex-start;text-align:left}.cta-title{font-size:clamp(3rem,6vw,6rem);line-height:1.02}
.cta-sub{max-width:480px;margin-top:26px;font-size:1rem}.cta-actions{justify-content:flex-start}
.footer{background:#060b0d;padding-top:64px}.footer-top{grid-template-columns:1fr 1.6fr}
.footer-logo{width:210px;display:block}.footer-baseline{font-size:1rem;color:var(--muted)}
.footer-col-title{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}.footer-col-links{gap:12px}
.footer-col-links a{font-size:.9375rem;color:#aab9c0}.footer-app{background:transparent;border-color:var(--border);box-shadow:none;border-radius:5px}
.footer-micro,.footer-copyright,.footer-mentions a{color:#8b9ea7;font-size:.8125rem}.footer-social-link{color:#c5d0d4}
.compa-hl,.app-hl,.steps-hl,.avis-mark,.faq-mark,.blog-mark,.cta-mark{background:none;padding-bottom:0;color:var(--accent)}
.compa-seal{display:none}.compa-card--reco::before{display:none}.compa-card--reco{transform:none;box-shadow:none}
.compa-card--reco:hover{transform:translateY(-4px);box-shadow:none}.compa-grid{column-gap:20px;margin-top:56px}
.avis-note{justify-content:flex-start}.avis-note-value{font-size:3.5rem}.avis-note-side{align-items:flex-start}
.app-copy .lead{font-size:1.0625rem}
.faq-question[aria-expanded=true] .faq-icon::before{transform:none}
@media(min-width:1500px){.hero-photograph{inset-inline-start:40%}.hero-caption{right:calc((100vw - 1320px)/2)}}
@media(max-width:1100px){
 .header-inner{gap:32px}.header-links{gap:18px}.header-logo{width:158px}.header-link{font-size:.875rem}
 .hero-content{max-width:660px}.hero-title{font-size:clamp(2.75rem,5.5vw,4.5rem)}
 .hero-photograph{left:35%}.hero-caption{display:none}.hero-ctas{gap:18px}.hero-inner{padding-top:66px}
 .bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'statut statut' 'protection revenus' 'paperasse paperasse' 'integre hebdo' 'paie paie'}
 .bento-card--statut{min-height:380px}.app-editorial{gap:40px}.steps-grid{gap:24px}
 #faq>.container{gap:40px}.blog-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}.blog-cover{height:190px}
}
@media(max-width:860px){
 :root{--container-pad:24px}.header-inner{min-height:76px;gap:20px}.header-links{gap:14px}.header-cta{padding:12px;font-size:.8125rem}
 .hero{min-height:760px}.hero-inner{padding-bottom:100px}.hero-photograph{left:25%;opacity:.75}.hero-photograph::after{background:linear-gradient(90deg,#070b0df2,#070b0d80 60%,#070b0d00),linear-gradient(0deg,#070b0d,transparent 30%)}
 .hero-title{font-size:3.5rem}.hero-lead{max-width:460px}.hero-content{max-width:630px}
 .brand-strip .container{gap:18px}.brand-pillar{gap:12px}.brand-pillar+.brand-pillar{padding-left:18px}.brand-pillar p{font-size:.8125rem}
 .app-editorial{gap:28px}.app-copy h2{font-size:2.5rem}.steps-grid{gap:20px}
 #faq>.container{grid-template-columns:1fr;gap:32px}.faq-header{position:static;max-width:580px}.faq-more{grid-column:1}
 .footer-top{grid-template-columns:1fr;gap:48px}.blog-grid{grid-template-columns:1fr;max-width:600px;margin-inline:auto}.blog-cover{height:270px}
}
@media(max-width:767px){
 .header-inner{flex-wrap:nowrap}.header-logo{width:157px;height:48px}.nav-toggle{width:46px;height:46px;border:1px solid var(--border)}
 html.js .nav-menu{background:#0c1519}.header-cta{font-size:.9375rem;min-height:48px;width:100%}
 .hero{min-height:880px}.hero-inner{justify-content:flex-start;padding-top:52px;padding-bottom:380px}
 .hero-photograph{inset:37% 0 0 0;opacity:1}.hero-photograph img{object-position:center 58%}
 .hero-photograph::after{background:linear-gradient(180deg,#070b0d 0%,#070b0d22 32%,transparent 65%,#070b0d 100%)}
 .hero-content{max-width:580px}.hero-title{font-size:clamp(2.7rem,7vw,4rem);line-height:1.08}
 .hero-title>span{white-space:normal}.hero-eyebrow{font-size:.6875rem;gap:9px;letter-spacing:.07em;margin-bottom:25px}
 .hero-lead{max-width:490px;font-size:1rem;line-height:1.7;margin-top:24px}
 .hero-ctas{gap:18px;align-items:flex-start;flex-direction:column;margin-top:24px}.hero-ctas .btn-primary{width:auto;max-width:100%;font-size:.9375rem;padding-inline:20px}
 .hero-link{font-size:.875rem}.hero-signature{margin-top:26px;font-size:.625rem;max-width:280px}.hero-scroll{bottom:28px}
 .brand-strip{padding-block:26px}.brand-strip .container{grid-template-columns:1fr;gap:20px}.brand-pillar+.brand-pillar{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.brand-pillar{gap:20px}.brand-pillar p{font-size:.875rem}
 .bento-grid{grid-template-columns:1fr;grid-template-areas:'statut' 'protection' 'revenus' 'paperasse' 'integre' 'hebdo' 'paie'}
 .bento-card{padding:26px}.bento-card--statut{min-height:440px;padding-right:26px;justify-content:flex-end}
 .bento-card--statut::before{background:linear-gradient(0deg,#102127 0%,#102127eb 48%,#10212720 95%),url('../public/images/drivers/chauffeur-au-volant-small.webp') center 24%/cover no-repeat}
 .bento-card--statut .bento-card-text{max-width:340px}.bento-formula{margin-top:12px}.bento-marquee{margin-inline:-26px}
 .app-editorial{grid-template-columns:1fr;gap:36px}.app-photo{max-height:560px}.app-copy h2{font-size:var(--fs-h2)}
 .steps-grid{grid-template-columns:1fr;gap:32px}.steps-item{display:grid;grid-template-columns:56px 1fr;gap:22px;padding-top:24px}.step-number{font-size:2.75rem;margin:0}.steps-item-text{text-align:left}
 .driver-gallery{gap:12px;grid-template-columns:1fr 1fr}.driver-gallery figure:nth-child(2){margin-top:40px}.driver-gallery figure:nth-child(3){grid-column:1/-1;width:75%;margin:-4px auto 0}
 .driver-gallery figcaption{padding:35px 14px 16px;font-size:.6875rem;letter-spacing:.04em}
 .cta{padding-block:80px}.cta::before{background:linear-gradient(90deg,#0a171af5,#0a171aca),url('../public/images/hero/rideup-van-small.webp') center/cover no-repeat}
 .cta-actions{max-width:100%;width:auto;align-items:flex-start}.cta-sub{max-width:390px}.cta-title{font-size:clamp(3.5rem,11vw,5rem)}
 .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-logo{width:190px}
}
@media(max-width:390px){:root{--container-pad:20px}.hero-title{font-size:2.5rem}.hero{min-height:900px}.hero-eyebrow{font-size:.625rem}.hero-ctas .btn-primary{gap:14px;padding-inline:16px}.steps-item{grid-template-columns:40px 1fr;gap:16px}}
@media(max-width:767px){.hero-title>span{font-size:.82em;white-space:nowrap}.hero-photograph{top:49%}.hero-signature{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
