*{margin:0;padding:0;box-sizing:border-box}:root{--color-black:#111111;--color-black-light:#2a2a2a;--color-red:#b3123a;--color-red-dark:#8a0d2b;--color-red-light:#e03c5f;--color-white:#ffffff;--color-gray:#555555;--color-gray-light:#f5f5f5;--color-gray-dark:#e0e0e0;--color-bg:#fafafa;--color-bg-alt:#ffffff;--color-text:#1a1a1a;--color-text-light:#555555;--color-border:rgba(0, 0, 0, 0.1);--color-shadow:rgba(0, 0, 0, 0.08);--color-shadow-hover:rgba(0, 0, 0, 0.15)}[data-theme=dark]{--color-black:#e5e5e5;--color-black-light:#d0d0d0;--color-red:#b3123a;--color-red-dark:#8a0d2b;--color-red-light:#e03c5f;--color-white:#1a1a1a;--color-gray:#888888;--color-gray-light:#2a2a2a;--color-gray-dark:#333333;--color-bg:#0a0a0a;--color-bg-alt:#111111;--color-text:#e5e5e5;--color-text-light:#999999;--color-border:rgba(255, 255, 255, 0.15);--color-shadow:rgba(0, 0, 0, 0.6);--color-shadow-hover:rgba(0, 0, 0, 0.8)}body{font-family:Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;font-weight:400;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[data-theme=dark] body{background-color:var(--color-bg);transition:background-color .5s ease,color .5s ease}*{transition:background-color .3s ease,color .3s ease}.contact-card,.gallery-item,.pricing-card,.service-card,.testimonial-card,.vehicule-card,.why-us-card{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}audio,canvas,embed,iframe,img,object,svg,video{transition:opacity .3s ease,transform .3s ease;will-change:opacity,transform}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);z-index:1000;padding:1.2rem 0;border-bottom:1px solid var(--color-border);transition:background-color .3s cubic-bezier(.4, 0, .2, 1),transform .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 2px 20px var(--color-shadow);transform:translateY(0)}[data-theme=dark] .navbar{background:rgba(10,10,10,.98)!important;border-bottom:1px solid var(--color-border)!important;box-shadow:0 2px 30px rgba(0,0,0,.5)!important}[data-theme=dark] .nav-menu{background:rgba(10,10,10,.98)}[data-theme=dark] .hamburger span{background:var(--color-text)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem}.logo-text{font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:700;color:var(--color-text);letter-spacing:2px;transition:color .5s ease;text-transform:uppercase}.logo-img{height:72px;width:auto;display:block}.logo-img-footer{height:60px}.navbar .logo .logo-link{position:relative;display:block;width:48px;height:48px}.navbar .logo .logo-img-dark,.navbar .logo .logo-img-light{position:absolute;top:0;left:0;width:48px;height:48px;object-fit:contain}.navbar .logo .logo-img-light{display:none!important}.navbar .logo .logo-img-dark{display:block!important}[data-theme=dark] .navbar .logo .logo-img-dark{display:none!important}[data-theme=dark] .navbar .logo .logo-img-light{display:block!important}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{color:var(--color-text);text-decoration:none;font-weight:400;transition:color .3s;position:relative;font-size:.95rem;letter-spacing:.5px}.nav-menu a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--color-red);transition:width .3s}.nav-menu a:hover{color:var(--color-red)}.nav-menu a:hover::after{width:100%}.nav-menu a.active{color:var(--color-red);font-weight:600}.nav-menu a.active::after{width:100%}.logo a{text-decoration:none;color:inherit}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px}.nav-actions{display:flex;align-items:center;gap:1.5rem}.language-switcher{display:flex;align-items:center;gap:.35rem}.lang-btn{border:1px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text);border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;padding:0;line-height:1;transition:background-color .25s ease,opacity .25s ease,transform .15s ease}.lang-btn:hover{transform:translateY(-1px) scale(1.05);opacity:.9}.lang-btn--active{background:var(--color-red);color:#fff;border-color:var(--color-red);box-shadow:0 0 12px rgba(196,30,58,.65)}[data-theme=dark] .lang-btn{background:var(--color-bg)}[data-theme=dark] .lang-btn--active{background:var(--color-red-light);border-color:var(--color-red-light)}.theme-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.68, -.55, .265, 1.55);position:relative;overflow:hidden;transform:scale(1) rotate(0)}.theme-toggle:hover{border-color:var(--color-red);transform:scale(1.05);box-shadow:0 0 15px rgba(139,0,0,.3);background:var(--color-bg)}[data-theme=dark] .theme-toggle{background:var(--color-bg-alt);border-color:var(--color-border)}[data-theme=dark] .theme-toggle:hover{background:var(--color-bg);border-color:var(--color-red);box-shadow:0 0 15px rgba(196,30,58,.4)}.theme-icon{position:absolute;transition:all .4s cubic-bezier(.68, -.55, .265, 1.55);color:var(--color-text);pointer-events:none}.sun-icon{opacity:1;transform:rotate(0) scale(1)}.moon-icon{opacity:0;transform:rotate(90deg) scale(0)}[data-theme=dark] .sun-icon{opacity:0;transform:rotate(-90deg) scale(0)}[data-theme=dark] .moon-icon{opacity:1;transform:rotate(0) scale(1)}[data-theme=dark] .theme-icon{color:var(--color-text)}.hamburger span{width:25px;height:3px;background:var(--color-text);transition:all .3s;border-radius:2px}.hamburger.active span:first-child{transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.hero{height:100vh;min-height:600px;position:relative;display:flex;align-items:center;justify-content:center;background:#0a0a0a;overflow:hidden;transition:background .3s ease;will-change:transform,opacity;transform:translateZ(0)}.hero-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.8));z-index:1;pointer-events:none}.hero-decorative{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}.hero-svg-1{position:absolute;top:10%;right:10%;width:400px;height:400px;color:var(--color-red);opacity:.08;animation:float 20s ease-in-out infinite;filter:blur(1px)}.hero-svg-2{position:absolute;bottom:15%;left:8%;width:350px;height:350px;color:var(--color-red);opacity:.08;animation:float 25s ease-in-out infinite reverse;filter:blur(1px)}[data-theme=dark] .hero-svg-1,[data-theme=dark] .hero-svg-2{opacity:.15;filter:blur(.5px)}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(196,30,58,.03) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(196,30,58,.02) 0,transparent 50%);z-index:2}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(0,0,0,0.02)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.5;z-index:2;backdrop-filter:blur(3px)}.hero-content{position:relative;z-index:3;text-align:center;padding:2rem;width:100%;max-width:1200px;transform:translateY(0);transition:transform .1s ease-out,opacity .1s ease-out;will-change:transform,opacity;animation:heroContentFadeIn 1.2s ease-out forwards}@keyframes heroContentFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}100%{opacity:1;transform:translateY(0) scale(1)}}.hero-title{font-family:Montserrat,sans-serif;font-size:4.5rem;font-weight:700;margin-bottom:2rem;line-height:1.1;color:#fff;letter-spacing:-1px;text-shadow:0 2px 10px rgba(0,0,0,.3);transition:color .5s ease}[data-theme=dark] .hero-title{text-shadow:0 4px 30px rgba(196,30,58,.2)}.title-line{display:block;opacity:0;animation:fadeInUpApple 1.2s cubic-bezier(.25,.46,.45,.94) forwards;transform:translateY(40px)}@keyframes fadeInUpApple{0%{opacity:0;transform:translateY(40px) scale(.95)}100%{opacity:1;transform:translateY(0) scale(1)}}.title-line:first-child{animation-delay:.3s}.title-line:nth-child(2){animation-delay:.5s;color:#fff;transition:color .5s ease;text-shadow:0 2px 20px rgba(0,0,0,.6)}.hero-subtitle{font-size:1.15rem;color:rgba(255,255,255,.95);margin-bottom:3rem;font-weight:300;opacity:0;animation:fadeInUpApple 1.2s cubic-bezier(.25,.46,.45,.94) .7s forwards;letter-spacing:.5px;line-height:1.9;max-width:800px;margin-left:auto;margin-right:auto;transition:color .5s ease,opacity .5s ease,transform .5s ease;transform:translateY(30px);opacity:0;text-shadow:0 2px 10px rgba(0,0,0,.5)}[data-theme=dark] .hero-subtitle{color:rgba(255,255,255,.98);text-shadow:0 3px 18px rgba(0,0,0,.9)}.hero-compact{height:auto;min-height:240px;padding:4rem 1.5rem 3rem}.hero-overlay-light{background:rgba(0,0,0,.75);backdrop-filter:none;opacity:1}.hero-content-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.legal-page .hero-title{color:#fff;font-size:clamp(1.75rem, 4vw, 2.5rem);margin-bottom:.75rem;text-shadow:0 2px 12px rgba(0,0,0,.6)}.legal-page .hero-subtitle{color:rgba(255,255,255,.95);font-size:1rem;margin-bottom:0;max-width:640px;text-shadow:0 1px 8px rgba(0,0,0,.5)}.legal-page .title-line{opacity:1;animation:none;transform:none}.legal-page .legal-section{padding:3rem 0 4rem;background:var(--color-bg)}.legal-page .legal-section .container{max-width:800px;margin:0 auto}.legal-page .legal-card{background:var(--color-bg-alt);border-radius:10px;padding:1.75rem 2rem;margin-bottom:1.5rem;box-shadow:0 2px 12px var(--color-shadow);border:1px solid var(--color-border)}.legal-page .legal-card:last-child{margin-bottom:0}.legal-page .legal-card h2{font-size:1.2rem;font-weight:600;color:var(--color-text);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:2px solid var(--color-red);font-family:Montserrat,sans-serif}.legal-page .legal-card p{font-size:.95rem;line-height:1.75;color:var(--color-text);margin:0 0 1rem}.legal-page .legal-card p:last-child{margin-bottom:0}.legal-page .legal-card a{color:var(--color-red);text-decoration:none;font-weight:500}.legal-page .legal-card a:hover{text-decoration:underline}.legal-page .legal-card ul{margin:.75rem 0 1rem 1.5rem;padding:0;list-style:disc}.legal-page .legal-card li{margin-bottom:.4rem;line-height:1.7;color:var(--color-text);font-size:.95rem}@media (max-width:768px){.hero-compact{min-height:200px;padding:3rem 1rem 2rem}.legal-page .legal-section{padding:2rem 0 3rem}.legal-page .legal-card{padding:1.25rem 1.25rem}.legal-page .legal-card h2{font-size:1.1rem}}.btn-primary{display:inline-block;padding:1rem 2.5rem;background:var(--color-red);color:var(--color-white);text-decoration:none;font-weight:600;border:2px solid var(--color-red);border-radius:6px;transition:all .3s ease;opacity:0;animation:fadeInUpApple 1.2s cubic-bezier(.25,.46,.45,.94) .9s forwards;letter-spacing:.5px;text-transform:uppercase;font-size:.9rem;position:relative;overflow:hidden;cursor:pointer;transform:translateY(20px);will-change:transform,opacity;font-family:Montserrat,sans-serif}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-red);transition:left .4s ease;z-index:-1}.btn-primary:hover::before{left:0}.btn-primary:hover{background:var(--color-red-dark);color:var(--color-white);border-color:var(--color-red-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,0,0,.3)}[data-theme=dark] .btn-primary{background:var(--color-red);color:var(--color-white);border-color:var(--color-red)}[data-theme=dark] .btn-primary:hover{background:var(--color-red-dark);color:var(--color-white);border-color:var(--color-red-dark)}[data-theme=dark] .hero .btn-primary{background:#fff;color:var(--color-red);border-color:#fff;box-shadow:0 0 25px rgba(255,255,255,.45)}[data-theme=dark] .hero .btn-primary:hover{background:var(--color-bg-alt);color:var(--color-red-dark);border-color:var(--color-bg-alt);box-shadow:0 0 35px rgba(255,255,255,.6)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}.scroll-indicator span{display:block;width:1px;height:40px;background:var(--color-text);animation:scrollDown 2s infinite;margin:0 auto;opacity:.3;transition:background .5s ease}@keyframes scrollDown{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(10px);opacity:.5}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-family:Montserrat,sans-serif;font-size:2.8rem;font-weight:700;margin-bottom:1rem;color:var(--color-text);position:relative;display:inline-block;transition:color .5s ease;letter-spacing:-.5px}.section-title::after{content:'';position:absolute;bottom:-15px;left:50%;transform:translateX(-50%) scaleX(0);width:60px;height:3px;background:var(--color-red);transition:transform .4s ease;border-radius:2px}.section-title.in-view::after{transform:translateX(-50%) scaleX(1)}.section-subtitle{font-size:1.05rem;color:var(--color-text-light);font-weight:300;letter-spacing:.3px;max-width:900px;margin:0 auto;line-height:1.8;transition:color .5s ease}.experience{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease}.experience::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.experience-content{max-width:900px;margin:0 auto;text-align:center}.experience-title{font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:700;color:var(--color-text);margin-bottom:2rem;letter-spacing:-1px;transition:color .5s ease}.experience-description{font-size:1.15rem;line-height:1.9;color:var(--color-text-light);margin-bottom:4rem;font-weight:300;max-width:900px;margin-left:auto;margin-right:auto;transition:color .5s ease}.experience-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:4rem}.feature-item{display:flex;gap:1.5rem;text-align:left;opacity:0;transform:translateY(30px);transition:all .6s ease}.feature-item.animate{opacity:1;transform:translateY(0)}.feature-icon{width:50px;height:50px;border:1px solid var(--color-red);display:flex;align-items:center;justify-content:center;color:var(--color-red);font-size:1.2rem;font-weight:700;flex-shrink:0;position:relative}.feature-icon::before{content:'';position:absolute;width:100%;height:100%;border:1px solid var(--color-red);transform:rotate(45deg)}.feature-content h4{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--color-text);margin-bottom:.5rem;font-weight:600;transition:color .5s ease}.feature-content p{color:var(--color-text-light);font-size:.95rem;line-height:1.8;margin-top:.5rem;transition:color .5s ease}.section-decorative-bottom,.section-decorative-top{position:absolute;left:0;width:100%;height:100px;z-index:0;color:var(--color-red);pointer-events:none}.section-decorative-top{top:0}.section-decorative-bottom{bottom:0}.vehicules{padding:8rem 0;background:var(--color-bg-alt);position:relative;transition:background .5s ease;min-height:600px}[data-theme=dark] .vehicules{background:var(--color-bg)}.vehicules::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.vehicules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-top:3rem}.vehicule-card{background:var(--color-white);border-radius:8px;overflow:hidden;transition:all .5s cubic-bezier(.25, .46, .45, .94);border:1px solid var(--color-border);position:relative;opacity:0;transform:translateY(30px) translateZ(0);box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;will-change:transform,opacity;backface-visibility:hidden}.vehicule-card.animate{opacity:1;transform:translateY(0) scale(1)}[data-theme=dark] .vehicule-card{background:var(--color-bg-alt);transition:all .5s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .vehicule-card{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .vehicule-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.6);border-color:var(--color-red)}.vehicule-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-red),var(--color-red-light));transform:scaleX(0);transition:transform .5s ease;box-shadow:0 0 20px rgba(196,30,58,.5)}.vehicule-card:hover::after{transform:scaleX(1)}.vehicule-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.08)}[data-theme=dark] .vehicule-card:hover{box-shadow:0 15px 50px rgba(0,0,0,.8)}.vehicule-card.animate{opacity:1;transform:translateY(0) scale(1);transition:all .6s ease}.vehicule-card:not(.animate){opacity:1;transform:translateY(0) scale(1)}.vehicule-card:hover{transform:translateY(-4px);border-color:var(--color-red);box-shadow:0 4px 16px rgba(0,0,0,.15)}.vehicule-card:hover .vehicule-name{color:var(--color-red);transition:color .3s ease}[data-theme=dark] .vehicule-card:hover{border-color:rgba(255,255,255,.2)}[data-theme=dark] .vehicule-card:hover .vehicule-name{color:var(--color-red-light)}.vehicule-card.featured{border:1px solid rgba(0,0,0,.12)}.vehicule-badge-premium{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,var(--color-red),var(--color-red-dark));color:var(--color-white);padding:.7rem 1.3rem;border-radius:0;font-size:.75rem;font-weight:600;z-index:10;letter-spacing:2px;text-transform:uppercase;box-shadow:0 4px 20px rgba(196,30,58,.4);transition:all .4s cubic-bezier(.25, .46, .45, .94);animation:badgePulse 3s ease-in-out infinite}@keyframes badgePulse{0%,100%{box-shadow:0 4px 20px rgba(196,30,58,.4)}50%{box-shadow:0 6px 30px rgba(196,30,58,.6)}}.vehicule-card:hover .vehicule-badge-premium{transform:scale(1.1) rotate(2deg);box-shadow:0 8px 40px rgba(196,30,58,.8),0 0 20px rgba(196,30,58,.4);animation:none}.vehicule-image{position:relative;height:300px;overflow:hidden;background:var(--color-bg-alt);transition:all .6s cubic-bezier(.25, .46, .45, .94);border-bottom:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;min-height:300px}.vehicule-image::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(139,0,0,.2) 0,transparent 70%);transform:translate(-50%,-50%);transition:all .8s ease;z-index:1;pointer-events:none;opacity:0}.vehicule-card:hover .vehicule-image::before{width:200%;height:200%;opacity:1}.vehicule-image::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(10,10,10,.2) 0,rgba(10,10,10,.5) 100%);z-index:1;pointer-events:none;opacity:.6}[data-theme=dark] .vehicule-image{background:var(--color-bg);border-bottom:1px solid var(--color-border)}[data-theme=dark] .vehicule-image::after{background:linear-gradient(to bottom,rgba(0,0,0,.2) 0,rgba(0,0,0,.4) 100%);opacity:.5}.vehicule-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .8s cubic-bezier(.25, .46, .45, .94),filter .6s ease;filter:brightness(1) contrast(1.05) saturate(1);mix-blend-mode:normal;position:relative;z-index:0;background:0 0;will-change:transform,filter;opacity:1!important;visibility:visible!important;transform:scale(1);display:block!important;max-width:100%;max-height:100%;min-height:250px}.vehicule-image img.loaded,.vehicule-image img[complete]{background:0 0;opacity:1!important;display:block!important;visibility:visible!important}[data-theme=dark] .vehicule-image img{background:0 0;opacity:1!important;visibility:visible!important}[data-theme=dark] .vehicule-image img.loaded,[data-theme=dark] .vehicule-image img[complete]{background:0 0;opacity:1!important;visibility:visible!important}.vehicule-card:hover .vehicule-image img{transform:scale(1.05);filter:brightness(1.05) contrast(1.08)}[data-theme=dark] .vehicule-image img{filter:brightness(1.1) contrast(1.1)}[data-theme=dark] .vehicule-card:hover .vehicule-image img{filter:brightness(1.15) contrast(1.15)}.vehicule-badge{position:absolute;bottom:20px;left:20px;background:rgba(10,10,10,.9);color:var(--color-white);padding:.6rem 1.2rem;border-radius:0;font-size:.75rem;font-weight:500;border:1px solid rgba(196,30,58,.3);letter-spacing:1px;text-transform:uppercase;backdrop-filter:blur(10px);transition:all .5s ease;z-index:2}[data-theme=dark] .vehicule-badge{background:rgba(196,30,58,.2);color:var(--color-white);border:1px solid rgba(196,30,58,.4);backdrop-filter:blur(15px);box-shadow:0 2px 10px rgba(0,0,0,.5)}.vehicule-content{padding:2rem}.vehicule-name{font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:var(--color-text);transition:color .3s ease;letter-spacing:-.3px}.vehicule-description{color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.8;font-size:.95rem;transition:color .5s ease;opacity:1;transform:translateY(0)}.vehicule-features{list-style:none;margin-bottom:1.5rem}.vehicule-features li{color:var(--color-text);margin-bottom:.75rem;font-size:.9rem;padding-left:1.75rem;line-height:1.6;transition:all .3s ease;position:relative}.vehicule-features li::before{content:'✓';position:absolute;left:0;top:0;color:var(--color-red);font-weight:700;font-size:1rem;line-height:1.5;transition:all .3s ease;transform:scale(.8)}.vehicule-features li:hover{padding-left:2rem;color:var(--color-text)}.vehicule-features li:hover::before{transform:scale(1.1);color:var(--color-red-light)}.vehicule-features li:last-child{margin-bottom:0}.reservation{padding:8rem 0;background:var(--color-bg-alt);position:relative;transition:background .5s ease;min-height:600px}[data-theme=dark] .reservation{background:var(--color-bg)}.reservation::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.reservation-form-container{max-width:800px;margin:0 auto;position:relative}.reservation-form{background:var(--color-white);padding:3rem;border:1px solid var(--color-border);border-radius:8px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s ease}[data-theme=dark] .reservation-form{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}.reservation-form::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-red),var(--color-red-light));box-shadow:0 0 20px rgba(196,30,58,.5)}.reservation-form .form-group{position:relative}.reservation-form #depart,.reservation-form #destination{color:var(--color-text);background-color:var(--color-bg)}.reservation-form #depart::placeholder,.reservation-form #destination::placeholder{color:var(--color-text-light)}.reservation-address-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:.4rem;background:rgba(0,0,0,.95);border-radius:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 40px rgba(0,0,0,.5),0 4px 16px rgba(0,0,0,.3);z-index:9999;max-height:260px;overflow-y:auto;font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff}.reservation-address-suggestions[hidden]{display:none!important}.reservation-address-suggestion{width:100%;display:block;padding:.6rem 1rem;border:none;background:0 0;color:#fff!important;font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:background .2s ease,border-left-color .2s ease,padding-left .2s ease;border-left:3px solid transparent;-webkit-appearance:none;appearance:none}.reservation-address-suggestion+.reservation-address-suggestion{border-top:1px solid rgba(255,255,255,.12)}.reservation-address-suggestion:focus-visible,.reservation-address-suggestion:hover{outline:0;background:rgba(255,255,255,.08);border-left-color:#b3123a;padding-left:1.1rem;color:#fff!important}.reservation-success-block{background:var(--color-white);padding:3rem;border:1px solid var(--color-border);border-radius:8px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.08);opacity:0;transform:translateY(20px) scale(.98);transition:opacity .5s ease,transform .5s ease;pointer-events:none;position:absolute;left:0;right:0;top:0}.reservation-success-block[hidden]{display:none!important}.reservation-success-block.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;position:relative}.reservation-success-icon{color:var(--color-red);margin-bottom:1.5rem}.reservation-success-icon svg{display:inline-block;animation:reservationSuccessPop .5s ease .2s both}@keyframes reservationSuccessPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}.reservation-success-title{font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;transition:color .3s ease}.reservation-success-text{color:var(--color-text-light);line-height:1.7;margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto;transition:color .3s ease}.reservation-success-btn{display:inline-block}.reservation-form-footer{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.reservation-form-footer .btn-submit{margin-top:0}.reservation-form-footer .btn-payer{flex:1;min-width:140px}.reservation-form-footer .btn-devis{flex:1;min-width:200px}.reservation-form-footer .btn-submit[hidden]{display:none!important}.vehicle-selector{margin-bottom:1.5rem}.vehicle-selector[hidden]{display:none!important}.vehicle-selector-label{display:block;margin-bottom:1rem;color:var(--color-text);font-weight:500;font-size:.95rem}.vehicle-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.vehicle-card{background:var(--color-bg-alt);border:2px solid var(--color-border);border-radius:12px;padding:0;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden}.vehicle-card-img{width:100%;height:140px;object-fit:cover;display:block;margin:0;border-top-left-radius:12px;border-top-right-radius:12px}.vehicle-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:0 0;transition:background .3s ease}.vehicle-card:hover{border-color:var(--color-red);transform:translateY(-2px);box-shadow:0 8px 24px rgba(139,0,0,.15)}.vehicle-card:focus-visible{outline:0;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(139,0,0,.2)}.vehicle-card.is-selected{border-color:var(--color-red);background:linear-gradient(135deg,rgba(139,0,0,.08),rgba(139,0,0,.03))}.vehicle-card.is-selected::before{background:var(--color-red)}[data-theme=dark] .vehicle-card{background:#1a1a1a;border-color:#333}[data-theme=dark] .vehicle-card.is-selected,[data-theme=dark] .vehicle-card:hover{border-color:var(--color-red);background:linear-gradient(135deg,rgba(179,18,58,.15),rgba(179,18,58,.05))}.vehicle-card-icon{margin-bottom:.75rem;color:var(--color-text-light);transition:color .3s ease}.vehicle-card.is-selected .vehicle-card-icon,.vehicle-card:hover .vehicle-card-icon{color:var(--color-red)}.vehicle-card-info{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1.25rem 1.5rem}.vehicle-card-name{font-weight:600;font-size:1rem;color:var(--color-text)}.vehicle-card-desc{font-size:.8rem;color:var(--color-text-light)}.vehicle-card-passengers{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.75rem;color:var(--color-text-light);margin-top:.5rem;padding:.35rem .75rem;background:rgba(0,0,0,.05);border-radius:999px}[data-theme=dark] .vehicle-card-passengers{background:rgba(255,255,255,.08)}.options-section{margin-top:2rem;padding:1.5rem;border-radius:12px;background:linear-gradient(135deg,rgba(0,0,0,.03),rgba(0,0,0,.02));border:1px solid var(--color-border)}.options-title{margin:0 0 1rem 0;font-size:1rem;font-weight:600;color:var(--color-text)}[data-theme=dark] .options-section{background:linear-gradient(135deg,rgba(179,18,58,.18),rgba(0,0,0,.6));border-color:rgba(255,255,255,.12)}.navette-info{margin-bottom:1.5rem}.navette-info[hidden]{display:none!important}.navette-info-card{display:flex;align-items:center;gap:1.25rem;background:linear-gradient(135deg,#050814,#1b0a16);border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}.navette-info-icon{flex-shrink:0;width:56px;height:56px;background:rgba(255,255,255,.1);border-radius:12px;display:flex;align-items:center;justify-content:center}.navette-info-icon svg{stroke:var(--color-red-light)}.navette-info-text{display:flex;flex-direction:column;gap:.25rem}.navette-info-title{font-weight:600;font-size:1.1rem;letter-spacing:.02em}.navette-info-price{font-size:1.25rem;font-weight:700;color:var(--color-red-light)}.navette-info-desc{font-size:.85rem;color:rgba(255,255,255,.7)}.reservation-error-message{color:#c62828;font-size:.9rem;margin-bottom:1rem;min-height:1.4em;transition:opacity .3s ease}[data-theme=dark] .reservation-error-message{color:var(--color-red-light)}.reservation-error-message[hidden]{display:none!important}.reservation-form.is-hidden{opacity:0;pointer-events:none;position:absolute;left:0;right:0;top:0;transform:translateY(-10px);transition:opacity .4s ease,transform .4s ease}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-text);font-weight:500;font-size:.95rem;transition:color .5s ease}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-family:Roboto,sans-serif;font-size:1rem;transition:all .3s ease}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--color-red);box-shadow:0 0 0 3px rgba(196,30,58,.2)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(196,30,58,.15);transform:translateY(-1px);transition:all .3s ease}.form-group textarea{resize:vertical}.btn-submit{width:100%;padding:1.2rem;background:var(--color-red);color:var(--color-white);border:2px solid var(--color-red);border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem;letter-spacing:.5px;text-transform:uppercase;position:relative;overflow:hidden;font-family:Montserrat,sans-serif}.btn-submit:active{transform:translateY(-1px) scale(.98)}.btn-submit::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-red);transition:left .4s ease;z-index:-1}.btn-submit:hover::before{left:0}.btn-submit:hover{background:var(--color-red-dark);color:var(--color-white);border-color:var(--color-red-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,0,0,.3)}[data-theme=dark] .btn-submit{background:var(--color-red);color:var(--color-white);border-color:var(--color-red)}[data-theme=dark] .btn-submit:hover{background:var(--color-red-dark);color:var(--color-white);border-color:var(--color-red-dark)}.why-us{padding:8rem 0;background:var(--color-bg-alt);position:relative;transition:background .5s ease;min-height:400px}[data-theme=dark] .why-us{background:var(--color-bg)}.why-us::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.why-us-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:4rem}.why-us-card{background:var(--color-white);padding:2.5rem;border:1px solid var(--color-border);border-radius:8px;transition:all .4s cubic-bezier(.25, .46, .45, .94);position:relative;box-shadow:0 2px 8px rgba(0,0,0,.08);opacity:0;transform:translateY(20px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden}.why-us-card.animate,.why-us-card.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .why-us-card{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .why-us-card{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .why-us-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.6)}.why-us-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-red),var(--color-red-light));transform:scaleX(0);transition:transform .4s ease;box-shadow:0 0 20px rgba(196,30,58,.5)}.why-us-card:hover::before{transform:scaleX(1)}.why-us-card.revealed{opacity:1;transform:translateY(0)}.why-us-card:not(.revealed){opacity:1;transform:translateY(0)}.why-us-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12);border-color:var(--color-red)}.why-us-icon{width:70px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-red);transition:all .4s ease;position:relative}.why-us-icon::before{content:'';position:absolute;width:100%;height:100%;border:1px solid var(--color-red);opacity:.2;transition:all .4s ease}.why-us-card:hover .why-us-icon{transform:scale(1.1);color:var(--color-black)}.why-us-card:hover .why-us-icon::before{opacity:1;border-color:var(--color-black);transform:rotate(45deg)}.why-us-icon svg{position:relative;z-index:1}.why-us-card h3{font-family:Montserrat,sans-serif;font-size:1.4rem;color:var(--color-text);margin-bottom:1rem;font-weight:600;transition:color .3s ease;letter-spacing:-.2px}.why-us-card p{color:var(--color-text-light);line-height:1.8;font-size:.95rem;transition:color .5s ease}.services{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:500px}[data-theme=dark] .services{background:var(--color-bg-alt)}.services::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;margin-top:4rem}.service-card{background:var(--color-white);padding:2.5rem;border:1px solid var(--color-border);border-radius:8px;transition:all .4s cubic-bezier(.25, .46, .45, .94);position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);opacity:0;transform:translateY(20px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden}.service-card.animate,.service-card.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .service-card{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .service-card{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .service-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.6)}.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-red),var(--color-red-light));transform:scaleX(0);transition:transform .4s ease;box-shadow:0 0 20px rgba(196,30,58,.5)}.service-card:hover::before{transform:scaleX(1)}.service-card.revealed{opacity:1;transform:translateY(0)}.service-card:not(.revealed){opacity:1;transform:translateY(0)}.service-card:hover{border-color:var(--color-red);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.service-icon{width:70px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-red);opacity:.3;transition:all .4s ease}.service-card:hover .service-icon{opacity:1;transform:scale(1.1);color:var(--color-black)}.service-number{font-family:Montserrat,sans-serif;font-size:5rem;font-weight:700;color:rgba(0,0,0,.03);line-height:1;margin-bottom:1.5rem;position:absolute;top:1.5rem;right:2rem;transition:all .3s ease}[data-theme=dark] .service-number{color:rgba(255,255,255,.03)}.service-card:hover .service-number{color:rgba(196,30,58,.1);transform:scale(1.1)}[data-theme=dark] .service-card:hover .service-number{color:rgba(230,57,70,.15)}.service-card h3{font-family:Montserrat,sans-serif;font-size:1.4rem;color:var(--color-text);margin-bottom:1rem;font-weight:600;position:relative;z-index:1;transition:color .3s ease;letter-spacing:-.2px}.service-card p{color:var(--color-text-light);line-height:1.8;font-size:.95rem;position:relative;z-index:1;margin-top:.5rem;transition:color .5s ease}.testimonials{padding:8rem 0;background:var(--color-bg-alt);position:relative;transition:background .5s ease;min-height:400px}[data-theme=dark] .testimonials{background:var(--color-bg)}.testimonials::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-top:4rem}.testimonial-card{background:var(--color-white);padding:2.5rem;border:1px solid var(--color-border);border-radius:8px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .4s cubic-bezier(.25, .46, .45, .94);opacity:0;transform:translateY(20px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden}.testimonial-card.animate,.testimonial-card.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .testimonial-card{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .testimonial-card{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .testimonial-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.6)}.testimonial-card::before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:5rem;font-family:Montserrat,sans-serif;color:rgba(139,0,0,.08);line-height:1;transition:color .3s ease;font-weight:700}[data-theme=dark] .testimonial-card::before{color:rgba(230,57,70,.2)}.testimonial-card.revealed{opacity:1;transform:translateY(0)}.testimonial-card:not(.revealed){opacity:1;transform:translateY(0)}.testimonial-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12);border-color:var(--color-red)}.testimonial-stars{color:#ffc107;font-size:1.3rem;margin-bottom:1.5rem;letter-spacing:3px;text-shadow:0 2px 10px rgba(255,193,7,.3);filter:drop-shadow(0 0 5px rgba(255, 193, 7, .2))}.testimonial-text{color:var(--color-text-light);line-height:1.8;font-size:1rem;font-style:italic;margin-bottom:2rem;position:relative;z-index:1;transition:color .5s ease}.testimonial-author{border-top:1px solid rgba(0,0,0,.08);padding-top:1.5rem}.testimonial-author strong{display:block;color:var(--color-text);font-size:1rem;margin-bottom:.3rem;font-family:Montserrat,sans-serif;transition:color .3s ease;font-weight:600}.testimonial-author span{color:var(--color-text-light);font-size:.9rem;transition:color .5s ease}.guarantees{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:400px}[data-theme=dark] .guarantees{background:var(--color-bg-alt)}.guarantees::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.guarantees-content{text-align:center}.guarantees-title{font-family:Montserrat,sans-serif;font-size:2.8rem;font-weight:700;color:var(--color-text);margin-bottom:4rem;letter-spacing:-.5px;transition:color .3s ease}.guarantees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4rem;max-width:1000px;margin:0 auto}.guarantee-item{text-align:center;padding:2rem;opacity:0;transform:translateY(20px) scale(.95);filter:blur(0);transition:all .6s cubic-bezier(.25, .46, .45, .94);will-change:transform,opacity,filter}.guarantee-item.animate,.guarantee-item.revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.guarantee-item.revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.guarantee-item:not(.revealed){opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.guarantee-number{font-family:Montserrat,sans-serif;font-size:5rem;font-weight:700;color:var(--color-red);line-height:1;margin-bottom:1rem;position:relative;display:inline-block;transition:all .3s ease}.guarantee-item:hover .guarantee-number{transform:scale(1.15) translateY(-5px);text-shadow:0 8px 50px rgba(196,30,58,.6),0 0 30px rgba(196,30,58,.4);filter:blur(0)}.guarantee-number::after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--color-red),transparent);opacity:.4;transition:opacity .5s ease}.guarantee-item:hover .guarantee-number::after{opacity:.8}.guarantee-item h3{font-family:Montserrat,sans-serif;font-size:1.4rem;color:var(--color-text);margin-bottom:.5rem;font-weight:600;transition:color .3s ease;letter-spacing:-.2px}.guarantee-item p{color:var(--color-text-light);font-size:.95rem;line-height:1.6;transition:color .5s ease}.page-header{padding:8rem 0 4rem;background:var(--color-bg-alt);text-align:center;border-bottom:1px solid var(--color-border);min-height:300px;display:flex;align-items:center}[data-theme=dark] .page-header{background:var(--color-bg)}.page-header-destinations{position:relative;overflow:hidden;min-height:380px;padding:10rem 0 5rem}.page-header-destinations .page-header-parallax-bg{position:absolute;inset:-20%;background:url("https://images.unsplash.com/photo-1552832230-c0197dd311b5?w=1920&h=1080&fit=crop") center/cover no-repeat;background-attachment:fixed;background-position:center center;will-change:transform}.page-header-destinations .page-header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0,rgba(0,0,0,.65) 40%,rgba(0,0,0,.75) 100%);pointer-events:none}[data-theme=dark] .page-header-destinations .page-header-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.65) 0,rgba(0,0,0,.75) 40%,rgba(0,0,0,.85) 100%)}.page-header-destinations .page-header-content{position:relative;z-index:1}.page-header-destinations h1{font-family:Montserrat,sans-serif;font-weight:700;font-size:3rem;letter-spacing:2px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.35);margin:0}[data-theme=dark] .page-header-destinations h1{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6),0 4px 16px rgba(0,0,0,.7),0 8px 32px rgba(0,0,0,.5)}.page-header h1{font-family:Montserrat,sans-serif;font-size:3rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.5px;transition:color .5s ease}.page-header p{font-size:1.1rem;color:var(--color-text-light);max-width:700px;margin:0 auto;transition:color .5s ease}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn-secondary{display:inline-block;padding:1rem 2.5rem;background:0 0;color:var(--color-white);text-decoration:none;font-weight:600;border:2px solid rgba(255,255,255,.8);border-radius:6px;transition:all .3s ease;letter-spacing:.5px;text-transform:uppercase;font-size:.9rem;font-family:Montserrat,sans-serif}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:var(--color-white);transform:translateY(-2px)}[data-theme=dark] .hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.03);box-shadow:0 0 18px rgba(0,0,0,.7)}[data-theme=dark] .hero .btn-secondary:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;box-shadow:0 0 26px rgba(0,0,0,.9)}.cta-section{padding:6rem 0;background:var(--color-red);color:var(--color-white);text-align:center}.cta-content h2{font-family:Montserrat,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-white);letter-spacing:-.5px}.cta-content p{font-size:1.1rem;margin-bottom:2.5rem;opacity:.95}.cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-section .btn-primary{background:var(--color-white);color:var(--color-red);border-color:var(--color-white)}.cta-section .btn-primary:hover{background:var(--color-bg-alt);color:var(--color-red);border-color:var(--color-bg-alt);transform:none;box-shadow:none}.cta-section .btn-primary::before{display:none}.cta-section .btn-secondary{border-color:rgba(255,255,255,.8);color:var(--color-white)}.cta-section .btn-secondary:hover{background:rgba(255,255,255,.2);border-color:var(--color-white)}.vehicule-price{font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:700;color:var(--color-red);margin:1.5rem 0;padding:1rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.btn-vehicule{display:inline-block;width:100%;padding:1rem;background:var(--color-red);color:var(--color-white);text-decoration:none;font-weight:600;border:2px solid var(--color-red);border-radius:6px;transition:all .3s ease;text-align:center;text-transform:uppercase;font-size:.9rem;letter-spacing:.5px;font-family:Montserrat,sans-serif;margin-top:1rem}.btn-vehicule:hover{background:var(--color-red-dark);border-color:var(--color-red-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,0,0,.3)}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:2rem}.footer-column h4{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.2px}.footer-column ul{list-style:none}.footer-column ul li{margin-bottom:.75rem;color:var(--color-text-light);transition:color .3s ease}.footer-column ul li a{color:var(--color-text-light);text-decoration:none;transition:color .3s ease}.footer-column ul li a:hover{color:var(--color-red)}.contact{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:500px}[data-theme=dark] .contact{background:var(--color-bg-alt)}.contact::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.contact-form-wrapper{margin-top:3.5rem;max-width:900px;margin-left:auto;margin-right:auto}.contact-form-title{margin-bottom:.75rem}.contact-form-subtitle{margin-bottom:2rem}.contact-form{background:var(--color-white);padding:2.5rem;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}[data-theme=dark] .contact-form{background:var(--color-bg-alt);box-shadow:0 2px 8px rgba(0,0,0,.4)}.contact-form-status{margin:0 0 1rem 0;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:rgba(5,150,105,.1);color:var(--color-text)}.contact-form-status.is-error{background:rgba(179,18,58,.1)}.contact-card{background:var(--color-white);padding:2.5rem;border-radius:8px;text-align:center;border:1px solid var(--color-border);transition:all .4s cubic-bezier(.25, .46, .45, .94);opacity:0;transform:translateY(20px);position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}.contact-card.animate,.contact-card.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .contact-card{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .contact-card{background:var(--color-bg-alt);border:1px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .contact-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.6)}.contact-card.animate{opacity:1;transform:translateY(0)}.contact-card:not(.animate){opacity:1;transform:translateY(0)}.contact-card:hover{border-color:var(--color-red);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.contact-icon-wrapper{width:70px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border);border-radius:50%;transition:all .4s cubic-bezier(.175, .885, .32, 1.275);position:relative}.contact-icon-wrapper::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:var(--color-red);opacity:0;transform:scale(0);transition:all .4s ease;z-index:0}.contact-card:hover .contact-icon-wrapper{border-color:var(--color-red);transform:scale(1.15) rotate(5deg);box-shadow:0 0 30px rgba(196,30,58,.4)}.contact-card:hover .contact-icon-wrapper::before{opacity:.1;transform:scale(1)}.contact-card:hover .contact-icon{color:var(--color-red);transform:scale(1.1)}.contact-icon{width:24px;height:24px;color:var(--color-text);stroke-width:1.5;transition:color .3s}.contact-card:hover .contact-icon{color:var(--color-red)}.contact-note{font-size:.85rem;color:var(--color-text-light);font-style:italic;transition:color .5s ease}.contact-card h3{font-family:Montserrat,sans-serif;font-size:1.4rem;margin-bottom:1rem;color:var(--color-text);transition:color .3s ease;font-weight:600;letter-spacing:-.2px}.contact-card p{color:var(--color-text-light);margin-bottom:.5rem;transition:color .5s ease}.destinations{padding:6rem 0;font-family:Montserrat,sans-serif}.destinations .section-header{text-align:center;margin-bottom:3rem}.destinations-title{font-family:Montserrat,sans-serif;font-weight:600;margin-bottom:1rem}.destinations-intro{font-family:Montserrat,sans-serif;font-size:1.05rem;line-height:1.75;color:var(--color-text-light);max-width:720px;margin:0 auto;text-align:center}.search-destination-container{background:#111;border-radius:9999px;padding:2.5rem 3rem;font-family:Montserrat,sans-serif;box-shadow:0 4px 24px var(--color-shadow)}.search-destination-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.25rem;color:rgba(255,255,255,.95);margin-bottom:1.5rem;text-align:center}.search-destination-form{display:flex;align-items:center;gap:1rem;background:var(--color-white);border-radius:9999px;padding:.5rem .5rem .5rem 1.5rem;margin-bottom:2rem}[data-theme=dark] .search-destination-form{background:var(--color-gray-light)}.search-destination-input{flex:1;border:none;background:0 0;font-family:Montserrat,sans-serif;font-size:1rem;color:var(--color-text)}.search-destination-input::placeholder{color:var(--color-gray)}.search-destination-input:focus{outline:0}.search-destination-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--color-red);color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s ease,transform .2s ease}.search-destination-btn:hover{background:var(--color-red-dark);transform:scale(1.05)}.search-destination-form{position:relative}.home-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#1a1a1a;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:100;max-height:280px;overflow-y:auto;border:1px solid #333}.home-search-suggestions[hidden]{display:none!important}.home-search-suggestion{display:block;width:100%;padding:12px 16px;background:0 0;border:none;border-bottom:1px solid #2a2a2a;color:#fff;font-size:.9rem;text-align:left;cursor:pointer;transition:all .2s ease}.home-search-suggestion:last-child{border-bottom:none}.home-search-suggestion:focus,.home-search-suggestion:hover{background:rgba(179,18,58,.2);border-left:3px solid var(--color-red);padding-left:13px;outline:0}.home-search-suggestion-main{display:block;font-weight:500;color:#fff}.home-search-suggestion-context{display:block;font-size:.8rem;color:rgba(255,255,255,.5);margin-top:2px}.destinations-top5{text-align:center}.top5-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;color:rgba(255,255,255,.95);margin-bottom:1rem}.top5-list{font-family:Montserrat,sans-serif;list-style-position:inside;color:rgba(255,255,255,.95);font-size:.95rem;line-height:2;padding:0;margin:0}.reims-content{padding:4rem 0 6rem;font-family:Montserrat,sans-serif}.reims-intro{font-family:Montserrat,sans-serif;font-size:1.05rem;line-height:1.75;color:var(--color-text-light);max-width:800px;margin:0 auto 3rem;text-align:center;transition:color .3s ease}.reims-booking-container{background:#111;border-radius:50px;padding:2.5rem 3rem;font-family:Montserrat,sans-serif;box-shadow:0 4px 24px var(--color-shadow);margin-bottom:3rem}.reims-booking-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.25rem;color:rgba(255,255,255,.95);margin-bottom:1.5rem;text-align:center}.reims-booking-form{display:flex;align-items:center;gap:1rem;background:var(--color-white);border-radius:9999px;padding:.5rem .5rem .5rem 1.5rem}[data-theme=dark] .reims-booking-form{background:var(--color-gray-light)}.reims-booking-input{flex:1;border:none;background:0 0;font-family:Montserrat,sans-serif;font-size:1rem;color:var(--color-text);min-width:0}.reims-booking-input::placeholder{color:var(--color-gray)}.reims-booking-input:focus{outline:0}.reims-booking-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--color-red);color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s ease,transform .2s ease}.reims-booking-btn:hover{background:var(--color-red-dark);transform:scale(1.05)}.reims-caves{max-width:600px;margin:0 auto}.reims-caves-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.1rem;color:var(--color-text);margin-bottom:1.5rem;transition:color .3s ease}.reims-caves-list{font-family:Montserrat,sans-serif;list-style-position:inside;padding:0;margin:0;font-size:1rem;line-height:2.2}.reims-caves-list li{margin-bottom:.25rem}.reims-cave-link{color:var(--color-red);text-decoration:none;font-weight:500;transition:color .3s ease}.reims-cave-link:hover{color:var(--color-red-dark)}@media (max-width:768px){.reims-booking-container{border-radius:30px;padding:1.75rem 1.5rem}.reims-booking-form{flex-direction:row;padding:.4rem .4rem .4rem 1rem}.reims-booking-input{font-size:.95rem}}.destinations-content{padding:4rem 0 6rem;font-family:Montserrat,sans-serif}.destinations-hero-intro{font-family:Montserrat,sans-serif;font-size:1.15rem;line-height:1.85;color:var(--color-text);max-width:900px;margin:0 auto .75rem;text-align:center;transition:color .3s ease;font-weight:400}.destinations-hero-exclusivity{font-family:Montserrat,sans-serif;font-size:1.05rem;line-height:1.8;color:var(--color-text);max-width:800px;margin:0 auto 3rem;text-align:center;font-weight:500;opacity:.95;font-style:italic}.destinations-search-capsule{position:relative;z-index:100;background:#000;border-radius:100px;padding:2.5rem 3rem;margin:0 auto 4rem;box-shadow:0 4px 24px rgba(0,0,0,.25),0 2px 12px rgba(0,0,0,.18);max-width:780px}.destinations-search-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.25rem;color:#fff;margin-bottom:1.5rem;text-align:center}.destinations-search-form-wrapper{position:relative;z-index:101}.destinations-search-form{display:flex;align-items:center;gap:.75rem;background:#1a1a1a;border-radius:100px;padding:.35rem .35rem .35rem 1.75rem;border:none}#destinationsSearchInput.destinations-search-input,.destinations-search-input{flex:1;border:none;background:0 0;font-family:Montserrat,sans-serif;font-size:1rem;color:#fff!important;min-width:0;padding:.6rem 0}.destinations-search-input::placeholder{color:rgba(255,255,255,.5)}.destinations-search-input:focus{outline:0}.destinations-search-btn{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:none;background:var(--color-red);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s ease,transform .2s ease}.destinations-search-btn svg{display:block}.destinations-search-btn:hover{background:var(--color-red-dark);transform:scale(1.05)}.destinations-search-suggestions{position:relative;z-index:9999;margin-top:.9rem;background:#050509;border-radius:20px;padding:.35rem 0;box-shadow:0 10px 40px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.06)}.destinations-api-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:.4rem;background:#1a1a1a;border-radius:12px;padding:.35rem 0;box-shadow:0 10px 40px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08);z-index:9999;max-height:260px;overflow-y:auto;font-family:Montserrat,sans-serif;color:#fff}.destinations-api-suggestions[hidden]{display:none!important}.destinations-api-suggestion{width:100%;display:block;padding:.6rem 1rem;border:none;background:0 0;color:#fff!important;font-family:Montserrat,sans-serif;font-size:.875rem;text-align:left;cursor:pointer;transition:background .2s ease,border-left-color .2s ease;border-left:3px solid transparent}.destinations-api-suggestion+.destinations-api-suggestion{border-top:1px solid rgba(255,255,255,.08)}.destinations-api-suggestion:focus-visible,.destinations-api-suggestion:hover{outline:0;background:rgba(255,255,255,.06);border-left-color:#b3123a}.destinations-suggestion{width:100%;padding:.55rem 1.25rem;background:0 0;border:none;display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;font-family:Montserrat,sans-serif;font-size:.9rem;color:#fff;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease}.destinations-suggestion+.destinations-suggestion{border-top:1px solid rgba(255,255,255,.04)}.destinations-suggestion-label{flex:1}.destinations-suggestion-tag{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.65)}.destinations-suggestion:hover{background:rgba(179,18,58,.16);color:var(--color-red-light);transform:translateX(2px)}.destinations-suggestion:hover .destinations-suggestion-tag{color:var(--color-red-light)}.destinations-caves{margin-bottom:5rem}.destinations-caves-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.5rem;color:var(--color-text);margin-bottom:2.5rem;text-align:center;transition:color .3s ease}.cave-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.cave-card{display:block;position:relative;background:var(--color-bg-alt);border-radius:20px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 4px 24px var(--color-shadow);transition:transform .55s cubic-bezier(.25, .46, .45, .94),box-shadow .55s cubic-bezier(.25, .46, .45, .94);text-decoration:none;color:inherit;border:1px solid var(--color-border);opacity:0;transform:translateY(24px)}.cave-card.is-visible{animation:caveCardFadeIn .6s ease forwards}@keyframes caveCardFadeIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.cave-card:first-child.is-visible{animation-delay:0s}.cave-card:nth-child(2).is-visible{animation-delay:0s}.cave-card:nth-child(3).is-visible{animation-delay:0s}.cave-card:nth-child(4).is-visible{animation-delay:0s}.cave-card:nth-child(5).is-visible{animation-delay:0s}.cave-card:hover{transform:scale(1.05);box-shadow:0 16px 48px var(--color-shadow-hover)}.cave-card-figure{margin:0;position:relative;height:100%}.cave-card-image{position:relative;width:100%;height:100%;overflow:hidden}.cave-card-figcaption{position:absolute;top:.75rem;left:1rem;font-family:Roboto,sans-serif;font-size:.75rem;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2}.cave-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25, .46, .45, .94)}.cave-card:hover .cave-card-image img{transform:scale(1.05)}.cave-card-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0,rgba(0,0,0,.55) 40%,rgba(0,0,0,.9) 100%);pointer-events:none}.cave-card-content{position:absolute;inset:0;padding:1.75rem 1.75rem 1.9rem;display:flex;flex-direction:column;justify-content:space-between}.cave-card-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.2rem;letter-spacing:.25em;text-transform:uppercase;color:#fff;margin:0;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);transition:color .3s ease}.cave-card:hover .cave-card-title{color:var(--color-red-light)}.cave-card-desc{font-family:Roboto,sans-serif;font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.95);margin:0 0 1rem;text-shadow:0 1px 4px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease,color .3s ease}.cave-card:hover .cave-card-desc{opacity:1;transform:translateY(0)}.cave-card-btn{display:inline-block;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.06em;color:var(--color-red);text-decoration:underline;text-decoration-color:var(--color-red);text-underline-offset:4px;text-decoration-thickness:1.5px;padding:0;border:none;background:0 0;transition:color .3s ease,text-decoration-color .3s ease,text-underline-offset .25s ease}.cave-card-btn:hover{color:var(--color-red-light);text-decoration-color:var(--color-red-light);text-underline-offset:6px}.eurosatory-section{background:linear-gradient(135deg,var(--color-bg-alt) 0,var(--color-bg) 100%);border:2px solid var(--color-red);border-radius:20px;padding:3rem 2.5rem;text-align:center;margin-top:2rem;box-shadow:0 8px 40px var(--color-shadow)}.eurosatory-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;letter-spacing:.02em}.eurosatory-dates{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.1rem;color:var(--color-red);margin-bottom:1.25rem}.eurosatory-desc{font-size:1rem;color:var(--color-text-light);line-height:1.65;max-width:700px;margin:0 auto 1.5rem}.eurosatory-hotels-label{font-family:Montserrat,sans-serif;font-weight:500;font-size:.95rem;color:var(--color-text);margin-bottom:.75rem}.eurosatory-hotels{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:.5rem}.eurosatory-hotel{display:flex;flex-direction:column;align-items:center;gap:.5rem}.eurosatory-hotel-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--color-bg-alt) 0,var(--color-bg) 100%);border:1px solid var(--color-red);color:var(--color-red);transition:background .3s ease,transform .2s ease}.eurosatory-hotel:hover .eurosatory-hotel-icon{background:var(--color-red);color:#fff;transform:scale(1.05)}.eurosatory-hotel-name{font-family:Montserrat,sans-serif;font-weight:600;font-size:.95rem;color:var(--color-text);letter-spacing:.04em}.eurosatory-hotels-place{font-size:.9rem;color:var(--color-text-light);margin-bottom:.5rem}.eurosatory-roundtrip{font-size:.95rem;color:var(--color-text);font-style:italic;margin-bottom:1.25rem}.eurosatory-tarif-badge{display:inline-block;padding:.6rem 1.5rem;background:var(--color-red);color:#fff;font-family:Montserrat,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.02em;border-radius:50px;margin-bottom:1.5rem;box-shadow:0 4px 16px rgba(179,18,58,.35)}.eurosatory-btn{display:inline-block;padding:1rem 2rem;background:var(--color-red);color:#fff!important;font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;text-decoration:none;border-radius:9999px;transition:background .3s ease,transform .2s ease}.eurosatory-btn:hover{background:var(--color-red-dark);transform:scale(1.03)}.checkout-eurosatory{padding:4rem 0 5rem;background:var(--color-bg)}.checkout-eurosatory-card{max-width:720px;margin:0 auto;background:var(--color-bg-alt);border-radius:24px;box-shadow:0 12px 40px var(--color-shadow);padding:2.75rem 2.5rem 2.25rem;border:1px solid var(--color-border)}.checkout-eurosatory-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.5rem;color:var(--color-text);margin-bottom:.5rem}.checkout-eurosatory-subtitle{font-size:1rem;color:var(--color-text-light);margin-bottom:2rem}.checkout-eurosatory-multi{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.checkout-eurosatory-leg-form{display:flex;flex-direction:column;gap:1.5rem}.checkout-eurosatory-step-title{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:var(--color-text);margin:0 0 12px 0;letter-spacing:.02em}.checkout-eurosatory-step{margin-bottom:0}.checkout-eurosatory-grid{display:grid;gap:12px}.checkout-eurosatory-grid-dates{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.checkout-eurosatory-grid-2{grid-template-columns:1fr 1fr}.option-card{display:block;cursor:pointer;border:2px solid #e5e7eb;border-radius:12px;padding:12px;text-align:center;transition:all .2s ease;background:#fff}.option-card:hover{border-color:#c4b5c4;background:#fafafa}.option-card .hidden-radio{display:none}.option-card .card-content{display:block;font-size:.95rem;font-weight:500;color:var(--color-text)}.option-card .card-sub{display:block;font-size:.8rem;font-weight:400;color:var(--color-text-light);margin-top:2px}.option-card:has(.hidden-radio:checked){border-color:#900c3f;background-color:#fdf2f5;color:#900c3f;font-weight:600;transform:translateY(-2px);box-shadow:0 4px 12px rgba(144,12,63,.15)}.option-card:has(.hidden-radio:checked) .card-content{color:#900c3f;font-weight:600}.option-card:has(.hidden-radio:checked) .card-sub{color:#900c3f;opacity:.9}.checkout-eurosatory-hidden{display:none!important}.checkout-eurosatory-passengers-row{padding:12px 0;border-top:1px solid var(--color-border)}.checkout-eurosatory-passengers-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.checkout-eurosatory-passengers-inner .checkout-eurosatory-label{margin-bottom:0;font-size:.95rem}.checkout-passengers-control{display:flex;align-items:center;gap:.5rem}.checkout-passengers-btn{width:36px;height:36px;border-radius:10px;border:2px solid #e5e7eb;background:#fff;font-size:1.25rem;line-height:1;cursor:pointer;transition:border-color .2s,background .2s,color .2s;color:var(--color-text)}.checkout-passengers-btn:hover{border-color:#900c3f;background:#fdf2f5;color:#900c3f}.checkout-passengers-count{min-width:2rem;text-align:center;font-weight:600;font-size:1.1rem;color:var(--color-text)}.checkout-eurosatory-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;color:#fff;background:#900c3f;border:none;border-radius:12px;cursor:pointer;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;letter-spacing:.02em}.checkout-eurosatory-add-btn:hover{background:#6d0930;transform:translateY(-1px);box-shadow:0 6px 20px rgba(144,12,63,.35)}.checkout-eurosatory-add-icon{font-size:1.15rem;line-height:1}.checkout-eurosatory-add-text{text-transform:uppercase;letter-spacing:.04em}@media (max-width:480px){.checkout-eurosatory-grid-dates{grid-template-columns:1fr 1fr}.option-card .card-content{font-size:.9rem}}.checkout-eurosatory-cart{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.checkout-eurosatory-cart-title{font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem 0}.checkout-eurosatory-cart-badge{font-weight:500;color:#6b7280}.checkout-eurosatory-cart-list{min-height:52px}.checkout-eurosatory-cart-list.checkout-eurosatory-cart-list--has-items{display:block!important;margin-top:.75rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.checkout-eurosatory-cart-empty{font-size:.95rem;color:#6b7280;margin:0;padding:1rem 1.25rem;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px}.checkout-eurosatory-coords-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.checkout-eurosatory-field{display:flex;flex-direction:column}.checkout-eurosatory-field-full{grid-column:1/-1}.checkout-eurosatory-field input[type=email],.checkout-eurosatory-field input[type=text]{padding:.55rem .8rem;border-radius:12px;border:2px solid #e5e7eb;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.checkout-eurosatory-field input[type=email]:focus,.checkout-eurosatory-field input[type=text]:focus{outline:0;border-color:#900c3f;box-shadow:0 0 0 1px rgba(144,12,63,.15)}.checkout-eurosatory-help-text{margin-top:.35rem;font-size:.85rem;color:#6b7280}@media (max-width:640px){.checkout-eurosatory-coords-grid{grid-template-columns:1fr}}.checkout-eurosatory-cart-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:.9rem;color:#111827;box-shadow:0 1px 2px rgba(0,0,0,.04)}.checkout-eurosatory-cart-item:last-child{margin-bottom:0}.checkout-eurosatory-cart-item-qty{color:#6b7280;font-weight:500}.checkout-eurosatory-cart-item-text{flex:1;min-width:0}.checkout-eurosatory-cart-item-text strong{color:#900c3f}.checkout-eurosatory-cart-item-remove{flex-shrink:0;padding:.5rem .9rem;font-size:.85rem;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.checkout-eurosatory-cart-item-remove:hover{background:#fee2e2;color:#991b1b;border-color:#f87171}.checkout-eurosatory-btn.is-disabled,.checkout-eurosatory-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-eurosatory-cart-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-bg);border-radius:12px;overflow:hidden;border:1px solid var(--color-border)}.checkout-eurosatory-cart-table td,.checkout-eurosatory-cart-table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.checkout-eurosatory-cart-table th{background:var(--color-text);color:#fff;font-weight:600;font-size:.8rem}.checkout-eurosatory-cart-table tr:last-child td{border-bottom:none}.checkout-eurosatory-remove{padding:.25rem .5rem;font-size:1.1rem;line-height:1;border:none;background:0 0;color:var(--color-text-light);cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.checkout-eurosatory-remove:hover{color:var(--color-red);background:rgba(179,18,58,.1)}.checkout-eurosatory-hotels{margin-bottom:1.75rem}.checkout-eurosatory-label{font-family:Montserrat,sans-serif;font-weight:500;font-size:.95rem;color:var(--color-text);margin-bottom:.75rem}.checkout-hotel-selector{display:flex;gap:1.25rem;flex-wrap:wrap}.checkout-hotel-btn{flex:1;min-width:220px;border-radius:18px;border:1px solid var(--color-border);background:var(--color-bg);padding:1rem 1.4rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .2s ease,box-shadow .3s ease}.checkout-hotel-name{font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;color:var(--color-text)}.checkout-hotel-sub{font-size:.85rem;color:var(--color-text-light)}.checkout-hotel-btn.is-active{border-color:var(--color-red);box-shadow:0 8px 24px rgba(179,18,58,.35);transform:translateY(-2px)}.checkout-hotel-btn:hover{border-color:var(--color-red-light)}.checkout-eurosatory-passengers{margin-bottom:1.75rem}.checkout-passengers-control{display:inline-flex;align-items:center;gap:1rem;padding:.35rem .75rem;border-radius:9999px;border:1px solid var(--color-border);background:var(--color-bg)}.checkout-passengers-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-alt);color:var(--color-text);font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease}.checkout-passengers-btn:hover{background:var(--color-red);color:#fff;transform:translateY(-1px)}.checkout-passengers-count{min-width:32px;text-align:center;font-family:Montserrat,sans-serif;font-weight:600;font-size:1.1rem;color:var(--color-text)}.checkout-eurosatory-total{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.25rem;color:var(--color-text);margin:0 0 1.5rem}#checkoutTotalCount{color:var(--color-red);font-weight:700}#checkoutTotalAmount{font-size:1.4rem;font-weight:700;color:var(--color-red)}.checkout-eurosatory-total-detail{display:inline-block;margin-left:.4rem;font-size:.9rem;color:var(--color-text-light)}.checkout-eurosatory-btn{margin-bottom:1rem}.checkout-eurosatory-note{font-size:.9rem;color:var(--color-text-light);line-height:1.6}.destinations-salons{background:var(--color-bg);margin:0 -20px;padding:4rem 20px;border-radius:24px;border:1px solid var(--color-border)}.destinations-salons-featured{background:linear-gradient(135deg,var(--color-bg-alt) 0,var(--color-bg) 100%);border-color:var(--color-red);border-width:2px;padding:4rem 2.5rem;box-shadow:0 8px 40px var(--color-shadow)}.destinations-salons-featured .destinations-salons-title{font-size:1.75rem;color:var(--color-text)}.destinations-salons-featured .destinations-salons-title::after{content:'';display:block;width:60px;height:3px;background:var(--color-red);margin:1rem auto 0;border-radius:2px}.salons-grid-featured{max-width:1100px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.salon-card-featured{border-width:2px;padding:2.25rem}.salon-card-featured:hover{border-color:var(--color-red);box-shadow:0 12px 40px var(--color-shadow-hover)}.destinations-salons-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;text-align:center;transition:color .3s ease}.destinations-salons-intro{font-family:Montserrat,sans-serif;font-size:1rem;color:var(--color-text-light);text-align:center;max-width:700px;margin:0 auto 2.5rem;line-height:1.6}.salons-group{margin-bottom:2.5rem}.salons-group:last-of-type{margin-bottom:0}.salons-group-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.1rem;color:var(--color-text);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);transition:color .3s ease,border-color .3s ease}.salons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:900px;margin:0 auto}.salon-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:16px;padding:2rem;text-align:center;transition:box-shadow .3s ease,border-color .3s ease}.salon-card:hover{box-shadow:0 8px 32px var(--color-shadow);border-color:var(--color-red)}.salon-card-title{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.2rem;color:var(--color-text);margin-bottom:.75rem;transition:color .3s ease}.salon-card-desc{font-size:.95rem;color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.5}.btn-salon-cb{display:inline-block;padding:.875rem 1.75rem;background:var(--color-red);color:var(--color-white)!important;font-family:Montserrat,sans-serif;font-weight:500;font-size:.95rem;border-radius:9999px;text-decoration:none;transition:background .3s ease,transform .2s ease}.btn-salon-cb:hover{background:var(--color-red-dark);transform:scale(1.03)}@media (max-width:768px){.destinations-search-capsule{border-radius:80px;padding:1.75rem 1.5rem}.cave-cards-grid{grid-template-columns:1fr}.destinations-salons{margin:0 -20px;padding:3rem 20px}.eurosatory-section{padding:2rem 1.5rem}.eurosatory-title{font-size:1.3rem}.eurosatory-hotels{gap:1.5rem}.eurosatory-tarif-badge{font-size:1rem;padding:.5rem 1.25rem}}.footer{background:var(--color-bg-alt);padding:1.5rem 0 1.25rem;border-top:1px solid var(--color-border);position:relative;transition:background .5s ease,border-color .5s ease;font-size:.85rem}[data-theme=dark] .footer{background:var(--color-bg);border-top-color:var(--color-border)}[data-theme=dark] .footer .footer-bottom,[data-theme=dark] .footer .footer-column h4,[data-theme=dark] .footer .footer-column ul li,[data-theme=dark] .footer .footer-column ul li a,[data-theme=dark] .footer .footer-text{color:var(--color-text-light)}[data-theme=dark] .footer .footer-column h4{color:var(--color-text)}[data-theme=dark] .footer .footer-column ul li a:hover{color:var(--color-red-light)}.footer-logo .footer-logo-dark,.footer-logo .footer-logo-light{position:absolute;top:0;left:0;width:48px;height:48px;object-fit:contain}.footer-logo-light{display:block}.footer-logo-dark{display:none}[data-theme=dark] .footer-logo .footer-logo-light{display:none}[data-theme=dark] .footer-logo .footer-logo-dark{display:block}.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.footer-content{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;margin-bottom:.75rem}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 3rem;margin:0;max-width:100%}.footer-bottom{text-align:center;padding-top:.75rem;border-top:1px solid var(--color-border);color:var(--color-text-light);font-size:.8rem;letter-spacing:.5px;transition:color .5s ease,border-color .5s ease}.footer-bottom p{margin:0}.about-us{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:500px}[data-theme=dark] .about-us{background:var(--color-bg)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.about-text{opacity:1;transform:translateX(0);filter:blur(0);transition:all .8s cubic-bezier(.25, .46, .45, .94)}.about-us.in-view .about-text{opacity:1;transform:translateX(0);filter:blur(0)}.about-description p{color:var(--color-text-light);line-height:1.9;margin-bottom:1.5rem;font-size:1.05rem;transition:color .5s ease}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}.about-stat-item{text-align:center;padding:1.5rem;border:1px solid var(--color-border);border-radius:8px;transition:all .3s ease}.about-stat-item:hover{border-color:var(--color-red);transform:translateY(-5px);box-shadow:0 10px 30px var(--color-shadow)}.stat-number{font-family:Montserrat,sans-serif;font-size:3rem;font-weight:700;color:var(--color-red);margin-bottom:.5rem;transition:color .3s ease}.stat-label{color:var(--color-text-light);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;transition:color .5s ease}.about-image{opacity:1;transform:translateX(0);filter:blur(0);transition:all .8s cubic-bezier(.25, .46, .45, .94) .2s}.about-us.in-view .about-image{opacity:1;transform:translateX(0);filter:blur(0)}.about-img{width:100%;height:500px;object-fit:cover;border:1px solid var(--color-border);border-radius:8px;filter:grayscale(10%) contrast(1.05);transition:filter .4s ease;display:block!important;opacity:1!important;visibility:visible!important;background:0 0}.about-img.loaded,.about-img[complete]{background:0 0;opacity:1!important;display:block!important;visibility:visible!important}[data-theme=dark] .about-img{background:0 0;opacity:1!important;visibility:visible!important}[data-theme=dark] .about-img.loaded,[data-theme=dark] .about-img[complete]{background:0 0;opacity:1!important;visibility:visible!important}.about-image:hover .about-img{filter:grayscale(0%) contrast(1.1)}.image-placeholder{width:100%;height:400px;background:var(--color-bg-alt);border:2px dashed var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-light);transition:all .4s ease}.image-placeholder svg{margin-bottom:1rem;opacity:.3}.image-placeholder p{text-align:center;font-size:.9rem;line-height:1.6}.image-placeholder:hover{border-color:var(--color-red);background:var(--color-bg)}.how-it-works{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:500px}[data-theme=dark] .how-it-works{background:var(--color-bg-alt)}.steps-container{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;margin-top:4rem;position:relative}.steps-container::before{content:'';position:absolute;top:60px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-red),transparent);opacity:.2;z-index:0}.step-item{text-align:center;position:relative;z-index:1;opacity:0;transform:translateY(30px);filter:blur(0);transition:all .6s cubic-bezier(.25, .46, .45, .94)}.step-item.animate,.step-item.revealed{opacity:1;transform:translateY(0)}.step-item.revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.step-item:not(.revealed){opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.step-number{font-family:Montserrat,sans-serif;font-size:4rem;font-weight:700;color:var(--color-red);opacity:.1;line-height:1;margin-bottom:1rem;transition:all .3s ease}.step-item:hover .step-number{opacity:.4;transform:scale(1.1)}.step-icon{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border);transition:all .4s ease;color:var(--color-red)}.step-item:hover .step-icon{border-color:var(--color-red);transform:scale(1.1) rotate(5deg);box-shadow:0 10px 30px rgba(196,30,58,.2)}.step-item h3{font-family:Montserrat,sans-serif;font-size:1.4rem;color:var(--color-text);margin-bottom:1rem;font-weight:600;transition:color .3s ease;letter-spacing:-.2px}.step-item p{color:var(--color-text-light);line-height:1.8;font-size:.95rem;transition:color .5s ease}.pricing{padding:8rem 0;background:var(--color-bg-alt);position:relative;transition:background .5s ease;min-height:600px}[data-theme=dark] .pricing{background:var(--color-bg)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:4rem}.pricing-card{background:var(--color-white);border:2px solid var(--color-border);border-radius:8px;padding:2.5rem;position:relative;transition:all .4s cubic-bezier(.25, .46, .45, .94);box-shadow:0 2px 8px rgba(0,0,0,.08);opacity:0;transform:translateY(20px)}.pricing-card.animate,.pricing-card.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .pricing-card{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .pricing-card{background:var(--color-bg-alt);border:2px solid var(--color-border);box-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=dark] .pricing-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.6)}[data-theme=dark] .pricing-card.featured{border-color:var(--color-red)}.pricing-card.revealed{opacity:1;transform:translateY(0)}.pricing-card:not(.revealed){opacity:1;transform:translateY(0)}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:var(--color-red)}.pricing-card.featured{border-color:var(--color-red);border-width:2px}.pricing-badge{position:absolute;top:-15px;right:20px;background:linear-gradient(135deg,var(--color-red),var(--color-red-dark));color:var(--color-white);padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;box-shadow:0 4px 20px rgba(196,30,58,.4)}.pricing-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.pricing-header h3{font-family:Montserrat,sans-serif;font-size:1.8rem;color:var(--color-text);margin-bottom:1.5rem;font-weight:600;transition:color .3s ease;letter-spacing:-.3px}.pricing-price{display:flex;flex-direction:column;align-items:center;gap:.5rem}.price-amount{font-size:.85rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;transition:color .5s ease}.price-value{font-family:Montserrat,sans-serif;font-size:3.5rem;font-weight:700;color:var(--color-red);line-height:1;transition:color .3s ease}.price-unit{font-size:1rem;color:var(--color-text-light);transition:color .5s ease}.pricing-features{list-style:none;margin:2rem 0}.pricing-features li{color:var(--color-text);padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:.95rem;transition:all .3s ease}.pricing-features li:last-child{border-bottom:none}.pricing-features li:hover{padding-left:1rem;color:var(--color-red)}.pricing-note{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.pricing-note p{font-size:.85rem;color:var(--color-text-light);line-height:1.6;font-style:italic;transition:color .5s ease}.pricing-info{margin-top:4rem;max-width:900px;margin-left:auto;margin-right:auto}.info-box{background:var(--color-bg-alt);padding:2.5rem;border:1px solid var(--color-border);border-radius:8px;transition:all .3s ease}[data-theme=dark] .info-box{background:var(--color-bg-alt);border:1px solid var(--color-border)}.info-box h4{font-family:Montserrat,sans-serif;font-size:1.4rem;color:var(--color-text);margin-bottom:1.5rem;font-weight:600;transition:color .3s ease;letter-spacing:-.2px}.info-box ul{list-style:none}.info-box li{color:var(--color-text-light);padding:.75rem 0;border-bottom:1px solid var(--color-border);line-height:1.8;transition:color .5s ease}.info-box li:last-child{border-bottom:none}.info-box strong{color:var(--color-text);font-weight:600}.gallery{padding:8rem 0;background:var(--color-bg);position:relative;transition:background .5s ease;min-height:500px}[data-theme=dark] .gallery{background:var(--color-bg-alt)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}.gallery-item{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer;opacity:0;transform:translateY(20px) scale(.95) translateZ(0);transition:all .4s cubic-bezier(.25, .46, .45, .94);border:1px solid var(--color-border);border-radius:8px;will-change:transform,opacity;backface-visibility:hidden;background:#1a1a1a}.gallery-item.animate,.gallery-item.revealed{opacity:1;transform:translateY(0) scale(1)}.gallery-item.revealed{opacity:1;transform:translateY(0)}.gallery-item:not(.revealed){opacity:1;transform:translateY(0)}.gallery-img{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:transform .25s ease,opacity .25s ease;transition:transform .6s ease,filter .6s ease;filter:grayscale(20%) brightness(.95);display:block!important;opacity:1!important;visibility:visible!important;min-height:250px;background:#1a1a1a}.gallery-img.loaded,.gallery-img[complete]{background:0 0;opacity:1!important;display:block!important;visibility:visible!important}[data-theme=dark] .gallery-img{background:0 0;opacity:1!important}[data-theme=dark] .gallery-img.loaded,[data-theme=dark] .gallery-img[complete]{background:0 0;opacity:1!important;visibility:visible!important}.gallery-img:not([src]),.gallery-img[src=""]{background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center}.gallery-img:not([src])::before,.gallery-img[src=""]::before{content:'Image';color:var(--color-text-light);font-size:.9rem}.gallery-img:hover{transform:scale(1.02);opacity:.95}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:2rem;transform:translateY(100%);transition:transform .4s ease}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay p{color:var(--color-white);font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-section{padding:4rem 0;background:var(--color-bg-alt)}.faq{padding:6rem 0;background:var(--color-bg);position:relative;transition:background .5s ease}.faq-container{max-width:900px;margin:4rem auto 0}.faq-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;overflow:hidden;transition:all .4s cubic-bezier(.25, .46, .45, .94);opacity:0;transform:translateY(10px)}.faq-item.animate,.faq-item.revealed{opacity:1;transform:translateY(0)}[data-theme=dark] .faq-item{background:var(--color-bg-alt);transition:all .4s cubic-bezier(.25, .46, .45, .94)}[data-theme=dark] .faq-item{background:var(--color-bg-alt);border:1px solid var(--color-border)}[data-theme=dark] .faq-item:hover{border-color:var(--color-red);box-shadow:0 4px 12px rgba(0,0,0,.6)}.faq-item.revealed{opacity:1;transform:translateY(0)}.faq-item:not(.revealed){opacity:1;transform:translateY(0)}.faq-item:hover{border-color:var(--color-red);box-shadow:0 10px 30px var(--color-shadow)}.faq-question{padding:2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease}.faq-question h3{font-family:Montserrat,sans-serif;font-size:1.1rem;color:var(--color-text);font-weight:600;margin:0;transition:color .3s ease;letter-spacing:-.2px}.faq-question:hover h3{color:var(--color-red)}.faq-icon{width:24px;height:24px;color:var(--color-red);transition:transform .3s ease;flex-shrink:0}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 2rem}.faq-item.active .faq-answer{max-height:500px;padding:0 2rem 2rem}.faq-answer p{color:var(--color-text-light);line-height:1.8;font-size:1rem;transition:color .5s ease}@media (max-width:1024px){.hero-title{font-size:4rem}.section-title{font-size:2.5rem}.experience-title{font-size:2.8rem}.vehicules-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background:var(--color-white);width:100%;text-align:center;transition:.3s;padding:2rem 0;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 5px 20px rgba(0,0,0,.1)}.nav-menu.active{left:0}.nav-actions{margin-right:1rem;gap:.75rem}.language-switcher{gap:.25rem}.lang-btn{width:28px;height:28px;font-size:.8rem}.theme-toggle{width:40px;height:40px}.hamburger{display:flex}.hero{min-height:500px;padding:2rem 0}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem;padding:0 1rem}.btn-primary{padding:.9rem 2rem;font-size:.85rem}.section-title{font-size:2rem}.experience-title{font-size:2rem}.experience-description{font-size:1rem;padding:0 1rem}.container{padding:0 15px}.reservation-form{padding:2.5rem 1.5rem}.service-card{padding:2rem 1.5rem}.contact-card{padding:2rem 1.5rem}.vehicules-grid{grid-template-columns:1fr}.reservation-form{padding:2.5rem 1.5rem}.form-row{grid-template-columns:1fr}.experience-title{font-size:2.5rem}.experience-features{grid-template-columns:1fr;gap:2rem}.services-grid{grid-template-columns:1fr}.service-card{padding:2rem 1.5rem}.why-us-grid{grid-template-columns:1fr}.testimonials-grid{grid-template-columns:1fr}.guarantees-grid{grid-template-columns:1fr;gap:2rem}.guarantees-title{font-size:2rem}.guarantee-number{font-size:3.5rem}.page-header{padding:6rem 0 3rem}.page-header h1{font-size:2.2rem}.page-header-destinations{min-height:280px;padding:7rem 0 3.5rem}.page-header-destinations .page-header-parallax-bg{background-attachment:scroll}.page-header-destinations h1{font-size:2rem;letter-spacing:1.5px}.hero-buttons{flex-direction:column;align-items:center}.btn-secondary{width:100%;max-width:300px}.cta-content h2{font-size:2rem}.cta-buttons{flex-direction:column;align-items:center}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.footer-text{max-width:100%}.footer-links{grid-template-columns:1fr;gap:1.5rem}.about-content{grid-template-columns:1fr;gap:3rem}.about-text{text-align:center}.about-text .section-header{text-align:center!important}.about-text .section-subtitle{text-align:center!important}.steps-container{grid-template-columns:repeat(2,1fr);gap:2rem}.steps-container::before{display:none}.pricing-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.steps-container{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr}}html{scroll-behavior:smooth}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-width:100%;height:auto;display:block!important;object-fit:cover;opacity:1!important;visibility:visible!important;transition:opacity .3s ease;transform:translateZ(0);will-change:opacity,transform;backface-visibility:hidden}img{opacity:1!important;display:block!important;visibility:visible!important}img.image-loading:not(.loaded):not([complete]){background:var(--color-gray-light);opacity:.8!important;display:block!important}img[loading=eager]{opacity:1!important;display:block!important;visibility:visible!important;background:0 0}img.image-error{background:var(--color-gray-light);border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center;min-height:200px;position:relative}img.image-error::after{content:'Image non disponible';position:absolute;color:var(--color-text-light);font-size:.9rem;text-align:center;padding:1rem}[data-theme=dark] img.image-error{background:var(--color-gray-light);border-color:var(--color-border)}img[loading=lazy]{opacity:1!important;transition:opacity .3s ease;will-change:opacity;display:block!important;visibility:visible!important}img[loading=lazy].loaded,img[loading=lazy][complete]{opacity:1!important;background:0 0;display:block!important;visibility:visible!important}img[loading=eager]{opacity:1!important;transition:opacity .3s ease;display:block!important;visibility:visible!important}img[loading=eager].loaded,img[loading=eager][complete]{opacity:1!important;background:0 0;display:block!important;visibility:visible!important}img[style*="display: none"]{display:none!important}@keyframes skeleton-loading{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}img:not([src]),img[src=""]{background:linear-gradient(90deg,var(--color-bg-alt) 0,var(--color-gray-light) 40px,var(--color-bg-alt) 80px);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite}section{transition:opacity .6s ease,transform .6s ease}.vehicule-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(196,30,58,.1) 0,transparent 70%);opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:0}.vehicule-card:hover::before{opacity:1}.vehicule-content{position:relative;z-index:1}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes revealFromBottom{0%{opacity:0;transform:translateY(60px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes revealFromLeft{0%{opacity:0;transform:translateX(-60px) scale(.95)}100%{opacity:1;transform:translateX(0) scale(1)}}@keyframes revealFromRight{0%{opacity:0;transform:translateX(60px) scale(.95)}100%{opacity:1;transform:translateX(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,100%{box-shadow:0 0 20px rgba(196,30,58,.3)}50%{box-shadow:0 0 40px rgba(196,30,58,.6)}}.reveal-bottom{opacity:0;transform:translateY(60px) scale(.95);transition:opacity .8s cubic-bezier(.25, .46, .45, .94),transform .8s cubic-bezier(.25, .46, .45, .94);will-change:opacity,transform}.reveal-bottom.revealed{opacity:1;transform:translateY(0) scale(1)}.reveal-left{opacity:0;transform:translateX(-60px) scale(.95);transition:opacity .8s cubic-bezier(.25, .46, .45, .94),transform .8s cubic-bezier(.25, .46, .45, .94);will-change:opacity,transform}.reveal-left.revealed{opacity:1;transform:translateX(0) scale(1)}.reveal-right{opacity:0;transform:translateX(60px) scale(.95);transition:opacity .8s cubic-bezier(.25, .46, .45, .94),transform .8s cubic-bezier(.25, .46, .45, .94);will-change:opacity,transform}.reveal-right.revealed{opacity:1;transform:translateX(0) scale(1)}.parallax-section{transform:translateZ(0);will-change:transform}.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .glass-effect{background:rgba(10,10,10,.3);border:1px solid rgba(255,255,255,.1)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 2px rgba(196,30,58,.2)}