/*
Theme Name: Personam
Theme URI: https://personam.ai
Author: Personam AI
Description: Custom theme for Personam.ai - Behavioral NDR platform
Version: 1.3.5
License: Private
Text Domain: personam
*/

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--text-on-dark-2:rgba(200,216,228,0.65);--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem;--card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--card-shadow-hover:0 8px 24px rgba(28,43,58,0.14)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}
.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);transition:color 0.2s}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:var(--teal-l)}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px;transition:background 0.2s}
.nav-cta:hover{background:var(--teal-d)}
/* PAGE HERO */

.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}

/* CONTENT */
.page-content{max-width:800px;margin:0 auto;padding:5rem var(--page-x)}
.page-content h2{font-family:var(--font-h);font-size:1.6rem;font-weight:700;color:var(--dark-1);margin:3rem 0 1rem;letter-spacing:0.01em}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark-1);margin:2rem 0 0.6rem}
.page-content p{font-size:0.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1rem}
.page-content strong{color:var(--dark-1);font-weight:600}
.page-content ul{margin:0.8rem 0 1.2rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem}
.page-content li{font-size:0.95rem;color:var(--text-secondary);line-height:1.65}
.page-content li strong{color:var(--dark-1)}
/* TEAL CALLOUT */
.teal-callout{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid var(--teal);border-radius:var(--r);padding:1.6rem 2rem;margin:2rem 0}
.teal-callout p{color:var(--dark-1);font-style:italic;margin:0}
/* TEAM SECTION */
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.5rem 0}
.value-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem 1.6rem;box-shadow:var(--card-shadow)}
.value-card h4{font-family:var(--font-h);font-size:0.85rem;font-weight:700;color:var(--teal);margin-bottom:0.4rem;letter-spacing:0.02em}
.value-card p{font-size:0.8rem;color:var(--text-secondary);line-height:1.6;margin:0}
/* CTA BAND */
.page-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.page-cta h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.page-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;transition:opacity 0.2s}
.btn-white:hover{opacity:0.92}
.btn-teal-outline{border:2px solid rgba(255,255,255,0.5);color:#fff;font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s;margin-left:1rem}
.btn-teal-outline:hover{border-color:#fff;background:rgba(255,255,255,0.1)}
/* FOOTER */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42);transition:color 0.2s}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.values-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--dark-3);color:var(--text-primary);font-family:var(--font-b);overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* NAV */
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3),var(--t4),#FFBD13);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:rgba(22,34,51,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}
.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);transition:color 0.2s}
.nav-links a:hover{color:#fff}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px;transition:background 0.2s}
.nav-cta:hover{background:var(--teal-d)}

/* HERO — full dark */

.hero-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.4rem}
.hero-tag::before,.hero-tag::after{content:'';width:20px;height:1px;background:var(--teal-l)}

.key-question{display:inline-block;background:rgba(51,153,151,0.12);border:1px solid rgba(51,153,151,0.3);border-left:3px solid var(--teal);border-radius:var(--r);padding:1rem 1.6rem;margin-top:1.5rem;text-align:left;max-width:580px}
.key-question .kq-label{font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-l);margin-bottom:0.4rem}
.key-question .kq-text{font-size:1rem;font-weight:400;color:#fff;line-height:1.55}
.key-question em{font-style:normal;font-weight:600;color:var(--teal-l)}

/* ATTACK CHAIN VISUAL */
.chain-section{padding:5rem var(--page-x);background:var(--dark-2)}
.chain-intro{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.chain-intro h2{font-family:var(--font-h);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:#fff;margin-bottom:0.8rem}
.chain-intro p{font-size:0.95rem;font-weight:300;color:rgba(200,216,228,0.65);line-height:1.75}

/* The 5 stages — horizontal connected flow */
.chain-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-bottom:3rem}
.chain-flow::before{content:'';position:absolute;top:52px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3),var(--t4),#339997);z-index:0}
.chain-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:0 0.5rem}
.stage-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;font-family:var(--font-h);letter-spacing:0.05em;margin-bottom:1rem;flex-shrink:0}
.stage-1 .stage-num{background:var(--t1);color:#fff}
.stage-2 .stage-num{background:var(--t2);color:#fff}
.stage-3 .stage-num{background:var(--t3);color:#fff}
.stage-4 .stage-num{background:var(--t4);color:#fff}
.stage-5 .stage-num{background:var(--teal);color:#fff}
.stage-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);padding:1.2rem 1rem;width:100%;text-align:center}
.stage-1 .stage-card{border-color:rgba(255,59,59,0.25);background:rgba(255,59,59,0.06)}
.stage-2 .stage-card{border-color:rgba(255,91,49,0.25);background:rgba(255,91,49,0.06)}
.stage-3 .stage-card{border-color:rgba(255,124,39,0.25);background:rgba(255,124,39,0.06)}
.stage-4 .stage-card{border-color:rgba(255,157,29,0.25);background:rgba(255,157,29,0.06)}
.stage-5 .stage-card{border-color:rgba(51,153,151,0.35);background:rgba(51,153,151,0.08)}
.stage-title{font-family:var(--font-h);font-size:0.85rem;font-weight:700;color:#fff;margin-bottom:0.5rem;letter-spacing:0.02em}
.stage-desc{font-size:0.75rem;color:rgba(200,216,228,0.6);line-height:1.55}
.stage-ai{margin-top:0.6rem;font-size:0.68rem;font-weight:700;letter-spacing:0.06em;color:var(--t3);background:rgba(255,124,39,0.1);border:1px solid rgba(255,124,39,0.2);padding:2px 6px;border-radius:3px;display:inline-block}
.stage-5 .stage-ai{color:var(--teal-l);background:rgba(51,153,151,0.1);border-color:rgba(51,153,151,0.25)}

/* KEY DETECTION CHANGE BANNER */
.detection-banner{background:var(--dark-1);border:1px solid rgba(51,153,151,0.25);border-radius:var(--r);padding:1.6rem 2rem;text-align:center;max-width:700px;margin:0 auto}
.detection-banner .db-old{font-size:0.8rem;color:rgba(200,216,228,0.4);text-decoration:line-through;margin-bottom:0.5rem}
.detection-banner .db-new{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--teal-l);margin-top:0.2rem}

/* WHERE PERSONAM DETECTS — detail section per stage */
.detection-section{padding:5rem var(--page-x);background:var(--light-2)}
.detection-intro{text-align:center;max-width:620px;margin:0 auto 3.5rem}
.detection-intro h2{font-family:var(--font-h);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700;color:var(--dark-1);margin-bottom:0.8rem}
.detection-intro p{font-size:0.95rem;color:var(--text-secondary);line-height:1.75}

.detection-rows{display:flex;flex-direction:column;gap:1.5rem;max-width:960px;margin:0 auto}
.detect-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:0;background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06)}
.detect-num{display:flex;align-items:center;justify-content:center;width:56px;padding:1.4rem 0;font-family:var(--font-h);font-size:1rem;font-weight:800;flex-shrink:0}
.dr-1 .detect-num{background:rgba(255,59,59,0.08);color:var(--t1)}
.dr-2 .detect-num{background:rgba(255,91,49,0.08);color:var(--t2)}
.dr-3 .detect-num{background:rgba(255,124,39,0.08);color:var(--t3)}
.dr-4 .detect-num{background:rgba(255,157,29,0.08);color:var(--t4)}
.dr-5 .detect-num{background:rgba(51,153,151,0.08);color:var(--teal)}
.detect-what{padding:1.4rem 1.6rem;border-right:1px solid var(--border-light)}
.detect-what h4{font-family:var(--font-h);font-size:0.88rem;font-weight:700;color:var(--dark-1);margin-bottom:0.3rem;letter-spacing:0.02em}
.detect-what h5{font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.4rem}
.detect-what p{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}
.detect-sees{padding:1.4rem 1.6rem;background:rgba(51,153,151,0.03)}
.detect-sees h5{font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);margin-bottom:0.5rem}
.detect-sees ul{list-style:none;display:flex;flex-direction:column;gap:0.4rem}
.detect-sees li{font-size:0.82rem;color:var(--text-secondary);line-height:1.55;padding-left:1rem;position:relative}
.detect-sees li::before{content:'→';position:absolute;left:0;color:var(--teal);font-weight:700}

/* REAL SCENARIOS */
.scenarios-section{padding:5rem var(--page-x);background:var(--white)}
.scenarios-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:960px;margin:2.5rem auto 0}
.scenario-card{background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;position:relative;overflow:hidden}
.scenario-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.sc-mri::before{background:var(--t1)}
.sc-fowler::before{background:var(--t2)}
.sc-tag{font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.6rem}
.scenario-card h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--dark-1);margin-bottom:1rem}
.attack-narrative{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.2rem}
.an-step{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.82rem;color:var(--text-secondary);line-height:1.55}
.an-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0;margin-top:6px}
.trad-miss{background:rgba(255,59,59,0.05);border:1px solid rgba(255,59,59,0.15);border-radius:5px;padding:0.7rem 0.9rem;margin-bottom:0.6rem}
.trad-miss-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--t1);margin-bottom:0.2rem}
.trad-miss p{font-size:0.8rem;color:var(--text-secondary);line-height:1.5}
.personam-sees{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-radius:5px;padding:0.7rem 0.9rem}
.personam-sees-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:0.2rem}
.personam-sees p{font-size:0.8rem;color:var(--text-secondary);line-height:1.5}

/* CTA */
.cta-section{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.cta-section h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.cta-section p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:460px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;transition:opacity 0.2s}
.btn-white:hover{opacity:0.92}
.btn-ghost-white{border:2px solid rgba(255,255,255,0.5);color:#fff;font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:4px;display:inline-block;margin-left:1rem;transition:all 0.2s}
.btn-ghost-white:hover{border-color:#fff;background:rgba(255,255,255,0.1)}

/* FOOTER */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42);transition:color 0.2s}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}

@media(max-width:960px){
  :root{--page-x:1.5rem}
  nav{padding:0 1.5rem}.nav-links{display:none}
  .chain-flow{grid-template-columns:1fr 1fr;gap:1.5rem}.chain-flow::before{display:none}
  .detect-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .detect-sees{grid-column:2;padding-top:0}
  .scenarios-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:560px){
  .chain-flow{grid-template-columns:1fr}
  .detect-row{grid-template-columns:1fr;grid-template-rows:auto}
  .detect-num{width:100%;height:40px;border-bottom:1px solid var(--border-light)}
  .detect-sees{grid-column:1}
}

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--text-on-dark-2:rgba(200,216,228,0.65);--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem;--card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--card-shadow-hover:0 8px 24px rgba(28,43,58,0.14)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.nav-links a:hover,.nav-links a.active{color:var(--teal-l)}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px}
.nav-cta:hover{background:var(--teal-d)}

.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}

/* Article */
.article-wrap{display:grid;grid-template-columns:1fr 300px;gap:4rem;max-width:1100px;margin:4rem auto;padding:0 var(--page-x);align-items:start}
.article-body h2{font-family:var(--font-h);font-size:1.5rem;font-weight:700;color:var(--dark-1);margin:2.5rem 0 0.8rem}
.article-body h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--teal);margin:2rem 0 0.6rem}
.article-body p{font-size:0.97rem;color:var(--text-secondary);line-height:1.82;margin-bottom:1.1rem}
.article-body strong{color:var(--dark-1);font-weight:600}
.article-body ul,.article-body ol{margin:0.8rem 0 1.2rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem}
.article-body li{font-size:0.95rem;color:var(--text-secondary);line-height:1.7}
.article-meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}
.article-author{font-size:0.85rem;font-weight:600;color:var(--dark-1)}
.article-date{font-size:0.8rem;color:var(--text-muted)}
.article-tag{font-size:0.68rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;background:rgba(51,153,151,0.1);color:var(--teal);padding:3px 10px;border-radius:20px}
.bluf-box{background:var(--dark-1);border-radius:var(--r);padding:1.6rem 2rem;margin:2rem 0}
.bluf-box .bluf-label{font-family:var(--font-h);font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal-l);margin-bottom:0.8rem}
.bluf-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.bluf-box li{font-size:0.88rem;color:var(--text-on-dark);line-height:1.6;padding-left:1rem;position:relative}
.bluf-box li::before{content:'→';position:absolute;left:0;color:var(--teal-l)}
.teal-callout{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid var(--teal);border-radius:var(--r);padding:1.4rem 1.8rem;margin:2rem 0}
.teal-callout p{color:var(--dark-1);font-style:italic;margin:0;font-size:1rem;line-height:1.7}
.attack-chain{display:flex;align-items:stretch;gap:0;margin:2rem 0;overflow-x:auto}
.chain-step{background:var(--white);border:1px solid var(--border-light);border-right:none;padding:1.2rem 1rem;flex:1;min-width:120px;position:relative}
.chain-step:last-child{border-right:1px solid var(--border-light);border-radius:0 var(--r) var(--r) 0}
.chain-step:first-child{border-radius:var(--r) 0 0 var(--r)}
.chain-step::after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--text-muted);z-index:1;background:var(--white);padding:2px}
.chain-step:last-child::after{display:none}
.chain-num{font-size:0.65rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.4rem}
.chain-title{font-family:var(--font-h);font-size:0.82rem;font-weight:700;color:var(--dark-1);margin-bottom:0.3rem}
.chain-desc{font-size:0.72rem;color:var(--text-secondary);line-height:1.5}
.sources-box{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem 1.6rem;margin-top:2.5rem;box-shadow:var(--card-shadow)}
.sources-box h4{font-family:var(--font-h);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.8rem}
.sources-box ul{margin-left:1.2rem;display:flex;flex-direction:column;gap:0.4rem;list-style:none;margin:0;padding:0}
.sources-box li{font-size:0.78rem;color:var(--text-secondary);line-height:1.6;padding-left:1rem;position:relative}
.sources-box li::before{content:'•';position:absolute;left:0;color:var(--teal)}
.sources-box a{color:var(--teal)}
/* Sidebar */
.article-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:90px}
.sidebar-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem;box-shadow:var(--card-shadow)}
.sidebar-card h4{font-family:var(--font-h);font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}
.sidebar-post{display:flex;flex-direction:column;gap:0.3rem;padding:0.8rem 0;border-bottom:1px solid var(--border-light)}
.sidebar-post:last-child{border-bottom:none}
.sidebar-post-title{font-size:0.82rem;font-weight:600;color:var(--dark-1);line-height:1.4}
.sidebar-post-title a:hover{color:var(--teal)}
.sidebar-post-date{font-size:0.72rem;color:var(--text-muted)}
.sidebar-cta{background:var(--teal);border-radius:var(--r);padding:1.4rem;text-align:center}
.sidebar-cta p{font-size:0.82rem;color:rgba(255,255,255,0.85);line-height:1.55;margin-bottom:1rem}
.sidebar-cta a{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.2rem;border-radius:4px;display:inline-block}
/* Footer */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42)}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.article-wrap{grid-template-columns:1fr}.article-sidebar{position:static}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.attack-chain{flex-direction:column}.chain-step{border-right:1px solid var(--border-light);border-bottom:none;border-radius:var(--r)!important}.chain-step::after{content:'↓';bottom:-12px;right:50%;top:auto;transform:translateX(50%)}}

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem;--card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--card-shadow-hover:0 8px 24px rgba(28,43,58,0.14)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.nav-links a:hover,.nav-links a.active{color:var(--teal-l)}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px}
.nav-cta:hover{background:var(--teal-d)}

.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}

/* Article */
.article-wrap{display:grid;grid-template-columns:1fr 320px;gap:4rem;max-width:1100px;margin:4rem auto;padding:0 var(--page-x);align-items:start}
.article-body h2{font-family:var(--font-h);font-size:1.5rem;font-weight:700;color:var(--dark-1);margin:2.5rem 0 0.8rem;letter-spacing:0.01em}
.article-body h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark-1);margin:2rem 0 0.6rem}
.article-body p{font-size:0.97rem;color:var(--text-secondary);line-height:1.82;margin-bottom:1.1rem}
.article-body strong{color:var(--dark-1);font-weight:600}
.article-body ul,.article-body ol{margin:0.8rem 0 1.2rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem}
.article-body li{font-size:0.95rem;color:var(--text-secondary);line-height:1.7}
.article-meta{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}
.article-author{font-size:0.85rem;font-weight:600;color:var(--dark-1)}
.article-date{font-size:0.8rem;color:var(--text-muted)}
.article-tag{font-size:0.68rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;background:rgba(51,153,151,0.1);color:var(--teal);padding:3px 10px;border-radius:20px}
.article-hero-img{width:100%;border-radius:var(--r);margin-bottom:2rem;box-shadow:var(--card-shadow-hover)}
.teal-callout{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid var(--teal);border-radius:var(--r);padding:1.4rem 1.8rem;margin:2rem 0}
.teal-callout p{color:var(--dark-1);font-style:italic;margin:0;font-size:1rem;line-height:1.7}
.sources-box{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem 1.6rem;margin-top:2.5rem;box-shadow:var(--card-shadow)}
.sources-box h4{font-family:var(--font-h);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.8rem}
.sources-box ol{margin-left:1.2rem;display:flex;flex-direction:column;gap:0.4rem}
.sources-box li{font-size:0.78rem;color:var(--text-secondary);line-height:1.6}
.sources-box a{color:var(--teal)}
/* Sidebar */
.article-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:90px}
.sidebar-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem;box-shadow:var(--card-shadow)}
.sidebar-card h4{font-family:var(--font-h);font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}
.sidebar-post{display:flex;flex-direction:column;gap:0.3rem;padding:0.8rem 0;border-bottom:1px solid var(--border-light)}
.sidebar-post:last-child{border-bottom:none}
.sidebar-post-title{font-size:0.82rem;font-weight:600;color:var(--dark-1);line-height:1.4}
.sidebar-post-title:hover{color:var(--teal)}
.sidebar-post-date{font-size:0.72rem;color:var(--text-muted)}
.sidebar-cta{background:var(--teal);border-radius:var(--r);padding:1.4rem;text-align:center}
.sidebar-cta p{font-size:0.82rem;color:rgba(255,255,255,0.85);line-height:1.55;margin-bottom:1rem}
.sidebar-cta a{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.2rem;border-radius:4px;display:inline-block}
/* Blog index */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:1000px;margin:4rem auto;padding:0 var(--page-x)}
.blog-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow 0.2s,transform 0.2s;display:flex;flex-direction:column}
.blog-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}
.blog-card-img{width:100%;height:200px;object-fit:cover;background:var(--light-3)}
.blog-card-body{padding:1.6rem;flex:1;display:flex;flex-direction:column;gap:0.6rem}
.blog-card-tag{font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal)}
.blog-card h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--dark-1);line-height:1.35}
.blog-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65;flex:1}
.blog-card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:0.8rem;border-top:1px solid var(--border-light)}
.blog-card-author{font-size:0.75rem;color:var(--text-muted)}
.blog-card-read{font-size:0.75rem;font-weight:700;color:var(--teal);font-family:var(--font-h);letter-spacing:0.04em}
/* Footer */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42)}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.article-wrap{grid-template-columns:1fr}.article-sidebar{position:static}.blog-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}

.roi-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:0.85rem}
.roi-table th{background:var(--dark-1);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.7rem 1rem;text-align:left}
.roi-table td{padding:0.7rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:top}
.roi-table tr:nth-child(even) td{background:var(--light-1)}
.roi-table td strong{color:var(--dark-1)}
.roi-highlight{background:rgba(51,153,151,0.08);border:1px solid rgba(51,153,151,0.2);border-radius:var(--r);padding:1.4rem 1.8rem;margin:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.roi-stat{text-align:center}
.roi-stat-num{font-family:var(--font-h);font-size:2rem;font-weight:700;color:var(--teal);line-height:1}
.roi-stat-label{font-size:0.75rem;color:var(--text-secondary);margin-top:0.3rem;line-height:1.4}

.comp-hero{background:var(--dark-1);padding:120px var(--page-x) 4rem;position:relative;overflow:hidden}
.comp-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 70% 50%,rgba(51,153,151,0.1) 0%,transparent 65%)}
.comp-hero-inner{position:relative;z-index:1;max-width:680px}
.comp-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.comp-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.comp-hero h1{font-family:var(--font-h);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.08;color:#fff;margin-bottom:1rem}
.comp-hero p{font-size:1rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:520px}
.comp-summary{background:var(--white);padding:4rem var(--page-x)}
.comp-summary-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start}
.comp-score-wrap{text-align:center}
.comp-score-ring{width:140px;height:140px;border-radius:50%;border:3px solid var(--teal);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1rem}
.comp-score-num{font-family:var(--font-h);font-size:2.8rem;font-weight:700;color:var(--teal);line-height:1}
.comp-score-label{font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-top:0.2rem}
.comp-score-sub{font-size:0.78rem;color:var(--text-secondary);line-height:1.5;margin-top:0.5rem}
.comp-key-findings h2{font-family:var(--font-h);font-size:1.2rem;font-weight:700;color:var(--dark-1);margin-bottom:1.2rem}
.finding-list{display:flex;flex-direction:column;gap:1rem}
.finding{display:flex;gap:0.9rem;align-items:flex-start}
.finding-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:4px;font-size:10px;font-weight:800;flex-shrink:0;margin-top:2px}
.badge-direct{background:rgba(51,153,151,0.15);color:var(--teal);border:1px solid rgba(51,153,151,0.3)}
.badge-indirect{background:rgba(51,105,153,0.12);color:var(--blue);border:1px solid rgba(51,105,153,0.25)}
.finding p{font-size:0.85rem;color:var(--text-secondary);line-height:1.6}
.finding strong{color:var(--dark-1)}
.comp-reqs{background:var(--light-2);padding:4rem var(--page-x)}
.comp-reqs-inner{max-width:900px;margin:0 auto}
.comp-reqs h2{font-family:var(--font-h);font-size:1.4rem;font-weight:700;color:var(--dark-1);margin-bottom:1.5rem}
.req-table{width:100%;border-collapse:collapse;font-size:0.83rem}
.req-table th{background:var(--dark-1);color:rgba(200,216,228,0.7);font-family:var(--font-h);font-weight:700;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.7rem 1rem;text-align:left}
.req-table td{padding:0.75rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:top;background:var(--white)}
.req-table tr:last-child td{border-bottom:none}
.req-table td:first-child{font-weight:600;color:var(--dark-1);white-space:nowrap}
.fit-direct{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.06em;background:rgba(51,153,151,0.1);color:var(--teal);border:1px solid rgba(51,153,151,0.25);padding:2px 7px;border-radius:3px}
.fit-indirect{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.06em;background:rgba(51,105,153,0.08);color:var(--blue);border:1px solid rgba(51,105,153,0.2);padding:2px 7px;border-radius:3px}
.comp-cta{background:var(--teal);padding:4rem var(--page-x);text-align:center}
.comp-cta h2{font-family:var(--font-h);font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:0.7rem}
.comp-cta p{font-size:0.95rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 1.8rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2.2rem;border-radius:4px;display:inline-block}
.comp-nav{background:var(--dark-2);padding:2rem var(--page-x)}
.comp-nav-inner{max-width:900px;margin:0 auto}
.comp-nav h3{font-family:var(--font-h);font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(200,216,228,0.4);margin-bottom:1rem}
.comp-nav-grid{display:flex;flex-wrap:wrap;gap:0.6rem}
.comp-nav-link{font-size:0.78rem;font-weight:600;color:rgba(200,216,228,0.55);border:1px solid rgba(255,255,255,0.08);padding:0.35rem 0.9rem;border-radius:4px;transition:all 0.2s}
.comp-nav-link:hover{color:var(--teal-l);border-color:rgba(51,153,151,0.3)}
.comp-nav-link.active{color:var(--teal-l);border-color:rgba(51,153,151,0.4);background:rgba(51,153,151,0.08)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.comp-summary-inner{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--text-on-dark-2:rgba(200,216,228,0.65);--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem;--card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.nav-links a:hover,.nav-links a.active{color:var(--teal-l)}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px}
.nav-cta:hover{background:var(--teal-d)}

.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}

.page-content{max-width:800px;margin:0 auto;padding:5rem var(--page-x)}
.page-content h2{font-family:var(--font-h);font-size:1.6rem;font-weight:700;color:var(--dark-1);margin:3rem 0 1rem;letter-spacing:0.01em}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark-1);margin:2rem 0 0.6rem}
.page-content p{font-size:0.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1rem}
.page-content strong{color:var(--dark-1);font-weight:600}
.page-content ul{margin:0.8rem 0 1.2rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem}
.page-content li{font-size:0.95rem;color:var(--text-secondary);line-height:1.65}
.teal-callout{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid var(--teal);border-radius:var(--r);padding:1.6rem 2rem;margin:2rem 0}
.teal-callout p{color:var(--dark-1);font-style:italic;margin:0}
.page-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.page-cta h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.page-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block}
.btn-white:hover{opacity:0.92}
.btn-teal-outline{border:2px solid rgba(255,255,255,0.5);color:#fff;font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:4px;display:inline-block;margin-left:1rem}
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42)}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}

.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1000px;margin:5rem auto;padding:0 var(--page-x);align-items:start}
.contact-info h2{font-family:var(--font-h);font-size:1.8rem;font-weight:700;color:var(--dark-1);margin-bottom:1rem}
.contact-info p{font-size:0.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem}
.contact-options{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.contact-option{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem 1.6rem;box-shadow:var(--card-shadow);display:flex;align-items:flex-start;gap:1rem}
.contact-option-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}
.contact-option h4{font-family:var(--font-h);font-size:0.85rem;font-weight:700;color:var(--dark-1);margin-bottom:0.2rem}
.contact-option p{font-size:0.8rem;color:var(--text-secondary);line-height:1.5;margin:0}
.contact-option a{color:var(--teal);font-weight:600}
.contact-form{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2.5rem;box-shadow:var(--card-shadow)}
.contact-form h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark-1);margin-bottom:1.5rem}
.form-group{margin-bottom:1.2rem}
.form-group label{display:block;font-size:0.78rem;font-weight:600;color:var(--dark-1);margin-bottom:0.4rem;letter-spacing:0.04em}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.7rem 1rem;border:1px solid var(--border-light);border-radius:5px;font-family:var(--font-b);font-size:0.9rem;color:var(--text-primary);background:var(--light-1);transition:border-color 0.2s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--teal)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-submit{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2.5rem;border-radius:4px;border:none;cursor:pointer;width:100%;margin-top:0.5rem;transition:background 0.2s}
.form-submit:hover{background:var(--teal-d)}
@media(max-width:960px){.contact-wrap{grid-template-columns:1fr;gap:3rem}.form-row{grid-template-columns:1fr}}

:root{
  --teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;
  --blue:#336999;--green:#339963;--accent:#1ACC6E;
  --dark-1:#1C2B3A;--dark-2:#253648;--dark-3:#1e3248;
  --light-1:#F8FAFC;--light-2:#F0F4F8;--light-3:#E8EEF4;
  --white:#FFFFFF;
  --text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;
  --text-on-dark:#C8D8E4;--text-on-dark-2:rgba(200,216,228,0.65);
  --border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);
  --t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;
  --font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;
  --page-x:3.5rem;
  --card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);
  --card-shadow-hover:0 8px 24px rgba(28,43,58,0.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:rgba(28,43,58,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-blue);transition:background 0.3s}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto;display:block}
.logo-img-footer{height:26px;width:auto;display:block}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);transition:color 0.2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--teal);color:var(--white);font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px;transition:background 0.2s,transform 0.15s;white-space:nowrap}
.nav-cta:hover{background:var(--teal-d);transform:translateY(-1px)}
.breadcrumb{background:var(--dark-2);padding:0.75rem var(--page-x);margin-top:69px;border-bottom:1px solid rgba(51,105,153,0.15);display:flex;align-items:center;gap:0.5rem}
.breadcrumb a,.breadcrumb span{font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:rgba(200,216,228,0.45);transition:color 0.2s}
.breadcrumb a:hover{color:var(--teal-l)}
.breadcrumb .sep{color:rgba(200,216,228,0.2)}
.breadcrumb .current{color:var(--teal-l)}

/* HERO */
.hero{position:relative;padding:4.5rem var(--page-x) 5rem;background:#162535;overflow:hidden}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:0.12}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(20,35,52,0.93) 0%,rgba(20,35,52,0.78) 50%,rgba(20,35,52,0.42) 100%),radial-gradient(ellipse 60% 70% at 72% 50%,rgba(51,153,151,0.30) 0%,transparent 60%)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1200px}
.hero-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.4rem}
.hero-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.hero h1{font-family:var(--font-h);font-size:clamp(2.2rem,4vw,3.8rem);font-weight:700;line-height:1.08;letter-spacing:0.01em;color:var(--white);margin-bottom:1.4rem}
.hero h1 em{font-style:normal;color:var(--teal-l)}
.hero-sub{font-size:1.15rem;font-weight:300;color:var(--text-on-dark);line-height:1.65;margin-bottom:1.2rem;max-width:480px}
.hero-actions{display:flex;gap:0.9rem;flex-wrap:wrap;margin-top:1.8rem}
.btn-teal{background:var(--teal);color:var(--white);font-family:var(--font-h);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:background 0.2s,transform 0.15s;box-shadow:0 4px 16px rgba(51,153,151,0.3)}
.btn-teal:hover{background:var(--teal-d);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(51,153,151,0.4);color:rgba(200,216,228,0.75);font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s}
.btn-ghost:hover{border-color:var(--teal);color:var(--white);background:rgba(51,153,151,0.08)}
.hero-stats-grid{display:flex;flex-direction:column;gap:1rem}
.hero-stat-card{background:rgba(255,255,255,0.05);border:1px solid rgba(51,153,151,0.25);border-radius:var(--r);padding:1.4rem 1.6rem;backdrop-filter:blur(8px)}
.hero-stat-card:first-child{border-left:3px solid var(--t1)}
.hero-stat-card:nth-child(2){border-left:3px solid var(--t3)}
.hero-stat-card:nth-child(3){border-left:3px solid var(--teal)}
.hsc-num{font-family:var(--font-h);font-size:2rem;font-weight:700;line-height:1;margin-bottom:0.3rem}
.hsc-num.red{color:var(--t1)}.hsc-num.amber{color:var(--t3)}.hsc-num.teal{color:var(--teal-l)}
.hsc-label{font-size:0.82rem;color:var(--text-on-dark-2);line-height:1.45}
.hsc-source{font-size:0.65rem;color:rgba(200,216,228,0.3);margin-top:0.3rem;letter-spacing:0.04em}

/* SECTIONS */
.sec{padding:6rem var(--page-x)}
.sec-light{background:var(--light-2);color:var(--text-primary)}
.sec-white{background:var(--white);color:var(--text-primary)}
.sec-dark{background:var(--dark-3);color:var(--text-on-dark)}
.sec-label{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;margin-bottom:0.9rem;color:var(--teal)}
.sec-label::before{content:'';width:18px;height:1px;background:currentColor}
.sec-dark .sec-label{color:var(--teal-l)}
.sec-h{font-family:var(--font-h);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:0.01em;margin-bottom:1rem}
.sec-body{font-size:1rem;font-weight:300;line-height:1.78;max-width:580px}
.sec-dark .sec-body,.sec-dark .sec-h{color:var(--white)}
.sec-dark .sec-body{color:var(--text-on-dark-2)}
.sec-light .sec-body,.sec-white .sec-body{color:var(--text-secondary)}

/* PROBLEM SPLIT */
.problem-split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.problem-copy{background:var(--white);padding:5rem var(--page-x);display:flex;flex-direction:column;justify-content:center}
.problem-items{display:flex;flex-direction:column;gap:1.4rem;margin-top:2.5rem}
.prob-row{display:flex;gap:1rem;align-items:flex-start}
.prob-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:0.9rem}
.prob-icon.red{background:rgba(255,59,59,0.1);border:1px solid rgba(255,59,59,0.2)}
.prob-icon.amber{background:rgba(255,124,39,0.1);border:1px solid rgba(255,124,39,0.2)}
.prob-icon.teal{background:rgba(51,153,151,0.1);border:1px solid rgba(51,153,151,0.2)}
.prob-text h4{font-family:var(--font-h);font-size:0.9rem;font-weight:700;color:var(--dark-1);margin-bottom:0.3rem}
.prob-text p{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}
.ndl-anchor{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border-light)}
.ndl-anchor-rule{width:32px;height:2px;background:var(--teal);margin-bottom:1rem}
.ndl-anchor-text{font-family:var(--font-h);font-size:1.6rem;font-weight:700;color:var(--dark-1);letter-spacing:0.02em;margin-bottom:0.7rem}
.ndl-anchor-sub{font-size:0.85rem;color:var(--text-secondary);line-height:1.7;max-width:440px}
/* HC app UI panel */
.hc-problem-ui{background:var(--light-1);border-left:1px solid var(--border-light);padding:2.5rem;display:flex;flex-direction:column;gap:0.9rem}
.hcpui-header{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-h);font-size:0.65rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);padding-bottom:0.9rem;border-bottom:1px solid var(--border-light)}
.hcpui-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:blink 2s infinite}
.hcpui-live{margin-left:auto;font-size:0.58rem;background:rgba(26,204,110,0.1);color:var(--accent);border:1px solid rgba(26,204,110,0.25);padding:0.1rem 0.45rem;border-radius:3px;font-weight:700}
.hcpui-kpis{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem}
.hcpui-kpi{background:var(--white);border:1px solid var(--border-light);border-radius:8px;overflow:hidden;box-shadow:var(--card-shadow)}
.hcpui-band{height:4px}
.hcpui-body{padding:0.8rem 0.9rem}
.hcpui-label{font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:0.3rem;font-family:var(--font-h)}
.hcpui-val{font-family:var(--font-h);font-size:1.6rem;font-weight:700;color:var(--dark-1);line-height:1;margin-bottom:0.2rem}
.hcpui-sub{font-size:0.68rem;color:var(--text-secondary)}
.hcpui-delta{font-size:0.68rem;font-weight:600;margin-top:0.15rem}
.hcpui-section-label{font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600;font-family:var(--font-h);padding-top:0.3rem}
.hcpui-device-row{display:flex;align-items:center;gap:0.7rem;padding:0.5rem 0;border-bottom:1px solid var(--border-light)}
.hcpui-device-row:last-of-type{border-bottom:none}
.hcpui-device-name{font-size:0.75rem;color:var(--text-primary);width:170px;flex-shrink:0}
.hcpui-bar-wrap{flex:1;height:5px;background:var(--border-light);border-radius:3px;overflow:hidden}
.hcpui-bar{height:100%;border-radius:3px}
.hcpui-device-count{font-size:0.68rem;color:var(--text-muted);width:80px;text-align:right;flex-shrink:0}
.hcpui-footer{font-size:0.62rem;color:var(--text-muted);text-align:right;padding-top:0.5rem;border-top:1px solid var(--border-light);letter-spacing:0.05em}

/* WHY CARDS */
.why-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3.5rem}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.why-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem 1.6rem;transition:box-shadow 0.25s,transform 0.2s;position:relative;overflow:hidden;box-shadow:var(--card-shadow)}
.why-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r) var(--r) 0 0}
.why-card:nth-child(1)::after{background:var(--teal)}
.why-card:nth-child(2)::after{background:var(--blue)}
.why-card:nth-child(3)::after{background:var(--accent)}
.why-card:nth-child(4)::after{background:var(--teal-d)}
.why-card:nth-child(5)::after{background:var(--t3)}
.why-card:nth-child(6)::after{background:var(--blue)}
.why-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}
.why-card-icon{font-size:1.6rem;margin-bottom:1rem}
.why-card h3{font-family:var(--font-h);font-size:0.92rem;font-weight:700;color:var(--dark-1);margin-bottom:0.5rem}
.why-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}

/* BEHAVIOR DRIVE ZONES */
.bd-hc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.bd-hc-zone{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden;box-shadow:var(--card-shadow)}
.bd-hc-zone-header{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.9rem;border-bottom:1px solid var(--border-light);background:var(--light-1)}
.bd-hc-zone-name{font-family:var(--font-h);font-size:0.72rem;font-weight:700;color:var(--dark-1)}
.bd-hc-zone-tag{font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);background:var(--light-2);padding:0.1rem 0.4rem;border-radius:2px}
.bd-hc-entities{padding:0.7rem 0.9rem;display:flex;flex-direction:column;gap:0.3rem}
.bd-hc-entity-row{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--text-secondary)}
.bd-hc-count{font-family:var(--font-h);font-weight:700;font-size:0.8rem;min-width:36px}
.bd-hc-count.teal{color:var(--teal)}
.bd-hc-count.blue{color:var(--blue)}
.bd-hc-footer-note{font-size:0.78rem;color:var(--text-muted);text-align:center;padding:1rem;background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);font-style:italic}

/* CLINICAL STEPS (on dark) */
.clinical-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem}
.clin-step{background:rgba(255,255,255,0.07);border:1px solid rgba(51,153,151,0.28);border-radius:var(--r);padding:2rem 1.6rem;transition:border-color 0.2s,background 0.2s}
.clin-step:hover{background:rgba(51,153,151,0.1);border-color:rgba(51,153,151,0.4)}
.clin-step-num{font-family:var(--font-h);font-size:0.875rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}
.clin-step-num::before{content:'';flex:1;height:1px;background:rgba(51,153,151,0.25)}
.clin-step h4{font-family:var(--font-h);font-size:1.12rem;font-weight:700;color:var(--white);margin-bottom:0.5rem}
.clin-step p{font-size:0.8rem;color:var(--text-on-dark-2);line-height:1.6}

/* USE CASES */
.usecase-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
.usecase-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.usecase-card{background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;display:flex;gap:1.5rem;align-items:flex-start;transition:box-shadow 0.2s,transform 0.2s;box-shadow:var(--card-shadow)}
.usecase-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}
.uc-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.uc-icon.teal{background:rgba(51,153,151,0.1);border:1px solid rgba(51,153,151,0.2)}
.uc-icon.red{background:rgba(255,59,59,0.08);border:1px solid rgba(255,59,59,0.15)}
.uc-icon.blue{background:rgba(51,105,153,0.1);border:1px solid rgba(51,105,153,0.2)}
.uc-icon.amber{background:rgba(255,124,39,0.08);border:1px solid rgba(255,124,39,0.15)}
.uc-body h4{font-family:var(--font-h);font-size:0.92rem;font-weight:700;color:var(--dark-1);margin-bottom:0.4rem}
.uc-body p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}
.uc-tag{display:inline-block;margin-top:0.7rem;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;padding:0.25rem 0.6rem;border-radius:2px}
.uc-tag.teal{background:rgba(51,153,151,0.1);color:var(--teal)}
.uc-tag.red{background:rgba(255,59,59,0.08);color:var(--t1)}
.uc-tag.blue{background:rgba(51,105,153,0.1);color:var(--blue)}
.uc-tag.amber{background:rgba(255,124,39,0.08);color:var(--t3)}

/* COMPLIANCE — on light bg */
.compliance-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.compliance-badges{display:flex;flex-wrap:wrap;gap:0.7rem;margin-top:2rem}
.comp-badge{border:1px solid var(--border-light);background:var(--white);padding:0.5rem 1.1rem;border-radius:3px;font-size:0.73rem;letter-spacing:0.09em;text-transform:uppercase;font-weight:600;color:var(--text-secondary);box-shadow:var(--card-shadow);transition:all 0.2s}
.comp-badge:hover{border-color:var(--teal);color:var(--teal)}
.compliance-right{display:flex;flex-direction:column;gap:1rem}
.comp-item{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);box-shadow:var(--card-shadow)}
.comp-item-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:8px;flex-shrink:0}
.comp-item-body h4{font-family:var(--font-h);font-size:0.85rem;font-weight:700;color:var(--dark-1);margin-bottom:0.2rem}
.comp-item-body p{font-size:0.8rem;color:var(--text-secondary);line-height:1.55}

/* DEPLOYMENT */
.deploy-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}

.deploy-callout{background:var(--dark-3);border:1px solid rgba(51,153,151,0.2);border-radius:var(--r);padding:2.5rem;position:relative;overflow:hidden}
.deploy-callout::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--accent))}
.dc-num{font-family:var(--font-h);font-size:3rem;font-weight:700;color:var(--teal-l);line-height:1;margin-bottom:0.3rem}
.dc-label{font-size:0.8rem;color:var(--text-on-dark-2);margin-bottom:1.5rem}
.dc-divider{height:1px;background:rgba(51,105,153,0.2);margin:1.5rem 0}

/* VALIDATION */
.validation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.val-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;position:relative;box-shadow:var(--card-shadow)}
.val-card::before{content:'"';font-family:var(--font-h);font-size:4rem;font-weight:700;color:var(--light-3);position:absolute;top:0.8rem;left:1.4rem;line-height:1}
.val-body{font-size:0.88rem;color:var(--text-secondary);line-height:1.7;margin-top:2rem;font-style:italic}
.val-source{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border-light)}
.val-source strong{display:block;font-family:var(--font-h);font-size:0.78rem;font-weight:700;color:var(--dark-1);margin-bottom:0.15rem}
.val-source span{font-size:0.72rem;color:var(--text-muted)}

/* CTA */
.cta-band{background:var(--teal);padding:6rem var(--page-x);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(255,255,255,0.06) 0%,transparent 70%)}
.cta-band h2{font-family:var(--font-h);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:var(--white);letter-spacing:0.01em;line-height:1.1;margin-bottom:0.9rem;position:relative}
.cta-band p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:480px;margin:0 auto 2.2rem;line-height:1.7;position:relative}
.btn-white{background:var(--white);color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;transition:opacity 0.2s,transform 0.15s;position:relative}
.btn-white:hover{opacity:0.92;transform:translateY(-1px)}
.btn-teal-outline{border:2px solid rgba(255,255,255,0.5);color:var(--white);font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s;position:relative;margin-left:1rem}
.btn-teal-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.1)}

/* FOOTER */
footer{background:#162535;padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid rgba(51,105,153,0.15)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42);transition:color 0.2s}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22);transition:color 0.2s}
.footer-legal a:hover{color:rgba(200,216,228,0.55)}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0.4}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.show{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.4s}.d6{transition-delay:.48s}

@media(max-width:960px){
  :root{--page-x:1.5rem}
  nav{padding:0 1.5rem}.nav-links{display:none}
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .problem-split{grid-template-columns:1fr}
  .why-intro,.usecase-intro,.compliance-split,.deploy-split{grid-template-columns:1fr;gap:2.5rem}
  .why-grid{grid-template-columns:1fr 1fr}
  .clinical-steps{grid-template-columns:1fr 1fr}
  .usecase-grid{grid-template-columns:1fr}
  .validation-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  footer{padding:3rem 1.5rem 2rem}
  .bd-hc-grid{grid-template-columns:1fr 1fr}
  .sec{padding:4.5rem 1.5rem}
}
@media(max-width:560px){
  .why-grid,.clinical-steps{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
  .bd-hc-grid{grid-template-columns:1fr}
}

/* ── INDUSTRY PAGE STYLES ── */
.ind-hero{position:relative;padding:148px var(--page-x) 6rem;min-height:70vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--dark-3)}
.ind-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.3;filter:saturate(0.6) brightness(0.7)}
.ind-hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(22,34,51,0.97) 0%,rgba(22,34,51,0.82) 55%,rgba(22,34,51,0.55) 100%)}
.ind-hero-content{position:relative;z-index:2;max-width:660px}
.ind-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.ind-eyebrow::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.ind-hero h1{font-family:var(--font-h);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:700;line-height:1.06;color:#fff;margin-bottom:1.3rem;letter-spacing:0.01em}
.ind-hero h1 em{font-style:normal;color:var(--teal-l)}
.ind-hero-sub{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.78;max-width:540px;margin-bottom:2rem}
.ind-actions{display:flex;gap:0.9rem;flex-wrap:wrap}
.btn-teal{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:background 0.2s}
.btn-teal:hover{background:var(--teal-d)}
.btn-ghost{border:1px solid rgba(51,153,151,0.4);color:rgba(200,216,228,0.75);font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s}
.btn-ghost:hover{border-color:var(--teal);color:#fff;background:rgba(51,153,151,0.08)}
/* Struggles section */
.struggles-sec{background:var(--white);padding:5rem var(--page-x)}
.struggles-inner{max-width:1060px;margin:0 auto}
.struggles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0}
.struggle-card{background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);padding:1.6rem}
.struggle-card h3{font-family:var(--font-h);font-size:0.9rem;font-weight:700;color:var(--dark-1);margin-bottom:0.4rem}
.struggle-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}
.struggle-transition{background:var(--dark-1);border-radius:var(--r);padding:2rem 2.5rem;margin-top:2.5rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.struggle-transition h3{font-family:var(--font-h);font-size:1.4rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:0.4rem;flex:1;min-width:260px}
.struggle-transition p{font-size:0.88rem;color:rgba(200,216,228,0.65);line-height:1.65;flex:2;min-width:260px}
/* Problem/why section */
.why-sec{background:var(--light-2);padding:5rem var(--page-x)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1060px;margin:2.5rem auto 0}
.why-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.8rem;box-shadow:var(--card-shadow)}
.why-icon{font-size:1.4rem;margin-bottom:0.7rem}
.why-card h3{font-family:var(--font-h);font-size:0.9rem;font-weight:700;color:var(--teal);margin-bottom:0.4rem}
.why-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}
/* Scenarios */
.scenarios-sec{background:var(--white);padding:5rem var(--page-x)}
.scenarios-inner{max-width:1060px;margin:0 auto}
.scenarios-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
.scenario-card{background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;position:relative;overflow:hidden}
.scenario-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal)}
.scenario-label{font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.6rem}
.scenario-card h3{font-family:var(--font-h);font-size:0.95rem;font-weight:700;color:var(--dark-1);margin-bottom:1rem}
.scenario-steps{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.2rem}
.step-row{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.82rem;color:var(--text-secondary);line-height:1.5}
.step-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0;margin-top:6px}
.miss-box{background:rgba(255,59,59,0.05);border:1px solid rgba(255,59,59,0.15);border-radius:5px;padding:0.7rem 0.9rem;margin-bottom:0.6rem}
.miss-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--t1);margin-bottom:0.2rem}
.miss-box p,.sees-box p{font-size:0.8rem;color:var(--text-secondary);line-height:1.5;margin:0}
.sees-box{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-radius:5px;padding:0.7rem 0.9rem}
.sees-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:0.2rem}
/* Compliance strip */
.comp-strip{background:var(--light-2);padding:4rem var(--page-x)}
.comp-strip-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:center}
.comp-badges{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.2rem}
.comp-badge{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);background:var(--white);border:1px solid var(--border-light);padding:0.4rem 0.9rem;border-radius:3px;box-shadow:var(--card-shadow)}
/* Deploy */
.deploy-sec{background:var(--dark-2);padding:4rem var(--page-x)}
.deploy-inner{max-width:800px;margin:0 auto;text-align:center}
.deploy-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.8rem;max-width:1060px;margin-left:auto;margin-right:auto;text-align:left}
.deploy-step{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);padding:1.7rem 1.8rem;text-align:left;display:block}
.deploy-step-num{display:block;font-family:var(--font-h);font-size:0.875rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);white-space:nowrap;margin-bottom:0.7rem}
.deploy-step h4{font-family:var(--font-h);font-size:1.18rem;font-weight:700;color:#fff;line-height:1.28;margin-bottom:0.55rem}
.deploy-step p{font-size:0.87rem;color:rgba(200,216,228,0.68);line-height:1.7;margin:0}
/* CTA */
.ind-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center;position:relative}
.ind-cta h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.ind-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:460px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;transition:opacity 0.2s}
.btn-white:hover{opacity:0.92}
/* Footer */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42)}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.struggles-grid{grid-template-columns:1fr 1fr}.why-grid,.scenarios-grid,.comp-strip-inner{grid-template-columns:1fr}.deploy-steps{grid-template-columns:1fr;max-width:520px}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.struggles-grid{grid-template-columns:1fr}}

:root{--teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;--blue:#336999;--accent:#1ACC6E;--dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;--light-1:#F8FAFC;--light-2:#F0F4F8;--white:#FFFFFF;--text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;--text-on-dark:#C8D8E4;--border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);--t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;--font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;--page-x:3.5rem;--card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);border-bottom:1px solid var(--border-blue)}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto}.logo-img-footer{height:26px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.nav-links a:hover{color:var(--teal-l)}
.nav-cta{background:var(--teal);color:#fff;font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px}

.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}

.sec{padding:5rem var(--page-x)}
.sec-white{background:var(--white)}
.sec-light{background:var(--light-2)}
.sec-dark{background:var(--dark-2)}
.sec-h{font-family:var(--font-h);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;line-height:1.1;letter-spacing:0.01em;margin-bottom:1rem;color:var(--dark-1)}
.sec-dark .sec-h{color:#fff}
.sec-label{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;margin-bottom:0.9rem;color:var(--teal)}
.sec-label::before{content:'';width:18px;height:1px;background:currentColor}
/* Market stat grid */
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.market-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.8rem;box-shadow:var(--card-shadow);position:relative;overflow:hidden}
.market-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.market-card:nth-child(1)::after{background:var(--teal)}
.market-card:nth-child(2)::after{background:var(--blue)}
.market-card:nth-child(3)::after{background:var(--accent)}
.market-num{font-family:var(--font-h);font-size:2.2rem;font-weight:700;color:var(--dark-1);line-height:1;margin-bottom:0.4rem}
.market-label{font-size:0.85rem;font-weight:600;color:var(--dark-1);margin-bottom:0.3rem}
.market-sub{font-size:0.78rem;color:var(--text-secondary);line-height:1.5}
.market-source{font-size:0.65rem;color:var(--text-muted);margin-top:0.5rem}
/* Traction grid */
.traction-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}
.traction-card{background:rgba(255,255,255,0.05);border:1px solid rgba(51,153,151,0.2);border-radius:var(--r);padding:1.6rem}
.traction-card h3{font-family:var(--font-h);font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-l);margin-bottom:1rem}
.traction-card ul{list-style:none;display:flex;flex-direction:column;gap:0.6rem}
.traction-card li{font-size:0.88rem;color:var(--text-on-dark);line-height:1.6;padding-left:1.1rem;position:relative}
.traction-card li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}
/* Roadmap table */
.roadmap-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:0.85rem}
.roadmap-table th{background:var(--dark-1);color:rgba(200,216,228,0.7);font-family:var(--font-h);font-weight:700;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.7rem 1rem;text-align:left}
.roadmap-table td{padding:0.8rem 1rem;border-bottom:1px solid var(--border-light);vertical-align:top;background:var(--white)}
.roadmap-table tr:last-child td{border-bottom:none}
.status-live{display:inline-flex;align-items:center;gap:0.3rem;font-size:0.75rem;font-weight:700;color:var(--accent)}
.status-partial{font-size:0.75rem;font-weight:700;color:var(--t3)}
.status-roadmap{font-size:0.75rem;font-weight:700;color:var(--text-muted)}
.status-partner{font-size:0.75rem;font-weight:700;color:var(--blue)}
/* Use of funds */
.funds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.fund-item{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.4rem;box-shadow:var(--card-shadow)}
.fund-pct{font-family:var(--font-h);font-size:2rem;font-weight:700;color:var(--teal);line-height:1;margin-bottom:0.3rem}
.fund-amt{font-size:0.78rem;font-weight:600;color:var(--dark-1);margin-bottom:0.4rem}
.fund-label{font-size:0.78rem;color:var(--text-secondary);line-height:1.5}
/* Go to market */
.gtm-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.gtm-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.6rem;box-shadow:var(--card-shadow)}
.gtm-card h3{font-family:var(--font-h);font-size:0.88rem;font-weight:700;color:var(--teal);margin-bottom:0.6rem;letter-spacing:0.02em}
.gtm-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}
/* CTA */
.page-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.page-cta h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.page-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 2rem}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block}
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42)}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22)}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.market-grid{grid-template-columns:1fr 1fr}.traction-grid{grid-template-columns:1fr}.funds-grid{grid-template-columns:1fr 1fr}.gtm-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.market-grid{grid-template-columns:1fr}.funds-grid{grid-template-columns:1fr}}

.resources-intro{max-width:680px;margin:0 auto 4rem;text-align:center}
.resources-intro h2{font-family:var(--font-h);font-size:1.8rem;font-weight:700;color:var(--dark-1);margin-bottom:1rem}
.resources-intro p{font-size:1rem;color:var(--text-secondary);line-height:1.75}
.wp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin:0 auto}
.wp-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}
.wp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.wp-card:nth-child(1)::before{background:var(--teal)}
.wp-card:nth-child(2)::before{background:var(--blue)}
.wp-card:nth-child(3)::before{background:var(--teal-d)}
.wp-card:nth-child(4)::before{background:var(--t3)}
.wp-card:nth-child(5)::before{background:var(--t1)}
.wp-tag{font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted)}
.wp-card h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--dark-1);line-height:1.3}
.wp-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.7;flex:1}
.wp-card a{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-h);font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--teal);margin-top:auto}
.wp-card a:hover{color:var(--teal-d)}
@media(max-width:680px){.wp-grid{grid-template-columns:1fr}}

.arch-hero{background:var(--dark-1);padding:120px var(--page-x) 5rem;position:relative;overflow:hidden}
.arch-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(51,153,151,0.12) 0%,transparent 65%)}
.arch-hero-inner{position:relative;z-index:1;max-width:680px}
.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.arch-hero h1{font-family:var(--font-h);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.08;color:#fff;margin-bottom:1.2rem}
.arch-hero p{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:520px}
.arch-body{background:var(--white);padding:5rem var(--page-x)}
.arch-inner{max-width:960px;margin:0 auto}
.arch-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:3rem 0}
.tier-card{background:var(--light-1);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem;position:relative}
.tier-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r) var(--r) 0 0}
.tier-sensor::before{background:var(--teal)}
.tier-detector::before{background:var(--blue)}
.tier-portal::before{background:var(--accent)}
.tier-label{font-size:0.65rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.5rem}
.tier-name{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark-1);margin-bottom:0.8rem}
.tier-spec{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}
.tier-spec li{margin-bottom:0.4rem;padding-left:1rem;position:relative;list-style:none}
.tier-spec li::before{content:'·';position:absolute;left:0;color:var(--teal)}
.arch-scales{background:var(--light-2);padding:5rem var(--page-x)}
.scale-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:2.5rem auto 0}
.scale-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:1.8rem;box-shadow:var(--card-shadow);text-align:center}
.scale-num{font-family:var(--font-h);font-size:2rem;font-weight:700;color:var(--teal);line-height:1;margin-bottom:0.4rem}
.scale-label{font-size:0.85rem;font-weight:600;color:var(--dark-1);margin-bottom:0.3rem}
.scale-sub{font-size:0.78rem;color:var(--text-secondary);line-height:1.5}
.arch-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.arch-cta h2{font-family:var(--font-h);font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.arch-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.nav-links{display:none}.arch-tiers,.scale-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}

/* ── TOKENS ── */
:root{
  --teal:#339997;--teal-d:#276e6d;--teal-l:#4bbdba;
  --blue:#336999;--green:#339963;--accent:#1ACC6E;
  --dark-1:#1C2B3A;--dark-2:#2a3f52;--dark-3:#162233;
  --light-1:#F8FAFC;--light-2:#F0F4F8;--light-3:#E8EEF4;
  --white:#FFFFFF;
  --text-primary:#222831;--text-secondary:#5A6B7A;--text-muted:#9AAAB8;
  --text-on-dark:#C8D8E4;--text-on-dark-2:rgba(200,216,228,0.65);
  --border-light:#E0E8F0;--border-blue:rgba(51,105,153,0.22);
  --t1:#FF3B3B;--t2:#FF5B31;--t3:#FF7C27;--t4:#FF9D1D;
  --font-h:'Oswald',sans-serif;--font-b:'Inter',sans-serif;--r:8px;
  --page-x:3.5rem;
  --card-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);
  --card-shadow-hover:0 8px 24px rgba(28,43,58,0.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--light-2);color:var(--text-primary);font-family:var(--font-b);font-weight:400;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ── THREAT BAR ── */
.threat-bar{height:3px;background:linear-gradient(90deg,var(--t1) 0%,var(--t2) 25%,var(--t3) 50%,var(--t4) 75%,#FFBD13 100%);position:fixed;top:0;left:0;right:0;z-index:300}

/* ── NAV ── */
nav{position:fixed;top:3px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);height:66px;background:var(--dark-1);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-blue);transition:background 0.3s}
.nav-left{display:flex;align-items:center;gap:3rem}
.logo-img{height:32px;width:auto;display:block}
.logo-img-footer{height:26px;width:auto;display:block}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);transition:color 0.2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--teal);color:var(--white);font-family:var(--font-h);font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.6rem 1.5rem;border-radius:4px;transition:background 0.2s,transform 0.15s;white-space:nowrap}
.nav-cta:hover{background:var(--teal-d);transform:translateY(-1px)}

/* ── HERO ── */
.hero{position:relative;padding:148px var(--page-x) 80px;min-height:78vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--dark-3)}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 40%;opacity:0.35;filter:saturate(0.5) brightness(0.7)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(22,34,51,0.97) 0%,rgba(22,34,51,0.82) 50%,rgba(22,34,51,0.55) 100%),radial-gradient(ellipse 50% 65% at 75% 45%,rgba(51,153,151,0.18) 0%,transparent 65%)}
.hero-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}
.hero-content{position:relative;z-index:2;max-width:700px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.hero-eyebrow::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.hero h1{font-family:var(--font-h);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:700;line-height:1.06;letter-spacing:0.02em;color:var(--white);margin-bottom:1.4rem}
.hero h1 em{font-style:normal;color:var(--teal-l)}
.hero-sub{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.78;margin-bottom:2rem;max-width:540px}
.hero-actions{display:flex;gap:0.9rem;flex-wrap:wrap}
.btn-teal{background:var(--teal);color:var(--white);font-family:var(--font-h);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:background 0.2s,transform 0.15s;box-shadow:0 4px 16px rgba(51,153,151,0.3)}
.btn-teal:hover{background:var(--teal-d);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(51,153,151,0.4);color:rgba(200,216,228,0.75);font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.85rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s}
.btn-ghost:hover{border-color:var(--teal);color:var(--white);background:rgba(51,153,151,0.08)}

/* ── TRUST STRIP ── */
.trust-strip{background:var(--light-1);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:1.2rem var(--page-x)}
.trust-inner{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.trust-label{font-size:0.68rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.trust-badges{display:flex;flex-wrap:wrap;gap:0.6rem}
.trust-badge{font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);background:var(--white);border:1px solid var(--border-light);padding:0.3rem 0.75rem;border-radius:3px;box-shadow:var(--card-shadow);text-decoration:none;transition:border-color 0.2s,color 0.2s}
a.trust-badge:hover{border-color:var(--teal);color:var(--teal)}

/* ── SECTIONS ── */
.sec{padding:6rem var(--page-x)}
.sec-light{background:var(--light-2);color:var(--text-primary)}
.sec-white{background:var(--white);color:var(--text-primary)}
.sec-dark{background:var(--dark-2);color:var(--text-on-dark)}
.sec-label{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;margin-bottom:0.9rem}
.sec-label::before{content:'';width:18px;height:1px;background:currentColor}
.sec-label-teal{color:var(--teal)}
.sec-dark .sec-label-teal{color:var(--teal-l)}
.sec-h{font-family:var(--font-h);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:0.01em;margin-bottom:1rem}
.sec-body{font-size:1rem;font-weight:300;line-height:1.78;max-width:580px;color:var(--text-secondary)}
.sec-dark .sec-body{color:var(--text-on-dark-2)}
.sec-dark .sec-h{color:var(--white)}

/* ── PROBLEM SECTION ── */
.problem-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.problem-copy{background:var(--white);padding:4.5rem var(--page-x);display:flex;flex-direction:column;justify-content:center}
.problem-copy .sec-h{color:var(--dark-1)}
.prob-items{display:flex;flex-direction:column;gap:1.4rem;margin-top:2rem}
.prob-item{display:flex;gap:0.9rem;align-items:flex-start}
.prob-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px}
.prob-dot.red{background:var(--t1)}.prob-dot.amber{background:var(--t3)}.prob-dot.teal{background:var(--teal)}
.prob-item strong{display:block;font-size:0.9rem;font-weight:600;color:var(--dark-1);margin-bottom:0.2rem}
.prob-item p{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}

/* ── PROBLEM UI PANEL (JSX OverviewScreen accurate) ── */
.pui-wrap{background:var(--light-1);border-left:1px solid var(--border-light);display:flex;flex-direction:column;font-family:'IBM Plex Sans','Inter',sans-serif}
.pui-utility-bar{height:50px;background:#1C2B3A;border-bottom:1px solid #2a3f52;display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0}
.pui-utility-title{font-size:15px;font-weight:700;color:#E8F0F6;letter-spacing:-0.01em;flex:1}
.pui-utility-sub{font-size:11px;color:#4A6275}
.pui-utility-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.pui-acc-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 2s infinite}
.pui-enterprise-band{background:#222831;color:#fff;border-radius:10px;margin:14px 16px 10px;padding:10px 18px;display:flex;align-items:center;gap:0;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,0.12)}
.pui-ent-left{display:flex;flex-direction:column;gap:1px;flex-shrink:0;padding-right:18px}
.pui-ent-supertitle{font-size:9px;font-weight:700;letter-spacing:0.1em;color:rgba(255,255,255,0.55)}
.pui-ent-title{font-size:14px;font-weight:700;color:#fff;letter-spacing:-0.01em;line-height:1}
.pui-vert-sep{width:1px;align-self:stretch;background:rgba(255,255,255,0.15);margin:0 4px;flex-shrink:0}
.pui-kpi-btn{flex:1;min-width:100px;display:flex;flex-direction:column;gap:2px;padding:2px 10px;border-radius:4px}
.pui-kpi-lbl{font-size:9px;font-weight:700;letter-spacing:0.10em;color:rgba(255,255,255,0.6);display:flex;align-items:center;gap:4px}
.pui-arr{font-size:9px;color:rgba(255,255,255,0.45)}
.pui-kpi-row2{display:flex;align-items:baseline;gap:8px}
.pui-kpi-val{font-size:22px;font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1}
.pui-kpi-delta{font-size:10px;font-weight:600;letter-spacing:0.02em}
.pui-pq{flex:1}
.pui-pq-header{background:#336999;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pui-pcard{padding:10px 18px;border-bottom:1px solid #F1F5F9;background:#fff;transition:background 0.1s;border-left:3px solid transparent}
.pui-pcard:hover{background:#FAFBFC}
.pui-pcard-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pui-rank{font-size:10px;font-weight:800;color:#9AAAB8;letter-spacing:0.1em;min-width:20px}
.pui-bar-wrap{width:90px;height:7px;background:#E8EEF4;border-radius:4px;overflow:hidden;flex-shrink:0}
.pui-bar{height:100%;border-radius:4px}
.pui-bar-label{font-size:11px;font-weight:700;min-width:48px}
.pui-bar-score{font-size:12px;font-weight:600;color:#374151}
.pui-dot-sep{color:#D1D9E0;font-size:10px}
.pui-device{font-size:13px;font-weight:700;color:#111827}
.pui-incid{font-size:11px;color:#9AAAB8;font-weight:600}
.pui-time-label{font-size:8px;font-weight:700;letter-spacing:0.08em;color:#9AAAB8;text-transform:uppercase}
.pui-time{font-size:11px;color:#9AAAB8}
.pui-pcard-sub{font-size:11px;color:#5A6B7A;line-height:1.45;padding-left:28px;margin-bottom:4px}
.pui-pcard-tags{display:flex;gap:4px;padding-left:28px;flex-wrap:wrap}
.pui-tag{font-size:9px;font-weight:700;letter-spacing:0.05em;padding:2px 7px;border-radius:3px}
.pui-pq-footer{padding:11px 18px;background:#F8FAFC;border-top:1px solid #F1F5F9;display:flex;align-items:center;gap:8px}
.pui-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;flex-shrink:0}
.pui-live{font-size:9px;background:rgba(26,204,110,0.12);color:var(--accent);border:1px solid rgba(26,204,110,0.25);padding:2px 7px;border-radius:3px;font-weight:800;letter-spacing:0.06em}
.pui-footer-strip{font-size:10px;color:var(--text-muted);text-align:right;padding:7px 16px;border-top:1px solid var(--border-light);letter-spacing:0.05em}

/* ── DIFF CARDS ── */
.diff-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3.5rem}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.diff-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem 1.6rem;transition:box-shadow 0.25s,transform 0.2s;position:relative;overflow:hidden;box-shadow:var(--card-shadow)}
.diff-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}
.diff-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.diff-card:nth-child(1)::after{background:var(--teal)}
.diff-card:nth-child(2)::after{background:var(--blue)}
.diff-card:nth-child(3)::after{background:var(--accent)}
.diff-card:nth-child(4)::after{background:var(--t3)}
.diff-icon{width:56px;height:56px;margin-bottom:1.2rem}
.diff-card h3{font-family:var(--font-h);font-size:0.92rem;font-weight:700;color:var(--dark-1);margin-bottom:0.5rem;letter-spacing:0.01em}
.diff-card p{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}

/* ── HOW IT WORKS ── */
.how-photo-strip{width:100%;height:400px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.how-photo-img{position:absolute;inset:0;background-size:cover;background-position:center 40%;filter:saturate(0.65) brightness(0.55)}
.how-photo-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(245,247,250,0.15) 0%,rgba(10,16,26,0.35) 40%,rgba(10,16,26,0.82) 80%,var(--light-2) 100%)}
.how-strip-headline{position:relative;z-index:2;padding:0 3.5rem 2.8rem;width:100%}
.how-strip-headline .sec-label-teal{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;color:var(--teal-l);margin-bottom:0.7rem}
.how-strip-headline .sec-label-teal::before{content:'';width:18px;height:1px;background:currentColor}
.how-strip-headline h2{font-family:var(--font-h);font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:700;line-height:1.1;letter-spacing:0.01em;color:var(--white);margin:0}
.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.how-step{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:2rem 1.6rem;box-shadow:var(--card-shadow);transition:box-shadow 0.25s,transform 0.2s;display:flex;flex-direction:column}
.how-step:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}
.step-num{font-family:var(--font-h);font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}
.step-num::after{content:'';flex:1;height:1px;background:var(--border-light)}
.how-step h4{font-family:var(--font-h);font-size:0.9rem;font-weight:700;color:var(--dark-1);margin-bottom:0.5rem}
.how-step p{font-size:0.8rem;color:var(--text-secondary);line-height:1.6;flex:1}

/* ── AGENTIC SECTION (ThreatHunterScreen accurate) ── */
.sec-agentic{background:var(--light-2);color:var(--text-primary)}
.sec-agentic .sec-label-teal{color:var(--teal)}
.sec-agentic .sec-h{color:var(--dark-1)}
.sec-agentic .sec-body{color:var(--text-secondary)}
.agentic-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:stretch}
.agentic-visual{position:relative;border-radius:var(--r);overflow:hidden;background:var(--light-2);min-height:540px;border:1px solid var(--border-light);padding:2rem;display:flex;align-items:center;justify-content:center}
.agentic-ui{position:relative;width:100%;background:var(--light-2);border:1px solid var(--border-light);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(28,43,58,0.12);display:flex;flex-direction:column;font-family:'IBM Plex Sans','Inter',sans-serif}
/* TopBar — matches UtilityBar/ThreatHunterScreen */
.aui-topbar{height:50px;background:#1C2B3A;border-bottom:1px solid #2a3f52;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px;flex-shrink:0}
.aui-topbar-left{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.aui-topbar-title{font-size:15px;font-weight:700;color:#E8F0F6;letter-spacing:-0.01em}
.aui-topbar-sub{font-size:11px;color:#4A6275;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aui-topbar-badges{display:flex;gap:6px;flex-shrink:0}
.aui-badge{font-size:9px;font-weight:800;letter-spacing:0.08em;padding:3px 8px;border-radius:4px;border:1px solid;white-space:nowrap}
/* Threat list rows */
.th-row{padding:12px 14px;border-bottom:1px solid #F1F5F9;background:#fff;cursor:pointer;transition:background 0.1s;border-left:3px solid transparent}
.th-row:hover{background:#FAFBFC}
.th-row:last-child{border-bottom:none}
.th-selected{background:rgba(51,153,151,0.05)!important;border-left-color:#339997!important}
.th-chain-row{background:#FAFCFC;opacity:0.82}
.th-row-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.th-rank{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:4px;background:rgba(34,40,49,0.07);color:#9AAAB8;font-size:10px;font-weight:800}
.th-device{font-size:13px;font-weight:700;color:#111827}
.th-incid{font-size:10px;color:#9AAAB8;font-weight:700;margin-left:auto}
.th-badge-dev{font-size:8px;font-weight:800;letter-spacing:0.08em;background:rgba(51,153,151,0.1);color:#339997;border:1px solid rgba(51,153,151,0.25);padding:2px 6px;border-radius:3px}
.th-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.th-bar-track{width:100px;height:7px;background:#E8EEF4;border-radius:4px;overflow:hidden;flex-shrink:0}
.th-bar-fill{height:100%;border-radius:4px}
.th-bar-label{font-size:12px;font-weight:700;min-width:52px}
.th-bar-score{font-size:13px;font-weight:600;color:#374151}
.th-sub{font-size:12px;color:#5A6B7A;line-height:1.4;margin-bottom:7px}
.th-row-bottom{display:flex;align-items:center;gap:8px}
.th-status-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;border:1px solid}
.th-time{font-size:11px;color:#9AAAB8}
.th-btn{margin-left:auto;padding:4px 10px;border-radius:5px;background:transparent;color:#339997;border:1px solid rgba(51,153,151,0.4);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.th-btn-active{background:#339997;color:#fff;border-color:#339997}
.th-progress-track{height:3px;background:rgba(51,153,151,0.1);border-radius:2px;overflow:hidden;margin-top:4px}
.th-progress-fill{height:100%;width:62%;background:#339997;border-radius:2px}
.aui-footer{font-size:10px;color:#9AAAB8;text-align:right;padding:7px 16px;border-top:1px solid #F1F5F9;letter-spacing:0.05em}
.agentic-points{display:flex;flex-direction:column;gap:1.6rem;margin-top:2.2rem}
.ag-point{display:flex;gap:1.2rem;align-items:flex-start}
.ag-icon{width:36px;height:36px;border-radius:50%;background:rgba(51,153,151,0.1);border:1px solid rgba(51,153,151,0.25);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.ag-point h4{font-family:var(--font-h);font-size:0.88rem;font-weight:700;color:var(--dark-1);margin-bottom:0.3rem}
.ag-point p{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}

/* ── CONFIRMATION SECTION ── */
.confirmation-sec{padding:6rem var(--page-x);background:var(--dark-2)}
.confirmation-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:center;max-width:1100px;margin:0 auto}
.conf-quote-wrap{text-align:center}
.conf-quote-mark{font-family:var(--font-h);font-size:8rem;font-weight:700;color:var(--teal);line-height:0.6;margin-bottom:1.5rem;opacity:0.4}
.conf-question{font-family:var(--font-h);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:0.8rem}
.conf-subtext{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,215,235,0.4)}
.conf-answer-body{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.78}
.conf-callout{display:flex;gap:1rem;align-items:flex-start;margin-top:2rem;background:rgba(255,255,255,0.04);border:1px solid var(--border-blue);border-left:3px solid var(--teal);border-radius:var(--r);padding:1.4rem 1.6rem}
.conf-callout-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}
.conf-callout p{font-size:0.85rem;color:var(--text-on-dark-2);line-height:1.7;font-style:italic}

/* ── NDL SECTION ── */
.ndl-sec{padding:6rem var(--page-x);background:var(--light-1)}
.ndl-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:center;max-width:1100px;margin:0 auto}
.ndl-quote{display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.ndl-rule{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--teal),transparent)}
.ndl-headline{font-family:var(--font-h);font-size:clamp(2.8rem,5vw,4.2rem);font-weight:700;line-height:1.0;letter-spacing:0.02em;color:var(--dark-1);text-align:center}
.ndl-lead{font-size:1rem;font-weight:300;color:var(--text-secondary);line-height:1.78;margin-bottom:2.5rem}
.ndl-three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ndl-item{padding:1.4rem;background:var(--white);border:1px solid var(--border-light);border-top:2px solid var(--teal);border-radius:var(--r);box-shadow:var(--card-shadow)}
.ndl-item-head{font-family:var(--font-h);font-size:0.82rem;font-weight:700;color:var(--teal);letter-spacing:0.03em;margin-bottom:0.5rem}
.ndl-item p{font-size:0.8rem;color:var(--text-secondary);line-height:1.6}

/* ── BEHAVIOR DRIVE SECTION ── */
.bd-section-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:center}
.bd-phases{display:flex;flex-direction:column;gap:0;margin-top:2rem;border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden}
.bd-phase{padding:0.9rem 1.2rem;border-bottom:1px solid var(--border-light);display:flex;align-items:baseline;gap:1rem}
.bd-phase:last-child{border-bottom:none}
.bd-phase-label{font-family:var(--font-h);font-size:0.78rem;font-weight:700;color:var(--teal);letter-spacing:0.04em;white-space:nowrap;min-width:160px}
.bd-phase-desc{font-size:0.8rem;color:var(--text-secondary);line-height:1.5}
/* BD visual panel (matches BehaviorDriveScreen) */
.bd-visual{background:var(--light-2);border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden;box-shadow:var(--card-shadow);font-family:'IBM Plex Sans','Inter',sans-serif}
.bd-topbar{height:50px;background:#1C2B3A;border-bottom:1px solid #2a3f52;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px;flex-shrink:0}
.bd-topbar-left{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.bd-topbar-title{font-size:15px;font-weight:700;color:#E8F0F6;letter-spacing:-0.01em}
.bd-topbar-sub{font-size:11px;color:#4A6275}
.bd-topbar-badge{font-size:9px;font-weight:800;letter-spacing:0.08em;background:rgba(51,153,151,0.15);color:#339997;border:1px solid rgba(51,153,151,0.3);padding:3px 8px;border-radius:4px}
.bd-orientation{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid #339997;border-radius:8px;padding:12px 16px;margin:12px 14px 10px;display:flex;align-items:flex-start;gap:12px}
/* BDStatsStrip — 5 cols */
.bd-stats-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:#fff}
.bd-stat{padding:10px 10px 8px;border-right:1px solid var(--border-light);text-align:left}
.bd-stat:last-child{border-right:none}
.bd-stat-num{font-family:var(--font-h);font-size:1.4rem;font-weight:700;line-height:1}
.bd-stat-label{font-size:8px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-top:2px}
.bd-stat-sub{font-size:8px;color:var(--text-muted);margin-top:2px;line-height:1.3}
/* BD zones grid */
.bd-zones{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--border-light)}
.bd-zone{padding:0.9rem 1rem;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.bd-zone:nth-child(even){border-right:none}
.bd-zone:nth-child(3),.bd-zone:nth-child(4){border-bottom:none}
.bd-zone-label{font-family:var(--font-h);font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.5rem}
.bd-zone-cli .bd-zone-label{color:var(--teal)}
.bd-zone-adm .bd-zone-label{color:var(--blue)}
.bd-zone-dc .bd-zone-label{color:var(--teal-d)}
.bd-zone-iot .bd-zone-label{color:#b06010}
.bd-zone-items{display:flex;flex-wrap:wrap;gap:0.3rem}
.bd-zone-items span{font-size:0.68rem;background:var(--white);border:1px solid var(--border-light);padding:0.15rem 0.4rem;border-radius:3px;color:var(--text-secondary)}
.bd-footer{font-size:0.62rem;color:var(--text-muted);text-align:right;padding:0.6rem 1rem;letter-spacing:0.05em}

/* ── INDUSTRIES ── */
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.industry-card{position:relative;border-radius:var(--r);overflow:hidden;height:260px;cursor:pointer;transition:transform 0.3s}
.industry-card:hover{transform:translateY(-4px)}
.ind-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.4s}
.industry-card:hover .ind-photo{transform:scale(1.04)}
.ind-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(22,34,51,0.92) 0%,rgba(22,34,51,0.4) 60%,transparent 100%)}
.ind-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.4rem}
.ind-tag{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:700;margin-bottom:0.4rem}
.ind-title{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:0.3rem}
.ind-sub{font-size:0.75rem;color:rgba(200,215,235,0.65);line-height:1.4}

/* ── COMPLIANCE ── */
.compliance-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:3rem}
.comp-badges{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.5rem}
.comp-badge{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);background:var(--white);border:1px solid var(--border-light);padding:0.45rem 1rem;border-radius:3px;box-shadow:var(--card-shadow);text-decoration:none;transition:border-color 0.2s,color 0.2s}
a.comp-badge:hover{border-color:var(--teal);color:var(--teal)}
.comp-items{display:flex;flex-direction:column;gap:1rem}
.comp-item{display:flex;gap:0.9rem;align-items:flex-start;padding:1.2rem;background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);box-shadow:var(--card-shadow)}
.comp-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:5px}
.comp-item h4{font-family:var(--font-h);font-size:0.85rem;font-weight:700;color:var(--dark-1);margin-bottom:0.2rem}
.comp-item p{font-size:0.8rem;color:var(--text-secondary);line-height:1.55}

/* ── CTA ── */
.cta-band{background:var(--teal);padding:6rem var(--page-x);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.08}
.cta-band h2{font-family:var(--font-h);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:var(--white);letter-spacing:0.01em;line-height:1.1;margin-bottom:0.9rem;position:relative}
.cta-band p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:480px;margin:0 auto 2.2rem;line-height:1.7;position:relative}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}
.btn-white{background:var(--white);color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;transition:opacity 0.2s,transform 0.15s}
.btn-white:hover{opacity:0.92;transform:translateY(-1px)}
.btn-teal-outline{border:2px solid rgba(255,255,255,0.5);color:var(--white);font-family:var(--font-h);font-weight:600;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:4px;display:inline-block;transition:all 0.2s}
.btn-teal-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.1)}

/* ── FOOTER ── */
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid var(--border-blue)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42);transition:color 0.2s}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22);transition:color 0.2s}
.footer-legal a:hover{color:rgba(200,216,228,0.55)}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes progress-pulse{0%,100%{opacity:0.5;width:58%}50%{opacity:1;width:66%}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.show{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.4s}.d6{transition-delay:.48s}

@media(max-width:960px){
  :root{--page-x:1.5rem}
  nav{padding:0 1.5rem}.nav-links{display:none}
  .problem-wrap,.agentic-wrap,.compliance-grid,.bd-section-wrap{grid-template-columns:1fr}
  .diff-grid,.how-steps,.industries-grid{grid-template-columns:1fr 1fr}
  .ndl-inner,.confirmation-inner{grid-template-columns:1fr;gap:3rem}
  .ndl-three{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .how-photo-strip{height:300px}.how-strip-headline{padding:0 1.5rem 2rem}
  .sec{padding:4.5rem 1.5rem}
  .bd-stats-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .diff-grid,.how-steps,.industries-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
  .bd-stats-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .route-grid{grid-template-columns:1fr!important}
  .route-divider{display:none!important}
  .route-link{padding:1.2rem 1.5rem!important;background:var(--light-2)!important}
}

/* ── WordPress conflict resets ── */
body { margin: 0 !important; padding: 0 !important; }
.wp-site-blocks { padding: 0 !important; }
.entry-content { padding: 0 !important; margin: 0 !important; }
.wp-block-post-content { padding: 0 !important; }
.page-content { max-width: 800px; margin: 0 auto; padding: 5rem var(--page-x) !important; }

html { margin-top: 0 !important; }
#wpadminbar { display: none !important; }

/* ── Archive / Blog page fixes ── */
/* Remove WordPress default archive title output */
.page-header { display: none !important; }
.archive-title { display: none !important; }
.archive-description { display: none !important; }
/* Ensure blog grid sits directly under nav */
body.archive .blog-grid,
body.blog .blog-grid { 
    display: grid !important;
    grid-template-columns: repeat(2,1fr) !important;
    gap: 2rem !important;
    max-width: 1000px !important;
    margin: 4rem auto !important;
    padding: 0 var(--page-x) !important;
}
body.archive .blog-card,
body.blog .blog-card {
    background: var(--white) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: var(--r) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
}

/* ── Compliance Index Page ── */

.comp-index-hero{background:var(--dark-1);padding:120px var(--page-x) 5rem;position:relative;overflow:hidden}
.comp-index-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(51,153,151,0.12) 0%,transparent 65%)}
.comp-index-hero-inner{position:relative;z-index:1;max-width:680px}
.page-tag{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);font-weight:500;margin-bottom:1.2rem}
.page-tag::before{content:'';width:20px;height:1.5px;background:var(--teal-l)}
.comp-index-hero h1{font-family:var(--font-h);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.08;color:#fff;margin-bottom:1rem}
.comp-index-hero p{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:520px}
.comp-index-body{background:var(--light-2);padding:5rem var(--page-x)}
.comp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.comp-index-cta{background:var(--teal);padding:5rem var(--page-x);text-align:center}
.comp-index-cta h2{font-family:var(--font-h);font-size:2rem;font-weight:700;color:#fff;margin-bottom:0.8rem}
.comp-index-cta p{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.85);max-width:440px;margin:0 auto 2rem;line-height:1.7}
.btn-white{background:#fff;color:var(--teal);font-family:var(--font-h);font-weight:700;font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:1rem 2.5rem;border-radius:4px;display:inline-block;text-decoration:none}
footer{background:var(--dark-1);padding:3.5rem var(--page-x) 2.5rem;border-top:1px solid rgba(51,105,153,0.22)}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-tagline{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(200,216,228,0.28);line-height:1.7;max-width:200px;margin-top:0.8rem}
.footer-col-title{font-family:var(--font-h);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,216,228,0.3);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.55rem}
.footer-col ul a{font-size:0.82rem;color:rgba(200,216,228,0.42);text-decoration:none}
.footer-col ul a:hover{color:var(--teal-l)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;border-top:1px solid rgba(51,105,153,0.12)}
.footer-copy{font-size:0.72rem;color:rgba(200,216,228,0.22)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.72rem;color:rgba(200,216,228,0.22);text-decoration:none}
@media(max-width:960px){:root{--page-x:1.5rem}nav{padding:0 1.5rem}.comp-card-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.comp-card-grid{grid-template-columns:1fr}}

/* ===========================================================================
   NAVIGATION — Industries dropdown + mobile drawer
   Breakpoint 1080px; must match NAV_BREAKPOINT in main.js.
   =========================================================================== */

nav{gap:1.5rem}
.nav-left{flex:1;min-width:0}
.nav-logo{flex-shrink:0}
.nav-links{align-items:center;margin:0}
.nav-links > li{position:relative;display:flex;align-items:center}
.nav-mobile-only{display:none}

.nav-drop-toggle{display:inline-flex;align-items:center;gap:0.45rem;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-b);font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.5);transition:color 0.2s}
.nav-drop-toggle:hover,.nav-has-drop.is-open > .nav-drop-toggle{color:#fff}
.nav-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;transition:transform 0.2s}
.nav-has-drop.is-open .nav-caret{transform:rotate(180deg)}

.nav-drop{position:absolute;top:calc(100% + 18px);left:-1.2rem;width:360px;background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);box-shadow:0 20px 52px rgba(28,43,58,0.20);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 0.18s,transform 0.18s,visibility 0.18s;z-index:250}
.nav-has-drop.is-open > .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop::before{content:'';position:absolute;top:-18px;left:0;right:0;height:18px}
.nav-drop-inner{padding:0.6rem;display:flex;flex-direction:column;gap:0.1rem}
/* Keep the rightmost dropdown inside the viewport on narrow desktop widths. */
/* Right-align the two rightmost dropdowns so they cannot overflow the
   viewport edge. List order: Platform, Industries, Resources, About,
   Contact (mobile only). Update these if the nav order changes. */
.nav-links > li:nth-last-of-type(2) .nav-drop,
.nav-links > li:nth-last-of-type(3) .nav-drop{left:auto;right:-1.2rem}

.nav-drop-inner > a{display:block;padding:0.7rem 0.8rem;border-radius:5px;transition:background 0.15s}
.nav-drop-inner > a:hover{background:var(--light-2)}
.ndl-title{display:block;color:var(--dark-1)}
.ndl-desc{display:block;color:var(--text-secondary);margin-top:0.15rem}

/* Typography reset: .nav-links a imposes uppercase + letter-spacing for nav
   labels. The dropdown holds prose, so clear it or it cascades into children. */
.nav-drop,.nav-drop a,.nav-drop a *{text-transform:none;letter-spacing:normal}
.ndl-title{font-family:var(--font-h);font-size:0.9rem;font-weight:700;letter-spacing:0.01em;line-height:1.3}
.ndl-desc{font-family:var(--font-b);font-size:0.76rem;font-weight:400;line-height:1.5}

/* Hamburger */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:none;border:none;cursor:pointer;flex-shrink:0}
.nav-burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform 0.25s,opacity 0.2s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-scrim{position:fixed;inset:0;background:rgba(12,20,30,0.55);z-index:190;opacity:0;transition:opacity 0.25s}
.nav-scrim.is-visible{opacity:1}

@media(max-width:1080px){
  nav{padding:0 1.5rem}
  .nav-burger{display:flex}
  .nav-cta{display:none}
  .nav-mobile-only{display:block}

  .nav-links{display:flex;position:fixed;top:69px;right:0;bottom:0;width:min(88vw,380px);flex-direction:column;align-items:stretch;gap:0;background:var(--dark-1);border-left:1px solid var(--border-blue);padding:1.5rem 0 6rem;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform 0.28s cubic-bezier(0.4,0,0.2,1);z-index:200}
  .nav-links.is-open{transform:translateX(0)}
  .nav-links > li{display:block;border-bottom:1px solid rgba(51,105,153,0.14)}
  .nav-links > li > a,.nav-drop-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1.1rem 1.6rem;font-size:0.9rem;letter-spacing:0.04em;color:rgba(255,255,255,0.82)}

  .nav-drop{position:static;width:auto;background:rgba(0,0,0,0.22);border:none;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;transition:none}
  .nav-has-drop.is-open > .nav-drop{display:block}
  .nav-drop::before{display:none}
  .nav-drop-inner{padding:0.5rem 0.9rem 1rem}
  .nav-drop-inner > a{padding:0.75rem 0.7rem}
  .nav-drop-inner > a:hover{background:rgba(255,255,255,0.05)}
  .ndl-title{color:#fff}
  .ndl-desc{color:rgba(200,216,228,0.5)}

  body.nav-open{overflow:hidden}
}

@media(max-width:420px){
  .nav-links{top:69px;width:100vw;border-left:none}
}

/* ===========================================================================
   BLOG POST COMPONENTS (pnm-*)
   Moved here from Appearance > Customize > Additional CSS so it ships with the
   theme, is versioned in git, and survives theme file deploys.
   AFTER UPLOADING THIS THEME: delete the duplicate block from Additional CSS.
   Every class is pnm- prefixed to avoid collision with theme classes.
   =========================================================================== */

:root{--pnm-teal:#339997;--pnm-teal-d:#276e6d;--pnm-teal-l:#4bbdba;--pnm-blue:#336999;--pnm-dark:#1C2B3A;--pnm-light:#F8FAFC;--pnm-white:#FFFFFF;--pnm-text:#222831;--pnm-text-2:#5A6B7A;--pnm-muted:#9AAAB8;--pnm-on-dark:#C8D8E4;--pnm-border:#E0E8F0;--pnm-red:#FF3B3B;--pnm-font-h:'Oswald',sans-serif;--pnm-r:8px;--pnm-shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04)}

.pnm-bluf ul,.pnm-compare ul,.pnm-sources ul{list-style:none;margin:0;padding:0}
.pnm-bluf li,.pnm-compare li,.pnm-sources li{margin:0 0 0.5rem 0;padding:0}
.pnm-bluf li:last-child,.pnm-compare li:last-child,.pnm-sources li:last-child{margin-bottom:0}

/* 1. BLUF card */
.pnm-bluf{background:var(--pnm-dark);border-radius:var(--pnm-r);padding:1.6rem 2rem;margin:2rem 0}
.pnm-bluf-label{font-family:var(--pnm-font-h);font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--pnm-teal-l);margin-bottom:0.9rem}
.pnm-bluf li{font-size:0.92rem;line-height:1.65;color:var(--pnm-on-dark);padding-left:1.4rem;position:relative}
.pnm-bluf li::before{content:'\2192';position:absolute;left:0;color:var(--pnm-teal-l)}

/* 2. Pull quote */
.pnm-quote{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2);border-left:3px solid var(--pnm-teal);border-radius:var(--pnm-r);padding:1.4rem 1.8rem;margin:2rem 0}
.pnm-quote p{color:var(--pnm-dark);font-style:italic;font-size:1rem;line-height:1.7;margin:0}

/* 3. Compare pair */
.pnm-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 2rem}
.pnm-compare-col{border-radius:var(--pnm-r);padding:1.2rem 1.4rem}
.pnm-compare-col.is-traditional{background:rgba(255,59,59,0.05);border:1px solid rgba(255,59,59,0.15)}
.pnm-compare-col.is-personam{background:rgba(51,153,151,0.06);border:1px solid rgba(51,153,151,0.2)}
.pnm-compare-label{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.7rem}
.is-traditional .pnm-compare-label{color:var(--pnm-red)}
.is-personam .pnm-compare-label{color:var(--pnm-teal)}
.pnm-compare li{font-size:0.85rem;line-height:1.55;color:var(--pnm-text-2);padding-left:1.25rem;position:relative}
.pnm-compare li::before{position:absolute;left:0;top:0}
.is-traditional li::before{content:'\2717';color:var(--pnm-red)}
.is-personam li::before{content:'\2192';color:var(--pnm-teal)}

/* 4. Stage chain */
.pnm-chain{display:flex;align-items:stretch;gap:0;margin:2rem 0}
.pnm-chain-step{background:var(--pnm-white);border:1px solid var(--pnm-border);border-right:none;padding:1.2rem 1rem;flex:1;min-width:0;position:relative}
.pnm-chain-step:first-child{border-radius:var(--pnm-r) 0 0 var(--pnm-r)}
.pnm-chain-step:last-child{border-right:1px solid var(--pnm-border);border-radius:0 var(--pnm-r) var(--pnm-r) 0}
.pnm-chain-step::after{content:'\2192';position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--pnm-muted);background:var(--pnm-white);padding:2px;z-index:1}
.pnm-chain-step:last-child::after{display:none}
.pnm-chain-num{font-size:0.65rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--pnm-muted);margin-bottom:0.4rem}
.pnm-chain-title{font-family:var(--pnm-font-h);font-size:0.85rem;font-weight:700;color:var(--pnm-dark);margin-bottom:0.35rem;line-height:1.25}
.pnm-chain-desc{font-size:0.72rem;color:var(--pnm-text-2);line-height:1.5}

/* 5. Stat trio */
.pnm-stats{background:rgba(51,153,151,0.08);border:1px solid rgba(51,153,151,0.2);border-radius:var(--pnm-r);padding:1.6rem 1.8rem;margin:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pnm-stat{text-align:center}
.pnm-stat-num{font-family:var(--pnm-font-h);font-size:2rem;font-weight:700;color:var(--pnm-teal);line-height:1}
.pnm-stat-label{font-size:0.75rem;color:var(--pnm-text-2);margin-top:0.4rem;line-height:1.4}

/* 6. Data table */
.pnm-table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-size:0.85rem}
.pnm-table th{background:var(--pnm-dark);color:#fff;font-family:var(--pnm-font-h);font-weight:700;font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.7rem 1rem;text-align:left;border:none}
.pnm-table td{padding:0.7rem 1rem;border:none;border-bottom:1px solid var(--pnm-border);color:var(--pnm-text-2);vertical-align:top;line-height:1.55}
.pnm-table tr:nth-child(even) td{background:var(--pnm-light)}
.pnm-table td strong{color:var(--pnm-dark)}

/* 7. Sources card */
.pnm-sources{background:var(--pnm-white);border:1px solid var(--pnm-border);border-radius:var(--pnm-r);padding:1.4rem 1.6rem;margin:2.5rem 0 0;box-shadow:var(--pnm-shadow)}
.pnm-sources-label{font-family:var(--pnm-font-h);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--pnm-muted);margin-bottom:0.8rem}
.pnm-sources li{font-size:0.8rem;color:var(--pnm-text-2);line-height:1.6;padding-left:1rem;position:relative}
.pnm-sources li::before{content:'\2022';position:absolute;left:0;color:var(--pnm-muted)}
.pnm-sources a{color:var(--pnm-teal);text-decoration:none}
.pnm-sources a:hover{text-decoration:underline}

/* 8. Inline CTA band */
.pnm-cta{background:var(--pnm-teal);border-radius:var(--pnm-r);padding:1.8rem 2rem;margin:2.5rem 0 1rem;text-align:center}
.pnm-cta p{font-size:1rem;color:rgba(255,255,255,0.92);line-height:1.55;margin:0 0 1.1rem 0}
.pnm-cta a.pnm-btn{background:#fff;color:var(--pnm-teal);font-family:var(--pnm-font-h);font-weight:700;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.75rem 1.6rem;border-radius:4px;display:inline-block;text-decoration:none;transition:background 0.15s}
.pnm-cta a.pnm-btn:hover{background:#e8f4f4}
.pnm-cta a.pnm-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media(max-width:782px){
  .pnm-compare{grid-template-columns:1fr}
  .pnm-stats{grid-template-columns:1fr;gap:1.2rem}
  .pnm-bluf{padding:1.3rem 1.4rem}
  .pnm-cta{padding:1.5rem 1.4rem}
  .pnm-chain{flex-direction:column}
  .pnm-chain-step{border-right:1px solid var(--pnm-border);border-radius:var(--pnm-r);margin-bottom:1.2rem}
  .pnm-chain-step:last-child{margin-bottom:0}
  .pnm-chain-step::after{content:'\2193';right:50%;top:auto;bottom:-16px;transform:translateX(50%)}
  .pnm-table{display:block;overflow-x:auto}
}

/* Blog post content wrapper. single.php emits this around the_content(). */
.personam-page > *:first-child{margin-top:0}
.personam-page > *:last-child{margin-bottom:0}
.personam-page img{border-radius:var(--r);margin:1.6rem 0}
.personam-page a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.personam-page a:hover{color:var(--teal-d)}

/* ===========================================================================
   PAGE HERO — single source of truth.
   This block previously appeared SIX times in this file. The duplicates set
   max-width on .page-hero-inner without resetting margin or text-align, and
   .page-hero p had a max-width with no auto margins, so the paragraph sat
   flush left inside a centred container. Do not re-declare these selectors
   elsewhere; edit them here.
   =========================================================================== */
.page-hero{background:var(--dark-1);padding:120px var(--page-x) 5rem;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 35%,rgba(51,153,151,0.11) 0%,transparent 68%)}
.page-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;text-align:center}
.page-hero h1{font-family:var(--font-h);font-size:clamp(2rem,4vw,3.4rem);font-weight:700;line-height:1.08;color:#fff;letter-spacing:0.01em;margin:0 auto 1.3rem;max-width:14ch}
.page-hero h1 em{font-style:normal;color:var(--teal-l)}
.page-hero p,.page-hero .lead{font-size:1.05rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:560px;margin:0 auto}
.page-hero p + p,.page-hero .lead + .lead{margin-top:0.9rem}
.page-hero .page-tag{justify-content:center}

@media(max-width:768px){
  .page-hero{padding:100px var(--page-x) 3.2rem}
  .page-hero h1{max-width:none}
  .page-hero p,.page-hero .lead{font-size:0.98rem}
}


/* ===========================================================================
   DEPLOYMENT STEPS — two distinct components, deliberately named apart.

   .deploy-steps / .deploy-step   dark card grid. Used on logistics,
                                  manufacturing, critical infrastructure,
                                  where the section background is dark.
   .deploy-list  / .deploy-list-item   light vertical list with numbered
                                  circles. Used on healthcare, light section.

   These previously shared class names. The dark rules were declared later, so
   healthcare rendered white text on a light background inside a cramped
   three-column grid. Do not merge them back.
   =========================================================================== */
.deploy-list{display:flex;flex-direction:column;gap:1.4rem;margin-top:2.2rem;max-width:520px}
.deploy-list-item{display:flex;gap:1.2rem;align-items:flex-start}
.ds-num{width:32px;height:32px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-family:var(--font-h);font-weight:700;font-size:0.78rem;color:#fff;flex-shrink:0}
.ds-body{min-width:0}
.ds-body h4{font-family:var(--font-h);font-size:0.95rem;font-weight:700;color:var(--dark-1);margin-bottom:0.3rem;line-height:1.3}
.ds-body p{font-size:0.87rem;color:var(--text-secondary);line-height:1.65}

@media(max-width:900px){
  .deploy-list{max-width:none}
}


/* Deployment cards: two across before collapsing to one. */
@media(max-width:1000px) and (min-width:701px){
  .deploy-steps{grid-template-columns:repeat(2,1fr);max-width:720px}
}


/* Footer contact block. Lives in the brand column, not the legal bar, which is
   where the phone number previously sat alongside the copyright notice. */
.footer-contact{display:flex;flex-direction:column;gap:0.35rem;margin-top:1.1rem}
.footer-contact a{font-size:0.82rem;color:rgba(200,216,228,0.62);text-decoration:none;transition:color 0.2s;width:fit-content}
.footer-contact a:hover{color:var(--teal-l)}


/* Industries grid: five cards. Full-width section, so five fit above 1280px.
   Steps down to 3, 2, then 1 rather than leaving an orphan card on a row. */
.industries-grid{grid-template-columns:repeat(5,1fr);gap:1.2rem}
.industry-card{height:280px}
.ind-title{font-size:1.05rem;line-height:1.2}
.ind-sub{font-size:0.78rem;line-height:1.5}
@media(max-width:1280px){.industries-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
@media(max-width:900px){.industries-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.industries-grid{grid-template-columns:1fr}}


/* Industry card crop.
   Heroes use the full 16:9 frame, where the left third is deliberately quiet so
   the headline sits on near-solid colour. Cards are ~250x280 portrait, so a
   16:9 image is cropped on the sides, not the top. At background-position
   center the card would show roughly 25%-75% across, which is the transition
   zone rather than the subject. Shifting to 65% lands the visible window on
   roughly 32%-82%, which is where the subject actually is.
   One image serves both framings; no second crop needed. */
.ind-photo{background-position:65% center}


/* Per-card crop override.
   The global 65% shift suits images whose subject sits right of centre. The
   government facade has its subject nearer the middle, so at 65% the card lands
   on flat wall with the columns running off the corner. 40% brings the roofline
   and column edge into the visible window. The hero is unaffected and uses the
   full frame. Add a similar modifier if another image needs its own crop. */
.industry-card.card-gov .ind-photo{background-position:40% center}


/* How-it-works strip, empty state. The overlay gradient is designed to blend a
   photo into the light page; with no photo it renders as grey fog with the
   heading in the light half. When no image is set the strip becomes a solid
   dark band with the standard teal accent, and reads as intentional. */
.how-photo-strip.how-no-photo{background:var(--dark-1);height:280px}
.how-no-photo .how-photo-overlay{background:radial-gradient(ellipse 55% 90% at 75% 45%,rgba(51,153,151,0.14) 0%,transparent 65%)}


/* ===== ATTACK LIFECYCLE (merged into /attack-chain/) ===== */

/* ===========================================================================
   ATTACK LIFECYCLE COMPONENT (alc-)
   Prototype styles. Uses existing tokens only. Namespaced so nothing here can
   collide with the A version at /attack-chain/ or any industry page.
   =========================================================================== */
.alc-intro{background:var(--dark-1);padding:112px var(--page-x) 3.5rem;position:relative;overflow:hidden}
.alc-intro::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 90% at 75% 40%,rgba(51,153,151,0.13) 0%,transparent 68%)}
.alc-intro-inner{position:relative;z-index:1;max-width:1060px;margin:0 auto}
.alc-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.875rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-l);margin-bottom:1rem}
.alc-eyebrow::before{content:'';width:18px;height:1.5px;background:var(--teal-l);display:block}
.alc-intro h1{font-family:var(--font-h);font-size:clamp(2rem,4vw,3.1rem);font-weight:700;color:#fff;line-height:1.08;letter-spacing:0.01em;margin-bottom:1.1rem;max-width:16ch}
.alc-intro p{font-size:1.02rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:640px}

/* --- BEHAVIOR TRACE IS THE PRIMARY OBJECT ---------------------------------
   The trace is the hero. The five stages are labels beneath observations on
   it. Deliberately NOT a kill chain: no arrows, no colour ramp, no escalation.
   Every stage uses identical visual language because behaviour is evolving,
   not intensifying. Pulses accumulate to say "we observed five behavioural
   changes", not "the attacker advanced".
   ------------------------------------------------------------------------- */
.alc-wrap{background:var(--dark-1);padding:2rem var(--page-x) 5.5rem}
.alc{max-width:1200px;margin:0 auto;position:relative}

.alc-trace-head{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal-l);font-weight:700;margin-bottom:1.6rem}

/* the waveform: full width, thick enough to lead */
.alc-wave{position:relative;width:100%;height:120px;margin-bottom:0.2rem}
.alc-wave svg{width:100%;height:100%;display:block;overflow:visible}
.alc-wave-path{fill:none;stroke:var(--teal);stroke-width:2;opacity:0.9;stroke-dasharray:2600;stroke-dashoffset:2600;transition:stroke-dashoffset 3.4s cubic-bezier(.35,0,.2,1)}
.alc.is-live .alc-wave-path{stroke-dashoffset:0}
.alc-wave-base{fill:none;stroke:rgba(75,189,186,0.16);stroke-width:1}

/* observation pulses sit ON the trace */
.alc-pulse{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--teal);transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform .5s cubic-bezier(.2,1.4,.4,1),opacity .4s}
.alc-pulse::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(75,189,186,0.5);opacity:0;transform:scale(.6)}
.alc.is-live .alc-pulse.on{transform:translate(-50%,-50%) scale(1);opacity:1}
.alc.is-live .alc-pulse.on::after{animation:alcRing 1.6s ease-out}
@keyframes alcRing{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.9)}}

.alc-obs{text-align:center;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:3.2rem}


/* stage labels: typography only, no chrome, identical treatment */
.alc-track{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;position:relative}
.alc-vtrace{display:none}
.alc-vpulse{display:none}
.alc-stage{opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.alc.is-live .alc-stage.on{opacity:1;transform:none}
.alc-num{font-family:var(--font-h);font-size:0.72rem;font-weight:700;letter-spacing:0.14em;color:var(--teal);margin-bottom:0.6rem}
.alc-stage-title{font-family:var(--font-h);font-size:1rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:0.5rem;letter-spacing:0.01em}
.alc-stage-copy{font-size:0.84rem;color:var(--text-on-dark);line-height:1.6}

/* --- the reveal --- */
.alc-reveal{background:var(--light-2);padding:7rem var(--page-x)}
.alc-reveal-inner{max-width:880px;margin:0 auto;text-align:center}
.alc-ask{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:var(--text-muted);margin-bottom:0.8rem}
.alc-q-old{font-family:var(--font-h);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:400;color:var(--text-muted);line-height:1.3;margin-bottom:2.6rem}
.alc-rule{width:1px;height:44px;background:var(--border-light);margin:0 auto 2.2rem}
.alc-ask-new{color:var(--teal)}
.alc-q-new{font-family:var(--font-h);font-size:clamp(2rem,4.4vw,3.4rem);font-weight:700;color:var(--dark-1);line-height:1.12;letter-spacing:0.01em;margin-bottom:1.8rem}
.alc-q-new em{font-style:normal;color:var(--teal)}
.alc-support{font-size:0.97rem;color:var(--text-secondary);line-height:1.8;max-width:620px;margin:0 auto}

/* --- signals --- */









@media(max-width:960px){
  .alc-vpulse{display:block}
  /* Narrow screens: the trace rotates to run vertically DOWN the stages, so
     each pulse still sits beside the stage it belongs to. The horizontal
     waveform is hidden rather than left floating above a stacked list. */
  .alc-wave{display:none}
  .alc-obs{text-align:left;margin-bottom:2rem}
  .alc-track{grid-template-columns:1fr;gap:0;position:relative;padding-left:2.4rem}
  .alc-vtrace{display:block;position:absolute;left:0;top:6px;bottom:6px;width:2.4rem}
  .alc-vtrace svg{width:100%;height:100%;display:block}
  .alc-vtrace-path{fill:none;stroke:var(--teal);stroke-width:2;opacity:0.9;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 3s cubic-bezier(.35,0,.2,1)}
  .alc.is-live .alc-vtrace-path{stroke-dashoffset:0}
  .alc-stage{padding-bottom:2.2rem;position:relative}
  .alc-vpulse{position:absolute;left:-2.4rem;top:4px;width:11px;height:11px;border-radius:50%;background:var(--teal);transform:translateX(6px) scale(0);opacity:0;transition:transform .5s cubic-bezier(.2,1.4,.4,1),opacity .4s}
  .alc.is-live .alc-stage.on .alc-vpulse{transform:translateX(6px) scale(1);opacity:1}
  
}
@media(max-width:560px){
  .alc-intro{padding:96px var(--page-x) 2.5rem}
  .alc-wrap{padding:1rem var(--page-x) 3.5rem}
  .alc-reveal{padding:4rem var(--page-x)}
}
@media(prefers-reduced-motion:reduce){
  .alc-wave-path{transition:none;stroke-dashoffset:0}
  .alc-pulse{transition:none;transform:translate(-50%,-50%) scale(1);opacity:1}
  .alc-stage{opacity:1;transform:none}
}


/* MITRE reference line under each lifecycle stage. Personam's stage name leads;
   the recognised tactics sit beneath it so a technical evaluator can anchor to
   familiar vocabulary without the page adopting a tactic-classification model. */
.alc-stage-mitre{margin-top:0.65rem;padding-top:0.55rem;border-top:1px solid rgba(75,189,186,0.18);font-size:0.68rem;letter-spacing:0.06em;color:var(--text-muted);line-height:1.5}
.alc-mitre-note{text-align:center;font-size:0.7rem;color:var(--text-muted);line-height:1.6;max-width:620px;margin:-2.4rem auto 3.2rem;opacity:0.75}
@media(max-width:960px){
  .alc-mitre-note{text-align:left;margin:-1.2rem 0 2rem}
}


/* Shared-credential panel (healthcare). The credential is the entity: Personam
   evaluates each session against the credential's own history and its peer
   family. Deliberately makes no claim about identifying individual people. */
.shc-panel{background:var(--dark-1);border-radius:var(--r);overflow:hidden;box-shadow:0 14px 40px rgba(28,43,58,0.18)}
.shc-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid rgba(75,189,186,0.15)}
.shc-eyebrow{font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal-l);font-weight:700}
.shc-tag{font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);border:1px solid rgba(154,170,184,0.3);border-radius:3px;padding:0.2rem 0.5rem}
.shc-cred{padding:1.4rem 1.5rem 1.1rem}
.shc-cred-name{font-family:var(--font-h);font-size:1rem;font-weight:700;color:#fff;margin-bottom:0.35rem}
.shc-cred-sub{font-size:0.8rem;color:rgba(200,216,228,0.66);line-height:1.6}
.shc-sessions{padding:0 1.5rem}
.shc-session{display:grid;grid-template-columns:14px 68px 1fr auto;gap:0.8rem;align-items:center;padding:0.8rem 0;border-top:1px solid rgba(255,255,255,0.06)}
.shc-dot{width:7px;height:7px;border-radius:50%;background:rgba(75,189,186,0.5);margin-left:3px}
.shc-session.is-flag .shc-dot{background:var(--teal);box-shadow:0 0 0 4px rgba(51,153,151,0.18)}
.shc-when{font-size:0.72rem;color:var(--text-muted);letter-spacing:0.02em}
.shc-what{font-size:0.82rem;color:rgba(200,216,228,0.82);line-height:1.5}
.shc-session.is-flag .shc-what{color:#fff}
.shc-verdict{font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.shc-ok{color:rgba(154,170,184,0.7)}
.shc-bad{color:var(--teal-l)}
.shc-note{margin:1.3rem 1.5rem 0;padding:1rem 1.1rem;background:rgba(51,153,151,0.08);border-left:2px solid var(--teal);border-radius:0 4px 4px 0;font-size:0.84rem;color:rgba(200,216,228,0.9);line-height:1.65}
.shc-foot{padding:1.1rem 1.5rem 1.4rem;font-size:0.7rem;color:var(--text-muted);line-height:1.6}
@media(max-width:560px){
  .shc-session{grid-template-columns:14px 1fr;row-gap:0.3rem}
  .shc-when{grid-column:2}.shc-what{grid-column:2}.shc-verdict{grid-column:2}
}


/* Healthcare problem section: the right column top-aligned while the left ran
   long, pooling all the whitespace under the panel. Centring distributes it
   above and below so the panel reads as framed rather than stranded. */
.hc-problem-ui{justify-content:center}
@media(max-width:960px){
  .hc-problem-ui{justify-content:flex-start}
}


/* Government "The Environment": two columns. The right panel shows every
   control returning a clean answer while behaviour is the only thing that
   flags, which is exactly what the copy beside it claims. */
.gov-env{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:4rem;align-items:center}
.gov-env-copy{min-width:0}
.gov-stack{background:var(--dark-1);border-radius:var(--r);overflow:hidden;box-shadow:0 14px 40px rgba(28,43,58,0.18)}
.gov-stack-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem;border-bottom:1px solid rgba(75,189,186,0.15);font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal-l);font-weight:700}
.gov-stack-tag{font-size:0.58rem;letter-spacing:0.12em;color:var(--text-muted);border:1px solid rgba(154,170,184,0.3);border-radius:3px;padding:0.18rem 0.45rem;font-weight:600}
.gov-stack-rows{padding:0.4rem 1.3rem}
.gov-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 0;border-top:1px solid rgba(255,255,255,0.06)}
.gov-row:first-child{border-top:none}
.gov-ctl{font-size:0.83rem;color:rgba(200,216,228,0.8);line-height:1.45}
.gov-res{font-size:0.64rem;letter-spacing:0.09em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.gov-pass{color:rgba(154,170,184,0.65)}
.gov-row.is-flag .gov-ctl{color:#fff}
.gov-flag{color:var(--teal-l)}
.gov-stack-note{margin:0.6rem 1.3rem 1.4rem;padding:0.95rem 1.05rem;background:rgba(51,153,151,0.08);border-left:2px solid var(--teal);border-radius:0 4px 4px 0;font-size:0.8rem;color:rgba(200,216,228,0.88);line-height:1.6}
@media(max-width:960px){
  .gov-env{grid-template-columns:1fr;gap:2.5rem}
}


/* MITRE reference line, strengthened. Personam's stage still leads, but the
   reference is explicitly labelled and legible to someone scanning for
   familiar tactic names rather than reading the page top to bottom. */
.alc-stage-mitre{margin-top:0.9rem;padding-top:0.75rem;border-top:1px solid rgba(75,189,186,0.28)}
.alc-mitre-tag{display:block;font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;color:var(--teal-l);margin-bottom:0.3rem;opacity:0.9}
.alc-mitre-val{display:block;font-size:0.78rem;color:rgba(200,216,228,0.82);line-height:1.5;font-weight:500}


/* Align the MITRE dividers across all five stages. Stage copy runs two or
   three lines depending on the sentence, so the rule floated at different
   heights and read as a mistake. Grid items already stretch to equal height;
   making each stage a flex column and pushing the reference block to the
   bottom lines the rules up regardless of copy length. */
.alc-track > .alc-stage{display:flex;flex-direction:column}
.alc-stage-mitre{margin-top:auto}
@media(max-width:960px){
  .alc-track > .alc-stage{display:block}
  .alc-stage-mitre{margin-top:0.9rem}
}


/* Card 04's tactic list wraps to two lines while the others fit one, so its
   reference block was taller and its rule sat higher even when bottom-aligned.
   Reserving two lines for every value makes all five blocks the same height. */
.alc-mitre-val{min-height:2.34rem}
@media(max-width:960px){
  .alc-mitre-val{min-height:0}
}


/* Origin story folded into About. Set off with a rule and a tinted panel so it
   reads as a distinct chapter without becoming a separate page. */
.about-origin{margin:3.5rem 0;padding:2.6rem 2.8rem;background:var(--light-2);border-left:3px solid var(--teal);border-radius:0 var(--r) var(--r) 0}
.about-origin .page-tag{color:var(--teal);margin-bottom:0.8rem}
.about-origin h2{margin-top:0}
.about-origin > h2:first-of-type{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;margin-bottom:1.4rem}
@media(max-width:768px){ .about-origin{padding:1.8rem 1.5rem} }


/* About: mission and vision paired, and the origin story introduced by a
   full-width dark banner that breaks the page the way the industry pages do. */
.about-pair{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:1rem}
.about-pair-col h2{margin-top:0}
.about-origin-hero{margin:3.5rem 0 0;padding:4.5rem var(--page-x)}
.about-origin-hero h2{font-family:var(--font-h);font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;color:#fff;line-height:1.12;letter-spacing:0.01em;margin:0 auto 1.2rem;max-width:18ch}
.about-origin-hero p{font-size:1rem;font-weight:300;color:var(--text-on-dark);line-height:1.75;max-width:560px;margin:0 auto}
.about-origin-hero .page-tag{color:var(--teal-l)}
@media(max-width:768px){
  .about-pair{grid-template-columns:1fr;gap:1.5rem}
  .about-origin-hero{padding:3rem var(--page-x)}
}


/* About: prose stays at the 800px reading measure, but grid blocks break out
   to the 1060px container the industry pages use. Without this the six value
   cards and the mission/vision pair squeeze into blog-width columns and the
   page runs far taller than it needs to. */
.page-content .about-pair,
.page-content .values-grid{
  width:1060px;
  max-width:calc(100vw - (2 * var(--page-x)));
  margin-left:50%;
  transform:translateX(-50%);
}
.page-content .about-pair{gap:3.5rem;margin-bottom:2.5rem}
.page-content .values-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 50% 2.5rem;margin-left:50%}
@media(max-width:1100px){
  .page-content .about-pair,
  .page-content .values-grid{width:100%;margin-left:0;transform:none;max-width:100%}
}
@media(max-width:768px){
  .page-content .values-grid{grid-template-columns:1fr}
  .page-content .about-pair{grid-template-columns:1fr;gap:1.5rem}
}


/* About: headings that introduce a breakout grid must break out with it, or
   they no longer share a left edge with the cards and read as off-centre. */
.page-content .about-wide{
  width:1060px;
  max-width:calc(100vw - (2 * var(--page-x)));
  margin-left:50%;
  transform:translateX(-50%);
}
.page-content .about-wide .values-grid{
  width:100%;margin-left:0;transform:none;max-width:100%;
}
.page-content .about-wide h2{text-align:left}
/* the mission quote spans the pair rather than sitting in one column */
.page-content > .teal-callout{
  width:1060px;
  max-width:calc(100vw - (2 * var(--page-x)));
  margin:0 auto 2.5rem;
  margin-left:50%;
  transform:translateX(-50%);
}
@media(max-width:1100px){
  .page-content .about-wide,
  .page-content > .teal-callout{width:100%;margin-left:0;transform:none;max-width:100%}
}


/* ===========================================================================
   MOBILE DRAWER, DEFENSIVE OVERRIDES
   This stylesheet carries several generations of nav rules, including legacy
   @media(max-width:960px) blocks that set .nav-links{display:none}. These
   rules are last in the file so drawer behaviour cannot be broken by an older
   duplicate reappearing. Explicit height and scroll so an expanded submenu is
   reachable rather than rendering past the panel.
   =========================================================================== */
@media(max-width:1080px){
  .nav-links.is-open{
    display:flex !important;
    top:69px;
    bottom:0;
    height:auto;
    max-height:calc(100vh - 69px);
    max-height:calc(100dvh - 69px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .nav-has-drop.is-open > .nav-drop{display:block !important}
  .nav-links > li{flex:0 0 auto}
  /* the last item must clear the bottom of the viewport on short screens */
  .nav-links{padding-bottom:7rem}
}


/* ===========================================================================
   MOBILE TYPE SCALE
   The stylesheet had no mobile type overrides: text rendered at the same size
   on a 390px phone as on a 27in monitor. Card body copy sat at 0.82rem (13.1px)
   and the smallest labels at 0.58rem (9.3px), both below the practical
   accessibility floor of roughly 12px for any text and 16px for body copy.

   Two levers. The root goes to 17px below 768px, lifting everything about 6%
   proportionally. Then a floor on the small label classes so nothing renders
   under about 12px. Desktop is untouched.
   =========================================================================== */
@media(max-width:768px){
  html{font-size:106.25%}          /* 17px root */

  /* Floor for eyebrows, tags, labels, and meta text. 0.72rem at a 17px root
     is 12.2px, which clears the floor without changing the visual hierarchy. */
  .page-tag,.ind-eyebrow,.alc-eyebrow,.alc-mitre-tag,.alc-trace-head,
  .article-tag,.blog-card-tag,.comp-tag,.sc-tag,.shc-eyebrow,.shc-tag,
  .bd-zone-label,.bd-hc-zone-tag,.bd-footer,.chain-num,.clin-step-num,
  .alc-num,.alc-obs,.alc-mitre-note,.hcpui-section-label,.gov-stack-head,
  .gov-stack-tag,.gov-res,.shc-when,.shc-verdict,.th-status-pill,
  .finding-badge,.fit-direct,.fit-indirect,.footer-col-title,
  .trad-miss-label,.personam-sees-label,.sc-tag,.wpd-tag,.wpd-meta,
  .deploy-step-num,.step-num{
    font-size:0.72rem;
  }

  /* Card and panel body copy up to a comfortable reading size. */
  .value-card p,.struggle-card p,.why-card p,.detect-what p,
  .alc-stage-copy,.gov-ctl,.shc-what,.alc-sig-text{
    font-size:0.88rem;             /* ~15px at a 17px root */
    line-height:1.65;
  }
}

/* Very small screens: hold the floor, do not compound the root increase. */
@media(max-width:420px){
  html{font-size:103%}
}


/* ===========================================================================
   MOBILE DRAWER SIZING
   Nothing was broken: the accordion works and the panel renders. The problem
   was room. The drawer was a 380px side panel with 1.1rem row padding, so
   expanding a section pushed the remaining items off screen and it read as
   "only two items". Full width, tighter rows, and a compact sub-panel so all
   five top-level items plus an open section fit without scrolling on a
   normal phone.
   =========================================================================== */
@media(max-width:1080px){
  .nav-links.is-open{
    width:100vw;
    right:0;
    left:0;
    padding-bottom:4rem;
  }
  /* tighter top-level rows */
  .nav-drop-toggle,
  .nav-links > li > a{
    padding:0.85rem 1.4rem !important;
    font-size:0.88rem !important;
  }
  /* compact sub-panel */
  .nav-drop-inner{padding:0.25rem 0.9rem 0.6rem !important}
  .nav-drop-inner > a{padding:0.55rem 0.7rem !important}
  .ndl-title{font-size:0.84rem}
  .ndl-desc{display:none}        /* descriptions are desktop affordance only */
}


/* ===========================================================================
   MOBILE DRAWER HEIGHT, ROOT CAUSE
   nav carries backdrop-filter:blur(20px). Any element with a backdrop-filter
   becomes the containing block for its position:fixed descendants, so the
   drawer's top/bottom resolved against the 66px nav rather than the viewport
   and rendered ~200px tall, clipping mid-item. Two independent fixes so this
   holds regardless of which one the browser honours:
     1. drop the backdrop-filter while the drawer is open, and
     2. size the drawer by viewport units instead of top/bottom offsets.
   =========================================================================== */
@media(max-width:1080px){
  body.nav-open nav{backdrop-filter:none; -webkit-backdrop-filter:none}

  .nav-links.is-open{
    top:69px;
    bottom:auto;
    height:calc(100vh - 69px);
    height:calc(100dvh - 69px);
    max-height:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}


/* ===========================================================================
   MOBILE LAYOUT, FINAL OVERRIDES
   These grids already had single-column mobile rules, but this stylesheet
   carries duplicate desktop declarations that appear LATER in the file, and a
   later rule wins regardless of media query. Everything below is at the end
   of the file so nothing can override it.
   =========================================================================== */
@media(max-width:768px){

  /* --- single column everywhere that was still multi-column --- */
  .blog-grid,
  .struggles-grid,
  .why-grid,
  .values-grid,
  .clinical-steps,
  .resource-grid,
  .wp-grid,
  .ind-grid,
  .industries-grid{
    grid-template-columns:1fr !important;
  }

  /* --- paired buttons stack and match width --- */
  .hero-actions,
  .cta-btns,
  .page-cta .cta-btns{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0.75rem !important;
    width:100%;
  }
  .hero-actions > a,
  .cta-btns > a{
    width:100% !important;
    margin:0 !important;
    text-align:center;
    justify-content:center;
    box-sizing:border-box;
  }

  /* --- requirement mapping table becomes stacked cards --- */
  .req-table,
  .req-table tbody,
  .req-table tr,
  .req-table td{
    display:block;
    width:100%;
    box-sizing:border-box;
  }
  .req-table thead{display:none}
  .req-table tr{
    background:var(--white);
    border:1px solid var(--border-light);
    border-radius:var(--r);
    margin-bottom:0.9rem;
    padding:0.9rem 1rem;
  }
  .req-table td{
    border:none;
    padding:0.25rem 0;
    background:transparent;
  }
  .req-table td:first-child{
    font-family:var(--font-h);
    font-weight:700;
    color:var(--dark-1);
    font-size:0.92rem;
    margin-bottom:0.35rem;
  }
  .req-table td:last-child{
    padding-top:0.55rem;
  }
}


/* ===========================================================================
   MOBILE, ROUND TWO
   Three cases the previous pass missed because the selectors were wrong:
     1. the healthcare reality cards use an INLINE grid style, so no stylesheet
        rule could reach them. The template now carries .hc-reality-grid and the
        override needs !important to beat the inline declaration.
     2. the CTA band holds its two buttons as direct children with no wrapper,
        so .hero-actions and .cta-btns never matched.
     3. blog cards are legible but too narrow two-up on a phone.
   =========================================================================== */
@media(max-width:768px){

  /* 1. inline-styled grid: !important is required to beat the style attribute */
  .hc-reality-grid{grid-template-columns:1fr !important}

  /* 2. CTA band buttons: direct children, no wrapper */
  .cta-band{display:flex;flex-direction:column;align-items:center}
  .cta-band h2,.cta-band p{width:100%}
  .cta-band > a{
    display:block;
    width:100%;
    max-width:340px;
    margin:0.4rem 0 0;
    text-align:center;
    box-sizing:border-box;
  }
  .cta-band > a:first-of-type{margin-top:1.6rem}

  /* 3. blog cards stack rather than sit two-up in narrow columns */
  .blog-grid{grid-template-columns:1fr !important;gap:1.5rem !important}
  .blog-card-title{font-size:1.05rem}
}


/* Blog listing: an earlier rule scoped to body.archive / body.blog forces a
   two-column grid with !important, which outranks a plain .blog-grid override
   on specificity. Matching that specificity so the cards stack on a phone. */
@media(max-width:768px){
  body.archive .blog-grid,
  body.blog .blog-grid,
  body.home .blog-grid,
  .blog-grid{
    grid-template-columns:1fr !important;
    gap:1.5rem !important;
    max-width:100% !important;
    margin:2.5rem auto !important;
  }
}


/* ===========================================================================
   DUAL-BUTTON CTAs, ALL WRAPPERS
   Six different wrapper classes hold paired buttons across the site, and the
   earlier fix only covered two of them. Full inventory:
     .cta-band      homepage, healthcare
     .cta-section   attack chain
     .ind-cta       manufacturing, logistics, critical infrastructure
     .ind-actions   industry page heroes
     .page-cta      about, government, resources, whitepaper
     .hero-actions  homepage, healthcare heroes
   On mobile all of them stack, match width, and centre.
   =========================================================================== */
@media(max-width:768px){
  .cta-band,
  .cta-section,
  .ind-cta,
  .ind-actions,
  .page-cta,
  .hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  .cta-band > h2,.cta-band > p,
  .cta-section > h2,.cta-section > p,
  .ind-cta > h2,.ind-cta > p,
  .page-cta > h2,.page-cta > p{
    width:100%;
  }
  .cta-band > a,
  .cta-section > a,
  .ind-cta > a,
  .ind-actions > a,
  .page-cta > a,
  .hero-actions > a{
    display:block !important;
    width:100% !important;
    max-width:340px !important;
    margin:0.45rem 0 0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  .cta-band > a:first-of-type,
  .cta-section > a:first-of-type,
  .ind-cta > a:first-of-type,
  .page-cta > a:first-of-type{
    margin-top:1.5rem !important;
  }
  /* hero button pairs sit left-aligned with the hero copy, not centred */
  .hero-actions,.ind-actions{align-items:stretch !important}
  .hero-actions > a,.ind-actions > a{max-width:none !important}
}
