/*
Theme Name: MAS LABS FCC Dark
Theme URI: https://www.maslabsltd.com
Author: MAS LABS Ltd
Author URI: https://www.maslabsltd.com
Description: The Financial Crime Compliance Lab — dark-tech two-page brand theme (Home + ThinkLAB) for MAS LABS. Deep navy #101527 background, brand yellow #FFD832, cyan ThinkLAB accent, Space Grotesk + IBM Plex. Interest-registration bands wired for WPForms, LinkedIn + founder photo via Customizer.
Version: 2.7.2
Requires at least: 6.0
Tested up to: 6.5
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: maslabs-fcc-dark
*/

:root{
  --bg:#101527; --bg2:#181E3A; --card:#1B2244; --panel:#2F3557;
  --line:#3A4373; --line-soft:#2B3260;
  --yellow:#FFD832; --yellow-dim:#E0BC2A;
  --cyan:#4FE0F2; --cyan-bg:rgba(79,224,242,.12);
  --green:#4ADE80; --red:#FF9A8C;
  --text:#FFFFFF; --soft:#C6CDEA;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:'IBM Plex Sans',sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(rgba(99,207,222,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(99,207,222,.035) 1px,transparent 1px);
  background-size:44px 44px;
}
.mono{font-family:'IBM Plex Mono',monospace}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--yellow)}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.1;font-weight:700;letter-spacing:-.01em;color:#FFFFFF}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
a{color:inherit}
button{font-family:inherit}

/* ---------- header ---------- */
header{border-bottom:1px solid var(--line);background:rgba(16,21,39,.94);backdrop-filter:blur(8px);position:fixed;top:0;left:0;right:0;z-index:40}
.admin-bar header{top:32px}
@media screen and (max-width:782px){.admin-bar header{top:46px}}
body{padding-top:72px}
.hd{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px}
.logo{cursor:pointer;display:flex;align-items:center;text-decoration:none !important;padding-left:4px}
.hd-actions{display:flex;align-items:center;gap:8px}
.hamburger{margin-left:2px}
.logo:hover,.logo:focus,.beta-badge{text-decoration:none !important}
.logo img{height:38px;display:block;border-radius:3px}
nav.main{display:flex;gap:4px;align-items:center}
nav.main button{background:none;border:none;cursor:pointer;padding:8px 14px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#E4E8FA;border-bottom:2px solid transparent}
nav.main button.on{color:var(--yellow);border-bottom-color:var(--yellow)}
nav.main button:hover{color:var(--text)}
/* dropdown groups */
.nav-item{position:relative;display:inline-flex}
.nav-top{display:inline-flex;align-items:center;gap:6px}
.nav-top .caret{font-size:9px;opacity:.7;transition:transform .15s ease}
.nav-item:hover .nav-top .caret{transform:rotate(180deg)}
.nav-menu{position:absolute;top:100%;left:0;min-width:170px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:6px;display:none;flex-direction:column;gap:2px;box-shadow:0 14px 34px rgba(0,0,0,.35);z-index:60}
.nav-item:hover .nav-menu,.nav-item.open .nav-menu{display:flex}
.nav-menu a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#E4E8FA;text-decoration:none;padding:9px 12px;border-radius:4px;white-space:nowrap}
.nav-menu a:hover{background:var(--panel);color:var(--yellow)}
[data-theme="light"] .nav-menu a{color:var(--soft)}
[data-theme="light"] .nav-menu a:hover{background:var(--line-soft);color:#B58900}

/* ---------- shared ---------- */
.stamp{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;padding:3px 9px;border-radius:2px;border:1px solid}
.stamp.live{color:var(--green);border-color:var(--green);background:rgba(111,207,142,.1)}
.stamp.dev{color:var(--yellow);border-color:var(--yellow-dim);background:rgba(255,222,89,.08)}
.stamp.soon{color:var(--soft);border-color:var(--line);background:transparent}
.stamp.pre{color:var(--cyan);border-color:var(--cyan);background:rgba(79,224,242,.08)}
.btn{display:inline-block;padding:13px 24px;border-radius:3px;cursor:pointer;text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;transition:transform .15s ease,box-shadow .15s ease;border:1px solid var(--yellow)}
.btn:hover{transform:translateY(-2px)}
.btn.solid{background:var(--yellow);color:#14182B;box-shadow:0 0 24px rgba(255,222,89,.18)}
.btn.solid:hover{box-shadow:0 0 34px rgba(255,222,89,.3)}
.btn.ghost{background:transparent;color:var(--yellow)}
section{padding:76px 0;border-bottom:1px solid var(--line-soft)}
.sec-head{margin-bottom:36px}
.sec-head h2{font-size:clamp(26px,4vw,36px);margin-top:10px}

/* ---------- hero ---------- */
.hero{padding:88px 0 70px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;top:-160px;right:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(255,222,89,.10) 0%,transparent 65%);pointer-events:none}
.hero h1{font-size:clamp(34px,6vw,58px);max-width:16ch;margin:16px 0 20px}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero p.lede{font-size:clamp(16px,2.2vw,19px);color:var(--soft);max-width:52ch;margin-bottom:32px}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}
.term{margin-top:54px;border:1px solid var(--line);border-radius:5px;background:var(--bg2);padding:14px 18px;display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.term .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.term div{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.07em;color:#D7DDF6}
.term b{color:var(--text);font-weight:600}
@media(prefers-reduced-motion:reduce){.term .dot{animation:none}}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:26px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s}
.pillar:hover{border-color:var(--soft)}
.pillar.flag{border:1px solid var(--cyan);background:linear-gradient(180deg,var(--cyan-bg) 0%,var(--card) 40%)}
.pillar .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--soft)}
.pillar.flag .tag{color:var(--cyan)}
.pillar h3{font-size:22px}
.pillar p{font-size:14.5px;color:var(--soft);flex:1}
.pillar a.more{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;text-decoration:none;color:var(--yellow);cursor:pointer}
.pillar a.more:hover{color:var(--text)}

/* ---------- focus grid ---------- */
.focus{display:flex;flex-wrap:wrap;gap:9px}
.focus span{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--line);border-radius:2px;background:var(--bg2);color:var(--text)}
.focus span:hover{border-color:var(--cyan);color:var(--cyan)}

/* ---------- founder ---------- */
.founder{display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:start}
.founder .ph{aspect-ratio:1;background:var(--panel);border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--soft);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-align:center;padding:14px}
.founder blockquote{font-family:'Space Grotesk',sans-serif;font-size:clamp(19px,2.6vw,24px);font-weight:500;line-height:1.4;margin-bottom:14px}
.founder blockquote::before{content:"// ";color:var(--yellow);font-family:'IBM Plex Mono',monospace}
.founder .who{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
@media(max-width:640px){.founder{grid-template-columns:1fr}.founder .ph{max-width:180px}}
@media(max-width:768px){
  .hd{position:relative}
  .hamburger{display:flex}
  /* signup + toggle stay OUTSIDE the hamburger, always visible */
  .hd-actions{gap:6px}
  .btn-signup{padding:7px 13px;font-size:10.5px;margin:0}
  /* nav becomes a slide-down panel below the whole header */
  nav.main{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg2);border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:8px 0;display:none;box-shadow:0 18px 40px rgba(0,0,0,.4);z-index:80
  }
  nav.main.open{display:flex}
  .nav-item{width:100%;display:block;position:static}
  .nav-top{width:100%;justify-content:space-between;padding:13px 22px;font-size:12px}
  .nav-menu{position:static;transform:none;min-width:0;width:100%;
    background:transparent;border:none;box-shadow:none;border-radius:0;
    padding:0;display:none}
  .nav-item:hover .nav-menu{display:none}
  .nav-item.open .nav-menu{display:flex}
  .nav-menu a{text-align:left;padding:11px 38px;font-size:11.5px}
  html,body{overflow-x:hidden}
}
@media(max-width:640px){
  .hd .logo img{height:30px}
  .logo{padding-left:8px}
  header .wrap{padding-left:14px;padding-right:14px;box-sizing:border-box}
}

/* ---------- insights ---------- */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.post{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:5px;padding:22px;transition:transform .15s}
.post:hover{transform:translateY(-3px)}
.post.tech{border-left-color:var(--cyan)}
.post .cat{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--red)}
.post.tech .cat{color:var(--cyan)}
.post h3{font-size:18px;margin:9px 0 8px}
.post p{font-size:13.5px;color:var(--soft)}

/* ---------- register band ---------- */
.band{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:44px 34px;display:block;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 15% 0%,rgba(255,222,89,.07),transparent);pointer-events:none}
.band > div:first-child{margin-bottom:24px;position:relative;max-width:640px}
.band h2{font-size:clamp(24px,3.4vw,32px)}
.band p{color:var(--soft);font-size:15px;margin-top:10px}
.band form{display:flex;flex-direction:column;gap:12px;position:relative;width:100%}
.band .wpforms-container{position:relative;width:100%}
.band input,.band textarea{padding:14px 16px;border-radius:3px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;font-size:15px;width:100%;box-sizing:border-box}
.band input::placeholder{color:var(--soft)}
.band input:focus,.band textarea:focus{outline:1px solid var(--yellow);border-color:var(--yellow)}
/* full-width WPForms inside the register band */
.band .wpforms-field{width:100%;max-width:100%;padding:0 0 14px}
.band .wpforms-field-row,.band .wpforms-field-medium,.band .wpforms-field-large{max-width:100%!important;width:100%!important}
.band .wpforms-form input,.band .wpforms-form textarea,.band .wpforms-form select{width:100%!important;box-sizing:border-box}

/* ---------- footer ---------- */
footer{padding:44px 0 34px}
.ft{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.ft .mono{font-size:11.5px;color:var(--soft);letter-spacing:.05em;line-height:2}
.ft b{color:var(--text)}
.ft a{text-decoration:none}
.ft a:hover{color:var(--yellow)}
.ft img{height:32px;border-radius:3px;margin-bottom:10px;display:block}

/* ---------- thinklab page ---------- */
.tl-hero{padding:88px 0 70px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(99,207,222,.07) 0%,transparent 80%);position:relative}
.tl-hero h1{font-size:clamp(32px,5.6vw,54px);max-width:19ch;margin:16px 0 18px}
.tl-hero p{font-size:clamp(16px,2.2vw,18.5px);color:var(--soft);max-width:56ch}
.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.proj{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:11px;transition:border-color .2s}
.proj:hover{border-color:var(--cyan)}
.proj .num{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:.16em;font-weight:600}
.proj h3{font-size:20px}
.proj p{font-size:14px;color:var(--soft);flex:1}
.proj .row{display:flex;justify-content:space-between;align-items:center}
.proj .follow{font-family:'IBM Plex Mono',monospace;font-size:11px;text-decoration:none;font-weight:600;letter-spacing:.08em;color:var(--yellow)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.step{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:22px}
.step h3{font-size:17px;margin-bottom:7px}
.step p{font-size:13.5px;color:var(--soft)}
.step .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--yellow);font-weight:600;letter-spacing:.16em;display:block;margin-bottom:8px}




/* ===== GlobalED pricing panel ===== */
.pricing{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:48px 40px;text-align:center;position:relative;overflow:hidden}
.pricing::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 240px at 50% 0%,rgba(255,216,50,.10),transparent);pointer-events:none}
.pricing-inner{position:relative;max-width:720px;margin:0 auto}
.pricing-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.pricing h2{font-size:clamp(30px,4.6vw,44px);margin-bottom:14px;color:#fff}
.pricing-lede{color:var(--soft);font-size:16px;line-height:1.6;max-width:56ch;margin:0 auto 30px}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 auto 32px;max-width:640px;text-align:left}
.tier{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px}
.tier .t-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}
.tier h3{font-family:'Space Grotesk',sans-serif;font-size:18px;color:#fff;margin-bottom:6px}
.tier .price{font-family:'Space Grotesk',sans-serif;font-size:15px;color:var(--cyan);margin-bottom:10px}
.tier p{color:var(--soft);font-size:13.5px;line-height:1.5}
@media(max-width:640px){.tiers{grid-template-columns:1fr}.pricing{padding:36px 22px}}
/* ===== footer contact icons ===== */
.ft-contact{display:flex;flex-direction:column;gap:9px}
.ft-line{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--soft)}
.ft-line svg{flex-shrink:0;color:var(--yellow)}
.ft-line a{text-decoration:none;color:var(--soft)}
.ft-line:hover,.ft-line:hover a{color:var(--yellow)}
.ft-wa{display:inline-flex;align-items:center;margin-left:2px}
.ft-wa svg{color:#4ADE80}
.ft-wa:hover svg{opacity:.8}
/* ===== nav LinkedIn button with icon ===== */
.nav-li{display:inline-flex;align-items:center;gap:6px}
.nav-li svg{flex-shrink:0}
/* ===== BETA badge next to logo ===== */
.logo{display:inline-flex;align-items:center;gap:8px}
.beta-badge{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);text-decoration:none;line-height:1;align-self:center}
@media(max-width:640px){.beta-badge{font-size:10.5px;letter-spacing:.06em}}
/* ===== pre-launch disclaimer ===== */
.ft-logo-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.ft-logo-row img{margin-bottom:0}
.ft-beta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);line-height:1}

/* ================= LIGHT / DARK TOGGLE ================= */
/* highlight span used in headings (yellow in dark, gold in light) */
.hl{color:var(--yellow)}

/* theme toggle button */
.theme-toggle{background:none;border:none;cursor:pointer;color:#E4E8FA;padding:6px 8px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.theme-toggle:hover{color:var(--yellow)}
.theme-toggle .icon-moon{display:none}
.theme-toggle .icon-sun{display:inline-flex}
[data-theme="light"] .theme-toggle .icon-sun{display:none}
[data-theme="light"] .theme-toggle .icon-moon{display:inline-flex}
[data-theme="light"] .theme-toggle{color:var(--soft)}

/* ---- LIGHT PALETTE ---- */
[data-theme="light"]{
  --bg:#F5F7FB; --bg2:#FFFFFF; --card:#FFFFFF; --panel:#2F3557;
  --line:#D7DDEC; --line-soft:#E5E9F3;
  --yellow:#FFD21E; --yellow-dim:#D9A800;
  --cyan:#0C93A6; --cyan-bg:rgba(12,147,166,.07);
  --green:#1E9E50; --red:#C0392B;
  --text:#141A38; --soft:#2A3557;
}
[data-theme="light"] p{color:#26314F}
[data-theme="light"] .pillar p,[data-theme="light"] .proj p,[data-theme="light"] .step p,
[data-theme="light"] .post p,[data-theme="light"] .tier p,[data-theme="light"] .lede,
[data-theme="light"] .pricing-lede,[data-theme="light"] .founder p{color:#26314F}
[data-theme="light"] body{
  background-image:
    linear-gradient(rgba(47,53,87,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,53,87,.05) 1px,transparent 1px);
}
[data-theme="light"] header{background:rgba(245,247,251,.92)}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3{color:var(--text)}
[data-theme="light"] nav.main button{color:var(--soft)}
[data-theme="light"] nav.main button.on{color:#B58900;border-bottom-color:#B58900}
[data-theme="light"] nav.main button:hover{color:var(--text)}
[data-theme="light"] .term div{color:var(--soft)}
[data-theme="light"] .term b{color:var(--text)}
[data-theme="light"] .pricing h2,[data-theme="light"] .tier h3{color:var(--text)}
/* yellow accents -> gold for readable contrast on light */
[data-theme="light"] .eyebrow,
[data-theme="light"] .hl,
[data-theme="light"] .hero h1 em,
[data-theme="light"] .pillar a.more,
[data-theme="light"] .proj .follow,
[data-theme="light"] .step .n,
[data-theme="light"] .tier .t-label,
[data-theme="light"] .beta-badge,
[data-theme="light"] .ft-beta,
[data-theme="light"] .ft-line svg{color:#B58900}
[data-theme="light"] .stamp.dev{color:#B58900;border-color:#D9A800}
[data-theme="light"] .btn.ghost{color:var(--text);border-color:var(--panel)}
/* soft shadows so white cards separate from the light background */
[data-theme="light"] .pillar,[data-theme="light"] .proj,[data-theme="light"] .step,
[data-theme="light"] .post,[data-theme="light"] .tier,[data-theme="light"] .term,
[data-theme="light"] .band,[data-theme="light"] .pricing{box-shadow:0 2px 12px rgba(20,26,56,.06)}

/* ---- WPForms (theme-managed, adapts to light/dark) ---- */
.band .wpforms-container,.band .wpforms-form,.band .wpforms-field,.band .wpforms-field-row,
.band .wpforms-field-medium,.band .wpforms-field-small,.band .wpforms-field-large{max-width:100%!important;width:100%!important;box-sizing:border-box}
.band .wpforms-form input,.band .wpforms-form select,.band .wpforms-form textarea{width:100%!important;box-sizing:border-box!important;background:var(--bg)!important;border:1px solid var(--line)!important;color:var(--text)!important}
.band .wpforms-form input::placeholder,.band .wpforms-form textarea::placeholder{color:var(--soft)!important}
.band .wpforms-container label,.band .wpforms-field-label,.band .wpforms-field-sublabel{color:var(--text)!important}
.band .wpforms-submit,.band button[type="submit"]{background:var(--yellow)!important;color:#101527!important;border:none!important;padding:13px 26px!important;border-radius:3px!important;font-family:'IBM Plex Mono',monospace!important;font-size:12px!important;font-weight:600!important;letter-spacing:.09em!important;text-transform:uppercase!important;cursor:pointer!important;width:auto!important}
/* GlobalED curriculum labels: yellow in dark, gold in light */
.proj .num.hl-num{color:var(--yellow)}
[data-theme="light"] .proj .num.hl-num{color:#B58900}

/* ===== founder name + stat cards ===== */
.founder-name{font-size:clamp(24px,3.4vw,32px);font-weight:700;line-height:1.1;margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 14px;text-align:center;display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.6vw,34px);line-height:1;color:var(--cyan)}
.stat-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);line-height:1.4}
[data-theme="light"] .stat{box-shadow:0 2px 12px rgba(20,26,56,.06)}
[data-theme="light"] .stat-label{color:#26314F}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ===== Sign Up button + modal ===== */
.btn-signup{background:var(--yellow);color:#101527;border:1px solid var(--yellow-dim);border-radius:3px;cursor:pointer;padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-left:6px;transition:transform .15s ease}
.btn-signup:hover{transform:translateY(-1px)}

.ml-modal{position:fixed;inset:0;z-index:200;display:none}
.ml-modal.is-open{display:block}
.ml-modal-backdrop{position:absolute;inset:0;background:rgba(8,11,22,.72);backdrop-filter:blur(3px)}
.ml-modal-box{position:relative;max-width:480px;margin:6vh auto;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:34px 30px;max-height:86vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ml-modal-box h2{font-size:clamp(24px,3.4vw,30px);margin-top:8px}
.ml-modal-lede{color:var(--soft);font-size:14.5px;margin:10px 0 22px}
.ml-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--soft);font-size:26px;line-height:1;cursor:pointer}
.ml-modal-close:hover{color:var(--yellow)}
@media(max-width:640px){.ml-modal-box{margin:4vh 14px;padding:26px 20px}}

/* consent checkboxes */
.ml-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0;font-size:12.5px;line-height:1.5;color:var(--soft)}
.ml-consent input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--yellow)}
.ml-consent a{color:var(--yellow)}
.band .wpforms-container .wpforms-field-checkbox label,
.ml-modal .wpforms-field-checkbox label{font-size:12.5px!important;line-height:1.5!important}
.ml-modal .wpforms-container{width:100%}
.ml-modal .wpforms-form input,.ml-modal .wpforms-form select,.ml-modal .wpforms-form textarea{width:100%!important;box-sizing:border-box!important;background:var(--bg)!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:13px 14px!important;border-radius:3px!important}
.ml-modal .wpforms-form input::placeholder{color:var(--soft)!important}
.ml-modal .wpforms-container label,.ml-modal .wpforms-field-label,.ml-modal .wpforms-field-sublabel{color:var(--text)!important}
.ml-modal .wpforms-submit,.ml-modal button[type="submit"]{background:var(--yellow)!important;color:#101527!important;border:none!important;padding:13px 26px!important;border-radius:3px!important;font-family:'IBM Plex Mono',monospace!important;font-size:12px!important;font-weight:600!important;letter-spacing:.09em!important;text-transform:uppercase!important;cursor:pointer!important;width:auto!important}
.maslabs-fallback-form{display:flex;flex-direction:column;gap:12px}
.maslabs-fallback-form input[type=text],.maslabs-fallback-form input[type=email]{padding:13px 14px;border-radius:3px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;font-size:14px;width:100%;box-sizing:border-box}
.maslabs-fallback-form input::placeholder{color:var(--soft)}
.maslabs-fallback-form .btn{margin-top:6px;align-self:flex-start}

/* legal pages */
.legal{max-width:780px}
.legal h2{font-size:22px;margin:28px 0 10px}
.legal p,.legal li{color:var(--soft);font-size:15px;line-height:1.7}
.legal ul{margin:8px 0 8px 20px}
.legal .updated{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.legal-notice{border:1px dashed var(--yellow-dim);background:rgba(255,216,50,.07);border-radius:5px;padding:14px 16px;margin:20px 0;font-size:13.5px;color:var(--text)}
/* signup button emphasis + mobile */
.btn-signup{box-shadow:0 0 18px rgba(255,216,50,.18)}
.btn-signup:hover{box-shadow:0 0 26px rgba(255,216,50,.32)}
@media(max-width:640px){.btn-signup{padding:7px 14px;font-size:10.5px;margin-left:0}}
.maslabs-fallback-form input[type=tel]{padding:13px 14px;border-radius:3px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;font-size:14px;width:100%;box-sizing:border-box}
/* country select in fallback + modal forms */
.ml-select,.maslabs-fallback-form select{padding:13px 14px;border-radius:3px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;font-size:14px;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--soft) 50%),linear-gradient(135deg,var(--soft) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.ml-select:focus{outline:1px solid var(--yellow);border-color:var(--yellow)}
.ml-select option{background:var(--bg2);color:var(--text)}

/* ===== signup button: navy in light mode ===== */
[data-theme="light"] .btn-signup{background:var(--panel);color:#FFD21E;border-color:var(--panel);box-shadow:0 3px 12px rgba(47,53,87,.25)}
[data-theme="light"] .btn-signup:hover{box-shadow:0 5px 18px rgba(47,53,87,.35)}

/* ===== checkbox alignment (WPForms + fallback) ===== */
.ml-modal .wpforms-field-checkbox ul,
.band .wpforms-field-checkbox ul,
.ml-modal .wpforms-field-radio ul,
.band .wpforms-field-radio ul{list-style:none!important;margin:0!important;padding:0!important}
.ml-modal .wpforms-field-checkbox li,
.band .wpforms-field-checkbox li,
.ml-modal .wpforms-field-radio li,
.band .wpforms-field-radio li{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0 0 8px 0!important;padding:0!important}
.ml-modal .wpforms-field-checkbox li input[type=checkbox],
.band .wpforms-field-checkbox li input[type=checkbox],
.ml-modal .wpforms-field-radio li input[type=radio],
.band .wpforms-field-radio li input[type=radio]{width:16px!important;height:16px!important;min-width:16px!important;margin:2px 0 0 0!important;flex-shrink:0!important;position:static!important;float:none!important;accent-color:var(--yellow)}
.ml-modal .wpforms-field-checkbox li label,
.band .wpforms-field-checkbox li label,
.ml-modal .wpforms-field-radio li label,
.band .wpforms-field-radio li label{margin:0!important;padding:0!important;display:inline!important;font-size:12.5px!important;line-height:1.5!important;font-weight:400!important;cursor:pointer}
/* hide the big field label above a single consent checkbox */
.ml-modal .wpforms-field-checkbox > .wpforms-field-label{font-size:12px!important;margin-bottom:6px!important}
[data-theme="light"] .ml-consent{color:#26314F}
[data-theme="light"] .ml-consent a{color:#B58900}
/* LinkedIn item with icon in dropdown — inline icon so it aligns like other links */
.nav-li-item svg{vertical-align:middle;margin-left:5px}

/* ===== hamburger (mobile/tablet only) ===== */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
[data-theme="light"] .hamburger span{background:var(--text)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== scroll reveal + subtle motion ===== */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* stagger within grids */
.pillars .reveal:nth-child(2),.projects .reveal:nth-child(2),.steps .reveal:nth-child(2),.stats .reveal:nth-child(2),.posts .reveal:nth-child(2){transition-delay:.08s}
.pillars .reveal:nth-child(3),.projects .reveal:nth-child(3),.steps .reveal:nth-child(3),.stats .reveal:nth-child(3),.posts .reveal:nth-child(3){transition-delay:.16s}
.pillars .reveal:nth-child(4),.projects .reveal:nth-child(4),.stats .reveal:nth-child(4){transition-delay:.24s}
.projects .reveal:nth-child(n+5){transition-delay:.30s}
/* gentle hero glow pulse */
.hero::after{animation:heroGlow 7s ease-in-out infinite}
@keyframes heroGlow{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
/* card hover lift (adds depth) */
.pillar,.proj,.step,.post,.stat,.tier{transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease}
.pillar:hover,.proj:hover,.post:hover,.tier:hover{transform:translateY(-4px)}
.stat:hover{transform:translateY(-3px)}
/* animated underline sweep on section headings */
.sec-head h2{position:relative;display:inline-block}
.sec-head h2::after{content:"";position:absolute;left:0;bottom:-8px;height:3px;width:0;background:var(--yellow);border-radius:2px;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.sec-head.in h2::after,.sec-head:hover h2::after{width:48px}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none}
  .hero::after{animation:none}
  .sec-head h2::after{transition:none}
}

/* ===== animated compliance/analytics background ===== */
.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32;will-change:transform}
.bg-orb-1{width:440px;height:440px;background:radial-gradient(circle,rgba(79,224,242,.5),transparent 70%);top:-120px;left:-80px;animation:orbFloat1 26s ease-in-out infinite}
.bg-orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(255,216,50,.4),transparent 70%);top:40%;right:-120px;animation:orbFloat2 32s ease-in-out infinite}
.bg-orb-3{width:360px;height:360px;background:radial-gradient(circle,rgba(74,222,128,.35),transparent 70%);bottom:-140px;left:35%;animation:orbFloat3 30s ease-in-out infinite}
@keyframes orbFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,80px)}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-80px,-50px)}}
@keyframes orbFloat3{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-70px)}}
/* slow horizontal "scan" line, like an analytics sweep */
.bg-scan{position:absolute;left:0;right:0;height:1px;top:0;background:linear-gradient(90deg,transparent,rgba(79,224,242,.35),transparent);animation:scanMove 11s linear infinite;opacity:.5}
@keyframes scanMove{0%{top:-2%}100%{top:102%}}
[data-theme="light"] .bg-orb{opacity:.22}
[data-theme="light"] .bg-orb-1{background:radial-gradient(circle,rgba(12,147,166,.4),transparent 70%)}
[data-theme="light"] .bg-orb-2{background:radial-gradient(circle,rgba(181,137,0,.28),transparent 70%)}
[data-theme="light"] .bg-orb-3{background:radial-gradient(circle,rgba(30,158,80,.26),transparent 70%)}
[data-theme="light"] .bg-scan{background:linear-gradient(90deg,transparent,rgba(12,147,166,.3),transparent)}
@media(prefers-reduced-motion:reduce){.bg-orb,.bg-scan{animation:none}}
@media(max-width:640px){.bg-orb{filter:blur(50px);opacity:.22}}

/* ===== link-analysis network motif ===== */
.bg-network{position:absolute;inset:0;width:100%;height:100%;color:var(--cyan);opacity:.13}
.bg-network .net-links{opacity:.5}
.bg-network .net-nodes circle{animation:nodePulse 5s ease-in-out infinite}
.bg-network .net-nodes circle:nth-child(3n){animation-delay:1.5s}
.bg-network .net-nodes circle:nth-child(3n+1){animation-delay:.8s}
.flag-y{stroke:var(--yellow);animation:flagPulse 3.2s ease-in-out infinite}
.flag-c{stroke:var(--cyan);animation:flagPulse 3.2s ease-in-out infinite .6s}
@keyframes nodePulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes flagPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}
.bg-network .net-flagged circle{transform-box:fill-box;transform-origin:center}
[data-theme="light"] .bg-network{color:#0C93A6;opacity:.16}
@media(max-width:640px){.bg-network{opacity:.1}}
@media(prefers-reduced-motion:reduce){
  .bg-network .net-nodes circle,.flag-y,.flag-c{animation:none}
}
