:root{--bg: #FAFAF8;--bg-card: #F0EDE8;--bg-card-elevated: #FAFAF8;--bg-overlay: rgba(0, 0, 0, .5);--ink: #1A1A1A;--ink-dim: #4A4A4A;--ink-muted: #6A6A6A;--cta1: #7A5C10;--cta2: #9B7B1A;--cta-gradient: linear-gradient(120deg, #9B7B1A, #B8941F);--cta-accent: #B8941F;--success: #0ad184;--success-dim: rgba(10, 209, 132, .2);--urgency: #ff4444;--urgency-dim: rgba(255, 68, 68, .2);--ring: #E5E5E5;--ring-gold: rgba(184, 148, 31, .2);--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Futura", "Futura PT", "Avenir", "Avenir Next", "Century Gothic", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--text-5xl: 64px;--font-normal: 400;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .08em;--tracking-widest: .14em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .12);--shadow-gold: 0 4px 16px rgba(184, 148, 31, .15);--shadow-gold-lg: 0 8px 32px rgba(184, 148, 31, .2);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-modal: 100;--z-popup: 200;--z-toast: 300;--z-max: 9999;--container-max: 1400px;--container-narrow: 900px;--section-padding: var(--space-1);--mobile-bar-height: 56px;--elevation-1: 0 0 0 1px rgba(0, 0, 0, .02), 0 1px 2px rgba(0, 0, 0, .03), 0 2px 4px rgba(0, 0, 0, .04);--elevation-2: 0 0 0 1px rgba(0, 0, 0, .02), 0 2px 4px rgba(0, 0, 0, .03), 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .05);--elevation-3: 0 0 0 1px rgba(0, 0, 0, .02), 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .05), 0 16px 32px rgba(0, 0, 0, .06);--elevation-4: 0 0 0 1px rgba(0, 0, 0, .03), 0 8px 16px rgba(0, 0, 0, .05), 0 16px 32px rgba(0, 0, 0, .06), 0 24px 48px rgba(0, 0, 0, .07);--elevation-gold-1: 0 0 0 1px rgba(184, 148, 31, .08), 0 2px 4px rgba(184, 148, 31, .08), 0 4px 8px rgba(184, 148, 31, .06), 0 8px 16px rgba(0, 0, 0, .04);--elevation-gold-2: 0 0 0 1px rgba(184, 148, 31, .12), 0 4px 8px rgba(184, 148, 31, .1), 0 8px 16px rgba(184, 148, 31, .08), 0 16px 32px rgba(0, 0, 0, .06);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .8);--glass-border: 1px solid rgba(212, 175, 55, .12);--glow-gold-sm: 0 0 12px rgba(184, 148, 31, .15);--glow-gold-md: 0 0 24px rgba(184, 148, 31, .2);--glow-gold-lg: 0 0 40px rgba(184, 148, 31, .25);--glow-gold-xl: 0 0 60px rgba(184, 148, 31, .3);--surface-warm: rgba(212, 175, 55, .03);--surface-warm-hover: rgba(212, 175, 55, .06);--surface-highlight: linear-gradient(180deg, rgba(255,255,255,.8) 0%, transparent 40%)}@media (min-width: 768px){:root{--section-padding: var(--space-2)}}@media (min-width: 1024px){:root{--section-padding: var(--space-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-extrabold);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide)}h1{font-size:clamp(var(--text-3xl),6vw,var(--text-5xl))}h2{font-size:clamp(var(--text-2xl),4vw,var(--text-3xl))}h3{font-size:clamp(var(--text-xl),3vw,var(--text-2xl))}h4{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed)}strong{font-weight:var(--font-bold)}.funnel-section{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:var(--space-2) var(--section-padding);padding-bottom:calc(var(--space-2) + var(--mobile-bar-height));position:relative;opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s ease}.funnel-section.active{opacity:1;transform:translateY(0)}.funnel-section:not(.active){display:none}.section-content{width:100%;max-width:var(--container-max);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}.section-title{color:#d4af37;text-transform:uppercase;margin-bottom:var(--space-2);background:#1a1a1ae6;display:inline-block;padding:var(--space-2) var(--space-6);border-radius:var(--radius-full);letter-spacing:var(--tracking-wider)}.section-subtitle{color:var(--ink-dim);font-size:var(--text-lg);margin-top:calc(var(--space-2) * -1)}.progress-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;padding-left:60px;padding-right:60px}@media (max-width: 480px){.progress-indicator{padding-left:50px;padding-right:50px;gap:var(--space-1)}}.progress-step{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--ring);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-sm);color:var(--ink-dim);transition:var(--transition-base);flex-shrink:0}@media (max-width: 480px){.progress-step{width:28px;height:28px;font-size:var(--text-xs)}}.progress-step.active{background:var(--cta-gradient);border-color:var(--cta1);color:var(--bg)}.progress-step.completed{background:var(--success);border-color:var(--success);color:var(--bg)}.progress-line{width:40px;height:2px;background:var(--ring);transition:var(--transition-base);flex-shrink:0}@media (max-width: 480px){.progress-line{width:20px}}.progress-line.completed{background:var(--success)}.progress-label{width:100%;text-align:center;font-size:var(--text-sm);color:var(--ink-dim);margin-top:var(--space-2)}@media (max-width: 480px){.progress-label{font-size:var(--text-xs)}}.section-nav{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-top:var(--space-6);width:100%}.bike-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);width:100%;max-width:var(--container-max);perspective:1000px}@media (min-width: 769px){.bike-grid>.bike-card.bike-card-centered{grid-column:1 / -1;width:calc((100% - var(--space-6)) / 2);justify-self:center}}@media (max-width: 768px){.bike-grid{grid-template-columns:1fr;gap:var(--space-4)}}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);width:100%}@media (max-width: 1024px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.benefits-grid{grid-template-columns:1fr}}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);width:100%}@media (max-width: 1024px){.testimonials-grid{grid-template-columns:1fr}}.footer{background:var(--bg-card);border-top:1px solid var(--ring);padding:var(--space-10) var(--space-6);padding-bottom:calc(var(--space-10) + var(--mobile-bar-height))}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);max-width:var(--container-max);margin:0 auto}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr;text-align:center}}.footer-col h4{color:var(--ink);font-size:var(--text-base);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--font-extrabold)}.footer-col p{color:var(--ink);font-size:var(--text-sm);margin-bottom:var(--space-2)}.footer-col a{color:var(--ink);transition:var(--transition-fast)}.footer-col a:hover{color:var(--ink);text-decoration:underline}.social-links{display:flex;gap:var(--space-3);margin-top:var(--space-4)}@media (max-width: 768px){.social-links{justify-content:center}}.social-links a{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-card-elevated);border:1px solid var(--ring);display:flex;align-items:center;justify-content:center;transition:var(--transition-base)}.social-links a:hover{background:var(--ink);border-color:var(--ink)}.social-links svg{width:20px;height:20px;fill:var(--ink);transition:var(--transition-base)}.social-links a:hover svg{fill:var(--bg)}.footer-bottom{max-width:var(--container-max);margin:var(--space-8) auto 0;padding-top:var(--space-6);border-top:1px solid var(--ring);text-align:center}.footer-bottom p{color:var(--ink);font-size:var(--text-sm)}.footer-seo{font-size:var(--text-xs);color:var(--ink-dim);opacity:.8;margin-top:var(--space-2)}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-gold{color:var(--cta1)}.text-success{color:var(--success)}.text-dim{color:var(--ink-dim)}#section-hero.active{opacity:1!important;transform:translateY(0)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--font-extrabold);font-size:var(--text-base);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);transition:var(--transition-base);cursor:pointer;white-space:nowrap}.btn-primary{background:var(--cta-gradient);color:var(--bg);box-shadow:var(--shadow-gold)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold-lg)}.btn-secondary{background:var(--bg-card);color:var(--ink);border:2px solid var(--ring)}.btn-secondary:hover{border-color:var(--cta1);color:var(--cta1)}.btn-outline{background:transparent;color:var(--cta1);border:2px solid var(--cta1)}.btn-outline:hover{background:var(--cta1);color:var(--bg)}.btn-small{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-large{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-xlarge{padding:var(--space-5) var(--space-10);font-size:var(--text-xl);min-width:280px}.btn-hero-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5) var(--space-10);font-size:clamp(18px,5vw,26px);font-weight:var(--font-extrabold);min-width:340px;background:linear-gradient(135deg,#00c853,#00e676,#69f0ae)!important;color:#000!important;border:5px solid #ff0000;outline:5px solid #d4af37;outline-offset:0px;border-radius:var(--radius-lg);box-shadow:0 0 30px #d4af37e6,0 0 60px #f009,0 0 100px #d4af3766,0 8px 32px #00000080,inset 0 2px #fff6,inset 0 -2px #0003;position:relative;overflow:visible;animation:hero-cta-mega-pulse 1.5s ease-in-out infinite;z-index:10;text-transform:uppercase;letter-spacing:.5px}.btn-hero-cta .cta-main-text{display:flex;align-items:center;gap:var(--space-2)}.btn-hero-cta .cta-subtext{font-size:clamp(12px,3vw,16px);font-weight:var(--font-semibold);color:#004d00;text-transform:none;letter-spacing:normal;opacity:.9}.btn-hero-cta:before{content:"";position:absolute;inset:-10px;border:3px solid rgba(0,255,136,.7);border-radius:var(--radius-lg);animation:hero-cta-ring-pulse 1.5s ease-in-out infinite;pointer-events:none}.btn-hero-cta:after{content:"";position:absolute;inset:-20px;border:2px solid rgba(0,255,136,.4);border-radius:var(--radius-lg);animation:hero-cta-ring-pulse 1.5s ease-in-out infinite .2s;pointer-events:none}@keyframes hero-cta-mega-pulse{0%,to{transform:scale(1);box-shadow:0 0 30px #d4af37e6,0 0 60px #f009,0 0 100px #d4af3766,0 8px 32px #00000080,inset 0 2px #fff6,inset 0 -2px #0003}50%{transform:scale(1.04);box-shadow:0 0 60px #0f8,0 0 100px #0f8c,0 0 160px #00ff8880,0 12px 40px #0009,inset 0 2px #ffffff80,inset 0 -2px #0003}}@keyframes hero-cta-ring-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:.2}}.btn-hero-cta:hover{transform:translateY(-4px) scale(1.03);border-color:#69f0ae;box-shadow:0 0 80px #0f8,0 0 120px #00ff88b3,0 16px 48px #0009,inset 0 2px #ffffff80}.btn-hero-cta .cta-finger{font-size:1.8em;display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.btn-hero-cta .cta-finger .finger-inner{display:inline-block;animation:finger-tap 1.2s ease-in-out infinite!important;transform-origin:center bottom;will-change:transform}.btn-hero-cta .cta-text{position:relative;z-index:1}@keyframes finger-tap{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-10deg)}}@media (max-width: 768px){.hero-cta-wrapper{margin-top:var(--space-3);padding:0 var(--space-3)}.hero-cta-arrow{font-size:32px;margin-bottom:var(--space-1)}.hero-cta-arrow svg{width:32px;height:32px}.btn-hero-cta{padding:var(--space-4) var(--space-5);min-width:unset;width:100%;max-width:360px;font-size:clamp(16px,4.5vw,20px);margin:0 auto}.btn-hero-cta .cta-finger{font-size:1.5em}.btn-hero-cta .cta-subtext{font-size:clamp(11px,2.8vw,14px)}.btn-hero-cta:before{inset:-6px}.btn-hero-cta:after{inset:-12px}}@media (max-width: 380px){.btn-hero-cta{padding:var(--space-3) var(--space-4);font-size:clamp(14px,4vw,16px);width:calc(100% - 16px)}.btn-hero-cta .cta-finger{font-size:1.3em}.btn-hero-cta .cta-subtext{font-size:11px}.btn-hero-cta:before,.btn-hero-cta:after{display:none}.hero-cta-arrow{display:none}}.btn-arrow{font-size:.8em}.whatsapp-btn{background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 4px 16px #25d3664d}.whatsapp-btn:hover{box-shadow:0 8px 32px #25d36666}.whatsapp-icon{width:24px;height:24px}.hero-title{text-align:center;margin-bottom:var(--space-1)}.kicker{font-family:var(--font-heading);font-size:26px;font-weight:var(--font-extrabold);letter-spacing:var(--tracking-widest);color:var(--ink);text-transform:uppercase;margin-bottom:var(--space-1)}.headline{color:var(--cta1);background:linear-gradient(120deg,var(--cta1) 0%,var(--cta1) 40%,#fff 50%,var(--cta1) 60%,var(--cta1) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sheen-text 3s ease-in-out infinite}.hero-testimonials{width:100%;max-width:500px;margin:var(--space-2) auto;position:relative;min-height:80px}.hero-testimonial{display:none;text-align:center;animation:fadeIn .5s ease}.hero-testimonial.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-testimonial-stars{color:var(--cta1);font-size:var(--text-lg);letter-spacing:2px;margin-bottom:var(--space-2)}.hero-testimonial-text{color:var(--ink);font-size:var(--text-base);font-style:italic;line-height:1.5;margin-bottom:var(--space-2)}.hero-testimonial-author{color:var(--cta1);font-size:var(--text-sm);font-weight:var(--font-semibold)}.hero-testimonial-dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-3)}.testimonial-dot{width:8px;height:8px;border-radius:50%;background:var(--ring);cursor:pointer;transition:var(--transition-fast)}.testimonial-dot.active{background:var(--cta1);transform:scale(1.2)}.testimonial-dot:hover{background:var(--cta2)}@media (max-width: 768px){.hero-testimonials{max-width:100%;padding:0 var(--space-2)}.hero-testimonial-text{font-size:var(--text-sm)}}.video-container{width:95%;max-width:700px}@media (max-width: 768px){.video-container{width:98%;max-width:100%}.video-shell{max-height:calc(100vh - 500px);max-height:calc(100dvh - 500px)}}@media (max-width: 768px){#section-hero .section-content{height:calc(100vh - 50px);height:calc(100dvh - 50px);max-height:none;overflow:visible;justify-content:space-between;padding-top:var(--space-2);padding-bottom:var(--space-2)}.hero-cta-wrapper{margin-top:0;padding-bottom:5px;flex-shrink:0}.hero-testimonials{margin:var(--space-1) auto;min-height:auto;flex-shrink:0}.hero-title,.trust-bar{flex-shrink:0}}@media (max-width: 768px) and (max-height: 600px){.video-shell{max-height:calc(100vh - 420px);max-height:calc(100dvh - 420px)}.hero-testimonials{display:none}.btn-hero-cta{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}}.video-shell{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 0 4px var(--cta1),var(--shadow-xl)}.video-shell iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.video-thumbnail{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:var(--z-base)}.video-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}.video-play-btn{position:relative;z-index:2;width:115px;height:115px;background:#25d3664d;border:5px solid #25D366;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-animation:play-pulse 1.2s ease-in-out infinite!important;animation:play-pulse 1.2s ease-in-out infinite!important}@-webkit-keyframes play-pulse{0%,to{-webkit-transform:scale(1);transform:scale(1);box-shadow:0 0 #25d366b3,0 0 30px #25d36666}50%{-webkit-transform:scale(1.12);transform:scale(1.12);box-shadow:0 0 0 30px #25d36600,0 0 60px #25d366b3}}@keyframes play-pulse{0%,to{-webkit-transform:scale(1);transform:scale(1);box-shadow:0 0 #25d366b3,0 0 30px #25d36666}50%{-webkit-transform:scale(1.12);transform:scale(1.12);box-shadow:0 0 0 30px #25d36600,0 0 60px #25d366b3}}.video-play-btn svg{width:40px;height:40px;margin-left:6px}.video-play-btn .play-bg{display:none}.video-play-btn .play-icon{fill:#fff}.video-play-btn:hover{background:#25d36680;border-color:#1ee55a;-webkit-animation:play-pulse 1.2s ease-in-out infinite!important;animation:play-pulse 1.2s ease-in-out infinite!important}.video-sound-btn{position:absolute;top:var(--space-3);right:var(--space-3);width:44px;height:44px;background:#000000b3;border:2px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:var(--transition-base)}.video-sound-btn:hover{background:#000000e6;border-color:var(--cta1)}.video-sound-btn.hidden{display:none}.video-sound-btn .sound-on{display:block}.video-sound-btn .sound-off,.video-sound-btn.muted .sound-on{display:none}.video-sound-btn.muted .sound-off{display:block}.video-sound-btn.muted{border-color:var(--urgency)}.video-play-label{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:var(--text-sm);font-weight:var(--font-bold);white-space:nowrap;animation:label-bounce 2s ease-in-out infinite}@keyframes label-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.video-thumbnail.hidden{display:none}.sound-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#00000080,#0000004d);z-index:var(--z-dropdown);cursor:pointer;transition:opacity var(--transition-base)}.sound-overlay.hidden{opacity:0;pointer-events:none}.sound-btn{display:flex;align-items:center;gap:var(--space-3);background:var(--cta-gradient);color:var(--bg);padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);font-weight:var(--font-extrabold);font-size:var(--text-base);box-shadow:var(--shadow-lg)}.pulse-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--success);box-shadow:0 0 0 6px var(--success-dim);animation:pulse-dot 1.5s ease-in-out infinite}.video-cta-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000b3;z-index:var(--z-dropdown);opacity:0;transition:opacity var(--transition-slow)}.video-cta-overlay:not(.hidden){opacity:1}.video-cta-text{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--ink);margin-bottom:var(--space-4)}.trust-bar{display:inline-flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;align-items:center;background:linear-gradient(135deg,#ffffff80,#faf8f5b3);backdrop-filter:blur(8px) saturate(130%);-webkit-backdrop-filter:blur(8px) saturate(130%);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.trust-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-dim)}.trust-icon{width:16px;height:16px;fill:var(--ink);opacity:.8}.scroll-indicator{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);opacity:.6;animation:fade-bounce 2s ease-in-out infinite}.scroll-arrow{font-size:var(--text-2xl);color:var(--cta1);animation:bounce-down 1.5s ease-in-out infinite}.scroll-text{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--cta1);letter-spacing:var(--tracking-wider);text-transform:uppercase}.quick-faq-section{width:100%;max-width:var(--container-max);margin-top:var(--space-6);padding:var(--space-4);background:#d4af370d;border:1px solid var(--ring-gold);border-radius:var(--radius-lg)}.quick-faq-title{text-align:center;color:var(--cta1);font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.quick-faq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media (max-width: 768px){.quick-faq-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.quick-faq-grid{grid-template-columns:1fr}}.quick-faq-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);background:var(--bg-card);border-radius:var(--radius-md)}.quick-faq-icon{font-size:var(--text-xl);flex-shrink:0}.quick-faq-content{display:flex;flex-direction:column;gap:2px}.quick-faq-content strong{color:var(--ink);font-size:var(--text-sm)}.quick-faq-content span{color:var(--ink-dim);font-size:var(--text-xs)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.bike-filter-select-wrapper{position:relative;width:100%;max-width:400px}.bike-filter-select{width:100%;min-height:44px;padding:var(--space-2) 44px var(--space-2) var(--space-4);border:1px solid var(--ring);border-radius:var(--radius-full);appearance:none;background:var(--bg-card);color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-semibold)}.bike-filter-select:focus{outline:none;border-color:var(--cta1);box-shadow:0 0 0 3px #d4af3726}.bike-filter-select-icon{position:absolute;inset-block-start:50%;inset-inline-end:16px;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;pointer-events:none}.bike-search-wrapper{position:relative;width:100%;max-width:400px;margin-bottom:var(--space-2)}.bike-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--ink-dim);pointer-events:none}.bike-search-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 48px;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--ring);color:var(--ink);font-size:var(--text-base);transition:var(--transition-base)}.bike-search-input:focus{outline:none;border-color:var(--cta1);box-shadow:0 0 0 3px #d4af3726}.bike-search-input::placeholder{color:var(--ink-muted)}.bike-card{border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease;animation:stagger-fade-in .6s ease forwards;opacity:0}.bike-card:nth-child(1){animation-delay:0ms}.bike-card:nth-child(2){animation-delay:.1s}.bike-card:nth-child(3){animation-delay:.2s}.bike-card:nth-child(4){animation-delay:.3s}.bike-card:nth-child(5){animation-delay:.4s}.bike-card:nth-child(6){animation-delay:.5s}.bike-card:nth-child(7){animation-delay:.6s}.bike-card:first-child{animation:none;opacity:1}.bike-card:before{content:"";position:absolute;inset:-1px;border-radius:calc(var(--radius-lg) + 1px);background:linear-gradient(135deg,#d4af3733,#b8941f1a,#d4af3726);z-index:0;opacity:0;transition:opacity .4s ease}.bike-card:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffffffbf,#faf8f5d9);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #00000008,0 2px 4px #00000005,0 8px 24px #0000000f,inset 0 1px #fffc;z-index:0}.bike-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:none}.bike-card:hover:before{opacity:1}.bike-card:hover:after{backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-color:#d4af374d;box-shadow:0 0 0 1px #d4af371a,0 4px 8px #00000008,0 16px 32px #00000014,inset 0 1px #ffffffe6}.bike-card>*{position:relative;z-index:1}.bike-card-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-extrabold);text-transform:uppercase;letter-spacing:var(--tracking-wide);z-index:10;background:var(--bg-card-elevated);color:var(--ink)}.bike-card-badge.popular{background:linear-gradient(145deg,#ff8555,#f7931e);color:#fff}.bike-card-badge.best-value{background:linear-gradient(145deg,#1ee5a0,#00d4aa);color:#fff}.bike-card-badge.tourist{background:linear-gradient(145deg,#5ca5f2,#357abd);color:#fff}.bike-card-badge.premium{background:linear-gradient(145deg,#d4af37,#b8941f);color:#fff}.bike-card-badge.new{background:linear-gradient(145deg,#a855f7,#7c3aed);color:#fff}.bike-card-img-container{position:relative;overflow:hidden;border-radius:var(--radius-md);border:2px solid var(--ring-gold);aspect-ratio:4 / 3}.bike-card-img{width:100%;height:100%;object-fit:cover;object-position:var(--bike-image-position, center center);transform-origin:var(--bike-image-origin, var(--bike-image-position, center center));transform:scale(var(--bike-image-scale, 1)) rotate(var(--bike-image-rotation, 0deg)) scaleX(var(--bike-image-flip, 1));transition:transform 6s ease-out}.bike-card:hover .bike-card-img{transform:scale(var(--bike-image-scale, 1)) rotate(var(--bike-image-rotation, 0deg)) scaleX(var(--bike-image-flip, 1))}.bike-card-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--ink);text-align:center}.bike-card-pricing{text-align:center;margin:var(--space-3) 0}.bike-card-rate-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.rate-tier{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.rate-tier-label{font-size:13px;color:var(--ink-muted);font-weight:500}.rate-tier-period{font-size:11px;color:var(--ink-muted)}.rate-tier-prices{display:flex;align-items:center;gap:10px}.rate-tier-market{font-size:14px;color:var(--ink-muted);text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:1px}.rate-tier-price{font-size:14px;color:var(--ink);font-weight:600}.bike-card-featured-price{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}.featured-price-label{font-size:11px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:500}.featured-market-price{font-size:20px;color:var(--ink-muted);text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:1px}.featured-price-amount{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--cta1);line-height:1.1}.featured-price-period{font-size:13px;color:var(--ink-muted)}.bike-card-savings{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-bold);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-top:var(--space-2);box-shadow:0 2px 8px #22c55e4d}.bike-card-buttons{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.bike-card-buttons .btn{flex:1;font-size:var(--text-xs);padding:var(--space-2) var(--space-2)}.bike-card-img{cursor:pointer;transition:var(--transition-base)}.bike-card-img:hover{opacity:.9;transform:scale(var(--bike-image-scale, 1)) rotate(var(--bike-image-rotation, 0deg)) scaleX(var(--bike-image-flip, 1))}.calculator-card{background:var(--bg-card);border:3px solid var(--ring-gold);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:600px}@media (max-width: 768px){.calculator-card{padding:var(--space-5);max-width:95%}}.calc-bike-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:2px solid var(--ring);margin-bottom:var(--space-5)}/* WHY: contain preserves Hub framing; unmatched photo/frame ratios must reveal the surrounding card, never black letterbox bars. Keep clipping and border. */
.calc-bike-thumb-frame{width:100%;height:auto;aspect-ratio:4 / 3;box-sizing:border-box;flex:none;overflow:hidden;border-radius:var(--radius-md);border:3px solid #111;background:transparent}.calc-bike-thumb{display:block;width:100%;height:100%;object-fit:contain;object-position:var(--booking-image-position, center center);transform-origin:var(--booking-image-origin, var(--booking-image-position, center center));transform:scale(var(--booking-image-scale, 1)) rotate(var(--booking-image-rotation, 0deg)) scaleX(var(--booking-image-flip, 1))}.calc-bike-name{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--cta1);margin:0;line-height:1.3;width:100%;text-align:center}.calc-dates-section{margin-bottom:var(--space-6)}.calc-instruction{font-size:var(--text-lg);color:var(--ink);margin-bottom:var(--space-4);font-weight:var(--font-semibold);text-align:center}.calc-date-row{display:flex;align-items:flex-end;gap:var(--space-2)}.calc-date-field{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.calc-date-field label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--cta1);text-transform:uppercase;letter-spacing:1px;text-align:center}.calc-date-wrapper{position:relative;display:flex;align-items:center}.calc-date-input{width:100%;padding:var(--space-4);padding-right:var(--space-10);border-radius:var(--radius-md);border:2px solid var(--ring-gold);background:var(--bg-card-elevated);color:var(--ink);font-size:var(--text-base);font-weight:var(--font-semibold);color-scheme:light;cursor:pointer;transition:var(--transition-base)}.calc-date-input:hover{border-color:var(--cta1);background:#d4af371a}.calc-date-input:focus{outline:none;border-color:var(--cta1);box-shadow:0 0 0 3px #d4af3733}.calc-date-input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.calc-calendar-icon{position:absolute;right:var(--space-3);width:22px;height:22px;color:var(--cta1);pointer-events:none}.calc-date-arrow{flex-shrink:0;width:20px;height:20px;color:var(--cta1);margin-bottom:var(--space-3)}.calc-date-arrow svg{width:100%;height:100%}.calc-price-section{background:linear-gradient(135deg,#d4af3714,#d4af3708);border-radius:var(--radius-lg);padding:var(--space-6);margin:0 calc(var(--space-8) * -1);margin-bottom:calc(var(--space-8) * -1);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}@media (max-width: 768px){.calc-price-section{margin:0 calc(var(--space-5) * -1);margin-bottom:calc(var(--space-5) * -1);padding:var(--space-4)}}.calc-duration{text-align:center;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:2px dashed var(--ring-gold);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.calc-duration .duration-text{color:var(--ink-dim);font-size:var(--text-base)}.calc-duration.active{background:var(--cta-gradient);border:none}.calc-duration.active .duration-text{color:var(--bg);font-weight:var(--font-bold);font-size:var(--text-lg)}.calc-price-market{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);text-align:center}.calc-market-label{color:var(--ink-dim);font-size:var(--text-sm);font-weight:var(--font-medium)}.calc-market-amount{font-size:clamp(32px,9vw,42px);font-weight:var(--font-extrabold);color:var(--ink);line-height:1;text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:4px}.calc-price-yours{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);text-align:center}.calc-yours-label{color:var(--success);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.calc-price-big{font-size:clamp(36px,10vw,48px);font-weight:var(--font-extrabold);color:var(--cta1);line-height:1}.calc-savings-section{background:linear-gradient(135deg,#22c55e1a,#16a34a0d);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.calc-savings-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--ring)}.calc-savings-row:last-of-type{border-bottom:none}.savings-label{color:var(--ink-dim);font-size:var(--text-sm)}.savings-value{color:var(--success);font-weight:var(--font-bold);font-size:var(--text-base)}.calc-savings-total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);margin-top:var(--space-2);border-top:2px solid var(--success)}.savings-total-label{color:var(--success);font-weight:var(--font-extrabold);font-size:var(--text-base);text-transform:uppercase}.savings-total-value{color:var(--success);font-weight:var(--font-extrabold);font-size:var(--text-xl)}.calc-price-row{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);text-align:center}.calc-price-left{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.calc-strikethrough{color:var(--ink-dim);font-size:var(--text-lg);font-weight:var(--font-semibold)}.calc-strikethrough .strike-amount{text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:3px;color:var(--ink);font-size:var(--text-xl);font-weight:var(--font-bold)}.calc-savings{display:flex;align-items:center;justify-content:center;width:100%}.calc-savings-badge{display:inline-block;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);text-align:center;max-width:100%;word-wrap:break-word;font-size:var(--text-sm);font-weight:var(--font-bold);box-shadow:0 4px 12px #22c55e66;text-transform:uppercase;letter-spacing:.5px}.calc-promo{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.calc-promo-input{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:2px solid var(--ring);background:var(--bg-card);color:var(--ink);font-size:var(--text-base)}.calc-promo-input:focus{outline:none;border-color:var(--cta1)}.calc-promo-input::placeholder{color:var(--ink-muted)}.calc-promo-btn{padding:var(--space-3) var(--space-4);background:var(--bg-card-elevated);border:2px solid var(--ring-gold);border-radius:var(--radius-md);color:var(--cta1);font-weight:var(--font-bold);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-base)}.calc-promo-btn:hover{background:var(--cta1);color:var(--bg)}.promo-message{font-size:var(--text-base);margin-top:var(--space-3);text-align:center}.promo-message.success{color:var(--success)}.promo-message.error{color:var(--urgency)}.benefit-card{background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;transition:var(--transition-base)}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--ring-gold)}.benefit-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.benefit-card h3{font-family:var(--font-heading);font-size:var(--text-base);color:var(--cta2);margin-bottom:var(--space-2)}.benefit-card p{font-size:var(--text-sm);color:var(--ink-dim);line-height:var(--leading-relaxed)}.testimonial-card{background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left}.stars{color:var(--cta1);font-size:var(--text-lg);letter-spacing:2px;margin-bottom:var(--space-3)}.testimonial-text{font-size:var(--text-base);color:var(--ink);font-style:italic;line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.testimonial-author{font-size:var(--text-sm);color:var(--ink-dim)}.testimonial-author strong{color:var(--cta2)}.google-reviews-link{display:inline-block;color:var(--cta2);font-weight:var(--font-bold);margin-top:var(--space-4);transition:var(--transition-fast)}.google-reviews-link:hover{color:var(--cta1)}.process-steps{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8)}.process-step{background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;min-width:120px}.step-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.step-title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--ink);margin-bottom:var(--space-1)}.step-time{font-size:var(--text-xs);color:var(--success);font-weight:var(--font-semibold)}.process-arrow{font-size:var(--text-2xl);color:var(--cta1)}@media (max-width: 768px){.process-arrow{display:none}.process-steps{flex-direction:column}}.faq-section{width:100%;max-width:600px}.faq-title{color:var(--cta1);font-size:var(--text-lg);margin-bottom:var(--space-4);text-align:center}.faq-item{border:1px solid var(--ring);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-card);color:var(--ink);font-weight:var(--font-semibold);text-align:left;transition:var(--transition-base)}.faq-question:hover{background:var(--bg-card-elevated)}.faq-icon{font-size:var(--text-xl);color:var(--cta1);transition:var(--transition-base)}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-item.open .faq-answer{max-height:200px}.faq-answer p{padding:var(--space-4);padding-top:0;color:var(--ink-dim);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.included-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--ring)}.included-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--cta1);text-align:center;margin-bottom:var(--space-5)}.included-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (max-width: 480px){.included-grid{grid-template-columns:1fr}}.included-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:linear-gradient(135deg,#ffffff80,#faf8f5b3);backdrop-filter:blur(8px) saturate(130%);-webkit-backdrop-filter:blur(8px) saturate(130%);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc;border-radius:var(--radius-md)}.included-icon{font-size:var(--text-2xl);flex-shrink:0}.included-text{display:flex;flex-direction:column;gap:2px}.included-text strong{color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-bold)}.included-text span{color:var(--ink-dim);font-size:var(--text-xs)}.guarantees-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--ring)}.guarantees-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--cta1);text-align:center;margin-bottom:var(--space-5)}.guarantees-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (max-width: 480px){.guarantees-grid{grid-template-columns:1fr}}.guarantee-card{background:linear-gradient(135deg,#22c55e14,#16a34a08);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.guarantee-icon{font-size:var(--text-2xl);display:block;margin-bottom:var(--space-2)}.guarantee-card strong{display:block;color:var(--ink);font-size:var(--text-sm);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.guarantee-card p{color:var(--ink-dim);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:0}.modal{position:fixed;inset:0;background:radial-gradient(circle at 30% 40%,rgba(184,148,31,.06),transparent 50%),radial-gradient(circle at 70% 60%,rgba(212,175,55,.04),transparent 50%),#ffffffb3;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:var(--transition-base);padding:var(--space-4)}.modal.show{opacity:1;visibility:visible}.modal-content{background:linear-gradient(135deg,#ffffffd9,#faf8f5eb);backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);padding:var(--space-6);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.9) translateY(20px);transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;box-shadow:0 0 0 1px #d4af371a,0 2px 4px #00000005,0 8px 16px #0000000a,0 16px 32px #0000000f,inset 0 1px #fffc}.modal.show .modal-content{transform:scale(1) translateY(0)}.modal-large{max-width:900px}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-card-elevated);color:var(--ink);font-size:var(--text-xl);display:flex;align-items:center;justify-content:center;transition:var(--transition-base)}.modal-close:hover{background:var(--urgency)}.modal-title{color:var(--cta1);text-align:center;margin-bottom:var(--space-4)}.exit-popup-content{text-align:center}.exit-title{font-size:var(--text-2xl);color:var(--ink);margin-bottom:var(--space-2)}.exit-subtitle{font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--success);margin-bottom:var(--space-3)}.exit-text{color:var(--ink-dim);margin-bottom:var(--space-4)}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.comparison-table th,.comparison-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--ring)}.comparison-table th{background:var(--bg-card-elevated);color:var(--cta1);font-weight:var(--font-bold);white-space:nowrap}.comparison-table td{color:var(--ink-dim)}.comparison-table .bike-name{color:var(--cta2);font-weight:var(--font-semibold)}.comparison-table .price-strike{text-decoration:line-through;text-decoration-color:#ef4444;text-decoration-thickness:2px;color:var(--ink-muted);font-size:var(--text-xs);display:block}.comparison-table .price-actual{color:var(--cta1);font-weight:var(--font-bold)}.social-proof{position:fixed;bottom:calc(var(--mobile-bar-height) + var(--space-4));left:var(--space-4);background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-md);padding:var(--space-3);max-width:280px;box-shadow:var(--shadow-lg);z-index:var(--z-popup);opacity:0;transform:translate(-400px);transition:var(--transition-base)}.social-proof.show{opacity:1;transform:translate(0)}.social-proof-close{position:absolute;top:var(--space-2);left:var(--space-2);font-size:var(--text-lg);color:var(--ink-muted);opacity:.6}.social-proof-close:hover{opacity:1}.social-proof-content{display:flex;align-items:center;gap:var(--space-3)}.social-proof-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--cta-gradient);display:flex;align-items:center;justify-content:center;font-weight:var(--font-extrabold);color:var(--bg);flex-shrink:0}.social-proof-name{font-weight:var(--font-bold);color:var(--cta2);font-size:var(--text-sm)}.social-proof-action{color:var(--ink-dim);font-size:var(--text-xs);margin-top:var(--space-1)}.mobile-whatsapp-bar{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-bar-height);background:linear-gradient(135deg,#25d366,#128c7e);z-index:var(--z-sticky);box-shadow:0 -4px 20px #0000004d}.mobile-whatsapp-bar a{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:100%;color:#fff;font-weight:var(--font-extrabold);font-size:var(--text-base);letter-spacing:var(--tracking-wide);animation:pulse-bar 2s ease-in-out infinite}.mobile-whatsapp-bar .whatsapp-icon{width:28px;height:28px}.claude-chat-widget{position:fixed;bottom:calc(var(--mobile-bar-height) + var(--space-4));right:var(--space-4);z-index:var(--z-popup);transition:opacity .3s ease,visibility .3s ease}.claude-split-screen.open~.claude-chat-widget,body:has(.claude-split-screen.open) .claude-chat-widget{opacity:0;visibility:hidden;pointer-events:none}.claude-chat-trigger{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-card);border:2px solid var(--cta1);border-radius:var(--radius-full);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-gold);transition:var(--transition-base)}.claude-chat-trigger:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold-lg)}.chat-live-dot{width:10px;height:10px;background:var(--cta1);border-radius:50%;animation:gold-pulse 1.5s ease-in-out infinite;box-shadow:0 0 6px var(--cta1)}@keyframes gold-pulse{0%,to{opacity:1;box-shadow:0 0 6px var(--cta1)}50%{opacity:.6;box-shadow:0 0 12px var(--cta1)}}.chat-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--cta2)}@media (max-width: 768px){.chat-label{font-size:var(--text-xs)}}.claude-chat-window{position:absolute;bottom:calc(100% + var(--space-2));left:0;width:320px;max-height:400px;background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.bike-detail-modal .modal-content{max-width:700px;max-height:90vh;overflow-y:auto}.bike-detail-hero{position:relative;margin:calc(var(--space-6) * -1);margin-bottom:var(--space-4)}.bike-detail-img{width:100%;height:320px;object-fit:contain;object-position:center 70%;background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bike-detail-gallery{display:flex;flex-direction:column;gap:4px}.bike-detail-gallery-frame{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-card)}.bike-detail-gallery-frame:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bike-detail-gallery-img{width:100%;height:100%;display:block;object-fit:contain;object-position:var(--bike-detail-position, center center);transform-origin:var(--bike-detail-origin, var(--bike-detail-position, center center));transform:scale(var(--bike-detail-scale, 1)) rotate(var(--bike-detail-rotation, 0deg)) scaleX(var(--bike-detail-flip, 1))}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;scroll-snap-align:start}.gallery-slide img,.gallery-slide video{width:100%;height:320px;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transition:background .2s}.gallery-prev:hover,.gallery-next:hover{background:#000c}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:background .2s}.gallery-dot.active{background:var(--cta1)}.gallery-counter{position:absolute;bottom:12px;left:12px;background:#0009;color:#fff;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);z-index:2}.bike-detail-badge{position:absolute;bottom:var(--space-3);left:var(--space-3);background:var(--cta-gradient);color:var(--bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-extrabold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.bike-detail-header{text-align:center;margin-bottom:var(--space-4)}.bike-detail-title{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--cta1);margin-bottom:var(--space-1)}.bike-detail-tagline{font-size:var(--text-lg);color:var(--ink-dim);font-style:italic}.bike-detail-description{color:var(--ink);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);text-align:center}.bike-detail-highlights{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.highlight-tag{background:var(--bg-card-elevated);border:1px solid var(--ring-gold);color:var(--cta2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.bike-detail-specs{background:var(--bg-card-elevated);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.specs-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--cta1);margin-bottom:var(--space-3);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.specs-grid{display:grid;gap:var(--space-2)}.spec-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--ring)}.spec-row:last-child{border-bottom:none}.spec-label{color:var(--ink-dim);font-size:var(--text-sm);font-weight:var(--font-semibold)}.spec-value{color:var(--ink);font-size:var(--text-sm);text-align:right;max-width:60%}.bike-detail-perfect{text-align:center;margin-bottom:var(--space-4);padding:var(--space-3);background:#d4af371a;border-radius:var(--radius-md);border:1px solid var(--ring-gold)}.perfect-label{color:var(--ink-dim);font-size:var(--text-sm);margin-left:var(--space-2)}.perfect-value{color:var(--cta1);font-weight:var(--font-bold)}.bike-detail-pricing{margin-bottom:var(--space-6)}.pricing-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--cta1);margin-bottom:var(--space-3);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media (max-width: 600px){.pricing-grid{grid-template-columns:1fr}}.pricing-option{background:var(--bg-card-elevated);border:1px solid var(--ring);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;position:relative}.pricing-option.best{border-color:var(--cta1);background:#d4af371a}.pricing-badge{position:absolute;top:calc(var(--space-2) * -1);left:50%;transform:translate(-50%);background:var(--success);color:var(--bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);white-space:nowrap}.pricing-period{display:block;color:var(--ink-dim);font-size:var(--text-sm);margin-bottom:var(--space-1)}.pricing-amount{display:block;color:var(--cta1);font-size:var(--text-lg);font-weight:var(--font-extrabold)}.pricing-savings{display:inline-block;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);padding:2px 8px;border-radius:var(--radius-sm);margin-top:var(--space-2)}.bike-detail-actions{display:flex;flex-direction:column;gap:var(--space-3)}.bike-detail-actions .btn{width:100%}.bike-detail-actions .btn svg{margin-left:var(--space-2)}.bike-detail-actions .whatsapp-icon{width:20px;height:20px;margin-left:var(--space-2)}.claude-split-screen{position:fixed;inset:0;z-index:var(--z-modal);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.claude-split-screen.open{opacity:1;visibility:visible;pointer-events:auto}.claude-split-overlay{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px)}.claude-split-panel{position:absolute;top:0;right:-100%;width:100%;max-width:480px;height:100%;max-height:100vh;max-height:100dvh;background:var(--bg-card);display:flex;flex-direction:column;transition:right .3s ease;box-shadow:-4px 0 24px #00000080;overflow:hidden}.claude-split-screen.open .claude-split-panel{right:0}@media (max-width: 768px){.claude-split-panel{max-width:100%;height:calc(100vh - var(--mobile-bar-height));height:calc(100dvh - var(--mobile-bar-height));top:0;bottom:var(--mobile-bar-height)}}@media (min-width: 768px){.claude-split-panel{max-width:500px}}.claude-split-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--bg-card-elevated),var(--bg-card));border-bottom:1px solid var(--ring-gold);flex-shrink:0}@media (max-width: 768px){.claude-split-header{padding:var(--space-2) var(--space-3)}}.claude-split-title{display:flex;align-items:center;gap:var(--space-3)}.claude-live-dot{width:12px;height:12px;background:var(--success);border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite;box-shadow:0 0 8px var(--success)}.claude-title-info h3{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--cta1);margin:0;line-height:1.2}.claude-subtitle{font-size:var(--text-xs);color:var(--ink-dim)}.claude-split-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card-elevated);border:1px solid var(--ring);border-radius:var(--radius-full);color:var(--ink);transition:var(--transition-base)}.claude-split-close:hover{background:var(--urgency);border-color:var(--urgency)}.claude-split-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);min-height:0}@media (max-width: 768px){.claude-split-messages{padding:var(--space-2);gap:var(--space-2)}}.claude-split-message{display:flex;gap:var(--space-3);max-width:90%}.claude-split-message.user{flex-direction:row-reverse;align-self:flex-end}.claude-split-message.assistant{align-self:flex-start}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.claude-split-message.assistant .message-avatar{background:var(--success);color:var(--bg)}.claude-split-message.assistant .message-avatar svg{width:20px;height:20px}.claude-split-message.user .message-avatar{background:var(--cta1);color:var(--bg)}.claude-split-message.user .message-avatar svg{width:20px;height:20px}.message-bubble{background:var(--bg-card-elevated);border:1px solid var(--ring);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--ink)}.claude-split-message.user .message-bubble{background:var(--cta1);color:var(--bg);border-color:var(--cta1)}.message-bubble.typing{display:flex;align-items:center;gap:3px;padding:var(--space-3) var(--space-4)}.message-bubble.typing .typing-text{font-size:var(--text-sm);color:var(--ink-muted);font-style:italic;margin-right:2px;animation:typing-pulse 2s ease-in-out infinite}.message-bubble.typing .typing-dot{width:8px;height:8px;background:var(--cta1);border-radius:50%;display:inline-block;animation:typing-bounce 1.4s ease-in-out infinite}.message-bubble.typing .typing-dot:nth-of-type(2){animation-delay:.16s}.message-bubble.typing .typing-dot:nth-of-type(3){animation-delay:.32s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-8px);opacity:1}}@keyframes typing-pulse{0%,to{opacity:.6}50%{opacity:1}}.claude-split-input-area{padding:var(--space-3);background:var(--bg-card-elevated);border-top:1px solid var(--ring);flex-shrink:0}@media (max-width: 768px){.claude-split-input-area{padding:var(--space-2)}}.claude-split-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.suggestion-btn{background:var(--bg-card);border:1px solid var(--ring-gold);color:var(--cta2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);transition:var(--transition-base);cursor:pointer}.suggestion-btn:hover{background:var(--cta1);color:var(--bg);border-color:var(--cta1)}.claude-split-input-row{display:flex;gap:var(--space-2)}.claude-split-input{flex:1;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--ring);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-base)}.claude-split-input:focus{outline:none;border-color:var(--cta1)}.claude-split-input::placeholder{color:var(--ink-muted)}.claude-split-send{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--cta-gradient);border:none;border-radius:50%;color:var(--bg);cursor:pointer;transition:var(--transition-base)}.claude-split-send:hover{transform:scale(1.05);box-shadow:var(--shadow-gold)}.chat-booking-btn-wrapper{margin-top:var(--space-2)}.chat-whatsapp-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-weight:var(--font-bold);font-size:var(--text-base);text-decoration:none;box-shadow:0 4px 16px #25d36666;transition:var(--transition-base)}.chat-whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #25d36680;background:linear-gradient(135deg,#2be06f,#15a06a)}.chat-whatsapp-btn img{flex-shrink:0}.trust-item-clickable{cursor:pointer;transition:var(--transition-base)}.trust-item-clickable:hover{color:var(--cta1)}.trust-item-clickable:hover .trust-icon{fill:var(--cta1)}.final-cta{margin-top:var(--space-8)}.section-back-btn{position:absolute;top:var(--space-4);left:var(--space-4);display:flex;align-items:center;gap:var(--space-2);background:var(--bg-card-elevated);border:2px solid var(--cta1);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);color:var(--cta1);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-base);z-index:var(--z-dropdown);box-shadow:0 2px 8px #0000004d}.section-back-btn:hover{background:var(--cta1);border-color:var(--cta1);color:var(--bg);transform:translate(-2px)}.section-back-btn svg{width:18px;height:18px;fill:currentColor}@media (max-width: 768px){.section-back-btn{top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.section-back-btn .back-label{display:none}}.footer-quick-links{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0}.footer-quick-links .btn{justify-content:center;font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.footer-quick-links .btn-outline{border-color:var(--ring-gold)}.footer-quick-links .btn-outline:hover{background:#d4af371a;border-color:var(--cta1)}@media (min-width: 768px){.footer-quick-links{flex-direction:row;flex-wrap:wrap}.footer-quick-links .btn{flex:1;min-width:180px}}.btn-learn-more{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--ink-muted);border-color:var(--ring);background:transparent;transition:all var(--transition-base)}.btn-learn-more:hover{color:var(--cta1);border-color:var(--cta1);background:#d4af371a}.btn-learn-more .btn-arrow{margin-left:var(--space-2);transition:transform var(--transition-base)}.btn-learn-more:hover .btn-arrow{transform:translate(4px)}.btn-gold{color:#000!important;background:linear-gradient(135deg,var(--cta1),var(--cta2));color:var(--bg-body);font-weight:var(--font-bold);border:none;box-shadow:0 4px 20px #d4af3766;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.btn-gold:hover{background:linear-gradient(135deg,var(--cta2),var(--cta1));box-shadow:0 6px 30px #d4af3799;transform:translateY(-2px)}.btn-gold .btn-arrow{margin-left:var(--space-2)}.section-nav-secondary{margin-top:var(--space-4);display:flex;justify-content:center;width:100%}.section-nav-secondary .btn{min-width:280px}@media (max-width: 768px){.section-nav-secondary .btn{min-width:100%;max-width:320px}}@media (max-width: 768px){.calc-date-row{gap:var(--space-1);width:100%;overflow:hidden}.calc-date-field{flex:1;min-width:0;max-width:45%}.calc-date-input{padding:var(--space-3);padding-right:var(--space-8);font-size:var(--text-sm);width:100%;box-sizing:border-box}.calc-date-arrow{flex-shrink:0;width:20px}}.bike-card-stock{background:#dc2626;color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-1) var(--space-3);border-radius:50px;display:inline-block;position:absolute;top:var(--space-2);left:var(--space-2);z-index:10;box-shadow:0 2px 8px #dc262666}.urgency-banner{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-4);font-weight:var(--font-bold);font-size:var(--text-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:0 4px 15px #dc262666;animation:urgency-pulse 2s ease-in-out infinite}.urgency-banner.expired{background:linear-gradient(135deg,var(--cta1),var(--cta2));color:#000;animation:none}.urgency-timer{font-family:var(--font-mono, monospace);font-size:var(--text-lg);min-width:50px}.urgency-icon{font-size:1.3em}@keyframes urgency-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media (max-width: 768px){.urgency-banner{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}}@media (min-width: 769px){#section-hero .section-content{gap:var(--space-2)}#section-hero{padding-bottom:var(--space-4)}.video-container{max-width:800px}.hero-title .kicker{font-size:30px}.hero-title .headline{font-size:clamp(2.5rem,5vw,3.5rem)}.hero-testimonials{max-width:550px}}.hero-testimonial-text{font-size:var(--text-sm)}.hero-testimonial-author{font-size:var(--text-xs)}.hero-testimonial-stars{font-size:var(--text-sm)}} @media (min-width: 769px){#section-hero .section-content{gap:var(--space-2)}#section-hero{padding-bottom:var(--space-4)}.video-container{max-width:800px}.hero-title .kicker{font-size:30px}.hero-title .headline{font-size:clamp(2.5rem,5vw,3.5rem)}.btn-hero-cta{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.hero-testimonials{max-width:550px}}@media (min-width: 769px){#section-hero .section-content{max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow:visible;justify-content:space-evenly;padding-bottom:20px}.video-container{flex:0 1 auto;max-width:min(800px,calc((100vh - 440px) * 16 / 9));max-width:min(800px,calc((100dvh - 440px) * 16 / 9))}.video-shell{width:100%;aspect-ratio:16 / 9}.hero-cta-wrapper{margin-top:0;flex-shrink:0;padding-bottom:10px}.hero-cta-arrow{display:none}.hero-testimonials,.trust-bar{flex-shrink:0}.hero-testimonials{margin:var(--space-1) auto;min-height:60px;max-width:500px}.hero-testimonial-text{font-size:var(--text-xs);line-height:1.4}.hero-testimonial-author{font-size:10px;margin-top:2px}.hero-testimonial-stars{font-size:var(--text-xs);margin-bottom:2px}.hero-cta-wrapper{margin-top:var(--space-2)}.hero-cta-arrow{margin-bottom:var(--space-1)}.hero-cta-arrow svg{width:28px;height:28px}.btn-hero-cta{padding:var(--space-3) var(--space-6);font-size:var(--text-base);min-width:320px}.btn-hero-cta .cta-subtext{font-size:11px}.hero-title .kicker{font-size:22px;margin-bottom:0}.hero-title .headline{font-size:clamp(2rem,4vw,2.8rem)}.trust-bar{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-wrap:wrap}.trust-item{font-size:11px;display:flex!important;visibility:visible!important;opacity:1!important}}@media (max-width: 768px){.bike-card:after,.trust-bar,.modal-content{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}}.bike-card,.benefit-card,.testimonial-card,.btn,.modal-content{will-change:transform}@media (prefers-reduced-motion: reduce){.bike-card,.benefit-card,.testimonial-card,.btn{transition-duration:.01ms!important;animation-duration:.01ms!important}}.bike-decision-tier{display:inline-flex;margin:.25rem 0 1rem;padding:.38rem .72rem;border:1px solid rgba(212,175,55,.5);border-radius:999px;background:#fff8df;color:#6b4d00;font-weight:800;letter-spacing:.02em}.bike-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0 1.5rem}.bike-decision-grid-single{grid-template-columns:minmax(0,1fr)}.bike-decision-block{min-width:0;padding:1rem;border:1px solid rgba(212,175,55,.28);border-radius:12px;background:#ffffff09}.bike-decision-block h2,.bike-decision-block h3,.catalog-related-bikes>h2,.catalog-related-bikes>h3,.catalog-related-toolbar h2,.catalog-related-toolbar h3{margin:0 0 .45rem;font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.15}.bike-decision-block p{margin:0;line-height:1.55}.catalog-related-bikes{margin:1.5rem 0}.catalog-related-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.catalog-related-toolbar h2,.catalog-related-toolbar h3{margin-bottom:0}.catalog-related-duration-control select{min-height:2.5rem;padding:.45rem 1.9rem .45rem .65rem;border:1px solid rgba(212,175,55,.45);border-radius:8px;background:#fffdf7;color:#1a1a1a;font:inherit}.catalog-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.catalog-related-card{display:grid;grid-template-columns:108px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid rgba(212,175,55,.32);border-radius:12px;background:#ffffff0b;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.catalog-related-card:hover,.catalog-related-card:focus-visible{transform:translateY(-2px);border-color:#d4af37cc}.catalog-related-media{align-self:center;width:96px;aspect-ratio:4 / 3;margin:.5rem 0 .5rem .5rem;overflow:hidden;border-radius:8px;background:#111}.catalog-related-card img{display:block;width:100%;height:100%;object-fit:contain;object-position:var(--related-image-position, center center);transform-origin:var(--related-image-origin, var(--related-image-position, center center));transform:scale(var(--related-image-scale, 1)) rotate(var(--related-image-rotation, 0deg)) scaleX(var(--related-image-flip, 1))}.catalog-related-copy{display:grid;align-content:center;gap:.42rem;min-width:0;padding:.85rem}.catalog-related-copy strong,.catalog-related-copy span,.catalog-related-copy b{overflow-wrap:anywhere}.catalog-related-copy strong{font-size:1.05rem;line-height:1.15}.catalog-related-copy span{font-size:.92rem;line-height:1.45}.catalog-related-copy b{color:#6b4d00;font-size:.9rem}@media (max-width: 700px){.bike-decision-grid,.catalog-related-grid{grid-template-columns:1fr}}@media (max-width: 420px){.catalog-related-toolbar{align-items:stretch;flex-direction:column}.catalog-related-duration-control select{width:100%}.catalog-related-card{grid-template-columns:90px minmax(0,1fr)}.catalog-related-media{width:78px;margin:.4rem 0 .4rem .4rem}}@media (prefers-reduced-motion: reduce){.catalog-related-card{transition:none}}@keyframes finger-tap{0%,to{transform:translateY(0) rotate(0)}40%,60%{transform:translateY(8px) rotate(-5deg)}}@keyframes sheen-text{0%{background-position:200% center}20%{background-position:-20% center}to{background-position:-20% center}}@-webkit-keyframes hero-sheen{0%{-webkit-transform:translateX(-100%) skewX(-15deg);transform:translate(-100%) skew(-15deg)}to{-webkit-transform:translateX(300%) skewX(-15deg);transform:translate(300%) skew(-15deg)}}@keyframes hero-sheen{0%{-webkit-transform:translateX(-100%) skewX(-15deg);transform:translate(-100%) skew(-15deg)}to{-webkit-transform:translateX(300%) skewX(-15deg);transform:translate(300%) skew(-15deg)}}.sheen-btn{position:relative!important;overflow:hidden!important}.sheen-btn:after{content:""!important;position:absolute!important;top:0!important;left:0!important;width:50%!important;height:100%!important;background:-webkit-linear-gradient(left,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%)!important;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%)!important;-webkit-animation:hero-sheen 2.5s ease-in-out infinite!important;animation:hero-sheen 2.5s ease-in-out infinite!important;pointer-events:none!important;z-index:100!important}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes fade-bounce{0%,to{opacity:.6}50%{opacity:.3}}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes pulse-cta{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.9}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes fade-in-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pulse-animation{animation:pulse-cta 2s ease-in-out infinite}.float-animation{animation:float 3s ease-in-out infinite}.fade-in{animation:fade-in .5s ease forwards}.fade-in-up{animation:fade-in-up .6s ease forwards}.shake{animation:shake .5s ease}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-gold)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.02)}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;border-radius:inherit}.spinner{width:24px;height:24px;border:3px solid var(--ring);border-top-color:var(--cta1);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:16px;height:16px;border-width:2px}.skeleton{background:linear-gradient(90deg,var(--bg-card) 0%,var(--bg-card-elevated) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes tilt-in{0%{transform:perspective(1000px) rotateY(-15deg) rotateX(10deg) scale(.9);opacity:0}to{transform:perspective(1000px) rotateY(0) rotateX(0) scale(1);opacity:1}}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-border-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes number-tick{0%{transform:translateY(-100%);opacity:0}50%{transform:translateY(10%)}to{transform:translateY(0);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes confetti-burst{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:1}to{transform:scale(1) rotate(360deg);opacity:0}}@keyframes ken-burns{0%{transform:scale(1) translate(0)}50%{transform:scale(1.1) translate(-2%,-1%)}to{transform:scale(1) translate(0)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #d4af374d}50%{box-shadow:0 0 40px #d4af3799,0 0 60px #d4af374d}}@keyframes float-rotate{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(2deg)}75%{transform:translateY(-4px) rotate(-2deg)}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes morph-blob{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}@keyframes draw-line{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes checkmark-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes attention-shake{0%,to{transform:translate(0)}10%{transform:translate(-2px) rotate(-1deg)}20%{transform:translate(2px) rotate(1deg)}30%{transform:translate(-2px) rotate(-1deg)}40%{transform:translate(2px) rotate(1deg)}50%{transform:translate(0)}}.tilt-in{animation:tilt-in .6s cubic-bezier(.25,.46,.45,.94) forwards}.stagger-fade-in{animation:stagger-fade-in .5s ease forwards;opacity:0}.stagger-fade-in:nth-child(1){animation-delay:0ms}.stagger-fade-in:nth-child(2){animation-delay:.1s}.stagger-fade-in:nth-child(3){animation-delay:.2s}.stagger-fade-in:nth-child(4){animation-delay:.3s}.stagger-fade-in:nth-child(5){animation-delay:.4s}.stagger-fade-in:nth-child(6){animation-delay:.5s}.glow-pulse-animation{animation:glow-pulse 2s ease-in-out infinite}.float-rotate-animation{animation:float-rotate 4s ease-in-out infinite}.ken-burns-animation{animation:ken-burns 20s ease-in-out infinite}.attention-shake-animation{animation:attention-shake .5s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(212,175,55,.18),transparent 40%),radial-gradient(600px circle at calc(var(--mouse-x, 50%) + 15%) calc(var(--mouse-y, 50%) + 10%),rgba(37,211,102,.08),transparent 45%),radial-gradient(500px circle at calc(var(--mouse-x, 50%) - 10%) calc(var(--mouse-y, 50%) - 8%),rgba(184,148,31,.12),transparent 50%),radial-gradient(1200px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(250,245,235,.35),transparent 60%);transition:opacity .6s ease;opacity:.9}body:has(.bike-card:hover):after,body:has(.btn-primary:hover):after{opacity:1}.quick-faq-item{background:linear-gradient(145deg,#faf5ebb3,#f5f0e6cc);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:var(--glass-border);box-shadow:var(--elevation-1),var(--glass-highlight)}.calculator-card{background:linear-gradient(145deg,#faf5ebbf,#f5f0e6e0);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:var(--glass-border);box-shadow:var(--elevation-2),var(--glass-highlight)}.benefit-card{background:linear-gradient(145deg,#faf5ebb3,#f5f0e6d1);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:var(--glass-border);box-shadow:var(--elevation-1),var(--glass-highlight);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.benefit-card:hover{background:linear-gradient(145deg,#faf5ebcc,#f5f0e6eb);backdrop-filter:blur(20px) saturate(165%);-webkit-backdrop-filter:blur(20px) saturate(165%);box-shadow:var(--elevation-3),var(--glow-gold-sm);border-color:#d4af3740;transform:translateY(-4px) scale(1.02)}.testimonial-card{background:linear-gradient(145deg,#faf5ebb3,#f5f0e6d1);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:var(--glass-border);box-shadow:var(--elevation-1),var(--glass-highlight);transition:all .3s ease;position:relative}.testimonial-card:hover{box-shadow:var(--elevation-2),var(--glow-gold-sm);border-color:#d4af3740}.testimonial-card:before{content:"";position:absolute;left:0;top:var(--space-4);bottom:var(--space-4);width:3px;background:var(--cta-gradient);border-radius:0 2px 2px 0;opacity:0;transition:opacity .3s ease}.testimonial-card:hover:before{opacity:1}.footer{background:linear-gradient(180deg,#f0ede8bf,#f5f0e6e6);backdrop-filter:blur(8px) saturate(130%);-webkit-backdrop-filter:blur(8px) saturate(130%)}.footer-quick-links .btn-outline{background:linear-gradient(145deg,#faf5eba6,#f5f0e6bf);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#d4af371a}.footer-quick-links .btn-outline:hover{background:linear-gradient(145deg,#faf5ebd9,#f5f0e6f2);border-color:#d4af374d;box-shadow:var(--glow-gold-sm)}@media (max-width: 768px){body:after{background:radial-gradient(600px circle at 50% var(--scroll-progress, 20%),rgba(212,175,55,.1),transparent 50%),radial-gradient(400px circle at 30% calc(var(--scroll-progress, 20%) + 15%),rgba(37,211,102,.05),transparent 50%);position:fixed}.quick-faq-item,.benefit-card,.testimonial-card,.footer-quick-links .btn-outline{backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}.calculator-card{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}}@media (prefers-reduced-motion: reduce){body:after{display:none}.benefit-card,.testimonial-card{transition-duration:.01ms!important}}.funnel-section{isolation:isolate}.funnel-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff59,#faf8f580,#ffffff4d);backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%);z-index:1;pointer-events:none}.funnel-section:nth-child(2n):before{background:linear-gradient(180deg,#f0ede873,#faf8f58c,#f0ede866)}#section-hero:before{background:radial-gradient(ellipse at 50% 20%,rgba(212,175,55,.08) 0%,rgba(250,245,235,.45) 40%,rgba(250,248,245,.3) 70%,transparent 100%);backdrop-filter:blur(4px) saturate(125%);-webkit-backdrop-filter:blur(4px) saturate(125%)}#section-calculator:before{background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.1) 0%,rgba(250,245,235,.45) 40%,transparent 70%)}#section-benefits:before{background:linear-gradient(180deg,#f0ede880,#faf8f573)}.funnel-section>.section-content,.funnel-section>.progress-indicator,.funnel-section>.section-nav{position:relative;z-index:2}@media (max-width: 768px){.funnel-section:before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media (prefers-reduced-motion: reduce){.funnel-section:before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@font-face{font-family:Barlow Condensed;src:url(/static/fonts/barlow-condensed/barlow-condensed-800-latin.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;src:url(/static/fonts/barlow-condensed/barlow-condensed-800-latin-ext.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;src:url(/static/fonts/barlow-condensed/barlow-condensed-800-vietnamese.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{--erebora-cream: #f5f0e7;--erebora-paper: #fffdf8;--erebora-asphalt: #171816;--erebora-asphalt-2: #242521;--erebora-ink: #171816;--erebora-muted: #5f615b;--erebora-bronze: #8a6014;--erebora-gold: #d3a93b;--erebora-gold-light: #f4d879;--erebora-whatsapp: #167c45;--erebora-success-ink: #146f3f;--erebora-danger: #a62925;--erebora-dock-height: 60px;--bg: var(--erebora-cream);--bg-card: var(--erebora-paper);--bg-card-elevated: #ffffff;--ink: var(--erebora-ink);--ink-dim: #444640;--ink-muted: var(--erebora-muted);--cta1: var(--erebora-bronze);--cta2: #68450c;--cta-gradient: linear-gradient(180deg, var(--erebora-gold-light), var(--erebora-gold));--success: var(--erebora-whatsapp);--urgency: var(--erebora-danger);--ring: #c9c1b4;--ring-gold: rgba(138, 96, 20, .42);--erebora-paper-highlight: rgba(255, 255, 255, .92);--erebora-paper-edge: #8f826f;--erebora-contact-shadow: rgba(23, 24, 22, .18);--erebora-asphalt-highlight: rgba(255, 255, 255, .09);--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;--font-heading: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", "Noto Sans", ui-sans-serif, system-ui, sans-serif;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--container-max: 1360px;--mobile-bar-height: var(--erebora-dock-height);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}html{background:var(--erebora-asphalt);scroll-padding-block:12px calc(var(--erebora-dock-height) + 24px)}body{background:linear-gradient(rgba(23,24,22,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,24,22,.025) 1px,transparent 1px),var(--erebora-cream);background-size:24px 24px;color:var(--erebora-ink);font-size:16px;padding-block-end:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px))}body:before{z-index:0;opacity:.018}body>*{position:relative}:focus-visible{outline:3px solid #145bba;outline-offset:3px}button,a,input,select,summary{scroll-margin-block:16px calc(var(--erebora-dock-height) + 28px)}h1,h2,h3,h4,h5,h6,.btn,.bike-filter-select,.featured-price-amount,.urgency-timer{font-family:var(--font-heading);font-weight:800}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] .btn,html[lang=ar] .bike-filter-select,html[lang=he] h1,html[lang=he] h2,html[lang=he] h3,html[lang=he] h4,html[lang=he] .btn,html[lang=he] .bike-filter-select,html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=ja] h4,html[lang=ja] .btn,html[lang=ja] .bike-filter-select,html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] h4,html[lang=ko] .btn,html[lang=ko] .bike-filter-select,html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] h4,html[lang=zh] .btn,html[lang=zh] .bike-filter-select,html[lang=th] h1,html[lang=th] h2,html[lang=th] h3,html[lang=th] h4,html[lang=th] .btn,html[lang=th] .bike-filter-select,html[lang=hi] h1,html[lang=hi] h2,html[lang=hi] h3,html[lang=hi] h4,html[lang=hi] .btn,html[lang=hi] .bike-filter-select{font-family:Noto Sans,ui-sans-serif,system-ui,sans-serif;letter-spacing:0}html[lang=el] h1,html[lang=el] h2,html[lang=el] h3,html[lang=el] h4,html[lang=el] .btn,html[lang=el] .bike-filter-select{letter-spacing:0}.btn{min-height:44px;border-radius:var(--radius-sm);border:2px solid transparent;padding:10px 18px;line-height:1.15;white-space:normal;text-wrap:balance;text-transform:none;box-shadow:0 3px #17181647}.bike-filter-select,.section-title,.featured-price-label,.bike-card-badge,.bike-card-stock{text-transform:none}.btn-primary,.btn-gold{background:var(--cta-gradient);color:#17120a;border-color:#6f4b0d;box-shadow:0 4px #6f4b0d,0 9px 18px #3e28052e}.btn-secondary{background:var(--erebora-paper);color:var(--erebora-ink);border-color:#7c756b}.btn-outline{color:var(--erebora-asphalt);border-color:var(--erebora-asphalt)}.btn:active{transform:translateY(3px);box-shadow:0 1px #1718164d}.whatsapp-btn{background:#167c45;color:#fff;border-color:#0b4d2b;box-shadow:0 4px #0b4d2b,0 8px 18px #0b4d2b33}body.inventory-first #section-hero,body.inventory-first #section-bikes{display:flex;opacity:1;transform:none}body.inventory-first #section-hero:not(.active),body.inventory-first #section-bikes:not(.active){display:flex}body.inventory-first .funnel-section:not(#section-hero):not(#section-bikes):not(.active){display:none}body.inventory-first #section-hero:before,body.inventory-first #section-bikes:before{background:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#section-hero{min-height:0;padding:12px clamp(12px,3vw,32px) 14px;background:radial-gradient(circle at 13% -25%,rgba(244,216,121,.2),transparent 38%),linear-gradient(180deg,#292a26 0%,var(--erebora-asphalt) 100%);border-block-end:4px solid var(--erebora-gold);color:#fffaf0;box-shadow:inset 0 1px 0 var(--erebora-asphalt-highlight),inset 0 -2px #0000007a}#section-hero .section-content{max-width:var(--container-max);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,480px) minmax(260px,1fr);grid-template-areas:"title video trust" "review video trust";gap:10px 24px;align-items:center;text-align:start}.hero-title{grid-area:title;margin:0;text-align:start}.kicker{margin:0 0 2px;color:#fff5dc;font-size:clamp(16px,2vw,22px);letter-spacing:.08em}.headline{color:var(--erebora-gold-light);-webkit-text-fill-color:currentColor;background:none;animation:none;font-size:clamp(34px,4.8vw,72px);line-height:normal;letter-spacing:-.015em;text-wrap:balance;text-shadow:0 2px 0 rgba(99,65,9,.9)}.video-container{grid-area:video;width:100%;max-width:480px}.video-shell{border-radius:var(--radius-sm);border:0;box-shadow:inset 0 0 0 1px #ffffff2e}.video-shell:after{content:"";position:absolute;inset:0;z-index:30;box-sizing:border-box;border:2px solid #a4842d;border-radius:inherit;pointer-events:none}.video-fullscreen-btn{position:absolute;inset-block-start:6px;inset-inline-end:6px;z-index:20;display:grid;place-items:center;inline-size:44px;block-size:44px;padding:0;border:2px solid #fff5dc;border-radius:3px;background:#090a09e0;color:#fff;box-shadow:inset 0 1px #ffffff38,0 3px #000000ad;cursor:pointer;transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}.video-fullscreen-btn:hover{background:#090a09;box-shadow:inset 0 1px #ffffff52,0 4px #000000c2;transform:translateY(-1px)}.video-fullscreen-btn:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff2e,0 1px #000000b8;transition-duration:34ms}.video-fullscreen-btn svg{width:24px;height:24px;fill:currentColor}.video-fullscreen-btn .fullscreen-exit-icon,.video-fullscreen-btn.is-fullscreen .fullscreen-enter-icon{display:none}.video-fullscreen-btn.is-fullscreen .fullscreen-exit-icon{display:block}.video-sound-btn{top:6px;right:auto;left:auto;inset-inline-start:6px;inset-inline-end:auto}.video-shell:fullscreen,.video-shell:-webkit-full-screen{width:100vw;height:100vh;max-width:none;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:#000;box-shadow:none}.video-shell:fullscreen::backdrop{background:#000}.video-shell:fullscreen:after,.video-shell:-webkit-full-screen:after{display:none}.video-shell:fullscreen .video-thumb-img,.video-shell:-webkit-full-screen .video-thumb-img{object-fit:contain;transform:none;background:#000}.video-shell:fullscreen .video-play-btn,.video-shell:-webkit-full-screen .video-play-btn{transform:none}.video-play-btn,.video-play-btn:hover,.video-play-btn:focus-visible{width:56px;height:56px;border:3px solid #fff;background:#167c45e6;box-shadow:inset 0 1px #ffffff6b,0 4px #0b4d2b;animation:erebora-play-attention 2.8s ease-in-out infinite!important}.video-play-btn:hover,.video-play-btn:focus-visible{background:#198b4ff5;border-color:#fff}@keyframes erebora-play-attention{0%,to{box-shadow:inset 0 1px #ffffff6b,0 4px #0b4d2b,0 0 #f4d8796b}50%{box-shadow:inset 0 1px #ffffff85,0 4px #0b4d2b,0 0 0 9px #f4d87900}}.video-play-btn svg{width:26px;height:26px}.video-play-label{inset-block-end:8px;padding:4px 9px;border-radius:2px;font-size:12px;animation:none}.trust-bar{grid-area:trust;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:8px;gap:6px;border:2px solid #d8b94f;border-radius:var(--radius-sm);background:#20211e;box-shadow:inset 0 1px 0 var(--erebora-asphalt-highlight),0 4px #0809086b;backdrop-filter:none}.trust-item{min-height:44px;justify-content:center;color:#f7f1e5;font-size:13px;line-height:1.25;text-align:center}.trust-icon{fill:var(--erebora-gold-light);opacity:1;flex:0 0 auto}.trust-item-clickable{cursor:pointer}.hero-testimonials{grid-area:review;width:100%;max-width:none;min-height:58px;margin:0;padding-inline-start:12px;border-inline-start:3px solid var(--erebora-gold)}.hero-testimonial{text-align:start}.hero-testimonial-stars{margin:0;color:var(--erebora-gold-light);font-size:14px}.hero-testimonial-text{margin:0;color:#fffaf0;font-size:13px;line-height:1.35}.hero-testimonial-author{margin:2px 0 0;color:#e8ca73;font-size:12px}.hero-testimonial-dots{display:none}#section-bikes{min-height:0;padding:18px clamp(12px,3vw,32px) 48px;background:var(--erebora-cream)}#section-bikes .section-content{max-width:var(--container-max);gap:14px}body.inventory-first #section-bikes>.section-back-btn,body.inventory-first #section-bikes .progress-indicator{display:none}#section-bikes .section-title{margin:0;padding:0;border-radius:0;background:none;color:var(--erebora-asphalt);font-size:clamp(32px,5vw,58px);line-height:.95;letter-spacing:-.01em}.bike-catalog{display:grid;width:100%;min-width:0;gap:14px}.filter-bar{position:sticky;inset-block-start:0;z-index:35;display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,360px);width:100%;margin:0 0 8px;padding:8px;gap:8px;justify-content:start;overflow:visible;background:#f5f0e7fb;border-block:2px solid #746e64;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),0 5px #1718161a}#section-bikes button,#section-bikes a,#section-bikes input,#section-bikes select,#section-bikes summary{scroll-margin-block-start:76px}.bike-search-wrapper{width:100%;max-width:none;margin:0}.bike-search-input,.bike-filter-select{min-height:44px;border:2px solid #5a554d;border-radius:4px;background:var(--erebora-paper);color:var(--erebora-ink);font-size:15px;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),0 2px #5f523f38}.bike-search-input{padding-inline:44px 12px;font-family:var(--font-body);font-size:16px;box-shadow:inset 0 2px 3px #17181614,inset 0 1px 0 var(--erebora-paper-highlight)}.bike-search-icon{inset-inline-start:14px;left:auto}.bike-filter-select-wrapper{width:100%;max-width:none}.bike-filter-select{padding:8px 44px 8px 14px;appearance:none;cursor:pointer;font-family:var(--font-body);font-weight:800;text-overflow:ellipsis}.bike-filter-select:focus{outline:3px solid var(--erebora-gold);outline-offset:2px;border-color:var(--erebora-asphalt);box-shadow:inset 0 1px 0 var(--erebora-asphalt-highlight),0 3px #17181661}.bike-filter-select-icon{color:var(--erebora-asphalt)}.bike-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);max-width:var(--container-max);perspective:none}.bike-card{min-width:0;max-width:100%;gap:10px;padding:10px;border:1px solid var(--erebora-paper-edge);border-block-start:5px solid var(--erebora-asphalt);border-radius:var(--radius-md);background:var(--erebora-paper);box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),8px 8px 0 var(--erebora-contact-shadow);transform:none;transform-style:flat;opacity:1;animation:none;cursor:default;content-visibility:auto;contain-intrinsic-size:auto clamp(590px,calc(36vw + 320px),835px)}.bike-card:first-child{content-visibility:visible;contain-intrinsic-size:none}.bike-card[hidden]{display:none!important}.bike-card:before,.bike-card:after{display:none}.bike-card:hover{transform:none;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),8px 8px 0 var(--erebora-contact-shadow)}.bike-card-img-container{width:100%;min-width:0;max-width:100%;box-sizing:border-box;aspect-ratio:4 / 3;border:1px solid var(--erebora-asphalt);border-radius:4px;background:linear-gradient(135deg,rgba(211,169,59,.16),transparent 45%),#ded8cc;box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 3px var(--erebora-asphalt),0 5px 0 var(--erebora-bronze),0 9px 14px #17181633}.bike-card-img{display:block;min-width:0;max-width:100%;box-sizing:border-box;object-fit:contain;object-position:var(--bike-image-position, center center);transform-origin:var(--bike-image-origin, var(--bike-image-position, center center));transform:scale(var(--bike-image-scale, 1)) rotate(var(--bike-image-rotation, 0deg)) scaleX(var(--bike-image-flip, 1));transition:opacity .18s ease,transform .18s ease}.bike-card-img[data-deferred=true]{opacity:0}.bike-card-img.is-loaded{opacity:1}.bike-card:hover .bike-card-img,.bike-card-img:hover{opacity:1;transform:scale(var(--bike-image-scale, 1)) rotate(var(--bike-image-rotation, 0deg)) scaleX(var(--bike-image-flip, 1))}.bike-card-badge,.bike-card-stock{min-height:28px;display:inline-flex;align-items:center;border-radius:3px;font-size:12px;letter-spacing:.035em;box-shadow:0 2px #17181647}.bike-card-stock{inset-block-start:8px;inset-inline-start:auto;left:auto;right:8px;max-width:calc(100% - 16px);background:var(--erebora-danger)}.bike-card-stock>[data-i18n=only]{margin-inline-end:.28em}.bike-card-stock>[data-i18n=available]{margin-inline-start:.28em}.bike-card-badge{inset-block-start:8px;inset-inline-end:auto;right:auto;left:8px;max-width:calc(100% - 16px)}.bike-card-name{margin:0;color:var(--erebora-asphalt);font-size:clamp(23px,3vw,34px);font-weight:800;line-height:1.12;letter-spacing:0;text-align:start;text-wrap:balance}.bike-card-decision-specs{display:flex;flex-wrap:wrap;gap:6px;color:var(--erebora-asphalt);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.bike-card-decision-specs span{padding:4px 7px;border:1px solid #746e64;border-radius:3px;background:#f8f2e6;white-space:nowrap}.bike-card-rider-fit{margin:0;color:var(--erebora-ink);font-size:15px;font-weight:650;line-height:1.35;text-align:start}.bike-card-pricing{margin:0;text-align:start}.bike-card-featured-price{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "price" "period" "savings";align-items:start;justify-content:start;gap:4px;padding:10px 12px;border:1px solid #66501b;border-inline-start:6px solid var(--erebora-gold);border-radius:3px;background:var(--erebora-asphalt);color:#fff;box-shadow:inset 0 1px 0 var(--erebora-asphalt-highlight),inset 0 -2px #00000075,0 3px #1718162e}.featured-price-label{grid-area:label;color:var(--erebora-gold-light);font-size:15px;font-weight:800;letter-spacing:.08em}.featured-price-amount{grid-area:price;color:#fff;font-size:clamp(32px,4.6vw,48px);line-height:.95;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;white-space:nowrap}.featured-daily-equivalent,.rate-tier-market,.rate-tier-price,.calc-price-big,.calc-market-amount,.savings-value,.savings-total-value{direction:ltr;unicode-bidi:isolate}.featured-price-period{grid-area:period;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 3px;color:#fff5dc;font-size:14px;font-weight:700;line-height:1.2}.bike-card-savings{margin:8px 0 0;background:#167c45;border-radius:3px;box-shadow:inset 0 1px #ffffff3d,0 2px #0b4d2b}.bike-card-featured-price .bike-card-savings{grid-area:savings;justify-self:start;margin-top:4px}.bike-card-buttons{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);width:100%;min-width:0;max-width:100%;box-sizing:border-box;align-items:stretch;gap:10px;margin:10px 0 0}.bike-card-buttons .btn{min-width:0;max-width:100%;min-height:48px;padding:8px 10px;font-size:16px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.bike-card-rate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0}.rate-tier{display:grid;gap:3px;align-content:start;padding:8px;border:1px solid #c9c1b4;background:#f3eee5;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight)}.rate-tier-label{color:var(--erebora-muted);font-size:13px}.rate-tier-prices{display:flex;flex-wrap:wrap;gap:4px 8px}.rate-tier-market{font-size:12px}.rate-tier-price{color:var(--erebora-ink);font-size:15px;font-weight:800}.quick-faq-section{border:1px solid #9f906f;border-radius:4px;background:#e9e1d3}.quick-faq-title{color:#6f4809}.quick-faq-grid{gap:8px}.quick-faq-item{min-height:64px;border:1px solid #c6baaa;border-radius:3px;background:var(--erebora-paper)}#section-calculator,#section-trust,#section-faq{padding:24px clamp(12px,3vw,32px) 48px;background:var(--erebora-cream)}#section-calculator .section-content,#section-trust .section-content,#section-faq .section-content{gap:20px}.progress-indicator{margin:0}.section-title{border-radius:4px;background:var(--erebora-asphalt);color:var(--erebora-gold-light)}.calculator-card,.benefit-card,.testimonial-card,.faq-item,.included-section,.guarantees-section{border-radius:var(--radius-md);background:var(--erebora-paper);box-shadow:6px 6px #1718161c;backdrop-filter:none}.calc-date-input,.calc-promo-input,.calc-promo-btn{min-height:44px}.calc-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.calc-promo-input{min-width:0}.urgency-banner{margin:0;border:2px solid #641916;border-radius:4px;background:var(--erebora-danger);box-shadow:0 4px #641916;animation:none}.urgency-banner.expired{color:#fff}.progress-step.active,.social-proof-avatar,.footer .footer-quick-links .btn-outline{color:var(--erebora-ink)}.calc-yours-label{color:var(--erebora-success-ink)}.faq-question{min-height:52px}dialog.modal{position:fixed;inset:0;width:min(94vw,1040px);max-width:none;max-height:min(92dvh,900px);margin:auto;padding:0;border:0;background:transparent;backdrop-filter:none;opacity:1;visibility:visible;overflow:visible}dialog.modal:not([open]),dialog.exit-popup:not([open]){display:none}dialog.modal[open]{display:block;opacity:1;visibility:visible}dialog.modal::backdrop{background:#080908c7}dialog.modal .modal-content{width:100%;max-height:min(92dvh,900px);overflow:auto;transform:none}dialog.exit-popup{position:fixed;inset:0;width:min(92vw,520px);max-height:min(88dvh,680px);margin:auto;padding:0;border:2px solid #6b4b0e;border-block-start:8px solid var(--erebora-gold);border-radius:var(--radius-md);background:radial-gradient(circle at 50% -20%,rgba(244,216,121,.28),transparent 42%),var(--erebora-paper);color:var(--erebora-ink);box-shadow:inset 0 0 0 1px #ffffffb8,14px 14px #0000005c;overflow:auto}dialog.exit-popup::backdrop{background:#080908c7}dialog.exit-popup .exit-popup-content{width:100%;max-height:none;padding:34px 22px 24px;border:0;border-radius:0;background:linear-gradient(180deg,rgba(255,255,255,.54),transparent 38%),var(--erebora-paper);box-shadow:none;transform:none}dialog.exit-popup[open] .exit-popup-content{transform:none}.modal-close,.bike-selector-close{z-index:30;width:44px;height:44px;border:2px solid var(--erebora-asphalt);border-radius:3px;background:var(--erebora-paper);color:var(--erebora-asphalt)}.exit-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.08em .18em;font-size:clamp(36px,8vw,58px);line-height:1;text-align:center}.exit-title-gift{width:.72em;height:.72em;flex:0 0 auto;color:var(--erebora-danger);filter:drop-shadow(0 3px 0 rgba(23,24,22,.22));transform:rotate(-4deg)}.exit-subtitle{color:#0f6237;font-size:clamp(25px,6vw,38px);line-height:1}.exit-popup .btn{width:100%;min-height:52px}.offer-teaser{position:fixed;inset-inline-start:12px;inset-block-end:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px) + 12px);z-index:185;display:none;align-items:stretch;max-width:min(320px,calc(100vw - 24px));border:2px solid #6f4b0d;border-radius:4px;background:linear-gradient(180deg,#ffe79b 0%,var(--erebora-gold-light) 100%);box-shadow:inset 0 1px #ffffff94,7px 7px #1718164d}.offer-teaser.show{display:flex}.offer-teaser-open{min-height:48px;padding:8px 12px;color:#17120a;font-weight:800}.offer-teaser-dismiss{width:48px;min-height:48px;border-inline-start:1px solid #6f4b0d;color:#17120a;font-size:22px}.modal,.bike-selector-modal{z-index:210}.modal-content,.bike-selector-content{border:2px solid #6e6558;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffefa,#f5eee2);box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),12px 12px #1718164d}.bike-detail-modal .modal-content{padding-block-start:56px}.bike-detail-modal .modal-close{position:sticky;inset-block-start:8px;inset-inline-start:calc(100% - 52px);margin-block-end:-44px}.comparison-table th{position:sticky;inset-block-start:0;z-index:2;background:var(--erebora-asphalt);color:var(--erebora-gold-light)}.mobile-whatsapp-bar{right:auto;left:auto;inset-inline-start:0;inset-inline-end:64px;inset-block-end:0;height:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px));padding-block-end:env(safe-area-inset-bottom,0px);background:#167c45;border-block-start:2px solid #0b4d2b;box-shadow:0 -4px 12px #17181633}.mobile-whatsapp-bar a{min-height:var(--erebora-dock-height);padding-inline:12px;color:#fff;animation:none;font-size:16px;letter-spacing:0}.claude-chat-widget{right:auto;left:auto;inset-inline-end:0;inset-block-end:0;bottom:0;width:64px;height:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px));padding-block-end:env(safe-area-inset-bottom,0px);background:var(--erebora-asphalt);border-block-start:2px solid #080908;border-inline-start:1px solid #514d45;z-index:var(--z-sticky)}@media (min-width: 769px){.mobile-whatsapp-bar{inset:auto auto 0 0;width:320px}.claude-chat-widget{inset:auto auto 0 320px}[dir=rtl] .mobile-whatsapp-bar{inset:auto 0 0 auto}[dir=rtl] .claude-chat-widget{inset:auto 320px 0 auto}}.claude-chat-trigger{width:100%;height:var(--erebora-dock-height);min-width:44px;min-height:44px;justify-content:center;padding:4px;border:0;border-radius:0;background:var(--erebora-asphalt);color:#fff;box-shadow:none}.claude-chat-trigger .chat-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.chat-live-dot{width:13px;height:13px}.social-proof{inset-inline-start:12px;inset-block-end:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px) + 12px);left:auto;bottom:auto;max-width:min(300px,calc(100vw - 24px));border:1px solid #827867;border-radius:4px;background:linear-gradient(180deg,#fffefa,#f3ede2);box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),7px 7px #17181633}.social-proof-close{inset-inline-start:auto;inset-inline-end:4px;inset-block-start:4px;left:auto;width:44px;height:44px}.footer{padding-block-end:32px;border-block-start:6px solid var(--erebora-gold);background:var(--erebora-asphalt)}.footer-col h4,.footer-col p,.footer-col a,.footer-bottom p{color:#f7f1e5}.footer-col h4{color:var(--erebora-gold-light)}.footer .btn-outline{border-color:#d8cba9;color:#fff}@media (max-width: 1023px){#section-hero .section-content,#section-hero .section-content[style]{height:auto;max-height:none;overflow:visible;justify-content:normal;padding-block:0;grid-template-columns:minmax(0,1fr) minmax(220px,340px);grid-template-areas:"title video" "trust video" "review video"}.trust-bar{grid-template-columns:1fr}.trust-item{min-height:30px;justify-content:flex-start;text-align:start}.bike-grid{gap:18px}}@media (max-width: 767px){:root{--erebora-dock-height: 58px;--mobile-video-width: clamp(176px, 48vw, 230px)}#section-hero{padding:8px 12px 10px}#section-hero .section-content,#section-hero .section-content[style]{height:auto;max-height:none;padding:0;display:grid;grid-template-columns:minmax(0,1fr) var(--mobile-video-width);grid-template-areas:"title video" "trust trust" "review review";gap:7px 10px;align-items:center}.hero-title{padding-inline-end:0}.kicker{font-size:14px;line-height:1.1;letter-spacing:.055em}.headline{font-size:clamp(34px,11vw,44px);line-height:normal}.video-container{width:var(--mobile-video-width)}.video-shell{max-height:none}.video-fullscreen-btn,.video-sound-btn{inline-size:32px;block-size:32px;min-width:32px;min-height:32px}.video-fullscreen-btn svg,.video-sound-btn svg{width:16px;height:16px}.video-play-btn,.video-play-btn:hover,.video-play-btn:focus-visible{width:44px;height:44px;transform:translate(-12px)}html[dir=rtl] .video-play-btn,html[dir=rtl] .video-play-btn:hover,html[dir=rtl] .video-play-btn:focus-visible{transform:translate(12px)}.video-play-label{display:none}.trust-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;gap:3px}.trust-item{min-height:36px;justify-content:center;gap:3px;font-size:12px;line-height:1.2;text-align:center}.trust-icon{width:13px;height:13px}.hero-testimonials{min-height:48px;margin:0;padding-inline-start:7px;overflow:hidden}.hero-testimonial-stars{font-size:11px}.hero-testimonial-text{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hero-testimonial-author{display:none}.btn-hero-cta{min-height:48px;padding:6px;font-size:14px;box-shadow:inset 0 1px #ffffff7a,inset 0 -2px #37230433,3px 3px #080908}#section-bikes{padding:12px 10px 32px}#section-bikes .section-content{gap:10px}#section-bikes .section-title{align-self:flex-start;padding-inline:2px;font-size:34px}.filter-bar{width:calc(100% + 20px);margin-inline:-10px;padding-inline:10px;grid-template-columns:minmax(0,1fr)}.bike-grid{grid-template-columns:minmax(0,1fr);gap:20px}.bike-grid>.bike-card.bike-card-centered{width:100%}.bike-card{width:100%;padding:8px;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),5px 5px 0 var(--erebora-contact-shadow);contain-intrinsic-size:auto clamp(600px,calc(25vw + 520px),625px)}.bike-card-name{font-size:27px}.featured-price-amount{font-size:clamp(32px,9.2vw,44px)}.bike-card-buttons{gap:8px}.bike-card-buttons .btn{min-height:48px;font-size:15px}.quick-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-faq-item{min-width:0}.quick-faq-content span{font-size:13px;overflow-wrap:anywhere}.section-nav{gap:10px}.section-nav>*{flex:1 1 180px}.calculator-card{width:100%;max-width:none;padding:14px}.calc-date-row{overflow:visible}.calc-date-field{max-width:none}.modal-content{width:calc(100vw - 20px);max-height:calc(100dvh - 32px)}.mobile-whatsapp-bar{inset-inline-end:58px}.claude-chat-widget{width:58px}.social-proof.show+.offer-teaser.show,.social-proof.show~.offer-teaser.show{inset-block-end:calc(var(--erebora-dock-height) + env(safe-area-inset-bottom,0px) + 92px)}}@media (min-width: 768px) and (max-width: 900px){.bike-grid{grid-template-columns:minmax(0,1fr)}.bike-grid>.bike-card.bike-card-centered{width:100%}.filter-bar{scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.mobile-whatsapp-bar{right:auto;left:auto;inset-block-end:0;inset-inline-start:0;inset-inline-end:64px;width:auto}.claude-chat-widget{right:auto;left:auto;inset-block-end:0;inset-inline-start:auto;inset-inline-end:0;width:64px}}@media (max-width: 359px){:root{--mobile-video-width: 160px}.trust-item{font-size:11px}.headline{font-size:32px}.bike-card-buttons,.quick-faq-grid{grid-template-columns:1fr}.mobile-whatsapp-bar a{font-size:14px}}@media (min-width: 768px) and (max-width: 1023px) and (max-height: 520px) and (orientation: landscape){#section-hero{padding-block:6px 8px}#section-hero .section-content,#section-hero .section-content[style]{grid-template-columns:minmax(220px,.9fr) minmax(200px,280px) minmax(220px,.9fr);grid-template-areas:"title video trust" "review video trust";gap:4px 14px}.kicker{font-size:14px;line-height:1.1}.headline{font-size:clamp(32px,4.5vw,40px)}.video-container{max-width:280px}.trust-bar{padding:2px 5px;gap:0}.trust-item{min-height:22px;gap:4px;font-size:10.5px;line-height:1.1}.trust-icon{width:12px;height:12px}.hero-testimonials{min-height:0;padding-inline-start:8px}.hero-testimonial-stars{font-size:11px}.hero-testimonial-text{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hero-testimonial-author{margin-block-start:1px;font-size:10px}.btn-hero-cta{min-height:48px;padding:5px 8px;font-size:15px}#section-bikes{padding-block-start:6px}#section-bikes .section-content{gap:6px}#section-bikes .section-title{font-size:32px}.filter-bar{margin-block-end:0;padding-block:6px}}@media (max-width: 767px) and (max-height: 520px) and (orientation: landscape){#section-hero .section-content{grid-template-columns:minmax(220px,.8fr) minmax(190px,280px) minmax(240px,1fr);grid-template-areas:"title video trust" "review video trust"}.hero-testimonials{min-height:42px}.trust-item{min-height:30px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.video-play-btn{animation:none!important}}@media (prefers-reduced-motion: no-preference){.btn:hover{transform:translateY(-1px)}.bike-card:hover{border-color:#67582f}}

/*!landing-flow-v60*/.bike-decision-block{border-color:#b69b61;background:#fffdf7;color:#171816}.catalog-related-card{border-color:#b69b61;background:#fffdf7;color:#171816;box-shadow:0 3px 0 rgba(23,24,22,.12)}.catalog-related-card:hover,.catalog-related-card:focus-visible{border-color:#6b4d00}.catalog-related-copy strong{color:#171816}.catalog-related-copy span{color:#444640}.bike-card{cursor:pointer}.bike-card:hover{border-color:#67582f}.bike-card:focus-within{border-color:#67582f;box-shadow:inset 0 1px 0 var(--erebora-paper-highlight),8px 8px 0 var(--erebora-contact-shadow),0 0 0 3px rgba(20,91,186,.2)}.bike-detail-modal .bike-detail-content{color:var(--erebora-ink)}@media (min-width:1024px){:root{--text-xs:14px;--text-sm:16px;--text-base:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px}body{font-size:17px}.trust-item,.hero-testimonial-text{font-size:15px}.hero-testimonial-author{font-size:14px}.bike-search-input,.bike-filter-select,.bike-card-rider-fit,.featured-price-label,.rate-tier-price{font-size:17px}.bike-card-decision-specs,.rate-tier-label,.quick-faq-content span{font-size:15px}.featured-price-period,.quick-faq-content strong,.footer-col p,.footer-col a,.footer-bottom p{font-size:16px}.rate-tier-market{font-size:14px}.quick-faq-title{font-size:18px}.bike-decision-block p{font-size:1.0625rem}.catalog-related-copy strong{font-size:1.125rem}.catalog-related-copy span,.catalog-related-copy b{font-size:1rem}}
/*!desktop-fold-v62*/@media (min-width:1024px){#section-hero .section-content,#section-hero .section-content[style]{grid-template-columns:minmax(260px,1fr) minmax(320px,400px) minmax(280px,1fr);gap:8px 20px}.video-container{max-width:400px}.trust-bar{align-self:stretch;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:0;padding:8px 10px}.trust-item{min-height:0;justify-content:flex-start;padding:8px 10px;text-align:start}.trust-item+.trust-item{border-block-start:1px solid rgba(244,216,121,.32)}}

/*!rental-premium-20260928*/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/static/fonts/inter-premium/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/**
 * EREBORA Rental landing craft, 2026-09-28.
 * Broader history / corrections / proof: /root/erebora-hub/EREBORA_RENTAL_PLAN.md
 * Visual contract: /root/erebora-hub/EREBORA_RENTALS_DESIGN.md.
 * Original rental system; not subscription rental or chat-system memory.
 * WHY: Refine existing surfaces, not product data, image transforms or handlers.
 * This layer follows the preserved v60/v62 bundle. No fonts, images or imports.
 */
body.inventory-first {
    --rental-edge: #bcb6a9;
    --rental-soft-edge: #ded8cd;
    --rental-ease: cubic-bezier(.2,.75,.25,1);
    background: var(--erebora-cream);
}
/* WHY: The fixed cream radial layer painted AFTER the opaque inventory.
   Matched captures proved that it washed asphalt prices olive and dulled photos.
   Keep the inventory opaque at all viewport sizes and pointer positions. */
/* The landing-only bundle also owns the calculator after inventory-first
   is removed. Keep this same haze fix through selection and Back. */
body::after { display: none; }
body.inventory-first ::selection { background: #f4d879; color: #171816; }
body.inventory-first :is(input, select) { caret-color: #6b4d00; }
body.inventory-first #section-hero {
    background: #171816;
    border-block-end: 2px solid #b99742;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
body.inventory-first .headline { text-shadow: none; }
body.inventory-first .kicker { letter-spacing: .04em; color: #f2ecdf; }
body.inventory-first .trust-bar {
    border: 1px solid #766b4f;
    border-radius: 6px;
    background: #20221e;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.inventory-first .trust-item + .trust-item { border-color: #474535; }
body.inventory-first .hero-testimonials { border-inline-start-width: 2px; }
body.inventory-first .hero-testimonial-author { font-weight: 500; }
body.inventory-first .video-shell { border-radius: 6px; }
body.inventory-first .video-shell::after { border-width: 1px; border-color: #b99742; }
body.inventory-first .video-fullscreen-btn {
    border-width: 1px;
    border-radius: 5px;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
body.inventory-first #section-bikes .section-title {
    align-self: stretch;
    text-align: start;
    font-size: clamp(32px, 3.8vw, 46px);
    line-height: 1.08;
    letter-spacing: -.015em;
}
body.inventory-first .filter-bar {
    background: #f5f0e7;
    border-block: 1px solid #a39c8e;
    box-shadow: 0 4px 10px rgba(55,45,29,.07);
}
body.inventory-first :is(.bike-search-input, .bike-filter-select) {
    border: 1px solid #827c70;
    border-radius: 5px;
    box-shadow: inset 0 1px 2px rgba(55,45,29,.04);
    transition: border-color 140ms ease;
}
body.inventory-first .bike-filter-select { font-weight: 600; }
body.inventory-first .bike-search-input::placeholder { color: #606158; opacity: 1; }
body.inventory-first :is(.bike-search-input, .bike-filter-select):focus {
    outline: 2px solid #145bba;
    outline-offset: 2px;
    border-color: #171816;
    box-shadow: none;
}
/* Preserve grid, padding and 4:3 photo geometry; depth is optical, not a lift. */
body.inventory-first .bike-card {
    border: 1px solid var(--rental-edge);
    border-radius: 8px;
    background: #fffdf8;
    box-shadow: 0 3px 9px rgba(55,45,29,.09);
    transform: none;
    animation: none;
    opacity: 1;
}
body.inventory-first .bike-card:hover {
    border-color: #82714d;
    box-shadow: 0 3px 9px rgba(55,45,29,.09);
    transform: none;
}
body.inventory-first .bike-card:focus-within {
    border-color: #82714d;
    box-shadow: 0 0 0 2px rgba(20,91,186,.3), 0 3px 9px rgba(55,45,29,.09);
}
body.inventory-first .bike-card-img-container {
    border-color: #a39c8e;
    border-radius: 5px;
    background: #e7e2d8;
    box-shadow: none;
}
body.inventory-first .bike-card-name { letter-spacing: -.01em; line-height: 1.12; }
body.inventory-first .bike-card-decision-specs { font-weight: 550; color: #4b4d45; }
body.inventory-first .bike-card-decision-specs span {
    border-color: #e2dcd0;
    background: #f5f1e9;
    white-space: normal;
    overflow-wrap: anywhere;
}
body.inventory-first .bike-card-rider-fit { font-weight: 450; color: #41443c; line-height: 1.45; }
body.inventory-first :is(.bike-card-badge, .bike-card-stock) {
    box-shadow: none;
    letter-spacing: .025em;
    border-radius: 3px;
}
body.inventory-first .bike-card-featured-price {
    background: #171816;
    border: 1px solid #494532;
    border-inline-start: 3px solid #c7a54a;
    border-radius: 5px;
    gap: 5px;
    padding-block: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
body.inventory-first .featured-price-label { letter-spacing: .025em; font-weight: 600; }
body.inventory-first .featured-price-amount { line-height: 1; letter-spacing: -.015em; }
body.inventory-first .featured-price-period { font-weight: 500; color: #ebe5d5; }
body.inventory-first .bike-card-savings {
    background: #245a39;
    color: #fff;
    box-shadow: none;
    font-weight: 600;
}
body.inventory-first .rate-tier {
    border: 0;
    border-block-start: 1px solid var(--rental-soft-edge);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.inventory-first .rate-tier-label { color: #55584f; }
body.inventory-first .rate-tier-price { font-weight: 650; font-variant-numeric: tabular-nums; }
body.inventory-first .rate-tier-market { color: #68695f; }
body.inventory-first .bike-card-buttons .btn {
    border-width: 1px;
    border-radius: 5px;
    font-family: var(--font-body);
    font-weight: 650;
    letter-spacing: .015em;
    box-shadow: 0 2px 0 rgba(70,51,17,.28);
    transition: transform 100ms var(--rental-ease), background-color 140ms ease;
}
body.inventory-first .bike-card-buttons .btn-secondary { background: #fffdf8; border-color: #827c70; }
body.inventory-first .bike-card-buttons .btn-primary {
    color: #231b09;
    border-color: #947427;
    background: linear-gradient(180deg, #edcf79, #d1ad4c);
}
body.inventory-first .bike-card-buttons .btn-primary:hover { background: #efd687; }
body.inventory-first .bike-card-buttons .btn-secondary:hover { background: #eee9df; }
body.inventory-first .bike-card-buttons .btn:active { transform: translateY(1px); box-shadow: none; }
body.inventory-first .quick-faq-section { border-color: var(--rental-edge); border-radius: 8px; background: #eee8dc; }
body.inventory-first .quick-faq-item { border: 0; border-radius: 5px; backdrop-filter: none; background: #fffdf8; box-shadow: none; }
body.inventory-first .footer { border-block-start: 2px solid #b99742; }
body.inventory-first .footer .footer-quick-links .btn-outline {
    background: #262923;
    border: 1px solid #706b59;
    color: #f5f0e7;
    box-shadow: none;
    border-radius: 4px;
}
body.inventory-first .footer .footer-quick-links .btn-outline:hover { background: #373a31; color: #fff; }
/* WHY: Animate an independent rim, never the play button/mobile offset or
   click target. The old infinite shadow pulse also survived reduced-motion
   on hover through !important specificity. Cover every interaction state. */
body.inventory-first .video-play-btn,
body.inventory-first .video-play-btn:hover,
body.inventory-first .video-play-btn:focus-visible {
    animation: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
body.inventory-first .video-play-btn::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid #f4d879;
    border-radius: 50%;
    pointer-events: none;
    opacity: .5;
}
@media (prefers-reduced-motion: no-preference) {
    body.inventory-first .video-play-btn::after { animation: rental-play-rim 1.5s ease-out 2; }
    body.inventory-first .video-play-btn:hover::after,
    body.inventory-first .video-play-btn:focus-visible::after { opacity: 1; }
    @keyframes rental-play-rim {
        0% { transform: scale(.95); opacity: .65; }
        100% { transform: scale(1.25); opacity: 0; }
    }
}
@media (prefers-reduced-motion: reduce) {
    body.inventory-first .video-play-btn::after { animation: none !important; }
    body.inventory-first .bike-card-buttons .btn { transition: none; }
}
@media (max-width: 767px) {
    body.inventory-first #section-bikes .section-title { font-size: 32px; }
    body.inventory-first .bike-card-featured-price { padding-block: 10px; }
    body.inventory-first .bike-card-buttons .btn { font-size: 14px; }
}
/* WHY: Facts are reading material, not selectable chips. Keep the readable
   type size while separating facts with fine rules, including long locales. */
body.inventory-first .bike-card-decision-specs { gap: 6px 0; }
body.inventory-first .bike-card-decision-specs span {
    border: 0;
    border-inline-end: 1px solid #c8c1b3;
    border-radius: 0;
    background: transparent;
    padding: 0 10px 0 0;
    margin-inline-end: 10px;
}
body.inventory-first .bike-card-decision-specs span:last-child { border: 0; margin-inline-end: 0; padding-inline-end: 0; }
/* One price assembly: the monthly plate and supporting day/week rates have
   a shared spine, rather than three unrelated boxes. No rates are rewritten. */
body.inventory-first .bike-card-featured-price { border-radius: 5px 5px 0 0; }
body.inventory-first .bike-card-rate-list {
    gap: 0;
    margin-block-start: 0;
    background: #f3eee5;
    border: 1px solid #ded8cd;
    border-block-start: 0;
    border-inline-start: 3px solid #c7a54a;
    border-radius: 0 0 5px 5px;
}
body.inventory-first .rate-tier { border: 0; }
body.inventory-first .rate-tier + .rate-tier { border-inline-start: 1px solid #ded8cd; }
body.inventory-first .bike-card-buttons .btn-secondary { box-shadow: none; }
body.inventory-first :is(#section-hero, .footer, .mobile-whatsapp-bar) :focus-visible { outline-color: #f4d879; }
body.inventory-first .kicker { line-height: 1.15; text-wrap: balance; }
html:is([lang=ar],[lang=he],[lang=hi],[lang=th],[lang=ja],[lang=ko],[lang=zh]) body.inventory-first .kicker { line-height: 1.4; }
@media (min-width: 1024px) {
    /* The video owns the hero frame; proof reads as a quieter right column. */
    body.inventory-first .trust-bar { background: transparent; border: 0; border-inline-start: 2px solid #b99742; border-radius: 0; box-shadow: none; }
}
@media (max-width: 767px) {
    body.inventory-first .bike-card-buttons .btn { font-size: 15px; }
}
/* The native dialog is already functional without this progressive entrance.
   Scope to bike details: no booking modal or page-load content is animated. */
@media (prefers-reduced-motion: no-preference) {
    body.inventory-first dialog.bike-detail-modal[open] .modal-content {
        transition: opacity 180ms ease, transform 220ms var(--rental-ease);
    }
    @starting-style {
        body.inventory-first dialog.bike-detail-modal[open] .modal-content { opacity: 0; transform: translateY(12px); }
    }
}
/* HUMAN CORRECTION 2026-09-28: noticeable, polished animation is part of the
   product brief. Keep motion; protect loading with immediate first-card paint.
   All atmospheric motion stays on a narrow edge, never over photos or copy. */
body.inventory-first .bike-card-badge:is(.popular, .premium) { color: #201a0c; text-shadow: none; }
body.inventory-first .bike-card-badge.new { background: #7432c2; }
@media (prefers-reduced-motion: no-preference) {
    body.inventory-first #section-hero { overflow-x: clip; }
    body.inventory-first #section-hero::after {
        content: "";
        display: block;
        position: absolute;
        inset: auto auto -1px -160px;
        width: 160px;
        height: 3px;
        border: 0;
        background: linear-gradient(90deg, transparent, #fff4bd 50%, transparent);
        opacity: 1;
        pointer-events: none;
        animation: rental-brass-trace 2.4s 900ms cubic-bezier(.4,0,.2,1) both;
    }
    @keyframes rental-brass-trace {
        0%, 15% { transform: translateX(0); }
        80%, 100% { transform: translateX(calc(100vw + 320px)); }
    }
    body.inventory-first .bike-card-buttons .btn-primary { position: relative; overflow: hidden; }
    body.inventory-first .bike-card-buttons .btn-primary::after {
        content: "";
        position: absolute;
        inset: -30% auto -30% -60%;
        width: 35%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
        transform: skewX(-18deg);
        pointer-events: none;
    }
    body.inventory-first .bike-card-buttons .btn-primary:is(:hover,:focus-visible)::after {
        animation: rental-brass-sheen 600ms cubic-bezier(.2,.7,.2,1) both;
    }
    @keyframes rental-brass-sheen {
        to { transform: translateX(600%) skewX(-18deg); }
    }
    body.inventory-first .bike-card-buttons .btn:active { transform: translateY(2px) scale(.985); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    /* Paint containment clips an expanded card hit region. Raise only the
       photo mount and badge: the clickable card and its controls stay fixed. */
    body.inventory-first .bike-card { transition: box-shadow 220ms ease, border-color 160ms ease; }
    body.inventory-first .bike-card:hover {
        border-color: #9e7b2e;
        box-shadow: 0 14px 26px -12px rgba(35,27,9,.3), 0 2px 4px rgba(35,27,9,.08);
    }
    body.inventory-first :is(.bike-card-img-container, .bike-card-badge) {
        transition: translate 240ms cubic-bezier(.16,1,.3,1), box-shadow 220ms ease;
    }
    body.inventory-first .bike-card:hover :is(.bike-card-img-container, .bike-card-badge) { translate: 0 -4px; }
    body.inventory-first .bike-card:hover .bike-card-img-container { box-shadow: 0 14px 16px -14px rgba(23,24,22,.5); }
}
@media (prefers-reduced-motion: reduce) {
    body.inventory-first #section-hero::after,
    body.inventory-first .bike-card-buttons .btn-primary::after { display: none; animation: none !important; }
    body.inventory-first .bike-card { transition: none; }
}

/* Scroll reveals bring the mount and brass hardware to life. Price/copy never
   fade, and the first two cards are exempt in the observer. */
body.inventory-first .bike-card-featured-price { position: relative; }
@media (prefers-reduced-motion: no-preference) {
    body.inventory-first .is-showroom-arriving .bike-card-featured-price::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 -3px;
        width: 3px;
        background: #fff0aa;
        pointer-events: none;
        transform-origin: top;
        animation: rental-spine-draw 420ms cubic-bezier(.16,1,.3,1) both;
    }
    @keyframes rental-spine-draw { from { transform: scaleY(0); } to { transform: scaleY(1); } }
}
@media (prefers-reduced-motion: no-preference) {
    /* A customer-triggered detail reveal; prices and the native close control
       remain immediate. Motion belongs to gallery mounts and the first facts. */
    body.inventory-first dialog.bike-detail-modal[open] .bike-detail-gallery {
        animation: rental-detail-settle 360ms cubic-bezier(.16,1,.3,1) both;
    }
    body.inventory-first dialog.bike-detail-modal[open] .spec-row:nth-child(-n+4) {
        animation: rental-detail-settle 240ms cubic-bezier(.16,1,.3,1) both;
    }
    body.inventory-first dialog.bike-detail-modal[open] .spec-row:nth-child(2) { animation-delay: 40ms; }
    body.inventory-first dialog.bike-detail-modal[open] .spec-row:nth-child(3) { animation-delay: 80ms; }
    body.inventory-first dialog.bike-detail-modal[open] .spec-row:nth-child(4) { animation-delay: 120ms; }
    @keyframes rental-detail-settle { from { translate: 0 10px; opacity: .75; } to { translate: none; opacity: 1; } }
}
@media (prefers-reduced-motion: no-preference) {
    /* The photo enters view before the lower price plate. Draw the mount edge
       too, so the arrival is visible at the point the renter actually sees. */
    body.inventory-first .is-showroom-arriving .bike-card-img-container::after {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 2px;
        background: #e1bc5c;
        transform-origin: left;
        pointer-events: none;
        animation: rental-mount-edge 420ms cubic-bezier(.16,1,.3,1) both;
    }
    @keyframes rental-mount-edge { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}
/* HUMAN CORRECTION: Barlow's heavy rounded display style was rejected on
   28 Sep. Sharp Inter and a calmer weight replace it across the whole page,
   including calculator, details, navigation and footer. See Rental plan. */
body {
    --font-heading: 'Inter', 'Noto Sans', Arial, sans-serif;
    --font-body: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Arial, sans-serif;
    font-family: var(--font-body);
}
body :is(h1,h2,h3,h4,.btn,.featured-price-amount,.pricing-amount,.mobile-whatsapp-main) {
    font-family: var(--font-heading);
    font-weight: 600;
}
body.inventory-first .headline { font-size: clamp(32px, 3.25vw, 48px); font-weight: 550; line-height: 1.08; letter-spacing: -.045em; color: #fffdf8; }
body.inventory-first .kicker { font-family: var(--font-body); font-size: 14px; line-height: 1.5; font-weight: 600; letter-spacing: .08em; color: #e6c66b; }
body.inventory-first #section-bikes .section-title { font-weight: 550; font-size: clamp(30px, 3vw, 40px); letter-spacing: -.045em; }
body.inventory-first .bike-card-name { font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -.03em; line-height: 1.2; }
body.inventory-first .featured-price-amount { font-size: clamp(30px, 3vw, 42px); font-weight: 550; letter-spacing: -.045em; line-height: 1.12; }
body.inventory-first :is(.quick-faq-title,.footer h4) { font-size: 15px; font-weight: 600; letter-spacing: .09em; }
body.inventory-first .quick-faq-title { color: #27281f; margin-block-end: 20px; }
body.inventory-first .quick-faq-item { gap: 16px; padding: 20px 16px; text-align: start; align-items: flex-start; }
body.inventory-first .quick-faq-content { align-items: flex-start; text-align: start; }
body.inventory-first .quick-faq-content strong { font-weight: 600; font-size: 17px; margin-block-end: 5px; }
body.inventory-first .quick-faq-content > span { font-size: 16px; line-height: 1.5; color: #45483f; }
.rental-line-icon { display: inline-block; flex: 0 0 auto; width: 22px; height: 22px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.inventory-first .quick-faq-icon { display: flex; color: #715516; }
body.inventory-first .quick-faq-icon .rental-line-icon { width: 25px; height: 25px; }
body.inventory-first .footer .rental-line-icon { width: 18px; height: 18px; margin-inline-end: 6px; color: #e6c66b; }
@media (max-width: 767px) {
    body.inventory-first .headline { font-size: 32px; }
    body.inventory-first .kicker { font-size: 12px; letter-spacing: .035em; }
    body.inventory-first .bike-card-name { font-size: 23px; }
    body.inventory-first .featured-price-amount { font-size: clamp(28px, 8.2vw, 36px); }
    body.inventory-first .quick-faq-item { padding: 16px 12px; }
}
/* Adjacent bikes share six content tracks, so longer names/specs/descriptions
   cannot lift one price panel or action row above its neighbor. No truncation. */
@supports (grid-template-rows: subgrid) {
    @media (min-width: 768px) {
        body.inventory-first .bike-card { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 10px; }
        body.inventory-first .bike-card > :is(.bike-card-name,.bike-card-decision-specs,.bike-card-rider-fit,.bike-card-pricing,.bike-card-buttons) { margin-block: 0; }
        body.inventory-first .bike-card-decision-specs { align-content: start; }
        body.inventory-first .bike-card-pricing { align-self: end; }
        body.inventory-first .bike-card-buttons { align-self: end; }
    }
}
@supports (grid-template-rows: subgrid) {
    @media (min-width: 768px) {
        /* WHY: CSS size containment suppresses a subgrid's content contribution
           and collapses its shared tracks. Keep native lazy images; desktop
           cards participate in layout. Mobile retains offscreen skipping. */
        body.inventory-first .bike-card { content-visibility: visible; contain-intrinsic-size: none; }
        body.inventory-first .bike-card-pricing { align-self: stretch; display: flex; flex-direction: column; }
        body.inventory-first .bike-card-featured-price { flex: 1; }
        body.inventory-first .bike-card-rate-list { min-height: 90px; }
    }
}
/* WHY: parsing the long catalog introduces the root scrollbar after hero paint.
   Real Chrome traced a 7.51px video-shell jump, reproduced exactly by toggling
   that scrollbar. Reserve its gutter before first paint; dialog width stays
   stable too. See Rental plan, 28 Sep 2026 CLS regression evidence. */
html { scrollbar-gutter: stable; }
@media (max-width: 767px) {
    /* At 360px, a side-by-side icon stole the width needed by Documents?.
       Keep the readable label and let the line icon head its own tile. */
    body.inventory-first .quick-faq-item { flex-direction: column; gap: 10px; }
    body.inventory-first .quick-faq-content { min-width: 0; width: 100%; }
}
@media (max-width: 767px) {
    /* German Motorradverleih/MOTORRADVERMIETUNG exceeded the hero text column
       and ran behind the video. Wrap the real localized text without shrinking. */
    body.inventory-first .hero-title { min-width: 0; }
    body.inventory-first :is(.headline,.kicker) { overflow-wrap: anywhere; hyphens: auto; }
}
@media (max-width: 767px) {
    /* Arabic descenders/diacritics need real ink clearance between these two
       lines; Latin heading metrics made them touch in the 360px proof. */
    html[lang="ar"] body.inventory-first .headline { line-height: 1.35; margin-bottom: 6px; }
    html[lang="ar"] body.inventory-first .kicker { line-height: 1.4; }
}

/* EREBORA original rental: isolated bike-detail candidate, 2026-09-28.
 * Load after components.css, homepage-10x.css and landing-premium.css.
 * WHY: The customer rejected small type, weak contrast and an imperceptible
 * entrance. Keep the selected bike and its actual rates before alternatives.
 * No wording, callbacks, dialog semantics or Hub image transforms are changed.
 * The page owns its self-hosted Inter family; this dialog inherits it.
 */
#bikeDetailModal,
#bikeDetailModal * {
    box-sizing: border-box;
}

#bikeDetailModal.modal.bike-detail-modal {
    --detail-ink: #171816;
    --detail-muted: #4e514a;
    --detail-paper: #fffdf8;
    --detail-soft: #f3efe6;
    --detail-line: #d5cfc2;
    --detail-gold: #a78334;
    position: fixed;
    inset: 0;
    width: min(800px, calc(100vw - 48px));
    max-width: none;
    height: fit-content;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--detail-ink);
    font-family: inherit;
    font-size: 18px;
    line-height: 1.6;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: none;
}

#bikeDetailModal:not([open]) { display: none; }
#bikeDetailModal[open] { display: block; }
#bikeDetailModal::backdrop { background: rgba(10, 12, 10, .78); }

/* WHY: A dedicated 68px rail keeps Close reachable while only the reading
 * region scrolls. The previous sticky button and negative margin shared space
 * with photos/copy. Do not return scrolling to .modal-content.
 */
#bikeDetailModal > .modal-content {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    max-width: none;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    padding: 68px 0 0;
    border: 1px solid #b8af9e;
    border-radius: 14px;
    background: var(--detail-paper);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .35), 0 3px 12px rgba(0, 0, 0, .16);
    overflow: hidden;
    opacity: 1;
    transform: none;
    transition: none;
    animation: none;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    will-change: auto;
}

#bikeDetailModal > .modal-content::before {
    content: "";
    position: absolute;
    inset: 67px 0 auto;
    height: 1px;
    background: var(--detail-line);
    pointer-events: none;
}

#bikeDetailModal .modal-close {
    position: absolute;
    inset: 12px 16px auto auto;
    inset-inline: auto 16px;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #a29b8e;
    border-radius: 8px;
    background: #fffdf8;
    color: var(--detail-ink);
    font-family: inherit;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    box-shadow: 0 2px 5px rgba(23, 24, 22, .08);
    transform: none;
    cursor: pointer;
    transition: background-color 140ms ease, border-color 140ms ease;
}

#bikeDetailModal .modal-close:hover {
    border-color: #5a5b53;
    background: #eee8dc;
}

#bikeDetailModal .bike-detail-content {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    max-height: calc(100vh - 118px);
    max-height: calc(100dvh - 118px);
    padding: 24px 32px 32px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-color: #8c877b var(--detail-soft);
    color: var(--detail-ink);
    font-size: 18px;
    line-height: 1.65;
    text-align: start;
}

#bikeDetailModal :is(h2, h3, p, span, button, a) {
    font-family: inherit;
    text-shadow: none;
}

#bikeDetailModal .bike-detail-content > * {
    min-width: 0;
}

/* EREBORA_RENTAL_PLAN.md: one vertical dialog scroll, all photos visible.
 * Preserve canonical 4:3 framing, fit, position and image transforms. */
#bikeDetailModal .bike-detail-hero { position: relative; margin: 0 0 28px; }
#bikeDetailModal .bike-detail-gallery {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
    padding-block-end: 0;
    overflow: visible;
    scroll-snap-type: none;
    animation: none;
}
#bikeDetailModal .bike-detail-gallery-frame {
    flex: none;
    width: 100%;
    max-width: none;
    border: 1px solid var(--detail-line);
    border-radius: 9px;
    background: #f0ece3;
}
#bikeDetailModal .bike-detail-gallery-frame:only-child { margin-inline: auto; }

#bikeDetailModal .bike-detail-badge {
    position: static;
    display: inline-block;
    margin-block-start: 10px;
    padding: 5px 10px;
    border: 1px solid #bda266;
    border-radius: 5px;
    background: #f2e5c0;
    color: #332606;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .02em;
}

#bikeDetailModal .bike-detail-header {
    margin: 0 0 20px;
    text-align: start;
}

#bikeDetailModal .bike-detail-title {
    margin: 0 0 10px;
    color: var(--detail-ink);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

#bikeDetailModal .bike-detail-tagline {
    margin: 0;
    color: var(--detail-muted);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    font-style: normal;
}

#bikeDetailModal .bike-detail-description {
    margin: 0 0 24px;
    color: var(--detail-ink);
    font-size: 18px;
    line-height: 1.65;
    text-align: start;
}

#bikeDetailModal .bike-decision-tier {
    margin: 0 0 24px;
    padding: 14px 16px;
    border: 0;
    border-inline-start: 3px solid var(--detail-gold);
    border-radius: 0 6px 6px 0;
    background: var(--detail-soft);
    color: #393c35;
    font-size: 18px;
    line-height: 1.55;
}

#bikeDetailModal .bike-decision-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin: 0 0 24px;
}

#bikeDetailModal .bike-decision-block {
    min-width: 0;
    padding: 0 0 20px;
    border: 0;
    border-block-end: 1px solid var(--detail-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#bikeDetailModal .bike-decision-block h3 {
    margin: 0 0 8px;
    color: var(--detail-ink);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
}

#bikeDetailModal .bike-decision-block p {
    margin: 0;
    color: var(--detail-muted);
    font-size: 18px;
    line-height: 1.65;
}

#bikeDetailModal .bike-detail-highlights {
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 28px;
}

#bikeDetailModal .highlight-tag {
    padding: 8px 12px;
    border: 1px solid #c8c0b1;
    border-radius: 6px;
    background: #f7f3eb;
    color: #373a33;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

#bikeDetailModal .bike-detail-specs {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#bikeDetailModal :is(.specs-title, .pricing-title) {
    margin: 0 0 16px;
    color: var(--detail-ink);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.02em;
    text-transform: none;
    text-align: start;
}

#bikeDetailModal .specs-grid { gap: 0; }
#bikeDetailModal .spec-row {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 20px;
    padding: 14px 0;
    border-color: var(--detail-line);
    animation: none;
}

#bikeDetailModal .spec-label {
    color: var(--detail-muted);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

#bikeDetailModal .spec-value {
    max-width: none;
    color: var(--detail-ink);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    text-align: end;
    overflow-wrap: anywhere;
}

#bikeDetailModal .bike-detail-perfect {
    margin: 0 0 28px;
    padding: 18px;
    border: 1px solid #d0c1a0;
    border-radius: 8px;
    background: #f5eddb;
    color: #332d1d;
    text-align: start;
    font-size: 18px;
    line-height: 1.6;
}

#bikeDetailModal .perfect-label {
    margin-inline: 0 6px;
    color: #58513f;
    font-size: inherit;
}

#bikeDetailModal .perfect-value {
    color: #332d1d;
    font-weight: 600;
}

/* Keep real day/week/month values together, before any related bikes. Badges
 * remain in flow so translated savings and rate labels cannot overlap them.
 */
#bikeDetailModal .bike-detail-pricing { margin: 0 0 28px; }
#bikeDetailModal .pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

#bikeDetailModal .pricing-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 20px 16px;
    border: 1px solid #c5beaf;
    border-radius: 8px;
    background: var(--detail-soft);
    text-align: start;
}

#bikeDetailModal .pricing-option.best {
    border: 1px solid #987838;
    background: #f3e6c3;
}

#bikeDetailModal .pricing-period {
    margin: 0;
    color: #494b43;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

#bikeDetailModal .pricing-amount {
    color: var(--detail-ink);
    font-size: 27px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    letter-spacing: -.03em;
    overflow-wrap: anywhere;
}

#bikeDetailModal :is(.pricing-savings, .pricing-badge) {
    position: static;
    max-width: 100%;
    margin: 0;
    padding: 5px 8px;
    border: 0;
    border-radius: 4px;
    background: #245a39;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    transform: none;
    overflow-wrap: anywhere;
}

#bikeDetailModal .catalog-related-bikes {
    margin: 32px 0 0;
    padding-block-start: 24px;
    border-block-start: 1px solid var(--detail-line);
    color: var(--detail-ink);
    font-size: 17px;
}

#bikeDetailModal .catalog-related-bikes > :is(h2, h3) {
    margin: 0 0 16px;
    color: var(--detail-ink);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

#bikeDetailModal .bike-detail-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-block-start: 28px;
    padding-block-start: 24px;
    border-block-start: 1px solid var(--detail-line);
}

#bikeDetailModal .bike-detail-actions .btn {
    min-width: 0;
    min-height: 56px;
    width: 100%;
    padding: 14px 20px;
    border-width: 1px;
    border-radius: 7px;
    color: var(--detail-ink);
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: normal;
    box-shadow: none;
    transition: background-color 140ms ease, border-color 140ms ease;
}

#bikeDetailModal #selectFromDetail {
    border-color: #92722d;
    background: linear-gradient(180deg, #edcf79, #d9b556);
    color: #231b09;
    font-weight: 700;
    box-shadow: 0 2px 0 rgba(70, 51, 17, .22);
}

#bikeDetailModal #selectFromDetail:hover { background: #efd687; }
#bikeDetailModal .bike-detail-actions a[href*="wa.me"],
#bikeDetailModal .bike-detail-actions a[href*="whatsapp"] {
    border-color: #245a39;
    background: #245a39;
    color: #fff;
}

#bikeDetailModal .bike-detail-actions a[href*="wa.me"]:hover,
#bikeDetailModal .bike-detail-actions a[href*="whatsapp"]:hover {
    background: #1a462b;
}

#bikeDetailModal #backToBikes {
    border-color: #a29b8e;
    background: #fffdf8;
    color: var(--detail-ink);
}

#bikeDetailModal #backToBikes:hover { background: var(--detail-soft); }
#bikeDetailModal :is(button, a, .bike-detail-gallery):focus-visible {
    outline: 3px solid #145bba;
    outline-offset: 3px;
}

/* WHY: The earlier @starting-style reveal was not visibly animating this
 * native dialog. [open] keyframes restart on each native open, and removing
 * [open] closes immediately. Avoid layering the old gallery/fact animations.
 */
#bikeDetailModal[open] :is(.bike-detail-gallery, .spec-row) {
    animation: none;
    translate: none;
    opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
    #bikeDetailModal[open] > .modal-content {
        animation: erebora-bike-detail-enter 320ms cubic-bezier(.16, 1, .3, 1) both;
    }
    @keyframes erebora-bike-detail-enter {
        from { opacity: 0; transform: translateY(28px) scale(.985); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }
}

@media (max-width: 600px) {
    #bikeDetailModal.modal.bike-detail-modal {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 11px;
        font-size: 17px;
    }
    #bikeDetailModal > .modal-content {
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 11px;
    }
    #bikeDetailModal .modal-close { inset-inline-end: 12px; }
    #bikeDetailModal .bike-detail-content {
        max-height: calc(100vh - 94px);
        max-height: calc(100dvh - 94px);
        padding: 20px 20px calc(24px + env(safe-area-inset-bottom, 0px));
        font-size: 17px;
    }
    #bikeDetailModal .bike-detail-hero { margin-block-end: 24px; }
    #bikeDetailModal .bike-detail-gallery { gap: 10px; }
    #bikeDetailModal .bike-detail-gallery-frame { flex-basis: auto; }
    #bikeDetailModal .bike-detail-gallery-frame:only-child { flex-basis: auto; }
    #bikeDetailModal .bike-detail-title { font-size: 32px; }
    #bikeDetailModal .bike-detail-tagline { font-size: 18px; }
    #bikeDetailModal :is(.bike-detail-description, .bike-decision-tier,
        .bike-decision-block p, .spec-label, .spec-value, .bike-detail-perfect,
        .pricing-period) { font-size: 17px; }
    #bikeDetailModal .bike-decision-block h3 { font-size: 20px; }
    #bikeDetailModal :is(.specs-title, .pricing-title) { font-size: 22px; }
    #bikeDetailModal .spec-row { gap: 14px; padding-block: 13px; }
    #bikeDetailModal .pricing-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    #bikeDetailModal .pricing-option { padding: 18px; gap: 8px; }
    #bikeDetailModal .pricing-amount { font-size: 28px; }
    #bikeDetailModal .bike-detail-actions .btn { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
    #bikeDetailModal > .modal-content,
    #bikeDetailModal[open] > .modal-content,
    #bikeDetailModal .modal-close,
    #bikeDetailModal .bike-detail-actions .btn {
        animation: none;
        transition: none;
        transform: none;
    }
    #bikeDetailModal .bike-detail-gallery { scroll-behavior: auto; }
}
/* Connect the literal customer correction to the original rental memory:
   /root/erebora-hub/EREBORA_RENTAL_PLAN.md. */
#bikeDetailModal > .modal-content::after {
    content: 'EREBORA';
    position: absolute;
    inset-block-start: 23px;
    inset-inline-start: 28px;
    color: #171816;
    font: 600 13px/20px var(--font-body);
    letter-spacing: .16em;
    pointer-events: none;
}
#bikeDetailModal .bike-detail-content { display: flex; flex-direction: column; }
#bikeDetailModal .bike-detail-content > * { flex-shrink: 0; order: 2; }
#bikeDetailModal .bike-detail-header { order: 0; }
#bikeDetailModal .bike-detail-hero { order: 1; }
#bikeDetailModal .pricing-option, #bikeDetailModal .pricing-option.best {
    display: grid;
    grid-template-rows: auto auto minmax(24px,1fr) auto;
    background: #171816;
    border-color: #595547;
    color: #fffdf8;
}
#bikeDetailModal .pricing-option.best { border-color: #c4a04a; }
#bikeDetailModal .pricing-period { grid-row: 1; color: #e7e3d9; }
#bikeDetailModal .pricing-amount { grid-row: 2; color: #fffdf8; font-weight: 550; }
#bikeDetailModal .pricing-savings { grid-row: 3; justify-self: start; align-self: start; }
#bikeDetailModal .pricing-badge { grid-row: 4; justify-self: start; align-self: start; background: #e2c16c; color: #231b09; }
/* Gallery controls only. Load after the premium bike-detail styling.
 * WHY: A native horizontal strip needs a clear keyboard/touch route to every
 * Hub photo. These controls never overlay photos or change their composition.
 */
#bikeDetailModal .bike-detail-gallery {
    scroll-behavior: auto;
}

#bikeDetailModal .bike-detail-gallery-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-block-start: 8px;
}

#bikeDetailModal .bike-detail-gallery-count {
    flex: 1 1 auto;
    color: #4e514a;
    font-size: 17px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

#bikeDetailModal .bike-detail-gallery-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #a29b8e;
    border-radius: 7px;
    background: #fffdf8;
    color: #171816;
    cursor: pointer;
    box-shadow: none;
}

#bikeDetailModal .bike-detail-gallery-button:hover:not(:disabled) {
    border-color: #5a5b53;
    background: #eee8dc;
}

#bikeDetailModal .bike-detail-gallery-button:disabled {
    border-color: #d5cfc2;
    background: #f3efe6;
    color: #8c877b;
    cursor: default;
}

#bikeDetailModal .bike-detail-gallery-button:focus-visible,
#bikeDetailModal .bike-detail-gallery:focus-visible {
    outline: 3px solid #145bba;
    outline-offset: 3px;
}

#bikeDetailModal .bike-detail-gallery-button svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

html[dir="rtl"] #bikeDetailModal .bike-detail-gallery-button svg {
    transform: scaleX(-1);
}

/*!rental-refinement-20260929*/
/**
 * EREBORA original rental landing — premium refinement layer, 2026-09-29.
 * History/corrections/proof: /root/erebora-hub/EREBORA_RENTAL_PLAN.md;
 * design contract: /root/erebora-hub/EREBORA_RENTALS_DESIGN.md.
 *
 * LOAD AFTER the preserved landing bundle (v60, v62 and 2026-09-28 layers stay
 * intact underneath; nothing here deletes or rebuilds them). Human corrections
 * applied in this layer:
 *   1. Jost replaces the rejected Inter: super-bold display, readable body.
 *   2. One line-icon family replaces emoji in every section (inline sprite).
 *   3. Calculator shows only a date prompt until a usable quote exists.
 *   4. The red urgency banner is a real booking CTA (same URL as START BOOKING).
 *   5. Green WhatsApp controls keep white text in every state, page-wide.
 *   6. Comparison amounts never wrap; phones scroll the table at a readable size.
 *   7. Coherent material, buttons, spacing and visible motion in every section,
 *      with reduced-motion final states and no pre-hidden first paint.
 * Protected: cream/asphalt/brass identity, Hub photo transforms, six-track
 * desktop subgrid, mobile offscreen cards, no haze, the 320ms bike dialog,
 * native dialog Escape/focus, filters/sort/pricing data, locale content, hrefs.
 *
 * Specificity note: `:root body` (0,1,1) is used where a rule must beat the
 * 2026-09-28 `body.inventory-first …` rules AND still apply after Select, when
 * sections.js removes .inventory-first (the old inventory-only fixes vanished
 * there — e.g. footer buttons and gold-on-green hover text).
 */

/* ------------------------------------------------------------------ */
/* 1. Jost, self-hosted (SIL OFL 1.1, Owen Earl / indestructible type*). */
/* Files: Google Fonts Jost v20 subsets, variable wght 100–900.           */
/* ------------------------------------------------------------------ */
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/static/fonts/jost/jost-latin.7726a5cd6f3c0e87.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/static/fonts/jost/jost-latin-ext.312ef2b80cefd8d6.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/static/fonts/jost/jost-cyrillic.732ac61fdb7b964d.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* WHY: a metric-matched local fallback keeps line lengths and heights close to
   Jost (avg width .428em, ascent 1.07, descent .375) so a slow font swap cannot
   add layout shift to the CLS-0 baseline. */
@font-face {
    font-family: 'Jost Fallback';
    src: local('Arial'), local('ArialMT'), local('Helvetica'), local('Roboto');
    size-adjust: 97%;
    ascent-override: 110%;
    descent-override: 38.6%;
    line-gap-override: 0%;
}

/* ------------------------------------------------------------------ */
/* 2. Tokens and families                                               */
/* ------------------------------------------------------------------ */
body {
    --font-heading: 'Jost', 'Jost Fallback', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Arial, sans-serif;
    --font-body: 'Jost', 'Jost Fallback', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Arial, sans-serif;
    --rf-ink: #171816;
    --rf-ink-2: #2e302a;
    --rf-text: #3d3f38;
    --rf-muted: #5b5d55;
    --rf-paper: #fffdf8;
    --rf-cream: #f5f0e7;
    --rf-sand: #f3ede1;
    --rf-edge: #bcb6a9;
    --rf-line: #d8d1c3;
    --rf-soft-line: #e6e0d4;
    --rf-brass: #c7a54a;
    --rf-brass-ink: #6b4d00;
    --rf-brass-light: #f4d879;
    --rf-green: #167c45;
    --rf-green-hover: #11663a;
    --rf-green-press: #0d5530;
    --rf-green-ink: #146f3f;
    --rf-red: #a62925;
    --rf-red-deep: #641916;
    --rf-focus: #145bba;
    --rf-ease-out: cubic-bezier(.16, 1, .3, 1);
    --rf-ease: cubic-bezier(.2, .75, .25, 1);
    --rf-shadow-card: 0 1px 0 rgba(255,255,255,.9) inset, 0 12px 28px -22px rgba(35,27,9,.45), 0 2px 5px rgba(35,27,9,.05);
    font-family: var(--font-body);
    font-weight: 450;
}
/* WHY: Jost has no Greek or full Vietnamese coverage. Mixing two faces inside
   one word reads broken, so these locales take one complete system family. */
html:is([lang=el], [lang=vi]) body {
    --font-heading: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Roboto, Arial, sans-serif;
    --font-body: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Roboto, Arial, sans-serif;
}
/* WHY: preserve the bundle's accepted non-Latin fit: display text in these
   scripts keeps its Noto Sans heading stack and zero tracking (negative or
   wide tracking breaks Arabic joining and CJK/Thai/Devanagari rhythm). */
html:is([lang=ar], [lang=he], [lang=ja], [lang=ko], [lang=zh], [lang=th], [lang=hi]) body {
    --font-heading: 'Noto Sans', ui-sans-serif, system-ui, sans-serif;
}
html:is([lang=ar], [lang=he], [lang=ja], [lang=ko], [lang=zh], [lang=th], [lang=hi]) body :is(h1, h2, h3, h4, .btn, .headline, .kicker, .section-title, .bike-card-name, .calc-bike-name, .calc-instruction, .calc-date-field label, .calc-yours-label, .savings-total-label, .urgency-banner, .faq-title, .faq-question, .step-title, .step-time, .progress-label, .quick-faq-title, .featured-price-label, .footer-col h4, .comparison-table th, .modal-title, .google-reviews-link, .bike-card-badge, .bike-card-stock, .duration-text) {
    letter-spacing: 0 !important;
}

/* ------------------------------------------------------------------ */
/* 3. Typographic weights: super-bold display, calm body                */
/* ------------------------------------------------------------------ */
body :is(h1, h2, h3, h4, .btn, .featured-price-amount, .pricing-amount, .mobile-whatsapp-main) {
    font-family: var(--font-heading);
    font-weight: 700;
}
body :is(p, li, dd, td, input, select, textarea) { font-weight: inherit; }
/* Jost has no italic loaded; a synthesized oblique looks broken. Quotes stay
   upright and are marked by quote glyphs instead. */
:root body :is(.hero-testimonial-text, .testimonial-text) { font-style: normal; }

/* ------------------------------------------------------------------ */
/* 4. Icon system                                                       */
/* ------------------------------------------------------------------ */
:root svg.rental-line-icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: middle;
    overflow: visible;
}
:root svg.rental-stars {
    display: block;
    width: 90px;
    height: 18px;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.2;
    stroke-linejoin: round;
}
html[dir=rtl] .ri-flip-rtl { transform: scaleX(-1); }
:root body .btn .btn-icon { width: 20px; height: 20px; }
/* Base bundle filled every back-button/trust svg; line icons must stay open. */
:root body :is(.section-back-btn, .trust-item-clickable:hover, .social-links a, .social-links a:hover) svg.rental-line-icon { fill: none; }

/* ------------------------------------------------------------------ */
/* 5. Buttons — one tactile workshop system                             */
/* ------------------------------------------------------------------ */
:root body .btn {
    gap: 10px;
    min-height: 48px;
    padding: 12px 20px;
    border-width: 1px;
    border-radius: 7px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.15;
    text-decoration: none;
    transition: transform 140ms var(--rf-ease), box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
:root body :is(.btn-large) { min-height: 56px; padding: 14px 24px; font-size: 17px; }
:root body :is(.btn-xlarge) { min-height: 64px; padding: 16px 30px; font-size: 19px; }
:root body :is(.btn-primary, .btn-gold):not(.whatsapp-btn) {
    border-color: #8f6f24;
    background: linear-gradient(180deg, #efd384 0%, #d6b252 100%);
    color: #231b09;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 3px 0 #7a5c1c, 0 10px 20px -12px rgba(58,40,6,.55);
}
:root body :is(.btn-primary, .btn-gold):not(.whatsapp-btn):hover {
    background: linear-gradient(180deg, #f3dc97 0%, #dcbb5e 100%);
    color: #231b09;
}
:root body .btn-secondary {
    border-color: #8a8477;
    background: var(--rf-paper);
    color: var(--rf-ink);
    box-shadow: 0 2px 0 rgba(23,24,22,.16);
}
/* WHY: base `.btn-secondary:hover{color:var(--cta1)}` turned text bronze —
   on the green WhatsApp button that was the reported gold/brown-on-green. */
:root body .btn-secondary:hover { border-color: #4b4d45; background: #f3eee4; color: var(--rf-ink); }
:root body .btn-outline {
    border-color: var(--rf-ink);
    background: transparent;
    color: var(--rf-ink);
    box-shadow: none;
}
:root body .btn-outline:hover { background: var(--rf-ink); border-color: var(--rf-ink); color: #fffdf8; }
:root body .btn:focus-visible {
    outline: 3px solid var(--rf-focus);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px #fff, 0 3px 0 rgba(23,24,22,.25);
}
:root body .btn:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(23,24,22,.3); }

/* WHY (human correction 2026-09-29): green WhatsApp/chat actions carry white
   text in EVERY state — link, visited, hover, focus, active, disabled — across
   the whole landing and funnel. Several older rules (btn-secondary hover,
   footer link colors, footer hover ink) repainted this text; !important is
   the single deliberate owner of that invariant. White on #167c45 = 5.2:1,
   hover #11663a = 7.0:1, press #0d5530 = 8.6:1, disabled #3f6b52 = 5.9:1. */
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"], .mobile-whatsapp-bar a, .chat-whatsapp-btn),
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"], .mobile-whatsapp-bar a, .chat-whatsapp-btn):is(:link, :visited, :hover, :focus, :focus-visible, :active) {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    text-decoration: none;
}
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"], .mobile-whatsapp-bar a, .chat-whatsapp-btn) * { color: inherit; -webkit-text-fill-color: currentColor; }
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"]) {
    border-color: #0b4d2b;
    background: var(--rf-green);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 3px 0 #0b4d2b, 0 10px 20px -12px rgba(11,77,43,.6);
}
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"]):hover { background: var(--rf-green-hover); border-color: #0b4d2b; }
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"]):active { background: var(--rf-green-press); }
:root body :is(.whatsapp-btn, a.btn[href*="wa.me"]):is([aria-disabled=true], :disabled) { background: #3f6b52; border-color: #2c4c3a; box-shadow: none; }
:root body .whatsapp-btn .whatsapp-icon { width: 22px; height: 22px; flex: none; }

/* ------------------------------------------------------------------ */
/* 6. Hero — type and icons only; geometry/LCP untouched                */
/* ------------------------------------------------------------------ */
:root body .headline {
    font-family: var(--font-heading);
    font-size: clamp(36px, 3.6vw, 56px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.022em;
    color: #fffdf8;
}
:root body .kicker {
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .15em;
    color: #e6c66b;
}
:root body .trust-item { font-size: 14.5px; font-weight: 500; gap: 10px; }
:root body .trust-icon.rental-line-icon { width: 22px; height: 22px; color: var(--rf-brass-light); fill: none; stroke-width: 1.6; }
:root body .hero-testimonial-text { font-size: 14.5px; line-height: 1.4; font-weight: 450; }
:root body .hero-testimonial-author { font-size: 13.5px; font-weight: 500; }
:root body .hero-testimonial-stars { color: var(--rf-brass-light); margin: 0 0 4px; }
:root body .hero-testimonial-stars .rental-stars { width: 80px; height: 16px; }
:root body .video-play-label { font-family: var(--font-heading); font-weight: 700; letter-spacing: .08em; }
@media (max-width: 767px) {
    /* WHY: the title column beside the video is ~150px at 360px; Jost 800
       "Motorbike" is ~4.95em, so size by viewport to keep the word whole. */
    :root body .headline { font-size: min(32px, 8.1vw); line-height: 1.04; }
    :root body .kicker { font-size: 12px; line-height: 1.2; letter-spacing: .07em; }
    :root body .trust-item { font-size: 12.5px; gap: 4px; }
    :root body .trust-icon.rental-line-icon { width: 15px; height: 15px; }
    :root body .hero-testimonial-text { font-size: 13px; }
    :root body .hero-testimonial-stars .rental-stars { width: 60px; height: 12px; }
}
@media (max-width: 359px) {
    :root body .headline { font-size: min(30px, 7.8vw); }
}

/* ------------------------------------------------------------------ */
/* 7. Catalog — Jost weights on the accepted six-track cards            */
/* ------------------------------------------------------------------ */
:root body #section-bikes .section-title {
    font-weight: 800;
    font-size: clamp(34px, 3.6vw, 52px);
    line-height: 1;
    letter-spacing: -.022em;
}
:root body :is(.bike-search-input, .bike-filter-select) { font-family: var(--font-body); font-size: 16.5px; }
:root body .bike-filter-select { font-weight: 600; }
:root body .bike-card-name { font-weight: 800; letter-spacing: -.012em; line-height: 1.08; }
:root body .bike-card-decision-specs { font-size: 14.5px; font-weight: 550; color: #45473f; }
:root body .bike-card-rider-fit { font-size: 16.5px; font-weight: 450; line-height: 1.45; color: #3d3f38; }
:root body .featured-price-label { font-family: var(--font-heading); font-size: 15px; font-weight: 600; letter-spacing: .06em; }
:root body .featured-price-amount { font-weight: 700; letter-spacing: -.012em; font-variant-numeric: tabular-nums; }
:root body .featured-price-period { font-size: 15px; font-weight: 500; }
:root body .rate-tier-label { font-size: 14px; font-weight: 500; }
:root body .rate-tier-market { font-size: 13px; }
:root body .rate-tier-price { font-size: 16.5px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
:root body :is(.rate-tier-market, .featured-daily-equivalent) { white-space: nowrap; }
:root body .bike-card-savings { font-family: var(--font-heading); font-weight: 600; letter-spacing: .02em; }
:root body :is(.bike-card-badge, .bike-card-stock) { font-family: var(--font-heading); font-weight: 700; letter-spacing: .06em; }
:root body .bike-card-buttons .btn { padding: 8px 10px; font-weight: 700; letter-spacing: .04em; }
/* Quick answers: the same line icons, in a brass-edged asphalt mount. */
:root body .quick-faq-title { font-family: var(--font-heading); font-weight: 700; letter-spacing: .14em; }
:root body .quick-faq-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--rf-ink);
    color: var(--rf-brass-light);
    box-shadow: 0 2px 0 #8a6014;
}
:root body .quick-faq-icon .rental-line-icon { width: 24px; height: 24px; }
:root body .quick-faq-content strong { font-family: var(--font-heading); font-size: 18px; font-weight: 700; }
:root body .quick-faq-content > span { font-size: 16.5px; line-height: 1.45; }
:root body #section-bikes .section-nav { max-width: 720px; margin-inline: auto; }

/* ------------------------------------------------------------------ */
/* 8. Funnel steps — shared surface, titles, progress, navigation        */
/* ------------------------------------------------------------------ */
/* WHY: the old translucent section layer blurred the page behind every
   gated step. Match the accepted opaque inventory surface: no haze at all. */
:root body .funnel-section::before { background: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
:root body :is(#section-calculator, #section-trust, #section-faq) { padding-block: 28px 64px; }
:root body :is(#section-calculator, #section-trust, #section-faq) .section-content { gap: 24px; }
:root body :is(#section-trust, #section-faq) .section-title {
    display: block;
    margin: 6px 0 0;
    padding: 0;
    border-radius: 0;
    background: none;
    color: var(--rf-ink);
    font-size: clamp(36px, 4.4vw, 60px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.025em;
    text-align: center;
    text-transform: none;
}
:root body :is(#section-trust, #section-faq) .section-title::before {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin: 0 auto 18px;
    border-radius: 2px;
    background: var(--rf-brass);
}
:root body .section-subtitle { margin: -6px 0 0; color: var(--rf-muted); font-size: 20px; font-weight: 500; }
:root body .progress-indicator { gap: 8px; }
:root body .progress-step {
    width: 36px;
    height: 36px;
    border: 1.5px solid var(--rf-edge);
    background: var(--rf-paper);
    color: var(--rf-muted);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
:root body .progress-step.completed { border-color: var(--rf-green-ink); background: var(--rf-green-ink); color: #fff; }
:root body .progress-step.active {
    border-color: var(--rf-ink);
    background: var(--rf-ink);
    color: var(--rf-brass-light);
    box-shadow: 0 0 0 4px rgba(199,165,74,.35);
}
:root body .progress-line { width: 44px; height: 2px; border-radius: 1px; background: var(--rf-line); transform-origin: left center; }
:root body .progress-line.completed { background: var(--rf-green-ink); }
:root body .progress-label {
    margin-top: 10px;
    color: var(--rf-muted);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
:root body .section-back-btn {
    gap: 8px;
    min-height: 44px;
    padding: 8px 16px 8px 12px;
    border: 1px solid #8a8477;
    border-radius: 999px;
    background: var(--rf-paper);
    color: var(--rf-ink);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 2px 0 rgba(23,24,22,.14);
}
:root body .section-back-btn:hover { background: var(--rf-ink); border-color: var(--rf-ink); color: #fffdf8; transform: none; }
:root body .section-back-btn svg.rental-line-icon { width: 20px; height: 20px; }
:root body :is(#section-calculator, #section-trust, #section-faq) .section-nav {
    max-width: 680px;
    margin-inline: auto;
    gap: 12px;
}
:root body :is(#section-calculator, #section-trust, #section-faq) .section-nav > * { flex: 1 1 240px; }
/* One primary action per step. "Next step" buttons read as quiet paper
   controls so they never compete with START BOOKING / BOOK NOW. */
:root body .section-nav-secondary { max-width: 680px; margin-inline: auto; }
:root body .section-nav-secondary .btn-gold,
:root body .section-nav-secondary .btn-gold:hover {
    border-color: #8f6f24;
    background: var(--rf-paper);
    color: var(--rf-ink) !important; /* base .btn-gold forces color:#000 !important */
    box-shadow: 0 2px 0 rgba(122,92,28,.35);
    letter-spacing: .05em;
}
:root body .section-nav-secondary .btn-gold:hover { background: #f7efdb; }
:root body .btn .btn-icon-end { transition: translate 200ms var(--rf-ease-out); }
:root body .btn:hover .btn-icon-end { translate: 3px 0; }
html[dir=rtl] body .btn:hover .btn-icon-end { translate: -3px 0; }

/* ------------------------------------------------------------------ */
/* 9. Calculator                                                        */
/* ------------------------------------------------------------------ */
:root body #section-calculator .calculator-card {
    width: 100%;
    max-width: 680px;
    padding: clamp(18px, 3vw, 32px);
    border: 1px solid var(--rf-edge);
    border-radius: 14px;
    background: var(--rf-paper);
    box-shadow: var(--rf-shadow-card);
}
/* Compact selected-bike summary: the dates are visible on arrival instead of
   one screen below a full-width photo. The Hub photo keeps its own frame and
   object-fit/transform rules; only the frame's display size changes. */
:root body #section-calculator .calc-bike-header {
    display: grid;
    grid-template-columns: minmax(112px, 200px) minmax(0, 1fr);
    align-items: center;
    gap: 14px 20px;
    margin: 0 0 22px;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--rf-soft-line);
}
:root body #section-calculator .calc-bike-thumb-frame {
    border: 2px solid var(--rf-ink);
    border-radius: 9px;
    box-shadow: 0 3px 0 #8a6014;
}
:root body #section-calculator .calc-bike-name {
    margin: 0;
    color: var(--rf-ink);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.015em;
    text-align: start;
    overflow-wrap: anywhere;
}
:root body #section-calculator .calc-dates-section { margin: 0 0 20px; }
:root body #section-calculator .calc-instruction {
    margin: 0 0 14px;
    color: var(--rf-ink);
    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.005em;
    text-align: start;
}
:root body #section-calculator .calc-date-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    width: 100%;
    overflow: visible;
}
:root body #section-calculator .calc-date-field { min-width: 0; max-width: none; gap: 6px; }
:root body #section-calculator .calc-date-field label {
    color: var(--rf-brass-ink);
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
    text-align: start;
}
:root body #section-calculator .calc-date-input {
    min-height: 56px;
    padding-block: 12px;
    padding-inline: 14px 46px;
    border: 1px solid #8a8477;
    border-radius: 9px;
    background: #fff;
    color: var(--rf-ink);
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    box-shadow: inset 0 1px 2px rgba(23,24,22,.06);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
:root body #section-calculator .calc-date-input:hover { border-color: var(--rf-ink); background: #fff; }
:root body #section-calculator .calc-date-input:focus { outline: none; border-color: var(--rf-focus); box-shadow: 0 0 0 3px rgba(20,91,186,.28); }
:root body #section-calculator .calc-date-input:focus-visible { outline: 3px solid var(--rf-focus); outline-offset: 2px; }
:root body #section-calculator .calc-date-input:user-invalid { border-color: var(--rf-red); box-shadow: 0 0 0 3px rgba(166,41,37,.16); }
:root body #section-calculator .calc-calendar-icon {
    /* physical resets first, then the logical edge (LTR right, RTL left) */
    right: auto;
    left: auto;
    inset-inline-end: 14px;
    width: 22px;
    height: 22px;
    color: var(--rf-brass-ink);
    pointer-events: none;
}
:root body #section-calculator .calc-date-arrow {
    display: grid;
    place-items: center;
    width: 32px;
    height: 56px;
    margin: 0;
    color: #8a6014;
}
:root body #section-calculator .calc-date-arrow svg { width: 22px; height: 22px; }

/* Quote panel: states owned by calculator.js (data-quote-state). */
:root body #section-calculator .calc-price-section {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    text-align: start;
}
:root body #pricingDisplay:not([data-quote-state=ready]) :is(.calc-price-market, .calc-savings-section, .calc-price-yours, .calc-promo, .promo-message) {
    display: none !important; /* beats calculator.js inline display:block */
}
:root body #section-calculator .calc-duration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 64px;
    margin: 0;
    padding: 14px 18px;
    border: 1px dashed #c3b89f;
    border-radius: 11px;
    background: var(--rf-sand);
    color: #45473f;
    text-align: center;
}
:root body #section-calculator .calc-duration .duration-text { color: inherit; font-size: 17px; font-weight: 500; }
:root body #section-calculator .calc-status-icon { width: 24px; height: 24px; color: var(--rf-brass-ink); }
:root body #pricingDisplay[data-quote-state=loading] .calc-duration { border-style: solid; border-color: var(--rf-line); }
:root body #pricingDisplay[data-quote-state=loading]::after {
    content: "";
    display: block;
    height: 128px;
    margin-top: 12px;
    border-radius: 11px;
    background:
        linear-gradient(#e9e2d4, #e9e2d4) 20px 22px / 42% 14px no-repeat,
        linear-gradient(#e9e2d4, #e9e2d4) right 20px top 22px / 26% 14px no-repeat,
        linear-gradient(#e9e2d4, #e9e2d4) 20px 56px / 34% 14px no-repeat,
        linear-gradient(#2c2d29, #2c2d29) 0 88px / 100% 40px no-repeat,
        var(--rf-sand);
}
:root body #pricingDisplay:is([data-quote-state=invalid], [data-quote-state=error]) .calc-duration {
    border: 1px solid #d9a8a4;
    background: #fbefee;
    color: #7a1f1b;
}
:root body #pricingDisplay:is([data-quote-state=invalid], [data-quote-state=error]) .calc-status-icon { color: var(--rf-red); }
:root body #section-calculator .calc-status-alert,
:root body #pricingDisplay:is([data-quote-state=invalid], [data-quote-state=error]) .calc-status-icon:not(.calc-status-alert) { display: none; }
:root body #pricingDisplay:is([data-quote-state=invalid], [data-quote-state=error]) .calc-status-alert { display: inline-block; }
/* Ready: the status becomes a duration chip above a receipt. */
:root body #section-calculator .calc-duration.active {
    display: inline-flex;
    width: auto;
    min-height: 0;
    margin: 0 0 14px;
    padding: 8px 14px 8px 12px;
    border: 0;
    border-radius: 999px;
    background: var(--rf-ink);
    color: var(--rf-brass-light);
}
:root body #section-calculator .calc-duration.active .duration-text {
    color: inherit;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em;
}
:root body #section-calculator .calc-duration.active .calc-status-icon { width: 20px; height: 20px; color: inherit; }
:root body #pricingDisplay[data-quote-state=ready] .calc-price-market {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 12px 2px;
    border-bottom: 1px solid var(--rf-soft-line);
    text-align: start;
}
:root body #section-calculator .calc-market-label { color: var(--rf-text); font-size: 16.5px; font-weight: 500; }
:root body #section-calculator .calc-market-amount {
    color: #5b5d55;
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: line-through;
    text-decoration-color: #b3261e;
    text-decoration-thickness: 2px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
:root body #section-calculator .calc-savings-section {
    margin: 12px 0 0;
    padding: 4px 16px;
    border: 1px solid #c4dccb;
    border-radius: 11px;
    background: #eff6f0;
}
:root body #section-calculator .calc-savings-row { gap: 16px; padding: 10px 0; border-bottom: 1px solid #d4e5d9; }
:root body #section-calculator .savings-label { color: #2f4a39; font-size: 15.5px; font-weight: 500; text-align: start; }
:root body #section-calculator .savings-value { color: var(--rf-green-ink); font-family: var(--font-heading); font-size: 16.5px; font-weight: 700; }
:root body #section-calculator .calc-savings-total { gap: 16px; margin: 0; padding: 12px 0 10px; border-top: 0; }
:root body #section-calculator .savings-total-label { color: var(--rf-green-ink); font-family: var(--font-heading); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-align: start; }
:root body #section-calculator .savings-total-value { color: var(--rf-green-ink); font-family: var(--font-heading); font-size: 20px; font-weight: 800; }
:root body #section-calculator :is(.savings-value, .savings-total-value, .calc-price-big) { white-space: nowrap; font-variant-numeric: tabular-nums; }
:root body #pricingDisplay[data-quote-state=ready] .calc-price-yours {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 16px;
    margin: 14px 0 0;
    padding: 18px 20px;
    border: 1px solid #494532;
    border-inline-start: 4px solid var(--rf-brass);
    border-radius: 11px;
    background: var(--rf-ink);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    text-align: start;
    position: relative;
}
:root body #section-calculator .calc-yours-label {
    color: var(--rf-brass-light);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .14em;
}
:root body #section-calculator .calc-price-big {
    color: #fffdf8;
    font-family: var(--font-heading);
    font-size: clamp(30px, 5vw, 42px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.015em;
}
:root body #pricingDisplay[data-quote-state=ready] .calc-promo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin: 16px 0 0;
}
:root body #section-calculator .calc-promo-input {
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid #8a8477;
    border-radius: 9px;
    background: #fff;
    color: var(--rf-ink);
    font-family: var(--font-body);
    font-size: 16.5px;
    font-weight: 500;
    letter-spacing: .04em;
}
:root body #section-calculator .calc-promo-input::placeholder { color: #6a6b62; letter-spacing: 0; }
:root body #section-calculator .calc-promo-input:focus { outline: 3px solid var(--rf-focus); outline-offset: 2px; border-color: var(--rf-ink); }
:root body #section-calculator .calc-promo-input:disabled { border-color: #9cc3a8; background: #eff6f0; color: var(--rf-ink); -webkit-text-fill-color: var(--rf-ink); opacity: 1; }
:root body #section-calculator .calc-promo-btn {
    min-width: 104px;
    min-height: 48px;
    padding: 10px 18px;
    border: 1px solid var(--rf-ink);
    border-radius: 9px;
    background: var(--rf-paper);
    color: var(--rf-ink);
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    transition: background-color 160ms ease, color 160ms ease;
}
:root body #section-calculator .calc-promo-btn:hover:not(:disabled) { background: var(--rf-ink); color: #fffdf8; }
:root body #section-calculator .calc-promo-btn:focus-visible { outline: 3px solid var(--rf-focus); outline-offset: 2px; }
:root body #section-calculator .calc-promo-btn:disabled { border-color: #0f5a31; background: var(--rf-green-ink); color: #fff; cursor: default; }
:root body #pricingDisplay[data-quote-state=ready] .promo-message:not(:empty) { display: block; margin: 10px 0 0; font-size: 15.5px; font-weight: 600; text-align: start; }
:root body #section-calculator .promo-message.success { color: var(--rf-green-ink); }
:root body #section-calculator .promo-message.error { color: #8f231f; }

/* Urgency banner = booking CTA (same URL/state as START BOOKING). */
:root body #section-calculator .urgency-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 680px;
    min-height: 64px;
    margin: 0 auto;
    padding: 12px 18px 12px 12px;
    border: 1px solid var(--rf-red-deep);
    border-radius: 12px;
    background: linear-gradient(180deg, #b3322c 0%, #9d2723 100%);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 17.5px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .01em;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 3px 0 var(--rf-red-deep), 0 14px 26px -16px rgba(100,25,22,.75);
    transition: transform 140ms var(--rf-ease), box-shadow 160ms ease, filter 160ms ease;
}
:root body #section-calculator .urgency-banner:is(:link, :visited, :hover, :focus) { color: #fff; }
:root body #section-calculator .urgency-banner:hover { filter: brightness(.94); }
:root body #section-calculator .urgency-banner:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 0 var(--rf-red-deep); }
:root body #section-calculator .urgency-banner:focus-visible { outline: 3px solid var(--rf-focus); outline-offset: 3px; }
:root body #section-calculator .urgency-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(0,0,0,.2);
    color: #ffe08a;
    font-size: 0;
}
:root body #section-calculator .urgency-icon .rental-line-icon { width: 24px; height: 24px; stroke-width: 1.9; }
:root body #section-calculator .urgency-text { min-width: 0; color: #fff; }
:root body #section-calculator .urgency-timer {
    min-width: 66px;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(0,0,0,.26);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
:root body #section-calculator .urgency-go { width: 24px; height: 24px; color: #fff; transition: translate 200ms var(--rf-ease-out); }
:root body #section-calculator .urgency-banner:hover .urgency-go { translate: 4px 0; }
html[dir=rtl] body #section-calculator .urgency-banner:hover .urgency-go { translate: -4px 0; }
:root body #section-calculator .urgency-banner.expired {
    border-color: #000;
    background: linear-gradient(180deg, #262723 0%, var(--rf-ink) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 3px 0 #000, 0 14px 26px -16px rgba(0,0,0,.7);
}
:root body #section-calculator .urgency-banner.expired .urgency-icon { color: var(--rf-brass-light); background: rgba(255,255,255,.08); }
/* START BOOKING before a usable quote: visibly waiting, still clickable to
   prompt for the missing date (never navigates). 5.4:1 text contrast. */
:root body #section-calculator #startBookingBtn[aria-disabled=true] {
    border-color: #c9bfa9;
    background: #ebe4d3;
    color: #4b4d45;
    box-shadow: none;
    cursor: pointer;
}

/* ------------------------------------------------------------------ */
/* 10. Why Erebora                                                       */
/* ------------------------------------------------------------------ */
:root body #section-trust .benefits-grid { gap: 16px; }
:root body #section-trust .benefit-card {
    position: relative;
    overflow: hidden;
    padding: 26px 22px 24px;
    border: 1px solid var(--rf-line);
    border-radius: 14px;
    background: var(--rf-paper);
    box-shadow: var(--rf-shadow-card);
    text-align: start;
}
:root body #section-trust .benefit-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--rf-brass);
    transform-origin: left center;
}
:root body :is(.benefit-icon, .step-icon, .included-icon) {
    display: grid;
    place-items: center;
    font-size: 0;
}
:root body #section-trust .benefit-icon {
    width: 56px;
    height: 56px;
    margin: 0 0 18px;
    border-radius: 14px;
    background: var(--rf-ink);
    color: var(--rf-brass-light);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 3px 0 #8a6014;
}
:root body #section-trust .benefit-icon .rental-line-icon { width: 30px; height: 30px; stroke-width: 1.6; }
:root body #section-trust .benefit-card h3 {
    margin: 0 0 8px;
    color: var(--rf-ink);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.005em;
}
:root body #section-trust .benefit-card p { margin: 0; color: var(--rf-text); font-size: 16.5px; line-height: 1.55; }
:root body #section-trust .testimonials-grid { gap: 16px; }
:root body #section-trust .testimonial-card {
    position: relative;
    padding: 24px 24px 20px;
    border: 1px solid var(--rf-line);
    border-radius: 14px;
    background: var(--rf-paper);
    box-shadow: var(--rf-shadow-card);
}
:root body #section-trust .stars { margin: 0 0 12px; color: #b8871f; }
:root body #section-trust .testimonial-text { position: relative; color: var(--rf-ink-2); font-size: 17.5px; line-height: 1.55; font-weight: 450; }
:root body #section-trust .testimonial-author { color: var(--rf-muted); font-size: 15px; font-weight: 500; }
:root body #section-trust .testimonial-author strong { color: var(--rf-ink); font-weight: 700; }
:root body .google-reviews-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 4px auto 0;
    padding: 10px 6px;
    color: var(--rf-brass-ink);
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(107,77,0,.35);
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
    transition: color 160ms ease, text-decoration-color 160ms ease;
}
:root body .google-reviews-link:hover { color: var(--rf-ink); text-decoration-color: var(--rf-ink); }
:root body .google-reviews-link .rental-line-icon { width: 20px; height: 20px; }
:root body .google-reviews-link .rental-line-icon:first-child { color: #b8871f; fill: currentColor; stroke-width: 1.2; }
:root body .google-reviews-link .rental-line-icon:last-child { transition: translate 200ms var(--rf-ease-out); }
:root body .google-reviews-link:hover .rental-line-icon:last-child { translate: 2px -2px; }

/* ------------------------------------------------------------------ */
/* 11. How it works, FAQ, included, guarantees, final CTA              */
/* ------------------------------------------------------------------ */
:root body #section-faq .process-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 1040px;
    margin: 4px 0 28px;
    padding: 0;
    list-style: none;
    gap: 0;
}
:root body #section-faq .process-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 0 12px;
    border: 0;
    background: none;
    text-align: center;
}
/* Dashed "road" connector between consecutive steps (CSS, no glyph). */
:root body #section-faq .process-step:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-block-start: 38px;
    inset-inline-start: calc(50% + 50px);
    inset-inline-end: calc(-50% + 50px);
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--rf-brass) 0 10px, transparent 10px 18px);
    transform-origin: left center;
}
html[dir=rtl] body #section-faq .process-step:not(:last-child)::after { transform-origin: right center; }
:root body #section-faq .step-icon {
    position: relative;
    width: 76px;
    height: 76px;
    margin: 0 0 16px;
    border-radius: 20px;
    background: var(--rf-ink);
    color: var(--rf-brass-light);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 4px 0 #8a6014, 0 16px 26px -18px rgba(23,24,22,.7);
}
:root body #section-faq .step-icon .rental-line-icon { width: 38px; height: 38px; stroke-width: 1.55; }
:root body #section-faq .step-index {
    position: absolute;
    inset-block-start: -8px;
    inset-inline-end: -8px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 2px solid var(--rf-cream);
    border-radius: 50%;
    background: var(--rf-brass);
    color: #231b09;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}
:root body #section-faq .step-title { margin: 0 0 8px; color: var(--rf-ink); font-size: 20px; font-weight: 700; line-height: 1.2; }
:root body #section-faq .step-time {
    display: inline-flex;
    margin: 0;
    padding: 4px 12px;
    border-radius: 999px;
    background: #e5f0e8;
    color: var(--rf-green-ink);
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: .04em;
}
:root body #section-faq .faq-section { width: 100%; max-width: 780px; }
:root body #section-faq .faq-title {
    margin: 0 0 20px;
    color: var(--rf-ink);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.015em;
    text-align: center;
}
:root body #section-faq .faq-item {
    margin: 0 0 10px;
    overflow: hidden;
    border: 1px solid var(--rf-line);
    border-radius: 12px;
    background: var(--rf-paper);
    box-shadow: none;
}
:root body #section-faq .faq-item.open { border-color: #b69b61; box-shadow: 0 16px 30px -24px rgba(35,27,9,.55); }
:root body #section-faq .faq-question {
    gap: 16px;
    min-height: 64px;
    padding: 16px 16px 16px 22px;
    background: transparent;
    color: var(--rf-ink);
    font-family: var(--font-heading);
    font-size: 18.5px;
    font-weight: 600;
    line-height: 1.35;
    text-align: start;
    cursor: pointer;
}
html[dir=rtl] body #section-faq .faq-question { padding: 16px 22px 16px 16px; }
:root body #section-faq .faq-question:hover { background: #f8f3ea; }
:root body #section-faq .faq-question:focus-visible { outline: 3px solid var(--rf-focus); outline-offset: -3px; }
:root body #section-faq .faq-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--rf-edge);
    border-radius: 50%;
    color: var(--rf-brass-ink);
    transform: none;
    transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}
:root body #section-faq .faq-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; overflow: visible; }
:root body #section-faq .faq-icon-v { transform-box: fill-box; transform-origin: center; transition: transform 280ms var(--rf-ease-out); }
:root body #section-faq .faq-item.open .faq-icon { transform: none; border-color: var(--rf-ink); background: var(--rf-ink); color: var(--rf-brass-light); }
:root body #section-faq .faq-item.open .faq-icon-v { transform: rotate(90deg); }
/* WHY: the old max-height:200px clipped long translated answers. Animate the
   real content height with a 0fr→1fr grid row instead; nothing is cut off. */
:root body #section-faq .faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    max-height: none;
    overflow: hidden;
    visibility: hidden; /* collapsed answers leave the a11y tree after closing */
    transition: grid-template-rows 320ms var(--rf-ease-out), visibility 0s linear 320ms;
}
:root body #section-faq .faq-item.open .faq-answer {
    grid-template-rows: 1fr;
    max-height: none;
    visibility: visible;
    transition: grid-template-rows 320ms var(--rf-ease-out), visibility 0s;
}
:root body #section-faq .faq-answer > p {
    min-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0 22px;
    color: var(--rf-text);
    font-size: 17px;
    font-weight: 450;
    line-height: 1.62;
    text-align: start;
    opacity: 0;
    transition: opacity 220ms ease, padding 320ms var(--rf-ease-out);
}
:root body #section-faq .faq-item.open .faq-answer > p { padding-block-end: 20px; opacity: 1; }
:root body #section-faq :is(.included-section, .guarantees-section) {
    width: 100%;
    max-width: 1040px;
    margin: 36px 0 0;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--rf-line);
    border-radius: 16px;
    background: var(--rf-paper);
    box-shadow: var(--rf-shadow-card);
}
:root body #section-faq :is(.included-title, .guarantees-title) {
    margin: 0 0 22px;
    color: var(--rf-ink);
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.015em;
    text-align: center;
}
:root body #section-faq :is(.included-grid, .guarantees-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
:root body #section-faq .included-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--rf-soft-line);
    border-radius: 12px;
    background: var(--rf-sand);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
:root body #section-faq .included-icon {
    width: 52px;
    height: 52px;
    border: 1px solid var(--rf-line);
    border-radius: 13px;
    background: var(--rf-paper);
    color: var(--rf-brass-ink);
}
:root body #section-faq .included-icon .rental-line-icon { width: 30px; height: 30px; stroke-width: 1.6; }
:root body #section-faq .included-item { text-align: start; }
:root body #section-faq .included-text { align-items: flex-start; gap: 4px; }
:root body #section-faq .included-text strong { color: var(--rf-ink); font-family: var(--font-heading); font-size: 18px; font-weight: 700; }
:root body #section-faq .included-text span { color: var(--rf-text); font-size: 16px; line-height: 1.45; }
:root body #section-faq .guarantee-card {
    padding: 20px;
    border: 1px solid #cfe1d5;
    border-radius: 12px;
    background: #f2f8f3;
    text-align: start;
}
:root body #section-faq .guarantee-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    margin: 0 0 14px;
    border-radius: 50%;
    background: var(--rf-green-ink);
    color: #fff;
    font-size: 0;
    box-shadow: 0 3px 0 #0b4d2b;
}
:root body #section-faq .guarantee-icon .rental-line-icon { width: 26px; height: 26px; stroke-width: 1.8; }
:root body #section-faq .guarantee-card strong { margin: 0 0 6px; color: var(--rf-ink); font-family: var(--font-heading); font-size: 18px; font-weight: 700; }
:root body #section-faq .guarantee-card p { color: #33443a; font-size: 16px; line-height: 1.5; }
:root body #section-faq .final-cta {
    width: min(100%, 560px);
    margin: 40px auto 0;
    letter-spacing: .05em;
}

/* ------------------------------------------------------------------ */
/* 12. Footer (applies before AND after Select)                         */
/* ------------------------------------------------------------------ */
:root body .footer {
    padding: 56px clamp(16px, 4vw, 48px) calc(40px + var(--erebora-dock-height, 60px));
    border-block-start: 4px solid var(--rf-brass);
    background: var(--rf-ink);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
:root body .footer-grid { gap: 40px; text-align: start; }
:root body .footer-col h4 {
    margin: 0 0 16px;
    color: var(--rf-brass-light);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .16em;
}
:root body .footer-col p { margin: 0 0 12px; color: #e9e3d6; font-size: 16px; line-height: 1.55; }
:root body .footer-col a:not(.btn) {
    color: #fffdf8;
    text-decoration: underline;
    text-decoration-color: rgba(244,216,121,.4);
    text-underline-offset: 4px;
    transition: text-decoration-color 160ms ease, color 160ms ease;
}
:root body .footer-col a:not(.btn):hover { color: #fff; text-decoration-color: var(--rf-brass-light); }
:root body .footer-col a:not(.btn):focus-visible { outline: 3px solid var(--rf-brass-light); outline-offset: 3px; }
:root body .footer-line { display: flex; align-items: flex-start; gap: 12px; }
:root body .footer-line > .rental-line-icon { width: 20px; height: 20px; margin: 2px 0 0; color: var(--rf-brass-light); }
:root body .footer-quick-links {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    margin: 20px 0;
}
/* Content-sized chips: short labels stay compact, long translations wrap. */
:root body .footer .footer-quick-links .btn {
    flex: 0 1 auto;
    justify-content: flex-start;
    min-width: 0;
    min-height: 44px;
    padding: 9px 14px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    text-align: start;
}
:root body .footer .footer-quick-links .btn-outline {
    border: 1px solid #5f5b4c;
    border-radius: 8px;
    background: #22241f;
    color: #f5f0e7;
    box-shadow: none;
}
:root body .footer .footer-quick-links .btn-outline:hover { border-color: var(--rf-brass); background: #2d2f29; color: #fff; }
:root body .footer .footer-quick-links .btn .rental-line-icon { width: 20px; height: 20px; margin: 0; color: var(--rf-brass-light); }
:root body .footer .footer-quick-links .whatsapp-btn .rental-line-icon { color: #fff; }
:root body .footer :focus-visible { outline-color: var(--rf-brass-light); }
:root body .social-links { gap: 10px; margin-top: 18px; }
:root body .social-links a {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #5f5b4c;
    border-radius: 50%;
    background: transparent;
    color: var(--rf-brass-light);
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
:root body .social-links a:hover { border-color: var(--rf-brass-light); background: var(--rf-brass-light); color: var(--rf-ink); }
:root body .social-links .rental-line-icon { width: 22px; height: 22px; margin: 0; fill: none; }
:root body .footer-bottom { border-top: 1px solid #34362f; }
:root body .footer-bottom p { color: #c9c2b2; font-size: 14.5px; }
:root body .footer-seo { color: #a39d8f; opacity: 1; }

/* ------------------------------------------------------------------ */
/* 13. Comparison dialog                                                */
/* ------------------------------------------------------------------ */
:root body dialog.comparison-modal .modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    max-height: min(92dvh, 900px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #b8af9e;
    border-radius: 16px;
    background: var(--rf-paper);
    box-shadow: 0 28px 80px rgba(0,0,0,.35), 0 3px 12px rgba(0,0,0,.16);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
:root body dialog.comparison-modal .modal-title {
    margin: 0;
    padding: 22px 80px 18px 24px;
    border-bottom: 1px solid var(--rf-line);
    color: var(--rf-ink);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.015em;
    text-align: start;
}
html[dir=rtl] body dialog.comparison-modal .modal-title { padding: 22px 24px 18px 80px; }
:root body dialog.comparison-modal .modal-close {
    position: absolute;
    inset-block-start: 14px;
    inset-inline-end: 16px;
    inset-inline-start: auto;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #a29b8e;
    border-radius: 9px;
    background: var(--rf-paper);
    color: var(--rf-ink);
    transition: background-color 140ms ease, border-color 140ms ease;
}
:root body dialog.comparison-modal .modal-close:hover { border-color: #5a5b53; background: #eee8dc; }
:root body dialog.comparison-modal .modal-close .rental-line-icon { width: 22px; height: 22px; }
:root body dialog.comparison-modal .comparison-table-wrapper {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-color: #8c877b #f3efe6;
}
:root body dialog.comparison-modal .comparison-table-wrapper:focus-visible { outline: 3px solid var(--rf-focus); outline-offset: -3px; }
:root body .comparison-table {
    width: 100%;
    min-width: 900px;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--rf-text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.4;
}
:root body .comparison-table th {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    padding: 14px 16px;
    border-bottom: 1px solid #000;
    background: var(--rf-ink);
    color: var(--rf-brass-light);
    font-family: var(--font-heading);
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: .12em;
    text-align: start;
    text-transform: uppercase;
    white-space: nowrap;
}
:root body .comparison-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--rf-soft-line);
    background: var(--rf-paper);
    color: var(--rf-text);
    text-align: start;
    vertical-align: top;
}
:root body .comparison-table tbody tr:nth-child(even) td { background: #faf6ee; }
:root body .comparison-table tbody tr:hover td { background: #f3ecdd; }
/* Prices: right-aligned, tabular, one unbreakable line per amount. */
:root body .comparison-table .price-col { text-align: end; white-space: nowrap; }
:root body .comparison-table :is(.price-strike, .price-actual) { display: block; white-space: nowrap; font-variant-numeric: tabular-nums; }
:root body .comparison-table .price-strike {
    color: #6a6b62;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: line-through;
    text-decoration-color: #b3261e;
    text-decoration-thickness: 1.5px;
}
:root body .comparison-table .price-actual { margin-top: 2px; color: var(--rf-ink); font-family: var(--font-heading); font-size: 17.5px; font-weight: 700; }
/* Bike name stays pinned while phones scroll the rest of the row. */
:root body .comparison-table :is(th, td):first-child {
    position: sticky;
    inset-inline-start: 0;
    min-width: 168px;
    box-shadow: inset -1px 0 0 var(--rf-soft-line);
}
html[dir=rtl] body .comparison-table :is(th, td):first-child { box-shadow: inset 1px 0 0 var(--rf-soft-line); }
:root body .comparison-table th:first-child { z-index: 3; }
:root body .comparison-table td:first-child { z-index: 1; }
:root body .comparison-table .bike-name { color: var(--rf-ink); font-family: var(--font-heading); font-size: 17px; font-weight: 700; }
:root body .comparison-table .bike-type { min-width: 170px; }
:root body .comparison-table .bike-best-for { min-width: 260px; max-width: 380px; }
/* Edge cue only where columns are really hidden (comparison.js). */
:root body dialog.comparison-modal .modal-content::after {
    content: "";
    position: absolute;
    inset-block: 64px 0;
    inset-inline-end: 0;
    width: 44px;
    background: linear-gradient(to right, rgba(255,253,248,0), rgba(255,253,248,.96));
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease;
}
html[dir=rtl] body dialog.comparison-modal .modal-content::after { background: linear-gradient(to left, rgba(255,253,248,0), rgba(255,253,248,.96)); }
:root body dialog.comparison-modal .modal-content:has(.comparison-table-wrapper.has-more-end)::after { opacity: 1; }
:root body .comparison-table-wrapper.has-more-start .comparison-table :is(th, td):first-child { box-shadow: inset -1px 0 0 var(--rf-line), 10px 0 14px -10px rgba(23,24,22,.35); }
html[dir=rtl] body .comparison-table-wrapper.has-more-start .comparison-table :is(th, td):first-child { box-shadow: inset 1px 0 0 var(--rf-line), -10px 0 14px -10px rgba(23,24,22,.35); }

/* ------------------------------------------------------------------ */
/* 14. Floating controls, exit offer                                    */
/* ------------------------------------------------------------------ */
:root body .mobile-whatsapp-bar a { font-family: var(--font-heading); font-weight: 700; letter-spacing: .02em; }
:root body .mobile-whatsapp-bar { background: var(--rf-green); }
:root body .mobile-whatsapp-bar a:hover { background: var(--rf-green-hover); }
:root body :is(.exit-title, .exit-subtitle) { font-family: var(--font-heading); font-weight: 800; letter-spacing: -.01em; }
:root body .exit-text { font-size: 17px; line-height: 1.5; }
:root body :is(.offer-teaser-open, .social-proof-name) { font-family: var(--font-heading); font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 15. Responsive composition                                           */
/* ------------------------------------------------------------------ */
@media (max-width: 1023px) {
    :root body #section-faq :is(.included-grid, .guarantees-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    :root body #section-trust .testimonials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    :root body :is(#section-calculator, #section-trust, #section-faq) { padding-block: 16px 40px; }
    :root body .progress-indicator { gap: 6px; padding-inline: 56px; }
    :root body .progress-line { width: 14px; }
    :root body .progress-step { width: 32px; height: 32px; font-size: 14px; }
    :root body .progress-label { font-size: 12.5px; letter-spacing: .1em; }
    :root body #section-calculator .calculator-card { padding: 16px; border-radius: 12px; }
    :root body #section-calculator .calc-bike-header { grid-template-columns: 116px minmax(0, 1fr); gap: 12px 14px; margin-bottom: 16px; padding-bottom: 16px; }
    :root body #section-calculator .calc-bike-name { font-size: 22px; }
    :root body #section-calculator .calc-instruction { font-size: 19px; }
    :root body #section-calculator .calc-date-row { grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); gap: 6px; }
    :root body #section-calculator .calc-date-field { max-width: none; }
    :root body #section-calculator .calc-date-input { min-height: 52px; padding-block: 10px; padding-inline: 10px 34px; font-size: 15px; }
    :root body #section-calculator .calc-calendar-icon { inset-inline-end: 9px; width: 19px; height: 19px; }
    :root body #section-calculator .calc-date-arrow { width: 20px; height: 52px; }
    :root body #section-calculator .calc-date-arrow svg { width: 18px; height: 18px; }
    :root body #section-calculator .urgency-banner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding: 10px 12px 10px 10px; font-size: 16px; }
    :root body #section-calculator .urgency-go { display: none; }
    :root body #section-calculator .urgency-icon { width: 36px; height: 36px; }
    :root body #section-calculator .urgency-timer { min-width: 58px; font-size: 17px; }
    :root body #section-trust .testimonials-grid { grid-template-columns: minmax(0, 1fr); }
    :root body #section-faq .process-steps { grid-template-columns: minmax(0, 1fr); gap: 26px; max-width: 460px; margin-inline: auto; }
    :root body #section-faq .process-step {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-areas: "icon title" "icon time";
        align-items: center;
        justify-items: start;
        column-gap: 16px;
        padding: 0;
        text-align: start;
    }
    :root body #section-faq .step-icon { grid-area: icon; width: 64px; height: 64px; margin: 0; border-radius: 17px; }
    :root body #section-faq .step-icon .rental-line-icon { width: 32px; height: 32px; }
    :root body #section-faq .step-title { grid-area: title; align-self: end; margin: 0 0 4px; }
    :root body #section-faq .step-time { grid-area: time; align-self: start; }
    :root body #section-faq .process-step:not(:last-child)::after {
        inset-block: 70px -22px;
        inset-inline-start: 31px;
        inset-inline-end: auto;
        width: 2px;
        height: auto;
        background: repeating-linear-gradient(180deg, var(--rf-brass) 0 8px, transparent 8px 14px);
        transform-origin: center top;
    }
    :root body #section-faq .faq-question { font-size: 17px; padding-inline-start: 16px; }
    :root body #section-faq .faq-answer > p { padding-inline: 16px; font-size: 16.5px; }
    :root body .footer .footer-quick-links .btn { flex: 1 1 auto; }
    :root body .comparison-table { min-width: 780px; font-size: 15.5px; }
    :root body .comparison-table :is(th, td):first-child { min-width: 124px; max-width: 136px; }
    :root body .comparison-table :is(th, td) { padding: 12px 12px; }
    :root body dialog.comparison-modal .modal-title { padding: 18px 72px 14px 16px; font-size: 23px; }
}
@media (max-width: 480px) {
    :root body #section-faq :is(.included-grid, .guarantees-grid) { grid-template-columns: minmax(0, 1fr); }
    :root body #section-faq .included-item { flex-direction: row; align-items: center; }
}
@media (max-width: 359px) {
    :root body #section-calculator .calc-bike-header { grid-template-columns: 96px minmax(0, 1fr); }
    :root body #section-calculator .calc-date-input { font-size: 14px; padding-inline: 8px 30px; }
}

/* ------------------------------------------------------------------ */
/* 16. Motion — visible, purposeful, reduced-motion safe                */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
    /* Section reveals (landing-motion.js adds .reveal-pending only after it
       proves an element is off-screen, so first paint never waits on JS). */
    :root body [data-reveal] {
        transition:
            opacity 520ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms),
            translate 680ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms),
            transform 240ms var(--rf-ease-out),
            box-shadow 240ms ease,
            border-color 200ms ease;
    }
    :root body [data-reveal].reveal-pending { opacity: 0; translate: 0 26px; transition: none; }
    /* Icons draw on as their card arrives (every sprite shape has pathLength=1). */
    :root body [data-reveal].is-entering :is(.benefit-icon, .step-icon, .included-icon, .guarantee-icon, .quick-faq-icon) .rental-line-icon {
        stroke-dasharray: 1 2;
        animation: rf-icon-draw 900ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms + 160ms) both;
    }
    :root body [data-reveal].is-entering :is(.benefit-icon, .step-icon, .guarantee-icon) {
        animation: rf-badge-stamp 520ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms + 60ms) both;
    }
    :root body #section-trust .benefit-card.is-entering::before {
        animation: rf-rule-draw 640ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms + 200ms) both;
    }
    :root body #section-faq .process-step.is-entering:not(:last-child)::after {
        animation: rf-road-draw 700ms var(--rf-ease-out) calc(var(--reveal-i, 0) * 85ms + 320ms) both;
    }
    @media (max-width: 767px) {
        :root body #section-faq .process-step.is-entering:not(:last-child)::after { animation-name: rf-road-draw-y; }
    }
    /* Gated steps enter on activation (never the first-paint inventory). */
    :root body :is(#section-calculator, #section-trust, #section-faq).active {
        transition: opacity 420ms var(--rf-ease-out), transform 520ms var(--rf-ease-out);
    }
    @starting-style {
        :root body :is(#section-calculator, #section-trust, #section-faq).active { opacity: 0; transform: translateY(18px); }
    }
    :root body :is(#section-trust, #section-faq).active .section-title::before { animation: rf-rule-draw 700ms var(--rf-ease-out) 180ms both; }
    :root body .funnel-section.active .progress-step.active { animation: rf-step-pop 520ms var(--rf-ease-out) 120ms both; }
    :root body .funnel-section.active .progress-line.completed { animation: rf-rule-draw 520ms var(--rf-ease-out) both; }
    /* Calculator: prompt breathes, loading shimmers, a ready quote cascades. */
    :root body #pricingDisplay[data-quote-state=idle] .calc-status-icon { animation: rf-nudge 2.8s ease-in-out 600ms 2; }
    :root body #pricingDisplay[data-quote-state=loading]::after {
        background-image:
            linear-gradient(100deg, rgba(255,253,248,0) 35%, rgba(255,253,248,.38) 50%, rgba(255,253,248,0) 65%),
            linear-gradient(#e9e2d4, #e9e2d4),
            linear-gradient(#e9e2d4, #e9e2d4),
            linear-gradient(#e9e2d4, #e9e2d4),
            linear-gradient(#2c2d29, #2c2d29);
        background-size: 220% 100%, 42% 14px, 26% 14px, 34% 14px, 100% 40px;
        background-position: 120% 0, 20px 22px, right 20px top 22px, 20px 56px, 0 88px;
        background-repeat: no-repeat;
        animation: rf-shimmer 1.2s linear infinite;
    }
    :root body #pricingDisplay[data-quote-state=ready] .calc-duration.active { animation: rf-chip-in 360ms var(--rf-ease-out) both; }
    /* Prices never fade: price-bearing rows arrive by movement only, so every
       amount is fully legible from its first painted frame. */
    :root body #pricingDisplay[data-quote-state=ready] :is(.calc-price-market, .calc-savings-section, .calc-price-yours, .calc-promo) {
        animation: rf-rise 440ms var(--rf-ease-out) both;
    }
    :root body #pricingDisplay[data-quote-state=ready] .calc-price-yours::before {
        content: "";
        position: absolute;
        inset-block: -1px;
        inset-inline-start: -4px;
        width: 4px;
        border-start-start-radius: 11px;
        border-end-start-radius: 11px;
        background: var(--rf-brass-light);
        transform-origin: center top;
        animation: rf-spine 520ms var(--rf-ease-out) 180ms both;
    }
    :root body #pricingDisplay[data-quote-state=ready] .calc-savings-section { animation-delay: 70ms; }
    :root body #pricingDisplay[data-quote-state=ready] .calc-price-yours { animation-delay: 140ms; }
    :root body #pricingDisplay[data-quote-state=ready] .calc-promo { animation-delay: 210ms; }
    :root body #pricingDisplay.is-nudged .calc-duration { animation: rf-shake 520ms var(--rf-ease) both; }
    /* Booking CTAs light up once a real quote exists. */
    :root body #section-calculator .urgency-banner::after {
        content: "";
        position: absolute;
        inset: -40% auto -40% -30%;
        z-index: -1;
        width: 26%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
        transform: skewX(-18deg) translateX(-120%);
        pointer-events: none;
    }
    :root body #section-calculator .urgency-banner[aria-disabled=false]::after { animation: rf-sheen 5.5s var(--rf-ease) 400ms infinite; }
    :root body #section-calculator .urgency-banner[aria-disabled=false] .urgency-icon { animation: rf-charge 700ms var(--rf-ease-out) 200ms both; }
    :root body #section-calculator #startBookingBtn[aria-disabled=false] { animation: rf-ready 560ms var(--rf-ease-out) both; }
    /* Tactile hover depth where a fine pointer exists. */
    @media (hover: hover) and (pointer: fine) {
        :root body :is(.btn-primary, .btn-gold, .whatsapp-btn):not(.bike-card-buttons .btn):hover { transform: translateY(-1px); }
        :root body #section-trust .benefit-card:hover { transform: translateY(-4px); border-color: #b69b61; box-shadow: 0 1px 0 #fff inset, 0 22px 34px -24px rgba(35,27,9,.55); }
        :root body #section-trust .benefit-card:hover .benefit-icon { background: #2a2b26; }
        :root body #section-trust .testimonial-card:hover { border-color: #c9b98f; }
        :root body #section-faq .included-item:hover .included-icon { border-color: var(--rf-brass); color: var(--rf-ink); }
        :root body #section-faq .step-icon { transition: transform 260ms var(--rf-ease-out); }
        :root body #section-faq .process-step:hover .step-icon { transform: translateY(-3px) rotate(-2deg); }
    }
    /* Dialog: same 320ms entrance family as the accepted bike dialog. */
    :root body dialog.comparison-modal[open] .modal-content { animation: rf-dialog-in 320ms var(--rf-ease-out) both; }
    :root body dialog.comparison-modal[open]::backdrop { animation: rf-fade 240ms ease both; }
    :root body dialog.comparison-modal[open] tbody tr { animation: rf-row-in 380ms var(--rf-ease-out) calc(var(--row, 0) * 24ms + 120ms) both; }
    :root body dialog.comparison-modal .modal-content:has(.comparison-table-wrapper.has-more-end)::after { animation: rf-edge-pulse 1.6s ease-in-out 700ms 2; }

    @keyframes rf-icon-draw { from { stroke-dashoffset: 1.05; } to { stroke-dashoffset: 0; } }
    @keyframes rf-badge-stamp { from { transform: scale(.82) rotate(-6deg); } to { transform: none; } }
    @keyframes rf-rule-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    @keyframes rf-road-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    @keyframes rf-road-draw-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }
    @keyframes rf-step-pop { 0% { transform: scale(.7); } 60% { transform: scale(1.08); } 100% { transform: scale(1); } }
    @keyframes rf-nudge { 0%, 70%, 100% { transform: none; } 78% { transform: translateY(-3px) rotate(-6deg); } 86% { transform: translateY(0) rotate(4deg); } }
    @keyframes rf-shimmer { from { background-position: 120% 0, 20px 22px, right 20px top 22px, 20px 56px, 0 88px; } to { background-position: -120% 0, 20px 22px, right 20px top 22px, 20px 56px, 0 88px; } }
    @keyframes rf-chip-in { from { opacity: 0; transform: translateY(6px) scale(.96); } to { opacity: 1; transform: none; } }
    @keyframes rf-rise { from { transform: translateY(14px); } to { transform: none; } }
    @keyframes rf-spine { from { transform: scaleY(0); } to { transform: scaleY(1); } }
    @keyframes rf-shake { 0%, 100% { transform: none; } 20% { transform: translateX(-6px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }
    @keyframes rf-sheen { 0% { transform: skewX(-18deg) translateX(-120%); } 22%, 100% { transform: skewX(-18deg) translateX(560%); } }
    @keyframes rf-charge { 0% { transform: scale(1); color: #ffe08a; } 40% { transform: scale(1.14); color: #fff; } 100% { transform: scale(1); color: #ffe08a; } }
    @keyframes rf-ready { 0% { transform: scale(.97); } 55% { transform: scale(1.025); } 100% { transform: none; } }
    @keyframes rf-dialog-in { from { opacity: 0; transform: translateY(28px) scale(.985); } to { opacity: 1; transform: none; } }
    @keyframes rf-fade { from { opacity: 0; } to { opacity: 1; } }
    @keyframes rf-row-in { from { transform: translateY(10px); } to { transform: none; } }
    @keyframes rf-edge-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
}
@media (prefers-reduced-motion: reduce) {
    /* Final states, immediately; the base bundle also disables transitions. */
    :root body [data-reveal],
    :root body [data-reveal].reveal-pending { opacity: 1; translate: none; transform: none; transition: none; }
    :root body :is(.rental-line-icon, .benefit-icon, .step-icon, .guarantee-icon) { animation: none; stroke-dasharray: none; }
    :root body #section-faq :is(.faq-answer, .faq-answer > p, .faq-icon, .faq-icon-v) { transition: none; }
    :root body #pricingDisplay.is-nudged .calc-duration { outline: 3px solid var(--rf-focus); outline-offset: 2px; }
}

/* Canonical bike descriptions contain approved paragraph breaks. The modal
   must display them after both SSR catalog load and locale hydration. */
:root body #bikeDetailModal .bike-detail-description { white-space: pre-line; }

/* EREBORA_RENTAL_PLAN.md: October 2 hero copy is always visually uppercase.
   Keep canonical/localized wording intact; scope every current/future hero
   descendant so translations and rotating reviews retain the same treatment. */
#section-hero,
#section-hero * {
    text-transform: uppercase;
}

/* WHY: the uppercase MOTORBIKE is wider than the mobile title/video column
   (390px proof: ~189px word, ~154px column). Shrinking cannot also preserve
   readable long locale compounds at 320px. Give only the H1 a full-width row;
   keep the kicker beside the unchanged video, then the same trust/review rows.
   Retain locale-aware hyphenation and the existing emergency word wrapping. */
@media (max-width: 767px) {
    :root body #section-hero .section-content {
        grid-template-areas: "headline headline" "kicker video" "trust trust" "review review";
    }
    :root body #section-hero .hero-title { display: contents; }
    :root body #section-hero .headline { grid-area: headline; }
    :root body #section-hero .kicker { grid-area: kicker; }
}

/* EREBORA_RENTAL_PLAN.md: preserve uppercase while restoring the accepted
   mobile title/kicker/video grouping. R1 split MOTORBIKE; R2 stranded the H1
   above its supporting copy. A slightly narrower video and modest title size
   reserve whole English words without changing the photo or desktop hero. */
@media (max-width: 767px) {
    :root body #section-hero { --mobile-video-width: clamp(128px, 40vw, 230px); }
    :root body #section-hero .section-content {
        grid-template-areas: "title video" "trust trust" "review review";
    }
    :root body #section-hero .hero-title { display: block; }
    :root body #section-hero .headline {
        grid-area: auto;
        font-size: min(30px, 7.8vw);
    }
    :root body #section-hero .kicker { grid-area: auto; }
    :root body #section-hero .trust-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    :root body #section-hero .trust-item:last-child { grid-column: 1 / -1; }
    /* Uppercase takes more room: retain the full real review at narrow widths. */
    :root body #section-hero .hero-testimonial-text { display: block; overflow: visible; -webkit-line-clamp: unset; }
}

/* Keep the uppercase title grouped beside the video at actual phone viewport
   widths. Reserve room for two English lines at390px without shrinking body copy. */
@media (max-width: 767px) {
    :root body #section-hero { --mobile-video-width: clamp(128px, 38vw, 230px); }
    :root body #section-hero .headline { font-size: min(30px, 7.5vw); }
}

/* Public rental visual polish, 2026-10-03.
 * WHY: the owner asked for clearer boundaries without losing the accepted
 * cream/ink/brass layout. Strong edges identify controls and major surfaces;
 * quieter dividers group content. Never change card hit regions or media here.
 * Plan: EREBORA_RENTAL_PLAN.md, Public rental visual audit (3 October).
 */
:root body {
    --rf-edge: #928673;
    --rf-line: #aa9d86;
    --rf-soft-line: #c5bba8;
}
:root body .bike-card { border-color: var(--rf-edge); }
:root body :is(.benefit-card, .testimonial-card, .calculator-card,
    .included-section, .guarantees-section) { border-color: var(--rf-edge); }
:root body #section-faq .faq-item { border-color: var(--rf-edge); }
:root body #section-faq .faq-item.open {
    border-color: #80601d;
    box-shadow: inset 3px 0 0 #80601d, 0 12px 24px -22px rgba(35,27,9,.45);
}
html[dir=rtl] body #section-faq .faq-item.open {
    box-shadow: inset -3px 0 0 #80601d, 0 12px 24px -22px rgba(35,27,9,.45);
}
/* 320px: symmetric 56px padding forced step 4 onto a separate line.
 * Reserve the Back control's side, keep all four steps together. */
@media (max-width: 359px) {
    :root body .progress-indicator { padding-inline: 52px 0; gap: 4px; }
    :root body .progress-step { width: 28px; height: 28px; flex: 0 0 28px; }
    :root body .progress-line { width: 10px; flex: 0 0 10px; }
    :root body .progress-label { letter-spacing: .06em; }
}
:root body :is(.faq-icon, .modal-close) { border-color: #827c70; }
:root body #section-faq .faq-item.open .faq-icon { border-color: #171816; }
:root body #bikeDetailModal {
    --detail-line: #b9ae98;
}
:root body #bikeDetailModal > .modal-content { border-color: #928673; }
:root body #bikeDetailModal .modal-close { border-color: #827c70; }

/* The old inner 900px cap left the 1040px desktop dialog off-centre and
 * wasted comparison space. Keep one scroll area and the pinned bike column. */
:root body dialog.comparison-modal .modal-content {
    width: 100%;
    max-width: none;
    border-color: #928673;
}
:root body dialog.comparison-modal .modal-title { min-height: 76px; }
:root body .comparison-table td { border-bottom-color: #b9ae98; }
:root body .comparison-table :is(th, td):first-child {
    box-shadow: inset -1px 0 0 #928673;
}
html[dir=rtl] body .comparison-table :is(th, td):first-child {
    box-shadow: inset 1px 0 0 #928673;
}

/* UI-only chat polish. Message generation, suggestions, manager handoff and
 * send handlers remain owned by the existing chat modules. */
:root body #claudeSplitScreen :is(.claude-split-input,
    .claude-split-close, .suggestion-btn) { border-color: #827c70; }
:root body #claudeSplitScreen :is(.claude-split-header,
    .claude-split-input-container) { border-color: #aa9d86; }
:root body #claudeSplitScreen .claude-split-send {
    color: #231b09;
    border: 1px solid #8f6f24;
}
:root body #claudeSplitScreen :is(button,input):focus-visible {
    outline: 3px solid #245bb2;
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    :root body .bike-card:hover { border-color: #80601d; }
    :root body #section-faq .faq-item:hover { border-color: #80601d; }
    :root body #claudeSplitScreen .suggestion-btn:hover {
        border-color: #80601d;
        background: #f3ecdd;
    }
}
@media (prefers-reduced-motion: no-preference) {
    /* Content is legible from the first frame. Motion resolves the new state,
     * without fading the whole comparison surface over the bikes beneath it. */
    :root body dialog.comparison-modal[open] .modal-content {
        animation: rental-panel-settle 240ms cubic-bezier(.16,1,.3,1) both;
    }
    :root body [data-reveal] {
        transition-duration: 240ms, 360ms, 240ms, 200ms, 160ms;
        transition-delay: calc(min(var(--reveal-i, 0), 3) * 45ms);
    }
    @keyframes rental-panel-settle {
        from { transform: translateY(12px) scale(.992); }
        to { transform: none; }
    }
}
@media (prefers-reduced-motion: reduce) {
    :root body dialog.comparison-modal[open] .modal-content { animation: none; }
}

/* Dark footer actions need an edge distinct from both their fill and backdrop. */
:root body .footer .footer-quick-links .btn:not(.whatsapp-btn) { border-color: #8f8267; }
:root body .footer .social-links a { border-color: #8f8267; }

/* WHY: Back remains physically left in accepted RTL layouts. Logical start
 * padding reserved the right, overlapping step4 at320px. Reserve Back's actual
 * side; keep the reversed step order and existing button position. */
@media (max-width: 359px) {
    html[dir=rtl] body .progress-indicator { padding-inline: 0 52px; }
}
