
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root {
  --ink: #111111;
  --off-white: #F7F7F5;
  --lime: #66cccc;
  --lime-dark: #8FDE2A;
  --mid: #717170;
  --border: #E3E3DF;
  --card: #FFFFFF;
  --red: #D92B1A;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--off-white);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

/* ── CURSOR ── */
#cursor{position:fixed;width:10px;height:10px;background:var(--lime);border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:multiply;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;}
#cursor-ring{position:fixed;width:36px;height:36px;border:1.5px solid rgba(170,255,69,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s;}
body:hover #cursor{opacity:1;}

/* ── FLOATING CONTACT BUTTONS ── */
.float-btns{position:fixed;bottom:80px;right:24px;z-index:500;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.float-btn{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.18);transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;white-space:nowrap;cursor:pointer;border:none;line-height:1;}
.float-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 8px 32px rgba(0,0,0,.22);}
.float-btn:active{transform:scale(.97);}
.float-btn svg{flex-shrink:0;}
.float-wa{background:#25D366;color:#fff;}
.float-call{background:var(--ink);color:#fff;}
@media(max-width:480px){.float-btn{padding:13px;border-radius:50%;}.float-btn .float-label{display:none;}.float-btns{bottom:80px;right:16px;}}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(247,247,245,0);backdrop-filter:blur(0px);display:flex;align-items:center;justify-content:space-between;padding:0 6%;height:72px;transition:background .4s,backdrop-filter .4s,box-shadow .4s;}
nav.scrolled{background:rgba(247,247,245,0.97);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border);}
.nav-logo{font-weight:400;font-size:19px;letter-spacing:0.5px;color:var(--ink);text-decoration:none;opacity:0;}
.nav-cta{background:var(--ink);color:#fff;font-size:13px;font-weight:700;padding:10px 22px;border-radius:8px;text-decoration:none;transition:opacity .2s,transform .2s;opacity:0;}
.nav-cta:hover{opacity:.82;transform:translateY(-1px);}

/* ── HERO ── */
.hero-wrap{background:var(--off-white);position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.grid-lines{position:absolute;inset:0;pointer-events:none;z-index:0;}
.grid-lines::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(170,255,69,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(170,255,69,.06) 1px,transparent 1px);background-size:60px 60px;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:0;}
.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(170,255,69,.18),transparent 70%);top:-100px;left:-100px;}
.orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(170,255,69,.1),transparent 70%);bottom:-80px;right:-80px;}
.hero{padding:130px 6% 90px;max-width:1280px;margin:0 auto;text-align:center;position:relative;z-index:1;width:100%;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#66cccc;color:var(--ink);font-size:13px;font-weight:700;padding:6px 16px;border-radius:100px;margin-bottom:24px;opacity:0;transform:translateY(20px);}
.bdot{width:7px;height:7px;border-radius:50%;background:var(--ink);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero h1{font-size:clamp(44px,5.8vw,84px);font-weight:800;line-height:1.04;letter-spacing:-3px;margin-bottom:24px;overflow:hidden;}
.hero h1 .word{display:inline-block;opacity:0;transform:translateY(100%);}
.hero h1 em{font-style:normal;color:#bbb;font-weight:300;}
.hero-sub{font-size:19px;color:var(--mid);line-height:1.8;margin-bottom:48px;max-width:600px;margin-left:auto;margin-right:auto;opacity:0;transform:translateY(24px);}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:72px;opacity:0;transform:translateY(20px);}
.btn-primary{background:var(--ink);color:#fff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;padding:18px 34px;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .25s;position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;inset:0;background:#f9b213;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:0;}
.btn-primary:hover::after{transform:scaleX(1);}
.btn-primary:hover{color:var(--ink);}
.btn-primary span{position:relative;z-index:1;}
.btn-primary:active{transform:scale(.97);}
.hero-note{font-size:14px;color:var(--mid);}

/* stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);max-width:900px;margin:0 auto;opacity:0;transform:translateY(28px);box-shadow:0 4px 32px rgba(0,0,0,.05);}
.stat-item{padding:28px 24px;border-right:1px solid var(--border);text-align:left;position:relative;overflow:hidden;}
.stat-item::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.stat-item:hover::before{transform:scaleX(1);}
.stat-item:last-child{border-right:none;}
.stat-num{font-size:38px;font-weight:800;letter-spacing:-1.5px;color:var(--ink);display:block;margin-bottom:4px;}
.stat-num .g{    color: #b8860b;}
.stat-label{font-size:12px;color:var(--mid);line-height:1.4;display:block;}

/* ── MARQUEE ── */
.marquee-wrap{background:var(--ink);padding:16px 0;overflow:hidden;position:relative;}
.marquee-wrap::before,.marquee-wrap::after{content:'';position:absolute;top:0;width:120px;height:100%;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(to right,var(--ink),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(to left,var(--ink),transparent);}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.m-item{display:flex;align-items:center;gap:10px;padding:0 32px;font-size:13px;font-weight:500;color:#fff;white-space:nowrap;transition:color .2s;}
.m-item:hover{color:rgba(255,255,255,.85);}
.m-item::before{content:'✦';    color: #66cccc;;font-size:9px;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── SHARED ── */
.section{padding:104px 6%;}
.s-inner{max-width:1160px;margin:0 auto;}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-bottom:20px;display:block;}
.sh2{font-size:clamp(38px,4.8vw,62px);font-weight:700;letter-spacing:-2.5px;line-height:1.07;color:var(--ink);margin-bottom:18px;}
.ssub{font-size:18px;font-weight:300;color:var(--mid);max-width:500px;line-height:1.8;}
.dim{color:#bbb;font-weight:300;}
.s-head{overflow:hidden;}
.s-head .sh2{transform:translateY(60px);opacity:0;}
.s-head .eyebrow{transform:translateY(20px);opacity:0;}
.s-head .ssub{transform:translateY(20px);opacity:0;}

/* ── SERVICES (web-only) ── */
.services{background:var(--off-white);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-top:64px;}
.svc-card{background:var(--card);padding:38px;position:relative;transition:background .2s,transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(40px);opacity:0;}
.svc-card:hover{background:#FAFAF8;transform:translateY(-2px) scale(1.01);}
.svc-card:hover .svc-arr{opacity:1;transform:translate(0,0);}
.svc-card:hover .svc-em{background:var(--ink);}
.svc-card:hover .svc-em svg{stroke:#fff;}
.svc-n{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--border);margin-bottom:22px;display:block;}
.svc-em{width:46px;height:46px;border-radius:12px;background:#fab711;display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .2s;}
.svc-em svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s;}
.svc-card h3{font-size:20px;font-weight:700;letter-spacing:-.5px;color:var(--ink);margin-bottom:10px;line-height:1.2;}
.svc-card p{font-size:15px;color:var(--mid);line-height:1.75;margin-bottom:22px;}
.svc-tags{display:flex;flex-wrap:wrap;gap:6px;}
.svc-tag{font-size:11px;font-weight:600;color:var(--mid);background:var(--off-white);border:1px solid var(--border);padding:4px 10px;border-radius:100px;}
.svc-arr{position:absolute;top:32px;right:32px;font-size:18px;color:var(--ink);opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .25s;}

/* ── CASE STUDIES ── */
.cases{background:var(--card);border-top:1px solid var(--border);}
.cases-grid{display:flex;flex-direction:column;gap:2px;margin-top:64px;}

.case-card{
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:20px;
  padding:40px 44px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:40px;
  align-items:center;
  transform:translateY(40px);
  opacity:0;
  transition:border-color .25s, box-shadow .25s, transform .3s cubic-bezier(.16,1,.3,1);
  margin-bottom:14px;
  cursor:default;
}
.case-card:hover{
  border-color:#C8C8C4;
  box-shadow:0 8px 40px rgba(0,0,0,.07);
  transform:translateY(-2px);
}

/* Left col: logo + meta */
.case-left{}
.case-logo-area{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.case-logo{
  width:52px;height:52px;border-radius:12px;
  background:var(--off-white);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;
}
.case-logo img{width:100%;height:100%;object-fit:contain;padding:6px;}
.case-logo svg{width:20px;height:20px;stroke:#C0C0BC;}
.case-logo-text{}
.case-client{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:2px;}
.case-industry{font-size:12px;color:var(--mid);}
.case-type-pill{
  display:inline-block;
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:#66cccc;color:var(--ink);
  padding:4px 10px;border-radius:6px;
  margin-bottom:14px;
}
.case-what{font-size:14px;color:var(--mid);line-height:1.6;}

/* Middle col: result + quote */
.case-middle{}
.case-result{
  font-size:clamp(28px,3vw,40px);
  font-weight:800;
  letter-spacing:-1.5px;
  color:var(--ink);
  line-height:1.1;
  margin-bottom:6px;
}
.case-result-label{font-size:13px;color:var(--mid);margin-bottom:20px;}
.case-quote{
  font-size:14px;
  color:var(--ink);
  line-height:1.7;
  font-style:italic;
  padding-left:14px;
  border-left:2px solid var(--lime);
}

/* Right col: metrics */
.case-metrics{display:flex;flex-direction:column;gap:12px;}
.case-metric{
  padding:16px 18px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:14px;
  transition:border-color .2s;
}
.case-card:hover .case-metric{border-color:#CACAC6;}
.case-metric-num{font-size:22px;font-weight:800;letter-spacing:-1px;color:var(--ink);white-space:nowrap;}
.case-metric-num .g{color:#b8860b;}
.case-metric-label{font-size:12px;color:var(--mid);line-height:1.4;}

/* ── LOGO MARQUEE ── */
.logos-section{background:var(--off-white);padding:64px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.logos-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);text-align:center;margin-bottom:40px;display:block;}
.logo-marquee-wrap{overflow:hidden;position:relative;}
.logo-marquee-wrap::before,.logo-marquee-wrap::after{content:'';position:absolute;top:0;width:140px;height:100%;z-index:2;pointer-events:none;}
.logo-marquee-wrap::before{left:0;background:linear-gradient(to right,var(--off-white),transparent);}
.logo-marquee-wrap::after{right:0;background:linear-gradient(to left,var(--off-white),transparent);}
.logo-track{display:flex;width:max-content;animation:logoScroll 32s linear infinite;align-items:center;gap:0;}
.logo-marquee-wrap:hover .logo-track{animation-play-state:paused;}
@keyframes logoScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.logo-slot{display:flex;align-items:center;justify-content:center;padding:0 48px;border-right:1px solid var(--border);height:80px;flex-shrink:0;}
.logo-img-placeholder{width:120px;height:40px;background:var(--card);border:1.5px dashed #D4D4CF;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:7px;transition:border-color .2s,opacity .2s;opacity:.7;overflow:hidden;}.logo-img-placeholder img{width:100%;height:100%;object-fit:contain;padding:4px;}
.logo-slot:hover .logo-img-placeholder{border-color:#AAAA9E;opacity:1;}
.logo-img-placeholder svg{width:14px;height:14px;stroke:#C0C0BC;flex-shrink:0;}
.logo-img-placeholder span{font-size:11px;font-weight:600;color:#C0C0BC;letter-spacing:.03em;white-space:nowrap;}

/* ── PROCESS ── */
.process{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-top:64px;}
.p-card{padding:38px 28px;border-right:1px solid var(--border);background:var(--off-white);position:relative;overflow:hidden;transform:translateX(-20px);opacity:0;}
.p-card::before{content:'';position:absolute;inset:0;background:var(--lime);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:0;}
.p-card:hover::before{transform:scaleY(1);}
.p-card:hover .p-num{background:var(--ink);color:var(--lime);}
.p-card:hover h3,.p-card:hover p{color:var(--ink);}
.p-card>*{position:relative;z-index:1;}
.p-card:last-child{border-right:none;}
.p-num{width:40px;height:40px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .3s,color .3s;}
.p-card h3{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:-.3px;transition:color .3s;}
.p-card p{font-size:15px;color:var(--mid);line-height:1.7;transition:color .3s;}

/* ── WHY ── */
.why{background:var(--ink);position:relative;overflow:hidden;}
.why::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:180px;pointer-events:none;z-index:0;}
.why>.s-inner{position:relative;z-index:1;}
.why .eyebrow{color:rgba(255,255,255,.3);}
.why .sh2{color:#fff;}
.why .ssub{color:rgba(255,255,255,.35);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px;}
.why-card{background:#161616;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:34px;transform:translateY(50px);opacity:0;transition:border-color .2s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;}
.why-card:hover{border-color:var(--lime);transform:translateY(-4px);box-shadow:0 0 32px rgba(170,255,69,.08);}
.why-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--lime);padding:4px 10px;border-radius:6px;margin-bottom:18px;}
.why-card h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:10px;letter-spacing:-.4px;line-height:1.25;}
.why-card p{font-size:15px;color:rgba(255,255,255,.36);line-height:1.75;}

/* ── TECH ── */
.tech{background:var(--off-white);}
.tech-rows{display:flex;flex-direction:column;gap:12px;margin-top:60px;}
.tech-row{display:flex;align-items:center;gap:28px;padding:24px 28px;background:var(--card);border:1px solid var(--border);border-radius:14px;transform:translateX(-30px);opacity:0;transition:border-color .2s,box-shadow .2s;}
.tech-row:hover{border-color:#C8C8C4;box-shadow:0 4px 20px rgba(0,0,0,.05);}
.tech-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);min-width:110px;flex-shrink:0;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:13px;font-weight:500;color:var(--ink);background:var(--off-white);border:1px solid var(--border);padding:7px 16px;border-radius:8px;white-space:nowrap;transition:all .2s;cursor:default;}
.chip:hover{background:var(--lime);border-color:var(--lime);color:var(--ink);}

/* ── TESTIMONIALS ── */
.testi{background:var(--card);border-top:1px solid var(--border);}
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:60px;}
.testi-card{background:var(--off-white);border:1px solid var(--border);border-radius:16px;padding:34px;transform:translateY(40px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;}
.testi-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.09);}
.testi-stars{font-size:15px;letter-spacing:3px;margin-bottom:20px;color:var(--lime-dark);}
.testi-q{font-size:15px;color:var(--ink);line-height:1.8;margin-bottom:26px;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--border);}
.testi-av{width:44px;height:44px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--lime);flex-shrink:0;}
.testi-av-img{background:#E8E8E4;border:1.5px dashed #C4C4BE;color:#A0A09A;}
.testi-av-img svg{width:22px;height:22px;stroke:#A0A09A;}
.testi-name{font-size:14px;font-weight:700;}
.testi-role{font-size:12px;color:var(--mid);margin-top:2px;}

/* ── FAQ ── */
.faq{background:var(--off-white);}
.faq-list{margin-top:56px;max-width:100%;}
.faq-item{border-bottom:1px solid var(--border);transform:translateY(20px);opacity:0;}
.faq-btn{width:100%;text-align:left;background:none;border:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;gap:16px;transition:color .2s;}
.faq-ic{font-size:22px;color:var(--mid);transition:transform .3s cubic-bezier(.16,1,.3,1),color .2s;flex-shrink:0;}
.faq-item.open .faq-ic{transform:rotate(45deg);color:var(--ink);}
.faq-ans{font-size:15px;color:var(--mid);line-height:1.8;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding-bottom .4s;}
.faq-item.open .faq-ans{max-height:280px;padding-bottom:24px;}

/* ── FOOTER CTA ── */
.footer-cta{background:var(--lime);padding:104px 6%;text-align:center;position:relative;overflow:hidden;}
.footer-cta::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:rgba(255,255,255,.15);border-radius:50%;pointer-events:none;}
.footer-cta::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:180px;pointer-events:none;}
.footer-cta>*{position:relative;z-index:1;}
.footer-cta h2{font-size:clamp(34px,5vw,64px);font-weight:700;letter-spacing:-2.5px;line-height:1.06;color:var(--ink);margin-bottom:16px;transform:translateY(30px);opacity:0;}
.footer-cta p{font-size:17px;font-weight:300;color:rgba(17,17,17,.5);max-width:440px;margin:0 auto 44px;line-height:1.65;transform:translateY(20px);opacity:0;}
.footer-cta .btn-dark-wrap{transform:translateY(20px);opacity:0;}
.btn-dark{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-size:15px;font-weight:700;padding:18px 36px;border-radius:10px;text-decoration:none;transition:all .25s;}
.btn-dark:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.2);}

/* ── FORM ── */
.form-section{background:var(--ink);padding:104px 6%;position:relative;overflow:hidden;}
.form-section::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:180px;pointer-events:none;z-index:0;}
.form-section>*{position:relative;z-index:1;}
.form-inner{max-width:620px;margin:0 auto;text-align:center;}
.form-inner .eyebrow{color:rgba(255,255,255,.3);}
.form-inner h2{font-size:clamp(30px,4vw,48px);font-weight:700;letter-spacing:-2px;line-height:1.1;color:#fff;margin:16px 0 12px;}
.form-sub{font-size:16px;color:rgba(255,255,255,.35);max-width:460px;margin:0 auto 40px;line-height:1.75;}
.form-card{background:#fff;border-radius:20px;padding:40px;text-align:left;transform:translateY(40px);box-shadow:0 24px 60px rgba(0,0,0,.3);}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.fg label span{color:var(--red);}
.fg input,.fg select,.fg textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);background:var(--off-white);outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;resize:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(170,255,69,.2);}
.fg input::placeholder,.fg textarea::placeholder{color:#C0C0BC;}
.submit-btn{width:100%;padding:16px;background:var(--lime);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;border:none;border-radius:10px;cursor:pointer;margin-top:8px;transition:all .25s;position:relative;overflow:hidden;}
.submit-btn::after{content:'';position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:0;}
.submit-btn:hover::after{transform:scaleX(1);}
.submit-btn:hover{color:#fff;}
.submit-btn-text{position:relative;z-index:1;}
.form-note{text-align:center;font-size:11px;color:rgba(255,255,255,.3);margin-top:14px;}

footer{background:var(--ink);padding:28px 6%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.06);}
.f-logo{font-size:13px;font-weight:400;color:rgba(255,255,255,.6);letter-spacing:.04em;}
.f-links{display:flex;gap:24px;}
.f-links a{font-size:13px;color:#fff;text-decoration:none;transition:color .2s;}
.f-links a:hover{color:rgba(255,255,255,.7);}

#progress{position:fixed;top:0;left:0;height:2px;background:var(--lime);z-index:999;width:0%;transition:width .1s;}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .svc-grid{grid-template-columns:1fr 1fr;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .proc-grid{grid-template-columns:1fr 1fr;}
  .p-card{border-bottom:1px solid var(--border);}
  .testi-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .stat-item:nth-child(2){border-right:none;}
  .stat-item:nth-child(3){border-top:1px solid var(--border);}
  .stat-item:nth-child(4){border-top:1px solid var(--border);border-right:none;}
  .case-card{grid-template-columns:1fr;gap:24px;padding:32px;}
  .case-metrics{flex-direction:row;flex-wrap:wrap;}
  .case-metric{flex:1;min-width:140px;}
}
@media(max-width:600px){
  nav{padding:0 5%;}
  .nav-cta{font-size:12px;padding:9px 14px;}
  .hero{padding:100px 5% 56px;}
  .hero h1{font-size:34px;letter-spacing:-2px;}
  .hero-sub{font-size:15px;margin-bottom:28px;}
  .hero-actions{flex-direction:column;align-items:stretch;margin-bottom:44px;gap:10px;}
  .btn-primary{width:100%;justify-content:center;}
  .hero-note{text-align:center;}
  .section{padding:72px 5%;}
  .svc-grid{grid-template-columns:1fr;}
  .proc-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:1fr 1fr;}
  .sh2{letter-spacing:-1.5px;}
  .logos-section{padding:52px 5%;}
  .logo-item{padding:14px 20px;}
  .case-card{padding:24px;}
  .case-metrics{flex-direction:column;}
}

.f-links img {
    width: 100px;
    object-fit: contain;
}




.field-error {
    color: #e3342f;
    font-size: 12px;
    margin-top: 6px;
    display: block;
}

.form-alert {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    margin-bottom: 14px;
    font-weight: 600;
}

.form-alert.error {
    background: #fff1f1;
    color: #c62828;
    border: 1px solid #ffcaca;
}

.success-quote-box {
    text-align: center;
    padding: 30px 20px;
}

.success-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #9cff32;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 36px;
    color: #111;
    font-weight: 900;
}

.success-quote-box h3 {
    font-size: 24px;
    margin-bottom: 10px;
    color: #111;
    font-weight: 800;
}

.success-quote-box p {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    max-width: 420px;
    margin: 0 auto 22px;
}

.success-mini-info {
    background: #f7f7f7;
    border-radius: 14px;
    padding: 14px;
    font-size: 13px;
    color: #333;
    font-weight: 600;
}




.success-quote-box {
    text-align: center;
    padding: 35px 25px;
}

.success-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #98ff2f;
    color: #000;
    font-size: 38px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.success-quote-box h3 {
    font-size: 24px;
    color: #000;
    margin-bottom: 12px;
}

.success-quote-box p {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
}

.success-mini-info {
    margin-top: 18px;
    font-size: 13px;
    color: #666;
}