:root{
  --ink:#11131a;
  --muted:#687080;
  --line:#e8eaf0;
  --purple:#6657ff;
  --purple-dark:#4939ef;
  --orange:#ff5b38;
  --lime:#c7ff48;
  --blue:#e8efff;
  --soft:#f6f7fb;
  --white:#fff;
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:"Manrope",sans-serif;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
svg{display:block}
::selection{background:var(--lime);color:var(--ink)}

.cursor-glow{
  position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;
  pointer-events:none;z-index:-1;opacity:.22;
  background:radial-gradient(circle,rgba(102,87,255,.18),transparent 66%);
  transform:translate(-50%,-50%);
}

.site-header{
  position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);
  width:min(1180px,calc(100% - 32px));height:68px;padding:0 14px 0 20px;
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid rgba(228,230,237,.9);border-radius:18px;
  background:rgba(255,255,255,.84);backdrop-filter:blur(18px);
  box-shadow:0 12px 35px rgba(25,28,42,.07);
}
.brand{display:flex;align-items:center;gap:10px;font:700 20px "Space Grotesk"}
.brand-mark{
  width:36px;height:36px;display:grid;place-items:center;border-radius:11px;
  color:#fff;background:var(--purple);transform:rotate(-6deg)
}
.desktop-nav{display:flex;gap:32px;font-size:14px;font-weight:650}
.desktop-nav a,.footer-links a{position:relative}
.desktop-nav a:after,.footer-links a:after{
  content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:right;transition:.35s
}
.desktop-nav a:hover:after,.footer-links a:hover:after{transform:scaleX(1);transform-origin:left}
.header-phone{
  padding:13px 16px;border-radius:12px;background:var(--ink);color:#fff;
  font-size:13px;font-weight:700;transition:.25s
}
.header-phone:hover{background:var(--purple);transform:translateY(-2px)}
.header-phone span{color:var(--lime);margin-right:6px}
.menu-button{display:none;border:0;background:transparent}

.hero{
  min-height:780px;padding:170px max(24px,calc((100vw - 1180px)/2)) 90px;
  display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center;
  position:relative;isolation:isolate
}
.hero-grid{
  position:absolute;inset:0;z-index:-3;opacity:.34;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:62px 62px;
  mask-image:linear-gradient(to bottom,black 30%,transparent 90%)
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);z-index:-2}
.orb-one{width:280px;height:280px;right:-60px;top:140px;background:#fff0ec}
.orb-two{width:200px;height:200px;left:-80px;bottom:80px;background:#eeebff}
.eyebrow,.kicker{
  display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;
  letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--purple)
}
.pulse{width:8px;height:8px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 0 rgba(255,91,56,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,91,56,0)}100%{box-shadow:0 0 0 0 rgba(255,91,56,0)}}
.hero h1,.section-heading h2,.story-intro h2,.numbers h2,.contact h2{
  margin:24px 0 22px;font-family:"Space Grotesk";font-weight:700;letter-spacing:-.055em;line-height:.93
}
.hero h1{font-size:clamp(58px,6.8vw,94px)}
.hero h1 span{
  color:transparent;background:linear-gradient(90deg,var(--purple),var(--orange));
  background-clip:text;-webkit-background-clip:text
}
.hero-copy>p{max-width:590px;color:var(--muted);font-size:18px;line-height:1.7}
.hero-actions{display:flex;gap:13px;margin-top:36px}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:56px;padding:0 22px;border-radius:15px;font-weight:750;font-size:14px;
  transition:transform .25s,box-shadow .25s,background .25s;border .25s
}
.button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2}
.button-primary{background:var(--purple);color:#fff;box-shadow:0 14px 28px rgba(102,87,255,.24)}
.button-primary:hover{background:var(--purple-dark);box-shadow:0 18px 32px rgba(102,87,255,.3)}
.button-ghost{border:1px solid var(--line);background:#fff}
.button-ghost:hover{border-color:var(--ink);transform:translateY(-3px)}
.trust-row{display:flex;gap:34px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.trust-row div{display:flex;flex-direction:column;gap:4px}
.trust-row strong{font:700 20px "Space Grotesk"}
.trust-row span{font-size:11px;color:var(--muted)}

.hero-visual{position:relative}
.route-card{
  min-height:570px;border:1px solid var(--line);border-radius:38px;padding:26px;
  background:linear-gradient(145deg,#fafaff,#f7f8fc);
  box-shadow:0 35px 75px rgba(26,29,44,.11);position:relative;overflow:hidden;
  transform:perspective(900px) rotateY(-4deg) rotateX(2deg)
}
.route-card:before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(#cfd3de 1px,transparent 1px);background-size:20px 20px
}
.route-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}
.route-top span{font-size:13px;color:var(--muted)}
.route-top strong{padding:9px 12px;border-radius:10px;background:#fff;font-size:12px;box-shadow:0 6px 18px rgba(20,24,38,.08)}
.route-map{position:absolute;inset:70px 0 0;width:100%;height:420px;overflow:visible}
.route-shadow{fill:none;stroke:#dfe2eb;stroke-width:18;stroke-linecap:round}
.route-line{fill:none;stroke:url(#routeGradient);stroke-width:5;stroke-dasharray:10 12;stroke-linecap:round;animation:dash 8s linear infinite}
@keyframes dash{to{stroke-dashoffset:-100}}
.map-pin circle{fill:#fff;stroke:#eaecf2}.map-pin path{fill:var(--orange)}
.end-pin path{fill:var(--purple)}
.mini-truck{fill:var(--ink);transform-origin:center}
.mini-truck circle{fill:#fff;stroke:var(--ink);stroke-width:4}
.mini-truck path{fill:var(--ink);stroke:#fff;stroke-width:2}
.route-label{position:absolute;z-index:3;display:flex;flex-direction:column;padding:10px 14px;border-radius:12px;background:#fff;box-shadow:0 9px 25px rgba(24,27,40,.09)}
.route-label small{font-size:8px;color:var(--muted);letter-spacing:.14em}
.route-label strong{font-size:12px}.label-start{left:35px;bottom:70px}.label-end{right:25px;top:118px}
.floating-badge{
  position:absolute;z-index:5;right:24px;bottom:22px;display:flex;align-items:center;gap:12px;
  background:var(--ink);color:#fff;padding:13px 17px;border-radius:15px;
  box-shadow:0 18px 40px rgba(17,19,26,.22);animation:float 4s ease-in-out infinite
}
@keyframes float{50%{transform:translateY(-9px)}}
.badge-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--lime);color:var(--ink);font-weight:900}
.floating-badge div{display:flex;flex-direction:column}.floating-badge strong{font-size:11px}.floating-badge small{font-size:9px;color:#aeb4c1}
.scroll-cue{position:absolute;bottom:25px;left:50%;display:flex;align-items:center;gap:13px;font-size:8px;letter-spacing:.22em;transform:rotate(90deg)}
.scroll-line{width:50px;height:1px;background:var(--ink);position:relative;overflow:hidden}
.scroll-line:after{content:"";position:absolute;inset:0;background:var(--orange);transform:translateX(-100%);animation:scrollLine 2s infinite}
@keyframes scrollLine{to{transform:translateX(100%)}}

.logo-strip{border-block:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:36px;padding:19px 24px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#818796}
.logo-strip i{width:4px;height:4px;border-radius:50%;background:var(--orange)}

.section{width:min(1180px,calc(100% - 40px));margin:auto;padding:125px 0}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:58px}
.section-heading h2,.story-intro h2,.numbers h2,.contact h2{font-size:clamp(46px,5.5vw,76px)}
.section-heading p{max-width:440px;color:var(--muted);line-height:1.75}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.service-card{
  min-height:420px;padding:26px;border:1px solid var(--line);border-radius:24px;
  position:relative;background:#fff;overflow:hidden;transition:.45s cubic-bezier(.2,.8,.2,1)
}
.service-card:before{
  content:"";position:absolute;inset:auto -30% -50% -30%;height:70%;border-radius:50%;
  background:linear-gradient(120deg,#eeeaff,#fff1ed);filter:blur(25px);opacity:0;transition:.45s
}
.service-card:hover{transform:translateY(-12px);border-color:transparent;box-shadow:0 28px 60px rgba(20,24,38,.12)}
.service-card:hover:before{opacity:1}
.service-card.featured{background:var(--purple);color:#fff;border-color:var(--purple);transform:translateY(-18px)}
.service-card.featured:hover{transform:translateY(-29px)}
.service-card.featured p{color:#dcd8ff}.service-card.featured a{border-color:rgba(255,255,255,.22)}
.service-number{font:700 12px "Space Grotesk";opacity:.5}
.service-icon{height:130px;margin:22px 0;position:relative}
.icon-home span:first-child{position:absolute;width:82px;height:66px;border:3px solid currentColor;left:50%;bottom:5px;transform:translateX(-50%)}
.icon-home span:nth-child(2){position:absolute;width:62px;height:62px;border-left:3px solid currentColor;border-top:3px solid currentColor;transform:rotate(45deg);left:calc(50% - 31px);top:8px}
.icon-home span:nth-child(3){position:absolute;width:18px;height:36px;background:var(--orange);left:50%;bottom:5px}
.icon-office span{position:absolute;bottom:8px;width:23px;border:2px solid currentColor}
.icon-office span:nth-child(1){height:68px;left:82px}.icon-office span:nth-child(2){height:100px;left:110px}
.icon-office span:nth-child(3){height:84px;left:138px}.icon-office span:nth-child(4){height:52px;left:166px;background:var(--orange);border-color:var(--orange)}
.icon-box span:first-child{position:absolute;width:105px;height:85px;border:3px solid currentColor;left:50%;bottom:6px;transform:translateX(-50%)}
.icon-box span:nth-child(2){position:absolute;width:46px;height:3px;background:var(--orange);left:50%;top:32px;transform:translateX(-50%) rotate(26deg)}
.service-card h3{font:700 26px "Space Grotesk";position:relative}
.service-card p{color:var(--muted);font-size:14px;line-height:1.7;position:relative}
.service-card a{position:absolute;left:26px;right:26px;bottom:25px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;font-weight:800;display:flex;justify-content:space-between}
.service-card a span{transition:.3s}.service-card:hover a span{transform:rotate(45deg)}

.moving-story{background:var(--ink);color:#fff;overflow:hidden;padding-bottom:80px}
.story-intro{padding-bottom:60px}.story-intro .kicker{color:var(--lime)}
.story-stage{position:relative;width:min(1180px,calc(100% - 40px));margin:auto}
.stage-progress{width:100%;height:3px;background:#292c36;margin-bottom:36px}
.stage-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--purple),var(--orange))}
.story-copy{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative;z-index:4
}
.story-step{position:relative;min-width:0;padding:24px 20px;border:1px solid #30333e;border-radius:18px;background:#1a1d26}
.story-step.active{border-color:var(--purple)}
.story-step>span{font:700 12px "Space Grotesk";color:var(--lime)}
.story-step h3{font:700 clamp(22px,2.3vw,32px) "Space Grotesk";margin:12px 0}
.story-step p{color:#aeb3c0;line-height:1.65;font-size:14px;margin-bottom:0}
.animation-world{
  position:relative;height:390px;margin-top:28px;overflow:hidden;border-radius:24px;background:#151821
}
.world-sky{position:absolute;inset:0;background:radial-gradient(circle at 72% 38%,rgba(102,87,255,.23),transparent 30%)}
.cloud{position:absolute;width:100px;height:24px;background:#282b35;border-radius:30px}
.cloud:before,.cloud:after{content:"";position:absolute;background:#282b35;border-radius:50%}
.cloud:before{width:38px;height:38px;left:18px;bottom:0}.cloud:after{width:50px;height:50px;right:10px;bottom:0}
.cloud-one{top:20%;left:55%}.cloud-two{top:31%;left:78%;transform:scale(.6)}
.house{position:absolute;bottom:20%;width:150px}
.house-start{left:8%}.house-end{right:8%;opacity:1}
.roof{width:110px;height:110px;background:var(--orange);transform:rotate(45deg);margin:0 auto -54px;border-radius:10px}
.house-body{width:150px;height:120px;background:#f4f2ff;position:relative;border-radius:8px}
.window{position:absolute;width:35px;height:35px;background:var(--purple);left:24px;top:27px}
.door{position:absolute;width:36px;height:65px;background:var(--ink);right:23px;bottom:0}
.house-label{display:block;text-align:center;margin-top:18px;font-size:11px;color:#858b98}
.road-arrow{position:absolute;left:12%;bottom:25%;width:76%;height:220px}
.road-arrow path{fill:none;stroke:#40434d;stroke-width:2;stroke-dasharray:9 11}
.road-arrow .arrow-head{stroke:var(--orange);stroke-dasharray:none}
.moving-van{
  position:absolute;z-index:5;width:260px;height:120px;left:50%;bottom:14%;
  transform:translateX(-50%)
}
.van-body{position:absolute;inset:0 0 20px;display:flex;align-items:flex-end}
.van-cargo{position:relative;width:170px;height:94px;background:var(--purple);border-radius:12px 4px 4px 12px;overflow:hidden}
.van-cab{position:relative;width:90px;height:72px;background:var(--orange);clip-path:polygon(0 0,58% 0,100% 40%,100% 100%,0 100%)}
.windshield{position:absolute;width:37px;height:25px;right:13px;top:9px;background:#f3f4fa;clip-path:polygon(0 0,60% 0,100% 100%,0 100%)}
.van-door{position:absolute;inset:5px 5px 5px 15px;border-left:1px solid rgba(0,0,0,.3)}
.van-stripe{position:absolute;left:35px;top:34px;font:800 17px "Space Grotesk";letter-spacing:.12em}
.wheel{position:absolute;bottom:0;width:41px;height:41px;border:8px solid #383b45;background:#111;border-radius:50%}
.wheel span{display:block;width:9px;height:9px;background:#bfc3ce;border-radius:50%;margin:8px}
.wheel-one{left:42px}.wheel-two{right:26px}
.cargo-box{position:absolute;width:40px;height:32px;border:2px solid rgba(255,255,255,.6);bottom:-40px;transition:.4s}
.cargo-one{left:20px}.cargo-two{left:67px}.cargo-three{left:112px}
.moving-box{position:absolute;z-index:6;width:46px;height:39px;background:#e9b178;bottom:20%;left:44%;border-radius:3px;opacity:0}
.moving-box:before{content:"";position:absolute;left:50%;top:0;width:2px;height:100%;background:#bd7d45}
.moving-box span{position:absolute;left:5px;top:5px;width:12px;height:8px;border:1px solid #8a5c32}
.box-b{transform:translate(28px,-10px)}.box-c{transform:translate(-25px,-5px)}
.road{position:absolute;height:4px;background:#383b45;left:30%;right:0;bottom:13%}
.road span{position:absolute;width:60px;height:3px;background:#656a76;top:18px}
.road span:nth-child(1){left:5%}.road span:nth-child(2){left:25%}.road span:nth-child(3){left:45%}.road span:nth-child(4){left:65%}.road span:nth-child(5){left:85%}

.numbers-card{
  min-height:540px;padding:70px;border-radius:36px;background:var(--purple);color:#fff;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;overflow:hidden;position:relative
}
.numbers-card:after{content:"";position:absolute;width:450px;height:450px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-120px;top:-220px}
.kicker.light{color:var(--lime)}
.numbers-copy p{color:#dcd9ff;max-width:480px;line-height:1.75}
.button-light{background:#fff;color:var(--ink);margin-top:24px}.button-light:hover{background:var(--lime);transform:translateY(-3px)}
.stats-chart{background:#fff;color:var(--ink);padding:28px;border-radius:24px;box-shadow:0 25px 55px rgba(31,22,111,.3);position:relative;z-index:2}
.chart-header{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.chart-header strong{color:var(--ink);font-size:14px}
.bars{padding:22px 0}.bar-row{display:grid;grid-template-columns:92px 1fr 54px;align-items:center;gap:12px;margin:18px 0;font-size:10px}
.bar-row>div{height:8px;background:#f0f1f5;border-radius:10px;overflow:hidden}
.bar-row i{display:block;width:var(--w);height:100%;border-radius:10px;background:linear-gradient(90deg,var(--purple),var(--orange));transform:scaleX(0);transform-origin:left;transition:1s}
.numbers-card.in-view .bar-row i{transform:scaleX(1)}
.bar-row b{text-align:right;font-size:10px}.chart-note{font-size:11px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.chart-note span{color:#2b9f66;font-weight:800}

.review-rating{display:flex;align-items:center;gap:12px}.review-rating>strong{font:700 58px "Space Grotesk"}
.review-rating div{display:flex;flex-direction:column}.review-rating span{color:var(--orange);letter-spacing:.08em}.review-rating small{color:var(--muted);font-size:10px}
.review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{border:1px solid var(--line);padding:29px;border-radius:23px;min-height:310px;display:flex;flex-direction:column;transition:.35s}
.review-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 24px 50px rgba(20,24,38,.1)}
.review-card.accent-card{background:var(--lime);border-color:var(--lime);transform:rotate(2deg)}
.review-card.accent-card:hover{transform:translateY(-7px) rotate(0)}
.quote{font:700 60px "Space Grotesk";line-height:.6;color:var(--purple)}
.review-card p{font-size:15px;line-height:1.8;flex:1}
.review-author{display:flex;align-items:center;gap:12px}.review-author>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;font-weight:800}
.review-author div{display:flex;flex-direction:column}.review-author strong{font-size:11px}.review-author small{font-size:9px;color:var(--muted)}

.contact-card{
  border-radius:36px;background:var(--ink);color:#fff;padding:72px;
  display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;position:relative;overflow:hidden
}
.contact-card:before{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,var(--purple),transparent 70%);opacity:.28;left:-160px;bottom:-170px
}
.contact-copy{position:relative;z-index:2}.contact-copy p{color:#9ca2af;margin-bottom:30px}.contact-copy>a{display:block;margin:8px 0;font:600 16px "Space Grotesk"}
.quote-form{position:relative;z-index:2;background:#fff;color:var(--ink);padding:28px;border-radius:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.quote-form label>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.quote-form input,.quote-form textarea{border:1px solid var(--line);border-radius:12px;padding:14px;outline:none;resize:none;transition:.25s}
.quote-form input:focus,.quote-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(102,87,255,.09)}
.form-button{width:100%;border:0;background:var(--orange);color:#fff;cursor:pointer}.form-button:hover{background:#ea4825}
.form-button .success{display:none}.quote-form.submitted .normal{display:none}.quote-form.submitted .success{display:inline}

footer{
  width:min(1180px,calc(100% - 40px));margin:auto;padding:28px 0 50px;
  border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:35px;
  color:var(--muted);font-size:10px
}
.footer-brand{color:var(--ink)}.footer-links{display:flex;gap:22px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:950px){
  .desktop-nav,.header-phone{display:none}.menu-button{display:block}
  .hero{grid-template-columns:1fr;padding-top:145px}.hero-visual{max-width:650px;width:100%;margin:auto}
  .route-card{transform:none;min-height:520px}
  .service-grid,.review-track{grid-template-columns:1fr}.service-card.featured{transform:none}.service-card.featured:hover{transform:translateY(-12px)}
  .section-heading{align-items:flex-start;flex-direction:column}
  .numbers-card,.contact-card{grid-template-columns:1fr}
  .story-copy{grid-template-columns:repeat(2,minmax(0,1fr))}
  .house-start{left:5%}.house-end{right:5%}.road-arrow{left:10%;width:80%}
  .moving-van{bottom:12%}
  footer{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-end}
}
@media(max-width:620px){
  .site-header{top:10px}
  .hero{padding-inline:20px;min-height:auto;padding-bottom:75px}
  .hero h1{font-size:clamp(38px,11.5vw,54px)}
  .hero-actions{flex-direction:column}.button{width:100%}
  .trust-row{gap:18px;flex-wrap:wrap}
  .route-card{min-height:430px;padding:18px}.route-map{top:45px;height:340px}.floating-badge{right:12px;bottom:12px}
  .scroll-cue{display:none}.logo-strip{justify-content:flex-start;overflow:hidden;white-space:nowrap}
  .section{padding:85px 0}.section-heading h2,.story-intro h2,.numbers h2,.contact h2{font-size:45px}
  .numbers-card,.contact-card{padding:32px 22px;border-radius:25px}.form-grid{grid-template-columns:1fr}
  .moving-story{padding-bottom:55px}.story-copy{grid-template-columns:1fr}.story-step{padding:22px}.story-step h3{font-size:30px}
  .animation-world{height:300px;margin-top:22px}
  .house{transform:scale(.72);transform-origin:center bottom}.house-start{left:-2%}.house-end{right:-2%}
  .road-arrow{left:4%;width:92%;bottom:20%}.moving-van{width:220px;height:105px;bottom:10%}.van-cargo{width:142px;height:82px}.van-cab{width:78px;height:65px}
  .wheel{width:36px;height:36px}.wheel-two{right:22px}
  footer{grid-template-columns:1fr;gap:18px}.footer-links{justify-content:flex-start}
}
