:root{
  --bg:#0e0e14;
  --bg-elev:#14131c;
  --bg-card:#131220;
  --line:rgba(245,245,247,.09);
  --line-strong:rgba(245,245,247,.16);
  --purple:#7029A1;
  --magenta:#D21767;
  --orange:#FF690D;
  --blue:#0568c9;
  --cyan:#00B6DD;
  --slate:#8a9aa1;
  --muted:#aeb8bf;
  --white:#f5f5f7;
  --grad:linear-gradient(120deg,#7029A1 0%,#D21767 55%,#FF690D 100%);
  --grad-cool:linear-gradient(120deg,#26175B 0%,#0568c9 60%,#00B6DD 100%);
  --max:1160px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:Montserrat,sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::selection{background:var(--magenta);color:white}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.mono{font-family:'JetBrains Mono',monospace}.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}.accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow::before{content:"";width:22px;height:1px;background:var(--cyan)}.eyebrow.centered{justify-content:center}.eyebrow.centered::after{content:"";width:22px;height:1px;background:var(--cyan)}.eyebrow.compact{margin-bottom:8px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,8,12,.74);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:32px;height:32px;display:grid;place-items:center}.brand-mark img{width:29px;height:29px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,255,255,.15))}.brand-text{font-size:17px}.navlinks{display:flex;align-items:center;gap:34px;color:#c2c6cc;font-size:14px}.navlinks a{transition:.2s}.navlinks a:hover{color:white}.nav-actions{display:flex;align-items:center;gap:12px}.nav-toggle{display:none;border:1px solid var(--line);background:rgba(255,255,255,.04);color:white;border-radius:10px;padding:10px 12px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:14px;letter-spacing:-.01em;cursor:pointer;transition:.22s;white-space:nowrap}.btn-primary{background:var(--grad);color:white;box-shadow:0 18px 40px rgba(210,23,103,.28)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 60px rgba(210,23,103,.42)}.btn-ghost{border-color:var(--line-strong);background:rgba(255,255,255,.025);color:white}.btn-ghost:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}

.hero{position:relative;min-height:100vh;padding:170px 0 110px;overflow:hidden;border-bottom:1px solid var(--line)}#node-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.75}.hero-grid-bg,.book-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%)}.hero::before,.book-hero::before{content:"";position:absolute;top:-320px;left:50%;transform:translateX(-50%);width:1320px;height:860px;border-radius:50%;background:radial-gradient(circle,rgba(112,41,161,.34),transparent 66%);filter:blur(14px)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}.hero-copy h1{font-size:clamp(58px,7vw,108px);line-height:1.08;letter-spacing:-.065em;font-weight:800;margin-bottom:28px}.lead{font-size:clamp(18px,2vw,23px);line-height:1.55;color:#c1c8cd;max-width:760px}.stack{margin-top:28px;font-family:'JetBrains Mono',monospace;color:#fff;letter-spacing:.02em}.stack b{font-weight:700}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:42px}
.engine-panel{background:linear-gradient(180deg,rgba(23,22,38,.88),rgba(15,14,24,.78));border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 120px -60px #000;overflow:hidden}.panel-top,.terminal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}.window-dots{display:flex;gap:7px}.window-dots span,.terminal-head span{width:9px;height:9px;border-radius:50%;background:#5e6470}.panel-top p{color:#cbd0d6;font-family:'JetBrains Mono',monospace;font-size:12px;flex:1}.panel-top small{color:var(--cyan);font-family:'JetBrains Mono',monospace}.panel-body{padding:20px}
.engine-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.engine-card{background:#0a0a10;border:1px solid var(--line);border-radius:14px;padding:16px;min-height:210px;position:relative}.card-label{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.ep-line{position:absolute;left:29px;top:29px;width:1px;background:var(--line-strong);height:0}
.ep-step{display:flex;align-items:center;gap:9px;margin-bottom:11px;position:relative;opacity:0;transform:translateY(-6px);transition:opacity .5s ease,transform .5s ease}.ep-step:last-child{margin-bottom:0}.ep-step.show{opacity:1;transform:translateY(0)}.ep-step .ico{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;font-size:12px;z-index:1}.ep-step .txt div:first-child{font-size:11.5px;color:#e6e6e8}.ep-step .txt div:last-child{font-size:10px;color:var(--slate);margin-top:1px}
.ep-dash{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ep-metric{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:11px}.ep-metric.wide{grid-column:span 2}.ep-metric small{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--slate);text-transform:uppercase;margin-bottom:4px}.ep-metric strong{font-size:19px;color:#fff;font-weight:700}
.ep-roi,.ep-callout{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%}.ep-roi-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.ep-grad-text{font-size:32px;font-weight:800;background:linear-gradient(90deg,#7029A1,#D21767,#FF690D,#00B6DD,#7029A1);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:epGradientShift 6s linear infinite}@keyframes epGradientShift{0%{background-position:0% 50%}100%{background-position:200% 50%}}.ep-roi-sub{font-size:11.5px;color:#c1c8cd;margin-top:8px}
.ep-ring{width:64px;height:64px;border-radius:50%;border:1px solid rgba(0,182,221,.3);display:flex;align-items:center;justify-content:center;animation:epPulse 2.4s ease-in-out infinite;margin-bottom:10px}@keyframes epPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,182,221,.35)}50%{box-shadow:0 0 0 10px rgba(0,182,221,0)}}.ep-ring span{font-size:17px;font-weight:800;color:#fff}.ep-callout-label{font-size:11.5px;color:var(--slate)}.ep-pill{margin-top:9px;font-size:10.5px;color:var(--cyan);border:1px solid rgba(0,182,221,.25);background:rgba(0,182,221,.08);border-radius:999px;padding:5px 11px}

section{padding:105px 0}.section-head{max-width:770px;margin-bottom:42px}.section-head h2,.cta h2{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.045em;margin-bottom:18px}.section-head p,.cta p{color:var(--muted);font-size:18px;line-height:1.7}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.result-card,.system-card,.step{border:1px solid var(--line);background:linear-gradient(180deg,rgba(19,18,32,.86),rgba(11,10,17,.72));border-radius:18px;padding:28px}.result-card > .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(210,23,103,.16);color:#ff3b94;margin-bottom:24px}.result-card h3,.system-card h3,.step h3{font-size:20px;margin-bottom:12px}.result-card p,.system-card p,.step p{color:var(--muted);line-height:1.65}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.n,.system-card span{font-family:'JetBrains Mono',monospace;color:var(--cyan);font-size:12px;letter-spacing:.08em;margin-bottom:18px;display:block}.system-builder{display:grid;grid-template-columns:1fr 1fr;gap:28px}.system-map{border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(19,18,32,.72)}.map-top{display:flex;justify-content:space-between;color:#cbd0d6;font-family:'JetBrains Mono',monospace;font-size:12px;margin-bottom:28px}.map-flow{display:grid;gap:10px}.map-node{border:1px solid var(--line);border-radius:14px;padding:14px;background:#131220}.map-node span{color:var(--cyan);font-family:'JetBrains Mono',monospace;margin-right:10px}.map-node.active,.map-node.final{border-color:rgba(0,182,221,.32);background:rgba(0,182,221,.07)}.map-line{height:18px;width:1px;background:var(--line-strong);margin-left:24px}.system-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.analyzer{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:54px;background:linear-gradient(180deg,rgba(19,18,32,.74),rgba(12,11,20,.68))}.analyzer-copy h2{font-size:clamp(42px,5vw,62px);line-height:1.08;letter-spacing:-.045em;margin-bottom:24px}.analyzer-copy p{color:var(--muted);font-size:18px;line-height:1.7}.analyzer-form,.book-form{display:grid;gap:18px}.analyzer-form label,.field label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:8px}.analyzer-form input,.analyzer-form select,.field input,.field select,.field textarea{width:100%;background:#131220;border:1px solid var(--line);border-radius:12px;padding:15px 16px;color:#fff;font-size:15px;outline:none}.analyzer-form input:focus,.analyzer-form select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan)}.form-grid,.book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analyzer-result{display:none;margin-top:22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0d0c17}.analyzer-result.show{display:block}.terminal-lines{font-family:'JetBrains Mono',monospace;color:var(--cyan);font-size:12px;padding:18px;display:grid;gap:8px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 18px}.result-grid div{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.025)}.result-grid small{display:block;color:var(--slate);font-family:'JetBrains Mono',monospace;text-transform:uppercase;font-size:10px;margin-bottom:6px}.result-grid strong{font-size:18px}.recommendation-card{border:1px solid rgba(0,182,221,.22);background:rgba(0,182,221,.07);border-radius:15px;padding:20px}.recommendation-card small{font-family:'JetBrains Mono',monospace;color:var(--cyan);text-transform:uppercase}.recommendation-card p{color:#cbd0d6;margin-top:8px}.recommendation-card.blue{margin:0 18px 18px}.analyzer-booking-link{margin:0 18px 18px;width:calc(100% - 36px)}

.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:0;color:white;text-align:left;font-weight:800;font-size:18px;cursor:pointer}.plus{color:var(--cyan);font-size:22px}.faq-a{display:none;color:var(--muted);padding:0 0 24px;max-width:760px}.faq-item.open .faq-a{display:block}.faq-item.open .plus{transform:rotate(45deg)}.cta{text-align:center;background:radial-gradient(circle at center,rgba(112,41,161,.18),transparent 55%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta p{max-width:620px;margin:0 auto}.cta-ctas{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:34px}.contact-row{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:28px;color:#cbd0d6;font-family:'JetBrains Mono',monospace;font-size:13px}.footer-inner{height:90px;display:flex;align-items:center;justify-content:space-between;color:var(--slate);font-size:13px}.footer-links{display:flex;gap:24px}.footer-links a:hover{color:white}

.book-hero{position:relative;min-height:100vh;padding:145px 0 80px;overflow:hidden;border-bottom:1px solid var(--line)}.book-layout{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:start}.book-copy h1{font-size:clamp(42px,5.6vw,70px);line-height:.98;margin:0 0 24px;font-weight:800;letter-spacing:-.04em}.book-copy .lead{font-size:18px;color:var(--muted);max-width:580px;margin-bottom:28px}.book-points{display:grid;gap:14px;margin:28px 0}.book-point{display:flex;gap:12px;align-items:flex-start}.book-point span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(0,182,221,.12);color:var(--cyan);flex:none}.book-mini-card,.book-card{background:linear-gradient(180deg,rgba(19,18,32,.88),rgba(12,11,20,.78));border:1px solid var(--line);border-radius:20px;box-shadow:0 28px 90px -55px rgba(0,0,0,.95)}.book-mini-card{padding:22px;max-width:470px}.mini-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:12px}.mini-row:last-child{border-bottom:0}.mini-row span{color:var(--slate)}.mini-row strong{color:#fff}.book-card{padding:30px}.book-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}.book-card h2{font-size:clamp(26px,3vw,36px);line-height:1.05;margin:0 0 10px}.book-card-subtitle{color:var(--muted);margin-bottom:24px}.book-status-pill{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(0,182,221,.25);border-radius:999px;padding:8px 10px;background:rgba(0,182,221,.07);white-space:nowrap}.field textarea{min-height:105px;resize:vertical}.book-submit{width:100%;margin-top:2px}.book-note{font-size:12px;color:var(--slate);text-align:left;margin:0;line-height:1.6}.booking-status{display:none;border:1px solid rgba(0,182,221,.25);background:rgba(0,182,221,.08);color:#dff7ff;border-radius:12px;padding:14px;font-size:13px}.booking-status.show{display:block}.booking-status.error{border-color:rgba(255,105,13,.45);background:rgba(255,105,13,.08);color:#ffe1d2}

.cal-section{position:relative;z-index:2;margin-top:40px;display:none}.cal-section.show{display:block}.cal-section-head{margin-bottom:18px}.cal-section-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;line-height:1.05;margin:8px 0}.cal-section-head p{color:var(--muted);max-width:720px;line-height:1.7}.cal-embed-wrap{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0a0a10;box-shadow:0 30px 100px rgba(0,0,0,.35)}.cal-embed-wrap iframe{display:block;width:100%;min-height:760px;border:0;background:#0a0a10}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}

@media(max-width:1020px){.hero-grid,.book-layout,.analyzer,.system-builder{grid-template-columns:1fr}.engine-panel{max-width:640px}.process{grid-template-columns:1fr 1fr}.results-grid{grid-template-columns:1fr}.system-cards{grid-template-columns:1fr}}
@media(max-width:560px){.engine-grid{grid-template-columns:1fr}}
@media(max-width:760px){.wrap{width:min(100% - 34px,var(--max))}.nav{height:72px}.navlinks{position:fixed;top:72px;left:0;right:0;background:rgba(8,8,12,.98);flex-direction:column;align-items:flex-start;padding:24px 28px;gap:20px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.25s}.navlinks.open{transform:translateY(0)}.nav-toggle{display:block}.nav-audit{display:none}.hero,.book-hero{padding:130px 0 70px}.hero-copy h1{font-size:54px}.hero-ctas,.cta-ctas{flex-direction:column}.hero-ctas .btn,.cta-ctas .btn{width:100%}.book-form-grid,.form-grid,.result-grid,.process{grid-template-columns:1fr}.book-card,.analyzer{padding:24px}.footer-inner{height:auto;padding:28px 0;flex-direction:column;gap:18px}.cal-embed-wrap iframe{min-height:720px}}


/* ===== FINAL OVERRIDES: BOOK + SAFE NAV ===== */
.nav-actions{display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,255,255,.15))}.brand-text{font-weight:800}.book-page .book-hero{padding-top:145px}.book-page .book-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:start}.book-page .book-card input,.book-page .book-card select,.book-page .book-card textarea{appearance:auto}.book-page .book-card .btn{appearance:none}.cal-section{display:none}.cal-section.show{display:block}.cal-embed-wrap iframe{width:100%;height:760px;border:0;background:#0a0a10}.booking-status.show{display:block}
@media(max-width:1020px){.book-page .book-layout{grid-template-columns:1fr}.book-page .book-card{max-width:760px}}

/* ===== PRODUCTION FIXES: BOOK PAGE + CTA NAV ===== */
.book-page{min-height:100vh;background:var(--bg);}
.book-page main{position:relative;z-index:1;}
.book-page .site-header{z-index:200;}
.book-page .book-card,.book-page .book-mini-card,.book-page .cal-embed-wrap{backdrop-filter:blur(14px);}
.book-page .field input,.book-page .field select,.book-page .field textarea{min-height:50px;}
.book-page .field textarea{line-height:1.55;}
.book-page .book-submit{border:0;}
.book-page .cal-section{padding-bottom:40px;}
a[data-book-link="true"]{scroll-margin-top:90px;}
@media(max-width:760px){
  .book-page .book-layout{gap:28px;}
  .book-page .book-card{padding:22px;}
  .book-card-top{flex-direction:column;align-items:flex-start;}
  .book-status-pill{align-self:flex-start;}
  .book-page .book-mini-card{max-width:none;}
  .book-page .cal-section{margin-top:28px;}
}

/* ===== HERO ENGINE PANEL V2 — fixed timeline + one-shot animation ===== */
.engine-panel {
  width: min(100%, 640px);
  margin-left: auto;
}

.engine-panel .panel-body {
  padding: 20px;
}

.engine-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.engine-card {
  background: rgba(8, 8, 14, 0.92);
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  min-height: 235px;
  position: relative;
  overflow: hidden;
}

.engine-card .card-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 12px;
}

.engine-panel .ep-timeline {
  padding: 22px 20px 22px 24px;
}

.engine-panel .ep-line {
  display: none;
}

.engine-panel #epTimeline {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
}

.engine-panel #epTimeline::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: rgba(245, 245, 247, 0.28);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.7s ease;
  z-index: 0;
}

.engine-panel #epTimeline.timeline-ready::before {
  transform: scaleY(1);
}

.engine-panel .ep-step {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  position: relative;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .42s ease, transform .42s ease;
  z-index: 1;
}

.engine-panel .ep-step.show {
  opacity: 1;
  transform: translateY(0);
}

.engine-panel .ep-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  max-width: 36px;
  max-height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
}

.engine-panel .ep-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.engine-panel .ep-icon-magenta { background: rgba(210, 23, 103, .20); color: #ff3b94; }
.engine-panel .ep-icon-purple  { background: rgba(112, 41, 161, .24); color: #b98be0; }
.engine-panel .ep-icon-cyan    { background: rgba(0, 182, 221, .20); color: #00B6DD; }
.engine-panel .ep-icon-orange  { background: rgba(255, 105, 13, .22); color: #ff9a4d; }
.engine-panel .ep-icon-green   { background: rgba(99, 153, 34, .24); color: #9ecf5a; }

.engine-panel .ep-step .txt {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.engine-panel .ep-step .txt div:first-child {
  font-size: clamp(12px, 1.02vw, 15px);
  font-weight: 700;
  color: #f5f5f7;
  line-height: 1.18;
  letter-spacing: -.015em;
}

.engine-panel .ep-step .txt div:last-child {
  font-size: clamp(10.5px, .88vw, 13px);
  color: #aeb8bf;
  line-height: 1.25;
  margin-top: 2px;
}

.engine-panel .ep-dash {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.engine-panel .ep-metric {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.engine-panel .ep-metric small {
  letter-spacing: .09em;
  line-height: 1.35;
}

.engine-panel .ep-metric strong,
.engine-panel .ep-ring span {
  font-variant-numeric: tabular-nums;
}

/* Keep original service-section icons isolated from the hero panel. */
.result-card > .ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(210, 23, 103, .16);
  color: #ff3b94;
  margin-bottom: 24px;
}

@media(max-width: 1180px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .engine-panel {
    margin: 0;
    width: min(100%, 720px);
  }
}

@media(max-width: 640px) {
  .engine-grid {
    grid-template-columns: 1fr;
  }

  .engine-card {
    min-height: 230px;
  }

  .engine-panel .ep-step .txt div:first-child {
    font-size: 17px;
  }

  .engine-panel .ep-step .txt div:last-child {
    font-size: 14px;
  }
}

/* ===== TIMELINE LINE MASK FIX ===== */
/* The timeline line stays behind the bubbles and is hidden inside each icon circle. */
.engine-panel #epTimeline::before {
  z-index: 0;
}

.engine-panel .ep-step {
  z-index: 2;
}

.engine-panel .ep-icon {
  position: relative;
  z-index: 3;
  isolation: isolate;
  box-shadow: 0 0 0 7px #0a0a10;
}

.engine-panel .ep-icon-magenta {
  background: #5b0b32 !important;
  color: #ff3b94;
}

.engine-panel .ep-icon-purple {
  background: #2d1247 !important;
  color: #b98be0;
}

.engine-panel .ep-icon-cyan {
  background: #063f4d !important;
  color: #00B6DD;
}

.engine-panel .ep-icon-orange {
  background: #51210c !important;
  color: #ff9a4d;
}

.engine-panel .ep-icon-green {
  background: #203a13 !important;
  color: #9ecf5a;
}

/* ==========================================================
   REASONLAB V4 — SECTION ZONES + DEPTH
   Adds distinct atmospheres below the hero without making the
   whole site lighter. Each section gets its own visual zone.
   ========================================================== */

main > section:not(.hero):not(.book-hero) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

main > section:not(.hero):not(.book-hero)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(980px, calc(100% - 48px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(0, 182, 221, .26), rgba(210, 23, 103, .22), transparent);
  opacity: .8;
  z-index: -1;
}

main > section:not(.hero):not(.book-hero)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 50% 35%, rgba(0,0,0,.95), transparent 68%);
  opacity: .32;
  z-index: -2;
}

/* SERVICES — subtle magenta/purple glow around the cards */
#services {
  background:
    radial-gradient(circle at 20% 16%, rgba(210, 23, 103, .18), transparent 32%),
    radial-gradient(circle at 78% 70%, rgba(112, 41, 161, .13), transparent 34%),
    linear-gradient(180deg, rgba(14,14,20,0) 0%, rgba(20,15,31,.62) 48%, rgba(14,14,20,.92) 100%);
}

#services .results-grid {
  position: relative;
}

#services .results-grid::before {
  content: "";
  position: absolute;
  inset: -50px -36px;
  background: radial-gradient(ellipse at center, rgba(210, 23, 103, .16), transparent 66%);
  filter: blur(18px);
  z-index: -1;
}

.result-card,
.system-card,
.step {
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 70px rgba(0, 0, 0, .18);
}

.result-card::before,
.system-card::before,
.step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--purple), var(--magenta), var(--orange));
  opacity: .55;
}

.result-card:hover,
.system-card:hover,
.step:hover {
  transform: translateY(-4px);
  border-color: rgba(245,245,247,.22);
  background: linear-gradient(180deg, rgba(25,24,40,.94), rgba(14,13,23,.82));
  box-shadow: 0 28px 90px rgba(0,0,0,.28), 0 0 42px rgba(112,41,161,.10);
}

.result-card,
.system-card,
.step {
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

/* PROCESS — connected progression instead of floating cards */
#process {
  background:
    radial-gradient(circle at 50% 28%, rgba(0, 182, 221, .10), transparent 36%),
    linear-gradient(180deg, rgba(14,14,20,.9), rgba(11,16,25,.72), rgba(14,14,20,.92));
}

.process {
  position: relative;
}

.process::before {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  top: 39px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,182,221,.52), rgba(210,23,103,.38), transparent);
  z-index: 0;
}

.step {
  z-index: 1;
}

.step .n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(0,182,221,.10);
  border: 1px solid rgba(0,182,221,.18);
}

/* SYSTEMS — blue/cyber architecture zone */
#systems {
  background:
    radial-gradient(circle at 82% 18%, rgba(0, 182, 221, .16), transparent 32%),
    radial-gradient(circle at 15% 72%, rgba(5, 104, 201, .16), transparent 36%),
    linear-gradient(180deg, rgba(10,15,25,.94), rgba(9,19,34,.76), rgba(14,14,20,.92));
}

.system-builder {
  position: relative;
}

.system-builder::before {
  content: "";
  position: absolute;
  inset: -34px;
  border-radius: 32px;
  background: radial-gradient(ellipse at center, rgba(0,182,221,.11), transparent 64%);
  filter: blur(14px);
  z-index: -1;
}

.system-map {
  border-color: rgba(0,182,221,.18);
  background:
    linear-gradient(180deg, rgba(11,24,39,.84), rgba(14,13,24,.82));
  box-shadow: inset 0 0 0 1px rgba(0,182,221,.04), 0 28px 90px rgba(0,0,0,.22);
}

.map-node {
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.map-node:hover {
  transform: translateX(4px);
  border-color: rgba(0,182,221,.32);
  background: rgba(0,182,221,.08);
}

.system-card:nth-child(3),
.system-card:nth-child(5) {
  border-color: rgba(0,182,221,.17);
}

/* ANALYZER — make it feel like a premium interactive tool */
#analyzer {
  background:
    radial-gradient(circle at 18% 36%, rgba(255, 105, 13, .16), transparent 30%),
    radial-gradient(circle at 86% 44%, rgba(210, 23, 103, .18), transparent 34%),
    linear-gradient(180deg, rgba(14,14,20,.94), rgba(25,15,25,.72), rgba(14,14,20,.95));
}

#analyzer .analyzer {
  position: relative;
  border-color: rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(25,24,40,.86), rgba(13,12,22,.78));
  box-shadow: 0 32px 110px rgba(0,0,0,.34), 0 0 80px rgba(210,23,103,.08);
}

#analyzer .analyzer::before {
  content: "Free AI Snapshot";
  position: absolute;
  top: 22px;
  right: 22px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cyan);
  border: 1px solid rgba(0,182,221,.22);
  background: rgba(0,182,221,.08);
  border-radius: 999px;
  padding: 8px 10px;
}

#analyzer .analyzer-form input,
#analyzer .analyzer-form select {
  background: rgba(8,8,14,.72);
  border-color: rgba(255,255,255,.11);
}

#analyzer .analyzer-form .btn {
  min-height: 54px;
  box-shadow: 0 22px 70px rgba(210,23,103,.32);
}

/* FAQ — cleaner panel so the area does not feel empty */
#faq {
  background:
    radial-gradient(circle at 50% 16%, rgba(112, 41, 161, .12), transparent 34%),
    linear-gradient(180deg, rgba(14,14,20,.94), rgba(13,13,22,.86));
}

#faq .faq-list {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(19,18,32,.58), rgba(10,10,16,.62));
  padding: 0 26px;
  box-shadow: 0 28px 90px rgba(0,0,0,.22);
}

#faq .faq-item:last-child {
  border-bottom: 0;
}

.faq-q:hover {
  color: var(--cyan);
}

/* FINAL CTA — stronger closing section */
.cta#contact {
  padding: 125px 0;
  background:
    radial-gradient(circle at 50% 42%, rgba(210,23,103,.22), transparent 33%),
    radial-gradient(circle at 50% 72%, rgba(112,41,161,.22), transparent 42%),
    linear-gradient(180deg, rgba(14,14,20,.96), rgba(22,14,31,.92));
}

.cta#contact .wrap {
  position: relative;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  padding: 64px 28px;
  background:
    linear-gradient(180deg, rgba(23,22,38,.72), rgba(10,10,16,.56));
  box-shadow: 0 34px 120px rgba(0,0,0,.34), 0 0 90px rgba(210,23,103,.12);
  overflow: hidden;
}

.cta#contact .wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.07), transparent 42%);
  pointer-events: none;
}

.cta#contact h2,
.cta#contact p,
.cta#contact .cta-ctas,
.cta#contact .contact-row,
.cta#contact .eyebrow {
  position: relative;
  z-index: 1;
}

/* Softer vertical rhythm so the bottom feels designed, not flat */
#services,
#process,
#systems,
#analyzer,
#faq {
  padding-top: 118px;
  padding-bottom: 118px;
}

@media(max-width: 1020px) {
  .process::before {
    display: none;
  }

  #analyzer .analyzer::before {
    position: static;
    display: inline-flex;
    width: max-content;
    margin-bottom: 18px;
  }
}

@media(max-width: 760px) {
  main > section:not(.hero):not(.book-hero)::after {
    opacity: .22;
  }

  #services,
  #process,
  #systems,
  #analyzer,
  #faq {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  #faq .faq-list {
    padding: 0 18px;
  }

  .cta#contact {
    padding: 80px 0;
  }

  .cta#contact .wrap {
    padding: 46px 20px;
  }
}


/* ===== V5: TODAY DASHBOARD EXTRA METRIC ===== */
.engine-card.ep-today {
  display: flex;
  flex-direction: column;
}

.engine-card.ep-today .ep-dash {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: .86fr 1fr 1.12fr;
  gap: 12px;
  min-height: 0;
}

.engine-card.ep-today .ep-metric {
  min-height: 0;
}

.engine-card.ep-today .ep-metric.wide {
  grid-column: span 2;
}

.engine-card.ep-today .ep-metric-accent {
  position: relative;
  overflow: hidden;
  border-color: rgba(0, 182, 221, .22);
  background:
    radial-gradient(circle at 88% 18%, rgba(0, 182, 221, .16), transparent 38%),
    linear-gradient(135deg, rgba(0, 182, 221, .075), rgba(112, 41, 161, .055));
}

.engine-card.ep-today .ep-metric-accent::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);
  transform: translateX(-120%);
  animation: epMetricSheen 3.8s ease-in-out 1.2s 1 forwards;
  pointer-events: none;
}

@keyframes epMetricSheen {
  to { transform: translateX(120%); }
}

.engine-card.ep-today .ep-metric-accent small {
  color: var(--cyan);
}

.engine-card.ep-today .ep-metric-accent strong {
  font-size: clamp(25px, 2.1vw, 34px);
}

@media(max-width: 640px) {
  .engine-card.ep-today .ep-dash {
    grid-template-rows: auto auto auto;
  }

  .engine-card.ep-today .ep-metric {
    min-height: 88px;
  }
}


/* ===== V6: MANUAL TASK REMOVED METRIC ===== */
.engine-card.ep-today .ep-manual {
  grid-column: span 2;
  position: relative;
  overflow: hidden;
  min-height: 102px;
  border: 1px solid rgba(255, 105, 13, .22);
  border-radius: 12px;
  padding: 12px;
  background:
    radial-gradient(circle at 88% 20%, rgba(255, 105, 13, .16), transparent 38%),
    radial-gradient(circle at 12% 100%, rgba(210, 23, 103, .13), transparent 42%),
    linear-gradient(135deg, rgba(255, 105, 13, .075), rgba(112, 41, 161, .06));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.engine-card.ep-today .ep-manual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
  transform: translateX(-120%);
  animation: epManualSheen 1.35s ease 1.15s 1 forwards;
  pointer-events: none;
}

@keyframes epManualSheen {
  to { transform: translateX(120%); }
}

.engine-card.ep-today .ep-manual-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  z-index: 1;
}

.engine-card.ep-today .ep-manual small {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: #ffb17d;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 2px;
}

.engine-card.ep-today .ep-manual strong {
  display: block;
  font-size: clamp(28px, 2.55vw, 38px);
  line-height: .95;
  font-weight: 850;
  letter-spacing: -.06em;
  background: linear-gradient(120deg, #fff 0%, #f5f5f7 30%, #FF690D 68%, #D21767 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.engine-card.ep-today .ep-manual-pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 0 rgba(255, 105, 13, .55);
  margin-top: 4px;
  flex: 0 0 auto;
  animation: epManualPulse 1.45s ease-in-out infinite;
}

@keyframes epManualPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,105,13,.5); }
  50% { box-shadow: 0 0 0 8px rgba(255,105,13,0); }
}

.engine-card.ep-today .ep-manual-chips {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 10px;
}

.engine-card.ep-today .ep-manual-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 28px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: #f5f5f7;
  font-family: 'JetBrains Mono', monospace;
  font-size: 8.8px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(7px);
  overflow: hidden;
}

.engine-card.ep-today .ep-manual-chip::before {
  content: "✓";
  color: var(--cyan);
  font-size: 10px;
  line-height: 1;
}

.engine-card.ep-today .ep-manual-chip::after {
  content: "";
  position: absolute;
  top: 0;
  left: -85%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform: skewX(-18deg);
}

.engine-card.ep-today .ep-manual-chip.show {
  animation: epManualChipIn .46s cubic-bezier(.2,.8,.2,1) forwards;
}

.engine-card.ep-today .ep-manual-chip.show::after {
  animation: epManualChipSweep .9s ease .2s forwards;
}

@keyframes epManualChipIn {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes epManualChipSweep {
  to { left: 130%; }
}

@media(max-width: 640px) {
  .engine-card.ep-today .ep-manual {
    min-height: 112px;
  }

  .engine-card.ep-today .ep-manual-chips {
    gap: 7px;
  }

  .engine-card.ep-today .ep-manual-chip {
    min-height: 30px;
    font-size: 9px;
  }
}

/* ===== V7: HERO PURPLE BACKGROUND PULSE ===== */
.hero::before,
.book-hero::before{
  transform:translateX(-50%) scale(1);
  transform-origin:center center;
  animation:heroPulse 7s ease-in-out infinite;
  will-change:transform, opacity;
}

@keyframes heroPulse{
  0%,100%{
    transform:translateX(-50%) scale(1);
    opacity:.82;
  }
  50%{
    transform:translateX(-50%) scale(1.06);
    opacity:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero::before,
  .book-hero::before{
    animation:none;
    opacity:.9;
  }
}

/* ===== PERFORMANCE OPTIMIZATIONS (visual-safe) ===== */
@supports (content-visibility:auto){
  #services,#process,#systems,#analyzer,#faq,.cta,footer{
    content-visibility:auto;
    contain-intrinsic-size:1px 820px;
  }
}
@media(max-width:760px){
  #node-canvas{opacity:.68}
  .hero::before,.book-hero::before{filter:blur(10px)}
}
