/* ============================================================
   SAPZCODES — style.css  (light theme only)
   ============================================================ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }

:root {
  --bg:    #f5f9f5;
  --s1:    #eaf2ea;
  --s2:    #ddeedd;
  --black: #f0f4f0;
  --g:     #22a032;
  --glt:   #3ddc50;
  --text:  #0a100a;
  --gr:    #3a4a3a;
  --mu:    #5a6e5a;
  --bd:    rgba(34,160,50,.18);
  --bd2:   rgba(0,0,0,.08);
  --r:     12px;
  --glow:  0 0 36px rgba(34,160,50,.18);
  --glow-s:0 0 18px rgba(34,160,50,.12);
  --fh:    'Rajdhani', sans-serif;
  --fb:    'Exo 2', sans-serif;
  --fm:    'JetBrains Mono', monospace;
  --nav-bg:rgba(245,249,245,.88);
  --shadow:0 2px 20px rgba(0,0,0,.06);
}

html { scroll-behavior:smooth; overflow-x:hidden }

body {
  background:var(--bg);
  color:var(--text);
  font-family:var(--fb);
  overflow-x:hidden;
  cursor:none;
}

/* ── CURSOR ── */
#cur {
  width:10px; height:10px;
  background:var(--g);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%);
  box-shadow:0 0 10px var(--glt),0 0 4px var(--glt);
  transition:width .15s,height .15s;
}
#ring {
  width:32px; height:32px;
  border:1.5px solid rgba(34,160,50,.4);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99998;
  transform:translate(-50%,-50%);
}
body.hov #cur { width:18px; height:18px }

/* ── DOT MATRIX ── */
.dots {
  position:absolute; inset:0;
  overflow:hidden; pointer-events:none; z-index:0;
}
.dots::before {
  content:'';
  position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(34,160,50,.09) 1px,transparent 1px);
  background-size:28px 28px;
  animation:dp 35s linear infinite;
}
.dots::after {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 50%,transparent 25%,var(--bg) 72%);
}
@keyframes dp { from{background-position:0 0} to{background-position:28px 28px} }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:9000;
  height:66px; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  background:var(--nav-bg);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--bd);
  transition:all .3s;
  box-shadow:var(--shadow);
}
nav.sc { height:56px; background:rgba(245,249,245,.97) }

.logo { display:flex; align-items:center; gap:10px; text-decoration:none; cursor:none }
.logo img { height:36px; width:auto; max-width:160px; object-fit:contain; display:block }
.logo-t { display:none }

.nav-right { display:flex; align-items:center; gap:8px }

.nl { display:flex; align-items:center; gap:4px; list-style:none }
.nl a {
  font-family:var(--fm); font-size:.67rem;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--mu); text-decoration:none;
  padding:8px 13px; border-radius:6px;
  transition:color .2s; cursor:none; position:relative;
}
.nl a::after {
  content:''; position:absolute;
  bottom:4px; left:50%; transform:translateX(-50%);
  width:0; height:1.5px; background:var(--g);
  border-radius:2px; transition:width .25s;
}
.nl a:hover, .nl a.on { color:var(--g) }
.nl a:hover::after, .nl a.on::after { width:55% }

.nl .cta {
  background:var(--g) !important; color:#fff !important;
  font-family:var(--fh) !important; font-weight:700 !important;
  font-size:.8rem !important; letter-spacing:.06em !important;
  padding:9px 20px !important; border-radius:6px !important;
  transition:all .2s !important;
}
.nl .cta:hover { background:#1a8028 !important; box-shadow:var(--glow-s) !important }
.nl .cta::after { display:none !important }

/* ── HAMBURGER ── */
.hb {
  display:none; flex-direction:column; gap:5px;
  cursor:none; background:none; border:none; padding:8px;
}
.hb span { width:25px; height:1.5px; background:var(--text); border-radius:2px; transition:all .3s }
.hb.op span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px) }
.hb.op span:nth-child(2) { opacity:0 }
.hb.op span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px) }

/* ── MOBILE MENU ── */
.mm {
  display:none; position:fixed; inset:0;
  background:rgba(245,249,245,.98);
  z-index:8999;
  flex-direction:column; align-items:center; justify-content:center;
  gap:32px; backdrop-filter:blur(20px);
}
.mm.op { display:flex }
.mm a {
  font-family:var(--fh); font-size:2rem; font-weight:700;
  letter-spacing:.05em; color:var(--text);
  text-decoration:none; cursor:none; transition:color .2s;
}
.mm a:hover { color:var(--g) }

/* ── BUTTONS ── */
.bg {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--g); color:#fff;
  font-family:var(--fh); font-weight:700;
  font-size:.93rem; letter-spacing:.05em;
  padding:12px 30px; border-radius:6px;
  text-decoration:none; cursor:none; border:none;
  transition:all .25s; position:relative; overflow:hidden;
}
.bg::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.15);
  transform:translateX(-101%); transition:transform .3s;
}
.bg:hover::before { transform:translateX(0) }
.bg:hover { box-shadow:var(--glow); transform:translateY(-2px) }

.bo {
  display:inline-flex; align-items:center; gap:8px;
  border:1.5px solid var(--bd); color:var(--text);
  font-family:var(--fh); font-weight:600;
  font-size:.93rem; letter-spacing:.04em;
  padding:12px 30px; border-radius:6px;
  text-decoration:none; cursor:none; background:transparent;
  transition:all .25s;
}
.bo:hover { border-color:var(--g); color:var(--g); background:rgba(34,160,50,.05); transform:translateY(-2px) }

/* ── UTILS ── */
.tag {
  font-family:var(--fm); font-size:.68rem;
  text-transform:uppercase; letter-spacing:.14em;
  color:var(--g); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.tag::before { content:''; width:18px; height:1px; background:var(--g); display:inline-block }
.tag.c { justify-content:center }
.tag.c::before { display:none }

.h1 {
  font-family:var(--fh); font-weight:700;
  font-size:clamp(1.9rem,4vw,3rem);
  line-height:1.06; letter-spacing:.02em;
  color:var(--text); margin-bottom:16px;
}
.h1 .g  { color:var(--g) }
.h1 .sk { -webkit-text-stroke:1.5px var(--g); color:transparent }

.sub { color:var(--gr); font-size:1rem; line-height:1.75; max-width:560px }

.sec { padding:100px 5% }
.sec.t0 { padding-top:0 }

/* ── SCROLL REVEAL ── */
.fu { opacity:0; transform:translateY(26px); transition:opacity .65s ease,transform .65s ease }
.fu.vis { opacity:1; transform:translateY(0) }

/* ── MARQUEE ── */
.mq-wrap {
  overflow:hidden;
  border-top:1px solid var(--bd); border-bottom:1px solid var(--bd);
  background:var(--s1); padding:17px 0;
}
.mq-tr { display:flex; animation:mq 28s linear infinite; white-space:nowrap }
.mq-tr:hover { animation-play-state:paused }
.mq-i {
  display:inline-flex; align-items:center; gap:18px;
  padding:0 28px; font-family:var(--fh); font-weight:600;
  font-size:.93rem; letter-spacing:.06em;
  color:var(--mu); text-transform:uppercase;
  transition:color .2s; cursor:default;
}
.mq-i:hover { color:var(--g) }
.md { width:4px; height:4px; background:var(--g); border-radius:50%; opacity:.55; flex-shrink:0 }
@keyframes mq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── STATS ── */
.stats {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--bd2); border-bottom:1px solid var(--bd2);
}
.sb {
  padding:44px 16px; text-align:center;
  border-right:1px solid var(--bd2);
  position:relative; overflow:hidden; transition:background .3s;
}
.sb:last-child { border-right:none }
.sb:hover { background:rgba(34,160,50,.04) }
.sb::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--g);
  transform:scaleX(0); transition:transform .3s; transform-origin:left;
}
.sb:hover::after { transform:scaleX(1) }
.sn { font-family:var(--fh); font-size:clamp(2rem,4vw,2.8rem); font-weight:700; color:var(--g); line-height:1; letter-spacing:.02em }
.sl { font-size:.78rem; color:var(--mu); margin-top:8px; font-family:var(--fm); letter-spacing:.06em }

/* ── MODULE CARDS ── */
.mg {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
  gap:1px; margin-top:52px;
  border:1px solid var(--bd); border-radius:var(--r); overflow:hidden;
}
.mc {
  background:var(--s1); padding:28px 22px;
  transition:all .3s; cursor:none;
  position:relative; overflow:hidden;
}
.mc::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:1.5px; background:var(--g);
  transform:scaleX(0); transition:transform .3s; transform-origin:left;
}
.mc:hover { background:var(--s2) }
.mc:hover::before { transform:scaleX(1) }
.mi { font-size:1.7rem; margin-bottom:12px }
.mn { font-family:var(--fh); font-size:1.08rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:6px }
.mt_ { font-family:var(--fm); font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:var(--g); margin-bottom:8px }
.md2 { font-size:.85rem; color:var(--gr); line-height:1.65 }

/* ── FEATURE CARDS ── */
.fg { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin-top:52px }
.fc_ {
  background:var(--s1); border:1px solid var(--bd2);
  border-radius:var(--r); padding:28px 22px;
  transition:all .3s; cursor:none;
  position:relative; overflow:hidden;
}
.fc_::after {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:2px; background:var(--g);
  transform:scaleY(0); transition:transform .3s;
}
.fc_:hover { border-color:rgba(34,160,50,.2); transform:translateY(-3px); box-shadow:var(--glow-s) }
.fc_:hover::after { transform:scaleY(1) }
.fi {
  width:46px; height:46px; border-radius:8px;
  background:rgba(34,160,50,.08); border:1px solid rgba(34,160,50,.16);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; margin-bottom:16px;
}
.ft_ { font-family:var(--fh); font-size:.98rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:7px }
.fd  { font-size:.84rem; color:var(--gr); line-height:1.65 }

/* ── CTA BANNER ── */
.cta-b {
  margin:0 5% 100px;
  background:var(--s1); border:1px solid rgba(34,160,50,.2);
  border-radius:var(--r); padding:52px 5%;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:28px;
  position:relative; overflow:hidden;
}
.cta-b::before {
  content:'SAPZCODES'; position:absolute; right:-10px; top:50%;
  transform:translateY(-50%);
  font-family:var(--fh); font-size:6.5rem; font-weight:700;
  color:rgba(34,160,50,.04); letter-spacing:.08em;
  pointer-events:none; white-space:nowrap;
}
.ct  { font-family:var(--fh); font-size:clamp(1.4rem,3vw,2rem); font-weight:700; letter-spacing:.03em; color:var(--text); margin-bottom:10px }
.cs  { color:var(--gr); font-size:.95rem; line-height:1.65; max-width:500px }
.cbs { display:flex; gap:14px; flex-wrap:wrap }

/* ── ORBIT ── */
.orbit-wrap { display:flex; justify-content:center }
.orb { width:290px; height:290px; position:relative }
.or_ { position:absolute; border-radius:50%; border:1px solid rgba(34,160,50,.2); animation:os 18s linear infinite }
.or_:nth-child(1) { inset:0 }
.or_:nth-child(2) { inset:40px; animation-duration:12s; animation-direction:reverse; border-color:rgba(34,160,50,.12) }
.or_:nth-child(3) { inset:80px; animation-duration:8s; border-color:rgba(34,160,50,.08) }
@keyframes os { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.od { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--g); top:-4px; left:50%; transform:translateX(-50%); box-shadow:0 0 8px var(--g) }
.or_:nth-child(2) .od { background:var(--text); width:7px; height:7px; top:-3.5px; box-shadow:none }
.or_:nth-child(3) .od { width:6px; height:6px; top:-3px }
.oc {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:88px; height:88px; border-radius:50%;
  background:var(--s1); border:2px solid rgba(34,160,50,.3);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fh); font-size:1.55rem; font-weight:700; color:var(--g);
  box-shadow:var(--glow);
}

/* ── SAP INFO CARDS ── */
.sic-g {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; border:1px solid var(--bd); border-radius:var(--r);
  overflow:hidden; margin:0 5% 80px;
}
.sic { background:var(--s1); padding:34px 26px; cursor:none; transition:background .3s }
.sic:hover { background:var(--s2) }
.sic-n { font-family:var(--fm); font-size:.62rem; color:var(--g); letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px }
.sic-t { font-family:var(--fh); font-size:1.12rem; font-weight:700; letter-spacing:.03em; color:var(--text); margin-bottom:12px }
.sic-d { font-size:.87rem; color:var(--gr); line-height:1.7 }

/* ── FACT PILLS ── */
.fp-g { padding:0 5% 100px; display:grid; grid-template-columns:repeat(auto-fill,minmax(275px,1fr)); gap:14px }
.fp {
  display:flex; align-items:center; gap:16px;
  background:var(--s1); border:1px solid var(--bd2);
  border-radius:10px; padding:20px 22px;
  cursor:none; transition:all .3s;
}
.fp:hover { border-color:rgba(34,160,50,.2); background:var(--s2) }
.fp-ic { font-size:1.35rem; flex-shrink:0 }
.fp-t strong { color:var(--text); display:block; font-family:var(--fh); font-size:.97rem; letter-spacing:.03em }
.fp-t { font-size:.86rem; color:var(--gr); line-height:1.55 }

/* ── CAREER PAGE ── */
.ch_ { padding:140px 5% 80px; position:relative; overflow:hidden; text-align:center }
.ch-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(34,160,50,.06) 0%,transparent 65%); pointer-events:none }
.ch_ h1 { font-family:var(--fh); font-size:clamp(2.5rem,7vw,5rem); font-weight:700; letter-spacing:.02em; color:var(--text); position:relative; z-index:1; margin-bottom:20px }
.ch_ p { color:var(--gr); font-size:1.02rem; max-width:560px; margin:0 auto 40px; position:relative; z-index:1 }
.br-row { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; position:relative; z-index:1 }
.badge_ { font-family:var(--fm); font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:var(--g); background:rgba(34,160,50,.07); border:1px solid rgba(34,160,50,.18); border-radius:4px; padding:8px 15px }
.cspl { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:60px 5% 80px }
.rm-title { font-family:var(--fh); font-size:1.45rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:34px }
.rs { display:flex; gap:18px; position:relative; padding-bottom:30px }
.rs:last-child { padding-bottom:0 }
.rs::before { content:''; position:absolute; left:15px; top:34px; width:1px; height:calc(100% - 8px); background:var(--bd) }
.rs:last-child::before { display:none }
.rn { width:32px; height:32px; flex-shrink:0; border-radius:6px; background:rgba(34,160,50,.08); border:1px solid rgba(34,160,50,.2); display:flex; align-items:center; justify-content:center; font-family:var(--fm); font-size:.68rem; color:var(--g) }
.rb { padding-top:4px }
.rt { font-family:var(--fh); font-size:.98rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:6px }
.rx { font-size:.85rem; color:var(--gr); line-height:1.65 }
.sal-title { font-family:var(--fh); font-size:1.45rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:22px }
.stbl { border:1px solid var(--bd); border-radius:var(--r); overflow:hidden }
.sr { display:flex; align-items:center; justify-content:space-between; padding:17px 22px; border-bottom:1px solid var(--bd2); transition:background .2s; cursor:none }
.sr:last-child { border-bottom:none }
.sr:hover { background:rgba(34,160,50,.04) }
.sr-role { font-size:.89rem; color:var(--text); font-weight:500 }
.sr-exp { font-family:var(--fm); font-size:.62rem; color:var(--mu); margin-top:3px; letter-spacing:.05em }
.sr-pkg { font-family:var(--fm); font-size:.78rem; font-weight:500; color:var(--g); background:rgba(34,160,50,.08); border:1px solid rgba(34,160,50,.16); padding:6px 13px; border-radius:4px }
.pb { margin:0 5% 100px; background:var(--s1); border:1px solid var(--bd); border-radius:var(--r); padding:52px 5%; display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center }
.pb-t { font-family:var(--fh); font-size:2rem; font-weight:700; letter-spacing:.03em; color:var(--text); margin-bottom:14px }
.pb-t .g { color:var(--g) }
.pb-s { color:var(--gr); line-height:1.75; margin-bottom:24px; font-size:.95rem }
.cl { list-style:none; display:flex; flex-direction:column; gap:13px }
.cl li { display:flex; align-items:flex-start; gap:12px; font-size:.87rem; color:var(--gr) }
.cl li::before { content:''; width:18px; height:18px; flex-shrink:0; border-radius:4px; background:rgba(34,160,50,.09); border:1px solid rgba(34,160,50,.2); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%2322a032' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center }

/* ── CONTACT PAGE ── */
.conth { padding:140px 5% 60px; text-align:center }
.conth h1 { font-family:var(--fh); font-size:clamp(2.5rem,6vw,4rem); font-weight:700; letter-spacing:.03em; color:var(--text); margin-bottom:14px }
.conth h1 span { color:var(--g) }
.conth p { color:var(--gr); font-size:1rem }
.contl { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:44px 5% 100px }
.cg { display:flex; flex-direction:column; gap:13px }
.cc { display:flex; align-items:center; gap:18px; background:var(--s1); border:1px solid var(--bd2); border-radius:var(--r); padding:20px 22px; text-decoration:none; cursor:none; transition:all .3s }
.cc:hover { transform:translateY(-2px) }
.cc.wa:hover { border-color:#25d366; box-shadow:0 0 22px rgba(37,211,102,.12) }
.cc.ig:hover { border-color:#c13584; box-shadow:0 0 22px rgba(193,53,132,.1) }
.cc.em:hover { border-color:var(--g); box-shadow:var(--glow-s) }
.cic { width:48px; height:48px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.3rem }
.wa .cic { background:rgba(37,211,102,.08); border:1px solid rgba(37,211,102,.16) }
.ig .cic { background:rgba(193,53,132,.08); border:1px solid rgba(193,53,132,.16) }
.em .cic { background:rgba(34,160,50,.07); border:1px solid rgba(34,160,50,.14) }
.clbl { font-family:var(--fm); font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:var(--mu); margin-bottom:4px }
.cval { font-family:var(--fh); font-size:1.05rem; font-weight:600; letter-spacing:.03em; color:var(--text) }
.car  { margin-left:auto; color:var(--mu); font-size:1rem }
.ic   { background:var(--s1); border:1px solid var(--bd2); border-radius:var(--r); padding:30px 26px; display:flex; flex-direction:column; gap:22px }
.ic h3 { font-family:var(--fh); font-size:1.15rem; font-weight:700; letter-spacing:.04em; color:var(--text) }
.ir   { display:flex; gap:13px; align-items:flex-start }
.iico { width:38px; height:38px; flex-shrink:0; border-radius:7px; background:rgba(34,160,50,.06); border:1px solid var(--bd); display:flex; align-items:center; justify-content:center; font-size:.95rem }
.ilbl { font-family:var(--fm); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--mu); margin-bottom:4px }
.ival { font-size:.89rem; color:var(--gr); line-height:1.55 }
.ival a { color:var(--g); text-decoration:none; cursor:none }
.mapb { border-radius:8px; overflow:hidden; border:1px solid var(--bd); height:195px }
.mapb iframe { width:100%; height:100%; border:none; filter:grayscale(30%) brightness(1) }

/* ── TERMS PAGE ── */
.tw { padding:140px 5% 100px; max-width:880px }
.tw h1 { font-family:var(--fh); font-size:clamp(2rem,5vw,3.2rem); font-weight:700; letter-spacing:.03em; color:var(--text); margin-bottom:8px }
.tdate { font-family:var(--fm); font-size:.7rem; color:var(--mu); letter-spacing:.08em; margin-bottom:60px }
.ts { margin-bottom:44px }
.ts h2 { font-family:var(--fh); font-size:1.12rem; font-weight:700; letter-spacing:.04em; color:var(--g); margin-bottom:13px; display:flex; align-items:center; gap:12px }
.ts h2::before { content:''; width:14px; height:1.5px; background:var(--g); display:inline-block }
.ts p, .ts li { font-size:.88rem; color:var(--gr); line-height:1.85; margin-bottom:8px }
.ts ul { list-style:none; padding:0 }
.ts li { padding-left:16px; position:relative }
.ts li::before { content:'›'; position:absolute; left:0; color:var(--g) }

/* ── INNER HERO ── */
.ih { padding:140px 5% 80px; position:relative; overflow:hidden; max-width:1100px }
.ih h1 { font-family:var(--fh); font-size:clamp(2.5rem,6vw,4.5rem); font-weight:700; letter-spacing:.02em; color:var(--text); margin-bottom:20px }
.ih p  { color:var(--gr); font-size:1.02rem; line-height:1.75; max-width:640px }

/* ── HOME HERO ── */
.hero {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:120px 5% 80px; position:relative; overflow:hidden;
}
.hgrid {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(34,160,50,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,160,50,.06) 1px,transparent 1px);
  background-size:52px 52px; animation:gd 22s linear infinite;
}
@keyframes gd { from{background-position:0 0} to{background-position:52px 52px} }
.hrad {
  position:absolute; width:680px; height:680px;
  background:radial-gradient(circle,rgba(34,160,50,.06) 0%,transparent 68%);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; animation:br 7s ease-in-out infinite;
}
@keyframes br { 0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)} 50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)} }
.hc { position:relative; z-index:1; max-width:860px; text-align:center }
.chip {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(34,160,50,.08); border:1px solid rgba(34,160,50,.22);
  border-radius:4px; padding:7px 18px; margin-bottom:36px;
  font-family:var(--fm); font-size:.68rem;
  text-transform:uppercase; letter-spacing:.12em; color:var(--g);
  animation:fup .6s ease both;
}
.cdot { width:6px; height:6px; background:var(--g); border-radius:50%; animation:bl 1.4s infinite }
@keyframes bl  { 0%,100%{opacity:1} 50%{opacity:.15} }
@keyframes fup { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }
.ht   { font-family:var(--fh); font-weight:700; font-size:clamp(2.8rem,7.5vw,5.8rem); line-height:1.02; letter-spacing:.02em; color:var(--text); margin-bottom:24px; animation:fup .6s .1s ease both }
.hsub { font-size:1.1rem; color:var(--gr); line-height:1.75; max-width:540px; margin:0 auto 44px; animation:fup .6s .2s ease both }
.hbtns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; animation:fup .6s .3s ease both }
.corner { position:absolute; width:55px; height:55px; opacity:.3 }
.tl  { top:80px; left:5%;   border-top:1.5px solid var(--g); border-left:1.5px solid var(--g) }
.tr  { top:80px; right:5%;  border-top:1.5px solid var(--g); border-right:1.5px solid var(--g) }
.bl_ { bottom:40px; left:5%;  border-bottom:1.5px solid var(--g); border-left:1.5px solid var(--g) }
.br_ { bottom:40px; right:5%; border-bottom:1.5px solid var(--g); border-right:1.5px solid var(--g) }

/* ── FOOTER ── */
footer {
  background:var(--black);
  border-top:1px solid var(--bd);
  padding:70px 5% 26px;
}
.ft  { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:44px; margin-bottom:52px }
.fbl { font-family:var(--fh); font-size:1.3rem; font-weight:700; letter-spacing:.04em; color:var(--text); margin-bottom:10px }
.fbl .z { color:var(--g) }
.ftag { color:var(--mu); font-size:.85rem; line-height:1.65; max-width:270px; margin-bottom:22px }
.sr_  { display:flex; gap:10px }
.sb_  { width:36px; height:36px; border-radius:7px; background:rgba(0,0,0,.04); border:1px solid var(--bd2); display:flex; align-items:center; justify-content:center; font-size:.9rem; text-decoration:none; cursor:none; transition:all .2s }
.sb_:hover { border-color:var(--g); box-shadow:var(--glow-s) }
.fco h4 { font-family:var(--fm); font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:var(--g); margin-bottom:18px }
.fco ul { list-style:none; display:flex; flex-direction:column; gap:11px }
.fco ul li a { font-size:.85rem; color:var(--mu); text-decoration:none; cursor:none; transition:color .2s }
.fco ul li a:hover { color:var(--text) }
.fb { border-top:1px solid var(--bd2); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px }
.fc-copy { font-family:var(--fm); font-size:.65rem; color:var(--mu); letter-spacing:.06em }

/* ── RESPONSIVE ── */
@media(max-width:960px) {
  .stats { grid-template-columns:repeat(2,1fr) }
  .sb:nth-child(2) { border-right:none }
  .sb:nth-child(3) { border-top:1px solid var(--bd2) }
  .sic-g { grid-template-columns:1fr }
  .cspl  { grid-template-columns:1fr; gap:48px }
  .pb    { grid-template-columns:1fr }
  .contl { grid-template-columns:1fr }
  .ft    { grid-template-columns:1fr 1fr; gap:30px }
  .sec   { padding:70px 5% }
  div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr !important; gap:40px !important }
}
@media(max-width:700px) {
  .nl { display:none }
  .hb { display:flex }
  .mg { grid-template-columns:1fr }
  .fg { grid-template-columns:1fr 1fr }
  .ft { grid-template-columns:1fr }
  .fb { flex-direction:column; align-items:center; text-align:center }
  .cta-b { text-align:center; justify-content:center }
  .cbs { justify-content:center }
  .corner { display:none }
  .ih { max-width:100% }
}
@media(max-width:480px) {
  .fg   { grid-template-columns:1fr }
  .fp-g { grid-template-columns:1fr }
}
