/* ===========================================================
   SiahTekGroup — rebuilt to match live site
   Indigo (#4F46E5) + lime (#C4F135), bold geometric display,
   light / dark themes, browser-mockup hero.
   =========================================================== */

:root{
  --bg:#FFFFFF;
  --bg-2:#FAFAFB;
  --surface:#FFFFFF;
  --ink:#14141B;
  --ink-2:#3D4350;
  --muted:#5C6270;
  --muted-2:#9AA0AE;
  --line:#E9EAEF;
  --line-2:#F1F2F6;
  --accent:#4F46E5;
  --accent-2:#4338CA;
  --accent-soft:#EEEFFE;
  --lime:#C4F135;
  --lime-2:#B2DE1F;
  --grid:rgba(20,20,55,.035);
  --wash:rgba(79,70,229,.06);
  --shadow:0 18px 44px -22px rgba(20,20,45,.30);
  --shadow-lg:0 34px 80px -34px rgba(20,20,45,.42);

  --display:'Poppins', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;

  --maxw:1200px;
  --pad:clamp(20px,5vw,60px);
  --sec-y:clamp(72px,10vw,128px);
  --r-sm:9px; --r:14px; --r-lg:20px; --r-pill:999px;
}
[data-theme="dark"]{
  --bg:#0B0C11;
  --bg-2:#101219;
  --surface:#14161F;
  --ink:#F3F4F8;
  --ink-2:#C7CBD6;
  --muted:#A0A5B3;
  --muted-2:#6E7482;
  --line:#242732;
  --line-2:#1B1E27;
  --accent:#7C73FF;
  --accent-2:#9A93FF;
  --accent-soft:#1B1A31;
  --grid:rgba(255,255,255,.035);
  --wash:rgba(124,115,255,.10);
  --shadow:0 18px 44px -22px rgba(0,0,0,.6);
  --shadow-lg:0 34px 80px -30px rgba(0,0,0,.72);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:clamp(15px,1.05vw,16.5px); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
  transition:background .3s ease, color .3s ease;
}
h1,h2,h3,h4{font-family:var(--display); font-weight:800; line-height:1.05; letter-spacing:-0.02em; margin:0; color:var(--ink);}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
::selection{background:var(--accent); color:#fff;}
:focus-visible{outline:2.5px solid var(--accent); outline-offset:3px; border-radius:4px;}

.container{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); width:100%;}
.eyebrow{font-family:var(--mono); font-size:0.78rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--accent);}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--body); font-weight:600; font-size:0.95rem; line-height:1;
  padding:14px 20px; border-radius:var(--r-sm); border:1px solid transparent;
  background:var(--accent); color:#fff; cursor:pointer;
  display:inline-flex; align-items:center; gap:9px;
  transition:transform .16s ease, background .18s, border-color .18s, color .18s, box-shadow .18s;
}
.btn:hover{background:var(--accent-2); transform:translateY(-2px); box-shadow:0 10px 24px -12px var(--accent);}
.btn:active{transform:translateY(0);}
.btn .arrow{transition:transform .2s ease;}
.btn:hover .arrow{transform:translateX(3px);}
.btn--ghost{background:var(--surface); color:var(--ink); border-color:var(--line);}
.btn--ghost:hover{background:var(--bg-2); color:var(--ink); border-color:var(--muted-2); box-shadow:none;}
.btn--lime{background:var(--lime); color:#14141B;}
.btn--lime:hover{background:var(--lime-2); color:#14141B; box-shadow:0 10px 24px -12px var(--lime-2);}
.btn--sm{padding:10px 16px; font-size:0.88rem;}

/* ---------- Header ---------- */
.header{position:fixed; top:0; left:0; right:0; z-index:60; transition:background .25s, border-color .25s, backdrop-filter .25s; border-bottom:1px solid transparent;}
.header.scrolled{background:color-mix(in srgb, var(--bg) 84%, transparent); backdrop-filter:blur(14px) saturate(1.3); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; height:78px; gap:20px;}
.brand{display:flex; align-items:center; gap:11px; font-family:var(--display); font-weight:800; font-size:1.12rem; letter-spacing:-0.02em; color:var(--ink);}
.brand .badge{width:44px; height:44px; flex:none;}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{font-size:0.94rem; font-weight:500; color:var(--ink-2); position:relative; padding:6px 0; transition:color .18s;}
.nav-links a::after{content:""; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:var(--accent); border-radius:2px; transition:right .22s ease;}
.nav-links a:hover,.nav-links a[aria-current="true"]{color:var(--ink);}
.nav-links a:hover::after,.nav-links a[aria-current="true"]::after{right:0;}
.nav-right{display:flex; align-items:center; gap:12px;}
.icon-btn{width:44px; height:44px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--surface); color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .18s, background .18s, transform .16s;}
.icon-btn:hover{border-color:var(--muted-2); transform:translateY(-1px);}
.icon-btn svg{width:18px; height:18px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round;}
[data-theme="dark"] .icon-moon{display:none;}
.icon-sun{display:none;}
[data-theme="dark"] .icon-sun{display:block;}

.burger{display:none; flex-direction:column; gap:5px; width:44px; height:44px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--surface); cursor:pointer; align-items:center; justify-content:center;}
.burger span{width:18px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s, opacity .2s;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{position:fixed; inset:78px 0 auto 0; z-index:59; background:var(--bg); border-bottom:1px solid var(--line); padding:16px var(--pad) 26px; display:none; flex-direction:column; gap:2px;}
.mobile-menu.open{display:flex; animation:slideDown .28s ease;}
.mobile-menu a{font-size:1rem; font-weight:500; color:var(--ink); padding:15px 0; border-bottom:1px solid var(--line-2);}
.mobile-menu .m-actions{display:flex; gap:10px; margin-top:16px;}
.mobile-menu .m-actions .btn{flex:1; justify-content:center;}
@keyframes slideDown{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);}}

/* ---------- Hero ---------- */
.hero{position:relative; padding:calc(78px + clamp(40px,7vw,80px)) 0 var(--sec-y); overflow:hidden;}
.hero::before{content:""; position:absolute; inset:0; z-index:0;
  background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(circle at 30% 20%, #000 0%, transparent 72%);
  mask-image:radial-gradient(circle at 30% 20%, #000 0%, transparent 72%);}
.hero::after{content:""; position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 82% 8%, var(--wash), transparent 46%);}
.hero .container{position:relative; z-index:1;}
.hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(32px,5vw,64px); align-items:center;}

.hero-copy .eyebrow{display:inline-block; margin-bottom:22px;}
.hero-copy h1{font-size:clamp(2.6rem,6.6vw,5rem); letter-spacing:-0.03em; line-height:1.0; max-width:12ch;}
.hero-sub{margin-top:24px; max-width:46ch; font-size:clamp(1.05rem,1.5vw,1.22rem); color:var(--muted); line-height:1.55;}
.hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-checks{display:flex; gap:26px; margin-top:36px; flex-wrap:wrap;}
.hero-checks .chk{display:flex; align-items:center; gap:9px; font-size:0.92rem; color:var(--ink-2); font-weight:500;}
.hero-checks .chk svg{width:19px; height:19px; flex:none;}
.hero-checks .chk svg circle{fill:var(--accent-soft); stroke:none;}
.hero-checks .chk svg path{stroke:var(--accent); stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round;}

/* ---------- Browser mockup ---------- */
.mockup-wrap{position:relative; padding-bottom:34px;}
.mockup{background:#0B0E16; border-radius:16px; box-shadow:var(--shadow-lg); border:1px solid rgba(255,255,255,.07); overflow:hidden;}
.mk-bar{display:flex; align-items:center; gap:12px; padding:12px 14px; background:#0E121B; border-bottom:1px solid rgba(255,255,255,.06);}
.mk-dots{display:flex; gap:7px; flex:none;}
.mk-dots i{width:11px; height:11px; border-radius:50%;}
.mk-dots i:nth-child(1){background:#FF5F57;} .mk-dots i:nth-child(2){background:#FEBC2E;} .mk-dots i:nth-child(3){background:#28C840;}
.mk-url{flex:1; display:flex; align-items:center; gap:8px; background:#1A1F2B; border-radius:7px; padding:7px 12px; color:#8A90A0; font-size:12px; min-width:0;}
.mk-url .lk{width:11px; height:11px; flex:none; stroke:#6BE07A; stroke-width:1.8; fill:none;}
.mk-url .u{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.mk-url em{margin-left:auto; font-family:var(--mono); font-size:9px; letter-spacing:0.18em; color:#4A4F5E; font-style:normal; flex:none;}
.mk-body{position:relative; padding:22px 22px 26px; min-height:284px;
  background-image:linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:64px 100%;}
.mk-head{display:flex; align-items:center; gap:11px; margin-bottom:26px;}
.mk-logo{width:28px; height:28px; border-radius:8px; background:var(--lime);}
.mk-name{color:#E8EAF0; font-weight:700; font-size:13px; letter-spacing:0.03em;}
.mk-dashes{margin-left:auto; display:flex; gap:8px;}
.mk-dashes i{width:20px; height:7px; border-radius:4px; background:rgba(255,255,255,.13);}
.mk-rows{display:flex; gap:16px;}
.mk-accent{width:8px; border-radius:5px; background:var(--lime); align-self:stretch; min-height:76px; transform-origin:top;}
.mk-lines{flex:1; display:flex; flex-direction:column; gap:12px; justify-content:center;}
.mk-skel{height:12px; border-radius:6px; background:rgba(255,255,255,.10);}
.mk-skel.w1{width:76%;} .mk-skel.w2{width:56%;}
.mk-btns{display:flex; gap:10px; margin-top:4px;}
.mk-btns .b1{width:78px; height:27px; border-radius:8px; background:var(--lime);}
.mk-btns .b2{width:78px; height:27px; border-radius:8px; border:1px solid rgba(255,255,255,.2);}
.mk-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:11px; margin-top:26px;}
.mk-cards div{height:60px; border-radius:10px; background:linear-gradient(160deg, var(--lime), #9BC91F); transform-origin:bottom;}
.mk-card-float{position:absolute; left:16px; right:16px; bottom:-24px; background:#fff; border-radius:12px; box-shadow:0 24px 50px -24px rgba(10,14,25,.55); padding:15px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px;}
.mcf-l .t{color:#14141B; font-family:var(--display); font-weight:700; font-size:15px;}
.mcf-l .s{color:#7A8090; font-size:12px; margin-top:2px;}
.mcf-r{text-align:right;}
.mcf-r .t{color:#4F46E5; font-family:var(--display); font-weight:800; font-size:19px;}
.mcf-r .s{color:#7A8090; font-size:11px; margin-top:2px;}

/* ---------- Trust strip ---------- */
.trust{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-2);}
.trust .container{display:flex; align-items:center; gap:clamp(20px,4vw,54px); padding-block:26px; flex-wrap:wrap; justify-content:center;}
.trust .lbl{font-family:var(--mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted-2);}
.trust .logos{display:flex; align-items:center; gap:clamp(22px,4vw,48px); flex-wrap:wrap; justify-content:center;}
.trust .logos span{font-family:var(--display); font-weight:700; font-size:1.05rem; color:var(--muted-2); letter-spacing:-0.01em; opacity:.85;}

/* ---------- Section scaffolding ---------- */
.section{padding-block:var(--sec-y);}
.section--alt{background:var(--bg-2);}
.sec-head{max-width:640px; margin-bottom:clamp(38px,5vw,58px);}
.sec-head.center{margin-inline:auto; text-align:center;}
.sec-head .eyebrow{display:inline-block; margin-bottom:16px;}
.sec-head h2{font-size:clamp(1.95rem,4.4vw,3.2rem); letter-spacing:-0.03em;}
.sec-head p{margin-top:16px; color:var(--muted); font-size:1.08rem; line-height:1.55;}

/* ---------- Services ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.svc{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(24px,2.6vw,32px); transition:transform .22s ease, box-shadow .22s ease, border-color .22s;}
.svc:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent;}
.svc-ic{width:48px; height:48px; border-radius:12px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.svc-ic svg{width:24px; height:24px; stroke:var(--accent); stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.svc h3{font-size:1.28rem; margin-bottom:10px;}
.svc p{color:var(--muted); font-size:0.96rem; line-height:1.55;}
.svc .more{display:inline-flex; align-items:center; gap:6px; margin-top:16px; color:var(--accent); font-weight:600; font-size:0.9rem;}
.svc .more svg{width:15px; height:15px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s;}
.svc:hover .more svg{transform:translateX(3px);}

/* ---------- Stats band ---------- */
.stats{background:linear-gradient(135deg,#211E52 0%, #0B0E16 100%); position:relative; overflow:hidden;}
.stats::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:52px 52px; -webkit-mask-image:radial-gradient(circle at 70% 30%, #000, transparent 75%); mask-image:radial-gradient(circle at 70% 30%, #000, transparent 75%);}
.stats .container{position:relative; padding-block:clamp(56px,7vw,88px);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(24px,3vw,44px);}
.stat{}
.stat .n{font-family:var(--display); font-weight:800; font-size:clamp(2.3rem,4.4vw,3.4rem); letter-spacing:-0.03em; color:#fff; line-height:1;}
.stat .n b{color:var(--lime); font-weight:800;}
.stat .l{margin-top:12px; color:#B9BCCB; font-size:0.94rem; line-height:1.45;}

/* ---------- Portfolio ---------- */
.work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.work{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s; display:flex; flex-direction:column;}
.work:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:transparent;}
.work-thumb{background:#0B0E16; padding:14px; position:relative;}
.wt-bar{display:flex; align-items:center; gap:6px; margin-bottom:14px;}
.wt-bar i{width:8px; height:8px; border-radius:50%;}
.wt-bar i:nth-child(1){background:#FF5F57;} .wt-bar i:nth-child(2){background:#FEBC2E;} .wt-bar i:nth-child(3){background:#28C840;}
.wt-bar .wurl{margin-left:8px; height:18px; flex:1; border-radius:5px; background:#1A1F2B;}
.wt-canvas{height:118px; border-radius:9px; background:linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) , #0E121B; background-size:40px 100%; padding:16px; display:flex; gap:12px;}
.wt-canvas .accent{width:6px; border-radius:4px; background:var(--lime);}
.wt-canvas .col{flex:1; display:flex; flex-direction:column; gap:9px;}
.wt-canvas .row{height:9px; border-radius:5px; background:rgba(255,255,255,.10);}
.wt-canvas .row.s{width:60%;}
.wt-canvas .chips{display:flex; gap:8px; margin-top:auto;}
.wt-canvas .chips span{width:38px; height:20px; border-radius:6px; background:linear-gradient(160deg,var(--lime),#9BC91F);}
.work-body{padding:22px 24px 24px; display:flex; flex-direction:column; gap:12px; flex:1;}
.work-top{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.work-cat{font-family:var(--mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted-2);}
.work-tag{font-size:0.72rem; font-weight:600; color:var(--accent); background:var(--accent-soft); padding:4px 10px; border-radius:var(--r-pill);}
.work h3{font-size:1.3rem; letter-spacing:-0.02em;}
.work p{color:var(--muted); font-size:0.95rem; line-height:1.5;}
.work-result{margin-top:auto; padding-top:16px; border-top:1px solid var(--line); display:flex; align-items:baseline; gap:12px;}
.work-result .rn{font-family:var(--display); font-weight:800; font-size:1.7rem; letter-spacing:-0.03em; color:var(--accent);}
.work-result .rl{font-size:0.82rem; color:var(--muted);}

/* ---------- Testimonials ---------- */
.tst-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.tst{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(24px,2.6vw,32px); display:flex; flex-direction:column; gap:18px;}
.tst .quote{font-size:2.4rem; line-height:1; font-family:var(--display); font-weight:800; color:var(--lime); height:22px;}
.tst blockquote{margin:0; font-size:1.02rem; line-height:1.6; color:var(--ink);}
.tst .who{display:flex; align-items:center; gap:12px; margin-top:auto;}
.tst .av{width:42px; height:42px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:700; font-size:0.9rem; color:#14141B; background:var(--lime);}
.tst .who .nm{font-weight:600; font-size:0.94rem; color:var(--ink);}
.tst .who .rl{font-size:0.82rem; color:var(--muted);}

/* ---------- Team ---------- */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.member{text-align:center;}
.member .av{width:96px; height:96px; border-radius:22px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:800; font-size:1.9rem; color:#fff; background:linear-gradient(150deg, var(--accent), #6D63F5);}
.member .av.lime{background:linear-gradient(150deg,#B2DE1F,#8DBB16); color:#14141B;}
.member h3{font-size:1.12rem; margin-bottom:4px;}
.member .role{color:var(--accent); font-weight:600; font-size:0.88rem;}
.member .bio{color:var(--muted); font-size:0.86rem; margin-top:10px; line-height:1.5;}

/* ---------- CTA band ---------- */
.cta{background:linear-gradient(135deg, var(--accent) 0%, #372FC9 100%); position:relative; overflow:hidden; border-radius:0;}
.cta::before{content:""; position:absolute; right:-60px; top:-60px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle, rgba(196,241,53,.35), transparent 68%);}
.cta .container{position:relative; padding-block:clamp(56px,8vw,96px); text-align:center;}
.cta h2{color:#fff; font-size:clamp(2rem,4.6vw,3.2rem); letter-spacing:-0.03em; max-width:18ch; margin-inline:auto;}
.cta p{color:#DCDAFB; margin-top:18px; font-size:1.1rem; max-width:44ch; margin-inline:auto;}
.cta .cta-actions{margin-top:32px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.cta .btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.4);}
.cta .btn--ghost:hover{background:rgba(255,255,255,.1); border-color:#fff; color:#fff;}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(36px,5vw,72px); align-items:start;}
.contact-info{margin-top:30px; display:flex; flex-direction:column; gap:4px;}
.ci{padding:16px 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:5px;}
.ci .k{font-family:var(--mono); font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted-2);}
.ci a,.ci .v{font-size:1.02rem; color:var(--ink); transition:color .18s;}
.ci a:hover{color:var(--accent);}
.form{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:clamp(24px,3vw,38px); box-shadow:var(--shadow);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.field{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
.field label{font-size:0.86rem; font-weight:600; color:var(--ink-2);}
.field label .opt{color:var(--muted-2); font-weight:400;}
.field input,.field select,.field textarea{font-family:var(--body); font-size:0.98rem; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:var(--r-sm); padding:13px 14px; width:100%; transition:border-color .18s, box-shadow .18s;}
.field textarea{resize:vertical; min-height:120px;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#E0483C; box-shadow:0 0 0 3px rgba(224,72,60,.12);}
.field-error{font-size:0.78rem; color:#D23B2F; font-weight:500; display:none;}
.field.invalid .field-error{display:block;}
.form .btn{width:100%; justify-content:center; margin-top:6px; padding:15px;}
.form-note{font-size:0.8rem; color:var(--muted-2); margin-top:14px; text-align:center;}
.form-success{display:none; text-align:center; padding:24px 0;}
.form-success.show{display:block; animation:slideDown .35s ease;}
.form-success .mk{width:56px; height:56px; margin:0 auto 20px; border-radius:50%; background:var(--accent-soft); display:flex; align-items:center; justify-content:center;}
.form-success .mk svg{width:26px; height:26px; stroke:var(--accent); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.form-success h3{font-size:1.5rem; margin-bottom:10px;}
.form-success p{color:var(--muted); max-width:36ch; margin:0 auto;}

/* ---------- Footer ---------- */
.footer{background:var(--bg-2); border-top:1px solid var(--line);}
.footer .container{padding-block:clamp(52px,7vw,76px);}
.footer-top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; margin-bottom:52px;}
.footer-brand .brand{font-size:1.2rem; margin-bottom:16px;}
.footer-brand p{color:var(--muted); max-width:30ch; font-size:0.94rem;}
.footer-col h4{font-family:var(--display); font-weight:700; font-size:0.92rem; margin-bottom:16px; color:var(--ink);}
.footer-col a{display:block; padding:7px 0; color:var(--muted); font-size:0.93rem; transition:color .16s; width:fit-content;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; gap:18px; padding-top:26px; border-top:1px solid var(--line); flex-wrap:wrap;}
.footer-bottom span{color:var(--muted-2); font-size:0.86rem;}
.footer-bottom .socials{display:flex; gap:10px;}
.footer-bottom .socials a{width:36px; height:36px; border-radius:var(--r-sm); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--muted); transition:color .18s, border-color .18s;}
.footer-bottom .socials a:hover{color:var(--accent); border-color:var(--accent);}
.footer-bottom .socials svg{width:16px; height:16px; fill:currentColor;}

/* ---------- Reveal ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1; transform:none;}
.reveal[data-d="1"]{transition-delay:.08s;} .reveal[data-d="2"]{transition-delay:.16s;} .reveal[data-d="3"]{transition-delay:.24s;}

/* Load-in for mockup accents */
.anim-grow{animation:growY .8s .25s cubic-bezier(.2,.7,.2,1) both;}
@keyframes growY{from{transform:scaleY(0);} to{transform:scaleY(1);}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .nav-links{display:none;}
  .nav-right .btn{display:none;}
  .burger{display:flex;}
  .svc-grid{grid-template-columns:1fr 1fr;}
  .tst-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr 1fr; gap:30px;}
  .footer-brand{grid-column:1 / -1;}
}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr; gap:44px;}
  .mockup-wrap{max-width:520px; margin-inline:auto;}
  .work-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr; gap:40px;}
}
@media (max-width:540px){
  .svc-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .hero-checks{gap:14px 24px;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  .reveal{opacity:1; transform:none;}
  .anim-grow{animation:none;}
}
