/* ============ TOKENS ============ */
:root{
  --g:#1B3A0D; --g2:#254F12; --g3:#0D1F07;
  --o:#E8941A; --o2:#C4780E; --o3:#F5A832;
  --cr:#F5EFE0; --iv:#F0EAD9; --wh:#FAFAF7;
  --dk:#0D0D08; --dk2:#1A1A12; --dk3:#252518;
  --st:#7A7360; --muted:rgba(245,239,224,.45);
  --border:rgba(245,239,224,.1);
  --border-dk:rgba(27,58,13,.1);
  --radius:2px;
  --font-disp:'Cormorant Garamond',serif;
  --font-ui:'Syne',sans-serif;
  --font-mono:'DM Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease2:cubic-bezier(.4,0,.2,1);
}

/* ============ MULTILINGUAL DISPLAY LOGIC ============ */
.lang-en { display: none; }
.lang-it { display: contents; }
body.is-en .lang-it { display: none; }
body.is-en .lang-en { display: contents; }

.lang-switch { display: flex; align-items: center; gap: 0.5rem; }
.lang-switch button.lang-btn { 
  background: transparent; border: none; border-bottom: 1px solid transparent; 
  padding: 10px; min-width: 44px; min-height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.75rem; color: var(--cr); cursor: pointer; opacity: 0.8; transition: all 0.3s; letter-spacing: 0.1em;
}
.lang-switch button.lang-btn.active { opacity: 1; font-weight: 700; border-bottom-color: var(--o); }
.lang-switch-sep { color: rgba(245,239,224,0.4); font-size: 0.8rem; pointer-events: none; }

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-ui);background:var(--wh);color:var(--dk);overflow-x:hidden;cursor:default}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

/* Accessibilità tastiera */
a:focus-visible, button:focus-visible { outline: 2px solid var(--o); outline-offset: 4px; border-radius: var(--radius); }

/* ============ CUSTOM CURSOR ============ */
.cursor{position:fixed;width:10px;height:10px;background:var(--o);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s var(--ease),width .3s var(--ease),height .3s var(--ease),background .3s;mix-blend-mode:multiply}
.cursor.big{width:44px;height:44px;background:rgba(232,148,26,.2)}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--o);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .12s var(--ease2),top .12s var(--ease2)}

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--dk)}
::-webkit-scrollbar-thumb{background:var(--o)}

/* ============ GLOBAL TYPOGRAPHY ============ */
.label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:.7rem}
.label::before{content:'';display:inline-block;width:28px;height:1px;background:currentColor;flex-shrink:0}
h1.display{font-family:var(--font-disp);font-size:clamp(3.5rem,8vw,9rem);font-weight:300;line-height:.92;letter-spacing:-.02em}
h2.display{font-family:var(--font-disp);font-size:clamp(2.8rem,6vw,7rem);font-weight:300;line-height:.9;letter-spacing:-.02em}
.em{font-style:italic;font-weight:600}
.mono{font-family:var(--font-mono)}

/* ============ UTILITY ============ */
.container{max-width:1400px;margin:0 auto;padding:0 3rem}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-x{opacity:0;transform:translateX(-40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal-x.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2.2rem;font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;transition:all .3s var(--ease);cursor:pointer;border:none}
.btn-amber{background:var(--o);color:var(--dk)}
.btn-amber:hover{background:var(--o3);transform:translateY(-2px);box-shadow:0 14px 40px rgba(232,148,26,.35)}
.btn-outline{border:1.5px solid var(--border);color:var(--cr)}
.btn-outline:hover{border-color:var(--o);color:var(--o)}
.btn-dk{border:1.5px solid var(--border-dk);color:var(--g)}
.btn-dk:hover{background:var(--g);color:var(--cr)}

/* ============ NAV ============ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 3rem;
  transition:background .5s,backdrop-filter .5s,padding .4s;
}
#nav.scrolled{background:rgba(13,13,8,.88);backdrop-filter:blur(20px);padding:1rem 3rem}

.nav-logo {display:flex;align-items:center;gap:0.8rem}
.nav-logo .logo-icon {height:40px;width:auto;filter:invert(1) brightness(10);transition:height .3s}
.nav-logo .logo-text {height:22px;width:auto;filter:invert(1) brightness(10);transition:height .3s}

.nav-links{display:flex;align-items:center;gap:2.5rem}
.nav-links a{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,239,224,.6);transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--o);transition:width .3s}
.nav-links a:hover{color:var(--cr)}.nav-links a:hover::after{width:100%}
.nav-links a.active {color: var(--cr);}
.nav-links a.active::after {width: 100%;}
.nav-right-actions { display:flex; align-items:center; gap: 1.5rem; }
.nav-cta{background:var(--o);color:var(--dk);padding:.55rem 1.4rem;border-radius:99px;font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:all .3s;white-space:nowrap; display:flex; align-items:center; justify-content:center; gap:0.5rem; min-height: 44px;}
.nav-cta:hover{background:var(--o3);transform:translateY(-1px)}
.nav-page-indicator{font-family:var(--font-mono);font-size:.6rem;color:rgba(245,239,224,.4);letter-spacing:.15em;text-transform:uppercase}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;min-width:48px;min-height:48px;background:none;border:none;align-items:center;justify-content:center;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--cr);transition:all .3s}

/* ============ MOBILE NAV ============ */
.mobile-menu{display:none;position:fixed;inset:0;background:var(--dk);z-index:490;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--font-disp);font-size:3.5rem;font-style:italic;font-weight:300;color:var(--cr);transition:color .2s}
.mobile-menu a:hover{color:var(--o)}
.mobile-close{
  position:absolute;top:1rem;right:1.5rem;color:var(--cr);font-size:2.5rem;cursor:pointer;background:none;border:none;line-height:1;
  padding: 10px; min-width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: center;
}

/* ============ PAGE SYSTEM ============ */
.page{display:none;min-height:100vh}
.page.active{display:block}

/* ============================================================
   PAGE 1: HOME
   ============================================================ */
.hero{
  height:100vh;min-height:700px;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 3rem 5rem;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('img/copertina.webp') center/cover no-repeat;
  background-color: #252518;
  transform:scale(1.05);
  transition:transform 8s ease;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top, rgba(13,13,8,.9) 0%, rgba(13,13,8,.3) 50%, rgba(13,13,8,.1) 100%);
}
.hero.loaded .hero-bg{transform:scale(1)}
.hero-meta{
  position:absolute;top:50%;right:3rem;
  transform:translateY(-50%);
  display:flex;flex-direction:column;gap:2rem;
  border-left:1px solid var(--border);
  padding-left:1.5rem;
  z-index:2;
}
.hero-meta-item .n{font-family:var(--font-disp);font-size:3rem;font-weight:600;font-style:italic;color:var(--cr);line-height:1}
.hero-meta-item .n em{color:var(--o);font-style:normal}
.hero-meta-item .l{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;color:rgba(245,239,224,.6);text-transform:uppercase;margin-top:.2rem}
.hero-content{position:relative;z-index:2;max-width:860px}
.hero-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--o);margin-bottom:2rem}
.hero h1{font-family:var(--font-disp);font-size:clamp(4rem,9vw,10rem);font-weight:300;line-height:.88;color:var(--cr);letter-spacing:-.03em;margin-bottom:2rem}
.hero h1 em{font-style:italic;font-weight:600;color:var(--o)}
.hero-sub{font-family:var(--font-ui);font-size:.95rem;font-weight:300;color:rgba(245,239,224,.6);line-height:1.75;max-width:440px;margin-bottom:3rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:2}
.hero-scroll span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;color:rgba(245,239,224,.6);text-transform:uppercase}
.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom, rgba(245,239,224,.6), transparent);animation:scrollPulse 2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* MISSION & VERBS */
.mission{background:var(--cr);padding:8rem 3rem;position:relative;overflow:hidden}
.mission-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:8rem;align-items:center}
.mission-label{color:var(--g)}
.mission-title{font-family:var(--font-disp);font-size:clamp(3rem,5.5vw,5.5rem);font-weight:300;color:var(--g);line-height:.92;letter-spacing:-.02em;margin-top:1.5rem}
.mission-title em{font-style:italic;font-weight:600;color:var(--o2)}
.mission-coords{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:rgba(27,58,13,.4);margin-top:1.5rem}
.mission-quote{font-family:var(--font-disp);font-size:clamp(1.1rem,1.8vw,1.5rem);font-style:italic;font-weight:300;color:var(--dk);line-height:1.8;border-left:3px solid var(--o);padding-left:2rem;margin-bottom:1.5rem}
.mission-author{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--st);text-transform:uppercase;padding-left:2rem}
.mission-deco{position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:400px;height:400px;border-radius:50%;border:1px dashed rgba(27,58,13,.15);pointer-events:none}

.verbs{background:var(--g3);padding:8rem 3rem;position:relative;overflow:hidden}
.verbs-top{max-width:1400px;margin:0 auto 5rem}
.verbs-top .label{color:var(--o)}
.verbs-top h2{font-family:var(--font-disp);font-size:clamp(3rem,6vw,6.5rem);font-weight:300;color:var(--cr);margin-top:1.2rem;line-height:.92}
.verbs-top h2 em{font-style:italic;font-weight:600;color:var(--o)}
.verbs-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.06)}
.verb-card{background:transparent;padding:4rem 3rem;position:relative;overflow:hidden;transition:background .4s;cursor:default}
.verb-card:hover{background:rgba(255,255,255,.04)}
.verb-num{font-family:var(--font-disp);font-size:9rem;font-weight:700;font-style:italic;color:rgba(255,255,255,.03);position:absolute;top:-1.5rem;right:1rem;line-height:1;pointer-events:none;transition:color .4s}
.verb-card:hover .verb-num{color:rgba(232,148,26,.06)}
.verb-name{font-family:var(--font-disp);font-size:4.5rem;font-weight:600;font-style:italic;color:var(--o);line-height:1;margin-bottom:.4rem}
.verb-title{font-family:var(--font-ui);font-size:.85rem;font-weight:700;color:var(--cr);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.5rem}
.verb-body{color:rgba(245,239,224,.6);font-size:.9rem;line-height:1.8;font-weight:300}
.verb-arrow{position:absolute;bottom:3rem;right:3rem;color:var(--o);font-size:1.4rem;opacity:0;transform:translate(-6px,6px);transition:all .4s var(--ease)}
.verb-card:hover .verb-arrow{opacity:1;transform:none}

/* EXPERIENCES PREVIEW */
.exp-preview{background:var(--iv);padding:8rem 3rem}
.exp-preview-top{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.exp-preview-top h2{font-family:var(--font-disp);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;color:var(--g);line-height:.92}
.exp-preview-top h2 em{font-style:italic;font-weight:600;color:var(--o2)}
.exp-cards{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.exp-card{background:var(--cr);border:1px solid var(--border-dk);border-radius:var(--radius);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s;cursor:pointer}
.exp-card:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(27,58,13,.12)}
.exp-card-img{height:260px;overflow:hidden;position:relative;background-size:cover;background-position:center;transition:transform .7s var(--ease);}
.exp-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.exp-card:hover .exp-card-img{transform:scale(1.06)}
.exp-card:hover .exp-card-img img{transform:scale(1.06)}
.exp-card-tag{position:absolute;top:1rem;left:1rem;background:var(--o);color:var(--dk);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:99px;font-weight:500}
.exp-card-body{padding:2rem}
.exp-card-price{font-family:var(--font-disp);font-size:3rem;font-weight:600;font-style:italic;color:var(--g);line-height:1;margin-bottom:.4rem}
.exp-card-price small{font-size:1.2rem;color:var(--o2);font-style:normal;font-family:var(--font-mono)}
.exp-card-dur{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--st);text-transform:uppercase;margin-bottom:1rem}
.exp-card h3{font-family:var(--font-disp);font-size:1.8rem;font-style:italic;font-weight:600;color:var(--g);margin-bottom:.6rem}
.exp-card p{color:var(--st);font-size:.88rem;line-height:1.7;font-weight:300}
.exp-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--border-dk)}
.exp-card-incl{font-family:var(--font-mono);font-size:.6rem;color:var(--st);letter-spacing:.08em}

/* VIDEO & GALLERY */
.video-section{background:var(--dk);padding:8rem 3rem;position:relative;overflow:hidden}
.video-inner{max-width:1200px;margin:0 auto}
.video-top{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-bottom:5rem}
.video-top .label{color:var(--o)}
.video-top h2{font-family:var(--font-disp);font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:300;color:var(--cr);margin-top:1.2rem;line-height:.92}
.video-top h2 em{font-style:italic;font-weight:600;color:var(--o)}
.video-top p{color:rgba(245,239,224,.6);font-size:.9rem;line-height:1.8;font-weight:300;margin-top:1.5rem}
.video-frame{position:relative;padding-bottom:56.25%;border-radius:var(--radius);overflow:hidden;background:var(--dk2);border:1px solid var(--border)}
.video-frame iframe, .video-frame video{position:absolute;inset:0;width:100%;height:100%;border:none;object-fit:cover;background:#000}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;cursor:pointer;background:linear-gradient(135deg,var(--dk2),var(--dk3))}
.video-play{width:72px;height:72px;border:1.5px solid rgba(245,239,224,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;background:rgba(232,148,26,.1)}
.video-play:hover{border-color:var(--o);background:rgba(232,148,26,.2);transform:scale(1.06)}
.video-play-icon{width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:22px solid var(--o);margin-left:4px}
.video-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:rgba(245,239,224,.6);text-transform:uppercase}

.photo-row{background:var(--g3);display:grid;grid-template-columns:1.4fr .8fr .8fr;height:55vmin;min-height:320px;max-height:600px;overflow:hidden}
.photo-row .pr{overflow:hidden;position:relative;background-size:cover;background-position:center;transition:transform .8s var(--ease);}
.photo-row .pr img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.photo-row .pr:hover{transform:scale(1.04)}
.photo-row .pr:hover img{transform:scale(1.04)}
.pr-label{position:absolute;bottom:1.2rem;left:1.2rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,239,224,.6);background:rgba(13,13,8,.6);padding:.3rem .65rem;border-radius:99px;backdrop-filter:blur(4px)}

.vision-strip{background:var(--o);padding:7rem 3rem;text-align:center;position:relative;overflow:hidden}
.vision-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-ui);font-size:18vw;font-weight:800;color:rgba(27,58,13,.06);white-space:nowrap;pointer-events:none;letter-spacing:-.05em}
.vision-strip .label{justify-content:center;color:var(--g2);opacity:.6;margin-bottom:1.5rem}
.vision-strip h2{font-family:var(--font-disp);font-size:clamp(2.8rem,6vw,6.5rem);font-style:italic;font-weight:300;color:var(--g);line-height:.92;max-width:860px;margin:0 auto 2.5rem;position:relative;z-index:1}
.vision-strip p{color:rgba(27,58,13,.6);font-size:.95rem;font-weight:300;line-height:1.8;max-width:500px;margin:0 auto 3rem;position:relative;z-index:1}
.vision-actions{display:flex;gap:1rem;justify-content:center;position:relative;z-index:1;flex-wrap:wrap}

/* ============ REVIEWS ============ */
.reviews-section { background: var(--cr); padding: 8rem 3rem; }
.reviews-top { max-width: 1400px; margin: 0 auto 4rem; text-align: center; }
.reviews-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.review-card { background: var(--wh); padding: 2.5rem; border-radius: var(--radius); border: 1px solid var(--border); transition: transform .3s var(--ease), box-shadow .3s; }
.review-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.06); border-color: rgba(232,148,26,.3); }
.review-stars { color: #FABB05; margin-bottom: 1.2rem; display: flex; gap: 0.2rem; }
.review-stars svg { width: 18px; height: 18px; fill: currentColor; }
.review-text { font-family: var(--font-ui); font-size: .95rem; line-height: 1.7; color: var(--st); font-style: italic; margin-bottom: 2rem; }
.review-author { display: flex; align-items: center; gap: 1rem; }
.review-author-img { width: 44px; height: 44px; border-radius: 50%; background: var(--g); color: var(--cr); display: flex; align-items: center; justify-content: center; font-family: var(--font-disp); font-size: 1.5rem; font-style: italic; }
.review-author-info strong { display: block; font-family: var(--font-ui); font-size: .9rem; color: var(--dk); font-weight: 700; }
.review-author-info span { font-family: var(--font-mono); font-size: .65rem; color: var(--st); letter-spacing: .05em; text-transform: uppercase; margin-top: .1rem; display: block;}

/* ============================================================
   SHARED PAGE HERO
   ============================================================ */
.page-hero{
  height:60vh;min-height:400px;
  background:var(--g3);
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;
  padding:0 3rem 5rem;
}
.page-hero-bg{position:absolute;inset:0;background:var(--g3) center/cover;opacity:.15}
.page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,8,1) 0%,rgba(13,13,8,.2) 100%)}
.page-hero-content{position:relative;z-index:2;max-width:800px}
.page-hero-content .label{color:var(--o)}
.page-hero-content h1{font-family:var(--font-disp);font-size:clamp(3rem,7vw,7rem);font-weight:300;color:var(--cr);line-height:.9;margin-top:1.2rem}
.page-hero-content h1 em{font-style:italic;font-weight:600;color:var(--o)}

/* ============================================================
   PAGE 2: NOLEGGIO
   ============================================================ */
.fleet-section{background:var(--iv);padding:7rem 0 7rem 3rem;overflow:hidden}
.fleet-top{max-width:calc(1400px);margin-bottom:4rem;padding-right:3rem}
.fleet-top .label{color:var(--g2)}
.fleet-top h2{font-family:var(--font-disp);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;color:var(--g);margin-top:1.2rem;line-height:.92}
.fleet-top h2 em{font-style:italic;font-weight:600;color:var(--o2)}
.fleet-scroll{display:flex;gap:1.2rem;overflow-x:auto;padding-right:3rem;padding-bottom:1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--o) transparent}
.fleet-scroll::-webkit-scrollbar{height:3px}
.fleet-scroll::-webkit-scrollbar-thumb{background:var(--o)}

.bike-card{
  flex-shrink:0;width:380px;scroll-snap-align:start;
  background:var(--cr);border:1px solid var(--border-dk);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s;
}
.bike-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(27,58,13,.1)}
.bike-card.featured{border-color:var(--o);background:rgba(232,148,26,.05)}
.bike-img{height:180px;background:var(--g);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bike-badge{position:absolute;top:.8rem;left:.8rem;background:var(--o);color:var(--dk);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:99px}
.bike-body{padding:1.4rem}
.bike-name{font-family:var(--font-ui);font-size:.95rem;font-weight:700;color:var(--g);margin-bottom:.4rem}
.bike-price{color:var(--o2);font-family:var(--font-mono);font-size:.82rem;font-weight:500}
.bike-price em{color:var(--st);font-style:normal;font-size:.7rem}
.bike-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.8rem}
.bike-tag{background:rgba(27,58,13,.06);color:var(--g);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;padding:.2rem .5rem;border-radius:99px}

.pricing-section{background:var(--cr);padding:7rem 3rem}
.pricing-inner{max-width:1400px;margin:0 auto}
.pricing-top{margin-bottom:4rem}
.pricing-top .label{color:var(--g2)}
.pricing-top h2{font-family:var(--font-disp);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;color:var(--g);margin-top:1.2rem;line-height:.92}
.pricing-top h2 em{font-style:italic;font-weight:600;color:var(--o2)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.price-table{width:100%;border-collapse:collapse;min-width:900px;font-size:.84rem}
.price-table th{background:var(--g);color:var(--cr);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:1rem 1.2rem;text-align:left;white-space:nowrap;font-weight:400}
.price-table td{padding:.9rem 1.2rem;border-bottom:1px solid rgba(27,58,13,.07);white-space:nowrap}
.price-table tr:hover td{background:rgba(27,58,13,.03)}
.price-table .cat{font-family:var(--font-ui);font-weight:700;color:var(--g);font-size:.88rem}
.price-table .price{font-family:var(--font-mono);color:var(--g2);font-weight:500}
.best{background:var(--o);color:var(--dk)!important;border-radius:4px;padding:.2rem .5rem;font-weight:700;display:inline-block}
.nd{color:var(--st);font-family:var(--font-mono);font-size:.72rem}
.tbd{color:var(--o2);font-family:var(--font-mono);font-size:.7rem;font-style:italic}
.table-note{margin-top:2rem;font-size:.82rem;color:var(--st);line-height:1.7;font-weight:300}
.table-note strong{color:var(--g);font-weight:600}
.table-note a{color:var(--o2);border-bottom:1px solid rgba(196,120,14,.3)}

.included-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(27,58,13,.08);margin-top:3.5rem}
.included-item{background:var(--cr);padding:2rem;text-align:center;transition:background .3s}
.included-item:hover{background:var(--iv)}
.included-icon{display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;color:var(--g)}
.included-label{font-family:var(--font-ui);font-size:.82rem;font-weight:700;color:var(--g);margin-bottom:.3rem}
.included-sub{font-family:var(--font-mono);font-size:.65rem;color:var(--st);letter-spacing:.05em}

/* ============================================================
   PAGE 3: ESPERIENZE
   ============================================================ */
.tours-section{background:var(--iv);padding:7rem 3rem}
.tours-inner{max-width:1400px;margin:0 auto}
.tour-card-big{
  display:grid;grid-template-columns:1fr 1fr;
  background:var(--cr);border:1px solid var(--border-dk);
  border-radius:var(--radius);overflow:hidden;
  margin-bottom:1.5rem;
  transition:box-shadow .4s;
}
.tour-card-big:hover{box-shadow:0 24px 60px rgba(27,58,13,.1)}
.tour-card-big.reverse{direction:rtl}
.tour-card-big.reverse > *{direction:ltr}
.tour-card-big.featured{border-color:var(--o)}
.tour-img{background-size:cover;background-position:center;height:420px;overflow:hidden;position:relative;transition:transform .7s var(--ease);}
.tour-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tour-card-big:hover .tour-img{transform:scale(1.04)}
.tour-card-big:hover .tour-img img{transform:scale(1.04)}
.tour-img-badge{position:absolute;top:1.5rem;right:1.5rem;background:var(--o);color:var(--dk);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;padding:.3rem .8rem;border-radius:99px;font-weight:700}
.tour-body{padding:4rem;display:flex;flex-direction:column;justify-content:center}
.tour-body .label{color:var(--g2);margin-bottom:1.5rem}
.tour-price-tag{font-family:var(--font-disp);font-size:5rem;font-weight:300;font-style:italic;color:var(--g);line-height:.9;margin-bottom:.4rem}
.tour-price-tag em{font-size:2rem;color:var(--o);font-family:var(--font-mono);font-style:normal;font-weight:500;vertical-align:super}
.tour-duration{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--st);text-transform:uppercase;margin-bottom:1.5rem}
.tour-body h3{font-family:var(--font-disp);font-size:2.5rem;font-style:italic;font-weight:600;color:var(--g);line-height:1.1;margin-bottom:1rem}
.tour-body p{color:var(--st);font-size:.9rem;line-height:1.8;font-weight:300;margin-bottom:2rem}
.tour-includes{list-style:none;margin-bottom:2rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.tour-includes li{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--g);display:flex;align-items:center;gap:.5rem}
.tour-includes li::before{content:'✓';color:var(--o);font-size:.8rem;font-weight:700;flex-shrink:0}

/* ============================================================
   PAGE 4: CHI SIAMO
   ============================================================ */
.story-section{background:var(--cr);padding:8rem 3rem}
.story-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr;gap:8rem;align-items:start}
.story-left h2{font-family:var(--font-disp);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:300;color:var(--g);line-height:.92;margin-top:1.2rem}
.story-left h2 em{font-style:italic;font-weight:600;color:var(--o2)}
.story-right p{color:var(--st);font-size:.95rem;line-height:1.85;font-weight:300;margin-bottom:1.5rem}
.story-right p strong{color:var(--g);font-weight:600}

.values-section{background:var(--iv);padding:7rem 3rem}
.values-inner{max-width:1400px;margin:0 auto}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(27,58,13,.07);margin-top:4rem}
.value-card{background:var(--iv);padding:3.5rem 2.5rem;position:relative;overflow:hidden;transition:background .3s;cursor:default}
.value-card:hover{background:var(--cr)}
.value-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.value-card:hover::after{transform:scaleX(1)}
.value-num{font-family:var(--font-ui);font-size:5.5rem;font-weight:800;color:rgba(27,58,13,.05);line-height:1;margin-bottom:-.8rem}
.value-title{font-family:var(--font-ui);font-size:1.8rem;font-weight:700;color:var(--g);line-height:1.1}
.value-title-it{font-family:var(--font-disp);font-size:1.9rem;font-style:italic;font-weight:600;color:var(--o2);display:block;margin-bottom:1rem}
.value-body{color:var(--st);font-size:.9rem;line-height:1.8;font-weight:300}

.gallery-section{background:var(--g3);padding:0}
.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:auto auto;gap:2px}
.gallery-cell{overflow:hidden;position:relative; background:var(--dk2)}
.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);display:block}
.gallery-cell:hover img{transform:scale(1.04)}
.gallery-cell:first-child{grid-row:span 2;min-height:500px}
.gallery-cell:not(:first-child){min-height:250px}
.gallery-cell-label{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(13,13,8,.7),transparent);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,239,224,.6)}

.pcs-section{background:var(--g3);padding:7rem 3rem}

/* ============================================================
   PAGE 5: CONTATTI  
   ============================================================ */
.contact-section{background:var(--cr);padding:7rem 3rem}
.contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start}
.contact-left h2{font-family:var(--font-disp);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;color:var(--g);line-height:.92;margin-bottom:2rem}
.contact-left h2 em{font-style:italic;font-weight:600;color:var(--o2)}
.contact-item{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-start}
.contact-icon{width:44px;height:44px;background:rgba(27,58,13,.07);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--g);flex-shrink:0}
.contact-text strong{font-family:var(--font-ui);font-size:.82rem;font-weight:700;color:var(--g);display:block;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem}
.contact-text a,.contact-text span{color:var(--st);font-size:.9rem;font-weight:300}
.contact-text a:hover{color:var(--o2)}

.booking-box{background:var(--g);border-radius:var(--radius);padding:3.5rem;}
.booking-box h3{font-family:var(--font-disp);font-size:2.2rem;font-style:italic;font-weight:600;color:var(--cr);margin-bottom:.5rem}
.booking-box p{color:rgba(245,239,224,.6);font-size:.88rem;font-weight:300;margin-bottom:2.5rem;line-height:1.7}
.booking-wa{
  display:flex;align-items:center;gap:1rem;
  background:var(--o);color:var(--dk);
  padding:1.2rem 2rem;border-radius:99px;
  font-family:var(--font-ui);font-weight:700;font-size:.9rem;
  letter-spacing:.06em;text-transform:uppercase;
  transition:all .3s var(--ease);margin-bottom:1.2rem;justify-content:center;
}
.booking-wa:hover{background:var(--o3);transform:translateY(-2px);box-shadow:0 14px 40px rgba(232,148,26,.3)}
.booking-email{
  display:flex;align-items:center;justify-content:center;gap:.8rem;
  border:1.5px solid var(--border);color:var(--cr);
  padding:1rem 2rem;border-radius:99px;
  font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  transition:all .3s;
}
.booking-email:hover{border-color:var(--o);color:var(--o)}
.booking-info{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.booking-info-item{text-align:center;padding:1.2rem;background:rgba(255,255,255,.04);border-radius:var(--radius)}
.booking-info-item .n{font-family:var(--font-disp);font-size:2rem;font-weight:600;font-style:italic;color:var(--cr)}
.booking-info-item .n em{color:var(--o);font-style:normal}
.booking-info-item .l{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;color:rgba(245,239,224,.6);text-transform:uppercase}

.faq-section{background:var(--iv);padding:7rem 3rem}
.faq-inner{max-width:800px;margin:0 auto}
.faq-top{margin-bottom:4rem}
.faq-item{border-bottom:1px solid rgba(27,58,13,.1);cursor:pointer}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;gap:1rem;font-family:var(--font-ui);font-size:.95rem;font-weight:700;color:var(--g);transition:color .2s;user-select:none}
.faq-item.open .faq-q{color:var(--o2)}
.faq-ico{width:28px;height:28px;flex-shrink:0;border:1.5px solid rgba(27,58,13,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s,border-color .2s;font-size:1.1rem;color:var(--g)}
.faq-item.open .faq-ico{transform:rotate(45deg);border-color:var(--o2);color:var(--o2)}
.faq-a{padding:0 0 1.5rem;color:var(--st);font-size:.9rem;line-height:1.85;font-weight:300;display:none}
.faq-item.open .faq-a{display:block}

/* ============ NEWSLETTER ============ */
.newsletter{background:var(--g2);padding:6rem 3rem;text-align:center}
.newsletter h3{font-family:var(--font-disp);font-size:clamp(2rem,3.5vw,3.2rem);font-style:italic;font-weight:300;color:var(--cr);margin-bottom:.5rem}
.newsletter p{color:rgba(245,239,224,.6);font-size:.9rem;margin-bottom:2.5rem;font-weight:300}
.nl-form{display:flex;gap:.6rem;max-width:460px;margin:0 auto 1rem;flex-wrap:wrap;justify-content:center}
.nl-form input{flex:1;min-width:220px;padding:.9rem 1.4rem;background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--cr);font-size:.87rem;border-radius:99px;outline:none;font-family:var(--font-ui);transition:border-color .2s}
.nl-form input:focus{border-color:var(--o)}
.nl-form input::placeholder{color:rgba(245,239,224,.6)}
.nl-btn{background:var(--o);color:var(--dk);border:none;padding:.9rem 1.8rem;border-radius:99px;font-weight:700;font-size:.82rem;cursor:pointer;font-family:var(--font-ui);transition:background .2s}
.nl-btn:hover{background:var(--o3)}
.gdpr-row{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.72rem;color:rgba(245,239,224,.6)}
.gdpr-row input{accent-color:var(--o)}
.gdpr-row a{color:var(--o)}

/* ============ FOOTER ============ */
footer{background:var(--dk);padding:6rem 3rem 2.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:4rem;border-bottom:1px solid var(--border);margin-bottom:2rem}
.footer-brand img{height:46px;width:auto;filter:invert(1) brightness(10);margin-bottom:1.2rem;display:block}
.footer-tagline{color:rgba(245,239,224,.75);font-size:.85rem;line-height:1.8;font-weight:300;max-width:240px;margin-bottom:1.5rem}
.footer-coords{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:rgba(245,239,224,.5)}
.footer-col h4{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--o);margin-bottom:1.2rem}
.footer-col a{display:block;color:rgba(245,239,224,.75);font-size:.85rem;margin-bottom:.8rem;transition:color .2s}
.footer-col a:hover{color:var(--cr)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-copy{color:rgba(245,239,224,.6);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:rgba(245,239,224,.75);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.footer-links a:hover{color:var(--o)}


/* ============ WA-DOT ============ */
.wa-dot{width:10px;height:10px;background:#25D366;border-radius:50%;flex-shrink:0;animation:waPulse 2s ease-in-out infinite}
@keyframes waPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}

/* ============ COOKIE ============ */
#cookie-bar{
  position:fixed;bottom:1.5rem;left:1.5rem;right:1.5rem;max-width:720px;margin:0 auto;
  background:var(--dk2);border:1px solid var(--border);border-radius:8px;
  padding:1.6rem 2rem;z-index:600;
  display:flex;gap:1.5rem;align-items:center;
  box-shadow:0 24px 60px rgba(0,0,0,.45);flex-wrap:wrap;
}
#cookie-bar p{color:rgba(245,239,224,.75);font-size:.8rem;line-height:1.65;flex:1;min-width:200px}
#cookie-bar p a{color:var(--o); text-decoration: underline; text-underline-offset: 2px;}
.ck-btns{display:flex;gap:.7rem;flex-shrink:0;flex-wrap:wrap}
.ck-btn{padding:.65rem 1.3rem;border-radius:99px;font-size:.75rem;font-weight:700;cursor:pointer;border:none;font-family:var(--font-ui);transition:all .2s; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;}
.ck-accept{background:var(--o);color:var(--dk)}
.ck-reject{background:transparent;color:rgba(245,239,224,.75);border:1px solid var(--border)}
.ck-reject:hover{color:var(--cr)}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  #nav{padding:1rem 1.5rem}
  .nav-logo .logo-icon {height:32px}
  .nav-logo .logo-text {height:18px}
  .nav-links,.nav-page-indicator, .nav-actions{display:none}
  .hamburger{display:flex}
  .container,.hero,.page-hero,.story-section,.contact-section,.contact-inner{padding-left:1.5rem;padding-right:1.5rem}
  .hero{padding:0 1.5rem 4rem}
  .page-hero{padding:0 1.5rem 4rem}
  .mission-inner,.story-inner,.verbs-grid,.exp-cards,.tour-card-big,.values-grid,.included-grid,.footer-grid{grid-template-columns:1fr}
  .mission-inner,.story-inner{gap:3rem}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gallery-cell:first-child{grid-row:span 1}
  .tour-card-big.reverse{direction:ltr}
  .tour-img{height:280px}
  .tour-body{padding:2rem}
  .booking-info{grid-template-columns:1fr 1fr}
  .contact-inner{grid-template-columns:1fr}
  .photo-row{grid-template-columns:1fr;height:auto}
  .photo-row .pr{height:250px}
  h1.display{font-size:3rem}
  h2.display{font-size:2.5rem}
  .hero h1{font-size:3.5rem}
  .hero-meta{display:none}
  .video-top{grid-template-columns:1fr;gap:2rem}
  .fleet-section{padding-left:1.5rem}
  .fleet-scroll{padding-right:1.5rem}
  .reviews-grid{grid-template-columns:1fr}
  .reviews-section{padding:5rem 1.5rem}
  .verbs,.vs,.pcs-section{padding:5rem 1.5rem}
  .mission,.story-section,.values-section,.exp-preview,.video-section,.pricing-section,.tours-section,.contact-section,.about-hero,.faq-section,.newsletter{padding:5rem 1.5rem}
}

/* ============ BIKE DETAIL CARDS ============ */
.fleet-real{justify-content:center;gap:2rem;flex-wrap:wrap;padding:2rem 3rem 3rem}
.bike-card-real{cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s}
.bike-card-real:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(27,58,13,.18)}
.bike-img-real{position:relative;height:260px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--iv)!important}
.bike-img-real img{width:100%;height:100%;object-fit:contain;background-color: white;transition:transform .6s var(--ease)}
.bike-card-real:hover .bike-img-real img{transform:scale(1.06)}
.bike-badge-real{position:absolute;top:1rem;left:1rem;background:var(--o);color:var(--dk);font-family:var(--font-mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;padding:.35rem .9rem;border-radius:99px;font-weight:700}
.bike-open-hint{position:absolute;bottom:1rem;right:1rem;font-family:var(--font-mono);font-size:.6rem;color:var(--g);opacity:0;transition:opacity .3s;background:rgba(240,234,217,.9);padding:.3rem .8rem;border-radius:99px;letter-spacing:.1em}
.bike-card-real:hover .bike-open-hint{opacity:1}
.bike-modal-overlay{display:none;position:fixed;inset:0;z-index:800;background:rgba(13,13,8,.82);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:2rem}
.bike-modal-overlay.open{display:flex}
.bike-modal-box{background:var(--wh);border-radius:8px;max-width:960px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.4)}
.bike-modal-close{position:sticky;top:1rem;float:right;margin:1rem 1rem 0 0;background:var(--g);color:var(--cr);border:none;width:36px;height:36px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}
.bike-modal-close:hover{background:var(--o);color:var(--dk)}
.bike-modal-content{display:flex;flex-wrap:wrap;gap:0;clear:both}
.bike-modal-photo{flex:1;min-width:280px;background:var(--iv);display:flex;align-items:center;justify-content:center;padding:2.5rem}
.bike-modal-photo img{max-width:100%;object-fit:contain;max-height:380px}
.bike-modal-info{flex:1.2;min-width:300px;padding:2.5rem;display:flex;flex-direction:column;gap:1.2rem}
.bike-modal-badge{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;background:var(--g);color:var(--cr);padding:.35rem 1rem;border-radius:99px;align-self:flex-start}
.bike-modal-title{font-family:var(--font-disp);font-size:2.4rem;font-weight:300;color:var(--g);line-height:.95}
.bike-modal-title em{font-style:italic;font-weight:600;color:var(--o2)}
.bike-modal-desc{font-size:.88rem;line-height:1.8;color:var(--st);font-weight:300}
.bike-modal-specs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.bms{padding:.6rem 0;border-bottom:1px solid var(--border-dk)}
.bms span{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--st);display:block;margin-bottom:.15rem}
.bms strong{font-size:.82rem;color:var(--g);font-weight:600}
.bike-modal-suggest{background:var(--iv);border-radius:4px;padding:.9rem 1.1rem;font-size:.82rem;color:var(--st);line-height:1.7}
.bike-modal-suggest span{font-family:var(--font-mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.12em;color:var(--g2);display:block;margin-bottom:.3rem}
.bike-modal-prices{display:flex;gap:.6rem;flex-wrap:wrap}
.bmp{background:var(--iv);border:1px solid var(--border-dk);border-radius:4px;padding:.6rem .9rem;text-align:center;min-width:72px}
.bmp-dur{font-family:var(--font-mono);font-size:.48rem;letter-spacing:.1em;color:var(--st);text-transform:uppercase;margin-bottom:.15rem}
.bmp-amt{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--g2)}
.bmp.bmp-hl{background:var(--g);border-color:var(--g)}
.bmp.bmp-hl .bmp-dur{color:rgba(245,239,224,.4)}
.bmp.bmp-hl .bmp-amt{color:var(--o)}
@media(max-width:640px){.bike-modal-specs{grid-template-columns:1fr}.bike-modal-photo{min-height:220px}}