/* J-Pass Driving v6 - Conversion + SEO + Premium Feel */

:root{
  --bg:#0d1117;
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.68);
  --line:rgba(255,255,255,.10);
  --shadow:0 14px 40px rgba(0,0,0,.35);
  --accent:#16c784;
  --accentB:#3b82f6;
  --radius:16px;
  --radius2:22px;
  --max:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1100px 700px at 15% 10%, rgba(22,199,132,.16), transparent 60%),
    radial-gradient(900px 650px at 90% 15%, rgba(59,130,246,.14), transparent 55%),
    radial-gradient(900px 650px at 50% 95%, rgba(255,255,255,.06), transparent 60%),
    var(--bg);
  color:var(--text);
}

a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto;}

.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(13,17,23,.78);
  border-bottom:1px solid var(--line);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0;}

.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}
.brand__mark{
  width:36px;height:36px;display:grid;place-items:center;border-radius:12px;
  background: linear-gradient(145deg, rgba(22,199,132,.95), rgba(59,130,246,.55));
  color:#061018;
}
.brand__name{font-size:18px}
.brand__tag{font-weight:600;color:var(--muted);font-size:14px}

.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav a{color:var(--muted);font-weight:700;font-size:14px;padding:8px 10px;border-radius:12px}
.nav a:hover{color:var(--text);background:rgba(255,255,255,.05)}

.header__cta{display:flex;gap:10px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:14px;font-weight:900;font-size:14px;
  border:1px solid transparent; transition:transform .12s ease, background .12s ease, border-color .12s ease, filter .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background: linear-gradient(135deg, rgba(22,199,132,.96), rgba(59,130,246,.82));
  color:#071018;
}
.btn--primary:hover{filter:brightness(1.03)}
.btn--ghost{
  background: rgba(255,255,255,.04);
  border-color: var(--line);
  color: var(--text);
}
.btn--ghost:hover{background: rgba(255,255,255,.06)}
.w100{width:100%}

.menu{
  display:none;width:44px;height:44px;border-radius:14px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);
}
.menu span{display:block;height:2px;margin:6px 10px;background:rgba(255,255,255,.85);border-radius:10px}

.mobileNav{border-top:1px solid var(--line); background: rgba(13,17,23,.90);}
.mobileNav__inner{display:grid;gap:10px;padding:14px 0 18px}
.mobileNav__inner a{padding:12px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-weight:900}

.hero{padding:54px 0 26px}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}

.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04); color:var(--muted);font-weight:900;font-size:13px;
}
.pill .dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px rgba(22,199,132,.10)}

h1{margin:14px 0 12px;font-size:clamp(34px, 4vw, 54px);line-height:1.05;letter-spacing:-.03em}
.accent{
  background: linear-gradient(135deg, rgba(22,199,132,1), rgba(59,130,246,1));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lead{margin:0 0 18px;font-size:16px;color:var(--muted);line-height:1.7}

.trustRow{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 16px}
.badge{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);font-weight:900;font-size:13px}

.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}

.proof{display:flex;gap:10px;align-items:center;margin:10px 0 0}
.stars{letter-spacing:2px;color:rgba(22,199,132,.95);font-weight:900}

.micro{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.micro__item{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.micro__top{font-size:16px;font-weight:950}
.micro__sub{font-size:12px;color:var(--muted);margin-top:4px}

.card{
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:var(--radius2); box-shadow:var(--shadow); overflow:hidden;
}
.card__top{padding:18px 18px 0}
.card__top h2{margin:0;font-size:20px;letter-spacing:-.02em}
.muted{color:var(--muted)}
.scarcity{
  margin:10px 0 0;
  font-weight:900;
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  padding:10px 12px;
  border-radius:14px;
}

.form{padding:14px 18px 18px;display:grid;gap:12px}
label{font-size:13px;font-weight:900;color:rgba(255,255,255,.86);display:grid;gap:7px}
input, select, textarea{
  width:100%; padding:12px 12px; border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,10,18,.55); color:var(--text); outline:none;
}
input::placeholder, textarea::placeholder{color:rgba(255,255,255,.45)}
input:focus, select:focus, textarea:focus{
  border-color:rgba(22,199,132,.55);
  box-shadow:0 0 0 4px rgba(22,199,132,.12);
}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.valueList{
  margin-top:4px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.valueItem{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  font-weight:900;
  color:rgba(255,255,255,.80);
  font-size:13px;
}

.quick{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top: 6px;}
.quick__item{
  display:flex; gap:10px; align-items:center;
  padding:12px; border-radius:var(--radius);
  background:rgba(255,255,255,.04); border:1px solid var(--line);
}
.quick__icon{font-size:18px}
.quick strong{display:block;font-size:13px}
.quick .muted{display:block;font-size:12px}

.hidden{display:none}
.fineprint{font-size:12px;color:var(--muted);line-height:1.6;margin:0}
.fine{font-size:13px;color:var(--muted);line-height:1.6}

.section{padding:60px 0}
.section--alt{background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.section__head{margin-bottom:18px}
.section__head h2{margin:0 0 8px;font-size:28px;letter-spacing:-.02em}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}

.tile{
  padding:18px; border-radius:var(--radius2);
  border:1px solid var(--line); background:rgba(255,255,255,.04);
}
.tile__icon{font-size:20px;margin-bottom:10px}
.tile h3{margin:0 0 8px}
.tile p{margin:0;color:var(--muted);line-height:1.6}

.split{display:grid;grid-template-columns: .9fr 1.1fr; gap: 18px; align-items:center}
.split__img img{
  width:100%; height:auto; border-radius: var(--radius2);
  border:1px solid var(--line); background: rgba(255,255,255,.03);
}
.split__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.list{margin:12px 0 0;padding-left:18px;color:var(--muted)}
.list li{margin:6px 0}

.splitCards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.splitCard{padding:18px;border-radius:var(--radius2);border:1px solid var(--line);background:rgba(255,255,255,.03)}

.pricing{display:grid;grid-template-columns: 1.2fr .8fr; gap: 12px; margin-top: 14px}
.priceCard{padding:18px;border-radius:var(--radius2);border:1px solid var(--line);background:rgba(255,255,255,.04); position:relative}
.priceCard--featured{
  background:linear-gradient(135deg, rgba(22,199,132,.14), rgba(59,130,246,.10));
  border-color: rgba(22,199,132,.25);
}
.badgeTop{
  position:absolute; top:14px; right:14px;
  font-size:12px;font-weight:950;color:#071018;background:rgba(22,199,132,.95);
  padding:6px 10px;border-radius:999px;
}
.price{font-size:28px;font-weight:950;letter-spacing:-.02em;margin:8px 0 6px}
.price span{font-size:13px;font-weight:900;color:var(--muted)}

.box{padding:14px 16px;border-radius:var(--radius2);border:1px solid var(--line);background:rgba(255,255,255,.03)}

/* Reviews */
.quote{
  margin:0;
  padding:18px;
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
}
.quote blockquote{
  margin:0 0 10px;
  color:rgba(255,255,255,.88);
  font-weight:800;
  line-height:1.6;
}
.quote figcaption{color:var(--muted);font-weight:800}

.reviewsGrid{display:grid;grid-template-columns: .9fr 1.1fr; gap:12px; margin-top:14px}
.reviewsCard{padding:18px;border-radius:var(--radius2);border:1px solid var(--line);background:rgba(255,255,255,.04)}
.steps{margin:10px 0 0;padding-left:18px;color:var(--muted)}
.steps li{margin:6px 0}
.reviewsEmbed{
  position:relative; border-radius:var(--radius2);
  border:1px solid var(--line); background: rgba(255,255,255,.03);
  min-height: 320px; overflow:hidden;
}
.reviewsEmbed iframe{width:100%;height:100%;min-height:320px;border:0;opacity:.9}
.embedHint{
  position:absolute; inset:auto 14px 14px 14px;
  padding:10px 12px;border-radius:14px;
  background:rgba(13,17,23,.82); border:1px solid var(--line);
  color:var(--muted); font-size:12px; line-height:1.4;
}

/* SEO box */
.seoBox{
  padding:18px;
  border-radius:var(--radius2);
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.85);
  line-height:1.8;
}
.seoBox p{margin:0 0 12px}
.seoBox p:last-child{margin:0}

/* FAQ */
.faq{display:grid;gap:10px}
.faq__q{
  text-align:left;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-weight:950;
  cursor:pointer;
}
.faq__a{
  display:none;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(7,10,18,.45);
  color:var(--muted);
  line-height:1.7;
}

/* Contact */
.contactGrid{display:grid;grid-template-columns: .9fr 1.1fr; gap:12px; margin-top:14px}
.contactCard{padding:18px;border-radius:var(--radius2);border:1px solid var(--line);background:rgba(255,255,255,.04)}
.contactItems{display:grid;gap:10px;margin-top:10px}
.contactItem{
  display:flex;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.10);background:rgba(7,10,18,.40);
}
.contactLabel{color:var(--muted);font-weight:950;font-size:13px}
.contactValue{font-weight:950}

/* Footer */
.footer{padding:34px 0;border-top:1px solid var(--line);background:rgba(0,0,0,.15)}
.footer__grid{display:grid;grid-template-columns:1.2fr .6fr .8fr;gap:14px;align-items:start}
.brand--footer .brand__mark{width:34px;height:34px}
.footer__links{display:grid;gap:8px}
.footer__links a{color:var(--muted);font-weight:900}
.footer__links a:hover{color:var(--text)}
.footer__small{text-align:right}

/* WhatsApp floating button */
.fab{
  position:fixed; right:16px; bottom:92px; z-index:60;
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
  background:rgba(22,199,132,.95); color:#071018; font-size:22px;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.14);
}
.fab:hover{filter:brightness(1.03)}

/* Sticky mobile call bar */
.callbar{
  position:fixed; left:0; right:0; bottom:0; z-index:55;
  display:none;
  background: rgba(13,17,23,.92);
  border-top: 1px solid var(--line);
  padding: 10px 12px;
  gap:10px;
}
.callbar__btn{
  flex:1;
  display:flex;align-items:center;justify-content:center;
  padding:12px 10px;border-radius:14px;
  font-weight:950;font-size:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
}
.callbar__btn--book{
  background: linear-gradient(135deg, rgba(22,199,132,.96), rgba(59,130,246,.82));
  color:#071018; border-color: transparent;
}

/* Subtle premium animations */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease;will-change:opacity, transform}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none; transition:none}
  .btn{transition:none}
}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{grid-template-columns:1fr}
  .micro{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .splitCards{grid-template-columns:1fr}
  .reviewsGrid{grid-template-columns:1fr}
  .contactGrid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .footer__small{text-align:left}
  .quick{grid-template-columns:1fr}
  .valueList{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .nav, .header__cta{display:none}
  .menu{display:block}
  .form__row{grid-template-columns:1fr}
  .callbar{display:flex}
  body{padding-bottom: 84px;}
}


/* Button stacks (prevents cramped CTAs) */
.btnStack{display:grid; gap:10px; margin-top:10px}
.btnStack .btn{width:100%}

/* Mobile menu CTA buttons: keep text white */
.btn--menuCall{color:rgba(255,255,255,.92)}
.btn--menuWA{color:rgba(255,255,255,.92)}
.ico{width:18px;height:18px;display:inline-block}
.btn .ico{margin-right:8px}

/* Safety: add space between consecutive buttons in pricing cards */
.priceCard .btn + .btn{margin-top:10px}


/* Menu buttons: ensure icon+text are centered as one unit */
.btn--menuCall, .btn--menuWA{
  justify-content:center;
  gap:10px;
}
.btn--menuCall span, .btn--menuWA span{display:inline-block}
.btn--menuCall .ico, .btn--menuWA .ico{margin-right:0}


/* Tidy CTA stack spacing + button typography */
.btnStack{gap:12px}
.priceCard .btn{
  line-height:1.1;
  padding:14px 16px;
  letter-spacing:-0.01em;
}


/* Better text rendering */
body{-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}


.ico{vertical-align:middle}


/* Card hover polish */
.tile, .priceCard, .quote, .contactCard, .reviewsCard, .seoBox, .card{
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.tile:hover, .priceCard:hover, .quote:hover, .contactCard:hover, .reviewsCard:hover, .seoBox:hover, .card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
}
/* Premium animated gradient (very subtle) */
@keyframes shiftGlow{
  0%{filter:hue-rotate(0deg)}
  50%{filter:hue-rotate(8deg)}
  100%{filter:hue-rotate(0deg)}
}
.btn--primary{animation: shiftGlow 8s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){
  .btn--primary{animation:none}
  .tile:hover, .priceCard:hover, .quote:hover, .contactCard:hover, .reviewsCard:hover, .seoBox:hover, .card:hover{transform:none}
}
/* Video embed */
.videoWrap{
  position:relative; border-radius: var(--radius2);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  min-height: 320px; overflow:hidden;
}
.videoWrap iframe{width:100%;height:100%;min-height:320px;border:0;opacity:.95}

.btn span{display:inline-block}
