/* WeekendGo — landing.css — gen-z ✨ */

:root {
  --bg: #0D0D18;
  --panel: #181820;
  --border: rgba(255,255,255,.11);
  --text: #F2F0FF;
  --text-dim: rgba(242,240,255,.60);
  --accent: #FF6B35;
  --accent-deep: #EA580C;
  --pink: #FCD34D;
  --neon: #06FFA5;
  --grad: linear-gradient(135deg, #FF6B35 0%, #FCD34D 100%);
  --glow: 0 0 40px rgba(255,107,53,.30);
  --radius: 24px;
}

.landing-page { background: var(--bg); color: var(--text); margin: 0; font-family: 'Inter', -apple-system, sans-serif; }
.landing-page * { box-sizing: border-box; }
.landing-page h1,.landing-page h2,.landing-page h3 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -.025em; line-height: 1.05;
}

/* ---- HEADER ---- */
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; padding: 0 32px; }
.site-header-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; padding: 24px 0;
}
.logo-link {
  display: inline-flex; text-decoration: none;
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.04em;
}
.logo-wg { color: #F0EEFF; }
.logo-go { background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.site-nav { display: flex; align-items: center; gap: 14px; }
.nav-link-top { color: rgba(255,255,255,.55); font-size: 14px; font-weight: 500; text-decoration: none; }
.nav-link-top:hover { color: #fff; }
.nav-cta {
  background: linear-gradient(135deg, #FF6B35, #FCD34D); border: 1px solid transparent;
  color: #0D0D18; padding: 10px 22px; border-radius: 999px;
  font-size: 14px; font-weight: 700; text-decoration: none;
  transition: opacity .15s, box-shadow .15s;
  box-shadow: 0 4px 16px rgba(255,107,53,.28);
}
.nav-cta:hover { opacity: .88; box-shadow: 0 4px 22px rgba(255,107,53,.42); }
.nav-link-partner { color: #6ee7b7 !important; }
.nav-link-partner:hover { color: #34d399 !important; }

/* ---- STICKY NAV BAR (pagine senza hero full-screen) ---- */
.site-header-bar {
  position: sticky; top: 0; z-index: 100;
  background: rgba(13,13,24,.92);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
/* ---- HERO ---- */
.hero-full {
  position: relative; min-height: 100vh;
  display: flex; flex-direction: column;
  overflow: hidden; background: var(--bg);
}
.hero-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero-gradient {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 45% at 8% 65%, rgba(255,107,53,.16) 0%, transparent 68%),
    radial-gradient(ellipse 40% 35% at 85% 25%, rgba(252,211,77,.10) 0%, transparent 62%),
    radial-gradient(ellipse 35% 50% at 50% 5%,  rgba(234,88,12,.08) 0%, transparent 58%),
    linear-gradient(180deg, rgba(13,13,24,.28) 0%, rgba(13,13,24,.58) 52%, rgba(13,13,24,.92) 78%, rgba(13,13,24,1) 100%),
    url('../img/weekend-hero.png') center 30%/cover no-repeat,
    var(--bg);
}

.hero-body {
  position: relative; z-index: 5;
  flex: 1; display: flex; flex-direction: column;
  justify-content: center; padding: 60px 28px 80px; gap: 0;
}
.hero-content { max-width: 580px; }
.hero-mockup  { display: none; }

@media (min-width: 1100px) {
  .hero-body {
    flex-direction: row; align-items: center; justify-content: center;
    gap: 56px; padding: 60px max(40px, calc(50% - 620px)) 100px;
  }
  .hero-content { flex: 1; max-width: 560px; }
  .hero-mockup  { display: flex; flex-direction: column; align-items: flex-start; flex-shrink: 0; position: relative; }
}

/* hero badge */
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,107,53,.10); border: 1px solid rgba(255,107,53,.30);
  color: #FFBA8A; padding: 8px 14px; border-radius: 999px;
  font-size: 12.5px; font-weight: 600; margin-bottom: 28px; width: fit-content;
  backdrop-filter: blur(8px); letter-spacing: .01em;
}
.hero-badge-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #06FFA5;
  box-shadow: 0 0 0 3px rgba(6,255,165,.2); animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%,100% { box-shadow: 0 0 0 3px rgba(6,255,165,.2); }
  50%      { box-shadow: 0 0 0 6px rgba(6,255,165,.07); }
}

.hero-h1 { font-size: clamp(40px, 6.5vw, 76px); color: #fff; margin: 0 0 22px; font-weight: 800; line-height: 1.0; }
.hero-accent {
  font-style: normal;
  background: var(--grad);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.hero-sub   { font-size: clamp(15px,1.8vw,18px); line-height: 1.7; color: rgba(255,255,255,.72); margin: 0 0 14px; }
.hero-trust { font-size: 15px; color: rgba(255,255,255,.44); margin: 0 0 36px; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.btn-hero-primary {
  display: inline-flex; align-items: center; gap: 9px;
  background: var(--grad); color: #0D0D18; padding: 15px 28px; border-radius: 14px;
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700; font-size: 16px;
  text-decoration: none; box-shadow: 0 8px 28px rgba(255,107,53,.35);
  transition: transform .15s, box-shadow .15s; letter-spacing: -.01em;
}
.btn-hero-primary svg { width: 17px; height: 17px; flex-shrink: 0; }
.btn-hero-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(255,107,53,.50); }
.btn-hero-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.82); padding: 15px 22px; border-radius: 14px;
  font-size: 15px; font-weight: 500; text-decoration: none;
}
.btn-hero-ghost:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.36); }

.hero-pills { display: flex; flex-wrap: wrap; gap: 16px; }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: rgba(255,255,255,.42); }
.pill-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--neon); flex-shrink: 0; }

/* ---- MOCKUP ---- */
.mockup-card {
  background: rgba(255,255,255,.97); border-radius: 22px; padding: 20px 22px;
  color: #1a1030; box-shadow: 0 28px 64px rgba(0,0,0,.5), 0 0 0 1px rgba(255,107,53,.12);
}
.mockup-card-main { width: 310px; position: relative; z-index: 2; }
.mockup-card-back {
  width: 268px; opacity: .68; z-index: 1;
  position: absolute; top: -24px; right: -30px; transform: rotate(6deg);
}
.mockup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.mockup-dest { font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700; font-size: 16px; color: #1a1030; }
.mockup-badge { background: rgba(255,107,53,.15); color: #EA580C; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.mockup-day-label { font-size: 12px; color: #7c6a90; font-weight: 600; margin-bottom: 10px; }
.mockup-item { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #EDE7F5; }
.mockup-item:last-of-type { border-bottom: none; }
.mockup-icon { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; }
.i-car    { background: #EDE9FE; } .i-hotel  { background: #FCE7F3; }
.i-event  { background: #FEF3C7; } .i-rest   { background: #FDE8EB; } .i-museum { background: #EDE9FE; }
.mockup-lines { flex: 1; }
.ml { height: 8px; border-radius: 4px; background: #EDE7F5; margin-bottom: 5px; }
.ml:last-child { margin-bottom: 0; }
.ml-long { width: 75%; } .ml-mid { width: 55%; } .ml-short { width: 35%; }
.mockup-unlock {
  margin-top: 14px; background: var(--grad); color: #fff; border-radius: 10px;
  padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; font-size: 13px;
}
.mockup-unlock strong { color: #fff; font-size: 16px; font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 800; }

/* ---- SEZIONI GENERALI ---- */
.section { padding: 80px 28px; }
.section-inner { max-width: 1280px; margin: 0 auto; }
.section-label {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 16px;
}
.section-label::before { content: '— '; font-weight: 400; letter-spacing: 0; opacity: .6; }
.section-h2 { font-size: clamp(30px,4vw,54px); margin: 0 0 44px; font-weight: 800; letter-spacing: -.03em; line-height: 1.0; }

/* COME FUNZIONA */
.section-steps { background: var(--panel); }
.section-steps .section-h2 { color: #F0EEFF; }
.steps-grid { display: grid; gap: 20px; }
@media (min-width: 768px) { .steps-grid { grid-template-columns: repeat(3,1fr); } }
.step-card {
  background: rgba(255,107,53,.05); border: 1px solid rgba(255,107,53,.16);
  border-radius: 24px; padding: 36px 30px; transition: border-color .2s, background .2s;
}
.step-card:hover { background: rgba(255,107,53,.09); border-color: rgba(255,107,53,.34); }
.step-num {
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-size: 52px; font-weight: 800;
  color: rgba(255,107,53,.20); line-height: 1; margin-bottom: 14px; letter-spacing: -.04em;
}
.step-icon { width: 46px; height: 46px; border-radius: 12px; background: rgba(255,107,53,.14); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.step-icon svg { width: 22px; height: 22px; stroke: var(--accent); fill: none; }
.step-card h3 { font-size: 18px; color: #F0EEFF; margin: 0 0 10px; font-weight: 700; }
.step-card p  { font-size: 14px; color: rgba(240,238,255,.55); line-height: 1.7; margin: 0; }

/* COSA INCLUDE */
.section-features { background: var(--bg); }
.section-features .section-h2 { color: #F0EEFF; }
.features-grid { display: grid; gap: 16px; }
@media (min-width: 640px)  { .features-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1100px) { .features-grid { grid-template-columns: repeat(4,1fr); } }
.feature-big {
  background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px; padding: 30px; transition: transform .2s, border-color .2s, background .2s;
}
.feature-big:hover { transform: translateY(-4px); border-color: rgba(255,107,53,.28); background: rgba(255,107,53,.04); }
.feature-icon-wrap { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.feature-icon-wrap svg { width: 24px; height: 24px; fill: none; }
.fi-blue   { background: rgba(255,107,53,.18); } .fi-blue   svg { stroke: #FF8C5A; }
.fi-coral  { background: rgba(252,211,77,.18); } .fi-coral  svg { stroke: #F59E0B; }
.fi-teal   { background: rgba(6,255,165,.14);  } .fi-teal   svg { stroke: #06FFA5; }
.fi-purple { background: rgba(163,230,53,.16); } .fi-purple svg { stroke: #A3E635; }
.feature-big h3 { font-size: 17px; color: #F0EEFF; margin: 0 0 10px; font-weight: 700; }
.feature-big p  { font-size: 14px; color: rgba(240,238,255,.52); line-height: 1.7; margin: 0; }

/* DESTINAZIONI */
.section-dest { background: var(--panel); }
.section-dest .section-h2 { color: #F0EEFF; }
.dest-grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
@media (min-width: 768px)  { .dest-grid { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1100px) { .dest-grid { grid-template-columns: repeat(6,1fr); } }
.dest-card {
  position: relative; border-radius: 20px; overflow: hidden; min-height: 220px;
  display: flex; align-items: flex-start; justify-content: flex-start; padding: 18px;
  text-decoration: none; transition: transform .22s, border-color .22s, box-shadow .22s;
  border: 1px solid rgba(255,255,255,.09); background-size: cover; background-position: center center;
}
.dest-card:hover { transform: translateY(-4px); border-color: rgba(255,107,53,.42); box-shadow: 0 12px 32px rgba(255,107,53,.16); }
.dest-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.1) 100%); }
.dest-info { position: relative; z-index: 1; width: 100%; }
.dest-info h3 {
  display: inline-flex; max-width: 100%; font-size: 18px; color: #fff; margin: 0;
  line-height: 1.2; text-shadow: 0 2px 16px rgba(0,0,0,.75);
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700;
}
.dest-info p, .dest-cta { display: none; }
.dc-1 { background-image: url('../img/verona.png'); }
.dc-2 { background-image: url('../img/cinqueterre.png'); }
.dc-3 { background-image: url('../img/bologna.png'); }
.dc-4 { background-image: url('../img/firenze.png'); }
.dc-5 { background-image: url('../img/torino.png'); }
.dc-sorpresa { background-image: url('../img/sorprendimi.png'); }

/* FAQ */
.section-faq { background: var(--bg); padding-bottom: 48px; }
.section-faq .section-h2 { color: #F0EEFF; }
.faq-grid { display: grid; gap: 12px; }
@media (min-width: 768px) { .faq-grid { grid-template-columns: repeat(2,1fr); } }
.faq-item { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.09); border-radius: 16px; overflow: hidden; transition: border-color .2s, background .2s; }
.faq-item[open] { border-color: rgba(255,107,53,.22); background: rgba(255,107,53,.04); }
.faq-item summary {
  cursor: pointer; padding: 20px 24px; font-size: 15px; font-weight: 600; color: #F0EEFF;
  list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 22px; color: var(--accent); flex-shrink: 0; font-weight: 400; }
.faq-item[open] summary::after { content: "\2013"; }
.faq-item p { margin: 0; padding: 0 24px 22px; font-size: 14px; color: rgba(240,238,255,.56); line-height: 1.7; }
.faq-item a { color: var(--accent); }

/* CTA FINALE */
.section-final-cta { background: var(--panel); padding: 80px 28px; }
.final-cta-box {
  position: relative; overflow: hidden; max-width: 860px; margin: 0 auto;
  text-align: center; background: rgba(255,107,53,.06);
  border: 1px solid rgba(255,107,53,.20); border-radius: 28px; padding: 72px 48px;
}
.final-cta-orb {
  position: absolute; width: 480px; height: 480px; border-radius: 50%;
  background: rgba(255,107,53,.12); filter: blur(100px);
  top: -140px; left: 50%; transform: translateX(-50%); pointer-events: none;
}
.final-cta-eyebrow { position: relative; z-index: 1; font-size: 12.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--accent); font-weight: 700; margin: 0 0 18px; }
.final-cta-box h2  { position: relative; z-index: 1; font-size: clamp(28px,4vw,44px); color: #F0EEFF; margin: 0 0 18px; font-weight: 800; letter-spacing: -.03em; }
.final-cta-sub     { position: relative; z-index: 1; font-size: 17px; color: rgba(240,238,255,.52); margin: 0 0 38px; line-height: 1.7; }
.final-cta-box .btn-hero-primary { position: relative; z-index: 1; font-size: 17px; }

/* FOOTER */
.site-footer-bottom { background: var(--bg); border-top: 1px solid rgba(255,255,255,.07); padding: 26px 28px; }
.site-footer-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between;
  font-size: 13px; color: rgba(240,238,255,.32);
}
.site-footer-inner a { color: rgba(240,238,255,.46); text-decoration: none; }
.site-footer-inner a:hover { color: var(--accent); }

@media (max-width: 640px) {
  .dest-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .dest-card {
    min-height: 180px; aspect-ratio: 4 / 5;
    background-size: cover; background-repeat: no-repeat;
    background-position: center center; background-color: var(--bg);
  }
  .dest-overlay { background: linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.1) 45%, rgba(0,0,0,.16) 100%); }
}

/* ---- DESTINATIONS TICKER ---- */
.dest-ticker-wrap {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 6;
  overflow: hidden; padding: 20px 0 22px;
  background: linear-gradient(180deg, transparent 0%, rgba(13,13,24,.72) 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
}
.dest-ticker-track {
  display: flex; width: max-content; gap: 10px; align-items: center;
  animation: ticker-scroll 36s linear infinite;
}
.dest-ticker-track:hover { animation-play-state: paused; }
.dest-ticker-track span {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 17px; flex-shrink: 0; white-space: nowrap;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55);
  transition: background .15s, color .15s, border-color .15s;
  cursor: default;
}
.dest-ticker-track span:hover { background: rgba(255,107,53,.14); border-color: rgba(255,107,53,.30); color: rgba(255,255,255,.88); }
@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ---- GRADIENT SECTION SEPARATORS ---- */
.sec-sep {
  height: clamp(48px, 5.5vw, 80px);
  margin: 0;
  padding: 0;
  display: block;
}
.sep-bg-quiz     { background: linear-gradient(180deg, var(--bg) 0%, #090c1c 50%, #070a14 100%); }
.sep-bg-couple   { background: linear-gradient(180deg, var(--bg) 0%, #0e0a17 48%, #10070b 100%); }
.sep-couple-panel{ background: linear-gradient(180deg, #10070b 0%, #15101c 50%, var(--panel) 100%); }
.sep-panel-bg    { background: linear-gradient(180deg, var(--panel) 0%, #121222 48%, var(--bg) 100%); }
.sep-bg-panel    { background: linear-gradient(180deg, var(--bg) 0%, #121222 52%, var(--panel) 100%); }
.sep-duo-trips-in  { background: linear-gradient(180deg, var(--bg) 0%, #0d0a14 50%, #10070b 100%); }
.sep-duo-trips-out { background: linear-gradient(180deg, #0e0a10 0%, #111520 50%, var(--panel) 100%); }
.sep-duo-business-in  { background: linear-gradient(180deg, var(--panel) 0%, #0e0e20 50%, #090916 100%); }
.sep-duo-business-out { background: linear-gradient(180deg, #090916 0%, #0f1220 50%, var(--panel) 100%); }
/* transitions for single-column duo sections */
.sep-quiz-couple  { background: linear-gradient(180deg, #07070f 0%, #0c070c 50%, #10070b 100%); }
.sep-couple-lm    { background: linear-gradient(180deg, #10070b 0%, #0e0704 50%, #0e0602 100%); }
.sep-faq-comm     { background: linear-gradient(180deg, var(--bg) 0%, #08080e 50%, #06060f 100%); }
.sep-comm-partner { background: linear-gradient(180deg, #06060f 0%, #060c0a 50%, #06140f 100%); }
/* extra-soft transition for green partner section */
.sep-partner-in      { background: linear-gradient(180deg, var(--bg) 0%, #06140f 100%); }
.sep-partner-out     { background: linear-gradient(180deg, #06140f 0%, var(--panel) 100%); }
.sep-green-community { background: linear-gradient(180deg, #06140f 0%, #06060f 100%); }
.sep-community-panel { background: linear-gradient(180deg, #06060f 0%, var(--panel) 100%); }

/* ---- HAMBURGER BUTTON ---- */
.nav-hamburger {
  display: none;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  transition: background .15s, border-color .15s;
}
.nav-hamburger:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); }
.nav-hamburger svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---- MOBILE NAV OVERLAY ---- */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(13,13,24,.97);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  flex-direction: column;
  padding: 24px 22px 40px;
  overflow-y: auto;
}
.mobile-nav-overlay.is-open { display: flex; }

.mobile-nav-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 44px;
  flex-shrink: 0;
}
.mobile-nav-close {
  display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  cursor: pointer;
  font-size: 24px; line-height: 1;
  color: rgba(255,255,255,.75);
  transition: background .15s;
}
.mobile-nav-close:hover { background: rgba(255,255,255,.12); color: #fff; }

.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.mobile-nav-link {
  display: flex;
  align-items: center;
  padding: 18px 20px;
  border-radius: 16px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  transition: background .15s, color .15s, border-color .15s;
  font-family: 'Inter', sans-serif;
}
.mobile-nav-link:hover { background: rgba(255,255,255,.07); color: #fff; border-color: rgba(255,255,255,.16); }
.mobile-nav-cta {
  background: linear-gradient(135deg, #FF6B35, #FCD34D) !important;
  color: #0D0D18 !important;
  border-color: transparent !important;
  font-size: 17px;
  justify-content: center;
  margin-top: 10px;
  padding: 20px;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700;
}
.mobile-nav-cta:hover { opacity: .92; }
.mobile-nav-free-banner {
  background: rgba(255,107,53,.08);
  border: 1px solid rgba(255,107,53,.28);
  border-radius: 14px;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(242,240,255,.75);
  text-align: center;
  line-height: 1.5;
  font-family: 'Inter', sans-serif;
}
.mobile-nav-free-banner strong {
  background: linear-gradient(135deg, #FF6B35, #FCD34D);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 900; font-size: 16px;
}
.mobile-nav-partner {
  background: rgba(52,211,153,.07) !important;
  border-color: rgba(52,211,153,.18) !important;
  color: #a7f3d0 !important;
}
.mobile-nav-partner:hover { background: rgba(52,211,153,.13) !important; border-color: rgba(52,211,153,.34) !important; color: #6ee7b7 !important; }

/* ---- MOBILE NAV LEGAL FOOTER ---- */
.mobile-nav-legal {
  flex-shrink: 0;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}
.mobile-nav-legal a {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.28);
  text-decoration: none;
  transition: color .15s;
}
.mobile-nav-legal a:hover { color: rgba(255,255,255,.58); }

@media (max-width: 680px) {
  .site-nav { display: none; }
  .nav-hamburger { display: flex; }
}

/* ---- MOBILE LAYOUT REFINEMENTS ---- */
@media (max-width: 600px) {
  .section { padding: 64px 20px; }
  .section-h2 { font-size: clamp(26px,7vw,34px); margin-bottom: 32px; }
  .hero-body { padding: 48px 20px 72px; }
  .hero-badge { font-size: 11.5px; padding: 7px 12px; margin-bottom: 22px; }
  .hero-trust { display: none; }
  .hero-actions { gap: 10px; }
  .btn-hero-primary { padding: 14px 22px; font-size: 15px; }
  .btn-hero-ghost  { padding: 14px 18px; font-size: 14px; }
  .hero-pills { gap: 12px; }
  .steps-grid { gap: 14px; }
  .step-card { padding: 28px 22px; }
  .step-num { font-size: 44px; margin-bottom: 10px; }
  .step-icon { margin-bottom: 14px; }
  .features-grid { gap: 12px; }
  .feature-big { padding: 24px 20px; }
  .feature-icon-wrap { margin-bottom: 16px; }
  .faq-grid { grid-template-columns: 1fr; }
  .faq-item summary { padding: 16px 18px; font-size: 14.5px; }
  .faq-item p { padding: 0 18px 18px; }
  .section-final-cta { padding: 64px 20px; }
  .final-cta-box { padding: 52px 28px; border-radius: 22px; }
  .final-cta-sub { font-size: 15px; margin-bottom: 30px; }
  .mockup-card-main { width: 270px; }
  .mockup-card-back { width: 230px; right: -18px; top: -18px; }
}

@media (max-width: 480px) {
  .dest-card { min-height: 160px; }
  .final-cta-box { padding: 44px 22px; }
  .step-card { padding: 24px 18px; }
}
