/*
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:55px;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:43px;}
}


/* ══ 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-logo-wrap img{max-height:32px;width:auto;}
.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:56px 64px;
  background:var(--bg-dk);
  border-top:1px solid var(--b-lt);
}
.clients-lbl{text-align:center;margin-bottom:28px;}
.clients-carousel-wrap{position:relative;overflow:hidden;margin-top:24px;}
.clients-track{display:flex;align-items:center;gap:32px;transition:transform 0.4s ease;}
.client-logo-chip{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:10px 16px;background:#fff;border-radius:8px;}
.client-logo-chip img{height:52px;width:auto;max-width:160px;object-fit:contain;display:block;}
.clients-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;}
.clients-nav-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.clients-nav-btn:hover{background:rgba(61,207,175,0.2);border-color:#3dcfaf;}
.clients-nav-btn svg{width:14px;height:14px;}
.client-logo-chip--text{background:transparent;}
.client-logo-chip--text span{color:rgba(255,255,255,0.5);font-size:13px;font-weight:600;}

/* CTA */
.cta-section{
  padding:88px 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:40px 24px;}
  .cta-section{padding:64px 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 — replaced by custom CF7 dropdown */
.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;}

/* ── CF7 CUSTOM SELECT DROPDOWN ── */
.cf7-select-wrap{position:relative;width:100%;}
.cf7-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:transparent;border:1px solid rgba(255,255,255,0.15);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-family:var(--ff);}
.cf7-select-trigger:hover{border-color:rgba(61,207,175,0.5);}
.cf7-select-wrap.open .cf7-select-trigger{border-color:#3dcfaf;}
.cf7-select-trigger svg{flex-shrink:0;transition:transform .2s;}
.cf7-select-wrap.open .cf7-select-trigger svg{transform:rotate(180deg);}
.cf7-select-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#0d2a1f;border:1px solid rgba(61,207,175,0.25);border-radius:8px;z-index:100;overflow:hidden;}
.cf7-select-wrap.open .cf7-select-options{display:block;}
.cf7-select-option{padding:10px 16px;color:#fff;cursor:pointer;font-size:14px;font-family:var(--ff);transition:background .15s;}
.cf7-select-option:hover{background:rgba(61,207,175,0.1);}
.cf7-select-option.placeholder{color:rgba(255,255,255,0.4);}
.cf7-select-option{text-transform:none!important;}
.cf7-select-trigger{text-transform:none!important;}

/* ── 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; background: var(--cc-color); }
.clients-pg-cat-lbl { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; color: var(--cc-color); }
.clients-pg-cat-title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.clients-pg-section.cat-erp-retail { --cc-color: #3dcfaf; --cc-border: rgba(61,207,175,.18); --cc-hover: rgba(61,207,175,.45); }
.clients-pg-section.cat-hospitality { --cc-color: var(--amber); --cc-border: rgba(232,192,48,.18); --cc-hover: rgba(232,192,48,.45); }
.clients-pg-section.cat-others { --cc-color: #5890e8; --cc-border: rgba(88,144,232,.18); --cc-hover: rgba(88,144,232,.45); }

/* ── Category accent colour variants (new slugs) ── */
.clients-pg-section.cat-retail-apparel { --cc-color: #3dcfaf; --cc-border: rgba(61,207,175,.18); --cc-hover: rgba(61,207,175,.45); }
.clients-pg-section.cat-retail-apparel .clients-pg-cat-bar { background: #3dcfaf; }
.clients-pg-section.cat-retail-apparel .clients-pg-cat-lbl { color: #3dcfaf; }

.clients-pg-section.cat-hospitality-food { --cc-color: #e8c030; --cc-border: rgba(232,192,48,.18); --cc-hover: rgba(232,192,48,.45); }
.clients-pg-section.cat-hospitality-food .clients-pg-cat-bar { background: #e8c030; }
.clients-pg-section.cat-hospitality-food .clients-pg-cat-lbl { color: #e8c030; }

.clients-pg-section.cat-entertainment { --cc-color: #a78bfa; --cc-border: rgba(167,139,250,.18); --cc-hover: rgba(167,139,250,.45); }
.clients-pg-section.cat-entertainment .clients-pg-cat-bar { background: #a78bfa; }
.clients-pg-section.cat-entertainment .clients-pg-cat-lbl { color: #a78bfa; }

.clients-pg-section.cat-healthcare-fitness { --cc-color: #68d448; --cc-border: rgba(104,212,72,.18); --cc-hover: rgba(104,212,72,.45); }
.clients-pg-section.cat-healthcare-fitness .clients-pg-cat-bar { background: #68d448; }
.clients-pg-section.cat-healthcare-fitness .clients-pg-cat-lbl { color: #68d448; }

.clients-pg-section.cat-others .clients-pg-cat-bar { background: #5890e8; }
.clients-pg-section.cat-others .clients-pg-cat-lbl { color: #5890e8; }

.clients-pg-section.cat-overseas { --cc-color: #f97316; --cc-border: rgba(249,115,22,.18); --cc-hover: rgba(249,115,22,.45); }
.clients-pg-section.cat-overseas .clients-pg-cat-bar { background: #f97316; }
.clients-pg-section.cat-overseas .clients-pg-cat-lbl { color: #f97316; }

/* Client chip wall */
.client-chip-wrap { display: flex; flex-wrap: wrap; gap: 10px; }
.client-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 100px; border: 1px solid var(--cc-border); background: rgba(255,255,255,.03); transition: border-color .2s, background .2s; cursor: default; }
.client-chip:hover { border-color: var(--cc-hover); background: rgba(255,255,255,.06); }
.client-chip-logo { width: 18px; height: 18px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.client-chip-logo:empty { display: none; }
.client-chip-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.client-chip-name { font-size: 13px; font-weight: 600; color: var(--txt-s); white-space: nowrap; }
.clients-pg-more-wrap { text-align: center; padding: 8px 64px 0; }
.clients-more-link { display: inline-block; font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: var(--txt-s); text-decoration: none; border: 1px solid var(--b-lt); border-radius: 100px; padding: 12px 28px; transition: border-color .2s, color .2s; }
.clients-more-link:hover { color: #3dcfaf; border-color: rgba(61,207,175,.35); }
.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 96px; }
.careers-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.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 PAGE RESPONSIVE FIX ── */
@media(max-width:1024px){
  .careers-hero{padding:56px 40px 72px;}
}
@media(max-width:900px){
  .careers-hero-grid{grid-template-columns:1fr;gap:40px;}
}
@media(max-width:600px){
  .careers-hero{padding:40px 20px 48px;}
  .careers-h1{font-size:clamp(28px,7vw,36px);}
}

/* ── 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;}
}

/* fstrip 4-item: 2x2 grid */
.fstrip:has(> .fstrip-col:nth-child(4):last-child) { grid-template-columns: 1fr 1fr; }

/* ===== 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; }
}
@media(max-width:600px){
  .clients-pg-hero{ padding:56px 20px 40px; }
  .clients-pg-section{ padding:40px 20px 0; }
  .clients-pg-h1{ font-size:34px; }
  .client-chip-wrap{ gap:8px; }
  .client-chip{ padding:8px 13px; }
  .client-chip-name{ font-size:12px; white-space:normal; }
  .clients-pg-more-wrap{ padding:8px 20px 0; }
}

/* ===== 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; }

/* ===== Home (products-led rebuild): Product Family / Solutions Mini ===== */
:root{
  --blue:oklch(0.72 0.15 250);
}
/* ── VERTICAL RHYTHM TIGHTENING (2026-08-20) ── */
.section{padding:64px 64px;}
.sol-mini-section{padding-top:32px;padding-bottom:32px;}
.section-head{max-width:720px;margin-bottom:40px;}
.hosting-section>.section-head{max-width:none;width:100%;}
.hosting-section>.section-head .section-title{font-size:36px;}
.hosting-section>.section-head .section-sub{max-width:none;width:100%;}
.section-title{font-size:42px;font-weight:700;letter-spacing:-.03em;line-height:1.1;}
.section-title-sm{font-size:30px;}
.section-sub{font-size:15px;color:var(--txt-s);margin-top:14px;line-height:1.7;}

.fam{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.famcard{background:var(--bg-panel);border:1px solid var(--b);border-radius:20px;padding:26px;position:relative;overflow:hidden;}
.famcard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--gc,var(--teal));}
.fam-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.fam-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;flex-shrink:0;background:color-mix(in srgb,var(--gc,var(--teal)) 14%,transparent);}
.fam-name{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.fam-tag{font-size:12.5px;color:var(--txt-m);font-family:var(--mono);}
.fam-desc{font-size:14px;color:var(--txt-s);line-height:1.55;margin:12px 0 18px;}
.fam-items{display:flex;flex-direction:column;gap:8px;}
.fam-item{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid var(--b-lt);transition:border-color .2s,background .2s;text-decoration:none;color:inherit;}
.fam-item:hover{border-color:var(--gc,var(--teal));background:rgba(255,255,255,0.05);}
.fam-item-dot{width:8px;height:8px;border-radius:50%;background:var(--gc,var(--teal));margin-top:6px;flex-shrink:0;}
.fam-item-name{font-weight:700;font-size:14px;}
.fam-item-desc{font-size:12.5px;color:var(--txt-s);line-height:1.45;}

.sol-mini{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
.solm{border:1px solid var(--b);border-radius:16px;padding:22px;background:var(--bg-panel);}
.solm-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;color:var(--teal);}
.solm-name{font-weight:800;font-size:17px;margin-bottom:6px;}
.solm-desc{font-size:13px;color:var(--txt-s);line-height:1.5;}

@media(max-width:1000px){
  .section{padding:48px 24px;}
  .sol-mini-section{padding-top:24px;padding-bottom:24px;}
}
@media(max-width:900px){
  .fam{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .sol-mini{grid-template-columns:1fr;}
}

/* Connect CTA button — trailing arrow hover */
.btn-connect{display:inline-flex;align-items:center;gap:8px;}
.btn-connect::after{content:"→";display:inline-block;transition:transform .2s ease;}

/* ── STANDARD ERP PAGE (Core Manufacturing) ── */

/* Workflow diagram section */
.stderp-diagram-section{padding:96px 64px;}
.stderp-diagram-header{text-align:center;margin-bottom:48px;}
.stderp-diagram-title{font-size:clamp(28px,4.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.15;}
.stderp-diagram-scroll{overflow-x:auto;}
.stderp-flow-svg{width:100%;min-width:820px;height:auto;display:block;margin:0 auto;}

/* Sequential stages — vertical timeline */
.stderp-stages-section{padding:96px 64px;background:var(--bg-dk);border-top:1px solid var(--b-lt);border-bottom:1px solid var(--b-lt);}
.stderp-stages-header{max-width:720px;margin:0 auto 56px;text-align:center;}
.stderp-stages-title{font-size:clamp(28px,4.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.15;}
.stderp-stages-intro{font-size:16px;color:var(--txt-s);margin-top:16px;line-height:1.72;}

.stderp-timeline{max-width:880px;margin:0 auto;}
.stderp-stage{position:relative;padding-left:64px;padding-bottom:48px;margin-left:23px;border-left:2px dashed var(--b-lt);}
.stderp-stage:last-child{padding-bottom:0;border-left-color:transparent;}
.stderp-stage-badge{
  position:absolute;left:-23px;top:0;
  width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:700;font-size:13px;
  background:var(--bg-cd);border:2px solid var(--sc,#3dcfaf);color:var(--sc,#3dcfaf);
}
.stderp-stage-body{background:var(--bg-panel);border:1px solid var(--b);border-left:3px solid var(--sc,#3dcfaf);border-radius:16px;padding:32px 36px;}
.stderp-stage-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;}

/* ── CASE STUDY TEMPLATE RESPONSIVE — optb / optc / actest / case-section ── */

/* Option B */
@media(max-width:900px){
  .optb-body{flex-direction:column;}
  .optb-grid-col{border-right:none;border-bottom:1px solid var(--b-lt);}
  .optb-grid-col .case-grid{grid-template-columns:1fr;}
  .optb-grid-col .case-cell-br{border-right:none;border-bottom:1px solid var(--b-lt);}
  .optb-img-col{width:100%;height:320px;flex-shrink:0;}
  .optb-img-col img{width:100%;height:320px;object-fit:cover;display:block;}
}
@media(max-width:600px){
  .optb-img-col{height:220px;}
  .optb-img-col img{height:220px;}
}

/* Option C */
@media(max-width:900px){
  .optc-hero-wrap{overflow:visible;background:transparent;}
  .optc-hero{max-height:none;}
  .optc-hero img{height:260px;max-height:none;}
  .optc-hero-overlay{display:none!important;}
  .optc-hero-meta{position:relative;inset:auto;background:transparent;padding:0;}
  .optc-breadcrumb{padding:16px 24px;}
  .optc-hero-content{padding:20px 24px;flex-direction:column;align-items:flex-start;}
  .postid-179 .case-grid{grid-template-columns:1fr;}
  .postid-67 .case-grid,
  .postid-68 .case-grid,
  .postid-69 .case-grid,
  .postid-70 .case-grid,
  .postid-71 .case-grid,
  .postid-72 .case-grid{grid-template-columns:1fr;}
  .postid-67 .case-section,.postid-68 .case-section,.postid-69 .case-section,.postid-70 .case-section,.postid-71 .case-section,.postid-72 .case-section{padding:0 24px 40px;}
  .postid-67 .case-cell,.postid-68 .case-cell,.postid-69 .case-cell,.postid-70 .case-cell,.postid-71 .case-cell,.postid-72 .case-cell{padding:24px;}
  .postid-67 .case-card-header,.postid-68 .case-card-header,.postid-69 .case-card-header,.postid-70 .case-card-header,.postid-71 .case-card-header,.postid-72 .case-card-header{padding:24px;}
  .postid-67 .case-read-row,.postid-68 .case-read-row,.postid-69 .case-read-row,.postid-70 .case-read-row,.postid-71 .case-read-row,.postid-72 .case-read-row{padding:0 24px 24px;}
  .postid-67 .cases-cta-section,.postid-68 .cases-cta-section,.postid-69 .cases-cta-section,.postid-70 .cases-cta-section,.postid-71 .cases-cta-section,.postid-72 .cases-cta-section{padding:0 24px 64px;}
  .postid-179 .case-cell-br{border-right:none;border-bottom:1px solid var(--b-lt);}
  .postid-176 .case-grid{grid-template-columns:1fr;}
  .postid-176 .case-cell-br{border-right:none;border-bottom:1px solid var(--b-lt);}
}
@media(max-width:600px){
  .optc-hero img{height:200px;}
  .optc-hero-content .case-title{font-size:clamp(20px,5vw,26px);}
  .optc-breadcrumb{padding:12px 20px;}
  .postid-67 .case-section,.postid-68 .case-section,.postid-69 .case-section,.postid-70 .case-section,.postid-71 .case-section,.postid-72 .case-section{padding:0 16px 32px;}
  .postid-67 .case-cell,.postid-68 .case-cell,.postid-69 .case-cell,.postid-70 .case-cell,.postid-71 .case-cell,.postid-72 .case-cell{padding:16px;}
  .postid-67 .case-card-header,.postid-68 .case-card-header,.postid-69 .case-card-header,.postid-70 .case-card-header,.postid-71 .case-card-header,.postid-72 .case-card-header{padding:16px;}
  .postid-67 .case-read-row,.postid-68 .case-read-row,.postid-69 .case-read-row,.postid-70 .case-read-row,.postid-71 .case-read-row,.postid-72 .case-read-row{padding:0 16px 16px;}
}

/* Option A — collapse case-grid to single column on mobile for audit-test template */
@media(max-width:700px){
  .postid-171 .case-grid,
  .postid-166 .case-grid{grid-template-columns:1fr;}
  .postid-171 .case-cell-br,
  .postid-166 .case-cell-br{border-right:none;border-bottom:1px solid var(--b-lt);}
}

/* .case-section padding — scoped to test post IDs only */
@media(max-width:900px){
  .postid-171 .case-section,
  .postid-166 .case-section,
  .postid-178 .case-section,
  .postid-179 .case-section{padding:0 32px 40px;}
}
@media(max-width:600px){
  .postid-171 .case-section,
  .postid-166 .case-section,
  .postid-178 .case-section,
  .postid-179 .case-section{padding:0 16px 32px;}
}
.stderp-stage-intro{font-size:14px;color:var(--txt-s);line-height:1.75;margin-bottom:20px;}

/* Shared bullet-block style (stages, HR, Finance) */
.stderp-bullets{display:flex;flex-direction:column;gap:12px;}
.stderp-bullet{font-size:13.5px;color:var(--txt-s);line-height:1.65;padding-left:18px;position:relative;}
.stderp-bullet::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--sc,#3dcfaf);}
.stderp-bullet b{color:var(--txt);font-weight:700;}

/* HR / Finance simple sections */
.stderp-simple-section{padding:88px 64px;}
.stderp-simple-section-alt{background:var(--bg-dk);border-top:1px solid var(--b-lt);border-bottom:1px solid var(--b-lt);}
.stderp-simple-inner{max-width:760px;margin:0 auto;}
.stderp-simple-title{font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:-.03em;margin-bottom:16px;}
.stderp-simple-intro{font-size:15px;color:var(--txt-s);line-height:1.78;margin-bottom:28px;}

@media(max-width:700px){
  .stderp-diagram-section,.stderp-stages-section,.stderp-simple-section{padding:56px 20px;}
  .stderp-stage{padding-left:48px;margin-left:12px;padding-bottom:36px;}
  .stderp-stage-badge{width:36px;height:36px;font-size:11px;left:-12px;}
  .stderp-stage-body{padding:22px 20px;}
  .stderp-stage-title{font-size:19px;}
}

/* ===== PoS TEST page — top banner (image-only, teal color-grade filter) ===== */
.pos-test-banner{position:relative;height:200px;overflow:hidden;}
.pos-test-banner-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:hue-rotate(130deg) saturate(0.8) brightness(0.95);}
@media(max-width:900px){ .pos-test-banner{height:160px;} }
@media(max-width:600px){ .pos-test-banner{height:140px;} }

/* ===== AUDIT-TEST case template — image-in-grid layout (single-boltzmann_case-audit-test.php) =====
   TEST-ONLY — safe to delete along with that template file. Scoped to .actest- prefixed classes only;
   does not touch .case-grid/.case-cell or any class used by the real case-study template. */
.actest-case-cell-image{padding:0;overflow:hidden;min-height:220px;}
.actest-case-cell-image-img{width:100%;height:100%;object-fit:cover;display:block;filter:hue-rotate(130deg) saturate(0.8) brightness(0.95);}

/* ===== Hosting & Deployment section ===== */
.hosting-section{padding:32px 80px 64px;}
.hosting-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;}
.hosting-item{display:flex;align-items:flex-start;gap:16px;background:rgba(61,207,175,0.04);border:1px solid rgba(61,207,175,0.12);border-radius:12px;padding:24px;}
.hosting-ic{width:44px;height:44px;border-radius:10px;background:rgba(61,207,175,0.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hosting-item-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:6px;}
.hosting-item-desc{font-size:13px;color:var(--txt-s);line-height:1.5;}
@media(max-width:900px){.hosting-strip{grid-template-columns:1fr;}.hosting-section{padding:48px 32px;}}
@media(max-width:600px){.hosting-section{padding:40px 16px;}}
.actest-case-cell-full{grid-column:1 / -1;}
@media(max-width:700px){ .actest-case-cell-image{min-height:180px;} }
/* Test template has no top .case-card-img (moved into the grid), so .case-card-header's own
   padding-top:36px (line 661, shared with the real template) is left exposed as extra gap below
   the breadcrumb. On the real template that same visual position is flush/0 (image sits directly
   against .case-card with no padding — see .case-section's own top:0 in the "0 64px 48px" rule).
   Scoped to postid-171 (this test post only, per functions.php's existing hardcoded-171 routing)
   so single-boltzmann_case.php and every other case study post are unaffected. */
.postid-171 .case-card-header{padding-top:0;}
.postid-166 .case-card-header{padding-top:0;}

/* ── CLIENTS PAGE — category sections ── */
.clients-cat-section { padding: 48px 64px; border-bottom: 1px solid var(--b); }
.clients-cat-section:last-of-type { border-bottom: none; }
.clients-cat-name { font-size: 13px; font-family: var(--mono); letter-spacing: .10em; text-transform: uppercase; color: var(--teal); margin-bottom: 32px; }
.clients-cat-desc { font-size: 13px; color: var(--txt-s); margin: 6px 0 28px; line-height: 1.6; font-style: italic; border-left: 2px solid var(--teal); padding-left: 10px; }
.clients-cat-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.clients-cat-item { font-size: 14px; color: var(--txt); padding: 8px 16px; border: 1px solid var(--b); border-radius: 999px; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clients-cat-hidden { display: none; }
.clients-cat-hidden.clients-cat-visible { display: inline-flex; }
.clients-cat-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 20px; background: none; border: 1px solid var(--b); border-radius: 999px; color: var(--teal); font-size: 13px; font-family: var(--mono); letter-spacing: .06em; padding: 8px 20px; cursor: pointer; transition: border-color .2s, background .2s; }
.clients-cat-more:hover { border-color: var(--teal); background: color-mix(in srgb, var(--teal) 8%, transparent); }

@media(max-width:900px) { .clients-cat-grid { grid-template-columns: repeat(2,1fr); } .clients-cat-section { padding: 40px 32px; } }
@media(max-width:600px) { .clients-cat-grid { grid-template-columns: 1fr; } .clients-cat-section { padding: 32px 20px; } }

/* ── AXIS & CASES LIST MOBILE PADDING FIX ── */
@media(max-width:900px){
  .postid-14 .erp-hero{ padding:48px 32px 56px; }
  .postid-14 .fstrip-col{ padding:28px 32px; }
  .postid-14 .mods-section{ padding:64px 32px; }
  .postid-14 .mods-panel-area{ padding:28px 32px; }
  .postid-14 .deploy-options-strip{ padding:32px 32px; }
  .postid-14 .erp-cta-section{ padding:56px 32px; }
  .postid-20 .cases-hero{ padding:48px 32px 40px; }
  .postid-20 .case-section{ padding:0 32px 40px; }
}
@media(max-width:600px){
  .postid-14 .erp-hero{ padding:40px 20px 48px; }
  .postid-14 .fstrip-col{ padding:24px 20px; }
  .postid-14 .mods-section{ padding:48px 20px; }
  .postid-14 .mods-panel-area{ padding:20px; }
  .postid-14 .deploy-options-strip{ padding:24px 16px; }
  .postid-14 .erp-cta-section{ padding:48px 20px; }
  .postid-20 .cases-hero{ padding:40px 20px 32px; }
  .postid-20 .case-section{ padding:0 20px 32px; }
}

/* ===== PoS TEST page — screenshot gallery ===== */
.pos-test-gallery{padding:96px 64px;}
.pos-test-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1080px;margin:0 auto;}
.pos-test-shot{margin:0;}
.pos-test-shot-frame{background:var(--bg-panel);border:1px solid var(--b);border-radius:16px;overflow:hidden;}
.pos-test-shot-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg-dp);border-bottom:1px solid var(--b-lt);}
.pos-test-shot-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.16);}
.pos-test-shot-dot:nth-child(1){background:#e8807a;}
.pos-test-shot-dot:nth-child(2){background:#e8c030;}
.pos-test-shot-dot:nth-child(3){background:#68d448;}
.pos-test-shot-img{width:100%;height:auto;display:block;}
.pos-test-shot-caption{margin-top:14px;font-size:13px;color:var(--txt-s);text-align:center;line-height:1.6;}

@media(max-width:900px){
  .pos-test-gallery{padding:64px 32px;}
  .pos-test-gallery-grid{gap:24px;}
}
@media(max-width:700px){
  .pos-test-gallery{padding:48px 20px;}
  .pos-test-gallery-grid{grid-template-columns:1fr;}
}

/* ── TESTIMONIALS CAROUSEL ── */
.tmn-section{background:var(--bg-dk);border-top:1px solid var(--b-lt);border-bottom:1px solid var(--b-lt);}
.tmn-carousel{max-width:760px;margin:0 auto;}
.tmn-slides{min-height:180px;}
.tmn-slide{display:none;}
.tmn-slide.tmn-active{display:block;}
.tmn-quote{font-size:18px;font-weight:400;line-height:1.8;color:var(--txt);font-style:italic;margin-bottom:28px;border:none;padding:0;}
.tmn-attr{display:flex;align-items:center;gap:14px;}
.tmn-avatar{width:44px;height:44px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0;}
.tmn-attr-text{font-size:14px;color:var(--txt-s);line-height:1.45;}
.tmn-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;}
.tmn-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--b);background:var(--bg-panel);color:var(--txt-s);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,background .2s;}
.tmn-btn:hover{border-color:var(--teal);color:var(--teal);background:rgba(255,255,255,0.05);}
.tmn-btn svg{display:block;}
.tmn-dots{display:flex;align-items:center;gap:8px;}
.tmn-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,0.18);cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.tmn-dot.tmn-dot-active{background:var(--teal);transform:scale(1.4);}

@media(max-width:1000px){.tmn-section{padding:48px 24px;}}
@media(max-width:600px){
  .tmn-quote{font-size:15px;line-height:1.7;}
  .tmn-avatar{width:36px;height:36px;font-size:15px;}
  .tmn-attr-text{font-size:13px;}
}

/* ===== PoS TEST page — module panel screenshot (framed like the gallery) ===== */
.mpanel-shot{margin-top:16px;background:var(--bg-panel);border:1px solid var(--b);border-radius:16px;overflow:hidden;}
.mpanel-shot-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg-dp);border-bottom:1px solid var(--b-lt);}
.mpanel-shot-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.16);}
.mpanel-shot-dot:nth-child(1){background:#e8807a;}
.mpanel-shot-dot:nth-child(2){background:#e8c030;}
.mpanel-shot-dot:nth-child(3){background:#68d448;}
.mpanel-shot-img{width:100%;height:auto;display:block;}

.btn-connect:hover::after{transform:translateX(4px);}

/* ===== Option B test layout (optb-) ===== */
.optb-body{display:flex;gap:0;align-items:stretch;border-top:1px solid var(--b-lt);}
.optb-grid-col{flex:1;border-right:1px solid var(--b-lt);}
.optb-img-col{width:380px;flex-shrink:0;overflow:hidden;}
.optb-img-col img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== Option C test layout (optc-) ===== */
.optc-hero-wrap{position:relative;border-radius:16px 16px 0 0;overflow:hidden;}
.optc-hero{position:relative;max-height:320px;overflow:hidden;}
.optc-hero img{width:100%;height:320px;object-fit:cover;display:block;border-radius:0;}
.optc-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.18) 0%,rgba(10,26,16,0.82) 100%);}
.optc-hero-meta{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;}
.optc-hero-meta *{pointer-events:auto;}
.optc-breadcrumb{padding:24px 48px;}
.optc-hero-content{padding:32px 48px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
.postid-179 .cases-hero{display:none;}
.postid-176 .cases-hero{display:none;}


/* --- Solution page hero image (page ID 15 override) --- */
.solution-hero-img { width: 100%; height: auto; border-radius: 16px; }


/* ===== CF7 Contact Form — Dropdown + Submission UX ===== */

.wpcf7-spinner-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:9999;align-items:center;justify-content:center;}
.wpcf7-spinner-overlay.active{display:flex;}
.wpcf7-spinner-box{background:#0d2a1f;border:1px solid #3dcfaf;border-radius:12px;padding:28px 40px;color:#fff;font-family:var(--ff);font-size:15px;text-align:center;}
.wpcf7-spinner-dot{width:32px;height:32px;border:3px solid rgba(61,207,175,0.2);border-top-color:#3dcfaf;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px;}
@keyframes spin{to{transform:rotate(360deg);}}
.wpcf7 .wpcf7-response-output{font-size:15px!important;padding:14px 20px!important;margin-top:16px!important;border-radius:8px!important;font-weight:600!important;text-align:center!important;}
.dscf7-captcha-container{background:#0d2a1f!important;border:1px solid rgba(61,207,175,0.25)!important;border-radius:8px!important;}
.dscf7-captcha-container .dscf7_question_text{color:#fff!important;}
.dscf7-captcha-container span.wpcf7-form-control-wrap input{background:#132d1f!important;border-color:rgba(61,207,175,0.3)!important;color:#fff!important;}
.dscf7-captcha-container .dscf7_svg_wrap svg{background:#fff;border-color:#fff;}


/* ===== FIX — Deployment section text width ===== */
.fam-section{padding-bottom:32px!important;}
.hosting-section .section-head{max-width:none!important;width:100%!important;}
.hosting-section .section-head .section-title{font-size:36px!important;}
.hosting-section .section-head .section-sub{max-width:none!important;width:100%!important;}

/* ===== Hosting & Deployment page — page-hosting.php ===== */
.erp-hero-visual > svg{width:100%;height:auto;}
.fstrip-ic--0{background:color-mix(in srgb,#3dcfaf 10%,transparent);border:1px solid color-mix(in srgb,#3dcfaf 22%,transparent);}
.fstrip-ic--1{background:color-mix(in srgb,#e8c030 10%,transparent);border:1px solid color-mix(in srgb,#e8c030 22%,transparent);}
.fstrip-ic--2{background:color-mix(in srgb,#5890e8 10%,transparent);border:1px solid color-mix(in srgb,#5890e8 22%,transparent);}
.fstrip-ic--3{background:color-mix(in srgb,#c870e0 10%,transparent);border:1px solid color-mix(in srgb,#c870e0 22%,transparent);}

/* ── Deployment Options Strip ── */
.deploy-options-strip{padding:40px 64px;}
.deploy-options-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;background:rgba(61,207,175,0.04);border:1px solid rgba(61,207,175,0.12);border-radius:16px;padding:32px 40px;}
.deploy-options-text .sec-lbl{margin-bottom:10px;}
.deploy-options-para{font-size:14px;color:var(--txt-s);line-height:1.6;max-width:600px;margin:0;}
@media(max-width:900px){.deploy-options-inner{flex-direction:column;align-items:flex-start;gap:20px;}.deploy-options-strip{padding:32px 32px;}}
@media(max-width:600px){.deploy-options-strip{padding:24px 16px;}.deploy-options-inner{padding:24px;}}

/* ── Integrations & Connectivity ── */
.integ-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;padding:0 64px 64px;}
.integ-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:32px;}
.integ-card-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;}
.integ-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;font-size:14px;color:var(--txt-s);line-height:1.5;}
.integ-item-check{width:18px;height:18px;flex-shrink:0;margin-top:1px;}
.integ-intro-wrap{padding:0 64px;margin-bottom:8px;}
.integ-intro-text{font-size:15px;color:var(--txt-s);line-height:1.7;max-width:760px;margin:0 auto;text-align:center;}
@media(max-width:900px){.integ-grid{grid-template-columns:1fr;padding:0 32px 48px;}.integ-intro-wrap{padding:0 32px;}}
@media(max-width:600px){.integ-grid{padding:0 16px 40px;}.integ-intro-wrap{padding:0 16px;}}
.integ-card-lbl--teal{color:#3dcfaf;}
.integ-card-lbl--amber{color:#e8c030;}
.integ-card-lbl--green{color:#68d448;}
.integ-card-lbl--blue{color:#5890e8;}
.erp-hero-svg{width:100%;height:auto;}
