
/* =========================================
   ROOT TOKENS
========================================= */
:root {
  --g1: #1a3a1a;   /* deep forest */
  --g2: #2d5c2d;   /* brand green */
  --g3: #3d7a3d;   /* mid green */
  --g4: #5aaa5a;   /* bright green */
  --g5: #8acc8a;   /* light green */
  --g6: #c2e8c2;   /* pale mint */
  --w:  #ffffff;
  --w8: rgba(255,255,255,0.08);
  --w15:rgba(255,255,255,0.15);
  --w25:rgba(255,255,255,0.25);
  --w40:rgba(255,255,255,0.40);
  --w60:rgba(255,255,255,0.60);
  --w80:rgba(255,255,255,0.80);
  --bg:  #f5f7f2;   /* off-white paper */
  --ink: #0d1a0d;   /* near-black green */
  --nav: 76px;
  --ease: cubic-bezier(0.16,1,0.3,1);
}

/* =========================================
   RESET
========================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:'Outfit',sans-serif;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
  cursor:none;
  line-height:1.6;
}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--g3);border-radius:99px}

/* =========================================
   CURSOR
========================================= */
#cDot{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--g4);pointer-events:none;z-index:99999;transform:translate(-50%,-50%);box-shadow:0 0 20px var(--g4),0 0 40px rgba(90,170,90,0.4);mix-blend-mode:multiply;transition:width .3s,height .3s,opacity .3s}
#cRing{position:fixed;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(90,170,90,0.5);pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .45s var(--ease),height .45s var(--ease),border-color .3s}
#cDot.hov{width:0;height:0;opacity:0}
#cRing.hov{width:56px;height:56px;border-color:var(--g4);background:rgba(90,170,90,0.05)}

/* =========================================
   NOISE
========================================= */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9997;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
opacity:.03;mix-blend-mode:multiply}

/* =========================================
   NAV
========================================= */
nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav);z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 56px;
  transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,backdrop-filter .4s ease;
}
nav.light{background:rgba(245,247,242,0.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(45,92,45,0.12);box-shadow:0 2px 40px rgba(13,26,13,0.06)}
nav.dark{background:rgba(13,26,13,0.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(90,170,90,0.12)}
.nav-logo{display:flex;align-items:center;gap:0;text-decoration:none;flex-shrink:0}
.nav-logo img{height:56px;width:auto;filter:none;display:block;object-fit:contain}
/* logo is green on black - no filter needed */
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{
  font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;padding:8px 14px;border-radius:6px;transition:all .2s;
  color:rgba(255,255,255,0.7);
}
.nav-links a:hover,.nav-links a.act{color:#fff;background:rgba(255,255,255,0.08)}
nav.scrolled .nav-links a{color:rgba(255,255,255,0.75)}
nav.scrolled .nav-links a:hover,nav.scrolled .nav-links a.act{color:#fff;background:rgba(90,170,90,0.15)}
.nav-cta{
  background:var(--g3)!important;color:var(--w)!important;
  border-radius:6px!important;font-weight:700!important;
  box-shadow:0 4px 20px rgba(45,92,45,0.35)!important;
  transition:all .3s var(--ease)!important;
}
.nav-cta:hover{background:var(--g4)!important;transform:translateY(-1px)!important;box-shadow:0 8px 32px rgba(90,170,90,0.4)!important}
.hbg{display:none;background:none;border:none;cursor:none;padding:8px;flex-direction:column;gap:5px}
.hbg span{width:22px;height:1.5px;border-radius:2px;transition:.3s;display:block}
.hbg span{background:var(--w)}
.mob{
  position:fixed;inset:0;z-index:999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:28px;
  transform:translateX(100%);
  transition:transform .5s var(--ease);
  background:var(--g1);
  overflow-y:auto;
  padding:80px 32px 48px;
}
.mob.open{transform:translateX(0)}
body.mob-open{overflow:hidden}

/* =========================================
   PAGE SYSTEM
========================================= */
.page{display:none;min-height:100vh}
.page.act{display:block;animation:pIn .65s var(--ease) forwards}
@keyframes pIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* =========================================
   TYPOGRAPHY
========================================= */
.display{font-family:'Bebas Neue',sans-serif;letter-spacing:.04em;line-height:.95}
.mono{font-family:'Space Mono',monospace}
h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,10vw,6rem);letter-spacing:.03em;line-height:.93}
h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,6vw,5.5rem);letter-spacing:.03em;line-height:.95}
h3{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
h4{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:700}
.eyebrow{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:'//';color:var(--g4);margin-right:2px}

/* =========================================
   SECTIONS / CONTAINERS
========================================= */
section{padding:120px 0}
.wrap{max-width:1220px;margin:0 auto;padding:0 48px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* =========================================
   BUTTONS
========================================= */
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:none;
  padding:16px 34px;border-radius:6px;font-family:'Outfit',sans-serif;
  font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;border:none;transition:all .35s var(--ease);position:relative;overflow:hidden;
}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);transform:translateX(-200%);transition:.6s var(--ease)}
.btn:hover::after{transform:translateX(200%)}
.btn-green{background:var(--g2);color:var(--w);box-shadow:0 4px 24px rgba(45,92,45,0.3)}
.btn-green:hover{background:var(--g3);transform:translateY(-2px);box-shadow:0 12px 40px rgba(45,92,45,0.45)}
.btn-white{background:var(--w);color:var(--g1)}
.btn-white:hover{background:var(--g6);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,0.15)}
.btn-outline-w{background:transparent;color:var(--w);border:1.5px solid var(--w40)}
.btn-outline-w:hover{border-color:var(--w);background:var(--w8)}
.btn-outline-g{background:transparent;color:var(--g2);border:1.5px solid rgba(45,92,45,0.3)}
.btn-outline-g:hover{border-color:var(--g3);background:rgba(45,92,45,0.06);color:var(--g2)}
.btn-lg{padding:20px 44px;font-size:1rem}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translate(4px,-3px)}

/* =========================================
   REVEAL
========================================= */
.rv{opacity:0;transform:translateY(32px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.rv.on{opacity:1;transform:translateY(0)}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

/* =========================================
   DARK HERO (home, inner pages)
========================================= */
.dark-hero{
  background:var(--g1);position:relative;overflow:hidden;
  min-height:100vh;display:flex;align-items:center;
  padding-top:var(--nav);padding-bottom:60px;
}
/* circuit grid background */
.dark-hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(90,170,90,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(90,170,90,0.06) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 90% 90% at 60% 40%,black 20%,transparent 100%);
}
.dark-hero::after{content:none}
/* orbs */
.orb{position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(90,170,90,0.35) 0%,transparent 70%);
  filter:blur(80px);animation:orbf 14s ease-in-out infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes orbf{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-25px) scale(1.08)}66%{transform:translate(-15px,10px) scale(0.94)}}
.hero-text-wrap{position:relative;z-index:2;padding:80px 0}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center}

/* dot connector line decoration */
.circuit-line{position:absolute;background:rgba(90,170,90,0.15);pointer-events:none}
.circuit-line.h{height:1px}
.circuit-line.v{width:1px}
.circuit-dot{position:absolute;width:6px;height:6px;border-radius:50%;border:1.5px solid rgba(90,170,90,0.4);pointer-events:none}

/* =========================================
   HOME HERO SPECIFICS
========================================= */
.hero-super{
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--g5);
  display:flex;align-items:center;gap:12px;margin-bottom:24px;
  animation:fadeUp .7s var(--ease) .1s both;
}
.hero-super::before{content:'';width:32px;height:1px;background:var(--g4)}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--g4);animation:pd 2s ease-in-out infinite;flex-shrink:0}
@keyframes pd{0%,100%{box-shadow:0 0 0 0 rgba(90,170,90,0.6)}70%{box-shadow:0 0 0 8px transparent}}
.hero-h1{color:var(--w);animation:fadeUp .8s var(--ease) .25s both}
.hero-h1 .olive{color:var(--g4)}
.hero-h1 .outline{-webkit-text-stroke:2px rgba(255,255,255,0.4);color:transparent}
.hero-sub{color:var(--w60);font-size:1.1rem;max-width:520px;margin-top:24px;line-height:1.75;animation:fadeUp .8s var(--ease) .4s both}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:44px;animation:fadeUp .8s var(--ease) .55s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* STATS ROW */
.hero-stats{
  display:flex;gap:0;margin-top:80px;padding-top:48px;
  border-top:1px solid rgba(90,170,90,0.15);
  animation:fadeUp .8s var(--ease) .7s both;
}
.hs{flex:1;padding-right:40px;border-right:1px solid rgba(90,170,90,0.15)}
.hs:last-child{border-right:none;padding-right:0}
.hs-n{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;letter-spacing:.04em;color:var(--w);line-height:1}
.hs-n em{color:var(--g4);font-style:normal}
.hs-l{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--w40);margin-top:6px}

/* DASHBOARD WIDGET */
.dash{
  position:relative;z-index:2;
  background:rgba(13,26,13,0.7);backdrop-filter:blur(24px);
  border:1px solid rgba(90,170,90,0.2);border-radius:16px;padding:28px;
  box-shadow:0 40px 100px rgba(0,0,0,0.5),inset 0 1px 0 rgba(90,170,90,0.1);
  animation:fadeUp .9s var(--ease) .45s both;
}
.dash-top{display:flex;align-items:center;gap:8px;margin-bottom:22px}
.dd{width:10px;height:10px;border-radius:50%}
.dd.r{background:#ff5f57}.dd.y{background:#febc2e}.dd.g{background:#28c840}
.dash-label{font-family:'Space Mono',monospace;font-size:.62rem;color:rgba(90,170,90,0.5);margin-left:auto;letter-spacing:.1em}
.dash-row{
  background:rgba(90,170,90,0.05);border:1px solid rgba(90,170,90,0.12);
  border-radius:8px;padding:14px 16px;margin-bottom:8px;
  display:flex;justify-content:space-between;align-items:flex-start;
  transition:border-color .3s;
}
.dash-row:hover{border-color:rgba(90,170,90,0.3)}
.dash-row:last-child{margin-bottom:0}
.dr-l{font-size: 1rem;color:rgba(255,255,255,0.5)}
.dr-v{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.05em;color:var(--w)}
.dr-v.up{color:var(--g4)}.dr-v.hot{color:#fb923c}
.pbar{height:3px;background:rgba(90,170,90,0.1);border-radius:99px;margin-top:6px;overflow:hidden;width:100%}
.pf{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--g2),var(--g4));transition:width 1.8s var(--ease)}
.dash-bot{
  margin-top:14px;border-top:1px solid rgba(90,170,90,0.1);padding-top:14px;
  display:flex;justify-content:space-between;align-items:center;
}
.db-label{font-family:'Space Mono',monospace;font-size:.58rem;color:rgba(90,170,90,0.4);letter-spacing:.12em;text-transform:uppercase}
.db-val{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.05em;color:var(--g4)}
.fp{
  position:absolute;background:rgba(13,26,13,0.85);backdrop-filter:blur(12px);
  border:1px solid rgba(90,170,90,0.25);border-radius:8px;
  padding:10px 16px;font-size:1.2remfont-weight:600;color:var(--w);
  box-shadow:0 12px 40px rgba(0,0,0,0.4);white-space:nowrap;
  display:flex;align-items:center;gap:8px;animation:fl 4s ease-in-out infinite;
}
.fp-dot{width:6px;height:6px;border-radius:50%;background:var(--g4);animation:pd 2s infinite}
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* =========================================
   WHITE SECTIONS
========================================= */
.white-section{background:var(--w)}
.off-section{background:var(--bg)}
.green-section{background:var(--g1);color:var(--w)}
.green-section p{color:var(--w60)}
.green-section h2{color:var(--w)}
.green-section h3{color:var(--w)}

/* =========================================
   CARDS (WHITE BG)
========================================= */
.card{
  background:var(--w);border:1px solid rgba(45,92,45,0.1);
  border-radius:12px;padding:40px;transition:all .4s var(--ease);
  position:relative;overflow:hidden;
}
.card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--g2),var(--g4));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(13,26,13,0.1);border-color:rgba(45,92,45,0.25)}
.card:hover::after{transform:scaleX(1)}
.card-num{font-family:'Space Mono',monospace;font-size:.62rem;color:rgba(45,92,45,0.35);letter-spacing:.16em;margin-bottom:20px;display:block}
.cico{width:52px;height:52px;border-radius:10px;background:rgba(45,92,45,0.08);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px;transition:.3s var(--ease)}
.card:hover .cico{background:rgba(45,92,45,0.14);box-shadow:0 0 20px rgba(45,92,45,0.15)}
.card p{color:rgba(13,26,13,0.6);font-size:.9rem;margin-top:10px;line-height:1.7}
.card h3{color:var(--ink)}

/* DARK CARDS (green bg) */
.dcard{
  background:rgba(255,255,255,0.04);border:1px solid rgba(90,170,90,0.15);
  border-radius:12px;padding:40px;transition:all .4s var(--ease);
  position:relative;overflow:hidden;
}
.dcard::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g3),var(--g5));transform:scaleX(0);transform-origin:left;transition:.4s var(--ease)}
.dcard:hover{background:rgba(255,255,255,0.07);border-color:rgba(90,170,90,0.3);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.dcard:hover::after{transform:scaleX(1)}
.dcard h3{color:var(--w);margin-bottom:10px}
.dcard p{color:var(--w60);font-size:.9rem;line-height:1.7}
.dcard .card-num{color:rgba(90,170,90,0.3)}

/* =========================================
   TAGS
========================================= */
.tag{
  font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;display:inline-block;
}
.tag-g{background:rgba(45,92,45,0.1);color:var(--g2);border:1px solid rgba(45,92,45,0.2)}
.tag-dg{background:rgba(90,170,90,0.1);color:var(--g5);border:1px solid rgba(90,170,90,0.2)}

/* =========================================
   BENTO GRID
========================================= */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:16px}
.bt{grid-row:span 2}
.bw{grid-column:span 2}
.bitem{border-radius:14px;padding:40px;position:relative;overflow:hidden;transition:all .4s var(--ease)}
.bitem-w{background:var(--w);border:1px solid rgba(45,92,45,0.1)}
.bitem-w:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(13,26,13,0.1);border-color:rgba(45,92,45,0.25)}
.bitem-g{background:var(--g1);border:1px solid rgba(90,170,90,0.15)}
.bitem-g:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,0.3)}
.bitem-mg{background:linear-gradient(135deg,var(--g1),var(--g2));border:1px solid rgba(90,170,90,0.2)}
.big-num{font-family:'Bebas Neue',sans-serif;font-size:6rem;line-height:1;letter-spacing:.04em}
.big-num.ghost{color:rgba(45,92,45,0.1)}
.big-num.ghost-w{color:rgba(90,170,90,0.12)}

/* =========================================
   STATS BAND — GREEN BG
========================================= */
.stats-band{background:var(--g2);padding:80px 0;position:relative;overflow:hidden;width:100%}
.stats-band::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);
  background-size:40px 40px;
}
.sb-item{text-align:center;position:relative;z-index:1}
.sb-n{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,5rem);letter-spacing:.04em;color:var(--w);line-height:1}
.sb-n em{color:var(--g6);font-style:normal}
.sb-l{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:8px}

/* =========================================
   PROCESS
========================================= */
.proc-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.proc-wrap::before{content:'';position:absolute;top:32px;left:56px;right:56px;height:1px;background:linear-gradient(90deg,var(--g3),var(--g4),var(--g3));z-index:0}
.proc-step{position:relative;z-index:1;text-align:center;padding:0 24px}
.proc-num{
  width:64px;height:64px;border-radius:50%;
  background:var(--w);border:2px solid var(--g3);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.04em;color:var(--g2);
  margin:0 auto 24px;transition:all .4s var(--ease);
  box-shadow:0 4px 20px rgba(45,92,45,0.15);
}
.proc-step:hover .proc-num{background:var(--g2);color:var(--w);transform:scale(1.1);box-shadow:0 8px 32px rgba(45,92,45,0.4)}
.proc-step h4{color:var(--ink);margin-bottom:8px}
.proc-step p{font-size:.82rem;color:rgba(13,26,13,0.55);line-height:1.6}

/* =========================================
   SERVICES LIST
========================================= */
.svc-row{
  display:grid;grid-template-columns:64px 56px 1fr auto;align-items:center;gap:28px;
  padding:28px 0;border-bottom:1px solid rgba(45,92,45,0.1);
  transition:all .4s var(--ease);cursor:none;position:relative;
}
.svc-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(45,92,45,0.04);transition:width .4s var(--ease)}
.svc-row:hover::before{width:100%}
.svc-row:hover{padding-left:12px}
.svc-n{font-family:'Space Mono',monospace;font-size:.62rem;color:rgba(45,92,45,0.4);letter-spacing:.1em}
.svc-ico{width:48px;height:48px;border-radius:10px;background:rgba(45,92,45,0.07);border:1px solid rgba(45,92,45,0.1);display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:.35s var(--ease);flex-shrink:0}
.svc-row:hover .svc-ico{background:rgba(45,92,45,0.14);border-color:rgba(45,92,45,0.25);box-shadow:0 0 20px rgba(45,92,45,0.15)}
.svc-info h4{color:var(--ink);margin-bottom:4px;font-size:1.05rem}
.svc-info p{font-size:.825rem;color:rgba(13,26,13,0.55);line-height:1.5}
.svc-arr{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(45,92,45,0.2);display:flex;align-items:center;justify-content:center;color:rgba(45,92,45,0.4);flex-shrink:0;transition:.3s var(--ease)}
.svc-row:hover .svc-arr{border-color:var(--g3);color:var(--g3);background:rgba(45,92,45,0.06);transform:rotate(-45deg)}

/* =========================================
   TESTIMONIALS
========================================= */
.tcard{background:var(--w);border:1px solid rgba(45,92,45,0.1);border-radius:14px;padding:40px;transition:.4s var(--ease);position:relative}
.tcard::before{content:'\201C';position:absolute;top:20px;right:28px;font-family:'Bebas Neue',sans-serif;font-size:5rem;color:rgba(45,92,45,0.08);line-height:1}
.tcard:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(13,26,13,0.1);border-color:rgba(45,92,45,0.25)}
.tcard-q{font-size:.975rem;line-height:1.75;color:rgba(13,26,13,0.8);font-style:italic;margin-bottom:24px}
.tcard-a{display:flex;align-items:center;gap:12px}
.tcard-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--g2),var(--g4));display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:.9rem;color:var(--w);letter-spacing:.04em;flex-shrink:0}
.tcard-name{font-weight:700;font-size:.875rem;color:var(--ink)}
.tcard-role{font-size:1.2remcolor:rgba(13,26,13,0.45)}
.stars{color:var(--g3);font-size:.8rem;letter-spacing:2px;margin-bottom:14px}

/* =========================================
   CASE STUDIES
========================================= */
.case-item{
  display:grid;grid-template-columns:1fr auto;
  background:var(--w);border:1px solid rgba(45,92,45,0.1);border-radius:14px;
  overflow:hidden;margin-bottom:16px;transition:.4s var(--ease);
}
.case-item:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(13,26,13,0.1);border-color:rgba(45,92,45,0.25)}
.case-body{padding:40px}
.case-ind{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g3);margin-bottom:12px}
.case-body h3{color:var(--ink);margin-bottom:10px}
.case-body p{font-size:.875rem;color:rgba(13,26,13,0.6)}
.case-nums{background:var(--g1);padding:36px;display:flex;flex-direction:column;gap:24px;justify-content:center;min-width:180px}
.cn-num{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;letter-spacing:.04em;color:var(--g4)}
.cn-lbl{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(90,170,90,0.5);margin-top:2px}

/* =========================================
   BLOG
========================================= */
.blog-card{background:var(--w);border:1px solid rgba(45,92,45,0.1);border-radius:12px;overflow:hidden;transition:.4s var(--ease);cursor:none}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(13,26,13,0.1);border-color:rgba(45,92,45,0.25)}
.blog-thumb{height:180px;position:relative;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,var(--g1),var(--g2))}
.blog-body{padding:28px}
.blog-cat{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g3);margin-bottom:10px}
.blog-card h4{color:var(--ink);font-size:.975rem;line-height:1.4;margin-bottom:8px}
.blog-meta{font-family:'Space Mono',monospace;font-size:.62rem;color:rgba(13,26,13,0.35);display:flex;justify-content:space-between;margin-top:14px}

/* =========================================
   PRICING
========================================= */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.pc{background:var(--w);border:1px solid rgba(45,92,45,0.12);border-radius:14px;padding:40px;transition:.4s var(--ease);position:relative;overflow:hidden}
.pc:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(13,26,13,0.1)}
.pc.feat{background:var(--g1);border-color:rgba(90,170,90,0.25);box-shadow:0 0 60px rgba(45,92,45,0.12)}
.pc.feat h3,.pc.feat .pc-price{color:var(--w)}
.pc.feat p,.pc.feat .pf-item{color:var(--w60)}
.pc.feat .pf-item::before{color:var(--g4)}
.pc.feat:hover{box-shadow:0 40px 80px rgba(0,0,0,0.3),0 0 60px rgba(45,92,45,0.15)}
.pc-badge{position:absolute;top:0;right:0;background:var(--g3);color:var(--w);font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:0 14px 0 10px}
.pc-plan{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g3);margin-bottom:10px}
.pc.feat .pc-plan{color:var(--g5)}
.pc-price{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;letter-spacing:.04em;color:var(--ink);line-height:1;margin:16px 0 4px}
.pc-sub{font-size:.78rem;color:rgba(13,26,13,0.45);margin-bottom:28px}
.pc.feat .pc-sub{color:var(--w40)}
.pf-list{display:flex;flex-direction:column;gap:10px;margin:24px 0}
.pf-item{font-size:.875rem;color:rgba(13,26,13,0.65);padding-left:18px;position:relative}
.pf-item::before{content:'→';position:absolute;left:0;color:var(--g3);font-size:.8rem}
.pdiv{height:1px;background:rgba(45,92,45,0.1);margin:20px 0}
.pc.feat .pdiv{background:rgba(90,170,90,0.12)}

/* =========================================
   CONTACT / FORM
========================================= */
.fl{display:block;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(13,26,13,0.45);margin-bottom:8px}
.fi,.fs,.ft{width:100%;padding:14px 18px;border:1.5px solid rgba(45,92,45,0.15);border-radius:8px;background:rgba(45,92,45,0.03);color:var(--ink);font-family:'Outfit',sans-serif;font-size:.9375rem;outline:none;transition:.3s}
.fi:focus,.fs:focus,.ft:focus{border-color:var(--g3);background:rgba(45,92,45,0.05);box-shadow:0 0 0 3px rgba(45,92,45,0.08)}
.ft{resize:vertical;min-height:120px}
.fg{margin-bottom:18px}
.fs option{background:var(--bg)}

/* =========================================
   FOOTER
========================================= */
footer{background:var(--g1);padding:80px 0 40px;border-top:1px solid rgba(90,170,90,0.12)}
.fg-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:60px}
.footer-logo{display:block;margin-bottom:14px}
.footer-logo img{height:64px;width:auto;filter:brightness(0.9) saturate(1.2);display:block}
.fd{font-size:.875rem;color:var(--w40);line-height:1.7;max-width:280px}
.fc h5{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(90,170,90,0.4);margin-bottom:18px}
.flinks{display:flex;flex-direction:column;gap:10px}
.flinks a{font-size:.875rem;color:var(--w40);text-decoration:none;transition:.2s}
.flinks a:hover{color:var(--g5)}
.fbot{border-top:1px solid rgba(90,170,90,0.1);padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:1.2remcolor:var(--w25)}
.socs{display:flex;gap:10px}
.soc{width:34px;height:34px;border-radius:6px;border:1px solid rgba(90,170,90,0.15);display:flex;align-items:center;justify-content:center;color:var(--w40);text-decoration:none;font-size:.8rem;transition:.2s}
.soc:hover{border-color:var(--g4);color:var(--g5);background:rgba(90,170,90,0.08)}

/* =========================================
   PAGE INNER HERO (non-home)
========================================= */
.inner-hero{
  background:var(--g1);padding:calc(var(--nav) + 80px) 0 90px;
  position:relative;overflow:hidden;border-bottom:1px solid rgba(90,170,90,0.12);
  width:100%;
}
.inner-hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(90,170,90,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(90,170,90,0.05) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 70% 50%,black 30%,transparent 100%);
}
.inner-hero h1{color:var(--w)}
.inner-hero h1 em{color:var(--g4);font-style:normal}
.inner-hero .lead{color:var(--w60);font-size:1.05rem;max-width:560px;margin-top:20px;line-height:1.75}
.inner-orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(90,170,90,0.3) 0%,transparent 70%);filter:blur(80px);animation:orbf 14s ease-in-out infinite;pointer-events:none}

/* =========================================
   CTA BAND
========================================= */
.cta-band{background:var(--g2);padding:100px 0;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:50px 50px}
.cta-band h2{color:var(--w)}
.cta-band p{color:rgba(255,255,255,0.65);max-width:480px}
.cta-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px;width:100%}
.cstat{background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:24px;text-align:center}
.cstat-n{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;letter-spacing:.04em;color:var(--g6)}
.cstat-l{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:4px}

/* =========================================
   ACCORDION
========================================= */
.ac-item{border-bottom:1px solid rgba(45,92,45,0.1)}
.ac-hdr{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:none}
.ac-hdr h4{font-size:.95rem;color:var(--ink)}
.ac-ico{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(45,92,45,0.2);display:flex;align-items:center;justify-content:center;color:rgba(45,92,45,0.4);flex-shrink:0;transition:.3s var(--ease)}
.ac-item.open .ac-ico{transform:rotate(45deg);border-color:var(--g3);color:var(--g3)}
.ac-body{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.ac-body.open{max-height:220px}
.ac-body p{padding-bottom:22px;font-size:.9rem;color:rgba(13,26,13,0.6)}

/* =========================================
   ROI CALC
========================================= */
input[type=range]{width:100%;accent-color:var(--g3);cursor:none;height:4px;border-radius:99px}
.roi-out{background:var(--g1);border-radius:12px;padding:36px;text-align:center;margin-top:16px}
.roi-n{font-family:'Bebas Neue',sans-serif;font-size:4rem;letter-spacing:.04em;color:var(--g4)}

/* =========================================
   TOAST
========================================= */
.toast{
  position:fixed;bottom:32px;right:32px;z-index:9990;
  background:var(--g1);border:1px solid rgba(90,170,90,0.3);border-left:3px solid var(--g4);
  color:var(--w);padding:18px 24px;border-radius:10px;font-size:.875rem;
  box-shadow:0 24px 60px rgba(0,0,0,0.4);
  transform:translateY(100px);opacity:0;transition:.4s var(--ease);max-width:340px;
}
.toast.show{transform:translateY(0);opacity:1}
.toast::before{content:'✓  ';color:var(--g4);font-weight:700}

/* =========================================
   RESPONSIVE
========================================= */
@media(max-width:1100px){
  .bento{grid-template-columns:1fr 1fr}.bt{grid-row:auto}.bw{grid-column:auto}
  .fg-grid{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-dash{display:none}
  .fp{display:none}
}
@media(max-width:900px){
  .g3,.g4,.price-grid,.cta-stats{grid-template-columns:1fr 1fr}
  .proc-wrap{gap:0}
  .case-item{grid-template-columns:1fr}
  .case-nums{flex-direction:row;flex-wrap:wrap;gap:16px;border-left:none;border-top:1px solid rgba(90,170,90,0.15)}
  nav{padding:0 24px}.nav-links{display:none}.hbg{display:flex}
  .svc-row{grid-template-columns:auto 1fr auto;gap:16px}.svc-n{display:none}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-text-wrap{padding:48px 0 24px}
  .hero-dash{display:none}
  .fp{display:none}
  .bento{grid-template-columns:1fr 1fr}
  .inner-hero h1{font-size:3rem}
}
@media(max-width:680px){
  :root{--nav:62px}
  section{padding:72px 0}.wrap{padding:0 20px}
  h1{font-size:3.2rem}h2{font-size:2.2rem}
  .nav-logo img{height:44px}
  .g2,.g3,.g4,.bento,.proc-wrap,.price-grid,.cta-stats{grid-template-columns:1fr}
  .fg-grid{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr!important;gap:32px}
  .hero-text-wrap{padding:40px 0 24px}
  .hero-stats{flex-direction:column;gap:20px}
  .hs{border-right:none;border-bottom:1px solid rgba(90,170,90,0.15);padding:0 0 20px;margin-right:0}
  .hs:last-child{border-bottom:none;padding-bottom:0}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .btn-lg{padding:15px 28px;font-size:.875rem}
  .proc-wrap::before{display:none}
  .proc-wrap{grid-template-columns:1fr;gap:24px}
  .inner-hero{padding:calc(var(--nav) + 48px) 0 64px}
  .inner-hero h1{font-size:2.8rem}
  .dash{padding:20px}
  .hero-dash{display:none}
  .fp{display:none}
  .case-nums{flex-direction:row;flex-wrap:wrap;gap:16px;padding:24px}
  .case-item{grid-template-columns:1fr}
  .fg-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .cta-stats{grid-template-columns:1fr 1fr}
  .footer-logo img{height:48px}
  .fbot{flex-direction:column;gap:16px;text-align:center}
  .svc-row{grid-template-columns:auto 1fr auto;gap:12px;padding:20px 0}
  .svc-n{display:none}
  .tcard{padding:28px}
  .card{padding:28px}
  nav{padding:0 16px}
  .stats-band{padding:48px 0}
  .sb-n{font-size:2.5rem}
  section{padding:60px 0}
  .hero-super{font-size:.6rem}
  h1{font-size:2.8rem}
  h2{font-size:2rem}
}

/* MOBILE NAV CLOSE */
.mob-close{
  position:absolute;top:20px;right:20px;
  background:none;border:1.5px solid rgba(90,170,90,0.2);border-radius:50%;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--w60);cursor:pointer;font-size:1.4rem;transition:.2s;
  z-index:1001;flex-shrink:0;
}
.mob-close:hover{border-color:var(--g4);color:var(--g4)}

/* ═══════════════════════════════════════
   ADDITIONAL MOBILE + LOGO FIXES
═══════════════════════════════════════ */

/* Logo: always prominent */
.nav-logo { flex-shrink: 0; }
.nav-logo img { 
  height: 56px; 
  width: auto; 
  max-width: 200px;
  object-fit: contain;
  display: block;
  filter: none !important;
}

/* Footer logo bigger */
.footer-logo img {
  height: 100px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  display: block;
  filter: brightness(1) saturate(1.1) !important;
}
.footer-logo { display: inline-block; margin-bottom: 18px; }

/* Prevent horizontal overflow everywhere */
html, body { max-width: 100vw; overflow-x: hidden; }
.page { max-width: 100vw; overflow-x: hidden; }
.dark-hero, .inner-hero, section, footer { max-width: 100vw; overflow-x: hidden; }

/* Inner pages hero responsive */
@media(max-width: 768px) {
  .inner-hero { padding: calc(var(--nav) + 40px) 0 56px; }
  .inner-hero h1 { font-size: 2.6rem !important; }
  .inner-hero .lead { font-size: .95rem; }
}

/* Hero grid: 2-col on desktop, 1-col on tablet+ */
.hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 60px; align-items: center; }
@media(max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-text-wrap { padding: 56px 0 32px; }
  .hero-dash, .fp { display: none !important; }
  .dark-hero { min-height: auto; padding-bottom: 72px; }
}
@media(max-width: 680px) {
  .hero-grid { gap: 0; }
  .hero-text-wrap { padding: 40px 0 20px; }
  .hero-super { font-size: .58rem; letter-spacing: .15em; }
}

/* Cards: no tilt transform overflows on mobile */
@media(max-width: 768px) {
  .card, .tcard, .pc, .bitem, .case-item { transform: none !important; }
  .card:hover, .tcard:hover { transform: translateY(-3px) !important; }
}

/* Nav on all mobile sizes */
@media(max-width: 768px) {
  nav { padding: 0 20px; height: var(--nav); }
  .nav-logo img { height: 46px; }
  .hbg { display: flex; }
  .nav-links { display: none !important; }
}
@media(max-width: 480px) {
  .nav-logo img { height: 40px; }
}

/* Bento grid mobile */
@media(max-width: 768px) {
  .bento { grid-template-columns: 1fr !important; }
  .bt, .bw { grid-row: auto !important; grid-column: auto !important; }
  .bitem { padding: 28px; }
  .big-num, .big-num.ghost, .big-num.ghost-w { font-size: 4rem; }
}

/* Process steps mobile */
@media(max-width: 640px) {
  .proc-wrap { grid-template-columns: 1fr; gap: 28px; }
  .proc-wrap::before { display: none; }
  .proc-step { padding: 0; }
  .proc-num { width: 48px; height: 48px; font-size: 1.2rem; }
}

/* Stats band mobile */
@media(max-width: 640px) {
  .g4.rv { grid-template-columns: 1fr 1fr; gap: 24px; }
  .sb-n { font-size: 2.2rem; }
}

/* Service rows mobile */
@media(max-width: 560px) {
  .svc-row { gap: 10px; padding: 18px 0; }
  .svc-info h4 { font-size: .9rem; }
  .svc-info p { display: none; }
  .svc-arr { width: 32px; height: 32px; }
}

/* Case studies mobile */
@media(max-width: 768px) {
  .case-item { grid-template-columns: 1fr; }
  .case-nums { 
    display: flex; flex-direction: row; flex-wrap: wrap; gap: 16px;
    padding: 24px; border-top: 1px solid rgba(90,170,90,0.15); 
  }
  .case-nums > div { flex: 1; min-width: 80px; text-align: center; }
}

/* Pricing mobile */
@media(max-width: 900px) {
  .price-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
  .pc.feat { transform: none; }
}

/* CTA stats mobile */
@media(max-width: 560px) {
  .cta-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .cstat { padding: 16px 12px; }
  .cstat-n { font-size: 1.6rem; }
}

/* Footer mobile */
@media(max-width: 768px) {
  .fg-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  footer { padding: 56px 0 32px; }
}
@media(max-width: 480px) {
  .fg-grid { grid-template-columns: 1fr; gap: 32px; }
  .fbot { flex-direction: column; gap: 16px; text-align: center; }
  .socs { justify-content: center; }
  .footer-logo img { height: 52px; }
}

/* Mobile nav menu */
.mob { padding: 80px 32px 48px; overflow-y: auto; }
.mob a {
  font-family:'Bebas Neue',sans-serif;
  font-size: 2.2rem;
  letter-spacing: .04em;
  color: var(--w);
  text-decoration: none;
  transition: color .2s;
  display: block;
  text-align: center;
}
.mob a:hover { color: var(--g4); }
@media(max-width: 400px) {
  .mob a { font-size: 1.8rem; }
}

/* Testimonials grid mobile */
@media(max-width: 900px) {
  .g3 .tcard { break-inside: avoid; }
}

/* Blog grid mobile */
@media(max-width: 640px) {
  .blog-grid, .g3 { grid-template-columns: 1fr !important; }
}

/* Contact form mobile */
@media(max-width: 768px) {
  .contact-grid { grid-template-columns: 1fr !important; }
}

/* Sections padding mobile */
@media(max-width: 480px) {
  section { padding: 56px 0; }
  .wrap { padding: 0 16px; }
  h1 { font-size: 2.4rem; letter-spacing: .02em; }
  h2 { font-size: 1.8rem; }
  h3 { font-size: 1.25rem; }
  .eyebrow { font-size: .58rem; }
  .btn { padding: 13px 22px; font-size: .8rem; }
  .btn-lg { padding: 15px 26px; font-size: .85rem; }
}

/* Team grid mobile */
@media(max-width: 640px) {
  .team-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* About split mobile */
@media(max-width: 768px) {
  .about-split { grid-template-columns: 1fr !important; gap: 40px !important; }
}

/* Global regions grid mobile */
@media(max-width: 768px) {
  .regions-stats { grid-template-columns: 1fr 1fr !important; }
}

/* Featured blog post mobile */
@media(max-width: 768px) {
  .blog-featured { grid-template-columns: 1fr !important; }
}


/* Responsive two-column splits */
.g2-split { display: grid; grid-template-columns: 1fr 1fr; }
.tech-split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
@media(max-width: 900px) {
  .g2-split { grid-template-columns: 1fr !important; gap: 40px !important; }
  .tech-split { grid-template-columns: 1fr !important; gap: 40px !important; }
}
@media(max-width: 680px) {
  .g2-split { gap: 32px !important; }
  .tech-split { gap: 28px !important; }
}
/* Team grid 8-col fix */
div[style*="grid-template-columns:repeat(4,1fr)"] { 
  /* handled by g4 class */ 
}

/* ═══════════════════════════════════════════════════════
   COMPLETE MOBILE OVERHAUL — ScribbleLinks
   Covers every breakpoint gap systematically
═══════════════════════════════════════════════════════ */

/* ── BASE: prevent overflow everywhere ── */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; max-width: 100vw; }
img { max-width: 100%; height: auto; }

/* ── NAV: clean at all sizes ── */
nav {
  padding: 0 48px;
  transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease;
}
.nav-logo img {
  height: 70px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  display: block;
}
.nav-cta {
  padding: 10px 20px !important;
  font-size: .78rem !important;
  white-space: nowrap;
}

/* ── HERO GRID ── */
.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 160px;
  align-items: center;
}

/* ── CARDS: prevent tilt overflow on mobile ── */
.card, .tcard, .pc, .bitem, .case-item, .blog-card, .dcard {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* ── TEAM CARDS ── */
.team-founder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.team-specialist-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.team-expert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* ─────────────────────────────────────────────
   BREAKPOINT: ≤1100px (large tablet / small laptop)
───────────────────────────────────────────── */
@media (max-width: 1100px) {
  nav { padding: 0 32px; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-dash, .fp { display: none !important; }
  .hero-text-wrap { padding: 64px 0 48px; }
  .dark-hero { min-height: auto; padding-bottom: 72px; }
  .bento { grid-template-columns: 1fr 1fr; }
  .bt { grid-row: auto; }
  .bw { grid-column: auto; }
  .fg-grid { grid-template-columns: 1fr 1fr; }
  section { padding: 96px 0; }
  .wrap { padding: 0 40px; }
}

/* ─────────────────────────────────────────────
   BREAKPOINT: ≤900px (tablet)
───────────────────────────────────────────── */
@media (max-width: 900px) {
  nav { padding: 0 24px; }
  .nav-links { display: none !important; }
  .hbg { display: flex !important; }

  .hero-text-wrap { padding: 52px 0 40px; }
  .dark-hero { padding-bottom: 60px; }

  .g2 { grid-template-columns: 1fr; gap: 16px; }
  .g3 { grid-template-columns: 1fr 1fr; gap: 16px; }
  .g4 { grid-template-columns: 1fr 1fr; gap: 16px; }
  .bento { grid-template-columns: 1fr; gap: 14px; }
  .bitem { padding: 32px 28px; }
  .big-num { font-size: 4rem; }

  .price-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
  .pc.feat { transform: none; }

  .case-item { grid-template-columns: 1fr; }
  .case-nums { flex-direction: row; flex-wrap: wrap; gap: 16px; justify-content: flex-start; border-left: none; border-top: 1px solid rgba(90,170,90,0.15); padding: 24px; }

  .g2-split, .tech-split { grid-template-columns: 1fr !important; gap: 36px !important; }

  .team-specialist-grid { grid-template-columns: 1fr 1fr; }

  .hero-stats { flex-wrap: wrap; gap: 0; }
  .hs { flex: 0 0 50%; border-right: none !important; border-bottom: 1px solid rgba(90,170,90,0.15); padding: 16px 0 !important; margin-right: 0 !important; }
  .hs:nth-child(2n) { padding-left: 24px !important; }
  .hs:last-child, .hs:nth-last-child(-n+2):nth-child(odd) { border-bottom: none; }

  .svc-row { grid-template-columns: auto 1fr auto; gap: 14px; }
  .svc-n { display: none; }

  .cta-stats { grid-template-columns: 1fr 1fr; }

  .inner-hero { padding: calc(var(--nav) + 52px) 0 64px; }
  .inner-hero h1 { font-size: clamp(5rem, 6vw, 3.2rem); }

  .fg-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}

/* ─────────────────────────────────────────────
   BREAKPOINT: ≤680px (mobile landscape / large phone)
───────────────────────────────────────────── */
@media (max-width: 680px) {
  :root { --nav: 60px; }
  nav { padding: 0 16px; }
  .nav-logo img { height: 44px; }
  .wrap { padding: 0 18px; }
  section { padding: 64px 0; }

  h1 { font-size: clamp(5rem, 8vw, 3rem); letter-spacing: .01em; }
  h2 { font-size: clamp(1.8rem, 6vw, 2.4rem); }
  h3 { font-size: 1.2rem; }
  .eyebrow { font-size: .58rem; letter-spacing: .14em; }

  /* hero */
  .hero-text-wrap { padding: 40px 0 28px; }
  .dark-hero { padding-bottom: 48px; }
  .hero-super { font-size: .58rem; letter-spacing: .12em; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .btn-lg { padding: 14px 26px; font-size: .85rem; }
  .hero-stats { flex-direction: column; gap: 0; margin-top: 48px; padding-top: 32px; }
  .hs { flex: 0 0 100%; border-right: none !important; border-bottom: 1px solid rgba(90,170,90,0.15); padding: 14px 0 !important; margin: 0 !important; }
  .hs:last-child { border-bottom: none; }
  .hs-n { font-size: 2.2rem; }
  .hs:nth-child(2n) { padding-left: 0 !important; }

  /* grids */
  .g2, .g3, .g4 { grid-template-columns: 1fr; gap: 14px; }
  .bento { grid-template-columns: 1fr; gap: 12px; }
  .price-grid { grid-template-columns: 1fr; }
  .cta-stats { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* team */
  .team-founder-grid { grid-template-columns: 1fr; }
  .team-specialist-grid { grid-template-columns: 1fr; }
  .team-expert-grid { grid-template-columns: 1fr; }

  /* cards */
  .card { padding: 24px; }
  .tcard { padding: 24px; }
  .bitem { padding: 24px; }
  .dcard { padding: 24px; }

  /* stats band */
  .stats-band { padding: 56px 0; }
  .sb-n { font-size: 2.4rem; }
  .g4 { grid-template-columns: 1fr 1fr; }

  /* services list */
  .svc-row { gap: 10px; padding: 16px 0; align-items: center; }
  .svc-ico { width: 42px; height: 42px; font-size: 1.1rem; flex-shrink: 0; }
  .svc-info h4 { font-size: .9rem; }
  .svc-info p { font-size: .78rem; }
  .svc-arr { width: 32px; height: 32px; flex-shrink: 0; }

  /* case studies */
  .case-item { grid-template-columns: 1fr; border-radius: 12px; }
  .case-body { padding: 24px; }
  .case-nums { padding: 20px 24px; gap: 16px; }
  .cn-num { font-size: 1.8rem; }

  /* blog */
  .blog-thumb { height: 150px; font-size: 2.5rem; }
  .blog-body { padding: 20px; }

  /* pricing */
  .pc { padding: 28px 24px; }
  .pc-price { font-size: 2.5rem; }

  /* inner hero */
  .inner-hero { padding: calc(var(--nav) + 36px) 0 48px; }
  .inner-hero h1 { font-size: clamp(1.9rem, 7vw, 2.6rem); }
  .inner-hero .lead { font-size: .9rem; }

  /* process */
  .proc-wrap { grid-template-columns: 1fr; gap: 24px; }
  .proc-wrap::before { display: none; }
  .proc-step { text-align: left; display: flex; gap: 16px; align-items: flex-start; }
  .proc-num { margin: 0; flex-shrink: 0; width: 48px; height: 48px; font-size: 1.1rem; }

  /* tech page splits */
  .g2-split, .tech-split { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* bento big number */
  .bento-num { font-size: 3rem; }

  /* footer */
  .fg-grid { grid-template-columns: 1fr; gap: 36px; }
  .fbot { flex-direction: column; gap: 14px; text-align: center; }
  .socs { justify-content: center; }
  footer { padding: 56px 0 32px; }
  .footer-logo img { height: 52px; }

  /* CTA band */
  .cta-band { padding: 72px 0; }
  .cstat { padding: 16px 10px; }
  .cstat-n { font-size: 1.5rem; }

  /* mob nav */
  .mob { padding: 80px 20px 48px; }
  .mob a { font-size: 1.9rem; }

  /* contact */
  .contact-grid { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* about */
  .about-nums { grid-template-columns: 1fr !important; gap: 0 !important; }
  .about-nums > div { border-right: none !important; border-bottom: 1px solid rgba(45,92,45,0.1); padding: 16px 0 !important; }
  .about-nums > div:last-child { border-bottom: none; }
}

/* ─────────────────────────────────────────────
   BREAKPOINT: ≤480px (small phone)
───────────────────────────────────────────── */
@media (max-width: 480px) {
  :root { --nav: 56px; }
  .mob { padding: 64px 16px 40px; }
  .mob-close { top: 14px; right: 14px; width: 40px; height: 40px; font-size: 1.2rem; }
  nav { padding: 0 14px; }
  .nav-logo img { height: 38px; }
  .wrap { padding: 0 14px; }
  section { padding: 52px 0; }

  h1 { font-size: 5rem; line-height: 1.0; }
  h2 { font-size: 3rem; }
  .lead { font-size: .875rem; }
  .btn { padding: 12px 20px; font-size: .8rem; }
  .btn-lg { padding: 13px 22px; font-size: .82rem; }
  .eyebrow { font-size: .55rem; }

  /* hero */
  .hero-super { display: none; }
  .hs-n { font-size: 2rem; }
  .hs-l { font-size: .55rem; }

  /* stats */
  .sb-n { font-size: 2rem; }
  .sb-l { font-size: .5rem; }
  .g4 { grid-template-columns: 1fr 1fr; gap: 10px; }

  /* cards */
  .card { padding: 20px; }
  .card h3 { font-size: 1.1rem; }
  .tcard { padding: 20px; }
  .tcard::before { font-size: 4rem; top: 12px; right: 16px; }
  .bitem { padding: 20px; }

  /* services */
  .svc-row { gap: 8px; }
  .svc-ico { width: 36px; height: 36px; font-size: 1rem; border-radius: 8px; }

  /* case studies */
  .case-body { padding: 20px; }
  .case-nums { padding: 16px 20px; }
  .cn-num { font-size: 1.5rem; }
  .case-body h3 { font-size: 1rem; }

  /* pricing */
  .pc { padding: 22px 18px; }
  .price-grid { max-width: 100%; }
  .pf-item { font-size: .8rem; }

  /* process */
  .proc-num { width: 40px; height: 40px; font-size: 1rem; }

  /* inner hero */
  .inner-hero { padding: calc(var(--nav) + 28px) 0 40px; }
  .inner-hero h1 { font-size: 1.8rem; }

  /* footer */
  .footer-logo img { height: 44px; }
  .flinks a { font-size: .8rem; }
  .fc h5 { font-size: .55rem; }

  /* mob */
  .mob a { font-size: 1.6rem; }
  .mob { gap: 20px; }

  /* team cards on small phones */
  .card[style*="display:flex;gap:20px"] { flex-direction: column; gap: 14px; }
  .card[style*="display:flex;gap:28px"] { flex-direction: column; gap: 16px; }

  /* cta stats */
  .cta-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cstat { padding: 14px 8px; border-radius: 8px; }
  .cstat-n { font-size: 1.3rem; }
  .cstat-l { font-size: .5rem; }

  /* blog */
  .g3 { grid-template-columns: 1fr; }
  .blog-thumb { height: 130px; font-size: 2rem; }
}

/* ─────────────────────────────────────────────
   TEAM CARDS: responsive flex on all sizes
───────────────────────────────────────────── */
@media (max-width: 900px) {
  /* Founder cards stacked on tablet */
  .rv > .card[style*="display:flex;gap:28px"] { flex-direction: row; }
}
@media (max-width: 560px) {
  /* All team cards with flex go column */
  .card[style*="display:flex;gap:28px"],
  .card[style*="display:flex;gap:20px"] {
    flex-direction: column !important;
    gap: 16px !important;
  }
}

/* ─────────────────────────────────────────────
   ABOUT PAGE: numbers row
───────────────────────────────────────────── */
@media (max-width: 680px) {
  div[style*="grid-template-columns:repeat(3,1fr)"][style*="padding-top:36px"] {
    grid-template-columns: 1fr !important;
  }
  div[style*="grid-template-columns:repeat(3,1fr)"][style*="padding-top:36px"] > div {
    border-right: none !important;
    border-bottom: 1px solid rgba(45,92,45,0.1);
    padding: 14px 0 !important;
    text-align: center !important;
  }
}

/* ─────────────────────────────────────────────
   REGIONS PAGE: stats band on mobile
───────────────────────────────────────────── */
@media (max-width: 680px) {
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="text-align:center"] {
    grid-template-columns: 1fr 1fr !important;
  }
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="text-align:center"] > div {
    border-right: none !important;
    border-bottom: 1px solid rgba(90,170,90,0.1);
  }
}

/* ─────────────────────────────────────────────
   CONTACT PAGE
───────────────────────────────────────────── */
@media (max-width: 900px) {
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:60px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ─────────────────────────────────────────────
   BLOG FEATURED POST
───────────────────────────────────────────── */
@media (max-width: 768px) {
  div[style*="grid-template-columns:1fr 1fr"][style*="margin-bottom:40px"] {
    grid-template-columns: 1fr !important;
  }
}

/* ─────────────────────────────────────────────
   TECHNOLOGY PAGE: code blocks
───────────────────────────────────────────── */
@media (max-width: 680px) {
  .tech-screen { font-size: .68rem; padding: 16px; }
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:12px"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
}

/* ─────────────────────────────────────────────
   INLINE GRID OVERRIDES for pages using inline style grids
───────────────────────────────────────────── */
@media (max-width: 900px) {
  /* Team 4-col grids */
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="gap:16px"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  /* Team 8-col (from team page) */
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="gap:20px"] {
    grid-template-columns: 1fr 1fr !important;
  }
  /* Specialist grid 3-col */
  div[style*="grid-template-columns:1fr 1fr 1fr"][style*="gap:20px"] {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px) {
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="gap:16px"],
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="gap:20px"],
  div[style*="grid-template-columns:1fr 1fr 1fr"][style*="gap:20px"] {
    grid-template-columns: 1fr !important;
  }
}

/* ─────────────────────────────────────────────
   MARQUEE: reduce on small screens
───────────────────────────────────────────── */
@media (max-width: 480px) {
  .mq-track { animation-duration: 14s; }
}

/* ─────────────────────────────────────────────
   SCROLL REVEAL: faster on mobile
───────────────────────────────────────────── */
@media (max-width: 680px) {
  .rv { transition-duration: .5s; }
  .rv.d1, .rv.d2, .rv.d3, .rv.d4 { transition-delay: 0s; }
}

/* ─────────────────────────────────────────────
   CURSOR: hide on touch devices
───────────────────────────────────────────── */
@media (hover: none) and (pointer: coarse) {
  #cDot, #cRing { display: none !important; }
  body { cursor: auto; }
  a, button { cursor: pointer; }
}

/* ─────────────────────────────────────────────
   PREVENT TILT JS ISSUES on mobile
───────────────────────────────────────────── */
@media (max-width: 900px) {
  .card, .tcard, .pc, .bitem, .case-item {
    transform: none !important;
    transition: box-shadow .3s ease, border-color .3s ease !important;
  }
  .card:hover { transform: none !important; box-shadow: 0 8px 30px rgba(13,26,13,0.1) !important; }
  .tcard:hover { transform: none !important; box-shadow: 0 8px 30px rgba(13,26,13,0.1) !important; }
}

/* ─────────────────────────────────────────────
   GENERAL GAP FIXES
───────────────────────────────────────────── */
@media (max-width: 680px) {
  .hero-badge { font-size: .58rem; padding: 6px 12px; }
  .tag { font-size: .55rem; padding: 3px 8px; }
  .fi, .fs, .ft { padding: 12px 14px; font-size: .875rem; }
  .fl { font-size: .55rem; }
  .btn svg { width: 14px; height: 14px; }

  /* ROI calculator */
  .roi-out { padding: 24px; }
  .roi-n { font-size: 2.8rem; }

  /* Accordion */
  .ac-hdr h4 { font-size: .875rem; }
  .ac-ico { width: 26px; height: 26px; font-size: .95rem; }
}

/* ─────────────────────────────────────────────
   FIXED: Svc row grid on small mobile
───────────────────────────────────────────── */
@media (max-width: 420px) {
  .svc-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
  }
  .svc-info p { display: none; }
  .svc-info h4 { font-size: .85rem; }
}


/* ═══════════════════════════════════════════════════
   TEAM SECTION — FULLY RESPONSIVE
═══════════════════════════════════════════════════ */

/* Intro block */
.team-intro {
  text-align: center;
  margin-bottom: 56px;
}
.team-intro-p {
  color: rgba(13,26,13,0.55);
  max-width: 560px;
  margin: 20px auto 0;
  line-height: 1.8;
  font-size: .95rem;
}

/* Grids */
.team-founders {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.team-specialists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.team-experts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* Card base */
.team-card {
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Card header: avatar + meta always side by side */
.team-card-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: nowrap;
}

/* Avatars */
.team-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.1rem;
  color: var(--w);
  flex-shrink: 0;
  letter-spacing: .04em;
  line-height: 1;
}
.team-avatar-lg {
  width: 68px;
  height: 68px;
  font-size: 1.4rem;
  flex-shrink: 0;
}

/* Meta text */
.team-card-meta {
  flex: 1;
  min-width: 0; /* prevent overflow */
}
.team-role {
  font-family: 'Space Mono', monospace;
  font-size: .58rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--g3);
  margin-bottom: 5px;
  line-height: 1.4;
  word-break: break-word;
}
.team-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 3px;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.team-name-sm {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0;
  line-height: 1.3;
}
.team-location {
  font-size: .72rem;
  color: rgba(13,26,13,0.4);
  margin-top: 2px;
}

/* Bio text */
.team-bio {
  font-size: .875rem;
  color: rgba(13,26,13,0.65);
  line-height: 1.8;
  margin-bottom: 18px;
  flex: 1;
}
.team-bio-sm {
  font-size: .825rem;
  color: rgba(13,26,13,0.6);
  line-height: 1.75;
  margin-bottom: 16px;
  flex: 1;
}

/* Tags row */
.team-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}

/* ──────────────────────────────────────
   TABLET: ≤900px
────────────────────────────────────── */
@media (max-width: 900px) {
  .team-founders {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .team-specialists {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .team-experts {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .team-card {
    padding: 28px;
  }
  .team-avatar-lg {
    width: 56px;
    height: 56px;
    font-size: 1.1rem;
  }
  .team-name { font-size: 1.15rem; }
  .team-bio { font-size: .85rem; }
}

/* ──────────────────────────────────────
   MOBILE: ≤680px — single column everything
────────────────────────────────────── */
@media (max-width: 680px) {
  .team-intro { margin-bottom: 36px; }
  .team-intro-p { font-size: .875rem; }

  .team-founders,
  .team-specialists,
  .team-experts {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 14px;
  }

  .team-card {
    padding: 22px 18px;
  }

  /* Header: keep side by side but tighter */
  .team-card-header {
    gap: 12px;
    margin-bottom: 16px;
    align-items: center;
  }

  .team-avatar {
    width: 48px;
    height: 48px;
    font-size: 1rem;
    flex-shrink: 0;
  }
  .team-avatar-lg {
    width: 52px;
    height: 52px;
    font-size: 1.1rem;
    flex-shrink: 0;
  }

  .team-role {
    font-size: .52rem;
    letter-spacing: .1em;
    margin-bottom: 3px;
    /* truncate if too long */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .team-name {
    font-size: 1.1rem;
    margin-bottom: 0;
  }
  .team-name-sm {
    font-size: .95rem;
  }
  .team-location {
    font-size: .66rem;
  }

  /* Bio: shorter on mobile */
  .team-bio {
    font-size: .82rem;
    line-height: 1.7;
    margin-bottom: 14px;
  }
  .team-bio-sm {
    font-size: .8rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .team-tags { gap: 5px; }
  .team-tags .tag { font-size: .52rem; padding: 3px 7px; }
}

/* ──────────────────────────────────────
   SMALL PHONE: ≤480px
────────────────────────────────────── */
@media (max-width: 480px) {
  .team-card {
    padding: 18px 14px;
  }

  .team-card-header {
    gap: 10px;
    margin-bottom: 12px;
  }

  .team-avatar {
    width: 42px;
    height: 42px;
    font-size: .9rem;
  }
  .team-avatar-lg {
    width: 46px;
    height: 46px;
    font-size: 1rem;
  }

  .team-role {
    font-size: .5rem;
    /* allow wrap on very small phones */
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.5;
  }
  .team-name { font-size: 1rem; }
  .team-name-sm { font-size: .9rem; }

  .team-bio { font-size: .78rem; line-height: 1.65; }
  .team-bio-sm { font-size: .76rem; line-height: 1.6; }

  .team-tags .tag { font-size: .5rem; padding: 2px 6px; }
}

/* ──────────────────────────────────────
   AWARDS row below team
────────────────────────────────────── */
@media (max-width: 680px) {
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-top:56px"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }
}
@media (max-width: 420px) {
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="margin-top:56px"] {
    grid-template-columns: 1fr !important;
  }
}


/* ═══════════════════════════════════
   MOBILE MENU — COMPLETE FIX
═══════════════════════════════════ */
.mob {
  background: var(--g1) !important;
  padding: 80px 32px 48px !important;
}
.mob a {
  font-family: 'Bebas Neue', sans-serif !important;
  color: var(--w) !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
  width: 100%;
  padding: 4px 0;
  border-bottom: 1px solid rgba(90,170,90,0.08);
  transition: color .2s !important;
}
.mob a:last-child { border-bottom: none; }
.mob a:hover { color: var(--g4) !important; }
.mob a[style*="color:var(--g4)"] { color: var(--g4) !important; }

/* Hamburger always visible on mobile */
@media (max-width: 900px) {
  .hbg { display: flex !important; }
  .nav-links { display: none !important; }
}

/* Body scroll lock when mob open */
body.mob-open { overflow: hidden !important; }

/* Mob close button: always pointer, always visible */
.mob-close {
  cursor: pointer !important;
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
}

@media (max-width: 480px) {
  .mob { gap: 20px !important; padding: 64px 16px 40px !important; }
  .mob a { font-size: 1.7rem !important; }
  .mob-close { top: 14px !important; right: 14px !important; width: 38px !important; height: 38px !important; }
}
@media (max-width: 380px) {
  .mob a { font-size: 1.5rem !important; }
}

.mob-cta { color: var(--g4) !important; }
