/* ===================== AI4EBITDA BRAND TOKENS ===================== */
:root{
  --teal:    #33BECA;
  --navy:    #215968;
  --lime:    #DBFA1A;
  --blue:    #4F81BD;
  --void:    #07090d;
  --void2:   #0d1520;
  --panel:   #132231;
  --light:   #f0f6fa;
  --white:   #ffffff;
  --paper:   #f8fafc;
  --rule:    #d8e3eb;
  --rule2:   #b8d4e0;
  --ink:     #0d1520;
  --ink2:    #2a3a4a;
  --ink3:    #4a6a7a;
  --g1:      #a8c4d8;
  --g3:      #2a4055;

  /* Signal traffic-light system (matches SDL Style Guide) */
  --green:   #0f766e;
  --green-lt:#e4f4f1;
  --orange:  #b45309;
  --orange-lt:#fef3c7;
  --red:     #c0392b;
  --red-lt:  #fdecea;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Montserrat',sans-serif;
  background:var(--white);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ===================== NAV (matches ai4ebitda.com) ===================== */
.nav{
  background:var(--void);
  border-bottom:1px solid var(--g3);
  padding:0 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:62px;
}
.nav-logo{display:flex;align-items:center;gap:.7rem;}
.nav-logo svg{display:block;}
.nav-logo span{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:15px;
  color:var(--white);
  letter-spacing:.06em;
}
.nav-tag{
  font-family:'DM Mono',monospace;
  font-size:12.5px;
  color:rgba(255,255,255,.88);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:500;
}

/* ===================== HERO (dark void, matches site) ===================== */
.hero{
  background:var(--void);
  color:var(--white);
  min-height:0;
  padding:54px 60px 50px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--g3);
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(51,190,202,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(51,190,202,.04) 1px,transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
}
.hero::after{
  content:'';
  position:absolute;
  top:-80px;right:-100px;
  width:520px;height:520px;
  background:radial-gradient(circle,rgba(219,250,26,.06) 0%,transparent 70%);
  pointer-events:none;
}
.hero-inner{
  max-width:1080px;
  margin:0 auto;
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:34px;
  align-items:center;
}
.avatar{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--navy));
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:800;color:var(--void);font-size:42px;
  box-shadow:0 8px 24px rgba(0,0,0,.45),inset 0 0 0 2px rgba(219,250,26,.18);
}
.eyebrow{
  font-family:'DM Mono',monospace;
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--teal);
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.1rem;
}
.eyebrow::before{
  content:'';
  display:block;
  width:1.8rem;height:2px;
  background:var(--teal);
  flex-shrink:0;
}
.hero h1{
  font-family:'Montserrat',sans-serif;
  font-size:38px;
  font-weight:800;
  line-height:1.12;
  color:var(--white);
  letter-spacing:-.01em;
  margin-bottom:6px;
}
.hero h1 em{
  font-style:italic;
  font-weight:300;
  color:var(--teal);
}
.hero-meta{
  display:flex;gap:24px;flex-wrap:wrap;
  margin-top:18px;
}
.hero-meta span{
  font-family:'DM Mono',monospace;
  font-size:13.5px;
  color:rgba(255,255,255,.88);
  letter-spacing:.04em;
  font-weight:400;
}
.hero-meta span strong{
  color:#ffffff;
  font-weight:600;
}
.hero-badge{
  display:inline-block;
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  background:var(--lime);
  border:1px solid var(--lime);
  color:var(--void);
  padding:7px 14px;
  border-radius:3px;
  margin-top:18px;
}
.hero-side{text-align:right;}
.hero-tier{
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  margin-bottom:8px;
}
.hero-tier-name{
  font-family:'Montserrat',sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:24px;
  color:var(--teal);
  margin-bottom:8px;
}
.hero-comp{
  font-family:'DM Mono',monospace;
  font-size:46px;
  font-weight:500;
  color:var(--lime);
  line-height:1;
}
.hero-comp small{
  font-size:16px;
  color:rgba(255,255,255,.85);
  font-weight:400;
}
.hero-comp-l{
  font-family:'DM Mono',monospace;
  font-size:12px;
  color:rgba(255,255,255,.88);
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-top:8px;
  font-weight:500;
}

/* ===================== PAGE & TOGGLE ===================== */
.page{max-width:1080px;margin:0 auto;}
.content{padding:0 60px 80px;}

.toggle-wrap{
  display:flex;
  justify-content:center;
  padding:32px 60px 0;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
}
.toggle{
  display:inline-flex;
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:6px;
  padding:4px;
  margin-bottom:32px;
  box-shadow:0 1px 3px rgba(13,21,32,.04);
}
.toggle button{
  background:transparent;
  border:none;
  padding:13px 26px;
  font-family:'Montserrat',sans-serif;
  font-size:14px;
  font-weight:600;
  color:var(--navy);
  cursor:pointer;
  border-radius:4px;
  letter-spacing:.02em;
  transition:all .18s;
}
.toggle button.active{
  background:var(--void);
  color:var(--lime);
}
.toggle button:not(.active):hover{color:var(--ink);}

/* ===================== SECTION ===================== */
.content{background:var(--paper);padding-top:0;}
.section{padding-top:48px;}
.section-label{
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.section-label::before{
  content:'';
  display:inline-block;
  width:1.6rem;height:2px;
  background:var(--navy);
}
h2{
  font-family:'Montserrat',sans-serif;
  font-size:30px;
  font-weight:800;
  line-height:1.12;
  margin-bottom:16px;
  color:var(--ink);
  letter-spacing:-.01em;
}
h2 em{
  font-style:italic;
  font-weight:300;
  color:var(--navy);
}
h3{
  font-family:'Montserrat',sans-serif;
  font-size:14.5px;
  font-weight:700;
  color:var(--navy);
  margin:24px 0 10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
p{
  color:var(--ink2);
  margin-bottom:13px;
  line-height:1.72;
  font-weight:400;
  font-size:15.5px;
}

/* Verdict-first summary block (style-guide compliant) */
.summary{
  background:var(--white);
  border:1px solid var(--rule);
  border-left:4px solid var(--lime);
  border-radius:0 6px 6px 0;
  padding:24px 28px;
  margin:18px 0 26px;
  box-shadow:0 1px 2px rgba(13,21,32,.03);
}
.summary p{
  margin:0;
  font-size:16px;
  color:var(--ink);
  line-height:1.7;
}

/* ===================== DIMENSION CARDS ===================== */
.dim-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}
.dim-card{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  padding:22px 24px;
  transition:border-color .2s, box-shadow .2s;
}
.dim-card:hover{
  border-color:var(--rule2);
  box-shadow:0 2px 8px rgba(13,21,32,.05);
}
.dim-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.dim-name{
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
  margin-bottom:5px;
}
.dim-frame{
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  color:var(--navy);
  letter-spacing:.04em;
  font-weight:500;
}
.dim-pill{
  font-family:'DM Mono',monospace;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 11px;
  border-radius:3px;
  white-space:nowrap;
  flex-shrink:0;
}
.dim-pill.high   {background:var(--green);  color:var(--white);}
.dim-pill.strong {background:var(--green);  color:var(--white);}
.dim-pill.mod    {background:var(--navy);   color:var(--white);}
.dim-pill.dev    {background:var(--orange); color:var(--white);}

/* Bar with TL benchmark mark */
.dim-bar{
  height:7px;
  background:var(--rule);
  border-radius:3px;
  overflow:hidden;
  margin-bottom:10px;
  position:relative;
}
.dim-bar-fill{
  height:100%;
  border-radius:3px;
  transition:width .8s cubic-bezier(.2,.8,.2,1);
}
.dim-bar-mark{
  position:absolute;
  top:-3px;
  height:13px;
  width:1.5px;
  background:var(--ink3);
}
.dim-bar-mark::after{
  content:'TL';
  position:absolute;
  top:-13px;
  left:50%;
  transform:translateX(-50%);
  font-size:8px;
  font-family:'DM Mono',monospace;
  color:var(--ink3);
  letter-spacing:.04em;
  font-weight:600;
}
.dim-score-row{
  display:flex;
  justify-content:space-between;
  font-family:'DM Mono',monospace;
  font-size:12px;
  color:var(--ink2);
  margin-bottom:14px;
  font-weight:500;
}
.dim-score-row b{color:var(--ink);font-weight:700;}
.dim-insight{
  font-size:14px;
  color:var(--ink2);
  line-height:1.65;
}

/* ===================== IMPROVE / ACTION CARDS ===================== */
.improve-card{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  padding:22px 24px;
  border-top:3px solid var(--teal);
}
.improve-card.strength{border-top-color:var(--green);}
.improve-card.priority{
  border-top-color:var(--lime);
  background:linear-gradient(180deg,rgba(219,250,26,.08) 0%,var(--white) 60%);
}
.improve-card.stretch{border-top-color:var(--navy);}

.steps{display:flex;flex-direction:column;gap:11px;margin-top:14px;}
.step{display:flex;gap:14px;align-items:flex-start;}
.step-n{
  font-family:'DM Mono',monospace;
  font-size:12.5px;
  font-weight:700;
  color:var(--navy);
  background:rgba(33,89,104,.10);
  width:30px;height:30px;
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.improve-card.priority .step-n{
  color:var(--void);
  background:var(--lime);
}
.improve-card.strength .step-n{
  color:var(--green);
  background:var(--green-lt);
}
.improve-card.stretch .step-n{
  color:var(--navy);
  background:rgba(33,89,104,.10);
}
.step-t{
  font-size:14px;
  color:var(--ink2);
  line-height:1.6;
  padding-top:5px;
}
.timeline{
  font-family:'DM Mono',monospace;
  font-size:12.5px;
  color:var(--navy);
  letter-spacing:.02em;
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed var(--rule);
  font-weight:500;
}

/* ===================== SYSTEM PROMPT (dark void block) ===================== */
.prompt-wrap{
  background:var(--void);
  border:1px solid var(--g3);
  border-radius:10px;
  padding:30px 32px;
  margin:22px 0 8px;
  color:var(--white);
  position:relative;
  overflow:hidden;
}
.prompt-wrap::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--teal) 0%,var(--lime) 100%);
}
.prompt-eye{
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:12px;
}
.prompt-h{
  font-family:'Montserrat',sans-serif;
  font-size:26px;
  font-weight:800;
  color:var(--white);
  margin-bottom:12px;
  line-height:1.2;
}
.prompt-h em{
  font-style:italic;
  font-weight:400;
  color:var(--teal);
}
.prompt-sub{
  font-size:15.5px;
  color:rgba(255,255,255,.92);
  line-height:1.7;
  margin-bottom:24px;
  max-width:760px;
  font-weight:400;
}
.prompt-box{
  background:var(--void2);
  border:1px solid var(--g3);
  border-radius:6px;
  padding:24px 26px;
  font-family:'DM Mono',monospace;
  font-size:14px;
  line-height:1.85;
  color:#ffffff;
  position:relative;
  white-space:pre-wrap;
  font-weight:400;
}
.prompt-box .pl{color:var(--teal);font-weight:600;}
.prompt-box .pv{color:var(--lime);font-weight:600;}
.prompt-box .com{color:rgba(255,255,255,.72);font-style:italic;}
.copy-btn{
  position:absolute;
  top:14px;right:14px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.35);
  color:#ffffff;
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  font-weight:600;
  padding:8px 14px;
  border-radius:4px;
  cursor:pointer;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:all .18s;
}
.copy-btn:hover{
  background:var(--lime);
  color:var(--void);
  border-color:var(--lime);
}

/* ===================== BEFORE / AFTER ===================== */
.sim-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:18px 0;
}
.sim-col{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  overflow:hidden;
}
.sim-head{
  padding:13px 22px;
  border-bottom:1px solid var(--rule);
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.sim-col.before .sim-head{
  background:var(--red-lt);
  color:var(--red);
}
.sim-col.after .sim-head{
  background:rgba(51,190,202,.10);
  color:var(--navy);
}
.sim-body{
  padding:22px 24px;
  font-size:14px;
  color:var(--ink2);
  line-height:1.65;
}
.sim-tag{
  display:inline-block;
  font-family:'DM Mono',monospace;
  font-size:11px;
  font-weight:700;
  padding:4px 9px;
  border-radius:3px;
  letter-spacing:.06em;
  margin-bottom:7px;
  text-transform:uppercase;
}
.sim-tag.q{background:rgba(33,89,104,.12);color:var(--navy);}
.sim-tag.a{background:rgba(180,83,9,.14);color:var(--orange);}
.sim-tag.v{background:rgba(15,118,110,.14);color:var(--green);}
.sim-body .blk{margin-bottom:13px;}
.sim-body .blk:last-child{margin-bottom:0;}

/* ===================== 30-DAY PLAN ===================== */
.plan-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:20px 0;
}
.plan-week{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  padding:20px 20px;
}
.plan-week.w1{border-top:3px solid var(--lime);}
.plan-week.w2{border-top:3px solid var(--teal);}
.plan-week.w3{border-top:3px solid var(--navy);}
.plan-week.w4{border-top:3px solid var(--green);}
.plan-eye{
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  font-weight:600;
  color:var(--navy);
  letter-spacing:.08em;
  margin-bottom:9px;
}
.plan-name{
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:6px;
  line-height:1.25;
}
.plan-focus{
  font-family:'DM Mono',monospace;
  font-size:12px;
  color:var(--navy);
  margin-bottom:14px;
  letter-spacing:.02em;
  font-weight:500;
}
.plan-list{
  font-size:13.5px;
  color:var(--ink2);
  line-height:1.65;
  list-style:none;
  padding:0;
}
.plan-list li{
  padding-left:14px;
  margin-bottom:7px;
  position:relative;
}
.plan-list li::before{
  content:'•';
  position:absolute;
  left:0;
  color:var(--teal);
  font-weight:700;
}

/* ===================== CHECKLIST ===================== */
.check-wrap{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  padding:6px 0;
  margin:18px 0;
}
.check-row{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:16px 24px;
  border-bottom:1px solid var(--rule);
}
.check-row:last-child{border-bottom:none;}
.check-box{
  width:26px;height:26px;
  border:1.5px solid var(--navy);
  border-radius:4px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--navy);
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  background:var(--white);
  transition:all .18s;
}
.check-box.done{
  background:var(--lime);
  color:var(--void);
  border-color:var(--lime);
}
.check-q{flex:1;}
.check-q .qt{
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:5px;
  line-height:1.4;
}
.check-q .ql{
  font-size:13.5px;
  color:var(--ink2);
  line-height:1.6;
}

/* ===================== CALLOUTS ===================== */
.callout{
  border-left:4px solid var(--lime);
  background:rgba(219,250,26,.06);
  padding:18px 24px;
  margin:24px 0;
  border-radius:0 5px 5px 0;
}
.callout.teal{
  border-color:var(--teal);
  background:rgba(51,190,202,.06);
}
.callout.navy{
  border-color:var(--navy);
  background:rgba(33,89,104,.05);
}
.callout-lbl{
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:8px;
}
.callout.teal .callout-lbl{color:var(--navy);}
.callout.navy .callout-lbl{color:var(--navy);}
.callout p{
  font-size:15px;
  margin:0;
  color:var(--ink);
  line-height:1.7;
}

/* ===================== MEASURE BAR ===================== */
.measure-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:18px 0;
}
.measure{
  background:var(--white);
  border:1px solid var(--rule);
  border-radius:8px;
  padding:20px 24px;
  border-top:3px solid var(--teal);
}
.measure-l{
  font-family:'DM Mono',monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.10em;
  color:var(--navy);
  text-transform:uppercase;
  margin-bottom:10px;
}
.measure-n{
  font-family:'DM Mono',monospace;
  font-size:28px;
  font-weight:600;
  color:var(--navy);
  line-height:1;
  margin-bottom:10px;
}
.measure-d{
  font-size:13.5px;
  color:var(--ink2);
  line-height:1.6;
}

/* ===================== THINKER CARDS (compact 5-across) ===================== */
.thinker-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:16px 0 0;
}
.thinker-card{
  background:var(--white);
  border:1px solid var(--rule);
  border-top:3px solid var(--teal);
  border-radius:0 0 6px 6px;
  padding:14px 14px 16px;
  transition:border-color .2s, box-shadow .2s;
  display:flex;
  flex-direction:column;
}
.thinker-card:hover{
  border-color:var(--rule2);
  border-top-color:var(--lime);
  box-shadow:0 2px 8px rgba(13,21,32,.05);
}
.thinker-name{
  font-family:'Montserrat',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:4px;
  line-height:1.25;
}
.thinker-meta{
  font-family:'DM Mono',monospace;
  font-size:11px;
  color:var(--navy);
  letter-spacing:.03em;
  margin-bottom:10px;
  text-transform:uppercase;
  font-weight:500;
  line-height:1.4;
}
.thinker-tag{
  display:inline-block;
  background:var(--lime);
  color:var(--void);
  font-family:'DM Mono',monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  padding:4px 9px;
  border-radius:3px;
  margin:0 0 11px;
  align-self:flex-start;
}
.thinker-desc{
  font-size:13px;
  color:var(--ink2);
  line-height:1.55;
}
@media (max-width:1000px){
  .thinker-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:700px){
  .thinker-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){
  .thinker-grid{grid-template-columns:1fr;}
}

/* ===================== FOOTER ===================== */
.footer{
  background:var(--void);
  padding:34px 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:2px solid var(--teal);
}
.footer-tag{
  font-family:'DM Mono',monospace;
  font-size:13px;
  color:rgba(255,255,255,.92);
  letter-spacing:.04em;
  font-weight:500;
}
.footer-side{
  font-family:'DM Mono',monospace;
  font-size:11.5px;
  color:rgba(255,255,255,.85);
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:500;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}
.section{animation:fadeUp .45s ease both;}

@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-side{text-align:left;}
  .dim-grid,.sim-wrap,.plan-grid,.measure-grid{grid-template-columns:1fr;}
  .content,.hero,.nav,.footer,.toggle-wrap{padding-left:24px;padding-right:24px;}
  h2{font-size:24px;}
  .hero h1{font-size:30px;}
}
