/* FOSS Workshop — main.css — Mobile First Responsive */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --cyan:#00AEEF;--cyan-dk:#0091C7;--cyan-bg:#EBF8FE;
  --dark:#0D1B2A;--dark2:#1A2E42;--mid:#4A5568;
  --muted:#8A97A5;--border:#E2ECF0;--white:#fff;--off:#F7FBFD;
}
body{font-family:'Plus Jakarta Sans',sans-serif;background:#fff;color:var(--dark);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ── NAV ── */
.nav{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:999;transition:box-shadow .2s}
.nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nlogo a{display:flex;align-items:center;gap:10px;text-decoration:none}
.nlogo a img{height:34px;width:auto}
.nlogo-text{font-size:18px;font-weight:800;color:var(--dark);letter-spacing:-.5px}
.nlogo-text span{color:var(--cyan)}
.nlogo-tag{font-size:10px;color:var(--muted);font-weight:500;margin-left:10px;padding-left:10px;border-left:1px solid var(--border);line-height:1.3;display:none}
.nav-links{display:none;gap:4px}
.nav-links li{list-style:none}
.nav-links li a{font-size:13px;font-weight:500;color:var(--mid);text-decoration:none;padding:7px 12px;display:block;border-radius:6px;transition:all .15s}
.nav-links li a:hover{color:var(--dark);background:var(--off)}
.nav-ctas{display:flex;gap:8px;align-items:center}
.nbtn-ghost{background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--dark);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all .15s;white-space:nowrap}
.nbtn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.nbtn-fill{background:var(--cyan);border:none;border-radius:8px;padding:9px 16px;font-size:12px;font-weight:700;color:#fff;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background .15s;white-space:nowrap}
.nbtn-fill:hover{background:var(--cyan-dk)}

/* Hamburger */
.nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-burger span{width:22px;height:2px;background:var(--dark);border-radius:2px;transition:all .3s;display:block}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Menu Drawer */
.nav-drawer{display:none;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 24px 24px;z-index:998;flex-direction:column;gap:4px;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.nav-drawer.open{display:flex}
.nav-drawer a{font-size:15px;font-weight:600;color:var(--mid);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--border);display:block}
.nav-drawer a:last-child{border-bottom:none}
.nav-drawer a:hover{color:var(--cyan)}
.nav-drawer .drawer-ctas{display:flex;gap:10px;margin-top:12px;flex-direction:column}
.drawer-ctas .nbtn-ghost,.drawer-ctas .nbtn-fill{width:100%;text-align:center;padding:13px;font-size:14px}

/* ── HERO ── */
.hero{display:flex;flex-direction:column;border-bottom:1px solid var(--border)}
.hl{padding:48px 24px 40px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}
.hr{padding:40px 24px 40px;background:var(--dark);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.hr::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(0,174,239,.08);top:-80px;right:-80px;pointer-events:none}
.htag,.hr-htag{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:20px}
.htag-line{width:20px;height:1.5px;background:var(--cyan);flex-shrink:0}
.hl h1{font-size:36px;font-weight:800;line-height:1.08;letter-spacing:-1.5px;color:var(--dark);margin-bottom:18px}
.hl h1 .ul{text-decoration:underline;text-decoration-color:var(--cyan);text-underline-offset:5px;text-decoration-thickness:3px}
.hl-body{font-size:15px;color:var(--mid);line-height:1.7;margin-bottom:28px}
.hl-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.btn-fill-lg{background:var(--cyan);border:none;border-radius:10px;padding:13px 22px;font-size:14px;font-weight:700;color:#fff;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background .15s;width:100%}
.btn-fill-lg:hover{background:var(--cyan-dk)}
.btn-ghost-lg{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:12px 20px;font-size:13px;font-weight:600;color:var(--dark);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all .15s;width:100%}
.btn-ghost-lg:hover{border-color:var(--cyan);color:var(--cyan)}
.proof-row{display:flex;gap:0;padding-top:24px;border-top:1px solid var(--border)}
.proof-row > div{flex:1;text-align:center;padding:0 8px;border-right:1px solid var(--border)}
.proof-row > div:last-child{border-right:none}
.proof-n{font-size:24px;font-weight:800;color:var(--dark);letter-spacing:-1px;line-height:1}
.proof-n b{color:var(--cyan)}
.proof-l{font-size:11px;color:var(--muted);font-weight:500;margin-top:3px}
.hr h2{font-size:34px;font-weight:800;line-height:1.08;letter-spacing:-1.5px;color:#fff;margin-bottom:18px}
.hr h2 b{color:var(--cyan)}
.hr-body{font-size:15px;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:28px}
.btn-cyan-lg{background:var(--cyan);border:none;border-radius:10px;padding:13px 22px;font-size:14px;font-weight:700;color:#fff;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background .15s;margin-bottom:32px;display:inline-block;width:100%;text-align:center}
.btn-cyan-lg:hover{background:var(--cyan-dk)}
.tech-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.2);margin-bottom:10px}
.tech-row{display:flex;gap:6px;flex-wrap:wrap}
.tpill{background:rgba(0,174,239,.1);border:1px solid rgba(0,174,239,.18);border-radius:6px;padding:5px 10px;font-size:11px;font-weight:500;color:rgba(255,255,255,.6)}

/* ── MARQUEE ── */
.mq{overflow:hidden;background:var(--cyan-bg);border-bottom:1px solid #C8E9F7;padding:10px 0}
.mq-inner{display:flex;white-space:nowrap;animation:mscroll 26s linear infinite}
@keyframes mscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.mq-item{display:inline-flex;align-items:center;gap:8px;padding:0 20px;border-right:1px solid #C8E9F7;font-size:12px;font-weight:600;color:#3A7FA0;flex-shrink:0}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--cyan);flex-shrink:0}

/* ── SECTIONS ── */
.s{padding:56px 24px}
.si{max-width:1000px;margin:0 auto}
.s-bg{background:var(--off)}
.s-dark{background:var(--dark);padding:56px 24px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.eyebrow::before{content:'';width:16px;height:1.5px;background:var(--cyan);flex-shrink:0}
.sh{font-size:30px;font-weight:800;letter-spacing:-1.5px;line-height:1.1;color:var(--dark);margin-bottom:12px}
.sh-wh{color:#fff}
.sp{font-size:15px;color:var(--mid);line-height:1.75}
.sp-dk{color:rgba(255,255,255,.45)}

/* ── TRAINING ── */
.t2col{display:flex;flex-direction:column;gap:32px;margin-top:40px}
.t-side .big-num{font-size:72px;font-weight:800;letter-spacing:-5px;color:var(--dark);line-height:.9}
.t-side .big-num b{color:var(--cyan)}
.t-side .big-sub{font-size:18px;font-weight:700;color:var(--dark);letter-spacing:-.8px;margin-top:6px;line-height:1.2}
.t-side p{font-size:14px;color:var(--mid);line-height:1.7;margin-top:14px}
.intern-chip{margin-top:20px;display:inline-flex;align-items:center;gap:8px;background:var(--cyan);color:#fff;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700}
.cthead{display:none}
.ctrow{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid var(--border)}
.ctrow:last-child{border-bottom:none}
.ctn{font-size:15px;font-weight:700;color:var(--dark);letter-spacing:-.3px;margin-bottom:2px}
.cts{font-size:12px;color:var(--muted);line-height:1.4}
.ctrow-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.ctag{font-size:10px;font-weight:700;padding:3px 9px;border-radius:5px;letter-spacing:.3px;display:inline-block}
.t-ai{background:#EDE9FE;color:#5B21B6}.t-fs{background:#FEF3C7;color:#92400E}
.t-cl{background:#DCFCE7;color:#166534}.t-iot{background:#DBEAFE;color:#1E40AF}.t-mb{background:#FCE7F3;color:#9D174D}
.cdur{font-size:12px;color:var(--mid);font-weight:500}
.cmode{font-size:11px;font-weight:600;color:var(--muted)}
.cbtn{border:1.5px solid var(--border);background:#fff;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;color:var(--dark);font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s;align-self:flex-start;margin-top:4px}
.cbtn:hover{background:var(--cyan);color:#fff;border-color:var(--cyan)}

/* ── PROCESS ── */
.proc-row{display:flex;flex-direction:column;gap:0;margin-top:40px;position:relative}
.proc-row::before{content:'';position:absolute;left:25px;top:52px;bottom:52px;width:1px;background:var(--border);z-index:0}
.pstep{display:flex;align-items:flex-start;gap:16px;padding:16px 0;position:relative;z-index:1}
.pcircle{width:50px;height:50px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;border:1.5px solid var(--border);background:#fff;color:var(--mid)}
.pcircle.on{background:var(--cyan);border-color:var(--cyan);color:#fff}
.pstep h4{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px;letter-spacing:-.2px;margin-top:12px}
.pstep p{font-size:12px;color:var(--mid);line-height:1.6}

/* ── CONSULTING ── */
.cgrid{display:flex;flex-direction:column;gap:1px;background:rgba(0,174,239,.08);border:1px solid rgba(0,174,239,.1);border-radius:16px;overflow:hidden;margin-top:40px}
.ccard{background:var(--dark);padding:24px 22px;transition:background .2s}
.ccard:hover{background:var(--dark2)}
.cc-num{font-size:11px;font-weight:700;letter-spacing:.8px;color:rgba(255,255,255,.15);margin-bottom:14px}
.cc-ico{font-size:26px;display:block;margin-bottom:12px}
.ccard h3{font-size:17px;font-weight:700;color:#fff;margin-bottom:7px;letter-spacing:-.4px}
.ccard p{font-size:13px;color:rgba(255,255,255,.42);line-height:1.65}
.cc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.cctag{background:rgba(0,174,239,.08);border:1px solid rgba(0,174,239,.15);border-radius:5px;padding:3px 9px;font-size:11px;color:rgba(255,255,255,.38);font-weight:500}
.c-metrics{display:flex;flex-direction:column;gap:20px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.07)}
.cm-item{padding-left:18px;border-left:2px solid rgba(0,174,239,.25)}
.cm-n{font-size:28px;font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1}
.cm-n b{color:var(--cyan)}
.cm-l{font-size:12px;color:rgba(255,255,255,.3);margin-top:3px}
.btn-co{border:2px solid var(--cyan);background:transparent;color:var(--cyan);border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;width:100%;margin-top:8px;transition:all .2s}
.btn-co:hover{background:var(--cyan);color:#fff}

/* ── OUTCOMES ── */
.out2{display:flex;flex-direction:column;gap:32px;margin-top:40px}
.out-big{font-size:80px;font-weight:800;letter-spacing:-5px;color:var(--dark);line-height:.85;margin-bottom:16px}
.out-big b{color:var(--cyan)}
.out-desc{font-size:15px;color:var(--mid);line-height:1.75}
.out-note{font-size:12px;color:#B0BEC5;margin-top:8px}
.out-stats{display:flex;gap:0;margin-top:24px;border:1.5px solid var(--border);border-radius:12px;overflow:hidden}
.os{flex:1;padding:16px 10px;text-align:center;border-right:1px solid var(--border)}
.os:last-child{border-right:none}
.os-n{font-size:18px;font-weight:800;color:var(--dark);letter-spacing:-.8px}
.os-n b{color:var(--cyan)}
.os-l{font-size:10px;color:var(--muted);font-weight:500;margin-top:3px}
.stories{display:flex;flex-direction:column;gap:14px}
.story{border:1.5px solid var(--border);border-radius:12px;padding:20px;background:#fff;transition:border-color .2s}
.story:hover{border-color:var(--cyan)}
.story q{font-size:13px;color:#374151;line-height:1.75;display:block;margin-bottom:14px;font-style:italic;quotes:none}
.s-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.s-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}
.s-n{font-size:13px;font-weight:700;color:var(--dark)}
.s-r{font-size:11px;color:var(--muted);margin-top:1px}
.s-badge{background:var(--cyan-bg);color:var(--cyan-dk);border:1px solid #BAE3F5;border-radius:5px;font-size:10px;font-weight:700;padding:3px 9px;white-space:nowrap}

/* ── WHY ── */
.w4{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.wcard{border:1.5px solid var(--border);border-radius:14px;padding:22px 18px;background:#fff;transition:all .2s}
.wcard:hover{border-color:var(--cyan);box-shadow:0 4px 24px rgba(0,174,239,.08)}
.wico{width:38px;height:38px;border-radius:9px;background:var(--cyan-bg);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px}
.wlbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--cyan);margin-bottom:5px}
.wcard h4{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:6px;letter-spacing:-.3px;line-height:1.3}
.wcard p{font-size:12px;color:var(--mid);line-height:1.65}

/* ── COMPANIES ── */
.co-sec{background:var(--cyan-bg);padding:40px 24px;border-top:1px solid #C8E9F7;border-bottom:1px solid #C8E9F7}
.co-lbl{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:18px}
.co-pills{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:760px;margin:0 auto}
.co-p{background:#fff;border:1.5px solid #C8E9F7;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--mid)}

/* ── FINAL CTA ── */
.final{padding:64px 24px;text-align:center;background:#fff}
.final h2{font-size:32px;font-weight:800;letter-spacing:-1.5px;color:var(--dark);line-height:1.1;margin-bottom:14px}
.final h2 b{color:var(--cyan)}
.final-sub{font-size:15px;color:var(--mid);line-height:1.7;max-width:500px;margin:0 auto 36px}
.cta3{display:flex;flex-direction:column;gap:14px;align-items:center}
.ctacard{border:1.5px solid var(--border);border-radius:14px;padding:22px;text-align:left;width:100%;max-width:340px;cursor:pointer;background:#fff;transition:all .2s}
.ctacard:hover{border-color:var(--cyan);box-shadow:0 4px 24px rgba(0,174,239,.1)}
.cc-l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:7px}
.ctacard h4{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:7px;letter-spacing:-.3px}
.ctacard p{font-size:12px;color:var(--mid);line-height:1.6;margin-bottom:14px}
.cc-go{font-size:13px;font-weight:700;color:var(--cyan)}

/* ── FOOTER ── */
.footer{background:var(--dark);padding:48px 24px 24px}
.fi{max-width:1000px;margin:0 auto}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:36px}
.fb-name{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:3px}
.fb-name span{color:var(--cyan)}
.fb-tag{font-size:12px;color:var(--cyan);font-style:italic;margin-bottom:12px}
.fb-desc{font-size:12px;color:#4A5568;line-height:1.65;max-width:220px}
.fcol h5{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#2D3748;margin-bottom:14px}
.fcol a{display:block;font-size:13px;color:#4A5568;text-decoration:none;margin-bottom:9px;transition:color .15s}
.fcol a:hover{color:var(--cyan)}
.fbot{border-top:1px solid #1A2334;padding-top:20px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}
.fbot span{font-size:11px;color:#2D3748}
.fsoc{display:flex;gap:8px}
.fsoc-btn{width:32px;height:32px;border-radius:7px;border:1px solid #1A2334;background:transparent;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#2D3748;text-decoration:none;transition:all .15s}
.fsoc-btn:hover{border-color:var(--cyan);color:var(--cyan)}

/* ── CF7 FORMS ── */
.wpcf7-form p{margin-bottom:14px}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:12px 14px;font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--dark);background:#fff;outline:none;transition:border-color .15s}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{border-color:var(--cyan)}
.wpcf7-form input[type="submit"]{background:var(--cyan);color:#fff;border:none;border-radius:9px;padding:13px 28px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background .15s;width:100%}
.wpcf7-form input[type="submit"]:hover{background:var(--cyan-dk)}

/* ═══════════════════════════════
   TABLET — 640px+
═══════════════════════════════ */
@media(min-width:640px){
  .nav{padding:0 32px}
  .nbtn-ghost,.nbtn-fill{font-size:13px;padding:9px 18px}
  .hl{padding:56px 40px 48px}
  .hr{padding:48px 40px}
  .hl h1{font-size:44px}
  .hr h2{font-size:42px}
  .hl-btns{flex-direction:row}
  .btn-fill-lg,.btn-ghost-lg,.btn-cyan-lg{width:auto}
  .proof-row > div{text-align:left}
  .proof-n{font-size:28px}
  .t2col{flex-direction:row;gap:40px}
  .t-side{width:220px;flex-shrink:0}
  .cthead{display:grid;grid-template-columns:2.4fr .8fr .8fr .7fr 120px;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--dark);margin-bottom:2px}
  .cthead span{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
  .ctrow{display:grid;grid-template-columns:2.4fr .8fr .8fr .7fr 120px;gap:12px;padding:18px 12px;border-bottom:1px solid var(--border);align-items:center;border-radius:0}
  .ctrow:hover{background:var(--cyan-bg);border-radius:10px;padding:18px 16px;margin:0 -4px}
  .cdur,.cmode{display:block}
  .proc-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
  .proc-row::before{content:'';position:absolute;top:25px;left:10%;right:10%;width:auto;height:1px;bottom:auto;background:var(--border)}
  .pstep{flex-direction:column;align-items:center;text-align:center;padding:0 8px}
  .pstep h4{margin-top:0}
  .pcircle{margin:0 auto 18px}
  .cgrid{display:grid;grid-template-columns:repeat(2,1fr)}
  .out2{flex-direction:row;gap:40px;align-items:start}
  .out2 > div:first-child{flex-shrink:0;width:48%}
  .cta3{flex-direction:row;justify-content:center;align-items:stretch}
  .ctacard{width:auto;flex:1;max-width:240px}
  .fbot{flex-direction:row;justify-content:space-between;text-align:left}
  .c-metrics{flex-direction:row;align-items:center}
}

/* ═══════════════════════════════
   DESKTOP — 960px+
═══════════════════════════════ */
@media(min-width:960px){
  .nav{height:68px;padding:0 56px}
  .nav-links{display:flex}
  .nav-burger{display:none}
  .nlogo-tag{display:block}
  .nbtn-ghost,.nbtn-fill{font-size:13px;padding:9px 20px}
  .hero{flex-direction:row}
  .hl{padding:72px 56px 64px;border-bottom:none;border-right:1px solid var(--border);flex:1}
  .hr{padding:72px 56px 64px;flex:1}
  .hl h1{font-size:52px;letter-spacing:-2.5px}
  .hr h2{font-size:50px;letter-spacing:-2.5px}
  .hl-body,.hr-body{font-size:16px}
  .proof-n{font-size:30px}
  .s{padding:88px 56px}
  .s-dark{padding:88px 56px}
  .sh{font-size:40px;letter-spacing:-2px}
  .sp{font-size:16px}
  .t2col{gap:60px}
  .t-side{width:260px}
  .t-side .big-num{font-size:88px;letter-spacing:-6px}
  .t-side .big-sub{font-size:20px}
  .cgrid{grid-template-columns:repeat(3,1fr)}
  .w4{grid-template-columns:repeat(2,1fr);gap:20px}
  .wcard{padding:30px 28px}
  .wcard h4{font-size:17px}
  .wcard p{font-size:13px}
  .fg{grid-template-columns:2.2fr 1fr 1fr 1fr}
  .final{padding:96px 56px}
  .final h2{font-size:52px;letter-spacing:-3px}
  .final-sub{font-size:17px}
  .ctacard{padding:26px}
  .ctacard h4{font-size:17px}
  .co-sec{padding:52px 56px}
  .out-big{font-size:100px;letter-spacing:-7px}
  .out-desc{font-size:16px}
  .os-n{font-size:22px}
}

/* ═══════════════════════════
   NAV LOGO — bigger & clearer
═══════════════════════════ */
.nlogo a {
  display: flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
}
.nav-logo-img {
  height: 48px;        /* was 34px — now much more visible */
  width: auto;
  display: block;
  object-fit: contain;
}
.nlogo-fallback {
  font-size: 20px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -.5px;
  align-items: center;
}
.fw-cyan { color: var(--cyan); }

/* taller nav to fit bigger logo */
.nav { height: 72px; }
@media(min-width:960px){
  .nav { height: 76px; }
  .nav-logo-img { height: 54px; } /* desktop: even bigger */
}

/* ═══════════════════════════
   FOOTER LOGO
═══════════════════════════ */
.f-logo-wrap {
  margin-bottom: 14px;
}
.f-logo-img {
  height: 52px;         /* prominent in footer */
  width: auto;
  display: block;
  object-fit: contain;
  /* logo is dark — add light bg pill so it's visible on dark footer */
  background: #fff;
  border-radius: 10px;
  padding: 7px 14px;
}
.f-logo-fallback .fb-name {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.5px;
}
.f-logo-fallback .fb-name span { color: var(--cyan); }

.fb-desc {
  font-size: 13px;
  color: #4A5568;
  line-height: 1.7;
  max-width: 220px;
  margin-bottom: 14px;
}

/* footer contact links */
.f-contact {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 4px;
}
.f-contact-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #4A5568;
  text-decoration: none;
  transition: color .15s;
}
.f-contact-item:hover { color: var(--cyan); }
.f-contact-item span { font-size: 13px; }

/* nav-right wrapper for burger + ctas */
.nav-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ═══════════════════════════
   INNER PAGES — all pages with header+footer
═══════════════════════════ */
.inner-page {
  min-height: 70vh;
}

/* Inner page hero banner */
.inner-hero {
  background: var(--dark);
  padding: 56px 24px 48px;
  border-bottom: 1px solid rgba(0,174,239,.15);
  position: relative;
  overflow: hidden;
}
.inner-hero::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(0,174,239,.07);
  top: -150px;
  right: -100px;
  pointer-events: none;
}
.inner-hero-wrap {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.inner-h1 {
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2px;
  line-height: 1.1;
  margin-top: 10px;
}
.inner-h1 b { color: var(--cyan); }

/* Inner page content area */
.inner-page-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 56px 24px 72px;
}
.inner-page-title {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: var(--dark);
  margin-bottom: 24px;
  line-height: 1.1;
}
.inner-page-content {
  font-size: 15px;
  color: var(--mid);
  line-height: 1.8;
}
.inner-page-content h2 {
  font-size: 26px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -1px;
  margin: 36px 0 12px;
}
.inner-page-content h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -.5px;
  margin: 28px 0 10px;
}
.inner-page-content p {
  margin-bottom: 16px;
}
.inner-page-content ul,
.inner-page-content ol {
  padding-left: 20px;
  margin-bottom: 16px;
}
.inner-page-content li {
  margin-bottom: 6px;
  line-height: 1.7;
}
.inner-page-content a {
  color: var(--cyan);
  text-decoration: none;
  font-weight: 600;
}
.inner-page-content a:hover {
  text-decoration: underline;
}
.inner-page-content strong {
  font-weight: 700;
  color: var(--dark);
}

/* Responsive inner pages */
@media(min-width:640px) {
  .inner-hero { padding: 72px 40px 64px; }
  .inner-h1 { font-size: 52px; }
  .inner-page-wrap { padding: 72px 40px 88px; }
}
@media(min-width:960px) {
  .inner-hero { padding: 88px 56px 72px; }
  .inner-h1 { font-size: 60px; letter-spacing: -3px; }
  .inner-page-wrap { padding: 88px 56px 96px; }
}

/* ═══════════════════════════════════
   TRAINING PAGE — page-training.php
═══════════════════════════════════ */

/* Hero */
.tp-hero {
  background: var(--dark);
  padding: 64px 24px 56px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(0,174,239,.12);
}
.tp-hero::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  border: 1px solid rgba(0,174,239,.06);
  top: -180px; right: -120px;
  pointer-events: none;
}
.tp-hero-inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.tp-hero-h1 {
  font-size: 44px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.5px;
  line-height: 1.06;
  margin: 14px 0 18px;
}
.tp-cyan { color: var(--cyan); }
.tp-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,.5);
  line-height: 1.75;
  max-width: 620px;
  margin-bottom: 36px;
}
.tp-hero-stats {
  display: flex;
  gap: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  overflow: hidden;
  max-width: 560px;
}
.tp-stat {
  flex: 1;
  padding: 16px 12px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.08);
}
.tp-stat:last-child { border-right: none; }
.tp-stat-n {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1;
}
.tp-stat-n b { color: var(--cyan); }
.tp-stat-l {
  font-size: 10px;
  color: rgba(255,255,255,.35);
  font-weight: 500;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .4px;
}

/* Internship bar */
.tp-intern-bar {
  background: var(--cyan-bg);
  border-bottom: 1px solid #C8E9F7;
  padding: 18px 24px;
}
.tp-intern-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.tp-intern-ico { font-size: 24px; flex-shrink: 0; margin-top: 2px; }
.tp-intern-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -.2px;
  margin-bottom: 3px;
}
.tp-intern-sub {
  font-size: 13px;
  color: var(--mid);
  line-height: 1.6;
}

/* Section wrapper */
.tp-section {
  padding: 56px 24px 72px;
  background: var(--off);
}
.tp-section-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.tp-sec-head {
  margin-bottom: 40px;
}
.tp-sec-h {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: var(--dark);
  margin-bottom: 10px;
  line-height: 1.1;
}
.tp-sec-p {
  font-size: 15px;
  color: var(--mid);
  line-height: 1.7;
  max-width: 600px;
}

/* COURSE CARD */
.course-card {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 16px;
  margin-bottom: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, box-shadow .2s;
}
.course-card:hover {
  border-color: var(--cyan);
  box-shadow: 0 8px 40px rgba(0,174,239,.08);
}
.course-card-left {
  padding: 28px 28px 24px;
  flex: 1;
}
.course-card-right {
  padding: 24px 28px 28px;
  border-top: 1.5px solid var(--border);
  background: var(--off);
}

/* tag */
.cc-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 6px;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.t-ai  { background:#EDE9FE; color:#5B21B6 }
.t-fs  { background:#FEF3C7; color:#92400E }
.t-cl  { background:#DCFCE7; color:#166534 }
.t-iot { background:#DBEAFE; color:#1E40AF }
.t-mb  { background:#FCE7F3; color:#9D174D }

.cc-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -1px;
  margin-bottom: 6px;
  line-height: 1.2;
}
.cc-tagline {
  font-size: 13px;
  color: var(--cyan-dk);
  font-weight: 600;
  margin-bottom: 14px;
}
.cc-desc {
  font-size: 14px;
  color: var(--mid);
  line-height: 1.75;
  margin-bottom: 22px;
}

/* Highlights grid */
.cc-highlights {
  margin-bottom: 22px;
}
.cc-hl-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--muted);
  margin-bottom: 12px;
}
.cc-hl-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.cc-hl-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--mid);
  line-height: 1.4;
  background: var(--off);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 9px 10px;
}
.cc-hl-ico { font-size: 15px; flex-shrink: 0; margin-top: 1px; }

/* Meta row */
.cc-meta-row {
  display: flex;
  gap: 0;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 22px;
}
.cc-meta-item {
  flex: 1;
  padding: 12px 10px;
  text-align: center;
  border-right: 1px solid var(--border);
}
.cc-meta-item:last-child { border-right: none; }
.cc-meta-label {
  font-size: 10px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .5px;
  font-weight: 600;
  margin-bottom: 4px;
}
.cc-meta-val {
  font-size: 13px;
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -.2px;
}

/* Actions */
.cc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.cc-btn-apply {
  background: var(--cyan);
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Plus Jakarta Sans', sans-serif;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background .15s;
}
.cc-btn-apply:hover { background: var(--cyan-dk); }
.cc-btn-apply.cc-btn-full {
  width: 100%;
  justify-content: center;
  margin-top: 16px;
  padding: 13px;
}
.cc-btn-syllabus {
  background: #fff;
  color: var(--dark);
  border: 1.5px solid var(--border);
  border-radius: 9px;
  padding: 11px 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: 'Plus Jakarta Sans', sans-serif;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all .15s;
}
.cc-btn-syllabus:hover { border-color: var(--cyan); color: var(--cyan); }

/* Info box (right col) */
.cc-info-box {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 20px;
}
.cc-info-head {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--muted);
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.cc-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  color: var(--mid);
}
.cc-info-row:last-of-type { border-bottom: none; }
.cc-info-val { font-weight: 600; color: var(--dark); }
.cc-green { color: #059669 !important; }

/* Seats bar */
.cc-seats {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.cc-seats-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 7px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.cc-seats-bar {
  height: 5px;
  background: var(--border);
  border-radius: 100px;
  overflow: hidden;
  margin-bottom: 5px;
}
.cc-seats-fill {
  height: 100%;
  background: var(--cyan);
  border-radius: 100px;
}
.cc-seats-count {
  font-size: 11px;
  color: var(--mid);
  font-weight: 500;
}

/* Apply section */
.tp-apply {
  background: var(--dark);
  padding: 72px 24px 80px;
}
.tp-apply-inner {
  max-width: 680px;
  margin: 0 auto;
}
.tp-apply-h {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.5px;
  margin: 12px 0 10px;
  line-height: 1.1;
}
.tp-apply-sub {
  font-size: 15px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  margin-bottom: 32px;
}
.tp-apply-form .wpcf7-form input[type="text"],
.tp-apply-form .wpcf7-form input[type="email"],
.tp-apply-form .wpcf7-form input[type="tel"],
.tp-apply-form .wpcf7-form select,
.tp-apply-form .wpcf7-form textarea {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  color: #fff;
}
.tp-apply-form .wpcf7-form input::placeholder,
.tp-apply-form .wpcf7-form textarea::placeholder { color: rgba(255,255,255,.3); }
.tp-apply-form .wpcf7-form input:focus,
.tp-apply-form .wpcf7-form select:focus { border-color: var(--cyan); }
.tp-apply-form .wpcf7-form select { color: rgba(255,255,255,.7); }

/* ── RESPONSIVE — Training page ── */
@media(min-width:640px) {
  .tp-hero { padding: 80px 40px 64px; }
  .tp-hero-h1 { font-size: 56px; }
  .tp-section { padding: 72px 40px 88px; }
  .course-card { flex-direction: row; }
  .course-card-left { padding: 32px 32px 28px; }
  .course-card-right {
    width: 260px;
    flex-shrink: 0;
    border-top: none;
    border-left: 1.5px solid var(--border);
    padding: 32px 24px;
  }
  .tp-apply { padding: 88px 40px 96px; }
  .tp-apply-h { font-size: 40px; }
}
@media(min-width:960px) {
  .tp-hero { padding: 96px 56px 72px; }
  .tp-hero-h1 { font-size: 64px; letter-spacing: -3px; }
  .tp-section { padding: 88px 56px 96px; }
  .cc-hl-grid { grid-template-columns: 1fr 1fr; }
  .course-card-right { width: 280px; }
  .tp-apply { padding: 96px 56px 104px; }
}

/* ═══════════════════════════════════
   CONSULTING PAGE
═══════════════════════════════════ */

/* Hero */
.cp-hero {
  background: var(--dark);
  padding: 64px 24px 0;
  position: relative;
  overflow: hidden;
}
.cp-hero::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  border: 1px solid rgba(0,174,239,.06);
  top: -200px; right: -150px;
  pointer-events: none;
}
.cp-hero-inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding-bottom: 56px;
}
.cp-hero-h1 {
  font-size: 44px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.5px;
  line-height: 1.06;
  margin: 14px 0 18px;
}
.cp-cyan { color: var(--cyan); }
.cp-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,.48);
  line-height: 1.75;
  max-width: 640px;
  margin-bottom: 32px;
}
.cp-hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.cp-btn-primary {
  background: var(--cyan);
  color: #fff;
  border-radius: 10px;
  padding: 13px 24px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  transition: background .15s;
}
.cp-btn-primary:hover { background: var(--cyan-dk); }
.cp-btn-ghost {
  background: transparent;
  color: rgba(255,255,255,.7);
  border: 1.5px solid rgba(255,255,255,.15);
  border-radius: 10px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all .15s;
}
.cp-btn-ghost:hover { border-color: rgba(255,255,255,.4); color: #fff; }

/* Hero metrics bar */
.cp-hero-metrics {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.07);
  position: relative;
  z-index: 1;
}
.cp-metric {
  flex: 1;
  padding: 20px 16px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.07);
}
.cp-metric:last-child { border-right: none; }
.cp-metric-n {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1;
}
.cp-metric-n b { color: var(--cyan); }
.cp-metric-l {
  font-size: 11px;
  color: rgba(255,255,255,.3);
  font-weight: 500;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .4px;
}

/* Trust strip */
.cp-trust-strip {
  background: var(--cyan-bg);
  border-bottom: 1px solid #C8E9F7;
  padding: 14px 24px;
  overflow-x: auto;
}
.cp-trust-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  justify-content: center;
  flex-wrap: wrap;
}
.cp-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #0369A1;
}
.cp-trust-sep { color: #BAE3F5; font-size: 18px; }

/* Services section */
.cp-services {
  padding: 72px 24px;
  background: var(--off);
}
.cp-services-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.cp-sec-head { margin-bottom: 44px; }
.cp-sec-h {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: var(--dark);
  line-height: 1.1;
  margin-bottom: 10px;
}
.cp-sec-p {
  font-size: 15px;
  color: var(--mid);
  line-height: 1.75;
  max-width: 580px;
}

/* Service cards grid */
.sv-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.sv-card {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  transition: border-color .2s, box-shadow .2s;
  position: relative;
}
.sv-card:hover {
  border-color: var(--cyan);
  box-shadow: 0 8px 40px rgba(0,174,239,.08);
}
.sv-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.sv-num {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .8px;
}
.sv-ico { font-size: 28px; }
.sv-badge {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
  letter-spacing: .3px;
}
.sv-badge-hot { background: #FEF3C7; color: #92400E; border: 1px solid #FCD34D; }
.sv-badge-new { background: var(--cyan-bg); color: var(--cyan-dk); border: 1px solid #BAE3F5; }

.sv-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -.8px;
  margin-bottom: 10px;
  line-height: 1.2;
}
.sv-desc {
  font-size: 14px;
  color: var(--mid);
  line-height: 1.75;
  margin-bottom: 18px;
}
.sv-use-cases { margin-bottom: 12px; }
.sv-use-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--muted);
  margin-bottom: 7px;
}
.sv-use-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.sv-use-pills span {
  background: var(--off);
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--mid);
}
.sv-stack {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}
.sv-stack span {
  background: var(--dark);
  color: #7DD3FC;
  border-radius: 5px;
  padding: 3px 9px;
  font-family: 'Courier New', monospace;
  font-size: 11px;
  font-weight: 600;
}
.sv-btn {
  display: inline-flex;
  align-items: center;
  background: var(--cyan);
  color: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.sv-btn:hover { background: var(--cyan-dk); }

/* Products section */
.cp-products {
  padding: 72px 24px;
  background: #fff;
  border-top: 1px solid var(--border);
}
.cp-products-inner { max-width: 1000px; margin: 0 auto; }

.prod-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 44px;
}
.prod-card {
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.prod-card:hover {
  border-color: var(--cyan);
  box-shadow: 0 6px 32px rgba(0,174,239,.08);
}
.prod-card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.prod-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.prod-name {
  font-size: 18px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -.5px;
}
.prod-url {
  font-size: 12px;
  color: var(--cyan);
  font-weight: 600;
  margin-top: 1px;
}
.prod-status {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 100px;
  letter-spacing: .3px;
  flex-shrink: 0;
}
.prod-live { background: #DCFCE7; color: #166534; border: 1px solid #A7F3D0; }
.prod-build { background: #FEF3C7; color: #92400E; border: 1px solid #FCD34D; }

.prod-tag-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.prod-tag {
  background: var(--cyan-bg);
  color: var(--cyan-dk);
  border: 1px solid #BAE3F5;
  border-radius: 5px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 600;
}
.prod-desc {
  font-size: 14px;
  color: var(--mid);
  line-height: 1.75;
  margin-bottom: 14px;
}
.prod-stack {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.prod-stack span {
  background: var(--dark);
  color: #7DD3FC;
  border-radius: 5px;
  padding: 3px 9px;
  font-family: 'Courier New', monospace;
  font-size: 11px;
  font-weight: 600;
}
.prod-testimonial {
  background: var(--off);
  border-left: 3px solid var(--cyan);
  border-radius: 0 8px 8px 0;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.prod-quote {
  font-size: 13px;
  color: var(--mid);
  line-height: 1.65;
  font-style: italic;
  margin-bottom: 6px;
}
.prod-author {
  font-size: 12px;
  font-weight: 700;
  color: var(--dark);
}
.prod-btn {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 700;
  color: var(--dark);
  text-decoration: none;
  transition: all .15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.prod-btn:hover { border-color: var(--cyan); color: var(--cyan); }

/* Student callout */
.prod-callout {
  background: var(--dark);
  border-radius: 16px;
  padding: 28px;
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.prod-callout-left { display: flex; gap: 16px; align-items: flex-start; }
.prod-callout-ico { font-size: 28px; flex-shrink: 0; }
.prod-callout-h {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.5px;
  margin-bottom: 8px;
  line-height: 1.2;
}
.prod-callout-p {
  font-size: 14px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
}
.prod-callout-btn {
  display: inline-flex;
  align-items: center;
  background: var(--cyan);
  color: #fff;
  border-radius: 9px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
  align-self: flex-start;
}
.prod-callout-btn:hover { background: var(--cyan-dk); }

/* Process */
.cp-process {
  padding: 72px 24px;
  background: var(--off);
  border-top: 1px solid var(--border);
}
.cp-process-inner { max-width: 1000px; margin: 0 auto; }
.cp-proc-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 40px;
}
.cp-proc-step {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 24px;
  position: relative;
}
.cp-proc-n {
  font-size: 32px;
  font-weight: 800;
  color: var(--cyan-bg);
  letter-spacing: -2px;
  margin-bottom: 10px;
  line-height: 1;
  -webkit-text-stroke: 2px var(--cyan);
}
.cp-proc-step h4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 8px;
  letter-spacing: -.3px;
}
.cp-proc-step p {
  font-size: 13px;
  color: var(--mid);
  line-height: 1.65;
}

/* Contact / Book a call */
.cp-contact {
  background: var(--dark);
  padding: 72px 24px 80px;
}
.cp-contact-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.cp-contact-h {
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin: 12px 0 12px;
}
.cp-contact-sub {
  font-size: 15px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  margin-bottom: 24px;
}
.cp-contact-points {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
}
.cp-cp-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255,255,255,.65);
  font-weight: 500;
}
.cp-cp-ico {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(0,174,239,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--cyan);
  font-weight: 800;
  flex-shrink: 0;
}
.cp-contact-direct { border-top: 1px solid rgba(255,255,255,.08); padding-top: 20px; }
.cp-direct-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,.25);
  margin-bottom: 12px;
}
.cp-direct-link {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  margin-bottom: 8px;
  transition: color .15s;
}
.cp-direct-link:hover { color: var(--cyan); }

.cp-form-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 28px;
}
.cp-form-head {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.3px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cp-form-box .wpcf7-form input[type="text"],
.cp-form-box .wpcf7-form input[type="email"],
.cp-form-box .wpcf7-form input[type="tel"],
.cp-form-box .wpcf7-form select,
.cp-form-box .wpcf7-form textarea {
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.12);
  color: #fff;
}
.cp-form-box .wpcf7-form input::placeholder,
.cp-form-box .wpcf7-form textarea::placeholder { color: rgba(255,255,255,.3); }
.cp-form-box .wpcf7-form input:focus,
.cp-form-box .wpcf7-form select:focus { border-color: var(--cyan); }
.cp-form-box .wpcf7-form select option { background: var(--dark); color: #fff; }

/* ── RESPONSIVE — Consulting ── */
@media(min-width:640px) {
  .cp-hero { padding: 80px 40px 0; }
  .cp-hero-h1 { font-size: 52px; }
  .cp-services { padding: 88px 40px; }
  .sv-grid { grid-template-columns: 1fr 1fr; }
  .prod-grid { grid-template-columns: 1fr 1fr; }
  .cp-proc-grid { grid-template-columns: 1fr 1fr; }
  .cp-contact-inner { flex-direction: row; gap: 56px; align-items: flex-start; }
  .cp-contact-left { flex: 1; }
  .cp-contact-right { flex: 1; }
}
@media(min-width:960px) {
  .cp-hero { padding: 96px 56px 0; }
  .cp-hero-h1 { font-size: 62px; letter-spacing: -3px; }
  .cp-services { padding: 96px 56px; }
  .cp-products { padding: 96px 56px; }
  .cp-process { padding: 88px 56px; }
  .cp-contact { padding: 96px 56px 104px; }
  .cp-proc-grid { grid-template-columns: repeat(4,1fr); }
  .prod-callout { flex-direction: row; align-items: center; }
  .prod-callout-btn { margin-left: auto; align-self: center; white-space: nowrap; }
}

/* ═══════════════════════════════════
   OUTCOMES PAGE
═══════════════════════════════════ */

/* Hero */
.op-hero {
  background: var(--dark);
  padding: 72px 24px 64px;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid var(--cyan);
}
.op-hero::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  border: 1px solid rgba(0,174,239,.05);
  top: -250px; right: -200px;
  pointer-events: none;
}
.op-hero-inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.op-hero-h1 {
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -2.5px;
  line-height: 1.06;
  margin: 14px 0 18px;
}
.op-cyan { color: var(--cyan); }
.op-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,.48);
  line-height: 1.75;
  max-width: 640px;
  margin-bottom: 32px;
}
.op-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.op-btn-primary {
  background: var(--cyan);
  color: #fff;
  border-radius: 10px;
  padding: 13px 26px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  transition: background .15s;
}
.op-btn-primary:hover { background: var(--cyan-dk); }
.op-btn-ghost {
  background: transparent;
  color: rgba(255,255,255,.7);
  border: 1.5px solid rgba(255,255,255,.15);
  border-radius: 10px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all .15s;
}
.op-btn-ghost:hover { border-color: rgba(255,255,255,.4); color: #fff; }

/* Big stats */
.op-stats-section {
  padding: 72px 24px;
  background: #fff;
}
.op-stats-inner { max-width: 1000px; margin: 0 auto; }

.op-stat-hero-row {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}
.op-stat-big {
  background: var(--dark);
  border-radius: 20px;
  padding: 40px 36px;
  flex: 1;
  position: relative;
  overflow: hidden;
}
.op-stat-big::before {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  border-radius: 50%;
  border: 1px solid rgba(0,174,239,.08);
  bottom: -100px; right: -80px;
}
.op-stat-big-n {
  font-size: 6rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -5px;
  line-height: .9;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.op-stat-big-n b { color: var(--cyan); }
.op-stat-big-n span { color: var(--cyan); }
.op-stat-big-label {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.5px;
  margin-bottom: 8px;
  position: relative;
  z-index: 1;
}
.op-stat-big-note {
  font-size: 13px;
  color: rgba(255,255,255,.4);
  line-height: 1.65;
  max-width: 320px;
  position: relative;
  z-index: 1;
}

.op-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 32px;
}
.op-stat-card {
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 22px 20px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.op-stat-card:hover {
  border-color: var(--cyan);
  box-shadow: 0 4px 24px rgba(0,174,239,.08);
}
.op-sc-n {
  font-size: 28px;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -1.5px;
  line-height: 1;
  margin-bottom: 6px;
}
.op-sc-n b { color: var(--cyan); }
.op-sc-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 4px;
}
.op-sc-sub { font-size: 12px; color: var(--muted); line-height: 1.5; }

/* Integrity note */
.op-integrity {
  background: var(--off);
  border: 1.5px solid var(--border);
  border-left: 4px solid var(--cyan);
  border-radius: 0 12px 12px 0;
  padding: 20px 22px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.op-integrity-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.op-integrity-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 6px;
  letter-spacing: -.2px;
}
.op-integrity p { font-size: 13px; color: var(--mid); line-height: 1.7; }

/* Track table */
.op-tracks {
  padding: 72px 24px;
  background: var(--off);
  border-top: 1px solid var(--border);
}
.op-tracks-inner { max-width: 1000px; margin: 0 auto; }
.op-sec-h {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: var(--dark);
  line-height: 1.1;
  margin-bottom: 10px;
}
.op-sec-h-wh { color: #fff; }
.op-sec-p { font-size: 15px; color: var(--mid); line-height: 1.7; margin-bottom: 32px; }

.op-track-table { margin-top: 32px; overflow-x: auto; }
.op-track-head {
  display: none;
  grid-template-columns: 2fr .7fr .7fr 1.5fr .7fr;
  gap: 12px;
  padding: 0 16px 12px;
  border-bottom: 2px solid var(--dark);
  margin-bottom: 4px;
}
.op-track-head span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--muted);
}
.op-track-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  margin-bottom: 10px;
  transition: border-color .2s;
}
.op-track-row:hover { border-color: var(--cyan); }
.op-tr-name { display: flex; align-items: center; gap: 10px; }
.op-tr-tag {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 5px;
  letter-spacing: .3px;
  flex-shrink: 0;
}
.op-tr-title { font-size: 14px; font-weight: 700; color: var(--dark); letter-spacing: -.2px; }
.op-tr-rate { font-size: 18px; font-weight: 800; color: var(--green); letter-spacing: -.5px; }
.op-tr-pkg { font-size: 15px; font-weight: 700; color: var(--cyan); letter-spacing: -.3px; }
.op-tr-hirers { font-size: 12px; color: var(--mid); line-height: 1.5; }
.op-tr-dur { font-size: 12px; font-weight: 600; color: var(--muted); }

/* Testimonials */
.op-testi {
  background: var(--dark);
  padding: 72px 24px 80px;
}
.op-testi-inner { max-width: 1000px; margin: 0 auto; }

.op-testi-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.op-testi-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 28px;
  transition: border-color .2s, background .2s;
  position: relative;
}
.op-testi-card:hover {
  border-color: rgba(0,174,239,.3);
  background: rgba(255,255,255,.06);
}
.op-testi-featured {
  border-color: rgba(0,174,239,.25);
  background: rgba(0,174,239,.05);
}
.op-tc-quote-mark {
  font-size: 56px;
  color: var(--cyan);
  font-weight: 800;
  line-height: .8;
  margin-bottom: 12px;
  opacity: .5;
  font-family: Georgia, serif;
}
.op-tc-stars {
  color: #FBBF24;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.op-tc-text {
  font-size: 14px;
  color: rgba(255,255,255,.75);
  line-height: 1.8;
  margin-bottom: 22px;
  font-style: italic;
}
.op-tc-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.op-tc-av {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.op-tc-name { font-size: 14px; font-weight: 700; color: #fff; }
.op-tc-role { font-size: 12px; color: rgba(255,255,255,.4); margin-top: 2px; }
.op-tc-track { font-size: 11px; color: var(--cyan); font-weight: 600; margin-top: 2px; }
.op-tc-pkg {
  margin-left: auto;
  text-align: right;
  flex-shrink: 0;
}
.op-tc-pkg-n {
  font-size: 18px;
  font-weight: 800;
  color: var(--cyan);
  letter-spacing: -.5px;
  line-height: 1;
}
.op-tc-pkg-l { font-size: 10px; color: rgba(255,255,255,.3); font-weight: 500; margin-top: 2px; }

/* Companies */
.op-companies {
  padding: 72px 24px;
  background: #fff;
  border-top: 1px solid var(--border);
}
.op-companies-inner { max-width: 1000px; margin: 0 auto; }
.op-co-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}
.op-co-pill {
  background: var(--off);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dark);
  transition: all .15s;
}
.op-co-pill:hover { border-color: var(--cyan); background: var(--cyan-bg); }
.op-co-more {
  background: var(--dark);
  color: #fff;
  border-color: var(--dark);
}

/* Process */
.op-process {
  padding: 72px 24px;
  background: var(--off);
  border-top: 1px solid var(--border);
}
.op-process-inner { max-width: 1000px; margin: 0 auto; }
.op-proc-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 40px;
  position: relative;
}
.op-proc-steps::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 48px;
  bottom: 24px;
  width: 2px;
  background: linear-gradient(to bottom, var(--cyan), transparent);
}
.op-ps {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 0 0 36px;
  position: relative;
  z-index: 1;
}
.op-ps-n {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--cyan);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: -.5px;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(0,174,239,.2);
}
.op-ps-body h4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -.3px;
  margin-bottom: 7px;
  margin-top: 12px;
}
.op-ps-body p { font-size: 14px; color: var(--mid); line-height: 1.7; }

/* Client trust section */
.op-client-trust {
  padding: 72px 24px;
  background: var(--dark);
}
.op-client-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.op-ct-h {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin: 12px 0 12px;
}
.op-ct-sub { font-size: 15px; color: rgba(255,255,255,.45); line-height: 1.7; margin-bottom: 28px; }
.op-ct-points { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.op-ctp { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.6; }
.op-ctp b { color: #fff; font-weight: 700; }
.op-ctp-ico {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: rgba(0,174,239,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--cyan);
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}
.op-ct-btn {
  display: inline-flex;
  background: var(--cyan);
  color: #fff;
  border-radius: 10px;
  padding: 13px 24px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.op-ct-btn:hover { background: var(--cyan-dk); }
.op-ct-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 28px;
}
.op-ct-card-head {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,.25);
  margin-bottom: 20px;
}
.op-ct-review { margin-bottom: 20px; }
.op-ctr-stars { color: #FBBF24; font-size: 13px; letter-spacing: 2px; margin-bottom: 12px; }
.op-ctr-text { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.75; font-style: italic; margin-bottom: 14px; }
.op-ctr-meta { display: flex; align-items: center; gap: 10px; }
.op-ctr-av {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.op-ctr-name { font-size: 13px; font-weight: 700; color: #fff; }
.op-ctr-co { font-size: 11px; color: rgba(255,255,255,.35); margin-top: 2px; }
.op-ct-divider { height: 1px; background: rgba(255,255,255,.07); margin: 20px 0; }

/* Final CTA */
.op-final {
  padding: 88px 24px;
  text-align: center;
  background: #fff;
  border-top: 1px solid var(--border);
}
.op-final-inner { max-width: 600px; margin: 0 auto; }
.op-final-h {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -2px;
  color: var(--dark);
  line-height: 1.1;
  margin-bottom: 14px;
}
.op-final-sub { font-size: 16px; color: var(--mid); line-height: 1.7; margin-bottom: 32px; }
.op-final-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px; }
.op-final-note { font-size: 12px; color: var(--muted); font-weight: 500; }

/* ── RESPONSIVE — Outcomes ── */
@media(min-width:640px) {
  .op-hero { padding: 88px 40px 72px; }
  .op-hero-h1 { font-size: 60px; }
  .op-stats-section { padding: 88px 40px; }
  .op-stat-hero-row { flex-direction: row; }
  .op-stats-grid { grid-template-columns: repeat(3,1fr); }
  .op-tracks { padding: 88px 40px; }
  .op-track-head { display: grid; }
  .op-track-row {
    display: grid;
    grid-template-columns: 2fr .7fr .7fr 1.5fr .7fr;
    gap: 12px;
    flex-direction: row;
    align-items: center;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 2px;
    background: #fff;
    border: none;
    border-bottom: 1px solid var(--border);
  }
  .op-track-row:hover { background: var(--cyan-bg); border-radius: 10px; border-color: transparent; }
  .op-testi { padding: 88px 40px 96px; }
  .op-testi-grid { grid-template-columns: 1fr 1fr; }
  .op-testi-featured { grid-column: 1 / -1; }
  .op-companies { padding: 88px 40px; }
  .op-process { padding: 88px 40px; }
  .op-client-trust { padding: 88px 40px; }
  .op-client-inner { flex-direction: row; align-items: flex-start; gap: 56px; }
  .op-client-inner > div { flex: 1; }
  .op-final { padding: 96px 40px; }
  .op-final-h { font-size: 52px; }
}
@media(min-width:960px) {
  .op-hero { padding: 96px 56px 80px; }
  .op-hero-h1 { font-size: 68px; letter-spacing: -3.5px; }
  .op-stats-section { padding: 96px 56px; }
  .op-stat-big-n { font-size: 8rem; }
  .op-testi { padding: 96px 56px 104px; }
  .op-testi-grid { grid-template-columns: 1fr 1fr 1fr; }
  .op-testi-featured { grid-column: 1 / -1; }
  .op-companies { padding: 96px 56px; }
  .op-process { padding: 96px 56px; }
  .op-proc-steps::before { left: 24px; }
  .op-client-trust { padding: 96px 56px; }
  .op-final { padding: 104px 56px; }
}

/* ═══════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════ */

/* Hero */
.ab-hero{background:var(--dark);padding:72px 24px 64px;position:relative;overflow:hidden;border-bottom:3px solid var(--cyan)}
.ab-hero::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(0,174,239,.05);top:-200px;right:-150px;pointer-events:none}
.ab-hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1}
.ab-hero-h1{font-size:42px;font-weight:800;color:#fff;letter-spacing:-2px;line-height:1.07;margin:14px 0 20px}
.ab-cyan{color:var(--cyan)}
.ab-cyan-lt{color:var(--cyan)}
.ab-hero-sub{font-size:16px;color:rgba(255,255,255,.48);line-height:1.75;max-width:660px}

/* Founder */
.ab-founder{padding:72px 24px;background:#fff;border-bottom:1px solid var(--border)}
.ab-founder-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.ab-founder-img-wrap{display:flex;flex-direction:column;gap:16px}
.ab-founder-img-placeholder{background:var(--dark);border-radius:16px;padding:40px 24px;text-align:center;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:280px}
.ab-fi-initials{font-size:64px;font-weight:800;color:var(--cyan);letter-spacing:-3px;line-height:1}
.ab-fi-label{font-size:14px;color:rgba(255,255,255,.5);margin-top:12px;font-weight:600}
.ab-founder-card{background:var(--off);border:1.5px solid var(--border);border-radius:12px;padding:18px}
.ab-fc-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--mid);line-height:1.5;padding:8px 0;border-bottom:1px solid var(--border)}
.ab-fc-item:last-child{border-bottom:none}
.ab-fc-ico{font-size:16px;flex-shrink:0;margin-top:1px}
.ab-fc-item b{color:var(--dark);font-weight:700;display:block;margin-bottom:1px}
.ab-fc-link{color:var(--cyan);text-decoration:none;font-weight:600;font-size:12px}
.ab-fc-link:hover{text-decoration:underline}
.ab-eyebrow-sm{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--cyan);margin-bottom:6px}
.ab-founder-h2{font-size:36px;font-weight:800;color:var(--dark);letter-spacing:-1.5px;margin-bottom:4px;line-height:1}
.ab-founder-tagline{font-size:14px;color:var(--muted);font-weight:500;margin-bottom:24px;font-style:italic}
.ab-story-block{margin-bottom:20px}
.ab-story-block p{font-size:15px;color:var(--mid);line-height:1.8;margin-bottom:14px}
.ab-quote-block{background:var(--dark);border-radius:14px;padding:28px;margin:24px 0;position:relative;overflow:hidden}
.ab-quote-block::before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid rgba(0,174,239,.08);bottom:-60px;right:-40px}
.ab-qb-mark{font-size:56px;color:var(--cyan);font-weight:800;line-height:.7;margin-bottom:12px;opacity:.5;font-family:Georgia,serif}
.ab-qb-text{font-size:15px;color:rgba(255,255,255,.8);line-height:1.75;font-style:italic;margin-bottom:14px;position:relative;z-index:1}
.ab-qb-author{font-size:13px;font-weight:700;color:var(--cyan);position:relative;z-index:1}

/* FOSS meaning */
.ab-foss{padding:72px 24px;background:var(--off);border-top:1px solid var(--border)}
.ab-foss-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.ab-sec-h{font-size:32px;font-weight:800;letter-spacing:-1.5px;color:var(--dark);line-height:1.1;margin-bottom:12px}
.ab-sec-h-wh{color:#fff}
.ab-sec-p{font-size:15px;color:var(--mid);line-height:1.75}
.ab-foss-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:28px}
.ab-foss-card-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.ab-foss-def{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.ab-fd-row{display:flex;gap:14px;align-items:flex-start}
.ab-fd-letter{width:40px;height:40px;border-radius:10px;background:var(--cyan);color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ab-fd-word{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:4px}
.ab-fd-desc{font-size:13px;color:var(--mid);line-height:1.6}
.ab-foss-mission{background:var(--dark);border-radius:10px;padding:18px}
.ab-fm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.3);margin-bottom:8px}
.ab-fm-text{font-size:13px;color:rgba(255,255,255,.65);line-height:1.7}

/* Mission */
.ab-mission{padding:72px 24px;background:#fff;border-top:1px solid var(--border);text-align:center}
.ab-mission-inner{max-width:900px;margin:0 auto}
.ab-mission-h{font-size:34px;font-weight:800;letter-spacing:-1.5px;color:var(--dark);line-height:1.1;margin:14px 0 14px}
.ab-mission-sub{font-size:16px;color:var(--mid);line-height:1.75;max-width:640px;margin:0 auto 48px}
.ab-mission-pillars{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.ab-mp{border:1.5px solid var(--border);border-radius:14px;padding:24px;background:#fff;transition:border-color .2s}
.ab-mp:hover{border-color:var(--cyan)}
.ab-mp-ico{font-size:28px;margin-bottom:12px}
.ab-mp h4{font-size:15px;font-weight:700;color:var(--dark);letter-spacing:-.3px;margin-bottom:7px}
.ab-mp p{font-size:13px;color:var(--mid);line-height:1.65}

/* Mission 2030 */
.ab-2030{background:var(--dark);padding:72px 24px}
.ab-2030-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.ab-2030-h{font-size:40px;font-weight:800;color:#fff;letter-spacing:-2px;line-height:1.05;margin:14px 0 16px}
.ab-2030-sub{font-size:15px;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:24px}
.ab-2030-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.25);margin-bottom:12px}
.ab-2030-pills{display:flex;flex-wrap:wrap;gap:8px}
.ab-2030-pills span{background:rgba(0,174,239,.1);border:1px solid rgba(0,174,239,.2);border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;color:rgba(255,255,255,.7)}
.ab-2030-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px}
.ab-2030-stat{text-align:center;margin-bottom:24px}
.ab-2030-n{font-size:64px;font-weight:800;color:var(--cyan);letter-spacing:-4px;line-height:.9}
.ab-2030-l{font-size:14px;color:rgba(255,255,255,.5);margin-top:10px;font-weight:500}
.ab-2030-divider{height:1px;background:rgba(255,255,255,.07);margin-bottom:20px}
.ab-2030-ms-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.25);margin-bottom:16px}
.ab-ms-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:13px;color:rgba(255,255,255,.55);line-height:1.5}
.ab-ms-item b{color:#fff;font-weight:700}
.ab-ms-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}
.ab-ms-done{background:var(--cyan)}
.ab-ms-next{background:rgba(255,255,255,.15);border:2px dashed rgba(255,255,255,.2)}

/* Values */
.ab-values{padding:72px 24px;background:var(--off);border-top:1px solid var(--border)}
.ab-values-inner{max-width:1000px;margin:0 auto}
.ab-val-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}
.ab-val-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:30px 28px;transition:border-color .2s}
.ab-val-card:hover{border-color:var(--cyan);box-shadow:0 6px 32px rgba(0,174,239,.07)}
.ab-val-n{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.8px;margin-bottom:14px}
.ab-val-ico{font-size:32px;margin-bottom:14px;display:block}
.ab-val-card h3{font-size:19px;font-weight:800;color:var(--dark);letter-spacing:-.5px;margin-bottom:10px;line-height:1.2}
.ab-val-card p{font-size:14px;color:var(--mid);line-height:1.75;margin-bottom:16px}
.ab-val-line{height:1px;background:var(--border);margin-bottom:14px}
.ab-val-proof{font-size:12px;color:var(--cyan-dk);line-height:1.6;font-style:italic;font-weight:500}

/* Team */
.ab-team{background:var(--dark);padding:72px 24px 80px}
.ab-team-inner{max-width:1000px;margin:0 auto}
.ab-team-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:20px}
.ab-team-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s}
.ab-team-card:hover{border-color:rgba(0,174,239,.25)}
.ab-team-featured{border-color:rgba(0,174,239,.2);background:rgba(0,174,239,.04)}
.ab-tc-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;flex-shrink:0}
.ab-tc-name{font-size:17px;font-weight:800;color:#fff;letter-spacing:-.4px;margin-bottom:2px}
.ab-tc-role{font-size:12px;color:var(--cyan);font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.ab-tc-exp{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:10px;line-height:1.5}
.ab-tc-bio{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7}
.ab-tc-link{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--cyan);text-decoration:none;margin-top:8px}
.ab-tc-link:hover{text-decoration:underline}
.ab-team-note{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px 16px;font-size:12px;color:rgba(255,255,255,.3);display:flex;gap:8px;align-items:flex-start}

/* Numbers */
.ab-numbers{padding:72px 24px;background:#fff;border-top:1px solid var(--border)}
.ab-numbers-inner{max-width:1000px;margin:0 auto}
.ab-num-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.ab-num-item{border:1.5px solid var(--border);border-radius:12px;padding:22px 18px;background:#fff;transition:all .2s}
.ab-num-item:hover{border-color:var(--cyan);box-shadow:0 4px 20px rgba(0,174,239,.07)}
.ab-num-n{font-size:36px;font-weight:800;color:var(--dark);letter-spacing:-2px;line-height:1;margin-bottom:6px}
.ab-num-l{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:4px}
.ab-num-sub{font-size:11px;color:var(--muted);line-height:1.5}

/* Final CTA */
.ab-cta{background:var(--off);padding:88px 24px;text-align:center;border-top:1px solid var(--border)}
.ab-cta-inner{max-width:680px;margin:0 auto}
.ab-cta-h{font-size:36px;font-weight:800;letter-spacing:-1.5px;color:var(--dark);line-height:1.1;margin-bottom:16px}
.ab-cta-sub{font-size:16px;color:var(--mid);line-height:1.75;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto}
.ab-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.ab-btn-primary{background:var(--cyan);color:#fff;border-radius:10px;padding:13px 26px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;font-family:'Plus Jakarta Sans',sans-serif;transition:background .15s}
.ab-btn-primary:hover{background:var(--cyan-dk)}
.ab-btn-ghost{background:#fff;color:var(--dark);border:1.5px solid var(--border);border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;font-family:'Plus Jakarta Sans',sans-serif;transition:all .15s}
.ab-btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.ab-cta-contact{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.ab-cta-contact a{color:var(--cyan);text-decoration:none;font-weight:600}
.ab-cta-contact a:hover{text-decoration:underline}

/* ── RESPONSIVE — About ── */
@media(min-width:640px){
  .ab-hero{padding:88px 40px 72px}
  .ab-hero-h1{font-size:54px}
  .ab-founder{padding:88px 40px}
  .ab-founder-inner{flex-direction:row;gap:56px;align-items:flex-start}
  .ab-founder-left{width:260px;flex-shrink:0}
  .ab-founder-img-placeholder{max-width:100%;aspect-ratio:unset;padding:48px 24px}
  .ab-foss{padding:88px 40px}
  .ab-foss-inner{flex-direction:row;gap:56px;align-items:flex-start}
  .ab-foss-left,.ab-foss-right{flex:1}
  .ab-mission{padding:88px 40px}
  .ab-2030{padding:88px 40px}
  .ab-2030-inner{flex-direction:row;gap:56px;align-items:flex-start}
  .ab-2030-left,.ab-2030-right{flex:1}
  .ab-values{padding:88px 40px}
  .ab-val-grid{grid-template-columns:repeat(3,1fr)}
  .ab-team{padding:88px 40px 96px}
  .ab-team-grid{grid-template-columns:1fr 1fr}
  .ab-team-featured{grid-column:1/-1;flex-direction:row;align-items:flex-start}
  .ab-numbers{padding:88px 40px}
  .ab-num-grid{grid-template-columns:repeat(3,1fr)}
  .ab-cta{padding:96px 40px}
  .ab-cta-h{font-size:44px}
}
@media(min-width:960px){
  .ab-hero{padding:96px 56px 80px}
  .ab-hero-h1{font-size:62px;letter-spacing:-3px}
  .ab-founder{padding:96px 56px}
  .ab-foss{padding:96px 56px}
  .ab-mission{padding:96px 56px}
  .ab-mission-h{font-size:44px}
  .ab-2030{padding:96px 56px}
  .ab-2030-h{font-size:52px;letter-spacing:-3px}
  .ab-values{padding:96px 56px}
  .ab-team{padding:96px 56px 104px}
  .ab-team-grid{grid-template-columns:repeat(2,1fr)}
  .ab-numbers{padding:96px 56px}
  .ab-cta{padding:104px 56px}
  .ab-cta-h{font-size:52px;letter-spacing:-2px}
}

/* ═══════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════ */
.ct-hero{background:var(--dark);padding:64px 24px 56px;border-bottom:3px solid var(--cyan);position:relative;overflow:hidden}
.ct-hero::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(0,174,239,.05);top:-180px;right:-120px;pointer-events:none}
.ct-hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1}
.ct-hero-h1{font-size:44px;font-weight:800;color:#fff;letter-spacing:-2px;line-height:1.07;margin:14px 0 18px}
.ct-cyan{color:var(--cyan)}
.ct-hero-sub{font-size:16px;color:rgba(255,255,255,.48);line-height:1.75;max-width:580px;margin-bottom:28px}
.ct-quick-links{display:flex;gap:10px;flex-wrap:wrap}
.ct-ql{display:inline-flex;align-items:center;gap:7px;border-radius:9px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;font-family:'Plus Jakarta Sans',sans-serif}
.ct-ql-wa{background:#25D366;color:#fff}
.ct-ql-wa:hover{background:#1da851}
.ct-ql-call{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}
.ct-ql-call:hover{background:rgba(255,255,255,.14)}
.ct-ql-mail{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15)}
.ct-ql-mail:hover{background:rgba(255,255,255,.14)}

/* Main grid */
.ct-main{padding:56px 24px;background:var(--off)}
.ct-main-inner{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:32px}

/* Left col */
.ct-left{display:flex;flex-direction:column;gap:16px}
.ct-info-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:24px}
.ct-ic-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}
.ct-ic-name{font-size:16px;font-weight:800;color:var(--dark);letter-spacing:-.4px;margin-bottom:4px}
.ct-ic-address{font-size:13px;color:var(--mid);line-height:1.7;margin-bottom:14px}
.ct-ic-divider{height:1px;background:var(--border);margin:14px 0}
.ct-ic-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.ct-ic-row:last-of-type{margin-bottom:0}
.ct-ic-ico{font-size:16px;flex-shrink:0;margin-top:2px}
.ct-ic-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:2px}
.ct-ic-val{font-size:13px;font-weight:600;color:var(--dark);text-decoration:none;display:block}
.ct-ic-val:hover{color:var(--cyan)}
.ct-wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;border-radius:9px;padding:12px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;font-family:'Plus Jakarta Sans',sans-serif;margin-top:4px}
.ct-wa-btn:hover{background:#1da851}

.ct-map-wrap{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px}
.ct-map-label{font-size:12px;font-weight:600;color:var(--mid);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ct-map-link{display:block;font-size:12px;font-weight:700;color:var(--cyan);text-decoration:none;margin-top:10px}
.ct-map-link:hover{text-decoration:underline}

.ct-social-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:18px}
.ct-sc-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}
.ct-sc-links{display:flex;gap:8px;flex-wrap:wrap}
.ct-sc-item{display:inline-flex;align-items:center;gap:6px;background:var(--off);border:1px solid var(--border);border-radius:7px;padding:7px 12px;font-size:12px;font-weight:700;color:var(--mid);text-decoration:none;transition:all .15s}
.ct-sc-item span{font-size:11px;font-weight:800}
.ct-sc-item:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-bg)}

/* Right col — tabs + forms */
.ct-right{display:flex;flex-direction:column}
.ct-tabs{display:flex;gap:0;border:1.5px solid var(--border);border-radius:11px;overflow:hidden;margin-bottom:0;background:#fff}
.ct-tab{flex:1;padding:13px 16px;font-size:13px;font-weight:600;color:var(--mid);cursor:pointer;border:none;background:transparent;font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s;border-bottom:2px solid transparent}
.ct-tab.active{background:var(--dark);color:#fff;font-weight:700}
.ct-form-panel{background:#fff;border:1.5px solid var(--border);border-top:none;border-radius:0 0 14px 14px;padding:24px}
.ct-fp-head{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.ct-fp-head h3{font-size:18px;font-weight:800;color:var(--dark);letter-spacing:-.5px;margin-bottom:6px}
.ct-fp-head p{font-size:13px;color:var(--mid);line-height:1.6}

/* FAQ */
.ct-faq{padding:64px 24px;background:#fff;border-top:1px solid var(--border)}
.ct-faq-inner{max-width:1000px;margin:0 auto}
.ct-faq-h{font-size:28px;font-weight:800;color:var(--dark);letter-spacing:-1px;margin-bottom:28px;margin-top:10px}
.ct-faq-grid{display:grid;grid-template-columns:1fr;gap:12px}
.ct-faq-item{border:1.5px solid var(--border);border-radius:12px;padding:18px 20px;background:#fff;transition:border-color .2s}
.ct-faq-item:hover{border-color:var(--cyan)}
.ct-faq-q{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:8px;letter-spacing:-.2px}
.ct-faq-a{font-size:13px;color:var(--mid);line-height:1.65}

/* Responsive */
@media(min-width:640px){
  .ct-hero{padding:80px 40px 64px}
  .ct-hero-h1{font-size:52px}
  .ct-main{padding:72px 40px}
  .ct-main-inner{flex-direction:row;gap:32px;align-items:flex-start}
  .ct-left{width:300px;flex-shrink:0}
  .ct-right{flex:1}
  .ct-faq{padding:80px 40px}
  .ct-faq-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:960px){
  .ct-hero{padding:88px 56px 72px}
  .ct-hero-h1{font-size:60px;letter-spacing:-3px}
  .ct-main{padding:88px 56px}
  .ct-left{width:320px}
  .ct-faq{padding:88px 56px}
}
