/*
Theme Name: ComplyWise
Theme URI: https://www.complywise.com/
Author: me
Author URI: https://www.complywise.com/
Description: Custom WordPress theme for ComplyWise — the unified R2, EHS & data-sanitization compliance platform for electronics recyclers, ITAD and refurbishment facilities. Content from index.html; visual design matched to the ComplyWise Figma.
Version: 1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: complywise
*/

/* =========================================================
   DESIGN TOKENS  (matched to the ComplyWise Figma)
   ========================================================= */
:root{
  --ink:#10212e;            /* dark navy headings */
  --ink-soft:#1d3344;
  --muted:#5b6a76;          /* body grey */
  --muted-2:#7c8893;
  --white:#ffffff;
  --off-white:#eef2f6;      /* light section background */
  --off-white-2:#f5f8fb;
  --line-light:#e4e9ef;
  --line:#2c3a47;

  /* brand green → teal */
  --accent:#33b98f;
  --accent-2:#1fa78d;       /* teal text / icons */
  --accent-ink:#06302a;
  --grad-from:#76c96c;
  --grad-to:#1fae9a;
  --grad:linear-gradient(120deg,var(--grad-from) 0%,var(--grad-to) 100%);

  /* dark surfaces (dashboard mockups, supervisor card) */
  --charcoal:#10212e;
  --charcoal-2:#16293a;
  --charcoal-3:#1e3346;

  --radius:16px;
  --maxw:1200px;
  --shadow:0 24px 60px -28px rgba(13,28,45,.40);
  --shadow-sm:0 10px 30px -16px rgba(13,28,45,.28);

  --font-head:'Lexend',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  font-family:var(--font-body);
  color:var(--ink);background:var(--white);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.12;letter-spacing:-.02em;font-weight:800;color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
/* Permanent guard: decorative shapes that bleed past a section can never create
   a page-wide horizontal scroll (which is what made sections look "shifted"). */
#main{overflow-x:clip}
.accent{color:var(--accent-2)}
strong{font-weight:700;color:var(--ink)}
svg{display:block}

.eyebrow{
  display:inline-block;font-family:var(--font-head);font-size:14px;font-weight:600;
  letter-spacing:.01em;color:var(--accent-2);margin-bottom:16px;
}
.section{padding:96px 0}
.section-head{max-width:780px;margin-bottom:54px}
.section-head h2{font-size:clamp(30px,4.4vw,46px)}
.section-head p{font-size:18px;color:var(--muted);margin-top:18px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:600;font-size:15px;
  padding:15px 28px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap;
}
.btn-primary{
  background:var(--grad);color:#fff;
  box-shadow:0 14px 30px -12px rgba(31,174,154,.55);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 38px -12px rgba(31,174,154,.65)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.30)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:var(--line-light)}
.btn-ghost-dark:hover{border-color:var(--accent-2);color:var(--accent-2)}
.btn-lg{padding:17px 32px;font-size:16px}

/* =========================================================
   STICKY NAV
   ========================================================= */
header.nav{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line-light);
}
.nav-inner{display:flex;align-items:center;height:74px}
.logo{display:flex;align-items:center;gap:11px;color:var(--ink);font-family:var(--font-head);font-weight:700;font-size:21px;letter-spacing:-.02em}
.logo .mark{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:var(--grad);color:#fff;
}
.logo .logo-mark{height:34px;width:auto;display:block}
.logo .logo-img{height:34px;width:auto;display:block}
footer .logo .logo-img{height:36px}
.nav-links{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:auto}
.nav-links a{color:var(--ink-soft);font-size:14.5px;font-weight:500;transition:color .15s;position:relative;white-space:nowrap}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--accent-2)}
.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--accent)}
.nav-cta{display:flex;align-items:center;gap:12px;flex:none;margin-right:10px}
.nav-cta .btn{padding:12px 20px;font-size:14px}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px}
@media(max-width:1024px){
  .nav-links{display:none}
  .nav-cta .btn-ghost-dark{display:none}
  /* logo stays left; demo button + menu icon pushed to the far right */
  .nav-cta{margin-left:auto;margin-right:0}
}

/* =========================================================
   HERO  (matched to Figma — Frame 341 dashboard + trust cards)
   ========================================================= */
.hero{
  background:var(--white);color:var(--ink);padding:72px 0 96px;position:relative;overflow:hidden;
}
.hero:before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
  background:url('assets/images/hero-grid.png') bottom center / cover no-repeat;opacity:.6;pointer-events:none;z-index:0;
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:34px;align-items:center}
.hero-copy{min-width:0}
.hero h1{font-family:'Lexend',sans-serif;color:#061B2A;font-size:clamp(30px,4.6vw,40px);font-weight:700;line-height:1.1;letter-spacing:normal;max-width:520px}
.hero h1 .hl{color:#061B2A;font-weight:700}
.hero .eyebrow{font-family:'Lexend',sans-serif;color:#8CD28A;font-size:24px;font-weight:400;line-height:32px;letter-spacing:-.012em;margin-bottom:14px}
.hero p.lede{font-family:'Lexend',sans-serif;font-size:20px;font-weight:400;line-height:28px;letter-spacing:-.012em;color:#484B4D;margin:18px 0 30px;max-width:510px}
.hero p.lede strong{font-weight:400;color:inherit}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero .hero-ctas .btn-lg{padding:13px 20px;font-size:14.5px}
.hero .btn-ghost{color:#061B2A;border-color:#cdd8e0}
.hero .btn-ghost:hover{border-color:var(--accent-2);color:var(--accent-2)}

/* trust badge cards */
.trust-cards{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap}
.trust-card{flex:1;min-width:148px;background:#fff;border:1px solid #e7edf2;border-radius:18px;box-shadow:0 16px 36px -24px rgba(13,28,45,.45);padding:22px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.trust-card .tci{width:44px;height:44px;display:grid;place-items:center;color:#061B2A}
.trust-card .tcl{font-family:var(--font-head);font-size:13.5px;font-weight:600;color:#061B2A;line-height:1.3}
.hero-badges{display:flex;align-items:center;gap:22px;margin-top:28px}
.hero-badges img{height:56px;width:auto}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:44px}}

/* green gradient brand-loop shape behind the dashboard */
.hero-shape{position:absolute;z-index:1;pointer-events:none;right:20px;top:50%;transform:translateY(-50%);height:640px;width:auto;max-width:none}
@media(max-width:860px){.hero-shape{height:520px;right:-40px;opacity:.85}}

/* Dashboard mockup (Lexend, Figma Frame 341) */
.mock{
  position:relative;z-index:2;background:linear-gradient(180deg,#071D2E -1.83%,#061825 101.93%);
  border-radius:24px;padding:30px 20px 22px;box-shadow:0 44px 90px -36px rgba(6,24,37,.7);
  width:100%;max-width:520px;min-width:0;justify-self:start;margin-top:16px;
}
/* macOS-style title bar drawn as a raised tab on the top-left: rounded top,
   then a convex shoulder that slopes DOWN to the right after the dots + title.
   Only reshapes the title bar — content/panel untouched. */
.mock-chrome{
  position:absolute;top:-16px;left:0;z-index:3;width:308px;height:46px;box-sizing:border-box;
  display:flex;align-items:center;gap:7px;padding:0 0 16px 22px;
  background:#0a1f31;
  clip-path:path('M0,14 Q0,0 14,0 L272,0 C290,0 290,16 308,16 L308,46 L0,46 Z');
}
.mock-chrome .dot{width:12px;height:12px;border-radius:50%;flex:none}
.mock-title{margin-left:6px;height:12px;width:auto;display:block;flex:none}
.mock-inner{background:#fff;border-radius:16px;padding:22px}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:4px}
.mstat{background:#061B2A;border:1px solid #D3E3EB;border-radius:24px;padding:22px 12px;text-align:center}
.mstat .mn{font-family:'Lexend',sans-serif;font-weight:700;font-size:30px;line-height:1;letter-spacing:-.015em}
.mstat .mn.teal{color:#3EADAA}
.mstat .mn.amber{color:rgba(251,191,36,.9)}
.mstat .mn.white{color:#fff}
.mstat .ml{font-family:'Lexend',sans-serif;font-size:13.5px;color:rgba(255,255,255,.5);margin-top:9px}
.mtasks{margin-top:10px}
.mtask-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.mtask-head .mh{font-family:'Lexend',sans-serif;font-weight:500;font-size:20px;color:#061B2A}
.mtask-head .mweek{font-family:'Lexend',sans-serif;font-weight:600;font-size:14px;color:#061B2A}
.mtask{display:flex;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid #CAE0E3;font-family:'Lexend',sans-serif;font-size:16px;color:#061B2A}
.mtask:last-child{border-bottom:0}
.mtask .mt-label{flex:1}
.mbadge{font-family:'Lexend',sans-serif;font-weight:600;font-size:12px;padding:5px 12px;border-radius:8px;white-space:nowrap;border:1px solid transparent}
.mbadge.green{background:rgba(16,185,129,.08);border-color:rgba(52,211,153,.45);color:#2faa86}
.mbadge.amber{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.55);color:#d59b06}
.mprog{flex:1;max-width:210px;height:8px;background:#E5E5E5;border-radius:10px;overflow:hidden}
.mprog i{display:block;height:100%;background:#8CD28A;border-radius:10px}
.mpct{font-family:'Lexend',sans-serif;font-weight:600;font-size:14px;color:#061B2A}

/* generic progress bar (used inside module panes) */
.bar{flex:1;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:6px}

/* =========================================================
   LOGO WALL (real customer logos)
   ========================================================= */
.logos{padding:44px 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);background:var(--white);overflow:hidden}
.logos .eyebrow{display:block;text-align:center;margin-bottom:28px;color:#061B2A;font-family:'Lexend',var(--font-head);font-weight:400;font-size:18px;line-height:28px;letter-spacing:-.015em}
/* Auto-scrolling marquee: track holds the logo set twice and slides -50% on loop */
.logo-row{overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logo-track{display:flex;align-items:center;gap:54px;width:max-content;animation:logo-marquee 32s linear infinite}
.logo-track:hover{animation-play-state:paused}
@keyframes logo-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-slot{flex:none;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .2s}
.logo-slot img{width:auto;height:auto;object-fit:contain;display:block}
.logo-slot:hover{opacity:.85}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}}
@media(max-width:680px){
  .logo-track{gap:36px;animation-duration:22s}
  .logo-slot img{height:30px!important;width:auto!important}
}

/* =========================================================
   STATS / USP BAND  (icon cards)
   ========================================================= */
.usp{background:var(--off-white)}
.usp .section-head{max-width:1010px}
.usp .section-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
.usp .section-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
.usp .section-head p{font-family:'Lexend',var(--font-head);font-weight:300;font-size:20px;line-height:30px;letter-spacing:-.012em;color:#061B2A;opacity:.7;margin-top:18px;max-width:968px}
.stat-row{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;max-width:862px;margin:0 auto 40px}
.ustat{width:264px;height:220px;background:#fff;border:0;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.1);padding:32px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ustat .uic{width:auto;height:auto;background:none;border:0;border-radius:0;margin:0 0 18px;display:flex;align-items:center;justify-content:center;color:inherit}
.ustat .un{font-family:'Lexend',var(--font-head);font-size:40px;font-weight:600;line-height:1;letter-spacing:-.015em;color:#3EADAA}
.ustat .un .accent{color:#3EADAA}
.ustat .ul{font-family:'Lexend',var(--font-head);font-size:20px;font-weight:400;line-height:28px;letter-spacing:-.015em;color:#061B2A;opacity:.5;margin-top:14px;white-space:nowrap}
.rated{display:flex;align-items:center;justify-content:center;gap:16px}
.avstack{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}
.avstack span{flex:none;width:49px;height:49px;border-radius:50%;border:2px solid #080F15;overflow:hidden;background:#cfd6e2 center/cover;margin-left:-38px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px}
.avstack span:first-child{margin-left:0}
.avstack span img{width:100%;height:100%;object-fit:cover}
.rated>div:last-child{display:flex;flex-direction:column;align-items:flex-start}
.rated .rstars{color:rgba(251,191,36,.8);display:flex;gap:4px;align-items:center}
.rated .rstars svg{width:17px;height:18px}
.rated .rtxt{font-family:'Lexend',var(--font-head);font-size:20px;font-weight:400;line-height:32px;letter-spacing:-.012em;color:#061B2A;margin-top:4px}
.rated .rtxt b{font-weight:400;color:#061B2A}
@media(max-width:680px){.stat-row{flex-direction:column;align-items:center}}

/* =========================================================
   VALUE PILLARS
   ========================================================= */
#pillars{position:relative;overflow:hidden}
#pillars .wrap{padding-left:64px;padding-right:64px}
.pillars{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillars-deco{position:absolute;left:-545px;top:-178px;width:760px;height:auto;z-index:0;pointer-events:none}
.pillars>.card{position:relative;z-index:1}
.card{
  background:var(--white);border:1px solid var(--line-light);border-radius:var(--radius);
  padding:32px;transition:transform .18s ease,box-shadow .2s ease,border-color .2s;position:relative;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#cfd9e2}
.card .ic{
  width:52px;height:52px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;
  background:rgba(51,185,143,.10);border:1px solid rgba(51,185,143,.20);color:var(--accent-2);
}
.card .ic svg{stroke:var(--accent-2)}
.card h3{font-family:var(--font-body);font-weight:700;font-size:20px;line-height:28px;letter-spacing:0;color:#061B2A;margin-bottom:12px}
.card p,.card p strong{font-family:'Lexend',var(--font-head);font-weight:300;font-size:16px;line-height:28px;color:#061B2A}
.card .read-more{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:var(--accent-2);font-family:var(--font-head);font-weight:600;font-size:14px}
.card .read-more:hover{gap:11px}
@media(max-width:860px){.pillars{grid-template-columns:1fr;padding-left:0}.pillars-deco{display:none}}

/* Pillars heading row: centered (heading + CTAs centered, nothing removed) */
#pillars .ph-head{
  position:relative;z-index:2;margin-bottom:110px;
  max-width:none;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;text-align:left;gap:48px;
}
#pillars .ph-copy{flex:1;min-width:0;max-width:730px;margin:0}
#pillars .ph-copy .eyebrow{
  display:inline-block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;
  line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px;
}
#pillars .ph-copy h2{
  font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;
  letter-spacing:-.015em;color:#061B2A;max-width:none;margin:0;
}
#pillars .ph-copy p{
  font-family:'Lexend',var(--font-head);font-weight:300;font-size:20px;line-height:32px;
  letter-spacing:-.012em;color:#061B2A;opacity:.7;margin:16px 0 0;max-width:560px;
}
#pillars .ph-cta{display:flex;flex-direction:column;align-items:stretch;gap:16px;flex:none;width:auto;margin-top:48px}
#pillars .ph-cta .btn{
  width:auto;justify-content:center;padding:16px 28px;min-height:60px;border-radius:12px;
  font-family:'Lexend',var(--font-head);font-weight:600;font-size:16px;line-height:28px;
}
#pillars .ph-cta .btn-primary{background:linear-gradient(90deg,#8CD28A 0%,#3EADAA 100%);color:#fff}
#pillars .ph-cta .btn-ghost-dark{border:1px solid #061B2A;color:#061B2A}
@media(max-width:960px){
  #pillars .ph-head{flex-direction:column;align-items:flex-start;text-align:left;gap:24px}
  #pillars .ph-cta{flex-direction:column;width:100%;max-width:360px;margin-top:0}
  #pillars .ph-cta .btn{width:100%}
  #pillars .ph-copy{max-width:none}
}

.answer-lead{
  max-width:860px;margin:0 0 44px;font-size:18px;line-height:1.7;color:var(--ink);
  padding:24px 28px;background:var(--off-white);border-left:4px solid var(--accent);border-radius:0 14px 14px 0;
}
.answer-lead b{font-weight:700}

/* =========================================================
   COMPARISON TABLE
   ========================================================= */
#compare{background:var(--off-white)}
#compare .section-head{margin-left:auto;margin-right:auto;text-align:center;max-width:1010px}
#compare .section-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
#compare .section-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
#compare .section-head p{margin-left:auto;margin-right:auto;font-family:'Lexend',var(--font-head);font-weight:300;font-size:20px;line-height:30px;letter-spacing:-.012em;color:#061B2A;opacity:.7;margin-top:18px;max-width:968px}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line-light);border-radius:18px;box-shadow:var(--shadow-sm);background:#fff}
table.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:15px;background:#fff}
table.cmp caption{position:absolute;left:-9999px}
table.cmp th,table.cmp td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line-light);vertical-align:middle}
table.cmp thead th{background:var(--charcoal);color:#fff;font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:.01em}
table.cmp thead th:first-child{border-top-left-radius:0}
table.cmp tbody th{font-weight:600;color:var(--ink);width:34%}
table.cmp td.cw{color:var(--ink);font-weight:500}
table.cmp td .y{color:var(--accent-2);font-weight:700;font-size:18px;margin-left:8px}
table.cmp td .n{color:#d6483b;font-weight:700;font-size:18px;margin-left:8px}
table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp tbody tr:hover td,table.cmp tbody tr:hover th{background:var(--off-white-2)}

/* =========================================================
   MODULE DEEP-DIVE (centered icon tabs)
   ========================================================= */
.modules{background:var(--white);position:relative;overflow:hidden;padding:64px 0}
#modules .wrap{position:relative;z-index:1}
.mod-deco{position:absolute;right:-30px;top:68%;transform:translateY(-50%);height:560px;width:auto;z-index:1;pointer-events:none}
.mod-card{position:relative;overflow:hidden;background:#fff;border-radius:28px 0 0 28px;padding:64px 180px 64px 72px;margin-left:calc(72px - (100vw - 100%)/2);margin-right:calc((100% - 100vw)/2);box-shadow:none}
/* Centre all card content in a column inside the (full-bleed) white container */
#modules .tabs,#modules .panes,#modules .mod-nav{max-width:1160px;margin-left:auto;margin-right:auto;position:relative;z-index:2}
#modules .pane-visual{position:relative;z-index:2}
/* Feature items rendered as white cards (matches the design) */
#modules .feature{border:1px solid var(--line-light);border-radius:14px;background:#fff;padding:16px 18px;margin-bottom:14px;align-items:flex-start;box-shadow:0 12px 30px -20px rgba(13,28,45,.20)}
#modules .feature:first-of-type{border-top:1px solid var(--line-light)}
.modules .section-head{margin-left:auto;margin-right:auto;text-align:center;max-width:1010px}
#modules .section-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
#modules .section-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
#modules .section-head p{margin-left:auto;margin-right:auto;font-family:'Lexend',var(--font-head);font-weight:300;font-size:20px;line-height:30px;letter-spacing:-.012em;color:#061B2A;opacity:.7;margin-top:18px;max-width:968px}
.tabs{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-bottom:46px}
.tab{
  background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;
  padding:6px 10px 14px;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--muted);cursor:pointer;
  transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:180px;text-align:center;line-height:1.2;
}
.tab .tnum{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--off-white);color:var(--ink);font-size:0}
.tab .tnum svg{stroke:var(--ink);width:26px;height:26px}
#modules .tab .tnum svg.tab-ico{width:auto;height:36px}
#modules .feature .fic{width:46px;height:46px;border-radius:12px;align-self:flex-start;flex-shrink:0;background:#fff;box-shadow:0 6px 16px -8px rgba(13,28,45,.22)}
#modules .feature .fic svg.fic-ico{width:auto;height:26px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--accent-2);border-bottom-color:var(--accent)}
.tab.active .tnum{background:rgba(51,185,143,.12)}
.tab.active .tnum svg{stroke:var(--accent-2)}
.panes{position:relative}
.pane{display:none;animation:fade .35s ease}
.pane.active{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pane h3{font-size:28px;margin-bottom:8px}
.pane .sub{color:var(--accent-2);font-family:var(--font-head);font-weight:600;font-size:14px;margin-bottom:18px}
.feature{display:flex;gap:14px;padding:15px 0;border-top:1px solid var(--line-light)}
.feature:first-of-type{border-top:0}
.feature .fic{flex-shrink:0;width:32px;height:32px;border-radius:9px;background:rgba(51,185,143,.10);display:grid;place-items:center;color:var(--accent-2)}
.feature .fic svg{stroke:var(--accent-2)}
.feature p{font-size:15px;color:var(--muted)}
.feature p b{color:var(--ink)}
/* Modules dashboard = same "mac screen" as the hero .mock (window + tab title bar) */
.pane-visual{
  position:relative;z-index:2;background:linear-gradient(180deg,#071D2E -1.83%,#061825 101.93%);
  border:0;border-radius:24px;padding:30px 20px 22px;margin-top:16px;
  box-shadow:0 44px 90px -36px rgba(6,24,37,.7);
}
.v-inner{background:#fff;border-radius:16px;padding:22px}
.v-inner .v-head{color:#061B2A}
.v-inner .v-head .badge{background:rgba(51,185,143,.14);color:var(--accent-2)}
.v-inner .v-row{border-bottom:1px solid var(--line-light);color:var(--muted)}
.v-inner .v-row .k{color:#061B2A}
.v-inner .v-row .val{border:1px solid transparent}
.v-inner .v-row .val.ok{color:#2faa86;background:rgba(16,185,129,.08);border-color:rgba(52,211,153,.45)}
.v-inner .v-row .val.warn{color:#d59b06;background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.55)}
.v-inner .v-stat{border:0}
.v-inner .bar{background:#E5E5E5}
.v-inner .bar i{background:#8CD28A}
@media(max-width:860px){.pane.active{grid-template-columns:1fr;gap:28px}.tabs{gap:10px}.tab{max-width:46%}}

/* dark visual building blocks (module panes) */
.v-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#fff;font-size:14px;font-weight:700}
.v-head .badge{font-size:10.5px;font-weight:700;padding:4px 11px;border-radius:20px;background:rgba(51,185,143,.18);color:var(--accent)}
.v-row{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line);font-size:13px;color:#aab3bf}
.v-row:last-child{border-bottom:0}
.v-row .k{color:#fff;font-weight:600}
.v-row .val{margin-left:auto;font-weight:700;font-size:11px;padding:4px 11px;border-radius:20px}
.v-row .val.ok{color:var(--accent);background:rgba(51,185,143,.14)}
.v-row .val.warn{color:#ffb84d;background:rgba(255,184,77,.14)}
.v-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}
.v-stat{background:var(--charcoal-3);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center}
.v-stat .n{font-family:var(--font-head);font-size:30px;font-weight:800;color:#fff;letter-spacing:-.02em}
.v-stat .n.ok{color:var(--accent)}
.v-stat .l{font-size:12px;color:#8b97a5;font-weight:600;margin-top:6px}
.pane-visual .bar{background:var(--line)}
.pane-visual .bar i{background:var(--accent)}

/* module stepper */
.mod-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px}
.mod-nav .step-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1.5px solid var(--line-light);
  border-radius:12px;padding:12px 20px;font-family:var(--font-head);font-weight:600;font-size:14.5px;color:var(--ink-soft);cursor:pointer;
  transition:all .15s;
}
.mod-nav .step-btn:hover:not(:disabled){border-color:var(--accent-2);color:var(--accent-2)}
.mod-nav .step-btn:disabled{opacity:.4;cursor:not-allowed}
.mod-dots{display:flex;gap:9px;align-items:center}
.mod-dots b{width:9px;height:9px;border-radius:50%;background:#c4cedb;transition:all .2s;cursor:pointer}
.mod-dots b.on{background:var(--accent);transform:scale(1.3)}
.mod-count{font-size:13px;font-weight:600;color:var(--muted-2);min-width:42px;text-align:center}

/* =========================================================
   MULTI-LOCATION  (admin = green gradient, supervisor = dark)
   Typography, colours & card styling matched to the Figma.
   ========================================================= */
#multi-location{background:var(--off-white)}
/* Narrower, centred content block with extra breathing room left & right */
#multi-location .wrap{max-width:1040px}
/* Section head — Lexend, left-aligned, scaled down a touch */
#multi-location .section-head{max-width:100%;margin-bottom:46px}
#multi-location .eyebrow{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:28px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:14px}
#multi-location .section-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A;max-width:560px}
#multi-location .section-head p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:28px;letter-spacing:-.012em;color:#061B2A;margin-top:16px;max-width:880px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.split-card{border-radius:36px;padding:36px 40px;background:var(--white);border:1px solid var(--line-light)}
.split-card.admin{background:linear-gradient(89.53deg,#8CD28A .37%,#3EADAA 99.57%);border:0;color:#fff;box-shadow:0 24px 50px -24px rgba(31,174,154,.5)}
.split-card.dark{background:#061B2A;border:0;color:#fff}
.split-card.admin h3,.split-card.dark h3{color:#fff}
.lvl{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:16px;font-weight:700;line-height:24px;letter-spacing:-.015em;text-transform:none;padding:8px 20px;border-radius:14px;margin-bottom:24px}
.lvl.admin{background:transparent;border:1px solid #FFFFFF;color:#FFFFFF}
.lvl.sup{background:transparent;border:1px solid #8CD28A;color:#8CD28A}
.split-card h3{font-family:var(--font-head);font-weight:700;font-size:32px;line-height:38px;letter-spacing:-.015em;margin-bottom:26px}
.split-list{list-style:none;margin-top:6px}
.split-list li{display:flex;align-items:center;gap:13px;padding:14px 0;font-family:var(--font-head);font-weight:700;font-size:16px;line-height:24px;letter-spacing:-.015em;color:#FFFFFF;border-top:1px solid;border-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0)) 1}
.split-list li:first-child{border-top:0;border-image:none}
.split-list li .txt{flex:1}
.split-list li strong{color:#FFFFFF;font-weight:700}
.split-list .ck{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:7px}
.split-card.admin .split-list .ck{background:#FFFFFF;color:#89D18B}
.split-card.dark .split-list .ck{background:#8CD28A;color:#061B2A}
@media(max-width:860px){
  .split{grid-template-columns:1fr;gap:24px}
  #multi-location .section-head h2{font-size:34px;line-height:40px}
  #multi-location .section-head p{font-size:18px;line-height:28px}
  .split-card{padding:30px 26px;border-radius:28px}
  .split-card h3{font-size:28px;line-height:34px}
}

/* =========================================================
   AUDITOR SHIELD
   ========================================================= */
.shield{
  background:radial-gradient(120% 130% at 12% 0%,#1a3142 0%,var(--charcoal) 62%);
  color:#fff;border-radius:24px;padding:60px;position:relative;overflow:hidden;
}
.shield:after{content:"";position:absolute;right:-90px;bottom:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(51,185,143,.22),transparent 65%);pointer-events:none}
.shield-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;z-index:1}
.shield h2{color:#fff;font-size:clamp(28px,3.6vw,40px)}
.shield .eyebrow{color:var(--accent)}
.shield p{color:#b8c2cd;font-size:17px;margin:18px 0 26px}
.shield-list{list-style:none}
.shield-list li{display:flex;gap:12px;padding:11px 0;color:#cdd5de;font-size:15px}
.shield-list .ck{color:var(--accent);flex-shrink:0}
.access-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:18px;padding:24px}
.access-card .h4{color:#fff;font-size:14px;margin-bottom:16px;display:flex;align-items:center;gap:9px}
.access-row{display:flex;align-items:center;gap:12px;padding:13px;border-radius:11px;margin-bottom:9px;font-size:13px;background:var(--charcoal-3);border:1px solid var(--line);color:#aab3bf}
.access-row.locked{opacity:.55}
.access-row .st{margin-left:auto;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.st.grant{background:rgba(51,185,143,.16);color:var(--accent)}
.st.deny{background:rgba(255,255,255,.07);color:#7c8893}
@media(max-width:860px){.shield{padding:36px}.shield-grid,#audit .shield-grid{grid-template-columns:1fr;gap:32px}}

/* ---- Light-theme Auditor section (blue bg continues from above) ---- */
#audit{background:var(--off-white)}
#audit .shield{background:transparent;color:var(--ink);border-radius:0;padding:0;overflow:visible}
#audit .shield:after{display:none}
#audit .shield-grid{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
#audit .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:28px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:14px}
#audit .shield h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
#audit .shield p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:16px;line-height:26px;letter-spacing:-.012em;color:#061B2A;opacity:.78;margin:16px 0 24px}
#audit .shield p strong{color:#061B2A}
#audit .shield-list li{display:flex;align-items:center;gap:12px;padding:9px 0;font-family:'Lexend',var(--font-head);font-weight:400;font-size:15px;line-height:22px;color:#061B2A}
#audit .shield-list .ck{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:linear-gradient(120deg,#76c96c,#1fae9a);color:#fff}
#audit .shield-list .ck svg{width:14px;height:14px}
/* right "scoped access" card — white on the blue */
#audit .access-card{background:#fff;border:1px solid var(--line-light);border-radius:20px;padding:28px;box-shadow:0 24px 50px -30px rgba(13,28,45,.25)}
#audit .access-card .h4{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(120deg,#8CD28A,#3EADAA);color:#fff;font-family:'Lexend',var(--font-head);font-weight:600;font-size:14px;padding:9px 16px;border-radius:12px;margin-bottom:22px}
#audit .access-card .h4 svg{stroke:#fff}
#audit .access-row{background:var(--off-white-2);border:1px solid var(--line-light);color:#061B2A;border-radius:12px;font-family:'Lexend',var(--font-head);font-weight:500;font-size:14.5px}
#audit .access-row svg{stroke:#3EADAA}
#audit .access-row.locked{opacity:1;color:#5b6a76}
#audit .access-row.locked svg{stroke:#9aa6b2}
#audit .st.grant{background:rgba(62,173,170,.14);color:#2f9a8f}
#audit .st.deny{background:#eef2f6;color:#7c8893}

/* =========================================================
   CASE STUDIES (photo banners)
   ========================================================= */
/* Light-blue background continues from the section above; both the case
   studies and the reviews now live inside one white card that leaves a
   little blue space on the left and bleeds to the right edge. */
#case-studies{background:var(--white);padding:72px 0}
.cases-wrap{position:relative;overflow:hidden;background:#fff;border-radius:28px 0 0 28px;padding:60px 72px;margin-left:calc(72px - (100vw - 100%)/2);margin-right:calc((100% - 100vw)/2);box-shadow:none}
/* keep the inner content centred inside the full-bleed white card */
.cases-wrap > *{max-width:1120px;margin-left:auto;margin-right:auto}
#case-studies .section-head{margin-left:auto;margin-right:auto;text-align:center}
#case-studies .section-head p{margin-left:auto;margin-right:auto}
/* Case Studies head — Lexend, matched to the Figma */
#case-studies .cs-head{max-width:820px}
#case-studies .cs-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
#case-studies .cs-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
#case-studies .cs-head p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:30px;letter-spacing:-.012em;color:#061B2A;margin-top:18px;max-width:620px}
@media(max-width:680px){
  #case-studies .cs-head h2{font-size:36px;line-height:42px}
}
@media(max-width:860px){
  .cases-wrap{margin-left:0;margin-right:0;border-radius:22px;padding:40px 24px}
}
.rev-viewport{overflow:hidden}
.cs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;padding:44px 54px 44px 90px}
/* green gradient loop sitting behind the photo (extends further out on the left) */
.cs-figure{position:relative;width:100%;max-width:473px}
.cs-figure::before{content:"";position:absolute;z-index:0;inset:-38px -48px -38px -84px;background:url('assets/images/case-blob.svg') center/contain no-repeat;pointer-events:none}
.cs-figure .cs-photo{position:relative;z-index:1;width:100%}
/* Photo and copy are separate blocks: image left, text on its own to the right */
.cs-banner{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;min-height:340px}
.cs-banner .cs-photo{background:#0c1a26 center/cover no-repeat;width:100%;max-width:473px;aspect-ratio:473/458;border-radius:44px}
.cs-banner-inner{padding:0;display:flex;flex-direction:column;justify-content:center;max-width:414px}
.cs-banner .cs-label{display:inline-block;font-family:'Lexend',var(--font-head);font-size:16px;font-weight:400;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
.cs-banner h3{font-family:'Lexend',var(--font-head);font-weight:700;font-size:40px;line-height:44px;letter-spacing:-.015em;color:#061B2A;max-width:414px}
.cs-banner p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:18px;line-height:24px;letter-spacing:-.012em;color:#061B2A;margin:16px 0 32px}
/* Outlined "Read More" button — white fill, black border + text */
.cs-banner .btn{align-self:flex-start;background:#fff;color:#061B2A;border:1px solid #061B2A;border-radius:12px;padding:16px 24px;font-family:'Lexend',var(--font-head);font-weight:600;font-size:16px;box-shadow:none}
.cs-banner .btn:hover{background:#061B2A;color:#fff;transform:translateY(-2px);box-shadow:none}
@media(max-width:860px){.cs-slide{padding:34px 30px}.cs-banner{grid-template-columns:1fr;gap:28px}.cs-banner .cs-photo{min-height:220px}.cs-banner-inner{padding:0}}

/* shared slider controls */
.rev-ctrls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px}
.rev-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-light);background:var(--white);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:all .15s}
.rev-arrow:hover:not(:disabled){border-color:var(--accent-2);color:var(--accent-2)}
.rev-arrow:disabled{opacity:.35;cursor:not-allowed}
.rev-dots{display:flex;gap:8px;align-items:center}
.rev-dots b{width:18px;height:6px;border-radius:6px;background:#cfd9e2;cursor:pointer;transition:all .25s}
.rev-dots b.on{width:34px;background:var(--accent-2)}

/* =========================================================
   REVIEWS (photo avatars)
   ========================================================= */
/* #proof is now the reviews heading block inside the shared white card */
#proof{margin-left:auto;margin-right:auto;text-align:center}
#proof .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:16px}
#proof h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
@media(max-width:680px){#proof h2{font-size:32px;line-height:40px}#proof .eyebrow{font-size:20px}}
.rev-track{display:flex;gap:24px;scroll-snap-type:x mandatory;overflow-x:auto;scroll-behavior:smooth;padding:4px;-ms-overflow-style:none;scrollbar-width:none}
.rev-track::-webkit-scrollbar{display:none}
.rev-track .tcard{scroll-snap-align:start;flex:0 0 calc((100% - 48px)/3);min-width:0}
.tcard{background:#F0F4F6;border:0;border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:20px;transition:transform .18s,box-shadow .2s}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.stars{display:flex;gap:4px;color:rgba(251,191,36,.9)}
.stars svg{width:17px;height:17px}
.tcard blockquote{margin:0;font-family:'Lexend',var(--font-head);font-weight:400;font-size:16px;line-height:24px;letter-spacing:-.015em;color:#1d3344;font-style:normal}
.tcard blockquote b{color:#061B2A;font-weight:700}
.tmeta{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:6px}
.tmeta .tav{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--white) center/cover;border:1px solid var(--line-light);flex-shrink:0}
.tmeta .tav img{width:100%;height:100%;object-fit:cover}
.tmeta .tn{font-family:'Lexend',var(--font-head);font-weight:700;font-size:15px;line-height:20px;letter-spacing:-.015em;color:#061B2A}
.tmeta .tr{font-family:'Lexend',var(--font-head);font-weight:400;font-size:13px;line-height:20px;letter-spacing:-.015em;color:#5b6a76}
@media(max-width:980px){.rev-track .tcard{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.rev-track .tcard{flex:0 0 100%}}

/* =========================================================
   FAQ (two-column header)
   ========================================================= */
.faq-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:48px}
/* FAQ heading block — Lexend, matched to the Figma */
#faq .faq-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#3EADAA;margin-bottom:22px}
.faq-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A;max-width:600px}
.faq-head .faq-aside p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:26px;letter-spacing:-.012em;color:#061B2A;margin-bottom:24px}
#faq .faq-aside .btn{background:linear-gradient(90deg,#8CD28A 0%,#3EADAA 100%);border-radius:12px;padding:16px 24px;font-family:'Lexend',var(--font-head);font-weight:600;font-size:16px;color:#fff;box-shadow:none}
.faq{max-width:none;margin:0}
.faq-item{border:0;border-radius:16px;margin-bottom:16px;background:#F0F4F6;overflow:hidden;transition:background .2s,box-shadow .2s}
.faq-item.open{background:var(--white);box-shadow:var(--shadow-sm)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;
  background:none;border:0;cursor:pointer;font-family:'Lexend',var(--font-head);font-size:20px;font-weight:400;color:#061B2A;padding:23px 30px;letter-spacing:-.012em}
.faq-q .chev{flex-shrink:0;color:#061B2A;transition:transform .25s}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 30px 24px;color:var(--muted);font-size:15.5px;margin:0}
.faq-a p b{font-weight:400;color:inherit}
@media(max-width:860px){.faq-head{grid-template-columns:1fr;gap:20px;align-items:start}}

/* =========================================================
   LEAD CAPTURE WIZARD (green gradient card)
   ========================================================= */
.lead{background:#F0F4F6}
.lead .section-head{margin-left:auto;margin-right:auto;text-align:center}
.lead .section-head p{margin-left:auto;margin-right:auto}
/* Section head — Lexend, matched to the Figma (green eyebrow) */
#demo .section-head .eyebrow{display:block;font-family:'Lexend',var(--font-head);font-weight:400;font-size:24px;line-height:32px;letter-spacing:-.012em;color:#8CD28A;margin-bottom:16px}
#demo .section-head h2{font-family:'Lexend',var(--font-head);font-weight:700;font-size:46px;line-height:56px;letter-spacing:-.015em;color:#061B2A}
#demo .section-head p{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:30px;letter-spacing:-.012em;color:#061B2A;margin-top:18px}
.wizard{max-width:860px;margin:0 auto;background:linear-gradient(90deg,#8CD28A 0%,#3EADAA 100%);border-radius:32px;box-shadow:0 30px 70px -30px rgba(31,174,154,.6);overflow:hidden;color:#fff}
.steps{display:flex;gap:40px;padding:30px 40px 0}
.step-ind{font-family:'Lexend',var(--font-head);font-size:20px;font-weight:400;color:rgba(255,255,255,.85);padding-bottom:12px;border-bottom:2px solid transparent;display:flex;align-items:center;gap:9px;text-transform:capitalize}
.step-ind .sn{display:none}
.step-ind.active{color:#fff;font-weight:600;border-bottom-color:#fff}
.step-ind.done{color:#fff}
.wizard-body{padding:34px 40px 8px}
.fstep{display:none}
.fstep.active{display:block;animation:fade .3s ease}
.fstep h3{font-family:'Lexend',var(--font-head);font-weight:700;font-size:34px;line-height:38px;letter-spacing:-.015em;color:#fff;margin-bottom:10px}
.fstep .hint{font-family:'Lexend',var(--font-head);font-weight:400;color:#fff;font-size:20px;line-height:24px;letter-spacing:-.012em;margin-bottom:22px}
.fstep>.err{font-family:'Lexend',var(--font-head);font-weight:400;font-size:18px;line-height:24px;letter-spacing:-.012em;color:#fff;margin-top:16px}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.opt{
  display:flex;align-items:center;gap:14px;padding:22px 24px;border:1.5px solid transparent;
  border-radius:24px;cursor:pointer;transition:all .15s;background:var(--white);
}
.opt:hover{transform:translateY(-2px)}
.opt.sel{border-color:#0c5a4a;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.opt .oic{width:49px;height:49px;border-radius:10px;background:#3EADAA;display:grid;place-items:center;color:#fff;flex-shrink:0}
.opt .oic svg{width:24px;height:24px}
.opt .ot{font-family:'Lexend',var(--font-head);font-weight:400;font-size:20px;line-height:24px;letter-spacing:-.012em;color:#061B2A}
.opt .od{font-family:'Lexend',var(--font-head);font-weight:300;font-size:16px;line-height:24px;letter-spacing:-.012em;color:#061B2A}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:600;color:#fff;margin-bottom:7px}
.field input,.field select{
  width:100%;padding:14px;border-radius:11px;border:1.5px solid transparent;
  background:var(--white);color:var(--ink);font-size:14.5px;font-family:inherit;transition:box-shadow .15s;
}
.field input::placeholder{color:#9aa6b2}
.field input:focus,.field select:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.4)}
.field input.invalid{border-color:#ff5b5b;box-shadow:0 0 0 3px rgba(255,91,91,.25)}
.field .err{display:none;color:#fff5f5;font-size:12px;margin-top:6px;font-weight:600}
.field .err.show{display:block}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wizard-foot{display:flex;justify-content:flex-end;align-items:center;padding:18px 40px 30px}
.wizard-foot{gap:30px}
.wizard-foot .back{background:none;border:0;color:rgba(255,255,255,.7);font-family:'Lexend',var(--font-head);font-weight:400;cursor:pointer;font-size:18px;letter-spacing:-.012em}
.wizard-foot .back:hover{color:#fff}
.wizard-foot .back[disabled]{opacity:.4;cursor:not-allowed}
.wizard-foot .btn-primary{background:transparent;color:#fff;border:1px solid #fff;border-radius:12px;padding:16px 24px;font-family:'Lexend',var(--font-head);font-weight:600;font-size:16px;box-shadow:none}
.wizard-foot .btn-primary:hover{background:rgba(255,255,255,.12)}
.success{text-align:center;padding:24px 0}
.success .sc{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;margin:0 auto 18px;color:#fff}
.success h3{font-size:23px;color:#fff}
.success p{color:rgba(255,255,255,.88);margin-top:8px}
@media(max-width:620px){.opt-grid,.field-row{grid-template-columns:1fr}.wizard-body{padding:24px}.steps{padding:22px 24px 0;gap:16px}.wizard-foot{padding:18px 24px 24px}}

/* =========================================================
   FOOTER (light)
   ========================================================= */
footer{background:var(--white);color:var(--muted);padding:64px 0 40px;border-top:1px solid var(--line-light);position:relative;overflow:hidden}
/* decorative green loop, bottom-left */
footer:before{content:"";position:absolute;left:-28px;bottom:-66px;width:360px;height:260px;background:url('assets/images/footer-blob.svg') left bottom/contain no-repeat;opacity:1;pointer-events:none;z-index:0}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;position:relative;z-index:1}
.foot-grid .logo{margin-bottom:14px;color:var(--ink)}
footer p{font-family:'Inter',var(--font-body);font-weight:400;font-size:12px;line-height:20px;max-width:339px;color:#061B2A}
.foot-links{display:flex;gap:48px;flex-wrap:wrap}
.foot-col .h6{color:#061B2A;font-family:'Lexend',var(--font-head);font-size:18px;font-weight:600;line-height:1.2;text-transform:capitalize;margin-bottom:20px}
.foot-col .h6::after{content:"";display:block;width:20px;height:3px;border-radius:8px;background:#8CD28A;margin-top:8px}
.foot-col a{display:block;font-family:'Inter',var(--font-body);font-weight:400;font-size:12px;line-height:24px;letter-spacing:-.012em;color:#061B2A;padding:2px 0}
.foot-col a:hover{color:var(--accent-2)}
.foot-badges{display:flex;align-items:center;gap:16px;margin-top:20px}
.foot-badges img{height:34px;width:auto}
.foot-bottom{position:relative;z-index:1;margin-top:44px;padding-top:24px;font-size:13px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;color:var(--muted-2);text-align:center}

/* =========================================================
   SCROLL PROGRESS + REVEAL
   ========================================================= */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:var(--grad)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.pbar{width:0!important;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}

/* mobile menu — slides in from the right as a side panel, leaving space on the left */
.mobile-menu{
  display:none;position:fixed;top:74px;right:0;left:auto;z-index:48;width:80%;max-width:300px;height:calc(100dvh - 74px);background:#fff;
  border-left:1px solid var(--line-light);padding:16px 22px 30px;opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;pointer-events:none;box-shadow:-16px 0 44px -20px rgba(13,28,45,.35);overflow-y:auto;
}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu a{display:block;color:var(--ink-soft);font-size:16px;font-weight:500;padding:14px 0;border-bottom:1px solid var(--line-light)}
.mobile-menu a:last-of-type{border-bottom:0}
.mobile-menu .btn{width:100%;justify-content:center;margin-top:18px;padding:17px 24px;border-radius:14px}
@media(max-width:1024px){.nav-toggle{display:block}.mobile-menu{display:block}}

/* =========================================================
   RESPONSIVE — tablet & phone refinements
   ========================================================= */
@media(max-width:768px){
  .section{padding:60px 0}
  #case-studies{padding:60px 0}
  /* All section headings scale down */
  .section-head h2,.usp .section-head h2,#compare .section-head h2,#modules .section-head h2,
  #multi-location .section-head h2,#audit .shield h2,#case-studies .cs-head h2,#proof h2,
  .faq-head h2,#demo .section-head h2,#pillars .ph-copy h2{
    font-size:26px;line-height:32px;max-width:none;
  }
  /* Eyebrows */
  #pillars .ph-copy .eyebrow,.usp .section-head .eyebrow,#compare .section-head .eyebrow,
  #modules .section-head .eyebrow,#multi-location .eyebrow,#case-studies .cs-head .eyebrow,
  #proof .eyebrow,#faq .faq-head .eyebrow,#demo .section-head .eyebrow,#audit .eyebrow{
    font-size:18px;line-height:26px;
  }
  /* Paragraphs */
  #multi-location .section-head p,#case-studies .cs-head p,#demo .section-head p,
  .usp .section-head p,#compare .section-head p,#modules .section-head p,#pillars .ph-copy p,
  .faq-head .faq-aside p{font-size:16px;line-height:25px}
  /* Pillars two-column header → tidy single column */
  #pillars .wrap{padding-left:20px;padding-right:20px}
  #pillars .ph-head{margin-bottom:44px;gap:24px}
  #pillars .ph-cta{margin-top:6px;width:100%;max-width:none}
  /* Modules full-bleed card → reset so it never overflows */
  .mod-card{margin-left:0;margin-right:0;border-radius:24px;padding:36px 22px}
  #modules .mod-deco{display:none}
  /* Case studies / reviews white card padding */
  .cases-wrap{padding:36px 20px}
  .cs-figure::before{inset:-20px -24px}
  .cs-banner h3{font-size:28px;line-height:34px}
  /* Audit */
  #audit .shield-grid{gap:28px}
  /* Footer → stacked columns */
  .foot-grid{flex-direction:column;gap:32px}
  .foot-links{gap:32px}
  footer:before{width:240px;bottom:-44px}
  /* Wizard */
  .wizard{border-radius:24px}
  .steps{gap:20px;flex-wrap:wrap}
  .step-ind{font-size:16px}
  .fstep h3{font-size:26px;line-height:32px}
  .fstep .hint{font-size:17px}
}

@media(max-width:480px){
  .section{padding:48px 0}
  .section-head h2,.usp .section-head h2,#compare .section-head h2,#modules .section-head h2,
  #multi-location .section-head h2,#audit .shield h2,#case-studies .cs-head h2,#proof h2,
  .faq-head h2,#demo .section-head h2,#pillars .ph-copy h2{
    font-size:24px;line-height:30px;
  }
  .hero h1{font-size:28px;line-height:34px}
  .cs-slide{padding:24px 14px}
  .cs-banner h3{font-size:24px;line-height:30px}
  .split-card{padding:26px 22px}
  .cases-wrap{padding:30px 16px}
  .mod-card{padding:30px 18px}
  /* Wizard options + footer wrap */
  .opt{padding:16px}
  .opt .ot{font-size:17px}
  .step-ind{font-size:15px}
  .wizard-foot{flex-wrap:wrap;justify-content:center;gap:14px}
  .foot-links{flex-direction:column;gap:24px}
  .foot-badges img{height:30px}
}

/* Audit grid must collapse on tablet/phone (placed last to beat the
   ID-specificity desktop rule that re-sets two columns). */
@media(max-width:860px){
  #audit .shield-grid{grid-template-columns:1fr;gap:30px}
  #audit .access-card{width:100%}
}

/* ---- Hero / top-of-page mobile refinements ---- */
@media(max-width:768px){
  .hero{padding:36px 0 52px}
  .hero .eyebrow{font-size:18px;line-height:24px;margin-bottom:10px}
  .hero h1{font-size:26px;line-height:32px;max-width:none;letter-spacing:-.01em}
  .hero p.lede{font-size:16px;line-height:24px;margin:14px 0 22px;max-width:none}
  /* two CTAs share one row */
  .hero-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero .hero-ctas .btn-lg{width:100%;min-width:0;padding:13px 10px;font-size:13px;min-height:0;text-align:center;line-height:1.25;white-space:normal}
  /* compact "Book A Demo" button so it sits like the menu icon */
  .nav-cta{gap:8px}
  .nav-cta .btn-primary{padding:7px 12px;font-size:12px}
  /* dashboard chrome: keep only "ComplyWise", crop the rest */
  .mock-title{clip-path:inset(0 58% 0 0)}
  /* trust cards smaller */
  .trust-cards{gap:12px}
  .trust-card{min-width:118px;padding:16px 10px;border-radius:14px;gap:8px}
  .trust-card .tci{width:36px;height:36px}
  .trust-card .tci svg{width:34px;height:34px}
  .trust-card .tcl{font-size:12px}
  /* dashboard mockup smaller + numbers fit */
  .mock{padding:18px 12px;border-radius:18px;max-width:none;margin-top:8px}
  /* simple rounded-top tab (drop the shoulder-slope clip-path) */
  .mock-chrome{clip-path:none;border-radius:13px 13px 0 0;width:auto;max-width:none;height:34px;top:-14px;left:0;padding:0 16px 0 14px;gap:7px}
  /* green background shape: peeks a little above the dashboard, still below the logos */
  .hero-shape{height:470px;width:auto;right:-60px;left:auto;top:auto;bottom:-18px;transform:none;opacity:.5}
  .mock-inner{padding:14px;border-radius:12px}
  .mock-stats{gap:8px}
  .mstat{padding:14px 6px;border-radius:16px}
  .mstat .mn{font-size:22px}
  .mstat .ml{font-size:11px;line-height:1.2;margin-top:5px}
  .mtask-head .mh{font-size:15px}
  .mtask-head .mweek{font-size:12px}
  .mtask{font-size:13px;gap:8px;padding:8px 0}
  .mbadge{font-size:11px;padding:4px 9px}
}
@media(max-width:480px){
  .hero h1{font-size:24px;line-height:30px}
  .hero .hero-ctas .btn-lg{padding:12px 8px;font-size:12.5px}
  .nav-cta .btn-primary{padding:6px 11px;font-size:11.5px}
  .trust-card{min-width:104px}
  .mstat .mn{font-size:20px}
  .mstat .ml{font-size:10.5px}
  .mock-chrome{width:196px}
}

/* =========================================================
   MOBILE — shrink every card + table + dashboards (consolidated)
   ========================================================= */
@media(max-width:768px){
  /* Pillars value cards */
  .card{padding:22px 20px;border-radius:14px}
  .card .ic{width:44px;height:44px;border-radius:11px;margin-bottom:14px}
  .card h3{font-size:18px;line-height:24px;margin-bottom:10px}
  .card p,.card p strong{font-size:15px;line-height:24px}
  .card .read-more{font-size:13px;margin-top:14px}

  /* USP stat cards (120+, 2.4M, 70%) */
  .stat-row{gap:16px}
  .ustat{width:100%;max-width:320px;height:auto;padding:22px 18px;border-radius:18px}
  .ustat .uic{margin-bottom:12px}
  .ustat .uic svg{width:46px;height:auto}
  .ustat .un{font-size:30px}
  .ustat .ul{font-size:15px;line-height:22px;margin-top:8px}
  .rated{gap:12px}
  .rated .rtxt{font-size:15px;line-height:21px}
  .avstack span{width:40px;height:40px;margin-left:-30px}

  /* Multi-location split cards */
  .split-card{padding:26px 22px;border-radius:26px}
  .lvl{font-size:14px;padding:7px 16px;margin-bottom:18px}
  .split-card h3{font-size:24px;line-height:30px;margin-bottom:18px}
  .split-list li{font-size:15px;line-height:21px;padding:12px 0;gap:11px}
  .split-list .ck{width:22px;height:22px;border-radius:6px}
  .split-list .ck svg{width:12px;height:12px}

  /* Case-study text card */
  .cs-banner .cs-label{font-size:14px;margin-bottom:12px}
  .cs-banner p{font-size:15px;line-height:23px;margin:12px 0 22px}
  .cs-banner .btn{padding:13px 20px;font-size:14px}

  /* Review cards */
  .tcard{padding:26px 22px;border-radius:18px;gap:16px}
  .stars svg{width:16px;height:16px}
  .tcard blockquote{font-size:15px;line-height:23px}
  .tmeta .tav{width:42px;height:42px}
  .tmeta .tn{font-size:14px}
  .tmeta .tr{font-size:12.5px}

  /* FAQ cards */
  .faq-item{border-radius:14px;margin-bottom:12px}
  .faq-q{font-size:16px;line-height:22px;padding:16px 18px}
  .faq-a p{padding:0 18px 18px;font-size:14.5px}

  /* Comparison table — fit all columns, no clipping */
  .cmp-wrap{overflow-x:visible}
  table.cmp{min-width:0;font-size:12px}
  table.cmp th,table.cmp td{padding:9px 8px;vertical-align:top}
  table.cmp thead th{font-size:11px}
  table.cmp tbody th{width:38%;font-size:12px}
  table.cmp td .y,table.cmp td .n{font-size:13px;margin-left:3px}

  /* Modules "Data Sanitization Verification" dashboard */
  .pane-visual{padding:16px 12px 14px;border-radius:18px}
  .v-inner{padding:14px;border-radius:12px}
  .v-head{font-size:12px;margin-bottom:14px}
  .v-head .badge{font-size:9.5px;padding:3px 8px}
  .v-grid2{gap:8px}
  .v-stat{padding:14px 10px;border-radius:12px}
  .v-stat .n{font-size:22px}
  .v-stat .l{font-size:10.5px;margin-top:4px}
  .v-row{font-size:12px;padding:10px 2px;gap:8px}
  .v-row .val{font-size:10px;padding:3px 8px}
  .v-inner .v-head .h4,.v-inner .v-head{font-size:13px}
}
@media(max-width:480px){
  .card{padding:20px 18px}
  .card h3{font-size:17px}
  .ustat{max-width:none}
  .split-card h3{font-size:22px;line-height:28px}
  .tcard{padding:22px 18px}
  .faq-q{font-size:15px}
  table.cmp{font-size:11px}
  table.cmp th,table.cmp td{padding:8px 6px}
  .v-stat .n{font-size:20px}
}

/* Modules stepper (Previous / 1/4 / Next) + wizard option cards */
@media(max-width:768px){
  .mod-nav{gap:12px;margin-top:28px;flex-wrap:wrap}
  .mod-nav .step-btn{padding:9px 14px;font-size:13px;border-radius:10px}
  .mod-nav .step-btn svg{width:15px;height:15px}
  .mod-dots{gap:7px}
  .mod-dots b{width:7px;height:7px}
  .mod-count{font-size:12px;min-width:36px}
  /* wizard bottleneck option cards */
  .opt{padding:16px 14px;gap:12px;border-radius:18px}
  .opt .oic{width:42px;height:42px;border-radius:12px}
  .opt .oic svg{width:20px;height:20px}
  .opt .ot{font-size:16px;line-height:21px}
  .opt .od{font-size:13px;line-height:18px}
}
@media(max-width:480px){
  .mod-nav .step-btn{padding:8px 12px;font-size:12px}
  .opt{padding:14px 12px;gap:10px}
  .opt .oic{width:38px;height:38px}
  .opt .ot{font-size:15px}
  .opt .od{font-size:12px}
}

/* Footer — left-aligned, two columns per row on mobile (OLIPOP-style) */
@media(max-width:768px){
  footer{padding:48px 0 36px}
  .foot-grid{flex-direction:column;align-items:flex-start;text-align:left;gap:30px}
  footer p{max-width:none;text-align:left}
  .foot-links{display:grid;grid-template-columns:1fr 1fr;gap:30px 22px;width:100%}
  .foot-col .h6::after{margin-left:0}
  .foot-badges{justify-content:flex-start;margin-top:18px}
  .foot-bottom{margin-top:36px;text-align:center;position:relative;z-index:1}
  footer:before{left:-30px;transform:none;bottom:-26px;width:280px;height:220px;opacity:.55;z-index:0}
}
