@import url('https://api.fontshare.com/v2/css?f[]=general-sans@500,600,700,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#0B0D12;
  --surface:#13161F;
  --surface-2:#1B1F2B;
  --blue:#2563EB;
  --purple:#8B5CF6;
  --paper:#FAFAF8;
  --text-soft:rgba(250,250,248,0.6);
  --text-faint:rgba(250,250,248,0.35);
  --border:rgba(250,250,248,0.08);
  --grad:linear-gradient(135deg,var(--blue),var(--purple));
  --blue-tint:rgba(37,99,235,0.12);
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  font-weight:400;
  background:var(--bg);
  color:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{font-family:'General Sans',sans-serif;letter-spacing:-0.02em;}
::selection{background:var(--blue);color:var(--paper);}
img{display:block;max-width:100%;}

/* PROGRESS */
#prog{position:fixed;top:0;left:0;height:3px;z-index:9000;background:var(--grad);width:0%;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4rem;transition:all .3s;}
nav.scrolled{background:rgba(11,13,18,0.75);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--border);padding:1.05rem 4rem;}
.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.logo-img{height:36px;width:auto;display:block;transition:opacity .25s;}
.logo:hover .logo-img{opacity:.85;}
nav.scrolled .logo-img{height:30px;}
@media(max-width:768px){.logo-img{height:26px;}}
.nav-links{display:flex;gap:2.25rem;list-style:none;align-items:center;}
.nav-links a{font-size:.85rem;font-weight:500;color:var(--text-soft);text-decoration:none;transition:color .25s;position:relative;}
.nav-links a:hover,.nav-links a.active{color:var(--paper);}
.nav-links a.active::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:2px;background:var(--grad);border-radius:2px;}
.nav-cta{background:var(--paper);color:var(--bg)!important;padding:.7rem 1.5rem;border-radius:100px;font-weight:600!important;transition:all .25s!important;}
.nav-cta:hover{background:var(--grad);color:var(--paper)!important;transform:translateY(-2px);}
.nav-toggle{display:none;}

/* HERO BLOBS (reused) */
.glow-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.35;z-index:0;animation:orbMove 16s ease-in-out infinite;pointer-events:none;}
.orb-blue{background:var(--blue);}
.orb-purple{background:var(--purple);animation-delay:-6s;}
@keyframes orbMove{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(40px,-30px) scale(1.08);}}

/* PAGE HERO (sub pages) */
.page-hero{position:relative;padding:11rem 4rem 5rem;overflow:hidden;}
.page-hero-inner{position:relative;z-index:2;max-width:900px;}

/* SHARED ELEMENTS */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.1rem;border:1px solid var(--border);border-radius:100px;background:rgba(255,255,255,0.03);backdrop-filter:blur(6px);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:1.75rem;}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--purple);animation:pulseDot 2s infinite;}
@keyframes pulseDot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(139,92,246,.5);}50%{opacity:.6;box-shadow:0 0 0 6px rgba(139,92,246,0);}}

h1.hero-title{font-size:clamp(2.6rem,6vw,5.2rem);font-weight:700;line-height:1.08;color:var(--paper);}
h1.hero-title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-sub{font-size:clamp(1rem,1.5vw,1.2rem);color:var(--text-soft);font-weight:400;max-width:46ch;margin:1.5rem 0 2.25rem;line-height:1.75;}

.btn-primary{background:var(--paper);color:var(--bg);border:none;padding:1.05rem 2.2rem;border-radius:100px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .35s;}
.btn-primary span{position:relative;z-index:1;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(37,99,235,.35);}
.btn-primary:hover::before{opacity:1;}
.btn-primary:hover span{color:var(--paper);}
.btn-secondary{background:transparent;color:var(--paper);border:1.5px solid var(--border);padding:1.05rem 2.2rem;border-radius:100px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-secondary:hover{border-color:var(--paper);background:rgba(255,255,255,0.04);transform:translateY(-3px);}

.cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}

/* HERO METRICS */
.hero-metrics{display:flex;gap:3.5rem;margin-top:4.5rem;flex-wrap:wrap;}
.metric-n{font-family:'General Sans',sans-serif;font-size:2.6rem;font-weight:700;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.metric-l{font-size:.78rem;color:var(--text-soft);margin-top:.4rem;font-weight:500;}

/* TRUST BAR */
.trust{padding:2.5rem 4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;}
.trust-label{text-align:center;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.75rem;}
.trust-track-wrap{position:relative;overflow:hidden;}
.trust-track-wrap::before,.trust-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;}
.trust-track-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.trust-track-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.trust-track{display:inline-flex;gap:4rem;animation:trustScroll 26s linear infinite;align-items:center;}
.trust-track:hover{animation-play-state:paused;}
.trust-item{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.15rem;color:var(--text-faint);white-space:nowrap;transition:color .3s;letter-spacing:-.01em;}
.trust-item:hover{color:var(--paper);}
@keyframes trustScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* SECTION SHARED */
section{padding:7rem 4rem;position:relative;}
.sec-head{max-width:680px;margin-bottom:4rem;}
.sec-eyebrow{display:flex;align-items:center;gap:.7rem;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem;}
.sec-eyebrow::before{content:'';width:1.5rem;height:2px;background:var(--grad);border-radius:2px;}
h2.sec-title{font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;line-height:1.12;color:var(--paper);}
h2.sec-title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.sec-desc{font-size:1rem;color:var(--text-soft);line-height:1.85;margin-top:1.25rem;max-width:60ch;}

/* CTA BAND */
.cta-band{margin-top:3.5rem;padding:2.25rem 2.5rem;border-radius:24px;background:var(--surface);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 100% 0%,rgba(139,92,246,.18),transparent 60%);}
.cta-band-text{position:relative;z-index:1;font-family:'General Sans',sans-serif;font-size:1.3rem;font-weight:700;color:var(--paper);max-width:32ch;}
.cta-band .btn-primary{position:relative;z-index:1;}

/* HERO VISUAL CARD (Closify-style big rounded video/image box) */
.hero-visual{margin-top:3.5rem;border-radius:28px;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;aspect-ratio:16/8;display:flex;align-items:center;justify-content:center;}
.hero-visual::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(139,92,246,.1));}
.hero-visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;}
.hero-visual-mark{position:relative;z-index:1;font-family:'General Sans',sans-serif;font-weight:800;font-size:clamp(3rem,8vw,7rem);color:rgba(255,255,255,0.08);}
.hero-visual-tag{position:absolute;bottom:1.5rem;left:1.5rem;z-index:2;display:flex;align-items:center;gap:.6rem;background:rgba(11,13,18,0.7);backdrop-filter:blur(10px);border:1px solid var(--border);padding:.6rem 1.1rem;border-radius:100px;font-size:.78rem;font-weight:600;}
.hero-visual-tag .play{width:24px;height:24px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.6rem;}

/* ICON STEP CARDS */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.step-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.25rem;transition:all .35s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;}
.step-card:hover{transform:translateY(-6px);border-color:rgba(139,92,246,.3);box-shadow:0 20px 50px rgba(37,99,235,.15);}
.step-icon{width:52px;height:52px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.5rem;transition:transform .35s;}
.step-card:hover .step-icon{transform:scale(1.08) rotate(-5deg);}
.step-name{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.2rem;margin-bottom:.65rem;}
.step-text{font-size:.88rem;color:var(--text-soft);line-height:1.75;}

/* WORK / PERSON CARDS */
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem;}
.wcard{position:relative;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;text-decoration:none;color:inherit;display:block;}
.wcard:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(37,99,235,0.15);border-color:rgba(139,92,246,.3);}
.wc-1{grid-column:span 6;aspect-ratio:4/5;}
.wc-2{grid-column:span 6;aspect-ratio:4/5;}
.wc-3{grid-column:span 6;aspect-ratio:4/5;}
.wc-4{grid-column:span 6;aspect-ratio:4/5;}
.wc-5{grid-column:span 6;aspect-ratio:4/3;}
.wc-6{grid-column:span 6;aspect-ratio:4/3;}
.wc-full{grid-column:span 12;aspect-ratio:21/9;}
.wcard-visual{position:absolute;inset:0;transition:transform .6s cubic-bezier(.2,.8,.2,1);opacity:.9;}
.wc-grad-1{background:linear-gradient(135deg,#16203a,#241a3d);}
.wc-grad-2{background:linear-gradient(135deg,#1e1430,#2a1c3d);}
.wc-grad-3{background:linear-gradient(135deg,#101c30,#1a2440);}
.wc-grad-4{background:linear-gradient(135deg,#241830,#1a1f3a);}
.wc-grad-5{background:linear-gradient(135deg,#172238,#221a38);}
.wc-grad-6{background:linear-gradient(135deg,#1c1530,#152038);}
.wcard:hover .wcard-visual{transform:scale(1.06);}
.wcard-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'General Sans',sans-serif;font-weight:800;font-size:6rem;color:rgba(255,255,255,0.05);user-select:none;}
.wcard-meta{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;background:rgba(11,13,18,0.7);backdrop-filter:blur(10px);border-radius:14px;padding:1.25rem 1.5rem;border:1px solid var(--border);}
.wcard-tag{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem;}
.wtag{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:var(--blue-tint);padding:.25rem .65rem;border-radius:100px;}
.wcard-title{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.05rem;color:var(--paper);margin-bottom:.2rem;}
.wcard-out{font-size:.78rem;color:var(--text-soft);}

/* SERVICE CARDS */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.svc-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.25rem;transition:all .35s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;}
.svc-card:hover{transform:translateY(-6px);border-color:rgba(139,92,246,.3);box-shadow:0 20px 50px rgba(37,99,235,.15);}
.svc-icon{width:48px;height:48px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.5rem;transition:all .35s;}
.svc-card:hover .svc-icon{background:var(--grad);border-color:transparent;transform:scale(1.08) rotate(-5deg);}
.svc-name{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.2rem;margin-bottom:.65rem;}
.svc-text{font-size:.88rem;color:var(--text-soft);line-height:1.75;}

/* OFFER CARD (One Price style) */
.offer-card{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:3rem;text-align:center;position:relative;overflow:hidden;}
.offer-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(37,99,235,.15),transparent 60%);}
.offer-inner{position:relative;z-index:1;}
.offer-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--purple);background:rgba(139,92,246,.1);padding:.4rem 1rem;border-radius:100px;margin-bottom:1.5rem;}
.offer-title{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.6rem;margin-bottom:.75rem;}
.offer-text{font-size:.9rem;color:var(--text-soft);line-height:1.8;max-width:46ch;margin:0 auto 2rem;}

/* CASE STUDY LIST */
.cs-list{display:flex;flex-direction:column;}
.cs-row{display:grid;grid-template-columns:3rem 1fr auto auto;align-items:center;gap:2rem;padding:1.85rem 1.25rem;border-bottom:1px solid var(--border);transition:all .3s cubic-bezier(.2,.8,.2,1);cursor:pointer;border-radius:14px;text-decoration:none;color:inherit;}
.cs-row:first-child{border-top:1px solid var(--border);}
.cs-row:hover{background:var(--surface);transform:translateX(6px);}
.cs-num{font-family:'General Sans',sans-serif;font-weight:700;font-size:.85rem;color:var(--text-faint);}
.cs-row:hover .cs-num{color:var(--blue);}
.cs-name{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.5rem;color:var(--paper);transition:color .25s;}
.cs-row:hover .cs-name{color:var(--blue);}
.cs-industry{font-size:.78rem;color:var(--text-faint);margin-top:.3rem;}
.cs-status{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);background:var(--surface-2);padding:.35rem .8rem;border-radius:100px;}
.cs-arrow{font-size:1.2rem;color:var(--text-faint);opacity:0;transform:translateX(-8px);transition:all .3s;}
.cs-row:hover .cs-arrow{opacity:1;transform:translateX(0);color:var(--blue);}
.cs-note{margin-top:2rem;padding:1.25rem 1.5rem;border:1px dashed var(--border);border-radius:14px;font-size:.82rem;color:var(--text-faint);text-align:center;}

/* TESTIMONIAL CARDS (with avatar/video style) */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.tcard{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .35s;}
.tcard:hover{transform:translateY(-6px);border-color:rgba(139,92,246,.3);}
.tcard-media{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;}
.tcard-media .play{width:44px;height:44px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.tcard-body{padding:1.5rem;}
.tcard-quote{font-size:.86rem;color:var(--text-soft);line-height:1.75;margin-bottom:1rem;font-style:italic;}
.tcard-author{display:flex;align-items:center;gap:.75rem;}
.tcard-dot{width:32px;height:32px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'General Sans',sans-serif;font-size:.75rem;font-weight:700;color:var(--paper);flex-shrink:0;}
.tcard-name{font-size:.82rem;font-weight:600;color:var(--paper);}
.tcard-role{font-size:.7rem;font-weight:300;color:var(--text-faint);}
.test-wrap{border:1px dashed var(--border);border-radius:20px;padding:3rem;text-align:center;}
.test-wrap p{font-size:.92rem;color:var(--text-soft);max-width:50ch;margin:0 auto 1.5rem;line-height:1.85;}

/* FAQ ACCORDION */
.faq-list{max-width:780px;}
.faq-item{border:1px solid var(--border);border-radius:16px;margin-bottom:.75rem;background:var(--surface);overflow:hidden;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 1.6rem;cursor:pointer;gap:1.5rem;}
.faq-q h4{font-family:'General Sans',sans-serif;font-weight:700;font-size:1rem;}
.faq-icon{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-soft);transition:all .3s;}
.faq-item.open .faq-icon{background:var(--grad);border-color:transparent;color:var(--paper);transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.8,.2,1);}
.faq-a p{font-size:.9rem;color:var(--text-soft);line-height:1.85;padding:0 1.6rem 1.4rem;max-width:60ch;}
.faq-item.open .faq-a{max-height:200px;}

/* PROCESS STEPS */
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;}
.pstep{background:var(--surface);padding:2.25rem 1.75rem;transition:background .3s;position:relative;}
.pstep:hover{background:var(--surface-2);}
.pstep-n{font-family:'General Sans',sans-serif;font-weight:800;font-size:1.6rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.25rem;}
.pstep-title{font-family:'General Sans',sans-serif;font-weight:700;font-size:1rem;line-height:1.3;}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-photo{aspect-ratio:4/5;border-radius:24px;background:var(--surface);position:relative;overflow:hidden;display:flex;align-items:flex-end;border:1px solid var(--border);}
.about-photo-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'General Sans',sans-serif;font-weight:800;font-size:9rem;color:rgba(255,255,255,.04);}
.about-photo-card{position:relative;z-index:1;margin:1.5rem;padding:1.25rem 1.5rem;background:rgba(11,13,18,0.7);backdrop-filter:blur(10px);border-radius:14px;width:calc(100% - 3rem);border:1px solid var(--border);}
.about-photo-card .name{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.1rem;}
.about-photo-card .role{font-size:.72rem;color:var(--blue);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem;}
.about-bio{font-size:.96rem;color:var(--text-soft);line-height:1.95;margin-bottom:1.25rem;}
.about-bio strong{color:var(--paper);font-weight:600;}
.about-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 2.5rem;}
.atag{font-size:.78rem;font-weight:600;padding:.5rem 1.1rem;border:1px solid var(--border);border-radius:100px;color:var(--text-soft);background:var(--surface);transition:all .25s;}
.atag:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-tint);transform:translateY(-2px);}

/* CONTACT FORM */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.contact-channels{display:flex;flex-direction:column;gap:1.1rem;margin-top:2.5rem;}
.cchannel-row{display:flex;align-items:center;gap:1.5rem;padding:1.1rem 1.25rem;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:inherit;transition:all .25s;background:var(--surface);}
.cchannel-row:hover{border-color:var(--blue);transform:translateX(4px);}
.cchannel-l{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);width:80px;flex-shrink:0;}
.cchannel-v{font-size:.92rem;font-weight:600;color:var(--paper);}
.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:2.5rem;position:relative;overflow:hidden;}
.contact-form::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad);}
.form-title{font-family:'General Sans',sans-serif;font-size:1.4rem;font-weight:700;margin-bottom:2rem;}
.ff{margin-bottom:1.25rem;}
.ff label{display:block;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.5rem;}
.ff input,.ff textarea,.ff select{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--paper);padding:.85rem 1.1rem;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:300;outline:none;border-radius:10px;transition:border-color .3s,box-shadow .3s;resize:none;appearance:none;}
.ff input:focus,.ff textarea:focus,.ff select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.ff input::placeholder,.ff textarea::placeholder{color:var(--text-faint);}
.ff select option{background:var(--surface-2);}
.ff-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.btn-submit{width:100%;margin-top:.5rem;background:var(--grad);color:var(--paper);border:none;padding:1.1rem;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:transform .2s,box-shadow .3s;}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(37,99,235,.35);}

/* FOOTER */
footer{padding:3rem 4rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);flex-wrap:wrap;gap:1.5rem;}
.footer-links{display:flex;gap:2rem;list-style:none;}
.footer-links a{font-size:.82rem;font-weight:500;color:var(--text-soft);text-decoration:none;transition:color .25s;}
.footer-links a:hover{color:var(--blue);}
.footer-social{display:flex;gap:.75rem;}
.fsoc{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-soft);text-decoration:none;font-size:.85rem;transition:all .25s;}
.fsoc:hover{background:var(--grad);border-color:transparent;color:var(--paper);transform:translateY(-3px);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--grad);border-radius:2px;}

/* FINAL CTA SECTION */
.final-cta{text-align:center;padding:6rem 4rem;}
.final-cta-box{max-width:760px;margin:0 auto;border-radius:28px;background:var(--surface);border:1px solid var(--border);padding:4rem 3rem;position:relative;overflow:hidden;}
.final-cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 20%,rgba(139,92,246,.18),transparent 60%),radial-gradient(ellipse 50% 60% at 10% 90%,rgba(37,99,235,.15),transparent 60%);}
.final-cta-box>*{position:relative;z-index:1;}
.final-cta-box h2{margin-bottom:1.25rem;}
.final-cta-box p{color:var(--text-soft);font-size:.95rem;line-height:1.8;max-width:50ch;margin:0 auto 2rem;}

/* RESPONSIVE */
@media(max-width:1024px){
  nav,.page-hero,section,footer{padding-left:2rem;padding-right:2rem;}
  .about{grid-template-columns:1fr;gap:3rem;}
  .svc-grid,.step-grid,.test-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:repeat(3,1fr);}
  .wc-1,.wc-4{grid-column:span 12;}
  .wc-2,.wc-3,.wc-5,.wc-6{grid-column:span 6;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .nav-links{position:fixed;top:0;right:-100%;width:75%;height:100vh;background:var(--surface);flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem;gap:1.75rem;transition:right .35s cubic-bezier(.2,.8,.2,1);border-left:1px solid var(--border);}
  .nav-links.open{right:0;}
  .nav-links a{font-size:1.1rem;}
  .nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:600;padding:.5rem;}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--paper);border-radius:2px;transition:all .3s;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .page-hero{padding-top:8rem;}
  .hero-metrics{gap:2rem;}
  .metric-n{font-size:2rem;}
  section{padding:4.5rem 1.5rem;}
  nav{padding:1rem 1.5rem;}
  .svc-grid,.step-grid,.test-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr 1fr;}
  .wc-1,.wc-2,.wc-3,.wc-4,.wc-5,.wc-6,.wc-full{grid-column:span 12;aspect-ratio:4/3;}
  .cs-row{grid-template-columns:2.5rem 1fr;gap:1rem;}
  .cs-status,.cs-arrow{display:none;}
  .cta-band{flex-direction:column;align-items:flex-start;text-align:left;}
  .ff-row{grid-template-columns:1fr;}
  .final-cta-box{padding:2.5rem 1.5rem;}
  footer{flex-direction:column;text-align:center;justify-content:center;}
  .footer-links{flex-wrap:wrap;justify-content:center;}
}

/* ══ CASE STUDY BLOCKS ══ */
.case-block{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--surface);margin-bottom:1.5rem;}
.case-top{display:grid;grid-template-columns:380px 1fr;}
.case-hero-img{aspect-ratio:4/5;min-height:380px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--surface-2);position:relative;}
.case-header{padding:2.5rem;display:flex;flex-direction:column;justify-content:center;}
.case-num{font-family:'General Sans',sans-serif;font-weight:800;font-size:.78rem;color:var(--purple);letter-spacing:.1em;margin-bottom:.85rem;}
.case-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem;}
.case-name{font-family:'General Sans',sans-serif;font-weight:700;font-size:clamp(1.4rem,2.4vw,2rem);color:var(--paper);margin-bottom:.75rem;line-height:1.25;}
.case-tagline{font-size:.92rem;color:var(--text-soft);max-width:60ch;line-height:1.8;}
@media(max-width:1024px){
  .case-top{grid-template-columns:1fr;}
  .case-hero-img{aspect-ratio:4/5;min-height:0;}
}
.case-body{padding:1.5rem 2.5rem 2.25rem;}
.case-snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.case-snap-l{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.4rem;}
.case-snap-v{font-size:.85rem;color:var(--paper);font-weight:500;line-height:1.5;}
.case-toggle{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);color:var(--paper);padding:.7rem 1.4rem;border-radius:100px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .25s;}
.case-toggle:hover{border-color:var(--blue);color:var(--blue);}
.case-toggle .arr{transition:transform .3s;}
.case-block.open .case-toggle .arr{transform:rotate(180deg);}
.case-details{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.8,.2,1);}
.case-block.open .case-details{max-height:5000px;}
.case-details-inner{padding-top:2rem;}
.case-section{margin-bottom:1.75rem;}
.case-section h4{font-family:'General Sans',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem;}
.case-section p,.case-section li{font-size:.9rem;color:var(--text-soft);line-height:1.85;}
.case-section ul{padding-left:1.25rem;}
.case-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.5rem;}
.case-gallery img{width:100%;height:auto;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);padding:.5rem;}
.case-gallery img.img-contain{object-fit:contain;background:var(--surface-2);}
.case-hero-img.contain{background-size:contain;background-repeat:no-repeat;background-color:var(--surface-2);}
.case-impact{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.5rem;font-size:.88rem;color:var(--text-soft);line-height:1.8;font-style:italic;}
.case-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.case-cta-text{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.05rem;max-width:32ch;}

/* MINI GALLERY */
.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
/* Fill last row so tiles don't stretch on incomplete rows */
.mini-grid::after,.mini-grid::before{content:'';display:block;}
.mini-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--border);cursor:pointer;width:100%;}
.mini-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.mini-card:hover img{transform:scale(1.08);}
.mini-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,18,0) 30%,rgba(11,13,18,0.92) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.1rem;}
.mini-tag{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.25rem;}
.mini-name{font-family:'General Sans',sans-serif;font-weight:700;font-size:.92rem;color:var(--paper);line-height:1.25;margin-bottom:.35rem;}
.mini-text{font-size:.7rem;color:var(--text-faint);line-height:1.5;display:none;}

@media(max-width:1024px){
  .case-snapshot{grid-template-columns:1fr 1fr;}
  .mini-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .case-hero-img{aspect-ratio:4/5;background-size:contain;background-repeat:no-repeat;background-color:var(--surface-2);}
  .case-body{padding:1.5rem;}
  .case-snapshot{grid-template-columns:1fr;gap:1rem;}
  .case-gallery{grid-template-columns:1fr 1fr;}
  .case-cta{flex-direction:column;align-items:flex-start;}
  .mini-grid{grid-template-columns:1fr 1fr;}
}

/* MINI MODAL */
.mini-card{cursor:pointer;}
.mini-modal-overlay{position:fixed;inset:0;background:rgba(11,13,18,0.85);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .3s;}
.mini-modal-overlay.open{opacity:1;visibility:visible;}
.mini-modal{background:var(--surface);border:1px solid var(--border);border-radius:24px;max-width:900px;width:100%;max-height:85vh;overflow-y:auto;padding:2.5rem;position:relative;transform:translateY(20px);transition:transform .3s;}
.mini-modal-overlay.open .mini-modal{transform:translateY(0);}
.mini-modal-close{position:absolute;top:1.5rem;right:1.5rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .25s;z-index:1;}
.mini-modal-close:hover{border-color:var(--blue);color:var(--blue);}
.mini-modal-tag{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.75rem;}
.mini-modal-title{font-family:'General Sans',sans-serif;font-weight:700;font-size:clamp(1.3rem,2.5vw,1.8rem);color:var(--paper);margin-bottom:.75rem;max-width:85%;}
.mini-modal-desc{font-size:.9rem;color:var(--text-soft);line-height:1.8;max-width:65ch;margin-bottom:1.75rem;}
.mini-modal-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;}
.mini-modal-gallery img{width:100%;height:auto;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);}
@media(max-width:768px){
  .mini-modal{padding:1.5rem;}
  .mini-modal-gallery{grid-template-columns:1fr 1fr;}
}



/* ══ WORK PAGE BANNER ══ */
.work-banner{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:0;}
.work-banner-bg{position:absolute;inset:0;z-index:0;}
.work-banner-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:orbMove 16s ease-in-out infinite;}
.work-banner-orb.orb1{width:600px;height:600px;background:var(--blue);top:-200px;left:-100px;}
.work-banner-orb.orb2{width:500px;height:500px;background:var(--purple);bottom:-150px;right:-80px;animation-delay:-7s;}
.work-banner-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);}
.work-banner-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:10rem 4rem 6rem;max-width:1400px;margin:0 auto;width:100%;}
.work-banner-left .eyebrow{margin-bottom:1.5rem;}
.work-banner-left .hero-title{font-size:clamp(2.6rem,5.5vw,4.8rem);margin-bottom:1.5rem;}
.work-banner-left .hero-sub{margin-bottom:2.5rem;}
.work-banner-stats{display:flex;gap:3rem;flex-wrap:wrap;}
.wbstat-n{font-family:'General Sans',sans-serif;font-size:2.8rem;font-weight:700;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.wbstat-l{font-size:.78rem;color:var(--text-soft);margin-top:.4rem;font-weight:500;}

/* MOSAIC */
.work-banner-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;height:580px;}
.mosaic-col{display:flex;flex-direction:column;gap:.75rem;}
.mosaic-col-2{margin-top:2.5rem;}
.mosaic-col-3{margin-top:1.25rem;}
.mosaic-card{flex:1;border-radius:16px;background-size:cover;background-position:center;border:1px solid var(--border);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;cursor:pointer;min-height:0;}
.mosaic-card:hover{transform:scale(1.03);box-shadow:0 16px 40px rgba(37,99,235,.2);}

@media(max-width:1024px){
  .work-banner-inner{grid-template-columns:1fr;gap:3rem;padding:9rem 2rem 4rem;}
  .work-banner-mosaic{height:360px;grid-template-columns:repeat(3,1fr);}
}
@media(max-width:768px){
  .work-banner-inner{padding:8rem 1.5rem 3rem;}
  .work-banner-mosaic{height:260px;gap:.5rem;}
  .mosaic-col-2{margin-top:1.5rem;}
  .mosaic-col-3{margin-top:.75rem;}
  .mosaic-card{border-radius:10px;}
  .work-banner-stats{gap:1.75rem;}
  .wbstat-n{font-size:2rem;}
}

/* ══ AUDIT SECTION ══ */
.audit-points{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;text-align:left;}
.audit-pt{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:var(--text-soft);line-height:1.6;}
.audit-check{color:#22c55e;font-weight:700;font-size:1rem;flex-shrink:0;margin-top:.05rem;}

/* ══ TESTIMONIALS GRID ══ */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.tcard{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .35s;}
.tcard:hover{transform:translateY(-5px);border-color:rgba(139,92,246,.3);}
.tcard-body{padding:2rem;}
.tcard-quote{font-size:.9rem;color:var(--text-soft);line-height:1.8;margin-bottom:1.5rem;font-style:italic;}
.tcard-author{display:flex;align-items:center;gap:.75rem;}
.tcard-dot{width:38px;height:38px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'General Sans',sans-serif;font-size:.85rem;font-weight:700;color:var(--paper);flex-shrink:0;}
.tcard-name{font-size:.85rem;font-weight:600;color:var(--paper);}
.tcard-role{font-size:.72rem;color:var(--text-faint);}
@media(max-width:768px){.test-grid{grid-template-columns:1fr;}}

/* ══ WHATSAPP BUTTON ══ */
.btn-whatsapp{background:#25D366;color:#fff;border:none;padding:1.05rem 2rem;border-radius:100px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s;}
.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(37,211,102,.35);}

/* ══ HERO PROOF LINE ══ */
.hero-proof{font-size:.78rem;color:var(--text-faint);margin-bottom:1.5rem;font-weight:500;letter-spacing:.02em;}

/* ══ STICKY MOBILE CTA ══ */
/* ══ STICKY RIGHT-SIDE FLOATING BUTTONS ══ */
.sticky-mobile-cta{position:fixed;right:1.25rem;bottom:2rem;z-index:1000;display:flex;flex-direction:column;gap:.65rem;align-items:flex-end;}
.sticky-btn-primary{background:var(--grad);color:var(--paper);border:none;padding:.75rem 1.25rem;border-radius:100px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;box-shadow:0 6px 24px rgba(37,99,235,.35);white-space:nowrap;transition:transform .25s,box-shadow .25s;}
.sticky-btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(37,99,235,.45);}
.sticky-btn-whatsapp{background:#25D366;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:100px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;box-shadow:0 6px 24px rgba(37,211,102,.35);white-space:nowrap;transition:transform .25s,box-shadow .25s;}
.sticky-btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(37,211,102,.45);}
@media(max-width:768px){
  .sticky-mobile-cta{right:.85rem;bottom:1.25rem;}
  body{padding-bottom:0;}
}


/* Mini grid filler - invisible element to complete last row */
.mini-card-filler{aspect-ratio:1/1;border-radius:16px;visibility:hidden;pointer-events:none;}

/* ══ SERVICES HERO FORM ══ */
.svc-hero-form{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.25rem;position:relative;overflow:hidden;}
.svc-hero-form::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.svc-hero-form-title{font-family:'General Sans',sans-serif;font-weight:700;font-size:1.3rem;color:var(--paper);margin-bottom:.5rem;}
.svc-hero-form-sub{font-size:.82rem;color:var(--text-soft);line-height:1.6;margin-bottom:1.5rem;}
.svc-hero-form .ff{margin-bottom:1rem;}
.svc-hero-form .ff label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.4rem;}
.svc-hero-form .ff input,.svc-hero-form .ff select{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--paper);padding:.75rem 1rem;font-family:'Inter',sans-serif;font-size:.85rem;outline:none;border-radius:10px;transition:border-color .3s;appearance:none;}
.svc-hero-form .ff input:focus,.svc-hero-form .ff select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.svc-hero-form .ff input::placeholder{color:var(--text-faint);}
.svc-hero-form .ff select option{background:var(--surface-2);}
.svc-hero-form .btn-submit{width:100%;margin-top:.5rem;background:var(--grad);color:var(--paper);border:none;padding:1rem;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:transform .2s,box-shadow .3s;}
.svc-hero-form .btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,99,235,.35);}

/* ══ SERVICE VISUAL IMAGE (clean display) ══ */
.svc-visual{border-radius:20px;overflow:hidden;border:1px solid var(--border);}
.svc-visual-img-wrap{position:relative;aspect-ratio:4/5;overflow:hidden;}
.svc-visual-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.svc-visual:hover .svc-visual-img{transform:scale(1.04);}
.svc-visual-num{position:absolute;top:1.25rem;left:1.25rem;font-family:'General Sans',sans-serif;font-weight:800;font-size:.78rem;color:var(--paper);background:rgba(11,13,18,0.6);backdrop-filter:blur(6px);border:1px solid var(--border);padding:.35rem .75rem;border-radius:100px;letter-spacing:.08em;}

@media(max-width:1024px){
  .svc-visual-img-wrap{aspect-ratio:3/2;}
}
@media(max-width:768px){
  .svc-hero-form{padding:1.5rem;}
  .svc-visual-img-wrap{aspect-ratio:4/3;}
}
