/* ==========================================================================
   EMAction marketing site — shared stylesheet.
   Scoping: class names .nav / .nav-inner / .footer / .footer-inner are
   styled differently on the homepage (full fixed nav) vs legal pages
   (minimal static bar), so those selectors are namespaced under body
   classes .page-home / .page-legal.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root{
  --navy:#01184C;
  --navy-deep:#011035;
  --navy-darkest:#000B24;
  --navy-light:#4A6A96;
  --accent:#1D6DB5;
  --accent-glow:#5BB5FF;
  --green:#34C77B;
  --amber:#F5A623;
  --sky:#4DA6FF;
  --surface:#F4F5F7;
  --white:#FFFFFF;
  --text:#000B24;
  --text-muted:#4A6A96;
  --radius:16px;
  --radius-sm:10px;
}

/* ---------- Reset + baseline ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Layout containers ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-wide{max-width:1400px;margin:0 auto;padding:0 24px}

/* =========================================================================
   FULL NAV (fixed, blur) — homepage, industries, product, compliance
   Unscoped so every page carrying the 'full' nav variant inherits these
   styles. Legal pages use .page-legal overrides below, which win on
   specificity (.page-legal .nav > .nav). Active-state styling uses the
   [aria-current="page"] attribute set by partials/nav.php.
   ========================================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:16px 0;
  background:rgba(0,11,36,0.85);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:all 0.3s ease;
}
.nav.scrolled{padding:10px 0;background:rgba(0,11,36,0.95)}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1400px;margin:0 auto;padding:0 24px;
}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img{height:34px}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{
  color:rgba(255,255,255,0.7);text-decoration:none;
  font-size:14px;font-weight:500;letter-spacing:0.5px;transition:color 0.2s;
}
.nav-links a:hover{color:var(--white)}
.nav-links a[aria-current="page"]{
  color:var(--white);
  box-shadow:inset 0 -2px 0 0 var(--accent-glow);
  padding-bottom:2px;
}

/* Dropdown — pure-CSS, no JS. The .nav-dropdown wrapper extends its hover
   zone downward via padding-bottom so the pointer can travel from the
   trigger to the submenu without leaving the hover region. The negative
   margin cancels the visual expansion so nav-row height is unchanged. */
.nav-dropdown{position:relative;padding-bottom:14px;margin-bottom:-14px}
.nav-dropdown > a{
  display:inline-flex;align-items:center;gap:6px;
}
.nav-caret{
  transition:transform 0.2s ease;
  opacity:0.7;
}
.nav-dropdown:hover .nav-caret,
.nav-dropdown:focus-within .nav-caret{
  transform:rotate(180deg);opacity:1;
}
.nav-submenu{
  position:absolute;top:100%;left:0;
  list-style:none;margin:0;padding:8px 0;
  min-width:260px;
  background:rgba(0,11,36,0.98);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  box-shadow:0 20px 40px rgba(0,0,0,0.35);
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index:101;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu{
  opacity:1;visibility:visible;transform:translateY(0);
}
.nav-submenu a{
  display:block;
  padding:10px 18px;
  font-size:13px;font-weight:500;letter-spacing:0.3px;
  color:rgba(255,255,255,0.75);
  text-decoration:none;
  transition:background 0.15s ease, color 0.15s ease;
}
.nav-submenu a:hover,
.nav-submenu a:focus{
  background:rgba(29,109,181,0.15);
  color:var(--white);
  outline:none;
}
.nav-submenu a[aria-current="page"]{
  color:var(--white);
  background:rgba(29,109,181,0.12);
  box-shadow:inset 3px 0 0 0 var(--accent-glow);
}
.nav-cta{
  background:var(--accent);color:var(--white)!important;
  padding:10px 24px;border-radius:8px;font-weight:600;
  transition:background 0.2s,transform 0.2s;
}
.nav-cta:hover{background:var(--accent-glow);transform:translateY(-1px)}
.nav-parent{
  display:inline-flex;align-items:center;
  padding-left:20px;margin-left:4px;
  border-left:1px solid rgba(255,255,255,0.12);
  opacity:0.85;transition:opacity 0.2s;
}
.nav-parent:hover{opacity:1}
.nav-parent img{height:34px;display:block}
.nav-mobile{display:none;background:none;border:none;cursor:pointer}
.nav-mobile svg{width:28px;height:28px;color:var(--white)}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background:var(--navy-darkest) url('https://cdn.prod.website-files.com/68902e712b8399631fda3288/6890e5210ab2f932cc2ee776_Excorp_Hero.webp') center center/cover no-repeat fixed;
  overflow:hidden;padding-top:80px;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,11,36,0.92) 0%,rgba(0,11,36,0.82) 40%,rgba(0,11,36,0.7) 100%);
}
.hero-grid-bg{display:none}
.hero-content{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;
}
.hero-text{padding:40px 0}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(29,109,181,0.12);border:1px solid rgba(29,109,181,0.25);
  padding:6px 16px;border-radius:100px;
  font-size:12px;font-weight:600;color:var(--accent-glow);
  letter-spacing:1px;text-transform:uppercase;
  margin-bottom:28px;animation:fadeUp 0.8s ease both;
}
.hero-badge::before{
  content:'';width:6px;height:6px;background:var(--accent-glow);
  border-radius:50%;animation:pulse-dot 2s ease infinite;
}
@keyframes pulse-dot{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.5;transform:scale(1.5)}
}
.hero h1{
  font-size:clamp(40px,5vw,64px);font-weight:700;line-height:1.08;
  color:var(--white);letter-spacing:-1.5px;margin-bottom:24px;
  animation:fadeUp 0.8s ease 0.1s both;
}
.hero h1 .accent{color:var(--accent-glow)}
.hero-sub{
  font-size:18px;line-height:1.7;color:rgba(255,255,255,0.6);
  max-width:520px;margin-bottom:40px;
  animation:fadeUp 0.8s ease 0.2s both;
}
.hero-actions{
  display:flex;gap:16px;flex-wrap:wrap;
  animation:fadeUp 0.8s ease 0.3s both;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:var(--radius-sm);
  font-family:inherit;font-size:15px;font-weight:600;
  text-decoration:none;cursor:pointer;border:none;
  transition:all 0.25s ease;
}
.btn-primary{
  background:var(--accent);color:var(--white);
  box-shadow:0 4px 20px rgba(29,109,181,0.3);
}
.btn-primary:hover{
  background:var(--accent-glow);
  box-shadow:0 6px 30px rgba(29,109,181,0.4);
  transform:translateY(-2px);
}
.btn-outline{
  background:transparent;color:var(--white);
  border:1.5px solid rgba(255,255,255,0.2);
}
.btn-outline:hover{
  border-color:rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.05);
}

/* ---------- Hero screenshot + stats ---------- */
.hero-screenshot{position:relative;animation:fadeUp 1s ease 0.4s both}
.hero-screenshot img{
  width:100%;border-radius:var(--radius);
  box-shadow:0 40px 80px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06);
}
.hero-stats{
  display:flex;gap:40px;margin-top:48px;padding-top:32px;
  border-top:1px solid rgba(255,255,255,0.08);
  animation:fadeUp 0.8s ease 0.4s both;
}
.hero-stat-value{
  font-size:28px;font-weight:700;color:var(--white);
  font-family:'JetBrains Mono',monospace;
}
.hero-stat-label{font-size:13px;color:rgba(255,255,255,0.4);margin-top:4px}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}

/* =========================================================================
   COMPLIANCE BAR
   ========================================================================= */
.compliance-bar{
  background:var(--navy-deep);
  border-top:1px solid rgba(255,255,255,0.05);
  border-bottom:1px solid rgba(255,255,255,0.05);
  padding:24px 0;
}
.compliance-inner{
  display:flex;align-items:center;justify-content:center;
  gap:48px;flex-wrap:wrap;
}
.compliance-item{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:rgba(255,255,255,0.45);font-weight:500;
}
.compliance-item svg{width:18px;height:18px;opacity:0.6;color:var(--green)}

/* =========================================================================
   SECTIONS
   ========================================================================= */
.section{padding:120px 0}
.section-dark{background:var(--navy-darkest);color:var(--white)}
.section-alt{background:var(--surface)}
.section-label{
  font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;
}
.section-dark .section-label{color:var(--accent-glow)}
.section-title{
  font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.15;
  letter-spacing:-1px;margin-bottom:20px;
}
.section-sub{
  font-size:17px;line-height:1.7;color:var(--text-muted);max-width:600px;
}
.section-dark .section-sub{color:rgba(255,255,255,0.5)}
.section-header{margin-bottom:64px}
.section-header.center{text-align:center}
.section-header.center .section-sub{margin:0 auto}

/* =========================================================================
   FEATURE CARDS
   ========================================================================= */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-card{
  background:var(--white);border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--radius);padding:36px 32px;
  transition:all 0.3s ease;
}
.feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.08);
  border-color:rgba(0,0,0,0.1);
}
.feature-icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;font-size:22px;
}
.feature-icon.red{background:rgba(29,109,181,0.1)}
.feature-icon.green{background:rgba(52,199,123,0.1)}
.feature-icon.blue{background:rgba(77,166,255,0.1)}
.feature-icon.amber{background:rgba(245,166,35,0.1)}
.feature-icon.navy{background:rgba(1,24,76,0.1)}
.feature-card h3{font-size:18px;font-weight:700;margin-bottom:10px}
.feature-card p{font-size:14px;line-height:1.7;color:var(--text-muted)}

/* =========================================================================
   AI SECTION
   ========================================================================= */
.ai-section{
  position:relative;overflow:hidden;
  background:var(--navy-darkest) url('https://cdn.prod.website-files.com/68902e712b8399631fda3288/6890e5210ab2f932cc2ee776_Excorp_Hero.webp') center center/cover no-repeat fixed;
}
.ai-section::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,11,36,0.85) 0%,rgba(0,11,36,0.7) 50%,rgba(0,11,36,0.85) 100%);
}
.ai-section>.container{position:relative;z-index:1}
.ai-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
  position:relative;z-index:1;
}
.ai-card{
  border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius);
  padding:36px 32px;background:rgba(255,255,255,0.03);
  backdrop-filter:blur(10px);transition:all 0.3s ease;
  position:relative;overflow:hidden;
}
.ai-card:hover{
  background:rgba(255,255,255,0.06);
  border-color:rgba(29,109,181,0.2);
  transform:translateY(-2px);
}
.ai-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent-glow),transparent);
  opacity:0;transition:opacity 0.3s;
}
.ai-card:hover::before{opacity:1}
.ai-priority{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;padding:3px 10px;border-radius:4px;
  margin-bottom:16px;
}
.ai-priority.high{background:rgba(29,109,181,0.15);color:var(--accent-glow)}
.ai-priority.medium{background:rgba(245,166,35,0.15);color:var(--amber)}
.ai-card h3{font-size:18px;font-weight:700;color:var(--white);margin-bottom:10px}
.ai-card p{font-size:14px;line-height:1.7;color:rgba(255,255,255,0.5)}
.ai-card .ai-icon{font-size:28px;margin-bottom:16px;display:block}
.ai-highlight{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;
  gap:48px;align-items:center;padding:48px;
  background:linear-gradient(135deg,rgba(29,109,181,0.08) 0%,rgba(1,24,76,0.12) 100%);
  border-color:rgba(29,109,181,0.15);
}
.ai-highlight:hover{border-color:rgba(29,109,181,0.3)}
.ai-highlight-img{
  border-radius:var(--radius-sm);overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,0.3);
}
.ai-highlight-img img{width:100%;display:block}

/* =========================================================================
   SHOWCASE GRID
   ========================================================================= */
.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.showcase-item{
  border-radius:var(--radius);overflow:hidden;
  border:1px solid rgba(0,0,0,0.08);background:var(--white);
  transition:all 0.3s ease;
}
.showcase-item:hover{
  box-shadow:0 20px 60px rgba(0,0,0,0.1);
  transform:translateY(-4px);
}
.showcase-item img{width:100%;display:block}
.showcase-caption{padding:20px 24px}
.showcase-caption h4{font-size:16px;font-weight:700;margin-bottom:4px}
.showcase-caption p{font-size:13px;color:var(--text-muted);line-height:1.6}

/* =========================================================================
   INDUSTRIES
   ========================================================================= */
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.industry-card{
  text-align:center;padding:40px 24px;border-radius:var(--radius);
  border:1px solid rgba(0,0,0,0.06);background:var(--white);
  transition:all 0.3s ease;position:relative;overflow:hidden;
}
.industry-card:hover{
  border-color:var(--accent);
  box-shadow:0 12px 32px rgba(29,109,181,0.1);
  transform:translateY(-4px);
}
.industry-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--accent);transform:scaleX(0);transition:transform 0.3s ease;
}
.industry-card:hover::after{transform:scaleX(1)}
.industry-icon{font-size:36px;margin-bottom:16px;display:block}
.industry-card h4{font-size:15px;font-weight:700;margin-bottom:6px}
.industry-card p{font-size:12px;color:var(--text-muted);line-height:1.6}

/* =========================================================================
   HOW-IT-WORKS STEPS
   ========================================================================= */
.steps-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative;
}
.steps-grid::before{
  content:'';position:absolute;top:32px;left:12%;right:12%;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--navy-light),var(--green));
  opacity:0.2;
}
.step-card{text-align:center;position:relative}
.step-num{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;
  margin:0 auto 20px;position:relative;z-index:1;
}
.step-num.s1{background:var(--accent);color:var(--white)}
.step-num.s2{background:var(--navy);color:var(--white)}
.step-num.s3{background:var(--sky);color:var(--white)}
.step-num.s4{background:var(--green);color:var(--white)}
.step-card h4{font-size:16px;font-weight:700;margin-bottom:8px}
.step-card p{
  font-size:13px;color:var(--text-muted);line-height:1.6;
  max-width:220px;margin:0 auto;
}

/* =========================================================================
   STANDARDS SECTION
   ========================================================================= */
.standards-section{background:var(--navy-deep);padding:80px 0}
.standards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.standard-card{
  padding:32px;border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius);background:rgba(255,255,255,0.03);
}
.standard-card h4{
  font-size:16px;font-weight:700;color:var(--white);margin-bottom:8px;
}
.standard-card .code{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  color:var(--accent-glow);margin-bottom:12px;display:block;
}
.standard-card p{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.45)}

/* =========================================================================
   CONTACT / DEMO FORM
   ========================================================================= */
.contact-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;
}
.demo-form{display:flex;flex-direction:column;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{
  font-size:12px;font-weight:600;letter-spacing:0.5px;
  color:rgba(255,255,255,0.5);text-transform:uppercase;
}
.form-group input,.form-group select,.form-group textarea{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);border-radius:8px;
  padding:12px 14px;font-family:inherit;font-size:14px;
  color:var(--white);transition:border-color 0.2s,background 0.2s;
  outline:none;width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:var(--accent);background:rgba(255,255,255,0.08);
}
.form-group input::placeholder,
.form-group textarea::placeholder{color:rgba(255,255,255,0.25)}
.form-group select option{background:var(--navy-deep);color:var(--white)}
.form-group textarea{resize:vertical;min-height:80px}
.contact-info-side{
  display:flex;flex-direction:column;gap:36px;padding-top:8px;
}
.contact-info-block h3{
  font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--accent-glow);margin-bottom:20px;
}
.contact-item{
  display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;
  color:rgba(255,255,255,0.6);font-size:14px;line-height:1.7;
}
.contact-item svg{flex-shrink:0;margin-top:2px;color:rgba(255,255,255,0.35)}
.contact-item a{
  color:rgba(255,255,255,0.7);text-decoration:none;
  transition:color 0.2s;display:block;
}
.contact-item a:hover{color:var(--white)}
.contact-item div{display:flex;flex-direction:column}
.office-card{
  padding:20px;border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-sm);background:rgba(255,255,255,0.03);
  margin-bottom:12px;
}
.office-card h4{
  font-size:15px;font-weight:700;color:var(--white);margin-bottom:8px;
}
.office-card p{
  font-size:13px;color:rgba(255,255,255,0.45);line-height:1.7;
}

/* =========================================================================
   HOMEPAGE FOOTER (full)
   ========================================================================= */
.page-home .footer{
  background:var(--navy-darkest);
  border-top:1px solid rgba(255,255,255,0.06);
  padding:48px 0;
}
.page-home .footer-inner{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
}
.page-home .footer-brand{display:flex;align-items:center;gap:16px}
.page-home .footer-links{display:flex;gap:24px}
.page-home .footer-links a{
  font-size:13px;color:rgba(255,255,255,0.35);
  text-decoration:none;transition:color 0.2s;
}
.page-home .footer-links a:hover{color:rgba(255,255,255,0.7)}

/* =========================================================================
   LEGAL PAGES — nav / content / footer (minimal)
   ========================================================================= */
.page-legal .nav{
  background:var(--navy-darkest);
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.page-legal .nav-inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.page-legal .nav-logo{
  display:flex;align-items:center;gap:12px;text-decoration:none;
}
.page-legal .nav-logo img{height:34px} /* kept in sync with .nav-logo img */
.page-legal .nav-back{
  color:rgba(255,255,255,0.6);text-decoration:none;
  font-size:14px;font-weight:500;transition:color 0.2s;
}
.page-legal .nav-back:hover{color:var(--white)}

.page-legal .content{
  max-width:800px;margin:0 auto;padding:64px 24px 120px;
}
.page-legal .content h1{
  font-size:36px;font-weight:700;letter-spacing:-0.5px;margin-bottom:8px;
}
.page-legal .content .updated{
  font-size:13px;color:var(--text-muted);margin-bottom:48px;
}
.page-legal .content h2{
  font-size:20px;font-weight:700;margin-top:40px;margin-bottom:12px;
  letter-spacing:-0.3px;
}
.page-legal .content p{
  font-size:15px;line-height:1.8;color:var(--text-muted);margin-bottom:16px;
}
.page-legal .content ul{padding-left:24px;margin-bottom:16px}
.page-legal .content li{
  font-size:15px;line-height:1.8;color:var(--text-muted);margin-bottom:4px;
}
.page-legal .content a{color:var(--accent)}

.page-legal .footer{
  background:var(--navy-darkest);padding:32px 0;
  border-top:1px solid rgba(255,255,255,0.06);
}
.page-legal .footer-inner{
  max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
}
.page-legal .footer-inner span{font-size:12px;color:rgba(255,255,255,0.3)}
.page-legal .footer-inner a{
  font-size:13px;color:rgba(255,255,255,0.35);
  text-decoration:none;transition:color 0.2s;
}
.page-legal .footer-inner a:hover{color:rgba(255,255,255,0.7)}
.page-legal .footer-links{display:flex;gap:24px}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media(max-width:1024px){
  .hero,.ai-section{background-attachment:scroll}
  .hero-content{grid-template-columns:1fr;gap:48px}
  .hero-screenshot{max-width:700px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .ai-grid{grid-template-columns:1fr}
  .ai-highlight{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .steps-grid::before{display:none}
  .standards-grid{grid-template-columns:1fr}
  .showcase-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:48px}
}
@media(max-width:640px){
  .section{padding:80px 0}
  .feature-grid{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .hero-stats{gap:24px;flex-wrap:wrap}
  .nav-links{display:none}
  .nav-mobile{display:block}
  .hero-actions{flex-direction:column}
  .btn{justify-content:center}
  .form-row{grid-template-columns:1fr}
  .page-home .footer-inner{flex-direction:column;align-items:flex-start}
}

/* =========================================================================
   Homepage additions — Apr 2026
   New styles for the Site Terminology explainer band (section 10) and the
   'What EMAction is not' scope band (section 12). Tokens reused from the
   existing palette; no other selectors modified.
   ========================================================================= */

/* Site Terminology band — visually lighter than surrounding sections. */
.terminology-section{
  background:var(--white);
  padding:72px 0;
  border-top:1px solid rgba(0,0,0,0.04);
  border-bottom:1px solid rgba(0,0,0,0.04);
}
.terminology-section .section-header{margin-bottom:40px}
.terminology-table{
  max-width:760px;
  margin:0 auto;
  border-collapse:collapse;
  width:100%;
  font-size:14px;
}
.terminology-table th,
.terminology-table td{
  padding:12px 20px;
  border-bottom:1px solid rgba(0,0,0,0.06);
  text-align:left;
  vertical-align:top;
}
.terminology-table thead th{
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--text-muted);
  background:var(--surface);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.terminology-table tbody th{
  font-weight:600;
  color:var(--text);
  width:22%;
}
.terminology-table tbody td{color:var(--text-muted)}
.terminology-table tbody tr:last-child th,
.terminology-table tbody tr:last-child td{border-bottom:none}

/* What EMAction is not — muted scope band above the footer. */
.scope-band{
  background:var(--surface);
  padding:44px 0;
  border-top:1px solid rgba(0,0,0,0.06);
}
.scope-band .scope-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--text-muted);
  text-align:center;
  margin-bottom:24px;
}
.scope-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}
.scope-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:13px;
  color:var(--text-muted);
  line-height:1.6;
}
.scope-item svg{
  width:18px;
  height:18px;
  flex-shrink:0;
  color:var(--amber);
  margin-top:2px;
  opacity:0.85;
}
@media(max-width:1024px){
  .scope-list{grid-template-columns:1fr;gap:14px}
  .terminology-table{font-size:13px}
  .terminology-table th,
  .terminology-table td{padding:10px 14px}
}

/* =========================================================================
   Industry pages — shared — Apr 2026
   Layout for every /industries/* landing page. All rules scoped under
   body.page-industry so they cannot affect the homepage or legal pages.
   Nothing industry-specific (palette, hero image, terminology values) lives
   here — per-page differences go in the page's own markup.
   ========================================================================= */

/* ---------- Hero ---------- */
body.page-industry .industry-hero{
  position:relative;
  min-height:62vh;
  padding:160px 0 96px;
  display:flex;align-items:flex-end;
  color:var(--white);
  background:linear-gradient(180deg,var(--navy-darkest) 0%,var(--navy-deep) 100%);
  overflow:hidden;
}
body.page-industry .industry-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
body.page-industry .industry-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,11,36,0.92) 0%,rgba(0,11,36,0.82) 40%,rgba(0,11,36,0.7) 100%);
}
body.page-industry .industry-hero-content{
  position:relative;z-index:2;max-width:820px;
}
body.page-industry .industry-breadcrumb{
  font-size:13px;color:rgba(255,255,255,0.5);
  margin-bottom:22px;letter-spacing:0.2px;
}
body.page-industry .industry-breadcrumb a{
  color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s;
}
body.page-industry .industry-breadcrumb a:hover{color:var(--white)}
body.page-industry .industry-breadcrumb .sep{margin:0 8px;opacity:0.45}
body.page-industry .industry-breadcrumb .current{
  color:rgba(255,255,255,0.85);font-weight:500;
}
body.page-industry .industry-hero h1{
  font-size:clamp(36px,4.5vw,56px);font-weight:700;line-height:1.1;
  letter-spacing:-1.2px;margin-bottom:20px;color:var(--white);
}
body.page-industry .industry-hero-sub{
  font-size:18px;line-height:1.65;color:rgba(255,255,255,0.72);
  max-width:640px;margin-bottom:36px;
}

/* ---------- Pain points ---------- */
body.page-industry .industry-painpoints{
  background:var(--white);padding:96px 0;
}
body.page-industry .painpoints-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
body.page-industry .painpoint-card{
  background:var(--white);border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--radius);padding:28px;
  transition:all 0.25s ease;
}
body.page-industry .painpoint-card:hover{
  border-color:rgba(0,0,0,0.12);
  box-shadow:0 14px 32px rgba(0,0,0,0.06);
  transform:translateY(-2px);
}
body.page-industry .painpoint-card h3{
  font-size:16px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-industry .painpoint-card p{
  font-size:14px;line-height:1.65;color:var(--text-muted);
}

/* ---------- Compliance band (4-column override of standards-grid) ---------- */
body.page-industry .industry-compliance{
  background:var(--navy-deep);padding:96px 0;color:var(--white);
}
body.page-industry .industry-compliance .section-title{color:var(--white)}
body.page-industry .industry-compliance .section-sub{color:rgba(255,255,255,0.5)}
body.page-industry .industry-compliance-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;
}

/* ---------- Feature emphasis blocks ---------- */
body.page-industry .industry-features{
  background:var(--surface);padding:96px 0;
}
body.page-industry .industry-feature-list{
  display:grid;grid-template-columns:repeat(2,1fr);gap:36px 48px;
  max-width:1100px;margin:0 auto;
}
body.page-industry .industry-feature{
  padding-top:22px;border-top:1px solid rgba(0,0,0,0.1);
}
body.page-industry .industry-feature h3{
  font-size:18px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-industry .industry-feature p{
  font-size:14px;line-height:1.7;color:var(--text-muted);margin-bottom:12px;
}
body.page-industry .industry-feature .learn-more{
  font-size:13px;font-weight:600;color:var(--accent);
  text-decoration:none;letter-spacing:0.2px;
  transition:color 0.2s;
}
body.page-industry .industry-feature .learn-more:hover{color:var(--accent-glow)}

/* ---------- Scenario ---------- */
body.page-industry .industry-scenario{
  background:var(--navy-darkest);color:var(--white);padding:96px 0;
}
body.page-industry .industry-scenario .container{max-width:780px}
body.page-industry .industry-scenario h2{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(28px,3.5vw,40px);font-weight:700;
  letter-spacing:-0.5px;margin-bottom:36px;color:var(--white);
}
body.page-industry .industry-scenario p{
  font-size:17px;line-height:1.85;color:rgba(255,255,255,0.72);
  margin-bottom:22px;
}
body.page-industry .industry-scenario p:last-child{margin-bottom:0}

/* ---------- CTA band ---------- */
body.page-industry .industry-cta{
  background:var(--accent);color:var(--white);padding:72px 0;
  text-align:center;
}
body.page-industry .industry-cta h2{
  font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.35;
  letter-spacing:-0.3px;max-width:860px;margin:0 auto 18px;color:var(--white);
}
body.page-industry .industry-cta p{
  font-size:16px;color:rgba(255,255,255,0.88);
  max-width:640px;margin:0 auto 30px;line-height:1.6;
}
body.page-industry .industry-cta .btn-primary{
  background:var(--white);color:var(--accent);box-shadow:none;
}
body.page-industry .industry-cta .btn-primary:hover{
  background:rgba(255,255,255,0.92);color:var(--navy-deep);
  box-shadow:0 6px 24px rgba(0,0,0,0.2);transform:translateY(-2px);
}

/* ---------- Related ---------- */
body.page-industry .industry-related{
  background:var(--surface);padding:72px 0;
}
body.page-industry .industry-related .section-label{color:var(--text-muted)}
body.page-industry .related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
body.page-industry .related-card{
  background:var(--white);border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--radius-sm);padding:22px 24px;
  text-decoration:none;color:var(--text);display:block;
  transition:all 0.25s ease;
}
body.page-industry .related-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(29,109,181,0.08);
  transform:translateY(-2px);
}
body.page-industry .related-card h4{
  font-size:15px;font-weight:700;margin-bottom:6px;letter-spacing:-0.2px;
}
body.page-industry .related-card p{
  font-size:13px;line-height:1.6;color:var(--text-muted);
}
body.page-industry .related-card .arrow{
  color:var(--accent);margin-left:6px;
  transition:margin-left 0.2s;
  display:inline-block;
}
body.page-industry .related-card:hover .arrow{margin-left:10px}

/* ---------- Industry-page responsive ---------- */
@media(max-width:1024px){
  body.page-industry .industry-hero{min-height:50vh;padding:140px 0 64px}
  body.page-industry .industry-painpoints,
  body.page-industry .industry-compliance,
  body.page-industry .industry-features,
  body.page-industry .industry-scenario{padding:72px 0}
  body.page-industry .painpoints-grid{grid-template-columns:repeat(2,1fr)}
  body.page-industry .industry-compliance-grid{grid-template-columns:repeat(2,1fr)}
  body.page-industry .industry-feature-list{grid-template-columns:1fr}
  body.page-industry .related-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body.page-industry .painpoints-grid{grid-template-columns:1fr}
  body.page-industry .industry-compliance-grid{grid-template-columns:1fr}
  body.page-industry .industry-hero{padding:120px 0 56px}
}

/* ---------- Variants used by individual industry pages ----------
   Sibling pages add a modifier class to existing shared elements when the
   content shape deviates (e.g. office's three-card compliance surface, or
   office's "this is the default" explainer instead of a swap table). */

/* Three-card compliance grid — used when an industry surfaces 3 rather
   than 4 compliance angles (office.php). */
body.page-industry .industry-compliance-grid.three-col{
  grid-template-columns:repeat(3,1fr);
}
@media(max-width:1024px){
  body.page-industry .industry-compliance-grid.three-col{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  body.page-industry .industry-compliance-grid.three-col{
    grid-template-columns:1fr;
  }
}

/* Default-terminology explainer — used when the industry IS the platform
   default (office), so a swap table is redundant. Renders a single centred
   paragraph with a follow-up link inside the existing .terminology-section
   wrapper. */
body.page-industry .terminology-default{
  max-width:640px;margin:0 auto;text-align:center;
}
body.page-industry .terminology-default p{
  font-size:16px;line-height:1.75;color:var(--text-muted);margin-bottom:18px;
}
body.page-industry .terminology-default a{
  color:var(--accent);font-weight:600;text-decoration:none;
  font-size:14px;letter-spacing:0.2px;transition:color 0.2s;
}
body.page-industry .terminology-default a:hover{color:var(--accent-glow)}

/* Five-card compliance grid — used when an industry surfaces 5 compliance
   angles (education.php: AS 3745, State DET, ACECQA, TEQSA/ASQA, WHS).
   The default 4-col grid leaves a 4+1 orphan wrap; this variant lays all
   five on a single row at desktop and collapses progressively on narrower
   viewports. Slightly smaller gap so the row fits comfortably. */
body.page-industry .industry-compliance-grid.five-card{
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}
@media(max-width:1024px){
  body.page-industry .industry-compliance-grid.five-card{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  body.page-industry .industry-compliance-grid.five-card{
    grid-template-columns:1fr;
  }
}

/* Adjacency-page mapping band — two columns that pair row-by-row. Used
   by /industries/rail, /industries/industrial, /industries/hotels to show
   "you are running X / EMAction's model fits because Y". Generic — never
   rail-specific in CSS. */
body.page-industry .adjacency-mapping{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  max-width:1000px;
  margin:0 auto;
}
body.page-industry .adjacency-mapping-col h3{
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:12px;
}
body.page-industry .adjacency-mapping-item{
  padding:18px 0;
  border-top:1px solid rgba(0,0,0,0.08);
  font-size:15px;
  line-height:1.65;
  color:var(--text);
}
body.page-industry .adjacency-mapping-col .adjacency-mapping-item:last-child{
  border-bottom:1px solid rgba(0,0,0,0.08);
}
@media(max-width:1024px){
  body.page-industry .adjacency-mapping{
    grid-template-columns:1fr;
    gap:8px;
    max-width:640px;
  }
  body.page-industry .adjacency-mapping-col:not(:first-child) h3{
    margin-top:20px;
  }
}

/* Adjacency-page honest-framing band — navy-deep background, narrow
   centred column of prose. Used by adjacency pages to scope what the
   product is and is not for this industry. Subdued vs .industry-scenario
   (which is navy-darkest); this one uses navy-deep so it reads as a
   clarifying aside rather than a dramatic beat. */
body.page-industry .adjacency-framing{
  background:var(--navy-deep);
  color:var(--white);
  padding:96px 0;
}
body.page-industry .adjacency-framing .container{max-width:780px}
body.page-industry .adjacency-framing h2{
  font-size:clamp(26px,3vw,36px);
  font-weight:700;
  letter-spacing:-0.4px;
  color:var(--white);
  margin-bottom:32px;
}
body.page-industry .adjacency-framing p{
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,0.72);
  margin-bottom:22px;
}
body.page-industry .adjacency-framing p:last-child{margin-bottom:0}
@media(max-width:1024px){
  body.page-industry .adjacency-framing{padding:72px 0}
}

/* =========================================================================
   Product pages — shared — Apr 2026
   Layout for /product/* deep-dive pages. Scoped under body.page-product so
   rules cannot leak to homepage, legal or industry pages. Generic helper
   classes (.scope-band from homepage, .standard-card) are reused where
   appropriate; anything product-specific is prefixed .product-*.
   ========================================================================= */

/* ---------- Hero ---------- */
body.page-product .product-hero{
  position:relative;
  min-height:56vh;
  padding:160px 0 88px;
  display:flex;align-items:flex-end;
  color:var(--white);
  background:linear-gradient(180deg,var(--navy-darkest) 0%,var(--navy-deep) 100%);
  overflow:hidden;
}
body.page-product .product-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
body.page-product .product-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,11,36,0.92) 0%,rgba(0,11,36,0.82) 40%,rgba(0,11,36,0.7) 100%);
}
body.page-product .product-hero-content{
  position:relative;z-index:2;max-width:820px;
}
body.page-product .product-breadcrumb{
  font-size:13px;color:rgba(255,255,255,0.5);
  margin-bottom:22px;letter-spacing:0.2px;
}
body.page-product .product-breadcrumb a{
  color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s;
}
body.page-product .product-breadcrumb a:hover{color:var(--white)}
body.page-product .product-breadcrumb .sep{margin:0 8px;opacity:0.45}
body.page-product .product-breadcrumb .current{
  color:rgba(255,255,255,0.85);font-weight:500;
}
body.page-product .product-hero h1{
  font-size:clamp(36px,4.5vw,56px);font-weight:700;line-height:1.1;
  letter-spacing:-1.2px;margin-bottom:20px;color:var(--white);
}
body.page-product .product-hero-sub{
  font-size:18px;line-height:1.65;color:rgba(255,255,255,0.72);
  max-width:680px;margin-bottom:36px;
}
body.page-product .product-hero-actions{
  display:flex;gap:12px;flex-wrap:wrap;
}
body.page-product .product-hero-actions .btn-outline{
  color:var(--white);border-color:rgba(255,255,255,0.25);
}
body.page-product .product-hero-actions .btn-outline:hover{
  border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.05);
}

/* ---------- Table of contents — static grid near top ---------- */
body.page-product .product-toc{
  background:var(--surface);
  padding:56px 0 40px;
  border-bottom:1px solid rgba(0,0,0,0.06);
}
body.page-product .product-toc-label{
  font-size:11px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--text-muted);
  margin-bottom:20px;
}
body.page-product .product-toc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0 32px;
}
body.page-product .product-toc-grid a{
  font-size:14px;color:var(--text);text-decoration:none;
  padding:9px 0;border-bottom:1px solid rgba(0,0,0,0.05);
  display:block;transition:color 0.2s;
}
body.page-product .product-toc-grid a:hover{color:var(--accent)}
@media(max-width:1024px){
  body.page-product .product-toc-grid{grid-template-columns:repeat(2,1fr)}
  body.page-product .product-toc{padding:40px 0 28px}
}
@media(max-width:640px){
  body.page-product .product-toc-grid{grid-template-columns:1fr}
}

/* ---------- Base-feature clusters ---------- */
body.page-product .product-features{
  background:var(--white);padding:0;
}
body.page-product .product-feature-cluster{
  padding:72px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-product .product-feature-cluster:first-of-type{border-top:none;padding-top:96px}
body.page-product .product-feature-cluster h2{
  font-size:clamp(24px,2.6vw,32px);
  font-weight:700;letter-spacing:-0.5px;
  margin-bottom:16px;color:var(--text);
  scroll-margin-top:24px;
}
body.page-product .product-feature-cluster .cluster-intro{
  font-size:16px;line-height:1.7;color:var(--text-muted);
  max-width:760px;margin-bottom:24px;
}
body.page-product .product-feature-cluster ul.cluster-list{
  list-style:none;padding:0;margin:0 0 24px;max-width:820px;
}
body.page-product .product-feature-cluster ul.cluster-list li{
  position:relative;padding:4px 0 4px 22px;
  font-size:15px;line-height:1.7;
  color:var(--text);
}
body.page-product .product-feature-cluster ul.cluster-list li::before{
  content:'';position:absolute;left:0;top:17px;
  width:10px;height:1px;background:var(--accent);
}
body.page-product .product-feature-cluster ul.cluster-list ul{
  list-style:none;padding:0;margin-top:6px;
}
body.page-product .product-feature-cluster ul.cluster-list ul li{
  font-size:14px;color:var(--text-muted);padding-left:22px;
}
body.page-product .product-feature-cluster ul.cluster-list ul li::before{
  top:16px;width:6px;background:var(--text-muted);opacity:0.5;
}
body.page-product .product-feature-screenshot{
  margin-top:28px;max-width:920px;
  border-radius:var(--radius);overflow:hidden;
  border:1px solid rgba(0,0,0,0.08);
  background:var(--white);
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}
body.page-product .product-feature-screenshot img{width:100%;display:block}
body.page-product .product-feature-screenshot .caption{
  font-size:13px;color:var(--text-muted);
  padding:12px 18px;border-top:1px solid rgba(0,0,0,0.06);
  background:var(--surface);
}

/* ---------- AI section ---------- */
body.page-product .product-ai{
  background:var(--surface);
  padding:96px 0 72px;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-product .product-ai-preamble{
  font-size:15px;line-height:1.7;
  color:var(--text);
  max-width:760px;
  padding:20px 24px;
  background:rgba(245,166,35,0.08);
  border-left:3px solid var(--amber);
  border-radius:4px;
  margin:0 0 56px;
}
body.page-product .product-ai-preamble strong{color:var(--text)}
body.page-product .product-ai .product-feature-cluster{
  padding:48px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-product .product-ai .product-feature-cluster:first-of-type{padding-top:0;border-top:none}
body.page-product .ai-example-quote{
  font-style:italic;
  padding:16px 22px;
  background:var(--white);
  border-left:3px solid var(--accent);
  color:var(--text-muted);
  margin:12px 0 20px;
  border-radius:4px;
  font-size:14px;
  line-height:1.65;
  max-width:820px;
}

/* ---------- Platform foundations ---------- */
body.page-product .product-foundations{
  background:var(--white);
  padding:96px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-product .product-subsection{
  padding:32px 0;
  border-top:1px solid rgba(0,0,0,0.06);
  max-width:880px;
}
body.page-product .product-subsection:first-of-type{border-top:none;padding-top:16px}
body.page-product .product-subsection h3{
  font-size:19px;font-weight:700;margin-bottom:12px;
  letter-spacing:-0.2px;color:var(--text);
  scroll-margin-top:24px;
}
body.page-product .product-subsection p,
body.page-product .product-subsection li{
  font-size:15px;line-height:1.7;
  color:var(--text-muted);
}
body.page-product .product-subsection p{margin-bottom:12px}
body.page-product .product-subsection ul{
  list-style:none;padding:0;margin:0 0 12px;
}
body.page-product .product-subsection ul li{
  position:relative;padding:2px 0 2px 22px;
}
body.page-product .product-subsection ul li::before{
  content:'';position:absolute;left:0;top:15px;
  width:10px;height:1px;background:var(--accent);
}
body.page-product .product-roles-table{
  width:100%;border-collapse:collapse;
  margin-top:18px;font-size:14px;
}
body.page-product .product-roles-table th,
body.page-product .product-roles-table td{
  padding:12px 16px;border-bottom:1px solid rgba(0,0,0,0.06);
  text-align:left;vertical-align:top;
}
body.page-product .product-roles-table thead th{
  font-size:11px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--text-muted);
  background:var(--surface);
  border-bottom:1px solid rgba(0,0,0,0.1);
}
body.page-product .product-roles-table tbody th{
  font-weight:600;color:var(--text);white-space:nowrap;width:32%;
}
body.page-product .product-roles-table tbody td{color:var(--text-muted)}

/* ---------- CTA ---------- */
body.page-product .product-cta{
  background:var(--accent);color:var(--white);padding:72px 0;
  text-align:center;
}
body.page-product .product-cta h2{
  font-size:clamp(26px,2.6vw,32px);font-weight:700;line-height:1.3;
  letter-spacing:-0.3px;max-width:820px;margin:0 auto 16px;color:var(--white);
}
body.page-product .product-cta p{
  font-size:16px;color:rgba(255,255,255,0.88);
  max-width:640px;margin:0 auto 28px;line-height:1.6;
}
body.page-product .product-cta .btn-primary{
  background:var(--white);color:var(--accent);box-shadow:none;
}
body.page-product .product-cta .btn-primary:hover{
  background:rgba(255,255,255,0.92);color:var(--navy-deep);
  box-shadow:0 6px 24px rgba(0,0,0,0.2);transform:translateY(-2px);
}

/* ---------- Related ---------- */
body.page-product .product-related{
  background:var(--surface);padding:72px 0;
}
body.page-product .product-related .section-label{color:var(--text-muted)}
body.page-product .product-related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
body.page-product .product-related-card{
  background:var(--white);border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--radius-sm);padding:22px 24px;
  text-decoration:none;color:var(--text);display:block;
  transition:all 0.25s ease;
}
body.page-product .product-related-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(29,109,181,0.08);
  transform:translateY(-2px);
}
body.page-product .product-related-card h4{
  font-size:15px;font-weight:700;margin-bottom:6px;letter-spacing:-0.2px;
}
body.page-product .product-related-card p{
  font-size:13px;line-height:1.6;color:var(--text-muted);
}
body.page-product .product-related-card .arrow{
  color:var(--accent);margin-left:6px;
  transition:margin-left 0.2s;display:inline-block;
}
body.page-product .product-related-card:hover .arrow{margin-left:10px}

/* ---------- Product-page responsive ---------- */
@media(max-width:1024px){
  body.page-product .product-hero{min-height:48vh;padding:140px 0 64px}
  body.page-product .product-feature-cluster{padding:56px 0}
  body.page-product .product-feature-cluster:first-of-type{padding-top:72px}
  body.page-product .product-ai{padding:72px 0 56px}
  body.page-product .product-ai .product-feature-cluster{padding:36px 0}
  body.page-product .product-foundations{padding:72px 0}
  body.page-product .product-related-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body.page-product .product-hero-actions{flex-direction:column;width:100%}
  body.page-product .product-hero-actions .btn{width:100%;justify-content:center}
}

/* ---------- Product page — addon modifiers ----------
   Lone Worker and Command pages carry an amber "Addon" pill near the hero
   H1 to distinguish them from the base-platform hero. Reused across both
   addon pages. */
body.page-product .product-addon-tag{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(245,166,35,0.12);
  border:1px solid rgba(245,166,35,0.32);
  padding:6px 16px;border-radius:100px;
  font-size:12px;font-weight:700;color:var(--amber);
  letter-spacing:1.5px;text-transform:uppercase;
  margin-bottom:20px;
}

/* ---------- Product scenario band — navy-darkest prose ----------
   Reusable narrative block. Mirrors .industry-scenario but scoped under
   body.page-product so it doesn't depend on industry CSS. Any future product
   page that needs a narrative beat can use this. */
body.page-product .product-scenario{
  background:var(--navy-darkest);color:var(--white);padding:96px 0;
}
body.page-product .product-scenario .container{max-width:780px}
body.page-product .product-scenario h2{
  font-size:clamp(28px,3.5vw,40px);font-weight:700;
  letter-spacing:-0.5px;margin-bottom:28px;color:var(--white);
}
body.page-product .product-scenario p{
  font-size:17px;line-height:1.8;color:rgba(255,255,255,0.72);
  margin-bottom:22px;
}
body.page-product .product-scenario p:last-child{margin-bottom:0}
@media(max-width:1024px){
  body.page-product .product-scenario{padding:72px 0}
}

/* ---------- Lone Worker — 5-step session flow ---------- */
body.page-product .lw-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
  margin-top:16px;
}
body.page-product .lw-step-num{
  width:44px;height:44px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;
  background:var(--accent);color:var(--white);
  margin-bottom:16px;
}
body.page-product .lw-step h4{
  font-size:15px;font-weight:700;margin-bottom:8px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-product .lw-step p{
  font-size:13px;line-height:1.65;color:var(--text-muted);
}
@media(max-width:1024px){
  body.page-product .lw-steps{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media(max-width:640px){
  body.page-product .lw-steps{grid-template-columns:1fr;gap:16px}
}

/* ---------- Lone Worker — escalation table ----------
   Six rows of escalation levels. Each row's left border picks up a severity
   token colour; at <=640px the table restructures to stacked cards (one per
   level) via display:block overrides and data-label pseudo-elements. */
body.page-product .lw-escalation{
  width:100%;max-width:1100px;margin:36px auto 0;
  border-collapse:collapse;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius);
  overflow:hidden;
}
body.page-product .lw-escalation th,
body.page-product .lw-escalation td{
  padding:14px 20px;
  font-size:14px;line-height:1.5;
  text-align:left;vertical-align:top;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
body.page-product .lw-escalation thead th{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.03);
  font-weight:700;
}
body.page-product .lw-escalation tbody th{
  font-weight:700;color:var(--white);
  white-space:nowrap;width:160px;
  border-left:4px solid transparent;
}
body.page-product .lw-escalation tbody td{color:rgba(255,255,255,0.72)}
body.page-product .lw-escalation tbody tr:last-child th,
body.page-product .lw-escalation tbody tr:last-child td{border-bottom:none}

/* Severity accents — existing tokens only */
body.page-product .lw-escalation tr.level-normal th{border-left-color:var(--green)}
body.page-product .lw-escalation tr.level-warning th{border-left-color:var(--amber)}
body.page-product .lw-escalation tr.level-call th{border-left-color:var(--amber)}
body.page-product .lw-escalation tr.level-alert th{border-left-color:var(--accent)}
body.page-product .lw-escalation tr.level-emergency th{border-left-color:var(--accent-glow)}
body.page-product .lw-escalation tr.level-incident th{border-left-color:var(--white)}

@media(max-width:640px){
  body.page-product .lw-escalation,
  body.page-product .lw-escalation tbody,
  body.page-product .lw-escalation tr,
  body.page-product .lw-escalation th,
  body.page-product .lw-escalation td{
    display:block;width:auto;
  }
  body.page-product .lw-escalation thead{display:none}
  body.page-product .lw-escalation tr{
    padding:16px 18px;
    border-left:4px solid transparent;
    border-bottom:1px solid rgba(255,255,255,0.06);
  }
  body.page-product .lw-escalation tbody th{
    padding:0 0 10px 0;width:auto;
    border-left:none;
    font-size:13px;letter-spacing:1px;text-transform:uppercase;
  }
  body.page-product .lw-escalation tbody td{
    padding:6px 0;border-bottom:none;
  }
  body.page-product .lw-escalation tbody td::before{
    content:attr(data-label);
    display:block;
    font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
    color:rgba(255,255,255,0.4);
    margin-bottom:2px;
  }
  /* Mobile: severity accent moves to the row's left border */
  body.page-product .lw-escalation tr.level-normal{border-left-color:var(--green)}
  body.page-product .lw-escalation tr.level-warning{border-left-color:var(--amber)}
  body.page-product .lw-escalation tr.level-call{border-left-color:var(--amber)}
  body.page-product .lw-escalation tr.level-alert{border-left-color:var(--accent)}
  body.page-product .lw-escalation tr.level-emergency{border-left-color:var(--accent-glow)}
  body.page-product .lw-escalation tr.level-incident{border-left-color:var(--white)}
  body.page-product .lw-escalation tr.level-incident{border-bottom:none}
}

/* ---------- Lone Worker — safety features grid ----------
   Seven boxed cards in a 2-column layout, matching the orphan-avoidance
   pattern used on construction.php (inline grid-column:1/-1 on card 7). */
body.page-product .lw-safety-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-top:16px;
}
body.page-product .lw-safety-card{
  padding:26px 28px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:var(--radius);
  background:var(--white);
  transition:all 0.25s ease;
}
body.page-product .lw-safety-card:hover{
  box-shadow:0 14px 32px rgba(0,0,0,0.06);
  border-color:rgba(0,0,0,0.12);
  transform:translateY(-2px);
}
body.page-product .lw-safety-card h3{
  font-size:17px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-product .lw-safety-card p{
  font-size:14px;line-height:1.65;color:var(--text-muted);
}
@media(max-width:1024px){
  body.page-product .lw-safety-grid{grid-template-columns:1fr}
}

/* ---------- Command — load-bearing hero honesty line ----------
   Not a footnote. A small-caps, italicised, amber-accented callout that
   sits directly beneath the hero subhead above the fold. The "AIIMS-5
   aligned — not certified" claim is procurement-critical and must be
   unmissable on page load. */
body.page-product .product-hero-honesty{
  display:block;
  font-size:13px;
  font-style:italic;
  font-variant:small-caps;
  letter-spacing:1px;
  line-height:1.5;
  color:rgba(255,255,255,0.85);
  margin:4px 0 36px;
  padding:12px 16px;
  border-left:3px solid var(--amber);
  background:rgba(245,166,35,0.08);
  max-width:640px;
  border-radius:2px;
}

/* ---------- Command — audience cards (5 sectors) ----------
   3-col grid on desktop, 2-col tablet, 1-col mobile. Drops one orphan
   slot on the last row at desktop; acceptable for 5 items and cleaner
   than forcing a full-width card. */
body.page-product .product-audience-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:16px;
}
body.page-product .product-audience-card{
  padding:26px 28px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:var(--radius);
  background:var(--white);
  transition:all 0.25s ease;
}
body.page-product .product-audience-card:hover{
  box-shadow:0 14px 32px rgba(0,0,0,0.06);
  border-color:rgba(0,0,0,0.12);
  transform:translateY(-2px);
}
body.page-product .product-audience-card h3{
  font-size:16px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-product .product-audience-card p{
  font-size:14px;line-height:1.65;color:var(--text-muted);
  margin-bottom:10px;
}
body.page-product .product-audience-card p:last-child{margin-bottom:0}
@media(max-width:1024px){
  body.page-product .product-audience-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  body.page-product .product-audience-grid{grid-template-columns:1fr}
}

/* ---------- Command — "NOT in v1" grid ----------
   Same card structure as the v1-scope cards so both sections carry equal
   visual weight. Placed on navy-deep background with amber left border
   and muted-white text to mark each item as a scope boundary rather than
   a capability. */
body.page-product .product-not-in-v1-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-top:32px;
}
body.page-product .product-not-in-v1-card{
  padding:28px 32px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-left:4px solid var(--amber);
  border-radius:var(--radius);
}
body.page-product .product-not-in-v1-card h3{
  font-size:18px;font-weight:700;margin-bottom:12px;
  color:var(--white);letter-spacing:-0.2px;
}
body.page-product .product-not-in-v1-card p{
  font-size:14px;line-height:1.7;color:rgba(255,255,255,0.72);
}
@media(max-width:1024px){
  body.page-product .product-not-in-v1-grid{grid-template-columns:1fr}
}

/* ---------- Command — AIIMS-5 concept-to-feature mapping table ---------- */
body.page-product .product-aiims-mapping{
  max-width:880px;margin:32px 0 0;
  border-collapse:collapse;
  width:100%;
}
body.page-product .product-aiims-mapping th,
body.page-product .product-aiims-mapping td{
  padding:14px 20px;
  text-align:left;vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,0.06);
  font-size:14px;line-height:1.65;
}
body.page-product .product-aiims-mapping thead th{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-muted);
  background:var(--surface);
  border-bottom:1px solid rgba(0,0,0,0.1);
  font-weight:700;
}
body.page-product .product-aiims-mapping tbody th{
  font-weight:600;color:var(--text);width:38%;
}
body.page-product .product-aiims-mapping tbody td{color:var(--text-muted)}
body.page-product .product-aiims-mapping tbody tr:last-child th,
body.page-product .product-aiims-mapping tbody tr:last-child td{border-bottom:none}

/* ---------- Product-page light framing band ----------
   Surface-alt background, narrow prose column for "what we don't claim"
   statements. Mirrors .adjacency-framing's shape but on a light rather
   than navy-deep background — because the statement is declarative scope
   rather than an adjacency caveat. */
body.page-product .product-framing-light{
  background:var(--surface);padding:96px 0;
  border-top:1px solid rgba(0,0,0,0.06);
  border-bottom:1px solid rgba(0,0,0,0.06);
}
body.page-product .product-framing-light .container{max-width:780px}
body.page-product .product-framing-light h2{
  font-size:clamp(24px,2.6vw,32px);font-weight:700;
  letter-spacing:-0.4px;color:var(--text);margin-bottom:28px;
}
body.page-product .product-framing-light p{
  font-size:16px;line-height:1.8;color:var(--text-muted);
  margin-bottom:22px;
}
body.page-product .product-framing-light p:last-child{margin-bottom:0}
body.page-product .product-framing-light p strong{color:var(--text)}
@media(max-width:1024px){
  body.page-product .product-framing-light{padding:72px 0}
}

/* =========================================================================
   Compliance page — Apr 2026
   Layout for /compliance. Scoped under body.page-compliance so the rules
   cannot leak onto homepage, legal, industry or product pages. Hero, each
   standards subsection, the "not certified" boundary grid, security grid,
   procurement deliverables list, CTA and related blocks all scoped here.
   ========================================================================= */

/* ---------- Hero ---------- */
body.page-compliance .compliance-hero{
  position:relative;
  min-height:50vh;
  padding:160px 0 80px;
  display:flex;align-items:flex-end;
  color:var(--white);
  background:linear-gradient(180deg,var(--navy-darkest) 0%,var(--navy-deep) 100%);
  overflow:hidden;
}
body.page-compliance .compliance-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
body.page-compliance .compliance-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,11,36,0.92) 0%,rgba(0,11,36,0.82) 40%,rgba(0,11,36,0.7) 100%);
}
body.page-compliance .compliance-hero-content{
  position:relative;z-index:2;max-width:820px;
}
body.page-compliance .compliance-breadcrumb{
  font-size:13px;color:rgba(255,255,255,0.5);
  margin-bottom:22px;letter-spacing:0.2px;
}
body.page-compliance .compliance-breadcrumb a{
  color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s;
}
body.page-compliance .compliance-breadcrumb a:hover{color:var(--white)}
body.page-compliance .compliance-breadcrumb .sep{margin:0 8px;opacity:0.45}
body.page-compliance .compliance-breadcrumb .current{
  color:rgba(255,255,255,0.85);font-weight:500;
}
body.page-compliance .compliance-hero h1{
  font-size:clamp(36px,4.5vw,56px);font-weight:700;line-height:1.1;
  letter-spacing:-1.2px;margin-bottom:20px;color:var(--white);
}
body.page-compliance .compliance-hero-sub{
  font-size:18px;line-height:1.65;color:rgba(255,255,255,0.72);
  max-width:720px;margin-bottom:36px;
}

/* ---------- Standards subsection (repeating pattern) ----------
   Each named standard (AS 3745, AS 4083, WHS, AIIMS-5, sector-specific)
   uses this shape: code line + h2 + scope paragraph + h3 "How EMAction
   …" + feature bullet list + amber scope-limit callout box. */
body.page-compliance .compliance-standards{
  background:var(--white);padding:0;
}
body.page-compliance .compliance-standard{
  padding:72px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-compliance .compliance-standard:first-of-type{
  border-top:none;padding-top:96px;
}
body.page-compliance .compliance-standard .standard-code{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;letter-spacing:1px;color:var(--accent);
  text-transform:uppercase;margin-bottom:12px;display:block;
}
body.page-compliance .compliance-standard h2{
  font-size:clamp(26px,2.8vw,34px);font-weight:700;
  letter-spacing:-0.5px;margin-bottom:18px;color:var(--text);
  scroll-margin-top:24px;
}
body.page-compliance .compliance-standard .standard-scope{
  font-size:16px;line-height:1.75;color:var(--text-muted);
  max-width:820px;margin-bottom:28px;
}
body.page-compliance .compliance-standard h3{
  font-size:16px;font-weight:700;margin:24px 0 12px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-compliance .compliance-standard ul.standard-features{
  list-style:none;padding:0;margin:0 0 20px;max-width:820px;
}
body.page-compliance .compliance-standard ul.standard-features li{
  position:relative;padding:6px 0 6px 22px;
  font-size:15px;line-height:1.65;color:var(--text);
}
body.page-compliance .compliance-standard ul.standard-features li::before{
  content:'';position:absolute;left:0;top:17px;
  width:10px;height:1px;background:var(--accent);
}
body.page-compliance .compliance-standard ul.standard-features li strong{
  color:var(--text);font-weight:600;
}
body.page-compliance .compliance-scope-limit{
  background:rgba(245,166,35,0.08);
  border-left:3px solid var(--amber);
  padding:18px 22px;
  margin-top:24px;
  max-width:820px;
  border-radius:2px;
}
body.page-compliance .compliance-scope-limit p{
  font-size:14px;line-height:1.75;color:var(--text);margin:0;
}
body.page-compliance .compliance-scope-limit p strong{color:var(--text)}

/* Sector-specific callouts — lighter treatment than the four primary
   standards; each is one line with a link to the relevant industry page. */
body.page-compliance .compliance-sector-list{
  display:grid;grid-template-columns:1fr;gap:14px;max-width:880px;margin-top:16px;
}
body.page-compliance .compliance-sector-item{
  padding:16px 20px;
  background:var(--surface);
  border-radius:var(--radius-sm);
  border:1px solid rgba(0,0,0,0.06);
}
body.page-compliance .compliance-sector-item strong{
  display:block;font-size:14px;color:var(--text);margin-bottom:4px;font-weight:700;
}
body.page-compliance .compliance-sector-item p{
  font-size:14px;line-height:1.6;color:var(--text-muted);margin:0;
}
body.page-compliance .compliance-sector-item a{
  color:var(--accent);font-weight:600;text-decoration:none;font-size:13px;
  margin-left:4px;
}
body.page-compliance .compliance-sector-item a:hover{color:var(--accent-glow)}

/* ---------- "Not certified" boundary grid ----------
   Visual parity with command.php's section D. Navy-deep band, amber left-
   border on each card, three boundary statements rendered as cards. */
body.page-compliance .compliance-boundary{
  background:var(--navy-deep);color:var(--white);padding:96px 0;
}
body.page-compliance .compliance-boundary .section-title{color:var(--white)}
body.page-compliance .compliance-boundary .section-sub{color:rgba(255,255,255,0.72)}
body.page-compliance .compliance-boundary-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;
}
body.page-compliance .compliance-boundary-card{
  padding:28px 32px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-left:4px solid var(--amber);
  border-radius:var(--radius);
}
body.page-compliance .compliance-boundary-card h3{
  font-size:17px;font-weight:700;margin-bottom:12px;
  color:var(--white);letter-spacing:-0.2px;
}
body.page-compliance .compliance-boundary-card p{
  font-size:14px;line-height:1.7;color:rgba(255,255,255,0.78);
}
@media(max-width:1024px){
  body.page-compliance .compliance-boundary-grid{grid-template-columns:1fr}
}

/* ---------- Security & data subsections ---------- */
body.page-compliance .compliance-security{
  background:var(--white);padding:96px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-compliance .compliance-security-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px;
  max-width:1000px;margin:32px 0 0;
}
body.page-compliance .compliance-security-item{
  padding-top:20px;border-top:1px solid rgba(0,0,0,0.08);
}
body.page-compliance .compliance-security-item h3{
  font-size:16px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-compliance .compliance-security-item p{
  font-size:14px;line-height:1.7;color:var(--text-muted);
}
@media(max-width:1024px){
  body.page-compliance .compliance-security-grid{grid-template-columns:1fr}
}

/* ---------- Procurement deliverables ---------- */
body.page-compliance .compliance-procurement{
  background:var(--surface);padding:96px 0;
  border-top:1px solid rgba(0,0,0,0.08);
}
body.page-compliance .compliance-procurement-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;
}
body.page-compliance .compliance-procurement-item{
  padding:26px 28px;
  background:var(--white);border:1px solid rgba(0,0,0,0.08);
  border-radius:var(--radius);
}
body.page-compliance .compliance-procurement-item h3{
  font-size:16px;font-weight:700;margin-bottom:10px;
  color:var(--text);letter-spacing:-0.2px;
}
body.page-compliance .compliance-procurement-item p{
  font-size:14px;line-height:1.65;color:var(--text-muted);
  margin-bottom:10px;
}
body.page-compliance .compliance-procurement-item p:last-child{margin-bottom:0}
body.page-compliance .compliance-procurement-item .availability{
  font-size:12px;color:var(--accent);font-weight:600;
  letter-spacing:0.3px;
}
@media(max-width:1024px){
  body.page-compliance .compliance-procurement-list{grid-template-columns:1fr}
}
body.page-compliance .compliance-procurement .procurement-cta{
  margin-top:36px;text-align:center;
}

/* ---------- CTA band ---------- */
body.page-compliance .compliance-cta{
  background:var(--accent);color:var(--white);padding:72px 0;
  text-align:center;
}
body.page-compliance .compliance-cta h2{
  font-size:clamp(26px,2.6vw,32px);font-weight:700;line-height:1.3;
  letter-spacing:-0.3px;max-width:820px;margin:0 auto 16px;color:var(--white);
}
body.page-compliance .compliance-cta p{
  font-size:16px;color:rgba(255,255,255,0.88);
  max-width:640px;margin:0 auto 28px;line-height:1.6;
}
body.page-compliance .compliance-cta .btn-primary{
  background:var(--white);color:var(--accent);box-shadow:none;
}
body.page-compliance .compliance-cta .btn-primary:hover{
  background:rgba(255,255,255,0.92);color:var(--navy-deep);
  box-shadow:0 6px 24px rgba(0,0,0,0.2);transform:translateY(-2px);
}

/* ---------- Related ---------- */
body.page-compliance .compliance-related{
  background:var(--surface);padding:72px 0;
}
body.page-compliance .compliance-related .section-label{color:var(--text-muted)}
body.page-compliance .compliance-related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
body.page-compliance .compliance-related-card{
  background:var(--white);border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--radius-sm);padding:22px 24px;
  text-decoration:none;color:var(--text);display:block;
  transition:all 0.25s ease;
}
body.page-compliance .compliance-related-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(29,109,181,0.08);
  transform:translateY(-2px);
}
body.page-compliance .compliance-related-card h4{
  font-size:15px;font-weight:700;margin-bottom:6px;letter-spacing:-0.2px;
}
body.page-compliance .compliance-related-card p{
  font-size:13px;line-height:1.6;color:var(--text-muted);
}
body.page-compliance .compliance-related-card .arrow{
  color:var(--accent);margin-left:6px;
  transition:margin-left 0.2s;display:inline-block;
}
body.page-compliance .compliance-related-card:hover .arrow{margin-left:10px}
@media(max-width:1024px){
  body.page-compliance .compliance-related-grid{grid-template-columns:1fr}
}

/* ---------- Compliance-page responsive ---------- */
@media(max-width:1024px){
  body.page-compliance .compliance-hero{min-height:44vh;padding:140px 0 64px}
  body.page-compliance .compliance-standard{padding:56px 0}
  body.page-compliance .compliance-standard:first-of-type{padding-top:72px}
  body.page-compliance .compliance-boundary,
  body.page-compliance .compliance-security,
  body.page-compliance .compliance-procurement{padding:72px 0}
}

/* =========================================================================
   Demo-form checkbox group — Apr 2026
   The existing .form-group styles every descendant <label> as uppercase
   muted lead-in (e.g. "WORK EMAIL *"). Inside .checkbox-group we override
   to a regular-weight clickable label so each option reads as an
   individually tickable item rather than a field heading.
   ========================================================================= */
.checkbox-group{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.form-group .checkbox-group label{
  display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:400;letter-spacing:0;
  color:rgba(255,255,255,0.85);text-transform:none;
  cursor:pointer;margin:0;
}
.checkbox-group input[type="checkbox"]{
  width:16px;height:16px;
  accent-color:var(--accent);
  cursor:pointer;
  flex-shrink:0;
}
