/* ═══════════════════════════════════════════════════════════
   BRICKSLOGIX — SHARED STYLESHEET (multi-page)
═══════════════════════════════════════════════════════════ */
:root{
  --bg:#08051A;--bg2:#0F0A2A;--bg3:#160E38;
  --surface:rgba(255,255,255,0.04);--surface2:rgba(255,255,255,0.07);
  --border:rgba(255,255,255,0.08);--border2:rgba(255,255,255,0.12);
  --text:#FFFFFF;--text2:rgba(255,255,255,0.72);--text3:rgba(255,255,255,0.48);
  --magenta:#D91C5C;--purple:#4A2C8C;--navy:#17209B;--blue:#1B3BD9;
  --accent:#D91C5C;--accent2:#FF6B9D;--green:#2ECC71;
  --nav-bg:rgba(8,5,26,0.92);--hero-grad:linear-gradient(180deg,#08051A 0%,#0F0A2A 100%);
  --card-shadow:0 4px 24px rgba(0,0,0,0.3);--maxw:1280px;
}
[data-theme="light"]{
  --bg:#FFFFFF;--bg2:#F5F6FB;--bg3:#EDEFF7;
  --surface:rgba(10,10,40,0.03);--surface2:rgba(10,10,40,0.06);
  --border:rgba(10,10,40,0.09);--border2:rgba(10,10,40,0.15);
  --text:#0A0A1E;--text2:rgba(10,10,30,0.72);--text3:rgba(10,10,30,0.5);
  --nav-bg:rgba(255,255,255,0.95);--hero-grad:linear-gradient(180deg,#EEF0FF 0%,#FFFFFF 100%);
  --card-shadow:0 4px 24px rgba(23,32,155,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;transition:background .4s,color .4s}
a{color:inherit}
img{max-width:100%}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--magenta);border-radius:3px}
canvas#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.45;transition:opacity .4s}
[data-theme="light"] canvas#bg{opacity:.07}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 48px}

/* ══ NAV + MEGA MENU ══ */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--nav-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:all .3s}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.nav-logo img{height:34px;width:auto;display:block}
.nav-center{display:flex;gap:2px;align-items:center}
.nav-link{color:var(--text2);text-decoration:none;font-size:14px;font-weight:500;padding:10px 15px;border-radius:8px;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.nav-link:hover,.nav-link.active{color:var(--magenta)}
.nav-link .fa-chevron-down{font-size:9px;transition:transform .3s}
.has-mega{position:static}
.has-mega:hover .nav-link .fa-chevron-down{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:72px;background:var(--nav-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 24px 48px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s;z-index:1001}
.has-mega:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{max-width:var(--maxw);margin:0 auto;padding:32px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.mega-col h5{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--magenta);margin-bottom:14px}
.mega-col a{display:block;color:var(--text2);text-decoration:none;font-size:13.5px;padding:6px 0;transition:color .2s}
.mega-col a:hover{color:var(--text);padding-left:4px}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.theme-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .3s}
.theme-btn:hover{border-color:var(--magenta);color:var(--magenta)}
.nav-cta{background:var(--magenta);color:#fff;padding:10px 22px;border-radius:50px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .3s;box-shadow:0 4px 16px rgba(217,28,92,.3);white-space:nowrap}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(217,28,92,.5)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;display:block}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--bg);z-index:999;flex-direction:column;padding:28px;gap:6px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--text);text-decoration:none;font-size:18px;font-weight:600;padding:12px 0;border-bottom:1px solid var(--border)}
.mobile-menu a.sub{font-size:14px;font-weight:500;color:var(--text2);padding:8px 0 8px 16px;border:none}

/* ══ BUTTONS + SHARED ══ */
.btn-p{background:var(--magenta);color:#fff;padding:14px 30px;border-radius:50px;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 28px rgba(217,28,92,.35);transition:all .3s;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;font-family:inherit}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(217,28,92,.55)}
.btn-s{background:transparent;color:var(--text);padding:14px 30px;border-radius:50px;font-size:15px;font-weight:600;text-decoration:none;border:1.5px solid var(--border2);transition:all .3s;display:inline-flex;align-items:center;gap:8px}
.btn-s:hover{border-color:var(--magenta);color:var(--magenta);background:rgba(217,28,92,.05)}
.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:4px;color:var(--magenta);margin-bottom:12px}
.sec{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:96px 48px}
.sec-bg2{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.sec-bg3{background:var(--bg3);border-top:1px solid var(--border)}
.sec-title{font-size:clamp(28px,3.6vw,46px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin-bottom:16px;color:var(--text)}
.sec-sub{font-size:15.5px;color:var(--text2);max-width:600px;line-height:1.75}
.see-all{color:var(--magenta);text-decoration:none;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.see-all:hover{gap:10px}

/* ══ HERO ══ */
.hero{min-height:92vh;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;text-align:left;padding:130px 0 80px;overflow:hidden;background:var(--hero-grad)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}
.orb1{width:620px;height:620px;top:-160px;right:-140px;background:radial-gradient(circle,rgba(217,28,92,.20),transparent 70%);animation:orb1 12s ease-in-out infinite}
.orb2{width:520px;height:520px;bottom:-120px;left:-120px;background:radial-gradient(circle,rgba(74,44,140,.28),transparent 70%);animation:orb2 15s ease-in-out infinite}
@keyframes orb1{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,40px)}}
@keyframes orb2{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-40px)}}
.hero-inner{position:relative;z-index:2;max-width:900px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(217,28,92,.35);background:rgba(217,28,92,.08);color:var(--magenta);padding:7px 18px;border-radius:50px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:26px}
.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:blink 1.5s infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.hero h1{font-size:clamp(38px,6vw,80px);font-weight:800;line-height:1.05;letter-spacing:-2.5px;margin-bottom:22px;color:var(--text);min-height:1.1em}
.grad{background:linear-gradient(135deg,var(--magenta),#FF6B9D,var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#rot{color:var(--magenta)}
.hero-sub{font-size:18px;color:var(--text2);max-width:620px;margin-bottom:38px;line-height:1.7}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.hero-trust{display:flex;gap:24px;flex-wrap:wrap}
.hero-trust span{color:var(--text3);font-size:13px;display:flex;align-items:center;gap:7px}
.hero-trust i{color:var(--magenta)}

/* page hero (inner pages) */
.page-hero{position:relative;z-index:1;padding:150px 0 70px;background:var(--hero-grad);border-bottom:1px solid var(--border);overflow:hidden}
.page-hero h1{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-2px;color:var(--text);margin-bottom:14px}
.page-hero p{font-size:17px;color:var(--text2);max-width:640px;line-height:1.7}
.crumbs{font-size:12.5px;color:var(--text3);margin-bottom:18px;letter-spacing:.5px}
.crumbs a{color:var(--magenta);text-decoration:none}

/* ══ STATS ══ */
.stats-band{position:relative;z-index:1;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-grid{max-width:var(--maxw);margin:0 auto;padding:0 48px;display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:44px 24px;text-align:center;border-right:1px solid var(--border)}
.stat:last-child{border-right:none}
.stat-n{font-size:50px;font-weight:800;background:linear-gradient(135deg,var(--magenta),#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px}
.stat-l{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:2px}

/* ══ PILLARS (Partner/Engineer/Transform/Scale) ══ */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.pillar{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px 26px;transition:all .35s}
.pillar:hover{transform:translateY(-6px);border-color:rgba(217,28,92,.35);box-shadow:0 20px 50px rgba(217,28,92,.1)}
.pillar-n{font-size:13px;font-weight:800;color:var(--magenta);letter-spacing:2px;margin-bottom:14px}
.pillar h3{font-size:20px;font-weight:700;color:var(--text);margin-bottom:10px}
.pillar p{font-size:14px;color:var(--text2);line-height:1.7}

/* ══ OFFER GRID ══ */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.offer{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 24px;transition:all .3s;text-decoration:none}
.offer:hover{transform:translateY(-4px);border-color:rgba(217,28,92,.3);box-shadow:0 16px 44px rgba(217,28,92,.08)}
.offer-ico{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(217,28,92,.15),rgba(74,44,140,.15));display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.offer h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.offer p{font-size:13px;color:var(--text2);line-height:1.6}

/* ══ SERVICE PILLS + CARDS ══ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.svc-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:34px 26px;transition:all .4s}
.svc-card:hover{border-color:rgba(217,28,92,.4);box-shadow:0 20px 60px rgba(217,28,92,.1);transform:translateY(-5px)}
.svc-ico{width:56px;height:56px;background:linear-gradient(135deg,rgba(217,28,92,.15),rgba(74,44,140,.15));border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.svc-card h3{font-size:17px;font-weight:700;margin-bottom:10px;color:var(--text)}
.svc-card p{font-size:13.5px;color:var(--text2);line-height:1.7;margin-bottom:14px}
.svc-badge{display:inline-block;background:rgba(217,28,92,.1);color:var(--magenta);font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;border:1px solid rgba(217,28,92,.2)}
.svc-list{list-style:none;margin-top:10px}
.svc-list li{font-size:13.5px;color:var(--text2);padding:6px 0;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}
.svc-list li:last-child{border:none}
.svc-list i{color:var(--magenta);font-size:12px}

/* ══ INDUSTRY-AI GRID ══ */
.ind-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.ind-ai{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 24px;transition:all .3s;text-decoration:none;display:block}
.ind-ai:hover{transform:translateY(-4px);border-color:rgba(217,28,92,.3);background:rgba(217,28,92,.04)}
.ind-ai .ia-ico{font-size:28px;margin-bottom:12px}
.ind-ai h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.ind-ai p{font-size:13px;color:var(--text2);line-height:1.6}

/* ══ CASE STUDIES (metric-led) ══ */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.case{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .4s;display:flex;flex-direction:column}
.case:hover{transform:translateY(-6px);border-color:rgba(217,28,92,.3);box-shadow:0 24px 60px rgba(217,28,92,.12)}
.case-top{height:150px;display:flex;align-items:center;justify-content:center;font-size:48px;position:relative}
.case-metric{font-size:40px;font-weight:900;letter-spacing:-1.5px;background:linear-gradient(135deg,var(--magenta),#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin:24px 26px 4px}
.case-body{padding:0 26px 26px;display:flex;flex-direction:column;flex:1}
.case-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:2px;color:var(--magenta);font-weight:700;margin-bottom:6px}
.case-name{font-size:20px;font-weight:800;color:var(--text);margin-bottom:10px}
.case-desc{font-size:13.5px;color:var(--text2);line-height:1.7;margin-bottom:16px;flex:1}
.case-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.case-badges span{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:11.5px;color:var(--text2);font-weight:600}

/* ══ ENGAGEMENT ══ */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.eng-card{border-radius:20px;padding:32px 22px;text-align:center;transition:all .3s;border:1px solid var(--border);background:var(--surface)}
.eng-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(217,28,92,.1);border-color:rgba(217,28,92,.25)}
.eng-ico{font-size:34px;margin-bottom:14px}
.eng-card h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}
.eng-card p{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:16px}
.eng-price{font-size:17px;font-weight:800;background:linear-gradient(135deg,var(--magenta),#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ══ OFFERS / ENGAGEMENT MODELS ══ */
.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.model{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:30px 26px;transition:all .35s;display:flex;flex-direction:column;position:relative}
.model:hover{transform:translateY(-5px);border-color:rgba(217,28,92,.32);box-shadow:0 20px 50px rgba(217,28,92,.1)}
.model.pop{border-color:rgba(217,28,92,.5)}
.model-badge{position:absolute;top:18px;right:18px;background:var(--magenta);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.model-ico{font-size:32px;margin-bottom:14px}
.model h3{font-size:18px;font-weight:700;color:var(--text);margin-bottom:10px}
.model .m-desc{font-size:13.5px;color:var(--text2);line-height:1.7;margin-bottom:16px;flex:1}
.model .m-meta{border-top:1px solid var(--border);padding-top:14px}
.model .m-meta p{font-size:12.5px;color:var(--text2);margin-bottom:7px;line-height:1.5}
.model .m-meta strong{color:var(--text);font-weight:700}
.model .m-price{font-size:16px;font-weight:800;background:linear-gradient(135deg,var(--magenta),#FF6B9D);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:10px}
.ptable-wrap{margin-top:44px;overflow-x:auto;border:1px solid var(--border);border-radius:16px}
.ptable{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.ptable th{background:var(--bg2);color:var(--text);text-align:left;font-weight:700;padding:14px 18px;border-bottom:1px solid var(--border);font-size:12.5px;text-transform:uppercase;letter-spacing:.5px}
.ptable td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top}
.ptable tr:last-child td{border-bottom:none}
.ptable td:first-child{color:var(--text);font-weight:700}
.ptable tr:hover td{background:rgba(217,28,92,.03)}

/* ══ WHY / VALUE ══ */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:44px}
.why-item{display:flex;gap:14px;align-items:flex-start;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:all .3s}
.why-item:hover{border-color:rgba(217,28,92,.2);background:rgba(217,28,92,.03)}
.why-item i{color:var(--magenta);font-size:18px;flex-shrink:0;margin-top:2px}
.why-item strong{display:block;font-weight:700;color:var(--text);margin-bottom:4px;font-size:15px}
.why-item span{font-size:13px;color:var(--text2);line-height:1.5}

/* ══ SPLIT (who we are / philosophy) ══ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:20px}
.split-media{border-radius:20px;overflow:hidden;border:1px solid var(--border);min-height:320px;background:linear-gradient(135deg,var(--purple),var(--magenta));display:flex;align-items:center;justify-content:center;font-size:90px}
.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.phil-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:34px 30px}
.phil-card h3{font-size:22px;font-weight:800;color:var(--text);margin-bottom:10px}
.phil-card h3 span{color:var(--magenta)}
.phil-card p{font-size:14px;color:var(--text2);line-height:1.7}

/* ══ PROCESS ══ */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.proc-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:34px 28px;transition:all .3s}
.proc-card:hover{border-color:rgba(217,28,92,.3);transform:translateY(-4px)}
.proc-num{font-size:52px;font-weight:800;background:linear-gradient(135deg,rgba(217,28,92,.18),rgba(74,44,140,.18));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:14px}
.proc-card h3{font-size:18px;font-weight:700;color:var(--text);margin-bottom:10px}
.proc-card p{font-size:14px;color:var(--text2);line-height:1.7}

/* ══ MARQUEE (tech) ══ */
.marquee-sec{overflow:hidden;padding:42px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2);position:relative;z-index:1}
.m-label{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:4px;color:var(--text3);margin-bottom:26px}
.m-track{display:flex;animation:mq 30s linear infinite;width:max-content}
.m-track:hover{animation-play-state:paused}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.m-chip{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:50px;padding:11px 22px;margin:0 8px;font-weight:700;font-size:13px;color:var(--text2);white-space:nowrap}
.m-dot{width:6px;height:6px;background:var(--magenta);border-radius:50%}

/* ══ CTA BAND ══ */
.cta-band{position:relative;z-index:1;text-align:center;padding:80px 48px;background:linear-gradient(135deg,var(--purple),var(--magenta));overflow:hidden}
.cta-band h2{font-size:clamp(26px,3.5vw,40px);font-weight:800;color:#fff;letter-spacing:-1px;margin-bottom:14px}
.cta-band p{font-size:16px;color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 28px}
.cta-band .btn-w{background:#fff;color:var(--magenta);padding:15px 34px;border-radius:50px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:transform .3s}
.cta-band .btn-w:hover{transform:translateY(-3px)}

/* ══ CONTACT ══ */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;margin-top:44px}
.c-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.c-icon{width:40px;height:40px;background:rgba(217,28,92,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--magenta);font-size:15px;flex-shrink:0}
.c-detail strong{display:block;font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
.c-detail a,.c-detail span{font-size:14.5px;color:var(--text);text-decoration:none}
.c-detail a:hover{color:var(--magenta)}
.social-row{display:flex;gap:10px;margin-top:22px}
.s-btn{width:38px;height:38px;background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text2);text-decoration:none;font-size:15px;transition:all .3s}
.s-btn:hover{background:var(--magenta);border-color:var(--magenta);color:#fff;transform:translateY(-3px)}
.cf{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:36px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:12px;font-weight:600;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.fg input,.fg select,.fg textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:11px 14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--magenta)}
.fg textarea{resize:vertical;min-height:110px}
.f-ok,.f-err{display:none;padding:12px 18px;border-radius:10px;text-align:center;font-weight:600;margin-top:12px;font-size:14px}
.f-ok{background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);color:var(--green)}
.f-err{background:rgba(217,28,92,.1);border:1px solid rgba(217,28,92,.3);color:var(--magenta)}

/* ══ OFFICES ══ */
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.office{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;text-align:center}
.office .o-flag{font-size:30px;margin-bottom:8px}
.office .o-city{font-weight:700;font-size:16px;color:var(--text);margin-bottom:4px}
.office .o-role{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:1px}

/* ══ FOOTER ══ */
footer{background:var(--bg3);border-top:1px solid var(--border);position:relative;z-index:1}
.ft{max-width:var(--maxw);margin:0 auto;padding:60px 48px 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:44px}
.f-brand img{height:38px;margin-bottom:16px;display:block}
.f-desc{font-size:13.5px;color:var(--text3);line-height:1.7;margin-bottom:20px;max-width:280px}
.f-social{display:flex;gap:10px}
.fs{width:34px;height:34px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text3);text-decoration:none;font-size:13px;transition:all .3s}
.fs:hover{background:var(--magenta);border-color:var(--magenta);color:#fff}
.f-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--magenta);margin-bottom:16px}
.f-col ul{list-style:none}
.f-col ul li{margin-bottom:9px}
.f-col ul li a{color:var(--text3);text-decoration:none;font-size:13.5px;transition:color .2s}
.f-col ul li a:hover{color:var(--magenta)}
.fb{max-width:var(--maxw);margin:0 auto;padding:20px 48px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.f-copy{font-size:12px;color:var(--text3)}
.f-legal{display:flex;gap:20px}
.f-legal a{font-size:12px;color:var(--text3);text-decoration:none}
.f-legal a:hover{color:var(--magenta)}

/* theme-aware logos */
.logo-on-light{display:none}.logo-on-dark{display:block}
[data-theme="light"] .logo-on-dark{display:none}[data-theme="light"] .logo-on-light{display:block}
[data-theme="dark"] .logo-on-light{display:none!important}
[data-theme="light"] .logo-on-dark{display:none!important}

/* ══ BACK TO TOP ══ */
#btt{position:fixed;bottom:28px;right:28px;width:42px;height:42px;background:var(--magenta);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;z-index:998;opacity:0;transform:translateY(16px);transition:all .3s;display:flex;align-items:center;justify-content:center}
#btt.show{opacity:1;transform:translateY(0)}
#btt:hover{transform:translateY(-3px);background:var(--purple)}

/* ══ REVEAL ══ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal:nth-child(2){transition-delay:.07s}.reveal:nth-child(3){transition-delay:.14s}
.reveal:nth-child(4){transition-delay:.21s}.reveal:nth-child(5){transition-delay:.28s}.reveal:nth-child(6){transition-delay:.35s}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  .wrap,.nav-inner,.stats-grid,.ft,.fb{padding-left:24px;padding-right:24px}
  .nav-center{display:none}.hamburger{display:flex}
  .sec{padding:64px 24px}
  .cta-band{padding:64px 24px}
  .pillars,.offer-grid,.svc-grid,.ind-ai-grid,.case-grid,.eng-grid,.process-grid,.offices,.models-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:32px}
  .philosophy{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .ft{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .hero{text-align:left}
}
@media(max-width:640px){
  .pillars,.offer-grid,.svc-grid,.ind-ai-grid,.case-grid,.eng-grid,.process-grid,.offices,.models-grid,.ft,.stats-grid{grid-template-columns:1fr}
  .fb{flex-direction:column;text-align:center}
}

/* ═══════════════════ ANIMATIONS ═══════════════════ */
.grad,.stat-n,.case-metric,.eng-price,.model .m-price,.proc-num,.pm-v{background-size:220% auto;animation:gradShift 6s ease-in-out infinite}
@keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.hero-inner .hero-tag{animation:fadeUp .7s .10s cubic-bezier(.2,.7,.2,1) both}
.hero-inner h1{animation:fadeUp .7s .24s cubic-bezier(.2,.7,.2,1) both}
.hero-inner .hero-sub{animation:fadeUp .7s .40s cubic-bezier(.2,.7,.2,1) both}
.hero-inner .hero-btns{animation:fadeUp .7s .55s cubic-bezier(.2,.7,.2,1) both}
.hero-inner .hero-trust{animation:fadeUp .7s .70s cubic-bezier(.2,.7,.2,1) both}
.page-hero .crumbs{animation:fadeUp .6s .08s ease both}
.page-hero h1{animation:fadeUp .6s .22s ease both}
.page-hero p{animation:fadeUp .6s .38s ease both}
.reveal{transform:translateY(28px) scale(.985)}
.reveal.in{transform:translateY(0) scale(1)}
.nav-center .nav-link{position:relative}
.nav-center .nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--magenta);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav-center .nav-link:hover::after,.nav-center .nav-link.active::after{transform:scaleX(1)}
.btn-p,.nav-cta,.btn-w{position:relative;overflow:hidden}
.btn-p::after,.nav-cta::after,.btn-w::after{content:"";position:absolute;top:0;left:-140%;width:65%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-22deg);pointer-events:none;transition:left .65s ease}
.btn-p:hover::after,.nav-cta:hover::after,.btn-w:hover::after{left:150%}
.svc-ico,.offer-ico,.eng-ico,.ind-ai .ia-ico,.proc-num{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .svc-ico{transform:scale(1.12) rotate(-6deg)}
.offer:hover .offer-ico{transform:scale(1.15) rotate(4deg)}
.eng-card:hover .eng-ico{transform:translateY(-4px) scale(1.1)}
.ind-ai:hover .ia-ico{transform:scale(1.18)}
.proc-card:hover .proc-num{transform:translateX(4px)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.split-media{animation:floaty 5s ease-in-out infinite}
@keyframes ripple{0%{box-shadow:0 0 0 0 rgba(46,204,113,.5)}70%{box-shadow:0 0 0 8px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}
.live-dot{animation:blink 1.5s infinite, ripple 2.2s infinite}
.svc-card,.case,.pillar,.model,.offer,.eng-card,.ind-ai,.proc-card,.why-item,.phil-card,.office{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .3s ease,background .3s ease}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--magenta),var(--purple));z-index:2000;transition:width .12s ease;box-shadow:0 0 8px rgba(217,28,92,.5)}
.cta-band{background:linear-gradient(120deg,var(--purple),var(--magenta),var(--purple));background-size:200% 200%;animation:gradShift 8s ease infinite}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#bg{display:none}}

/* ═══════════════════ AI CHAT WIDGET ═══════════════════ */
#chat-fab{position:fixed;bottom:28px;right:28px;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--magenta),var(--purple));color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(217,28,92,.45);z-index:2001;transition:transform .3s ease;animation:chatpulse 2.8s infinite}
#chat-fab:hover{transform:scale(1.08)}
#chat-fab.hide{transform:scale(0);opacity:0}
@keyframes chatpulse{0%{box-shadow:0 8px 28px rgba(217,28,92,.45),0 0 0 0 rgba(217,28,92,.5)}70%{box-shadow:0 8px 28px rgba(217,28,92,.45),0 0 0 16px rgba(217,28,92,0)}100%{box-shadow:0 8px 28px rgba(217,28,92,.45),0 0 0 0 rgba(217,28,92,0)}}
#btt{bottom:100px;right:34px}
.chat-panel{position:fixed;bottom:28px;right:28px;width:370px;max-width:calc(100vw - 36px);height:540px;max-height:calc(100vh - 90px);background:var(--bg2);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.45);z-index:2002;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.95);transform-origin:bottom right;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1),visibility .3s}
.chat-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.chat-head{background:linear-gradient(135deg,var(--purple),var(--magenta));color:#fff;padding:15px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.chat-head .ava{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:17px}
.chat-head .ch-t{font-weight:700;font-size:15px;line-height:1.25}
.chat-head .ch-s{font-size:11px;opacity:.9;display:flex;align-items:center;gap:5px}
.chat-head .ch-s::before{content:"";width:7px;height:7px;border-radius:50%;background:#2ECC71;display:inline-block;animation:blink 1.6s infinite}
.chat-head .ch-x{margin-left:auto;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;opacity:.9;line-height:1;padding:0 4px}
.chat-head .ch-x:hover{opacity:1}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}
.chat-body::-webkit-scrollbar{width:5px}.chat-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}
.msg{max-width:84%;padding:10px 14px;border-radius:15px;font-size:13.5px;line-height:1.55;word-wrap:break-word;animation:fadeUp .3s ease both}
.msg.bot{align-self:flex-start;background:var(--surface2);color:var(--text);border-bottom-left-radius:5px}
.msg.user{align-self:flex-end;background:var(--magenta);color:#fff;border-bottom-right-radius:5px}
.msg a{color:var(--magenta);font-weight:600;text-decoration:underline}.msg.user a{color:#fff}
.msg b{font-weight:700}
.typing{align-self:flex-start;display:flex;gap:4px;padding:13px 15px;background:var(--surface2);border-radius:15px;border-bottom-left-radius:5px}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--text3);animation:tdot 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;background:var(--bg);flex-shrink:0}
.chat-quick button{background:var(--surface);border:1px solid var(--border);color:var(--magenta);font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;cursor:pointer;transition:all .2s;font-family:inherit}
.chat-quick button:hover{background:var(--magenta);color:#fff;border-color:var(--magenta);transform:translateY(-1px)}
.chat-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0}
.chat-input input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:22px;padding:10px 16px;color:var(--text);font-size:13.5px;outline:none;font-family:inherit}
.chat-input input:focus{border-color:var(--magenta)}
.chat-input button{width:40px;height:40px;border-radius:50%;border:none;background:var(--magenta);color:#fff;cursor:pointer;font-size:14px;flex-shrink:0;transition:transform .2s}
.chat-input button:hover{transform:scale(1.1)}
@media(max-width:480px){.chat-panel{right:10px;left:10px;width:auto;bottom:20px;height:calc(100vh - 40px)}#chat-fab{bottom:20px;right:20px}}
