*{box-sizing:border-box}
:root{
  --bg:#07050a;
  --bg2:#0d0911;
  --panel:#110c16;
  --text:#f5f2f7;
  --muted:#aaa1ae;
  --purple:#bd2cff;
  --purple2:#741298;
  --line:rgba(255,255,255,.11);
  --wa:#b126d9;
  --header:76px;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;color:var(--text);background:var(--bg);
  font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
.skip{position:fixed;left:10px;top:-60px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:6px}
.skip:focus{top:10px}

/* HEADER */
.header{
  position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);
  padding:0 4vw;display:flex;align-items:center;gap:24px;
  background:rgba(7,5,10,.84);border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
.header-brand{display:flex;align-items:center;gap:11px;min-width:max-content}
.header-brand img{width:78px;height:auto;filter:drop-shadow(0 5px 10px rgba(0,0,0,.35))}
.header-brand span{font-family:"Arial Narrow",Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.07em}
.nav{margin-left:auto;display:flex;align-items:center;gap:23px}
.nav a{
  position:relative;font-family:"Arial Narrow",Arial,sans-serif;
  font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#dad4dc;
}
.nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-11px;height:1px;
  background:var(--purple);box-shadow:0 0 12px var(--purple);transition:.2s;
}
.nav a:hover:after,.nav a.active:after{right:0}
.wa-top{
  display:flex;align-items:center;gap:9px;border:1px solid rgba(37,211,102,.65);
  padding:7px 12px;border-radius:999px;background:rgba(12,45,24,.25);white-space:nowrap;
}
.wa-top>span:last-child{display:grid;line-height:1.05}
.wa-top small{font-size:8px;letter-spacing:.14em;color:#a7e7bc}
.wa-top strong{font-size:15px}
.wa-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:white}
.wa-icon svg{width:21px;height:21px;fill:currentColor}
.menu-btn{display:none;margin-left:auto;width:40px;height:40px;border:0;background:transparent;cursor:pointer}
.menu-btn i{display:block;width:24px;height:2px;background:#fff;margin:5px auto}

/* HERO */
.hero{
  min-height:760px;padding:130px 6vw 62px;position:relative;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;
  background:
    radial-gradient(circle at 75% 34%,rgba(159,31,192,.16),transparent 31rem),
    linear-gradient(115deg,#08060b 0%,#0b0710 58%,#15091a 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;z-index:-4;
  background:
    linear-gradient(180deg,transparent 62%,rgba(0,0,0,.52)),
    radial-gradient(ellipse at 78% 80%,rgba(255,69,23,.07),transparent 28%);
}
.hero-bg{
  position:absolute;z-index:-3;left:0;right:0;bottom:0;height:33%;
  background:
    linear-gradient(180deg,transparent,rgba(3,3,5,.48) 18%,rgba(2,2,4,.96)),
    repeating-linear-gradient(90deg,transparent 0 90px,rgba(255,255,255,.03) 90px 92px);
  transform:perspective(500px) rotateX(64deg);transform-origin:bottom;
}
.hero-glow{
  position:absolute;z-index:-2;right:9%;bottom:15%;width:58%;height:35%;
  background:radial-gradient(ellipse,rgba(219,46,255,.14),transparent 68%);filter:blur(40px);
}
.hero-copy{width:min(690px,51vw);position:relative;z-index:3}
.eyebrow{
  margin:0 0 14px;font-family:"Arial Narrow",Arial,sans-serif;
  font-size:12px;font-weight:800;letter-spacing:.22em;color:#d5a1e6;
}
.hero-logo{width:min(430px,80%);height:auto;margin:16px 0 10px;filter:drop-shadow(0 16px 25px rgba(0,0,0,.46))}
h1,h2,p{margin-top:0}
h1,h2{font-family:"Arial Narrow",Impact,Arial,sans-serif;text-transform:uppercase}
h1{
  margin:0 0 19px;font-size:clamp(53px,5.4vw,88px);line-height:.86;font-weight:600;letter-spacing:.01em;
  text-shadow:0 10px 28px #000;
}
h1 strong{font-weight:900}
.line{width:min(610px,88%);height:1px;background:linear-gradient(90deg,var(--purple),rgba(255,255,255,.46),transparent);box-shadow:0 0 16px rgba(200,44,239,.6)}
.hero-list{margin:15px 0 25px;font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(16px,1.55vw,23px);font-weight:700;letter-spacing:.13em}
.hero-list span{margin:0 8px;color:#c9becd}
.hero-actions{display:flex;gap:14px;margin-top:26px}
.btn{min-width:190px;text-align:center;padding:14px 20px;border-radius:7px;font-family:"Arial Narrow",Arial,sans-serif;font-size:15px;font-weight:900;letter-spacing:.05em;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-purple{background:linear-gradient(90deg,#751298,#b126d9);border:1px solid #d14df0;box-shadow:0 0 28px rgba(190,37,224,.2)}
.btn-dark{border:1px solid rgba(255,255,255,.35);background:rgba(7,6,10,.36)}
.btn-dark b{margin-left:16px}
.mini-trust{display:flex;align-items:center;gap:15px;margin-top:35px;color:#9a919e;font-size:10px;letter-spacing:.14em}
.mini-trust i{width:3px;height:3px;border-radius:50%;background:#7b7080}
.truck-wrap{
  position:absolute;right:-2%;bottom:1.5%;width:min(64vw,980px);z-index:2;pointer-events:none;
  filter:drop-shadow(0 28px 35px rgba(0,0,0,.58));
}
.truck-wrap img{width:100%;height:auto}
.truck-light{
  position:absolute;left:15%;right:5%;bottom:2%;height:18%;
  background:radial-gradient(ellipse,rgba(255,67,28,.17),transparent 70%);filter:blur(24px);z-index:-1;
}
.hero-note{
  position:absolute;right:5vw;top:17%;z-index:4;text-align:right;
  font-family:Georgia,serif;font-style:italic;font-size:28px;transform:rotate(-5deg);
  text-shadow:0 0 20px rgba(198,61,235,.35);
}
.hero-note em{font-size:37px;color:#ddb8e7}

/* CARDS */
.services{
  width:min(1460px,94vw);margin:-1px auto 0;display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);background:#09070c;position:relative;z-index:5;
}
.service-card{
  min-height:250px;padding:30px 27px;position:relative;overflow:hidden;border-right:1px solid var(--line);
  background:
    radial-gradient(circle at 80% 0%,rgba(174,36,210,.10),transparent 50%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent);
  transition:transform .28s ease,background .28s ease,box-shadow .28s ease;
}
.service-card:last-child{border-right:0}
.service-card:before{
  content:"";position:absolute;top:-80%;left:-70%;width:50%;height:250%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  transform:rotate(25deg);transition:left .55s ease;
}
.service-card:hover{
  transform:translateY(-7px);z-index:3;
  background:
    radial-gradient(circle at 80% 0%,rgba(191,44,255,.18),transparent 52%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent);
  box-shadow:0 18px 45px rgba(0,0,0,.28),0 0 25px rgba(173,32,207,.08);
}
.service-card:hover:before{left:130%}
.card-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(209,67,242,.65);color:#e9e3ec;box-shadow:0 0 18px rgba(205,55,243,.12);margin-bottom:28px}
.card-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.service-card h2{font-size:29px;margin:0 0 9px}
.service-card p{font-size:13px;line-height:1.65;color:var(--muted);max-width:270px}
.service-card a{position:absolute;left:27px;bottom:25px;font-family:"Arial Narrow",Arial,sans-serif;font-size:13px;font-weight:900;letter-spacing:.055em;border-bottom:1px solid #bf37df;padding-bottom:6px}
.service-card a span{color:#d856f1;margin-left:10px}

/* ABOUT */
.about{
  width:min(1320px,90vw);margin:0 auto;padding:86px 0 82px;display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center;
}
.about-logo{
  min-height:260px;border-right:1px solid var(--line);display:grid;place-items:center;padding-right:50px;
  background:radial-gradient(circle at center,rgba(185,42,220,.08),transparent 62%);
}
.about-logo img{width:min(390px,100%);opacity:.78}
.about-copy h2{font-size:clamp(47px,5vw,76px);line-height:.9;margin:8px 0 18px}
.about-copy>p:not(.eyebrow){max-width:720px;color:#aaa1ae;line-height:1.8;font-size:15px}
.about-values{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.about-values span{border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:11px;color:#d1c8d4}

/* CONTACT */
.contact{
  padding:84px 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;
  background:
    radial-gradient(circle at 15% 30%,rgba(142,28,172,.10),transparent 28rem),
    linear-gradient(180deg,#0b080e,#070609);
  border-top:1px solid var(--line);
}
.contact h2{font-size:clamp(55px,6vw,92px);line-height:.84;margin:7px 0 0}
.contact h2 span{color:#b83bd9}
.contact-list{margin-top:38px;border-top:1px solid var(--line)}
.contact-list>a,.contact-list>div{display:flex;justify-content:space-between;gap:25px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-list small{font-size:9px;letter-spacing:.17em;color:#756b79}
.contact-list strong{font-size:14px;text-align:right}
.form-box{padding-top:12px}
.status{margin-bottom:14px;padding:12px 14px;border:1px solid;border-radius:5px;font-size:13px}
.status.ok{border-color:rgba(37,211,102,.5);background:rgba(37,211,102,.08);color:#b4efc8}
.status.bad{border-color:rgba(235,75,110,.5);background:rgba(235,75,110,.08);color:#f0bdc8}
.form-box form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-box label{display:grid;gap:6px}
.form-box label>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8a808d}
.form-box input,.form-box select,.form-box textarea{
  width:100%;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#0c0910;color:#eee9f0;padding:12px;outline:none;
}
.form-box input:focus,.form-box select:focus,.form-box textarea:focus{border-color:#be3dde;box-shadow:0 0 0 2px rgba(190,61,222,.08)}
.form-box textarea{resize:vertical}
.wide{grid-column:1/-1}
.consent{grid-template-columns:auto 1fr!important;align-items:start}
.consent input{width:16px;height:16px;margin-top:0}
.consent span{text-transform:none!important;letter-spacing:0!important;line-height:1.5}
.send{
  border:1px solid #d34cf0;border-radius:5px;background:linear-gradient(90deg,#741197,#b125d9);color:#fff;
  padding:14px 18px;cursor:pointer;font-family:"Arial Narrow",Arial,sans-serif;font-weight:900;letter-spacing:.06em;
}
.send span{float:right}
.hp{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}

/* FOOTER */
footer{
  min-height:104px;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;
  border-top:1px solid var(--line);color:#817884;font-size:10px;
}
.footer-brand{display:flex;align-items:center;gap:10px;color:#eee8f0}
.footer-brand img{width:70px}
.footer-brand strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:12px;letter-spacing:.07em}
footer nav{display:flex;flex-wrap:wrap;gap:16px}
footer nav a:hover{color:#fff}
.floating-wa{
  position:fixed;z-index:95;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.floating-wa svg{width:33px;height:33px;fill:currentColor}

/* RESPONSIVE */
@media(max-width:1160px){
  .header-brand span{display:none}
  .nav{gap:13px}
  .nav a{font-size:12px}
}
@media(max-width:980px){
  :root{--header:68px}
  html{scroll-padding-top:80px}
  .menu-btn{display:block}
  .nav{
    position:absolute;left:0;right:0;top:var(--header);display:grid;gap:0;margin:0;
    background:rgba(7,5,10,.98);border-bottom:1px solid var(--line);
    transform:translateY(-130%);opacity:0;pointer-events:none;transition:.25s;z-index:-1;
  }
  .nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav a{padding:14px 22px;border-top:1px solid rgba(255,255,255,.06);font-size:14px}
  .nav a:after{display:none}
  .wa-top{margin-left:0}
  .hero{min-height:710px}
  .hero-copy{width:58vw}
  .truck-wrap{width:68vw;right:-12%}
  .hero-note{display:none}
  .services{grid-template-columns:1fr 1fr}
  .service-card:nth-child(2){border-right:0}
  .service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .about{grid-template-columns:1fr;gap:35px}
  .about-logo{min-height:180px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 35px}
  .about-logo img{width:300px}
  .contact{grid-template-columns:1fr}
}
@media(max-width:700px){
  .header{padding:0 17px}
  .header-brand img{width:65px}
  .wa-top{padding:7px}
  .wa-top>span:last-child{display:none}
  .wa-icon{width:34px;height:34px}
  .hero{min-height:760px;padding:104px 22px 46px;align-items:flex-start}
  .hero-copy{width:100%;z-index:4}
  .hero-logo{width:290px}
  h1{font-size:51px}
  .hero-list{font-size:14px;line-height:1.9;letter-spacing:.07em}
  .hero-list span{margin:0 3px}
  .hero-actions{flex-direction:column;width:min(360px,100%)}
  .btn{width:100%}
  .mini-trust{display:none}
  .truck-wrap{width:96vw;right:-18vw;bottom:1%;opacity:.87}
  .services{width:100%;grid-template-columns:1fr}
  .service-card{border-right:0;border-bottom:1px solid var(--line);min-height:225px}
  .service-card:last-child{border-bottom:0}
  .about{width:auto;margin:0;padding:70px 22px}
  .about-logo{display:none}
  .contact{padding:72px 22px;gap:45px}
  .form-box form{grid-template-columns:1fr}
  .wide{grid-column:auto}
  footer{flex-direction:column;align-items:flex-start;padding:32px 22px}
  .floating-wa{right:15px;bottom:15px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}


/* ===== ORIGINAL CLIENT ICONS + MOTION ===== */
.card-icon.original-icon{
  width:68px;
  height:68px;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  margin-bottom:22px;
}
.card-icon.original-icon img{
  width:68px;
  height:68px;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(205,55,243,.16));
  transition:transform .35s ease, filter .35s ease;
}
.service-card:hover .card-icon.original-icon img{
  transform:translateY(-4px) scale(1.08) rotate(-2deg);
  filter:drop-shadow(0 0 18px rgba(210,63,247,.30));
}

.hero-enter-left{
  opacity:0;
  transform:translateX(-34px);
  animation:heroLeftIn .85s cubic-bezier(.2,.7,.2,1) .12s forwards;
}
.hero-enter-right{
  opacity:0;
  transform:translateX(70px) scale(.97);
  animation:heroRightIn 1s cubic-bezier(.16,.72,.22,1) .20s forwards,
            truckFloat 6s ease-in-out 1.25s infinite;
}
.hero-note-enter{
  opacity:0;
  animation:noteIn .75s ease .8s forwards;
}
.hero-glow{
  animation:glowPulse 4.8s ease-in-out infinite;
}

.reveal{
  opacity:0;
  transform:translateY(26px);
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.2,.65,.2,1),
    background .28s ease,
    box-shadow .28s ease;
}
.service-card.reveal:nth-child(2).in-view{transition-delay:.08s}
.service-card.reveal:nth-child(3).in-view{transition-delay:.16s}
.service-card.reveal:nth-child(4).in-view{transition-delay:.24s}
.service-card.reveal.in-view:hover{
  transform:translateY(-7px);
}

@keyframes heroLeftIn{
  to{opacity:1;transform:translateX(0)}
}
@keyframes heroRightIn{
  to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes truckFloat{
  0%,100%{transform:translateX(0) translateY(0) scale(1)}
  50%{transform:translateX(0) translateY(-5px) scale(1)}
}
@keyframes noteIn{
  from{opacity:0;transform:translateY(-8px) rotate(-5deg)}
  to{opacity:1;transform:translateY(0) rotate(-5deg)}
}
@keyframes glowPulse{
  0%,100%{opacity:.65;transform:scale(.98)}
  50%{opacity:1;transform:scale(1.04)}
}

@media(max-width:700px){
  .card-icon.original-icon,
  .card-icon.original-icon img{
    width:62px;
    height:62px;
  }
  .hero-enter-right{
    animation:heroRightIn 1s cubic-bezier(.16,.72,.22,1) .18s forwards;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-enter-left,
  .hero-enter-right,
  .hero-note-enter,
  .hero-glow,
  .reveal{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* ===== V3: REAL VEHICLE PHOTOS IN SERVICE CARDS ===== */
.service-card{
  min-height:270px;
  isolation:isolate;
  padding-right:42%;
}
.service-card > *:not(.card-photo){
  position:relative;
  z-index:3;
}
.card-photo{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:58%;
  overflow:hidden;
  pointer-events:none;
}
.card-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,#09070c 0%,rgba(9,7,12,.84) 13%,rgba(9,7,12,.28) 52%,rgba(9,7,12,.07) 100%),
    linear-gradient(0deg,rgba(9,7,12,.52),transparent 50%);
}
.card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.03);
  filter:saturate(.90) contrast(1.06) brightness(.86);
  transition:transform .55s cubic-bezier(.2,.65,.2,1),
             filter .55s ease;
}
.service-card:hover .card-photo img{
  transform:scale(1.11) translateX(-2%);
  filter:saturate(1.03) contrast(1.08) brightness(.98);
}
.service-card:hover .card-photo:after{
  opacity:1;
}
.card-photo:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  z-index:3;
  opacity:.55;
  background:radial-gradient(ellipse at 60% 100%,rgba(196,44,238,.18),transparent 68%);
  transition:opacity .35s ease;
}
.service-card h2{
  max-width:170px;
}
.service-card p{
  max-width:170px;
}
.service-card a{
  z-index:4;
}

/* Remove old icon spacing rules if they remain */
.card-icon.original-icon{display:none!important}

@media(max-width:980px){
  .service-card{padding-right:45%}
}
@media(max-width:700px){
  .service-card{
    min-height:260px;
    padding-right:38%;
  }
  .card-photo{width:55%}
  .service-card h2,
  .service-card p{max-width:190px}
}


/* ===== PATCH V3.1: SINGLE PURPLE WHATSAPP ===== */

/* Top WhatsApp removed from header. */
.wa-top{display:none!important}

/* Single floating WhatsApp button, recolored to match the site. */
.floating-wa{
  background:linear-gradient(135deg,#7a169e 0%,#b126d9 55%,#d34cf0 100%)!important;
  border:1px solid rgba(229,120,255,.55);
  box-shadow:
    0 12px 30px rgba(0,0,0,.38),
    0 0 24px rgba(190,44,255,.24)!important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.floating-wa:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:
    0 16px 34px rgba(0,0,0,.42),
    0 0 30px rgba(202,61,243,.34)!important;
  filter:brightness(1.06);
}

/* With the top WhatsApp gone, menu button sits naturally at the right edge. */
@media(max-width:980px){
  .menu-btn{margin-left:auto}
}
@media(max-width:700px){
  .header{gap:12px}
  .menu-btn{margin-left:auto}
  .floating-wa{
    width:54px;
    height:54px;
    right:14px;
    bottom:14px;
  }
  .floating-wa svg{
    width:31px;
    height:31px;
  }
}


/* ===== PATCH V3.2: MOBILE SERVICE CARD PHOTO FIX ===== */
@media(max-width:700px){

  /* Never leave cards hidden on mobile if IntersectionObserver is delayed/blocked. */
  .service-card.reveal,
  .service-card.reveal.in-view{
    opacity:1!important;
    transform:none!important;
  }

  .service-card{
    min-height:0!important;
    padding:0 20px 26px!important;
    display:block!important;
    overflow:hidden!important;
    background:#09070c!important;
  }

  /* Real vehicle image becomes a full-width top image on mobile. */
  .service-card .card-photo{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:calc(100% + 40px)!important;
    height:190px!important;
    margin:0 -20px 22px!important;
    overflow:hidden!important;
    display:block!important;
    z-index:1!important;
    background:#100b14!important;
  }

  .service-card .card-photo:before{
    background:
      linear-gradient(0deg,rgba(9,7,12,.55) 0%,rgba(9,7,12,.08) 42%,rgba(9,7,12,.02) 100%)!important;
  }

  .service-card .card-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:scale(1.02)!important;
    filter:saturate(.98) contrast(1.05) brightness(.94)!important;
  }

  .service-card:hover .card-photo img{
    transform:scale(1.06)!important;
  }

  .service-card h2,
  .service-card p{
    max-width:none!important;
    width:100%!important;
  }

  .service-card h2{
    margin-top:0!important;
  }

  /* Link is placed naturally below text on mobile, not pinned over the photo. */
  .service-card a{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    display:inline-block!important;
    margin-top:14px!important;
  }

  .service-card:hover,
  .service-card.reveal.in-view:hover{
    transform:none!important;
  }
}

/* Slightly more space for very small phones. */
@media(max-width:420px){
  .service-card .card-photo{
    height:170px!important;
  }
}


/* ===== PATCH V3.3: JSNET DESIGN CREDIT ===== */
.footer-meta{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:6px;
}
.footer-meta p{
  margin:0;
}
.jsnet-credit{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:10px;
  letter-spacing:.06em;
  color:#746c79;
  transition:color .2s ease, text-shadow .2s ease;
}
.jsnet-credit strong{
  color:#9d79a8;
  font-family:"Arial Narrow",Arial,sans-serif;
  letter-spacing:.09em;
}
.jsnet-credit:hover{
  color:#c8bdcc;
  text-shadow:0 0 12px rgba(190,44,255,.22);
}
.jsnet-credit:hover strong{
  color:#d18be5;
}
@media(max-width:700px){
  .footer-meta{
    align-items:flex-start;
    gap:7px;
  }
  .jsnet-credit{
    font-size:11px;
  }
}


/* ===== PATCH V3.4: HERO COMPANY NAME ON ONE LINE ===== */
.hero h1{
  white-space:nowrap;
  font-size:clamp(42px,4.05vw,68px);
  line-height:.95;
  letter-spacing:.005em;
}

@media(max-width:980px){
  .hero h1{
    font-size:clamp(36px,5.2vw,54px);
  }
}

@media(max-width:700px){
  .hero h1{
    white-space:normal;
    max-width:100%;
    font-size:clamp(39px,11vw,50px);
    line-height:.92;
  }
  .hero h1 strong{
    white-space:nowrap;
  }
}


/* ===== PATCH V3.5: FORCE FULL COMPANY NAME ON ONE DESKTOP LINE ===== */
@media(min-width:701px){
  .hero-copy{
    width:min(790px,57vw)!important;
    max-width:none!important;
  }

  .hero h1{
    display:block!important;
    width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    font-size:clamp(40px,3.35vw,56px)!important;
    line-height:.96!important;
    letter-spacing:-.018em!important;
  }

  .hero h1 strong{
    display:inline!important;
    white-space:nowrap!important;
  }
}

/* At mid-size laptop widths keep the whole name together, just slightly smaller. */
@media(min-width:701px) and (max-width:1180px){
  .hero-copy{
    width:62vw!important;
  }
  .hero h1{
    font-size:clamp(36px,3.85vw,46px)!important;
  }
}

/* Mobile may wrap naturally because a 23-character company name cannot fit cleanly on one line. */
@media(max-width:700px){
  .hero h1{
    width:auto!important;
    white-space:normal!important;
  }
}


/* ===== PATCH V3.7: CLEANER DESKTOP SERVICE CARDS ===== */
@media(min-width:701px){

  .services{
    overflow:visible;
  }

  .service-card{
    min-height:315px!important;
    padding:34px 46% 30px 30px!important;
    background:#09070c!important;
  }

  /* Clear left text zone; brighter photo on the right. */
  .service-card .card-photo{
    width:62%!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
  }

  .service-card .card-photo:before{
    background:
      linear-gradient(90deg,
        #09070c 0%,
        rgba(9,7,12,.98) 13%,
        rgba(9,7,12,.82) 26%,
        rgba(9,7,12,.30) 47%,
        rgba(9,7,12,.06) 72%,
        rgba(9,7,12,0) 100%)!important;
  }

  .service-card .card-photo:after{
    height:26%!important;
    opacity:.32!important;
  }

  .service-card .card-photo img{
    object-fit:cover!important;
    object-position:55% center!important;
    transform:scale(1.015)!important;
    filter:saturate(1.03) contrast(1.05) brightness(1.02)!important;
  }

  .service-card:hover .card-photo img{
    transform:scale(1.07) translateX(-1.5%)!important;
    filter:saturate(1.08) contrast(1.06) brightness(1.08)!important;
  }

  .service-card h2{
    max-width:210px!important;
    margin:0 0 13px!important;
    line-height:.95!important;
  }

  .service-card p{
    max-width:205px!important;
    color:#c0b7c4!important;
    line-height:1.65!important;
  }

  /* Keep CTA consistently at bottom-left, away from the vehicle. */
  .service-card a{
    left:30px!important;
    bottom:28px!important;
    position:absolute!important;
    z-index:5!important;
    margin:0!important;
  }
}

/* Narrow desktop/laptop: slightly more text room. */
@media(min-width:701px) and (max-width:1180px){
  .service-card{
    padding-right:42%!important;
  }
  .service-card .card-photo{
    width:58%!important;
  }
  .service-card h2{
    font-size:27px!important;
  }
}

/* Keep the existing mobile top-photo layout intact. */
@media(max-width:700px){
  .service-card .card-photo img{
    filter:saturate(1.02) contrast(1.04) brightness(1.00)!important;
  }
}


/* ===== PATCH V3.9: INSTAGRAM + FACEBOOK IN FOOTER ===== */
.footer-social{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-bottom:2px;
}
.footer-social a{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#aaa1ae;
  background:rgba(255,255,255,.018);
  transition:
    transform .2s ease,
    color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}
.footer-social a:hover{
  color:#e5b8f0;
  border-color:rgba(202,70,239,.62);
  background:rgba(184,48,218,.07);
  box-shadow:0 0 16px rgba(190,44,255,.18);
  transform:translateY(-2px);
}
.footer-social svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.footer-social svg path{
  fill:currentColor;
  stroke:none;
}
.footer-social .social-dot{
  fill:currentColor;
  stroke:none;
}

@media(max-width:700px){
  .footer-social{
    justify-content:flex-start;
    margin-bottom:3px;
  }
  .footer-social a{
    width:32px;
    height:32px;
  }
  .footer-social svg{
    width:16px;
    height:16px;
  }
}
