/*
Theme Name: Boltzmann
Theme URI: https://boltzmann.in
Author: Seretos Consulting Pvt. Ltd.
Author URI: https://boltzmann.in
Description: Custom WordPress theme for Boltzmann enterprise software. Company site for Seretos Consulting Pvt. Ltd.
Version: 1.0.0
License: Private
Text Domain: boltzmann
*/

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

:root{
  --bg:oklch(0.24 0.08 195);
  --bg-dk:oklch(0.20 0.08 195);
  --bg-dp:oklch(0.18 0.08 195);
  --bg-cd:oklch(0.28 0.08 195);
  --bg-panel:oklch(0.22 0.08 195);
  --b:rgba(255,255,255,0.09);
  --b-lt:rgba(255,255,255,0.06);
  --txt:#fff;
  --txt-s:rgba(255,255,255,0.60);
  --txt1: rgba(0, 0, 0, 1);
  --txt-m:rgba(255,255,255,0.35);
  --amber:oklch(0.82 0.17 85);
  --teal:oklch(0.72 0.18 175);
  --green:oklch(0.75 0.18 140);
  --purple:oklch(0.75 0.18 310);
  --ff:'Outfit',sans-serif;
  --mono:'DM Mono',monospace;
}

body{background:var(--bg);font-family:var(--ff);color:var(--txt);overflow-x:hidden;}

/* ── NAV ── */
#gn{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 64px;
  background:oklch(0.20 0.08 195 / 0.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
/* ── FIX: mobile burger invisible on .erp-bg product pages (stacking context) ── */
#gn{ isolation:isolate; }
.nlogo{display:flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;color:inherit;}
.nlogo-ic{
  width:30px;height:30px;border-radius:8px;
  background:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
/* ── CUSTOM LOGO (WP custom-logo support) ── */
.custom-logo-link{display:flex;align-items:center;text-decoration:none;line-height:0;}
.custom-logo{height:44px;width:auto;display:block;}
.npill{
  display:flex;align-items:center;gap:1px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.11);
  border-radius:100px;padding:4px;position:relative;
}
.npi{
  padding:7px 15px;border-radius:100px;font-size:13px;font-weight:500;
  color:var(--txt-s);cursor:pointer;transition:color .2s;white-space:nowrap;
  user-select:none;display:flex;align-items:center;gap:4px;
  text-decoration:none;
}
.npi:hover{color:rgba(255,255,255,0.92);}
.ns-wrap{position:relative;}
.ndd{
  display:none;position:absolute;top:calc(100% + 10px);left:-8px;
  background:oklch(0.19 0.08 195);
  border:1px solid rgba(255,255,255,0.13);
  border-radius:14px;padding:8px;min-width:248px;
  box-shadow:0 24px 56px rgba(0,0,0,0.60);
}
.ndd.open{display:block;}
.ddi{
  padding:10px 14px;border-radius:8px;font-size:13px;
  color:rgba(255,255,255,0.80);cursor:pointer;font-weight:500;
  transition:background .15s,color .15s;
  text-decoration:none;display:block;
}
.ddi:hover{background:rgba(255,255,255,0.09);color:#fff;}
.ddi.dim{color:rgba(255,255,255,0.28);cursor:default;font-size:12px;}
.ddi.dim:hover{background:transparent;}
.ddsep{height:1px;background:rgba(255,255,255,0.08);margin:5px 2px;}
.ddlbl{
  padding:8px 14px 4px;font-family:var(--mono);font-size:10px;
  color:rgba(255,255,255,0.28);letter-spacing:.10em;text-transform:uppercase;
}
.ncta{
  background:var(--amber);color:#1a0a00;border:none;border-radius:100px;
  padding:10px 24px;font-size:13px;font-weight:700;cursor:pointer;
  font-family:var(--ff);white-space:nowrap;
  transition:opacity .2s;text-decoration:none;
}
.ncta:hover{opacity:.88;}

/* ── HOVER-EXPAND CARDS (Option B style, Deep Teal palette) ── */
.hrow{display:flex;gap:12px;height:460px;}
.hcard{
  flex:1;border-radius:20px;border:1px solid var(--b);
  background:var(--bg-cd);overflow:hidden;
  background-image:var(--card-bg,none);background-size:cover;background-position:center;
  transition:flex .45s cubic-bezier(.4,0,.2,1),box-shadow .3s;
  cursor:pointer;display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
}
.hcard:hover{flex:3;box-shadow:0 16px 56px rgba(0,0,0,.45);}
.hci{padding:32px;display:flex;flex-direction:column;height:100%;min-width:0;}
.hcx{opacity:0;transition:opacity .28s .18s;flex:1;display:flex;flex-direction:column;}
.hcard:hover .hcx{opacity:1;}
.hcph{
  flex:1;border-radius:10px;border:1px solid rgba(255,255,255,0.07);
  background:var(--bg-dk);min-height:80px;
  display:flex;align-items:center;justify-content:center;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.025) 0,rgba(255,255,255,0.025) 1px,transparent 0,transparent 50%);
  background-size:12px 12px;
}
.hcph span{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.16);letter-spacing:.06em;}

/* ── SHARED ATOMS ── */
.sec-lbl{
  font-family:var(--mono);font-size:11px;color:var(--txt-m);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;
}
.stat-i{flex:1;padding:30px 0;text-align:center;border-right:1px solid var(--b-lt);}
.stat-i:last-child{border-right:none;}
.chip{
  padding:12px 26px;border-radius:100px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);
  font-size:14px;font-weight:600;color:var(--txt-s);
}

/* ── ERP MODULE SIDEBAR ── */
.emod{
  padding:20px 24px;cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.06);
  border-left:3px solid transparent;
  transition:background .2s,border-color .2s;
}
.emod:hover{background:rgba(255,255,255,0.03);}
.emod.act{background:oklch(0.26 0.08 195);border-left-color:var(--mc,#3dcfaf);}
.emod-ttl{font-size:14px;font-weight:700;color:rgba(255,255,255,0.50);transition:color .2s;}
.emod-sub{font-size:12px;color:rgba(255,255,255,0.28);margin-top:2px;transition:color .2s;}
.emod.act .emod-ttl{color:#fff;}
.emod.act .emod-sub{color:var(--txt-s);}

/* ── MODULE PANELS ── */
.mpanel{display:none;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.mpanel.on{display:grid;}

/* feature strip icons */
.fstrip-ic{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  #gn{padding:12px 24px;}
  .hide-md{display:none!important;}
}
@media(max-width:700px){
  #gn{padding:10px 16px;}
  .hrow{flex-direction:column;height:auto;}
  .hcard{flex:none!important;}
  .hcx{opacity:1!important;}
  .custom-logo{height:34px;}
}


/* ══ FOOTER ══ */
#site-footer{
  background:var(--bg-dp);
  border-top:1px solid var(--b-lt);
  font-family:var(--ff);
  width:100%;
  margin:0;
  padding:0;
}
.ft-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding:64px 64px 48px;
}
.ft-col-lbl{
  font-family:var(--mono);font-size:10px;color:var(--txt-m);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;
}
.ft-link{
  display:block;font-size:13px;color:var(--txt-s);
  text-decoration:none;margin-bottom:10px;cursor:pointer;
  transition:color .2s;
}
.ft-link:hover{color:var(--txt);}
.ft-bar{
  padding:20px 64px;
  border-top:1px solid var(--b-lt);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:12px;
}
.ft-social{
  width:34px;height:34px;border-radius:8px;
  background:rgba(255,255,255,0.06);border:1px solid var(--b);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .2s,border-color .2s;
  text-decoration:none;
}
.ft-social:hover{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.20);}


@media(max-width:900px){
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px;padding:48px 24px 36px;}
  .ft-bar{padding:16px 24px;}
}
@media(max-width:600px){
  .ft-grid{grid-template-columns:1fr;padding:36px 20px 28px;}
}


/* ── EXTRACTED INLINE STYLES ── */

/* Nav logo */
.nlogo-letter{font-weight:700;font-size:14px;color:#1a0a00;}
.nlogo-name{font-weight:700;font-size:16px;letter-spacing:-.02em;}

/* Dropdown icon spans */
.ddi-ic{margin-right:6px;}
.ddi-ic-teal{color:var(--teal);}
.ddi-ic-amber{color:var(--amber);}

/* Footer logo */
.ft-logo-wrap{display:flex;align-items:center;gap:9px;margin-bottom:18px;}
.ft-logo-ic{width:28px;height:28px;border-radius:7px;background:var(--amber);display:flex;align-items:center;justify-content:center;}
.ft-logo-letter{font-weight:700;font-size:13px;color:#1a0a00;}
.ft-logo-name{font-weight:700;font-size:15px;letter-spacing:-.02em;}
.ft-desc{font-size:13px;color:var(--txt-s);line-height:1.75;max-width:240px;margin-bottom:20px;}

/* Footer bottom bar */
.ft-copy{font-family:var(--mono);font-size:11px;color:var(--txt-m);}
.ft-bar-right{display:flex;gap:20px;}
.ft-bar-link{font-family:var(--mono);font-size:11px;color:var(--txt-m);cursor:pointer;}

/* Footer contact column */
.ft-addr{font-size:12px;color:var(--txt-s);line-height:1.72;margin-bottom:14px;}
.ft-sister{margin-top:20px;padding-top:20px;border-top:1px solid var(--b-lt);}
.ft-sister-lbl{margin-bottom:12px;}

/* Footer social row */
.ft-social-row{display:flex;gap:8px;}


/* ── HOME PAGE ── */

/* Outer wrapper */
.home-bg{
  padding-top:56px;
  background:var(--bg);
  background-image:
    radial-gradient(ellipse 55% 55% at 0% 30%,oklch(0.35 0.10 185/.45) 0%,transparent 60%),
    radial-gradient(ellipse 45% 40% at 100% 75%,oklch(0.30 0.10 220/.25) 0%,transparent 55%);
}

/* Hero */
.hero-section{
  padding:72px 64px 80px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:center;
  min-height:calc(100vh - 56px);
}
.hero-visual{position:relative;}
.hero-svg{width:100%;height:auto;filter:drop-shadow(0 32px 64px rgba(0,0,0,.55));}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 14px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:100px;
  margin-bottom:28px;
  background:rgba(255,255,255,0.07);
}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);}
.hero-badge-text{
  font-family:var(--mono);font-size:11px;color:var(--txt-s);
  letter-spacing:.09em;text-transform:uppercase;
}
.hero-h1{font-size:52px;font-weight:700;line-height:1.08;letter-spacing:-.03em;margin-bottom:24px;}
.hero-accent{color:var(--amber);}
.hero-para{font-size:16px;color:var(--txt-s);line-height:1.78;margin-bottom:36px;max-width:400px;}
.hero-ctas{display:flex;flex-direction:column;gap:12px;max-width:300px;}
.btn-primary{
  display:block;
  background:var(--amber);color:#1a0a00;
  border:none;border-radius:10px;
  padding:15px 28px;font-size:15px;font-weight:700;
  cursor:pointer;font-family:var(--ff);
  text-align:left;text-decoration:none;
  transition:opacity .2s;
}
.btn-primary:hover{opacity:.88;}
.btn-secondary{
  display:block;
  background:rgba(255,255,255,0.07);color:#fff;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:10px;
  padding:15px 28px;font-size:15px;font-weight:500;
  cursor:pointer;font-family:var(--ff);
  text-align:left;text-decoration:none;
}

/* Stats bar */
.stats-bar{
  display:flex;
  background:var(--bg-dk);
  border-top:1px solid var(--b-lt);
  border-bottom:1px solid var(--b-lt);
}
.stat-number{font-size:34px;font-weight:800;color:var(--amber);letter-spacing:-.04em;}
.stat-label{font-size:13px;color:var(--txt-m);margin-top:5px;}

/* Platforms */
.platforms-section{padding:100px 64px;}
.platforms-header{
  display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;
}
.platforms-title{font-size:42px;font-weight:700;letter-spacing:-.03em;line-height:1.1;}
.platforms-hint{max-width:280px;font-size:14px;color:var(--txt-s);line-height:1.7;}
.hcard-label{
  font-size:10px;font-weight:700;color:var(--card-color);
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;white-space:nowrap;
}
.hcard-title{font-size:17px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;margin-bottom:0;}
.hcard-icon{
  width:44px;height:44px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;flex-shrink:0;
  background:color-mix(in srgb, var(--card-color,#3dcfaf) 12%, transparent);
}
.hcard-bullets{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.hcard-bullet{font-size:12px;color:var(--txt-s);}
.hcard-para{font-size:13px;color:var(--txt-s);line-height:1.72;margin-top:14px;margin-bottom:16px;}
.hcard-link{margin-top:14px;font-size:13px;font-weight:700;color:var(--card-color);text-decoration:none;}
.sec-lbl-center{text-align:center;margin-bottom:36px;}

/* Clients */
.clients-section{
  padding:72px 64px;
  background:var(--bg-dk);
  border-top:1px solid var(--b-lt);
}
.clients-lbl{text-align:center;margin-bottom:36px;}
.clients-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}

/* CTA */
.cta-section{
  padding:120px 64px;
  text-align:center;
  background:radial-gradient(ellipse 70% 80% at 50% 50%,oklch(0.35 0.10 185/.50) 0%,transparent 70%);
}
.cta-h2{font-size:54px;font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-bottom:20px;}
.cta-para{font-size:17px;color:var(--txt-s);max-width:460px;margin:0 auto 44px;line-height:1.7;}
.cta-buttons{display:flex;gap:14px;justify-content:center;}
.btn-cta-primary{
  background:var(--amber);color:#1a0a00;
  border:none;border-radius:100px;
  padding:16px 36px;font-size:16px;font-weight:700;
  cursor:pointer;font-family:var(--ff);text-decoration:none;display:inline-block;
}
.btn-cta-secondary{
  background:rgba(255,255,255,0.07);color:#fff;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:100px;
  padding:16px 36px;font-size:16px;font-weight:500;
  cursor:pointer;font-family:var(--ff);text-decoration:none;display:inline-block;
}

@media(max-width:1000px){
  .hero-section{grid-template-columns:1fr;gap:48px;padding:56px 24px 64px;}
  .hero-visual{display:none;}
  .platforms-section{padding:64px 24px;}
  .clients-section{padding:48px 24px;}
  .cta-section{padding:80px 24px;}
}
@media(max-width:700px){
  .hero-h1{font-size:38px;}
  .cta-h2{font-size:36px;}
  .stats-bar{flex-wrap:wrap;}
  .stat-i{min-width:50%;}
}
/* ── WP OVERRIDES ── */


.careers-form-wrap .wpforms-field-label { color: var(--txt) !important; }
body { max-width: none !important; width: 100% !important; }
main { max-width: none !important; }

html, body {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#pg-home, .home-bg {
  width: 100% !important;
  max-width: none !important;
}
.hero-h1, .hero-para, .hero-accent {
  color: var(--txt) !important;
}
.hero-accent {
  color: var(--amber) !important;
}
/* Admin bar offset — only when logged in, invisible to visitors */
.admin-bar .home-bg {
  padding-top: 88px;
}

main { margin: 0 !important; padding: 0 !important; width: 100% !important; }

/* ── ERP PAGE ── */
.erp-bg{padding-top:56px;background:var(--bg);background-image:radial-gradient(ellipse 50% 40% at 0% 20%,oklch(0.35 0.10 185/.30) 0%,transparent 55%),radial-gradient(ellipse 40% 35% at 100% 80%,oklch(0.30 0.10 220/.20) 0%,transparent 55%);}
.erp-hero{padding:64px 64px 72px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;min-height:560px;}
.erp-hero-text{display:flex;flex-direction:column;}
.erp-hero-visual{width:100%;}
.erp-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:22px;font-size:12px;color:var(--txt-m);}
.bc-link{color:var(--txt-s);text-decoration:none;transition:color .2s;}
.bc-link:hover{color:#fff;}
.bc-sep{color:var(--txt-m);}
.bc-item{color:var(--txt-s);}
.bc-current{color:#3dcfaf;font-weight:600;}
.erp-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid rgba(61,207,175,.30);border-radius:100px;margin-bottom:22px;background:rgba(61,207,175,.08);}
.erp-badge-dot{width:6px;height:6px;border-radius:50%;background:#3dcfaf;}
.erp-badge-text{font-family:var(--mono);font-size:11px;color:#3dcfaf;letter-spacing:.09em;text-transform:uppercase;}
.erp-h1{font-size:46px;font-weight:700;line-height:1.08;letter-spacing:-.03em;margin-bottom:20px;}
.erp-accent{color:#3dcfaf;}
.erp-para{font-size:15px;color:var(--txt-s);line-height:1.80;margin-bottom:34px;max-width:440px;}
.erp-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.btn-erp-primary{background:#3dcfaf;color:#0a1a10;border:none;border-radius:10px;padding:14px 28px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--ff);text-decoration:none;display:inline-block;transition:opacity .2s;}
.btn-erp-primary:hover{opacity:.88;}
.btn-erp-secondary{background:rgba(255,255,255,0.07);color:#fff;border:1px solid var(--b);border-radius:10px;padding:14px 28px;font-size:15px;font-weight:500;cursor:pointer;font-family:var(--ff);text-decoration:none;display:inline-block;}
.fstrip{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--bg-dk);border-top:1px solid var(--b-lt);border-bottom:1px solid var(--b-lt);}
.fstrip-col{padding:36px 40px;}
.fstrip-col-border{border-right:1px solid var(--b-lt);}
.fstrip-title{font-size:15px;font-weight:700;margin-bottom:7px;}
.fstrip-para{font-size:13px;color:var(--txt-s);line-height:1.72;}

/* ERP Modules */
.emod-num{font-family:var(--mono);font-size:10px;color:var(--txt-m);letter-spacing:.10em;margin-bottom:5px;}
.emod-last{border-bottom:none!important;}
.mods-section{padding:96px 64px;}
.mods-header{text-align:center;margin-bottom:60px;}
.mods-title{font-size:44px;font-weight:700;letter-spacing:-.04em;line-height:1.1;}
.mods-para{font-size:16px;color:var(--txt-s);margin-top:16px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.72;}
.mods-wrap{display:grid;grid-template-columns:268px 1fr;border:1px solid rgba(255,255,255,0.08);border-radius:20px;overflow:hidden;}
.mods-sidebar{background:var(--bg-dp);}
.mods-panel-area{background:var(--bg-panel);padding:48px;}
.mpanel-badge{display:inline-block;padding:4px 12px;border-radius:6px;background:color-mix(in srgb,var(--mc) 10%,transparent);border:1px solid color-mix(in srgb,var(--mc) 28%,transparent);font-family:var(--mono);font-size:11px;color:var(--mc);letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;}
.mpanel-title{font-size:26px;font-weight:700;letter-spacing:-.03em;margin-bottom:12px;}
.mpanel-para{font-size:14px;color:var(--txt-s);line-height:1.80;margin-bottom:24px;}
.mpanel-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px;}
.mpanel-feat{font-size:13px;color:var(--txt-s);}
.mpanel-link{font-size:14px;font-weight:700;cursor:pointer;}
.mpanel-diagram{background:color-mix(in srgb,var(--mc) 5%,transparent);border:1px solid color-mix(in srgb,var(--mc) 14%,transparent);border-radius:14px;padding:24px;}
.mpanel-diagram-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.08em;margin-bottom:18px;}

/* ── ERP CTA ── */
.erp-cta-section{padding:96px 64px;text-align:center;background:var(--bg-dk);border-top:1px solid var(--b-lt);}
.erp-cta-inner{max-width:540px;margin:0 auto;}
.erp-cta-lbl{text-align:center;margin-bottom:14px;}
.erp-cta-title{font-size:44px;font-weight:700;letter-spacing:-.04em;line-height:1.08;margin-bottom:18px;}
.erp-cta-para{font-size:16px;color:var(--txt-s);line-height:1.72;margin-bottom:36px;}

/* ── LOYALTY PAGE — PROBLEM + AUDIENCE TOGGLE ── */
.loy-problem-section{padding:80px 64px;background:var(--bg-dk);border-top:1px solid var(--b-lt);border-bottom:1px solid var(--b-lt);}
.loy-problem-inner{max-width:760px;margin:0 auto;text-align:center;}
.loy-problem-title{font-size:38px;font-weight:700;letter-spacing:-.03em;line-height:1.14;margin-bottom:22px;}
.loy-problem-para p{font-size:15px;color:var(--txt-s);line-height:1.85;margin-bottom:16px;}
.loy-problem-para p:last-child{margin-bottom:0;}

.loy-aud-section{padding:88px 64px 0;}
.aud-toggle{display:flex;width:max-content;gap:4px;padding:4px;background:var(--bg-dp);border:1px solid var(--b-lt);border-radius:100px;margin:0 auto 56px;justify-content:center;}
.aud-btn{appearance:none;border:none;background:transparent;color:var(--txt-s);font-family:var(--ff);font-size:14px;font-weight:700;padding:12px 32px;border-radius:100px;cursor:pointer;transition:background .2s,color .2s;}
.aud-btn.act{background:#3dcfaf;color:#0a1a10;}
.aud-btn:not(.act):hover{color:#fff;}
.aud-panel[hidden]{display:none;}
.loy-aud-intro{max-width:640px;margin:0 auto 8px;text-align:center;}
.loy-aud-lbl{text-align:center;margin-bottom:14px;}
.loy-aud-intro-para{font-size:16px;color:var(--txt-s);line-height:1.78;}

@media(max-width:600px){
  .loy-problem-section{padding:48px 24px;}
  .loy-problem-title{font-size:28px;}
  .loy-aud-section{padding:48px 24px 0;}
  .aud-toggle{width:100%;}
  .aud-btn{flex:1;padding:12px 16px;text-align:center;}
}

/* ── POS PAGE ── */
.pos-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 50% 40% at 100% 20%, oklch(0.40 0.12 85 / .25) 0%, transparent 55%), radial-gradient(ellipse 40% 35% at 0% 80%, oklch(0.30 0.10 220 / .20) 0%, transparent 55%); }
.pos-hero { padding: 64px 64px 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; min-height: 560px; }
.pos-hero-text { display: flex; flex-direction: column; }
.pos-hero-visual { width: 100%; }
.pos-badge { display: inline-flex; align-items: center; gap: 8px; padding: 5px 14px; border: 1px solid rgba(232,192,48,.30); border-radius: 100px; margin-bottom: 22px; background: rgba(232,192,48,.08); }
.pos-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: #e8c030; }
.pos-badge-text { font-family: var(--mono); font-size: 11px; color: #e8c030; letter-spacing: .09em; text-transform: uppercase; }
.pos-h1 { font-size: 46px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 20px; }
.pos-accent { color: #e8c030; }
.pos-para { font-size: 15px; color: var(--txt-s); line-height: 1.80; margin-bottom: 34px; max-width: 440px; }
.pos-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-pos-primary { background: #e8c030; color: #1a0a00; border: none; border-radius: 10px; padding: 14px 28px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: var(--ff); text-decoration: none; display: inline-block; }
.btn-pos-secondary { background: rgba(255,255,255,0.07); color: #fff; border: 1px solid var(--b); border-radius: 10px; padding: 14px 28px; font-size: 15px; font-weight: 500; cursor: pointer; font-family: var(--ff); text-decoration: none; display: inline-block; }
.pos-cta-section { padding: 96px 64px; text-align: center; background: var(--bg-dk); border-top: 1px solid var(--b-lt); }
.pos-cta-inner { max-width: 540px; margin: 0 auto; }
.pos-cta-lbl { text-align: center; margin-bottom: 14px; }
.pos-cta-title { font-size: 44px; font-weight: 700; letter-spacing: -.04em; line-height: 1.08; margin-bottom: 18px; }
.pos-cta-para { font-size: 16px; color: var(--txt-s); line-height: 1.72; margin-bottom: 36px; }
.pos-cta-btns { display: flex; gap: 14px; justify-content: center; }
.btn-pos-cta-primary { background: #e8c030; color: #1a0a00; border: none; border-radius: 100px; padding: 16px 36px; font-size: 16px; font-weight: 700; cursor: pointer; font-family: var(--ff); text-decoration: none; display: inline-block; }
.btn-pos-cta-secondary { background: rgba(255,255,255,0.07); color: #fff; border: 1px solid var(--b); border-radius: 100px; padding: 16px 36px; font-size: 16px; font-weight: 500; cursor: pointer; font-family: var(--ff); text-decoration: none; display: inline-block; }

/* ── CONTACT PAGE ── */
.contact-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 50% 40% at 100% 10%, oklch(0.35 0.10 185 / .20) 0%, transparent 55%); }
.contact-hero { padding: 72px 64px 64px; }
.contact-hero-inner { max-width: 560px; }
.contact-h1 { font-size: 48px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 18px; }
.contact-accent { color: var(--amber); }
.contact-para { font-size: 16px; color: var(--txt-s); line-height: 1.78; max-width: 460px; }
.contact-grid { padding: 0 64px 96px; display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: start; }
.contact-form-wrap { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 20px; padding: 48px; }
.contact-form-title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 8px; }
.contact-form-sub { font-size: 14px; color: var(--txt-s); margin-bottom: 36px; }
.contact-info { display: flex; flex-direction: column; gap: 16px; }
.cinfo-card { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 16px; padding: 28px; display: flex; align-items: flex-start; gap: 14px; }
.cinfo-icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cinfo-icon--amber { background: rgba(232,192,48,.12); border: 1px solid rgba(232,192,48,.25); }
.cinfo-icon--teal { background: rgba(61,207,175,.10); border: 1px solid rgba(61,207,175,.22); }
.cinfo-icon--blue { background: rgba(88,144,232,.10); border: 1px solid rgba(88,144,232,.22); }
.cinfo-lbl { font-size: 11px; font-weight: 700; color: var(--txt-m); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; font-family: var(--mono); }
.cinfo-name { font-size: 14px; color: var(--txt); font-weight: 600; margin-bottom: 4px; }
.cinfo-addr { font-size: 13px; color: var(--txt-s); line-height: 1.72; }
.cinfo-text { font-size: 13px; color: var(--txt-s); margin-bottom: 4px; }
.cinfo-link { color: var(--txt); text-decoration: none; font-weight: 500; }
.cinfo-email { font-size: 14px; }
.cinfo-response { background: rgba(61,207,175,.06); border: 1px solid rgba(61,207,175,.18); border-radius: 16px; padding: 22px 28px; display: flex; align-items: center; gap: 14px; }
.cinfo-dot { width: 8px; height: 8px; border-radius: 50%; background: #3dcfaf; flex-shrink: 0; box-shadow: 0 0 0 3px rgba(61,207,175,.20); }
.cinfo-response-text { font-size: 13px; color: var(--txt-s); line-height: 1.6; }
.cinfo-map { border-radius: 16px; overflow: hidden; border: 1px solid var(--b); height: 220px; }

/* Contact Form 7 overrides — match source design */
.contact-form-wrap .wpcf7-form p { margin-bottom: 20px; }
.contact-form-wrap .wpcf7-form label { display: block; font-size: 12px; font-weight: 600; color: var(--txt-s); margin-bottom: 8px; letter-spacing: .04em; text-transform: uppercase; }
.contact-form-wrap .wpcf7-form-control { width: 100%; background: var(--bg); border: 1px solid var(--b); border-radius: 10px; padding: 12px 16px; font-size: 14px; color: var(--txt); font-family: var(--ff); outline: none; transition: border-color .2s; }
.contact-form-wrap .wpcf7-form-control:focus { border-color: var(--amber); }
.contact-form-wrap select.wpcf7-form-control { appearance: none; cursor: pointer; }
.contact-form-wrap textarea.wpcf7-form-control { resize: vertical; line-height: 1.6; min-height: 120px; }
.contact-form-wrap input.wpcf7-submit { width: 100%; background: var(--amber); color: #1a0a00; border: none; border-radius: 10px; padding: 15px 28px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: var(--ff); transition: opacity .2s; }
.contact-form-wrap input.wpcf7-submit:hover { opacity: .88; }
.contact-form-wrap input.wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }
.contact-form-wrap .wpcf7-not-valid-tip { color: #e55; font-size: 12px; margin-top: 6px; }
.contact-form-wrap .wpcf7-response-output { border-radius: 10px; font-size: 13px; margin-top: 20px; padding: 12px 16px; }
.contact-form-wrap form.sent .wpcf7-response-output { border-color: #3dcfaf; color: #3dcfaf; }
.contact-form-wrap form.failed .wpcf7-response-output,
.contact-form-wrap form.aborted .wpcf7-response-output,
.contact-form-wrap form.spam .wpcf7-response-output { border-color: #e55; color: #e55; }
.contact-form-wrap .wpcf7-spinner { display: none; }
.erp-cta-btns{display:flex;gap:14px;justify-content:center;}

/* ── CLIENTS PAGE ── */
.clients-pg-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 50% 40% at 0% 20%, oklch(0.35 0.10 185 / .18) 0%, transparent 55%); }
.clients-pg-hero { padding: 72px 64px 56px; }
.clients-pg-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.clients-pg-h1 { font-size: 48px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 18px; }
.clients-pg-para { font-size: 16px; color: var(--txt-s); line-height: 1.78; max-width: 440px; }
.clients-pg-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.clients-pg-stat-card { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 16px; padding: 28px; }
.clients-pg-stat-num { font-size: 40px; font-weight: 800; color: var(--amber); letter-spacing: -.04em; margin-bottom: 6px; }
.clients-pg-stat-label { font-size: 13px; color: var(--txt-s); }
.clients-pg-section { padding: 48px 64px 0; }
.clients-pg-cat-header { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.clients-pg-cat-bar { width: 4px; height: 36px; border-radius: 4px; flex-shrink: 0; }
.clients-pg-cat-lbl { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; }
.clients-pg-cat-title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.clients-pg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.client-card { background: var(--bg-cd); border: 1px solid var(--cc-border); border-radius: 14px; padding: 24px 20px; transition: border-color .2s, box-shadow .2s; cursor: default; }
.client-card:hover { border-color: var(--cc-hover); box-shadow: 0 8px 32px rgba(0,0,0,.25); }
.client-card-industry { font-size: 11px; font-family: var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.client-card-name { font-size: 17px; font-weight: 700; color: var(--txt); }
.client-card-solution { font-size: 12px; color: var(--txt-s); margin-top: 4px; }
.client-card-more { background: rgba(255,255,255,.02); border: 1px solid; border-radius: 14px; padding: 24px 20px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-family: var(--mono); letter-spacing: .06em; }
.clients-cta-section { padding: 80px 64px; text-align: center; }
.clients-cta-inner { max-width: 500px; margin: 0 auto; }

/* ── ABOUT PAGE ── */
.about-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 55% 45% at 100% 15%, oklch(0.35 0.10 185 / .20) 0%, transparent 55%), radial-gradient(ellipse 40% 35% at 0% 85%, oklch(0.30 0.10 220 / .15) 0%, transparent 55%); }
.about-hero { padding: 72px 64px 64px; }
.about-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.about-h1 { font-size: 48px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 20px; }
.about-para { font-size: 16px; color: var(--txt-s); line-height: 1.80; max-width: 460px; margin-bottom: 16px; }
.about-para:last-of-type { margin-bottom: 0; }
.about-hero-right { display: flex; flex-direction: column; gap: 16px; }
.about-philosophy { background: rgba(61,207,175,.06); border: 1px solid rgba(61,207,175,.20); border-radius: 20px; padding: 36px; }
.about-philosophy-lbl { font-family: var(--mono); font-size: 10px; color: #3dcfaf; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.about-philosophy-quote { font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3; }
.about-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.about-stat-card { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 14px; padding: 22px; }
.about-stat-num { font-size: 32px; font-weight: 800; color: var(--amber); letter-spacing: -.04em; margin-bottom: 4px; }
.about-stat-label { font-size: 13px; color: var(--txt-s); }
.about-who { padding: 64px; background: var(--bg-dk); border-top: 1px solid var(--b-lt); border-bottom: 1px solid var(--b-lt); }
.about-who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.about-who-title { font-size: 36px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 20px; margin-top: 14px; }
.about-who-para { font-size: 15px; color: var(--txt-s); line-height: 1.82; margin-bottom: 18px; }
.about-offers-intro { font-size: 14px; color: var(--txt-s); line-height: 1.7; margin-bottom: 14px; }
.about-offers { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.about-offer-item { display: flex; align-items: center; gap: 14px; background: var(--bg-cd); border: 1px solid var(--b); border-radius: 12px; padding: 18px 20px; }
.about-offer-icon { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.about-offer-title { font-size: 14px; font-weight: 700; color: var(--txt); margin-bottom: 2px; }
.about-offer-sub { font-size: 12px; color: var(--txt-s); }
.about-timeline-section { padding: 96px 64px; }
.about-timeline-title { font-size: 36px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; text-align: center; margin-bottom: 72px; margin-top: 12px; }
.about-journey { max-width: 760px; margin: 0 auto; }
.about-journey-para { font-size: 15px; color: var(--txt-s); line-height: 1.82; margin-bottom: 18px; }
.about-journey-today-h { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin: 40px 0 18px; }
.about-values { padding: 72px 64px; background: var(--bg-dk); border-top: 1px solid var(--b-lt); border-bottom: 1px solid var(--b-lt); }
.about-values-intro { font-size: 15px; color: var(--txt-s); line-height: 1.7; text-align: center; max-width: 560px; margin: 0 auto 40px; }
.about-values-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
.about-value-card { text-align: center; padding: 36px 28px; background: var(--bg-cd); border: 1px solid var(--b); border-radius: 16px; }
.about-value-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.about-value-title { font-size: 17px; font-weight: 700; margin-bottom: 10px; }
.about-value-para { font-size: 13px; color: var(--txt-s); line-height: 1.75; }
.about-cta-section { padding: 96px 64px; text-align: center; }
.about-cta-inner { max-width: 500px; margin: 0 auto; }
.about-cta-title { font-size: 40px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 16px; }
.about-cta-para { font-size: 15px; color: var(--txt-s); line-height: 1.75; margin-bottom: 32px; }
.about-cta-btns { display: flex; gap: 14px; justify-content: center; }
.clients-cta-title { font-size: 38px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 16px; }
.clients-cta-para { font-size: 15px; color: var(--txt-s); line-height: 1.75; margin-bottom: 32px; }

/* ── CASES PAGE ── */
.cases-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 50% 40% at 50% 0%, oklch(0.35 0.10 185 / .18) 0%, transparent 55%); }
.cases-hero { padding: 72px 64px 56px; }
.cases-hero-inner { max-width: 640px; }
.cases-h1 { font-size: 48px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 18px; }
.cases-para { font-size: 16px; color: var(--txt-s); line-height: 1.78; }
.case-section { padding: 0 64px 48px; }
/* Case card as a link on the listing page — inherit theme colours, no default anchor styling */
.case-card-link { display: block; color: inherit; text-decoration: none; }
.case-card { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 20px; overflow: hidden; }
.case-card-header { padding: 36px 48px; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 20px; }
/* ── CASES LISTING — summary index card (grid detail lives on single-boltzmann_case.php only) ── */
.case-read-row { padding: 0 48px 32px; }
.case-read-link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--amber); }
.case-read-arrow { transition: transform .2s ease; }
.case-card-link:hover .case-read-arrow { transform: translateX(4px); }
.case-tags { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.case-tag { padding: 4px 12px; border-radius: 6px; border: 1px solid; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.case-tag-neutral { background: rgba(255,255,255,.06); border-color: var(--b); color: var(--txt-s); }
.case-title { font-size: 26px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 8px; }
.case-subtitle { font-size: 14px; color: var(--txt-s); }
.case-stat-card { border: 1px solid; border-radius: 14px; padding: 20px 28px; text-align: center; flex-shrink: 0; }
.case-stat-num { font-size: 32px; font-weight: 800; letter-spacing: -.04em; margin-bottom: 4px; }
.case-stat-label { font-size: 12px; color: var(--txt-s); }
.case-grid { display: grid; grid-template-columns: 1fr 1fr; }
.case-cell { padding: 32px 48px; }
.case-cell-br { border-right: 1px solid var(--b-lt); }
.case-cell-bb { border-bottom: 1px solid var(--b-lt); }
.case-cell-header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.case-cell-num { width: 28px; height: 28px; border-radius: 7px; border: 1px solid; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(--mono); font-size: 10px; font-weight: 700; }
.case-cell-lbl { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-family: var(--mono); }
.case-cell-text { font-size: 14px; color: var(--txt-s); line-height: 1.80; }
.case-more-card { background: var(--bg-cd); border: 1px solid var(--b); border-radius: 20px; padding: 48px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.012) 0, rgba(255,255,255,0.012) 1px, transparent 0, transparent 50%); background-size: 14px 14px; }
.case-more-lbl { font-family: var(--mono); font-size: 10px; color: var(--txt-m); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 12px; }
.case-more-title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 10px; color: var(--txt-s); }
.case-more-para { font-size: 14px; color: var(--txt-m); line-height: 1.75; max-width: 480px; }
.cases-cta-section { padding: 0 64px 96px; text-align: center; }
.cases-cta-inner { max-width: 500px; margin: 0 auto; }
.cases-cta-title { font-size: 38px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 16px; }
.cases-cta-para { font-size: 15px; color: var(--txt-s); line-height: 1.75; margin-bottom: 32px; }

/* ── NAV DROPDOWN FLYOUT SUBMENU ── */
.ddi-has-sub{position:relative;padding-right:28px;}
.ddi-has-sub::after{
  content:"";position:absolute;right:14px;top:50%;
  width:0;height:0;
  border-top:4px solid transparent;border-bottom:4px solid transparent;
  border-left:5px solid rgba(255,255,255,0.5);
  transform:translateY(-50%);
}
.ddflyout{
  display:none;position:absolute;top:-8px;left:calc(100% + 8px);
  background:oklch(0.19 0.08 195);
  border:1px solid rgba(255,255,255,0.13);
  border-radius:14px;padding:8px;min-width:200px;
  box-shadow:0 24px 56px rgba(0,0,0,0.60);
}
.ddi-has-sub:hover .ddflyout{display:block;}
.cases-cta-btns { display: flex; gap: 14px; justify-content: center; }

/* ── CAREERS PAGE ── */
.careers-bg { padding-top: 56px; background: var(--bg); background-image: radial-gradient(ellipse 50% 40% at 0% 20%, oklch(0.35 0.10 185 / .18) 0%, transparent 55%); }
.careers-hero { padding: 72px 64px 64px; }
.careers-hero-inner { max-width: 600px; }
.careers-h1 { font-size: 48px; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; margin-bottom: 18px; }
.careers-para { font-size: 16px; color: var(--txt-s); line-height: 1.78; max-width: 500px; }
.careers-para p { margin-bottom: 16px; }
.careers-para p:last-child { margin-bottom: 0; }
.careers-form-section { padding: 0 64px 96px; }
.careers-form-section .contact-form-wrap { max-width: 680px; }

/* ── CAREERS PAGE RESPONSIVE FIX ── */
@media(max-width:1024px){
  .careers-hero{padding:56px 40px 48px;}
  .careers-form-section{padding:0 40px 72px;}
}
@media(max-width:600px){
  .careers-hero{padding:40px 20px 40px;}
  .careers-h1{font-size:clamp(28px,7vw,36px);}
  .careers-form-section{padding:0 20px 56px;}
}

/* ── ABOUT PAGE — What We Offer link colour reset ── */
.about-offer-item, .about-offer-item:link, .about-offer-item:visited, .about-offer-item:hover {
  color: inherit; text-decoration: none;
}

@media(max-width:900px){
  .about-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .about-who-grid { grid-template-columns: 1fr; gap: 40px; }
  .about-values-grid { grid-template-columns: 1fr; gap: 20px; }
  .about-hero-stats { grid-template-columns: 1fr 1fr; }
}

@media(max-width:600px){
  .about-hero { padding: 24px 24px 32px; }
  .about-who { padding: 24px; }
  .about-timeline-section { padding: 48px 24px; }
  .about-values { padding: 24px; }
  .about-cta-section { padding: 48px 24px; }

  .about-h1 { font-size: 32px; }
  .about-para { max-width: 100%; }
  .about-philosophy { padding: 24px; }
  .about-philosophy-quote { font-size: 18px; }
  .about-who-title { font-size: 26px; }
  .about-timeline-title { font-size: 26px; margin-bottom: 40px; }
  .about-values-grid, .about-hero-stats { grid-template-columns: 1fr; }
  .about-cta-title { font-size: 28px; }
  .about-cta-btns { flex-direction: column; }
}

/* ── ERP MODULE SWITCHER — RESPONSIVE ── */
@media(max-width:900px){
  .mods-wrap{grid-template-columns:1fr;}
  .mods-sidebar{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .emod{flex:0 0 auto;border-bottom:none;border-left:none;border-right:1px solid rgba(255,255,255,0.06);white-space:nowrap;}
  .emod.act{border-left-color:transparent;border-bottom:3px solid var(--mc,#3dcfaf);}
  .emod-last{border-right:none!important;}
  .mods-panel-area{padding:32px;}
  .mpanel.on{grid-template-columns:1fr;}
  .mpanel-features{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .mods-panel-area{padding:20px;}
  .mpanel-title{font-size:22px;}
  .emod{padding:16px 18px;}
}

/* ── NAV FLYOUT REACHABILITY FIX (bridges hover gap to .ddflyout) ── */
.ddi-has-sub::before{
  content:"";position:absolute;top:0;right:-10px;
  width:10px;height:100%;
}
.ddflyout{left:100%;}
.ddi-has-sub:hover .ddflyout,
.ddflyout:hover{display:block;}

/* ── PRODUCT HERO RESPONSIVE FIX (.erp-hero / .pos-hero — ERP, PoS, Retail, mPoS, Enterprise Lite, Loyalty) ── */
@media(max-width:1024px){
  .erp-hero,.pos-hero{padding:48px 40px 56px;gap:40px;min-height:auto;}
}
@media(max-width:900px){
  .erp-hero,.pos-hero{grid-template-columns:1fr;gap:40px;}
  .erp-hero-text,.pos-hero-text{order:1;}
  .erp-hero-visual,.pos-hero-visual{order:2;width:100%;}
}
/* ── CONTACT PAGE RESPONSIVE FIX ── */
@media(max-width:1024px){
  .contact-hero{padding:56px 40px 48px;}
  .contact-grid{padding:0 40px 72px;gap:40px;}
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-form-wrap{order:1;}
  .contact-info{order:2;}
}
@media(max-width:600px){
  .contact-hero{padding:40px 20px 40px;}
  .contact-h1{font-size:clamp(28px,7vw,36px);}
  .contact-grid{padding:0 20px 56px;gap:28px;}
  .contact-form-wrap{padding:28px;}
  .cinfo-card{padding:20px;}
}

/* ── SOLUTION BUNDLE PAGES (Enterprise Suite, Retail Management) ── */
.sol-card-link{display:block;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s;}
.sol-card-link:hover{border-color:#3dcfaf;transform:translateY(-2px);}

@media(max-width:600px){
  .erp-hero,.pos-hero{padding:40px 20px 48px;gap:28px;}
  .erp-h1,.pos-h1{font-size:clamp(28px,7vw,36px);}
}

/* ── FOOTER LINK COLOUR RESET (kills default browser blue/purple :link/:visited) ── */
.ft-link,
.ft-link:link,
.ft-link:visited{color:var(--txt-s);text-decoration:none;}
.ft-link:hover{color:#fff;}

.ft-logo-wrap,
.ft-logo-wrap:link,
.ft-logo-wrap:visited{color:inherit;text-decoration:none;}

.ft-social,
.ft-social:link,
.ft-social:visited{color:var(--txt-s);}
.ft-social:hover{color:#fff;}

/* ── AI PAGE (Expertise › Artificial Intelligence) ── */
.about-values-grid.two-col{grid-template-columns:1fr 1fr;}
.loy-problem-section .about-values-grid.two-col{margin-top:48px;max-width:900px;margin-left:auto;margin-right:auto;}
@media(max-width:900px){
  .about-values-grid.two-col{grid-template-columns:1fr;}
}

.about-values-grid.four-col{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){
  .about-values-grid.four-col{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .about-values-grid.four-col{grid-template-columns:1fr;}
}

.ai-diagram-box{max-width:920px;margin:40px auto 0;background:color-mix(in srgb,var(--teal) 5%,transparent);border:1px solid color-mix(in srgb,var(--teal) 16%,transparent);border-radius:16px;padding:32px;}
.ai-diagram-box.narrow{max-width:640px;}
.ai-diagram-box svg{width:100%;height:auto;}

.ai-subblocks{max-width:760px;margin:56px auto 0;display:flex;flex-direction:column;gap:40px;}
.ai-subblock-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:14px;}
.ai-subblock-para p{font-size:14px;color:var(--txt-s);line-height:1.85;margin-bottom:14px;}
.ai-subblock-para p:last-child{margin-bottom:0;}
.ai-inner-spaced{margin-top:56px;}

@media(max-width:640px){
  .ai-diagram-box{padding:20px;}
}

/* AI page — readable content column: left-align body prose in a shared
   ~720px column, keep headings/short intros centred, and align the
   diagrams to a matching ~900px column instead of stretching full-bleed.
   Scoped to #pg-ai only so Loyalty's shared .loy-problem-section /
   .loy-problem-inner styling (centred short intro) is untouched. */
#pg-ai .loy-problem-inner{max-width:720px;margin-left:auto;margin-right:auto;text-align:left;}
#pg-ai .loy-problem-para{text-align:left;}
#pg-ai .loy-problem-para p{line-height:1.75;}
#pg-ai .ai-subblocks{max-width:720px;margin-left:auto;margin-right:auto;}
#pg-ai .ai-subblock-para{text-align:left;}
#pg-ai .ai-subblock-para p{line-height:1.75;}

#pg-ai .ai-diagram-box{max-width:900px;margin-left:auto;margin-right:auto;}
#pg-ai .ai-diagram-box.narrow{max-width:900px;}

#pg-ai .about-values-grid{max-width:1000px;margin-left:auto;margin-right:auto;}
#pg-ai .loy-problem-section .about-values-grid.two-col{max-width:1000px;}

/* Headings and short intros (h2 titles, subblock titles) stay centred
   even though .loy-problem-inner/.ai-subblocks above are now left-aligned
   as blocks for their prose. */
#pg-ai .loy-problem-title{text-align:center;}
#pg-ai .ai-subblock-title{text-align:center;}

@media(max-width:900px){
  #pg-ai .loy-problem-inner,
  #pg-ai .ai-subblocks{max-width:100%;}
}
/* <=600px padding already symmetric via base .loy-problem-section rule (line 489) */

/* Bespoke Software Development page — readable content column: left-align
   body prose in a shared ~720px column, keep headings/short intros centred.
   Mirrors the #pg-ai fix above; scoped to #pg-bespoke only. */
#pg-bespoke .loy-problem-inner{max-width:720px;margin-left:auto;margin-right:auto;text-align:left;}
#pg-bespoke .loy-problem-para{text-align:left;}
#pg-bespoke .loy-problem-para p{line-height:1.75;}
#pg-bespoke .loy-problem-title{text-align:center;}

#pg-bespoke .about-values-grid{max-width:1000px;margin-left:auto;margin-right:auto;}

/* Case-study teaser cards — .about-value-card reused as a link */
.bsp-case-card{display:block;position:relative;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease;}
.bsp-case-card:hover{border-color:var(--teal);transform:translateY(-2px);}
.bsp-case-dot{position:absolute;top:24px;left:24px;}
.bsp-case-card .about-value-title{margin-top:6px;}

.bsp-allcases{text-align:center;}
.bsp-allcases-text{font-size:15px;color:var(--txt-s);line-height:1.72;margin-bottom:24px;}

@media(max-width:900px){
  #pg-bespoke .loy-problem-inner{max-width:100%;}
}

.ft-bar-link{color:var(--txt-s);}

/* Mobile App Development page — readable content column: left-align
   body prose in a shared ~720px column, keep headings/short intros
   centred. Mirrors the #pg-ai / #pg-bespoke fixes above. */
#pg-mobile .loy-problem-inner{max-width:720px;margin-left:auto;margin-right:auto;text-align:left;}
#pg-mobile .loy-problem-para{text-align:left;}
#pg-mobile .loy-problem-para p{line-height:1.75;}
#pg-mobile .loy-problem-title{text-align:center;}

#pg-mobile .about-values-grid{max-width:1000px;margin-left:auto;margin-right:auto;}

@media(max-width:900px){
  #pg-mobile .loy-problem-inner{max-width:100%;}
}

/* Hero intro — multi-paragraph wpautop() output, styled to match .erp-para */
.erp-para-wrap p{font-size:15px;color:var(--txt-s);line-height:1.80;margin-bottom:20px;max-width:440px;}
.erp-para-wrap p:last-child{margin-bottom:34px;}

/* Bulleted capability / point lists (Cross-Platform, Indian Conditions) */
.mob-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.mob-list li{position:relative;padding-left:26px;font-size:15px;color:var(--txt-s);line-height:1.7;}
.mob-list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--teal);}

/* Soft text link inside a product card / prose block */
.mob-app-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;color:var(--teal);text-decoration:none;}
.mob-app-link:hover{text-decoration:underline;}

/* ── CASE STUDY HEADER IMAGE ── */
.case-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px 16px 0 0;display:block;margin-bottom:20px;}

/* ── NAV DROPDOWN: hover-to-open (desktop / mouse only; click path preserved) ── */
@media (hover:hover) and (pointer:fine){
  .ns-wrap:hover .ndd{ display:block; }
  /* invisible bridge across the 10px trigger→dropdown gap so hover doesn't drop */
  .ns-wrap::after{
    content:"";position:absolute;left:0;right:0;top:100%;height:12px;
  }

}

/* ── MOBILE NAV (hamburger → full-screen overlay), <=900px ── */
.nav-burger{
  display:none;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;
  background:transparent;border:none;cursor:pointer;
  flex-shrink:0;
}
.nav-burger span{
  display:block;width:22px;height:2px;
  background:var(--txt);border-radius:2px;
}
/* ── FIX: mobile burger invisible on .erp-bg product pages (stacking context) ── */
.nav-burger{ position:relative;z-index:2; }
.nav-burger:focus-visible,
.mnav-close:focus-visible,
.mnav-group-toggle:focus-visible,
.mnav-link:focus-visible,
.mnav-sub-link:focus-visible,
.mnav-cta:focus-visible{
  outline:2px solid var(--teal);outline-offset:2px;
}
.mnav{
  display:none;
}
.mnav-close{
  position:absolute;top:16px;right:16px;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.06);border:1px solid var(--b);
  border-radius:100px;color:var(--txt);cursor:pointer;
}
.mnav-body{display:flex;flex-direction:column;gap:4px;padding:0 8px;}
.mnav-link{
  display:flex;align-items:center;min-height:44px;
  padding:12px 16px;font-size:19px;font-weight:600;
  color:var(--txt);text-decoration:none;
}
.mnav-group{display:flex;flex-direction:column;}
.mnav-group-toggle{
  display:flex;align-items:center;justify-content:space-between;
  min-height:44px;width:100%;
  padding:12px 16px;font-size:19px;font-weight:600;
  color:var(--txt);background:transparent;border:none;
  font-family:var(--ff);cursor:pointer;text-align:left;
}
.mnav-caret{display:flex;align-items:center;color:var(--txt-s);transition:transform .2s;}
.mnav-group.open .mnav-caret{transform:rotate(180deg);}
.mnav-sub{
  max-height:0;overflow:hidden;
  display:flex;flex-direction:column;
  padding-left:16px;
  transition:max-height .25s ease;
}
.mnav-group.open .mnav-sub{max-height:1000px;}
.mnav-sub-lbl{
  font-family:var(--mono);font-size:10px;color:var(--txt-m);
  letter-spacing:.10em;text-transform:uppercase;
  padding:10px 12px 4px;
}
.mnav-sub-link{
  display:flex;align-items:center;min-height:44px;
  padding:10px 12px;font-size:16px;font-weight:500;
  color:var(--txt-s);text-decoration:none;
}
.mnav-cta{
  display:flex;align-items:center;justify-content:center;
  min-height:48px;margin:20px 16px 8px;
  background:var(--amber);color:#1a0a00;
  border-radius:100px;font-size:15px;font-weight:700;
  text-decoration:none;
}

@media(max-width:900px){
  .npill{display:none;}
  .ncta{display:none;}
  .nav-burger{display:flex;}
  .mnav{
    position:fixed;inset:0;z-index:10000;
    background:var(--bg-dp);
    padding-top:max(env(safe-area-inset-top,0px),64px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    padding-left:16px;padding-right:16px;
    overflow-y:auto;
  }
  .mnav.open{display:block;}
  body.mnav-open{overflow:hidden;}
}

@media(prefers-reduced-motion:reduce){
  .mnav-caret,.mnav-sub{transition:none;}
}

/* ===== Mobile horizontal-overflow fix (fstrip / nav-burger) ===== */
html,body{ overflow-x:hidden; max-width:100%; }
@media(max-width:700px){
  .fstrip{ grid-template-columns:1fr; }
  .fstrip-col-border{ border-right:none; border-bottom:1px solid var(--b-lt); }
}

/* ===== Clients page mobile grid fix ===== */
@media(max-width:900px){
  .clients-pg-hero-grid{ grid-template-columns:1fr; gap:32px; }
  .clients-pg-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
  .clients-pg-hero{ padding:56px 20px 40px; }
  .clients-pg-section{ padding:40px 20px 0; }
  .clients-pg-h1{ font-size:34px; }
}

/* ===== Home platform card scrim (readability over photo bg) ===== */
.hcard{ position:relative; }
.hcard::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(to top, rgba(8,20,24,0.92) 0%, rgba(8,20,24,0.72) 45%, rgba(8,20,24,0.45) 100%);
  pointer-events:none;
}

/* ===== Mobile heading size reductions (oversized headings on small screens) ===== */
@media(max-width:700px){
  .platforms-title{ font-size:clamp(30px,8vw,38px); }
  .mods-title{ font-size:clamp(28px,7.5vw,36px); }
  .erp-cta-title{ font-size:clamp(28px,7.5vw,36px); }
}
.hci{ position:relative; z-index:1; }