@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

/* Space Grotesk = headings | Inter = body */
:root {
  --fh:'Space Grotesk',sans-serif;
  --fb:'Inter',sans-serif;

  --white:#ffffff;
  --off-white:#fafaf8;
  --warm-50:#f6f4f0;
  --warm-100:#edeae3;
  --warm-200:#dbd7ce;
  --ink:#080808;
  --ink-80:#1c1c1c;
  --ink-60:#3a3a3a;
  --ink-40:#686868;
  --ink-20:#9e9e9e;
  --ink-10:#c9c9c9;
  --ink-05:#ececea;
  --accent:#E8920A;
  --accent-light:#F5A623;
  --accent-dark:#c47a08;
  --accent-bg:rgba(232,146,10,0.09);
  --accent-bg2:rgba(232,146,10,0.05);
  --accent-border:rgba(232,146,10,0.28);
  --border:rgba(8,8,8,0.08);
  --border2:rgba(8,8,8,0.15);
  --border3:rgba(8,8,8,0.24);
  --shadow-sm:0 1px 4px rgba(0,0,0,0.05),0 1px 2px rgba(0,0,0,0.03);
  --shadow-md:0 4px 20px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);
  --shadow-lg:0 16px 52px rgba(0,0,0,0.1),0 4px 16px rgba(0,0,0,0.05);
  --shadow-xl:0 32px 80px rgba(0,0,0,0.13),0 8px 24px rgba(0,0,0,0.06);
  --r:12px;--rl:20px;--rp:100px;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --tr:0.4s cubic-bezier(0.16,1,0.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--white);color:var(--ink);overflow-x:hidden;padding-top:63px}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--warm-100)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:2px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}




p{font-family:var(--fb);font-weight:300;line-height:1.75;color:var(--ink-40)}
.label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fb);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;
}
.label::before{content:'';width:20px;height:1.5px;background:var(--accent)}

/* ── LAYOUT ── */
.wrap{max-width:1280px;margin:0 auto;padding:0 48px}
.sec{padding:52px 0}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 28px;border-radius:var(--rp);
  font-family:var(--fb);font-size:14px;font-weight:500;
  cursor:pointer;border:none;transition:var(--tr);white-space:nowrap;
}
.btn-p{background:var(--ink);color:var(--white)}
.btn-p:hover{background:var(--ink-80);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-a{background:var(--accent);color:var(--white)}
.btn-a:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 32px rgba(232,146,10,.35)}
.btn-o{background:transparent;color:var(--ink);border:1.5px solid var(--border3)}
.btn-o:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.mag{display:inline-block}

/* ── NAVBAR — sticky so hero starts cleanly below it ── */
#nav{
  position:fixed;top:0;left:0;right:0;width:100%;z-index:9999;
  padding:14px 0;
  background:#ffffff;
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 16px rgba(0,0,0,.04);
  transition:box-shadow .3s,background .3s,padding .3s;
  will-change:transform;
  overflow:visible;
}
#nav.on{
  padding:14px 0;
  background:#ffffff;
  box-shadow:0 2px 20px rgba(0,0,0,.08);
}
.nav-in{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1280px;margin:0 auto;padding:0 48px;
}
.nav-logo img{height:34px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-item{position:relative}

/* ── MEGA MENU FIX: bridge gap so mouse doesn't leave trigger ── */
.nav-a{
  display:flex;align-items:center;gap:5px;
  padding:9px 14px;border-radius:8px;
  font-family:var(--fb);font-size:14px;color:var(--ink-60);
  transition:color .2s,background .2s;
}
.nav-a:hover{color:var(--ink);background:var(--warm-50)}
.nav-a svg{transition:transform .3s;color:var(--ink-10)}
.nav-item:hover .nav-a svg{transform:rotate(180deg)}
.nav-item:hover .nav-a{color:var(--ink)}

/* Invisible bridge fills gap between nav link and mega menu */
.nav-item::after{
  content:'';position:absolute;top:100%;left:0;right:0;
  height:18px;background:transparent;
}

.mega{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(6px);
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);padding:28px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  box-shadow:var(--shadow-xl);min-width:640px;
}
.nav-item:hover .mega{
  opacity:1;visibility:visible;pointer-events:all;
  transform:translateX(-50%) translateY(0);
}
/* Keep mega open while hovering it */
.mega:hover{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0)}

.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.mega-i{
  display:flex;align-items:flex-start;gap:11px;
  padding:12px;border-radius:var(--r);transition:background .2s;
}
.mega-i:hover{background:var(--warm-50)}
.mega-i:hover .mega-title{color:var(--accent)}
.mega-icon{
  width:34px;height:34px;border-radius:8px;
  background:var(--warm-50);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:14px;transition:background .2s;
}
.mega-i:hover .mega-icon{background:var(--accent-bg);border-color:var(--accent-border)}
.mega-title{font-size:12px;font-weight:600;color:var(--ink);display:block;margin-bottom:1px;transition:color .2s}
.mega-sub{font-size:11px;color:var(--ink-20);line-height:1.35}
.mega-div{height:1px;background:var(--border);margin:16px 0}
.mega-slabel{
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-20);margin-bottom:10px;padding:0 12px;
}
.mega-cta-box{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-radius:var(--r);
  background:var(--warm-50);border:1px solid var(--border);
}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-cta .btn{padding:9px 20px;font-size:13px}
.nav-tog{display:none;background:none;border:none;color:var(--ink);cursor:pointer}
#mob-menu{
  display:none;background:var(--white);
  border-top:1px solid var(--border);
  padding:20px 48px;box-shadow:var(--shadow-lg);
}
#mob-menu a{display:block;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--ink-60)}
#mob-menu a:hover{color:var(--ink)}
#mob-menu.open{display:block}

/* ── HERO ── */
.hero{
  min-height:100vh;display:flex;align-items:center;
  position:relative;overflow:hidden;background:var(--white);
}
#hero-canvas{position:absolute;inset:0;z-index:0}
.hero-c{position:relative;z-index:2;padding-top:120px;padding-bottom:80px;width:100%}

.h-eye{
  display:inline-flex;align-items:center;gap:9px;
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:28px;padding:7px 16px;
  border-radius:var(--rp);border:1px solid var(--accent-border);background:var(--accent-bg);
}
.h-eye span{width:5px;height:5px;border-radius:50%;background:var(--accent);display:block;animation:pulse 2s infinite}

.h-title{
  font-size:clamp(52px,7.5vw,100px);
  line-height:.96;margin-bottom:28px;color:var(--ink);
  font-family:var(--fh);font-weight:700;letter-spacing:-.035em;
}
.h-line{overflow:hidden;display:block}
.h-word{display:inline-block;transform:translateY(110%);opacity:0;animation:wrev .9s var(--ease) forwards}

.h-sub{
  font-size:18px;font-weight:300;color:var(--ink-40);
  max-width:520px;margin-bottom:22px;line-height:1.7;
  opacity:0;animation:fup .8s .85s forwards;
}
.h-acts{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  opacity:0;animation:fup .8s 1.05s forwards;
}
.h-scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:7px;
  font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-20);opacity:0;animation:fin 1s 1.6s forwards;
  font-family:var(--fb);
}
.h-scroll::after{
  content:'';width:1px;height:36px;
  background:linear-gradient(to bottom,var(--accent),transparent);
  animation:sline 2.2s 2s infinite;
}
.h-stats{
  display:flex;gap:36px;margin-top:32px;padding-top:28px;
  border-top:1px solid var(--border);
  opacity:0;animation:fup .8s 1.25s forwards;flex-wrap:wrap;
}
.h-snum{font-family:var(--fh);font-size:36px;font-weight:700;color:var(--ink)}
.h-snum span{color:var(--accent)}
.h-slabel{font-size:12px;color:var(--ink-20);margin-top:3px;font-family:var(--fb)}
.h-badge{
  padding:5px 13px;border-radius:var(--rp);border:1px solid var(--border);
  font-size:11px;color:var(--ink-40);display:inline-flex;align-items:center;gap:5px;
  background:var(--white);font-family:var(--fb);
}
.h-badge span{width:5px;height:5px;border-radius:50%;background:var(--accent)}

/* ── MARQUEE ── */
.mq-wrap{
  padding:22px 0;border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);overflow:hidden;background:var(--warm-50);
}


.mq-item{
  display:inline-flex;align-items:center;gap:14px;padding:0 28px;
  font-family:var(--fh);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-20);
}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}

/* ── SECTIONS ── */
.sh{max-width:580px}
.sh.ctr{max-width:720px;margin:0 auto;text-align:center}
.sh.ctr .label{justify-content:center}
.st{font-size:clamp(28px,3.6vw,46px);margin-bottom:14px;color:var(--ink)}
.sd{font-size:17px;color:var(--ink-40);line-height:1.75}

/* ── CARDS ── */
.card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);padding:24px;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.card:hover{border-color:var(--border2);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}

/* ── INK SECTION ── */
.sec-ink{background:linear-gradient(135deg,#fffbf4 0%,#fff6e8 50%,#fffdf8 100%);color:var(--ink)}
.sec-ink h2,.sec-ink h3,.sec-ink h4{color:var(--ink)}
.sec-ink p{color:var(--ink-40)}
.sec-ink .label{color:var(--accent-dark)}
.sec-ink .label::before{background:var(--accent-dark)}
.sec-ink .card{background:rgba(255,255,255,0.8);border-color:rgba(232,146,10,0.15)}
.sec-ink .card:hover{background:#fff;border-color:rgba(232,146,10,0.28)}
.sec-ink .card p{color:var(--ink-40)}
.sec-ink .step-n{background:#fff;border-color:rgba(232,146,10,0.3);box-shadow:0 2px 12px rgba(232,146,10,0.1)}
.sec-ink .step-t{color:var(--ink)}
.sec-ink .proc-s::after{background:rgba(232,146,10,0.2)}

/* ── WARM SECTION ── */
.sec-warm{background:var(--warm-50)}
.sec-warm .card{background:var(--white);box-shadow:var(--shadow-sm)}
.sec-warm .card:hover{box-shadow:var(--shadow-lg)}

/* ── ACCORDION ── */
.acc{margin-top:24px}
.acc-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 0;border-bottom:1px solid var(--border);
  cursor:pointer;position:relative;gap:20px;
}
.acc-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--accent);transform:scaleY(0);transform-origin:center;
  transition:transform .4s var(--ease);border-radius:0 2px 2px 0;
}
.acc-row:hover::before,.acc-row.open::before{transform:scaleY(1)}
.acc-l{display:flex;align-items:center;gap:24px;flex:1}
.acc-num{font-family:var(--fh);font-size:12px;font-weight:600;color:var(--ink-10);min-width:28px}
.acc-name{
  font-family:var(--fh);font-size:clamp(18px,2.2vw,28px);
  font-weight:700;transition:color .3s;color:var(--ink);letter-spacing:-.02em;
}
.acc-row:hover .acc-name,.acc-row.open .acc-name{color:var(--accent)}
.acc-tags{display:flex;gap:7px;flex-wrap:wrap}
.acc-tag{
  padding:3px 11px;border-radius:var(--rp);border:1px solid var(--border);
  font-size:11px;color:var(--ink-20);background:var(--warm-50);font-family:var(--fb);
}
.acc-toggle{
  width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .3s,border-color .3s,transform .4s;background:var(--white);
}
.acc-row:hover .acc-toggle{border-color:var(--accent);background:var(--accent-bg)}
.acc-row.open .acc-toggle{background:var(--accent);border-color:var(--accent);transform:rotate(45deg)}
.acc-row.open .acc-toggle svg{color:var(--white)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.acc-body.show{max-height:480px}
.acc-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 0 18px 44px}
.acc-desc{font-size:15px;color:var(--ink-40);line-height:1.7;grid-column:1/-1;margin-bottom:4px}
.ssl{
  display:flex;align-items:center;gap:9px;padding:11px 14px;
  border-radius:var(--r);border:1px solid var(--border);
  font-size:13px;color:var(--ink-60);background:var(--white);
  transition:all .2s;font-family:var(--fb);
}
.ssl:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);transform:translateX(3px)}
.ssl::before{content:'→';color:var(--accent);font-size:11px;opacity:.7}

/* ── STATS ── */
.stat-c{text-align:center}
.stat-n{font-family:var(--fh);font-size:40px;font-weight:700;line-height:1;margin-bottom:6px;color:var(--ink)}

/* ── PROCESS ── */
.proc-g{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px}
.proc-s{position:relative}
.proc-s::after{display:none}
.proc-s:not(:first-child)::before{
  content:'';position:absolute;top:26px;right:calc(100% + 14px);
  width:calc(100% - 28px);height:1px;background:var(--border);
}
.proc-s:last-child::after{display:none}
.step-n{
  width:52px;height:52px;border-radius:50%;border:1.5px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fh);font-size:17px;font-weight:700;color:var(--accent);
  margin-bottom:12px;background:var(--white);box-shadow:var(--shadow-sm);
}
.step-t{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--ink);font-family:var(--fh);letter-spacing:-.01em}
.step-d{font-size:13px;color:var(--ink-40);line-height:1.65}

/* ── TESTIMONIALS ── */
.test-t{font-size:16px;color:var(--ink-60);line-height:1.75;margin-bottom:24px;font-weight:300}
.test-t::before{content:'"';font-family:var(--fh);font-size:52px;color:var(--accent);line-height:0;vertical-align:-.4em;margin-right:3px}
.test-auth{display:flex;align-items:center;gap:12px}
.test-av{
  width:44px;height:44px;border-radius:50%;
  background:var(--accent-bg);border:2px solid var(--accent-border);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fh);font-weight:700;color:var(--accent);font-size:13px;
}
.test-name{font-size:14px;font-weight:600;color:var(--ink);font-family:var(--fh)}
.test-role{font-size:12px;color:var(--ink-20)}

/* ── FAQ ── */
.faq-i{border-bottom:1px solid var(--border)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;cursor:pointer;font-family:var(--fh);font-size:17px;
  font-weight:600;transition:color .3s;color:var(--ink);gap:16px;letter-spacing:-.01em;
}
.faq-q:hover{color:var(--accent)}
.faq-icon{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .4s,background .3s,border-color .3s;background:var(--white);
}
.faq-i.open .faq-icon{transform:rotate(45deg);background:var(--accent);border-color:var(--accent)}
.faq-i.open .faq-icon svg{color:var(--white)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a-in{padding:0 0 22px;font-size:15px;color:var(--ink-40);line-height:1.75}
.faq-i.open .faq-a{max-height:280px}

/* ── PAGE HERO ── */
.ph{
  isolation:isolate;
  padding:152px 0 72px;background:var(--warm-50);
  border-bottom:1px solid var(--border);position:relative;overflow:hidden;
}
.ph::before{
  content:'';position:absolute;top:-30%;right:-8%;
  width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,var(--accent-bg) 0%,transparent 65%);
  pointer-events:none;
}
.ph-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:48px 48px;opacity:.7;
}
.ph .wrap{position:relative;z-index:1}
.bc{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-20);margin-bottom:18px}
.bc a:hover{color:var(--accent)}
.bc span{color:var(--ink-10)}
.ph h1{font-size:clamp(36px,5vw,68px);max-width:760px;margin-bottom:18px;color:var(--ink)}
.ph-dark h1,.ph-dark h2{color:#fff!important}
.ph-dark p{color:rgba(255,255,255,.6)!important}
.ph-dark .bc{color:rgba(255,255,255,.4)}
.ph-dark .bc a:hover{color:#E8920A}
.ph-dark .bc span{color:rgba(255,255,255,.2)}
.ph p{font-size:17px;max-width:540px;color:var(--ink-40)}

/* ── BENEFITS / RELATED ── */
.ben-g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.rel-g{gap:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.rel-c{
  padding:22px;border:1px solid var(--border);border-radius:var(--r);
  background:var(--white);transition:border-color .3s,transform .3s,box-shadow .3s;
}
.rel-c:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.rel-c h4{font-size:14px;margin-bottom:5px;color:var(--ink);font-family:var(--fh);letter-spacing:-.01em}
.rel-c p{font-size:12px;color:var(--ink-20)}

/* ── CTA STRIP ── */
.ctas{
  background:linear-gradient(135deg,#FFF4E0 0%,#FDEAC8 45%,#FFF8EE 100%);
  padding:80px 0;text-align:center;position:relative;overflow:hidden;
  border-top:1px solid rgba(232,146,10,0.15);border-bottom:1px solid rgba(232,146,10,0.15);
}
.ctas::before{
  content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,146,10,0.12) 0%,transparent 65%);
}
.ctas h2{color:var(--ink);position:relative;z-index:1}
.ctas p{color:var(--ink-60);margin-bottom:36px;font-size:17px;position:relative;z-index:1}

/* ── FORMS ── */
.fg{margin-bottom:18px}
.fl{font-size:12px;font-weight:500;color:var(--ink-40);margin-bottom:7px;display:block;letter-spacing:.04em}
.fi,.fs,.fta{
  width:100%;padding:13px 16px;background:var(--white);
  border:1.5px solid var(--border2);border-radius:var(--r);
  color:var(--ink);font-family:var(--fb);font-size:14px;font-weight:300;
  transition:border-color .3s,box-shadow .3s;outline:none;
}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.fi::placeholder,.fta::placeholder{color:var(--ink-10)}
.fta{resize:vertical;min-height:130px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ── ABOUT / CAREERS ── */
.val-c{padding:28px;border-left:3px solid var(--accent);background:var(--warm-50);border-radius:0 var(--r) var(--r) 0}
.team-av{
  width:72px;height:72px;border-radius:50%;margin:0 auto 14px;
  background:var(--accent-bg);border:2px solid var(--accent-border);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fh);font-size:20px;font-weight:700;color:var(--accent);
}
.jobs-fil{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:36px}
.fil-btn{
  padding:7px 18px;border-radius:var(--rp);border:1.5px solid var(--border2);
  background:var(--white);font-family:var(--fb);font-size:12px;color:var(--ink-40);
  cursor:pointer;transition:all .2s;
}
.fil-btn:hover,.fil-btn.active{border-color:var(--ink);background:var(--ink);color:var(--white)}
.job-c{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;border-bottom:1px solid var(--border);transition:all .2s;gap:18px;
}
.job-c:hover{background:var(--warm-50);padding-left:12px;padding-right:12px;margin:0 -12px;border-radius:var(--r);border-bottom-color:transparent}
.job-t{font-size:16px;font-weight:600;margin-bottom:5px;color:var(--ink);font-family:var(--fh);letter-spacing:-.01em}
.job-m{display:flex;gap:14px}
.job-tag{font-size:11px;color:var(--ink-20);display:flex;align-items:center;gap:4px}
.job-dept{font-size:11px;padding:3px 11px;border-radius:var(--rp);background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-weight:600}

/* ── CASE STUDIES / BLOG ── */
.case-ind{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-weight:600}
.case-mv{font-family:var(--fh);font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.case-ml{font-size:11px;color:var(--ink-20)}
.blog-cat{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.blog-ttl{font-size:19px;font-weight:700;margin-bottom:10px;line-height:1.25;transition:color .3s;color:var(--ink);font-family:var(--fh);letter-spacing:-.02em}
.blog-meta{font-size:11px;color:var(--ink-20)}

/* ── FOOTER — premium warm cream ── */
#foot{background:var(--warm-50);color:var(--ink);border-top:1px solid var(--border)}
.foot-top-band{position:relative;overflow:hidden;border-bottom:1px solid rgba(232,146,10,0.15)}
.foot-band-inner{padding:72px 0;position:relative}
.foot-cta-row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-band-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(10,10,10,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.04) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.foot-orb{position:absolute;border-radius:50%;pointer-events:none}
.foot-orb-1{width:500px;height:500px;top:-200px;right:-100px;background:radial-gradient(circle,rgba(232,146,10,.15) 0%,transparent 65%)}
.foot-orb-2{width:300px;height:300px;bottom:-100px;left:5%;background:radial-gradient(circle,rgba(232,146,10,.04) 0%,transparent 65%)}
.foot-offices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.foot-office-card{padding:36px 32px;background:#fff;border:1px solid var(--border);transition:background .3s,box-shadow .3s;position:relative;overflow:hidden;border-radius:var(--r)}
.foot-office-card::before{content:'';position:absolute;bottom:0;left:32px;right:32px;height:2px;background:var(--accent-light);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.foot-office-card:hover::before{transform:scaleX(1)}
.foot-office-card:hover{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.foot-office-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.foot-office-flag{font-size:28px}
.foot-office-badge{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);padding:3px 10px;border-radius:var(--rp);border:1px solid rgba(232,146,10,.25);background:rgba(232,146,10,.08);font-family:var(--fb)}
.foot-office-city{font-family:var(--fh);font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-.02em}
.foot-office-addr{font-size:12px;color:var(--ink-40);line-height:1.65;margin-bottom:14px}
.foot-office-tel{font-size:12px;color:var(--accent-dark);transition:opacity .2s;display:inline-block;font-family:var(--fb)}
.foot-office-tel:hover{opacity:.75}
.foot-body{padding:40px 0 28px}
.foot-div{height:1px;background:var(--border);margin-bottom:40px}
.foot-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:52px}
.foot-brand p{font-size:13px;color:var(--ink-40);line-height:1.7;max-width:270px;margin-top:18px}
.foot-logo img{height:30px}
.foot-soc{display:flex;gap:9px;margin-top:22px}
.soc-btn{width:38px;height:38px;border-radius:9px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;transition:all .25s;color:var(--ink-20);background:#fff}
.soc-btn:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);transform:translateY(-2px)}
.foot-col h5{font-family:var(--fh);font-size:11px;font-weight:700;margin-bottom:18px;color:var(--ink-60);letter-spacing:.12em;text-transform:uppercase}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-links a{font-size:13px;color:var(--ink-40);transition:color .2s}
.foot-links a:hover{color:var(--ink)}
.foot-bot{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border)}
.foot-bot p{font-size:12px;color:var(--ink-20)}
.foot-bot-links{display:flex;gap:22px}
.foot-bot-links a{font-size:12px;color:var(--ink-20);transition:color .2s}
.foot-bot-links a:hover{color:var(--ink)}


/* ── AMBER CTA CARD ── */
.cta-amber-card{
  background:linear-gradient(135deg,#FFF4E0 0%,#FDEAC8 100%)!important;
  border-color:rgba(232,146,10,0.2)!important;
}
.cta-amber-card h3{color:var(--ink)!important}
.cta-amber-card p{color:var(--ink-60)!important}

/* ── HERO LIGHT OVERRIDES ── */
.hero-light{background:#fff}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent-dark);margin-bottom:22px;
  padding:8px 18px;border-radius:var(--rp);
  border:1px solid var(--accent-border);
  background:var(--accent-bg);
  opacity:0;animation:fup .6s .2s forwards;
}
.hero-eyebrow-dot{
  width:6px;height:6px;border-radius:50%;background:var(--accent);
  animation:pulse 2s infinite;flex-shrink:0;
}

/* ── REVEAL ── */
.rev{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.rev.visible,.visible{opacity:1!important;transform:none!important}
.rev.in{opacity:1;transform:translateY(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ── ANIMATIONS ── */
@keyframes wrev{to{transform:translateY(0);opacity:1}}
@keyframes fup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fin{to{opacity:1}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

@keyframes sline{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes spin-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes dash-flow{to{stroke-dashoffset:-200}}

.w1{animation-delay:.08s}.w2{animation-delay:.18s}.w3{animation-delay:.28s}
.w4{animation-delay:.38s}.w5{animation-delay:.48s}.w6{animation-delay:.58s}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .foot-g{grid-template-columns:1fr 1fr;gap:36px}
  .g4{grid-template-columns:repeat(2,1fr)}
  .proc-g{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .wrap{padding:0 20px}
  .sec{padding:36px 0}
  .nav-in{padding:0 20px}
  .nav-links,.nav-cta{display:none}
  .nav-tog{display:block}
  #mob-menu{padding:20px}
  .g3,.g2{grid-template-columns:1fr}
  .g4{grid-template-columns:1fr}
  .proc-g{grid-template-columns:1fr}
  .ben-g{grid-template-columns:1fr}
  .rel-g{gap:16px;grid-template-columns:repeat(2,1fr)}
  .foot-g{grid-template-columns:1fr}.foot-offices{grid-template-columns:1fr}.foot-office-card::before{display:none}.foot-cta-row{flex-direction:column;align-items:flex-start}
  .foot-off{grid-template-columns:1fr}
  .acc-inner{grid-template-columns:1fr;padding-left:0}
  .fr{grid-template-columns:1fr}
  .h-stats{flex-direction:column;gap:20px}
  .mega{display:none}
  
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE-SPECIFIC STYLES — extracted from HTML inline <style> blocks
   Covers: Hero editorial, marquee, clients, tech ticker, CTA, about, contact, careers
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── HOMEPAGE ── */

/* ── HERO — EDITORIAL (Option D) ─────────────────────────────────────────────
   Magazine-style: slim top band, left column (headline+CTA), right photo panel,
   stats row at bottom. Full height below sticky nav.
   No overlap with nav — nav is position:sticky, so this starts right below it.
──────────────────────────────────────────────────────────────────────────── */

/* ── Wrapper ── */
.hs {
  position: relative;
  width: 100%;
  height: calc(100vh - 62px);
  min-height: 540px;
  max-height: 900px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fafaf8;
}

/* ── Top band ── */
.hs-band {
  height: 44px;
  background: #0a0a0a;
  display: flex;
  align-items: center;
  padding: 0 48px;
  gap: 18px;
  flex-shrink: 0;
  z-index: 10;
}
.hs-band-tag {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  font-family: var(--fb);
}
.hs-band-pill {
  background: #E8920A;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: var(--fb);
}
.hs-band-div {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.14);
}
.hs-band-loc {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  font-family: var(--fb);
}

/* ── Main grid: left content + right photo ── */
.hs-main {
  flex: 1;
  display: grid;
  grid-template-columns: 480px 1fr;
  min-height: 0;
  position: relative;
}

/* ── LEFT PANEL ── */
.hs-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 36px 44px 32px 60px;
  border-right: 1px solid rgba(10,10,10,.08);
  background: #fafaf8;
  position: relative;
  z-index: 4;
  overflow: hidden;
}
/* Amber accent line on far left */
.hs-left::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: #E8920A;
}
/* Ghost large number behind text */
.hs-ghost-num {
  position: absolute;
  bottom: 68px;
  right: -12px;
  font-family: var(--fh);
  font-size: 120px;
  font-weight: 900;
  color: rgba(232,146,10,.06);
  line-height: 1;
  letter-spacing: -.06em;
  pointer-events: none;
  user-select: none;
  transition: opacity .5s ease;
}

.hs-issue {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-20);
  font-family: var(--fb);
}

/* Headline group */
.hs-headline-group { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 16px 0; }

/* Animated label */
.hs-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #E8920A;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .5s .05s ease, transform .5s .05s cubic-bezier(.16,1,.3,1);
}
.hs-slide--active .hs-label { opacity: 1; transform: translateY(0); }
.hs-label-dot {
  width: 5px; height: 5px; border-radius: 50%; background: #E8920A;
  animation: edDot 2.2s infinite;
}
@keyframes edDot { 0%,100%{opacity:1} 50%{opacity:.25} }

/* Headline */
.hs-h1 {
  font-family: var(--fh);
  font-size: clamp(36px, 4.2vw, 60px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.03em;
  color: var(--ink);
  margin: 0 0 14px;
}
.hs-line { display: block; overflow: hidden; padding-bottom: 5px; }
.hs-line-inner {
  display: block;
  transform: translateY(105%);
  opacity: 0;
  transition: transform .72s cubic-bezier(.16,1,.3,1), opacity .45s ease;
}
.hs-slide--active .hs-line:nth-child(1) .hs-line-inner { transform: translateY(0); opacity: 1; transition-delay: .12s; }
.hs-slide--active .hs-line:nth-child(2) .hs-line-inner { transform: translateY(0); opacity: 1; transition-delay: .22s; }
.hs-slide--active .hs-line:nth-child(3) .hs-line-inner { transform: translateY(0); opacity: 1; transition-delay: .32s; }

/* Amber word — gradient text treatment */
.hs-amber {
  background: linear-gradient(135deg, #E8920A 0%, #c47a08 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

/* Subtitle */
.hs-sub {
  font-size: 14px;
  font-weight: 400;
  color: var(--ink-60);
  line-height: 1.75;
  margin: 0 0 20px;
  max-width: 320px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .55s .42s ease, transform .55s .42s cubic-bezier(.16,1,.3,1);
}
.hs-slide--active .hs-sub { opacity: 1; transform: translateY(0); }

/* CTA area */
.hs-cta {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s .56s ease, transform .5s .56s cubic-bezier(.16,1,.3,1);
}
.hs-slide--active .hs-cta { opacity: 1; transform: translateY(0); }
.hs-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 10px; }
.hs-btn-primary {
  font-size: 13px !important;
  padding: 11px 22px !important;
  background: #0a0a0a !important;
  color: #fff !important;
  border: none !important;
}
.hs-btn-primary:hover { background: #E8920A !important; }
.hs-btn-outline {
  font-size: 13px !important;
  padding: 11px 22px !important;
  color: var(--ink) !important;
  border-color: rgba(10,10,10,.18) !important;
  background: transparent !important;
}
.hs-btn-outline:hover { border-color: #E8920A !important; color: #E8920A !important; }
.hs-trust {
  font-size: 10px;
  color: var(--ink-20);
  letter-spacing: .04em;
}

/* ── RIGHT PANEL — photo ── */
.hs-right {
  position: relative;
  overflow: hidden;
  background: #1a1208;
}
.hs-track { position: absolute; inset: 0; }
.hs-slide {
  position: absolute; inset: 0;
  opacity: 0;
  transition: opacity 1.1s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.hs-slide--active { opacity: 1; pointer-events: auto; }

/* Photo with Ken Burns */
.hs-img {
  position: absolute;
  inset: -5%;
  background-size: cover;
  background-position: center;
  transform: scale(1.08);
  transition: transform 8s cubic-bezier(.25,0,.25,1);
}
.hs-slide--active .hs-img { transform: scale(1); }

/* Overlay: subtle left-fade to blend into left panel on wide screens */
.hs-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.1) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.5) 100%),
    linear-gradient(to right, rgba(26,18,8,.35) 0%, rgba(0,0,0,.0) 30%);
}

/* ── Slide caption (bottom of photo) ── */
.hs-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px 28px;
  z-index: 6;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .55s .6s ease, transform .55s .6s cubic-bezier(.16,1,.3,1);
}
.hs-slide--active .hs-caption { opacity: 1; transform: translateY(0); }
.hs-cap-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #E8920A;
  margin-bottom: 5px;
  font-family: var(--fb);
}
.hs-cap-text {
  font-family: var(--fh);
  font-size: clamp(15px, 1.6vw, 20px);
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}

/* ── Slide nav dots — top right of photo ── */
.hs-slide-nav {
  position: absolute;
  top: 20px; right: 20px;
  display: flex;
  gap: 5px;
  z-index: 10;
}
.hs-nav-pip {
  height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,.28);
  cursor: pointer;
  transition: all .3s cubic-bezier(.16,1,.3,1);
  border: none;
  padding: 0;
  width: 18px;
}
.hs-nav-pip.active {
  width: 32px;
  background: #E8920A;
}

/* ── Prev/next arrows — right panel ── */
.hs-arrow {
  position: absolute;
  bottom: 24px;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 10;
  transition: all .2s;
  backdrop-filter: blur(6px);
}
.hs-arrow:hover { background: #E8920A; border-color: #E8920A; }
.hs-arrow--prev { right: 72px; }
.hs-arrow--next { right: 24px; }

/* ── Progress bar — very top of right panel ── */
.hs-progress {
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,.1);
  z-index: 10;
}
.hs-progress-fill {
  height: 100%; background: #E8920A; width: 0; transition: none;
}
.hs-progress-fill.animating { transition: width 5.5s linear; }

/* ── STATS ROW — bottom of entire hero ── */
.hs-stats {
  height: 56px;
  border-top: 1px solid rgba(10,10,10,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: #fff;
  flex-shrink: 0;
  z-index: 10;
}
.hs-stat {
  display: flex;
  align-items: baseline;
  gap: 5px;
  padding: 0 36px;
  border-right: 1px solid rgba(10,10,10,.07);
}
.hs-stat:last-child { border-right: none; }
.hs-stat-n {
  font-family: var(--fh);
  font-size: 22px;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -.04em;
  line-height: 1;
}
.hs-stat-n b { color: #E8920A; font-weight: 900; }
.hs-stat-l {
  font-size: 9px;
  color: var(--ink-40);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-family: var(--fb);
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .hs-main { grid-template-columns: 400px 1fr; }
  .hs-left { padding: 28px 32px 24px; }
  .hs-stat { padding: 0 22px; }
}
@media (max-width: 768px) {
  .hs { height: auto; max-height: none; min-height: 0; }
  .hs-band { padding: 0 20px; gap: 10px; display: none; }
  .hs-main { grid-template-columns: 1fr; grid-template-rows: auto 52vw; }
  .hs-left { padding: 24px 20px 20px; border-right: none; border-bottom: 1px solid rgba(10,10,10,.08); }
  .hs-left::before { display: none; }
  .hs-h1 { font-size: clamp(34px, 10vw, 52px); }
  .hs-ghost-num { display: none; }
  .hs-stats { padding: 0; overflow-x: auto; }
  .hs-stat { padding: 0 16px; flex-shrink: 0; }
  .hs-stat-n { font-size: 18px; }
}



.sec div[style*="grid-template-columns:repeat(4,1fr)"] div:hover img{transform:scale(1.06)}



.clients-row{padding:32px 0 36px;border-bottom:1px solid rgba(10,10,10,.06);background:#fff;overflow:hidden}
.cl-marquee-wrap{overflow:hidden;position:relative}
/* Fade edges */
.cl-marquee-wrap::before,.cl-marquee-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.cl-marquee-wrap::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.cl-marquee-wrap::after{right:0;background:linear-gradient(to left,#fff,transparent)}
.cl-marquee{display:flex;width:max-content;animation:clScroll 65s linear infinite}
.cl-marquee:hover{animation-play-state:paused}
.cl-track{display:flex;align-items:center;gap:0;flex-shrink:0}
.cl-logo-wrap{padding:0 32px;display:flex;align-items:center;justify-content:center;height:52px;flex-shrink:0;border-right:1px solid rgba(10,10,10,.06)}
.cl-logo-wrap:last-child{border-right:none}
.cl-logo-wrap img{height:36px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .3s,opacity .3s}
.cl-logo-wrap:hover img{filter:grayscale(0);opacity:1}
@keyframes clScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:768px){.cl-logo-wrap{padding:0 20px}.cl-logo-wrap img{height:28px;max-width:100px}.cl-marquee-wrap::before,.cl-marquee-wrap::after{width:60px}}



.tck-wrap{position:relative;overflow:hidden}
.tck-fade-l,.tck-fade-r{position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.tck-fade-l{left:0;background:linear-gradient(to right,#0a0a0a,transparent)}
.tck-fade-r{right:0;background:linear-gradient(to left,#0a0a0a,transparent)}
.tck-track{overflow:hidden;padding:10px 0}
.tck-inner{display:flex;align-items:center;width:max-content;white-space:nowrap}


.tck-track-1:hover .tck-inner,.tck-track-2:hover .tck-inner{animation-play-state:paused}
.tck-item{font-family:var(--fh);font-size:clamp(18px,2.2vw,26px);font-weight:800;letter-spacing:-.02em;color:rgba(255,255,255,.18);padding:0 8px;transition:color .2s;cursor:default}
.tck-item:hover{color:#E8920A}
.tck-sep{font-size:14px;color:rgba(232,146,10,.35);margin:0 4px;font-weight:400}





@keyframes ctaDot{0%,100%{opacity:1}50%{opacity:.3}}
@media(max-width:640px){
  section[style*="padding:88px 0;background:#0a0a0a"] div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}



section[style*="background:#0a0a0a"] a[style*="background:#fff"]:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.28)!important}
section[style*="background:#0a0a0a"] a[style*="border:1.5px"]:hover{border-color:rgba(255,255,255,.7)!important}
@media(max-width:640px){section[style*="background:#0a0a0a"] div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}


/* ── ABOUT PAGE ── */

.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:160px;padding-bottom:100px}
.about-hero-visual{position:relative;height:480px}
.about-orb{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,transparent 70%)}
.about-orb-1{width:360px;height:360px;top:50%;left:50%;transform:translate(-50%,-50%)}
.about-orb-2{width:200px;height:200px;top:10%;right:10%;opacity:.5}
.about-card-float{position:absolute;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:18px 22px;white-space:nowrap}
.about-card-float .num{font-family:var(--fh);font-size:28px;font-weight:800;color:var(--accent)}
.about-card-float .lbl{font-size:12px;color:var(--muted);margin-top:2px}
.about-card-float.c1{top:10%;left:5%;animation:float 4s ease-in-out infinite}
.about-card-float.c2{top:45%;right:0%;animation:float 4s 1s ease-in-out infinite}
.about-card-float.c3{bottom:8%;left:15%;animation:float 4s 2s ease-in-out infinite}
.about-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--border)}
.about-ring-1{width:280px;height:280px;animation:spin-slow 20s linear infinite}
.about-ring-2{width:380px;height:380px;animation:spin-slow 30s linear infinite reverse;opacity:.5}
.timeline{position:relative;padding-left:32px;margin-top:48px}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),transparent)}
.tl-item{position:relative;padding-bottom:36px}
.tl-item::before{content:'';position:absolute;left:-36px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--glow)}
.tl-year{font-family:var(--fh);font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.1em;margin-bottom:4px}
.tl-title{font-size:16px;font-weight:700;margin-bottom:4px}
.tl-desc{font-size:13px;color:var(--muted);line-height:1.6}
.val-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.office-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.office-c{padding:32px;position:relative;overflow:hidden}
.office-c::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.office-c:hover::before{transform:scaleX(1)}
.office-flag{font-size:36px;margin-bottom:16px;display:block}
.office-city{font-size:20px;font-weight:800;margin-bottom:4px}
.office-role{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.office-addr{font-size:13px;color:var(--muted);line-height:1.7}
.team-g{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.team-c{text-align:center;padding:28px 20px}
.partner-box{padding:40px;display:flex;align-items:center;gap:40px;margin-top:52px}
.partner-badge{width:90px;height:90px;border-radius:var(--rl);background:var(--accent-glow,rgba(245,166,35,.14));border:2px solid rgba(245,166,35,.3);display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0}
@media(max-width:768px){
  .about-hero-grid{grid-template-columns:1fr;gap:40px;padding-top:120px
  div[style*="grid-template-columns:340px"]{grid-template-columns:1fr!important;gap:36px!important}
}
  .about-hero-visual{height:280px}
  .val-g{grid-template-columns:1fr}
  .office-g{grid-template-columns:1fr}
  .team-g{grid-template-columns:repeat(2,1fr)}
}

/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}



/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}


/* ── CONTACT PAGE ── */

.contact-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;margin-top:64px;align-items:start}
.con-info-block{position:sticky;top:110px}
.con-card{padding:32px;margin-bottom:16px;display:flex;align-items:flex-start;gap:16px;transition:border-color .3s,transform .3s}
.con-card:hover{border-color:rgba(245,166,35,.3);transform:translateX(4px)}
.con-ico{width:48px;height:48px;border-radius:var(--r);background:var(--glow2);border:1px solid rgba(245,166,35,.2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.con-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:5px}
.con-val{font-size:15px;font-weight:600;line-height:1.5}
.con-val a{transition:color .2s}
.con-val a:hover{color:var(--accent)}
.con-sub{font-size:12px;color:var(--muted);margin-top:3px}
.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:48px;position:relative;overflow:hidden}
.form-card::before{content:'';position:absolute;top:-40%;right:-20%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--glow2) 0%,transparent 70%);pointer-events:none}
.form-card-inner{position:relative;z-index:1}
.service-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}
.service-check{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r);border:1px solid var(--border);cursor:pointer;transition:border-color .2s,background .2s;user-select:none}
.service-check:hover{border-color:var(--border2);background:rgba(255,255,255,.03)}
.service-check.selected{border-color:var(--accent);background:var(--glow2)}
.service-check input{display:none}
.service-check-icon{font-size:16px;flex-shrink:0}
.service-check-label{font-size:12px;font-weight:500;color:var(--muted);transition:color .2s}
.service-check.selected .service-check-label{color:var(--white)}
.budget-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.budget-opt{padding:10px 14px;border-radius:var(--r);border:1px solid var(--border);cursor:pointer;text-align:center;font-size:12px;font-weight:500;color:var(--muted);transition:all .2s;user-select:none}
.budget-opt:hover{border-color:var(--border2);color:var(--white)}
.budget-opt.selected{border-color:var(--accent);background:var(--glow2);color:var(--white)}
.form-steps{display:flex;gap:0;margin-bottom:36px;border-bottom:1px solid var(--border);padding-bottom:20px}
.form-step-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:8px 4px;border-radius:8px;transition:background .2s}
.form-step-btn:hover{background:rgba(255,255,255,.04)}
.fstep-num{width:28px;height:28px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);transition:all .3s}
.form-step-btn.active .fstep-num{background:var(--accent);border-color:var(--accent);color:var(--black)}
.form-step-btn.done .fstep-num{background:var(--warm-50);border-color:rgba(245,166,35,.4);color:var(--accent)}
.fstep-label{font-size:11px;color:var(--muted);transition:color .3s}
.form-step-btn.active .fstep-label{color:var(--white)}
.fstep-connector{flex-shrink:0;width:32px;height:1px;background:var(--border);margin-top:14px}
.form-panel{display:none}
.form-panel.active{display:block}
.form-nav{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}
.success-state{text-align:center;padding:40px 0;display:none}
.success-icon{width:80px;height:80px;border-radius:50%;background:var(--glow2);border:2px solid rgba(245,166,35,.3);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 24px}
.offices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.office-mini{padding:28px;text-align:center}
.office-mini-flag{font-size:32px;margin-bottom:12px}
.office-mini-city{font-size:17px;font-weight:800;margin-bottom:4px}
.office-mini-role{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.office-mini-detail{font-size:13px;color:var(--muted);line-height:1.7}
.office-mini-detail a{color:var(--accent);transition:opacity .2s}
.office-mini-detail a:hover{opacity:.8}
.social-row{display:flex;gap:12px;justify-content:center;margin-top:32px}
.social-big{width:52px;height:52px;border-radius:var(--r);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;transition:border-color .2s,background .2s,transform .2s;color:var(--muted)}
.social-big:hover{border-color:var(--accent);background:var(--glow);color:var(--accent);transform:translateY(-3px)}
.faq-mini{margin-top:52px}
@media(max-width:1024px){.contact-wrap{grid-template-columns:1fr;gap:40px}.con-info-block{position:static}}
@media(max-width:768px){.service-checks{grid-template-columns:1fr}.budget-opts{grid-template-columns:repeat(2,1fr)}.form-card{padding:28px}.offices-grid{grid-template-columns:1fr}.form-steps{gap:0}.fstep-connector{width:16px}}

/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}



/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}


/* ── CAREERS PAGE ── */

.perks-g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
.perk-c{padding:28px 24px;text-align:center}
.perk-icon{font-size:32px;display:block;margin-bottom:14px}
.perk-t{font-size:16px;font-weight:700;margin-bottom:7px}
.perk-d{font-size:13px;color:var(--muted);line-height:1.6}
.jobs-count span{color:var(--white);font-weight:600}
.hire-proc{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:52px;position:relative}
.hire-proc::before{content:'';position:absolute;top:26px;left:52px;right:52px;height:1px;background:linear-gradient(to right,var(--accent),var(--border),var(--accent));z-index:0}
.hire-step{text-align:center;position:relative;z-index:1}
.hire-n{width:52px;height:52px;border-radius:50%;background:var(--dark);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:16px;font-weight:800;color:var(--accent);margin:0 auto 14px}
.hire-t{font-size:14px;font-weight:700;margin-bottom:5px}
.hire-d{font-size:12px;color:var(--muted);line-height:1.5}
.app-form-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:48px;margin-top:52px}
@media(max-width:1024px){
  .perks-g{grid-template-columns:repeat(2,1fr)}
  .hire-proc{grid-template-columns:repeat(3,1fr)}
  .hire-proc::before{display:none}
}
@media(max-width:768px){
  .perks-g{grid-template-columns:1fr 1fr}
  .hire-proc{grid-template-columns:repeat(2,1fr)}
  .app-form-wrap{padding:24px}
  }

/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}



/* ── INJECTED IMAGES ── */
.ph-img-hero{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;z-index:0}
.page-img-section{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.page-img-section img{width:100%;height:100%;object-fit:cover;display:block}
.split-img-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:52px 0}
.split-img-section.reverse{direction:rtl}
.split-img-section.reverse>*{direction:ltr}
.split-img-inner{border-radius:18px;overflow:hidden;height:380px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.split-img-inner img{width:100%;height:100%;object-fit:cover}
.split-img-text{}
@media(max-width:900px){.split-img-section{grid-template-columns:1fr!important}.split-img-inner{height:240px}}


/* No-JS fallback — show all sections if JS disabled */
.no-js .rev{opacity:1;transform:none}

.acc-icon{transition:transform .3s}.acc-row.open .acc-icon{transform:rotate(180deg)}

.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:500}
.entry-content a:hover{color:var(--accent-dark)}
.entry-content h2,.entry-content h3{font-family:var(--fh);font-weight:700;color:var(--ink);letter-spacing:-.03em;margin:28px 0 12px}
.entry-content h2{font-size:22px}.entry-content h3{font-size:18px}
.entry-content ul,.entry-content ol{padding-left:20px;margin:14px 0}
.entry-content li{font-size:15px;color:var(--ink-60);line-height:1.75;margin-bottom:6px}

.service-card-link{font-size:12px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:5px;margin-top:auto}

/* BRAND LINK CONSISTENCY */
a{color:inherit;text-decoration:none}
.text-accent{color:var(--accent)}
.text-ink{color:var(--ink)}
.text-muted{color:var(--ink-40)}
/* Service card hover state */
a.card:hover{text-decoration:none;transform:translateY(-3px)}
a.card:hover h3{color:var(--accent)}
/* Breadcrumb links */
.ph-bc a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.ph-bc a:hover{color:#E8920A}
/* Sub-service learn more arrow */
.svc-link{font-size:12px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
a.card:hover .svc-link{gap:9px}
/* Stats numbers accent */
.stat-accent{color:var(--accent)}
/* Dark section links */
.dark-section a{color:rgba(255,255,255,.7)}
.dark-section a:hover{color:#E8920A}

.hs,.ph,.hero-c{z-index:1}
.hs-main,.hs-left,.hs-right{z-index:1}

/* SERVICE PAGE FAQ FIX */
.acc-row{border-bottom:1px solid var(--border);position:relative}
.acc-row:first-child{border-top:1px solid var(--border)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.acc-body.show{max-height:600px}
.acc-inner.single-col{display:block!important;padding:0 0 20px!important;grid-template-columns:none!important}
.acc-row .acc-icon{color:var(--ink-40);flex-shrink:0;transition:transform .3s}
.acc-row.open .acc-icon{transform:rotate(180deg);color:var(--accent)}
.acc-row:hover .acc-icon{color:var(--accent)}
/* Remove the ::before pseudo-element animation that conflicts */

/* Hide footer CTA band on service pages (they have their own CTA) */
.page-template-page-service-pillar .foot-top-band,
.page-template-page-subservice .foot-top-band { display:none; }

/* DARK-BG TEXTURE — dot grid for dark sections */
.dark-texture{position:relative;overflow:hidden}
.dark-texture::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:28px 28px;pointer-events:none;z-index:0;
}
.dark-texture > *{position:relative;z-index:1}
/* Amber glow top-right corner for dark sections */
.dark-texture::after{
  content:'';position:absolute;top:-120px;right:-120px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,146,10,.13) 0%,transparent 65%);
  pointer-events:none;z-index:0;
}


/* ════════════════════════════════════════════════════════
   PREMIUM ANIMATION SYSTEM — IC v2
   ════════════════════════════════════════════════════════ */

/* ── Stagger children system ── */
.stagger > *:nth-child(1){transition-delay:.06s}
.stagger > *:nth-child(2){transition-delay:.14s}
.stagger > *:nth-child(3){transition-delay:.22s}
.stagger > *:nth-child(4){transition-delay:.30s}
.stagger > *:nth-child(5){transition-delay:.38s}
.stagger > *:nth-child(6){transition-delay:.46s}
.stagger > *:nth-child(7){transition-delay:.54s}
.stagger > *:nth-child(8){transition-delay:.62s}

/* ── Slide from left / right ── */
.rev-left{opacity:0;transform:translateX(-32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev-right{opacity:0;transform:translateX(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev-left.visible,.rev-right.visible{opacity:1;transform:translateX(0)}

/* ── Scale in ── */
.rev-scale{opacity:0;transform:scale(.92);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rev-scale.visible{opacity:1;transform:scale(1)}

/* ── Blur reveal ── */
.rev-blur{opacity:0;filter:blur(8px);transition:opacity .9s var(--ease),filter .9s var(--ease)}
.rev-blur.visible{opacity:1;filter:blur(0)}

/* ── Number count-up pulse ── */
@keyframes numPop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.ns-num.popped{animation:numPop .5s var(--ease)}

/* ── Floating cards ── */
@keyframes floatA{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}
@keyframes floatB{0%,100%{transform:translateY(-6px) rotate(.3deg)}50%{transform:translateY(4px) rotate(-.3deg)}}
.float-a{animation:floatA 6s ease-in-out infinite}
.float-b{animation:floatB 7s ease-in-out infinite}
.float-c{animation:floatA 8s 1s ease-in-out infinite}

/* ── Shimmer on cards (skeleton-like highlight on hover) ── */
.card-shimmer{position:relative;overflow:hidden}
.card-shimmer::after{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  transition:left .6s ease;pointer-events:none;
}
.card-shimmer:hover::after{left:150%}

/* ── Amber underline link hover ── */
.link-amber{
  position:relative;text-decoration:none;color:var(--ink);
}
.link-amber::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;
  background:var(--accent);transition:width .35s var(--ease);
}
.link-amber:hover::after{width:100%}

/* ── Magnetic button (enhanced .btn) ── */
.btn{position:relative;overflow:hidden}
.btn::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.08);
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);border-radius:inherit;
}
.btn:hover::before{transform:scaleX(1)}

/* ── Glowing accent border on cards ── */
@keyframes borderPulse{0%,100%{border-color:rgba(232,146,10,.15)}50%{border-color:rgba(232,146,10,.4)}}
.card-glow:hover{animation:borderPulse 2s ease-in-out infinite}

/* ── Text gradient (amber) ── */
.text-gradient{
  background:linear-gradient(135deg,#E8920A 0%,#F5A623 50%,#c47a08 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── Animated amber dot ── */
@keyframes dotBreath{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.5}}
.dot-breath{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotBreath 2.4s ease-in-out infinite}

/* ── Section divider line (animated) ── */
.ic-divider{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:scaleX(0);transform-origin:center;transition:transform 1.2s var(--ease)}
.ic-divider.visible{transform:scaleX(1)}

/* ── Stats bar fill animation ── */
@keyframes barFill{from{width:0}to{width:var(--fill)}}
.stat-bar{height:3px;background:var(--accent);border-radius:2px;animation:barFill 1.4s var(--ease) forwards;width:0}

/* ── Orbit decoration ── */
@keyframes orbitSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.orbit{
  position:absolute;top:50%;left:50%;
  border:1px dashed rgba(232,146,10,.2);border-radius:50%;
  transform:translate(-50%,-50%);pointer-events:none;
}
.orbit-1{width:200px;height:200px;animation:orbitSpin 18s linear infinite}
.orbit-2{width:320px;height:320px;animation:orbitSpin 28s linear infinite reverse}
.orbit-3{width:440px;height:440px;animation:orbitSpin 40s linear infinite}

/* ── Cursor follower dot ── */
#ic-cursor{
  width:10px;height:10px;border-radius:50%;background:var(--accent);
  position:fixed;top:0;left:0;pointer-events:none;z-index:99999;
  transition:transform .12s var(--ease),opacity .3s;
  transform:translate(-50%,-50%);opacity:0;mix-blend-mode:multiply;
}
#ic-cursor-ring{
  width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(232,146,10,.5);
  position:fixed;top:0;left:0;pointer-events:none;z-index:99998;
  transform:translate(-50%,-50%);opacity:0;
  transition:left .18s var(--ease),top .18s var(--ease),transform .18s,opacity .3s,width .3s,height .3s;
}
.cursor-active #ic-cursor,.cursor-active #ic-cursor-ring{opacity:1}
.cursor-active a:hover ~ #ic-cursor-ring,
.cursor-active button:hover ~ #ic-cursor-ring{width:56px;height:56px}

/* ── Scroll indicator on hero ── */
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.scroll-hint{animation:scrollBounce 2s ease-in-out infinite}

/* ── Service card icon bounce on hover ── */
.svc-icon{transition:transform .3s var(--ease)}
.svc-card:hover .svc-icon{transform:translateY(-4px) scale(1.15)}

/* ── Typewriter cursor blink ── */
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.typewriter-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite}

/* ── Parallax image scale ── */
.par-img{overflow:hidden}
.par-img img{transform:scale(1.08);transition:transform 8s linear;will-change:transform}

/* ── Amber line accent (left border on headlines) ── */
.accent-line{padding-left:20px;border-left:3px solid var(--accent)}

/* ── Mobile: disable expensive animations ── */
@media(max-width:768px){
  .orbit-2,.orbit-3{display:none}
  #ic-cursor,#ic-cursor-ring{display:none}
}

/* ── Reduced motion: respect user preference ── */

/* ── AURORA HERO ANIMATIONS ──────────────────────────────────────────────── */
@keyframes auDrift1{
  0%  {transform:translate(0,0) scale(1);opacity:.9}
  33% {transform:translate(-4vw,3vh) scale(1.08);opacity:.7}
  66% {transform:translate(3vw,-2vh) scale(.95);opacity:.85}
  100%{transform:translate(-2vw,5vh) scale(1.05);opacity:.9}
}
@keyframes auDrift2{
  0%  {transform:translate(0,0) scale(1);opacity:.8}
  33% {transform:translate(5vw,4vh) scale(1.1);opacity:.6}
  66% {transform:translate(-3vw,-3vh) scale(.92);opacity:.75}
  100%{transform:translate(4vw,2vh) scale(1.08);opacity:.8}
}
@keyframes auDrift3{
  0%  {transform:translate(0,0) scale(1);opacity:.75}
  33% {transform:translate(3vw,-4vh) scale(1.06);opacity:.55}
  66% {transform:translate(-5vw,2vh) scale(.96);opacity:.7}
  100%{transform:translate(2vw,-3vh) scale(1.04);opacity:.75}
}
@keyframes icFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes icPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes ctaDot{0%,100%{opacity:1}50%{opacity:.3}}
#au-teal,#au-violet,#au-amber{will-change:transform,opacity}

@media(prefers-reduced-motion:reduce){
  /* Exempt aurora — it's the core visual, not decorative */
  *:not(#au-teal):not(#au-violet):not(#au-amber),
  *:not(#au-teal):not(#au-violet):not(#au-amber)::before,
  *:not(#au-teal):not(#au-violet):not(#au-amber)::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important
  }
}
