:root{--bg:#13111a;--bg-elev:#1a1726;--bg-card:#1f1b2c;--border:rgba(255,255,255,0.06);--border-strong:rgba(255,255,255,0.12);--text:#f5f3ff;--text-dim:#a8a3b8;--text-faint:#8b8599;--grad-start:#1479fb;--grad-end:#db93ff;--grad:linear-gradient(135deg,#1479fb 0%,#db93ff 100%);--grad-text:linear-gradient(90deg,#1479fb 0%,#db93ff 50%);--grad-radial:radial-gradient(circle at center,#1479fb 0%,#db93ff 100%);--grad-soft:linear-gradient(135deg,rgba(20,121,251,0.16) 0%,rgba(219,147,255,0.16) 100%);--grad-line:linear-gradient(90deg,transparent,#1479fb,#db93ff,transparent);--accent-blue:#1479fb;--accent-pink:#db93ff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{font-family:'Manrope',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
::selection{background:#1479fb;color:#fff}
.container{max-width:1280px;margin:0 auto;padding:0 32px;position:relative;z-index:2}
.mono{font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:var(--accent-pink);text-transform:uppercase;letter-spacing:0.16em;font-weight:500}
.ambient-cursor{position:fixed;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(20,121,251,0.18) 0%,rgba(219,147,255,0.10) 30%,transparent 65%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);transition:opacity 0.4s;will-change:transform;mix-blend-mode:screen}
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.ambient::before,.ambient::after{content:'';position:absolute;width:700px;height:700px;border-radius:50%;filter:blur(140px);opacity:0.18;animation:drift 20s ease-in-out infinite}
.ambient::before{background:radial-gradient(circle,var(--accent-blue) 0%,transparent 70%);top:-200px;left:-200px}
.ambient::after{background:radial-gradient(circle,var(--accent-pink) 0%,transparent 70%);bottom:-100px;right:-200px;animation-delay:-10s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,-40px) scale(1.05)}66%{transform:translate(-40px,60px) scale(0.95)}}
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;background:rgba(19,17,26,0.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 32px}
.logo img{height:36px;width:auto}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--text-dim);text-decoration:none;font-size:0.92rem;font-weight:500;transition:color 0.2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.active{color:var(--text)}
.nav-links a.active::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:100px;font-size:0.92rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;border:none}
.btn-primary{background:var(--grad);color:white;position:relative}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(20,121,251,0.4)}
.btn-secondary{background:rgba(255,255,255,0.04);color:var(--text);border:1px solid var(--border-strong)}
.btn-secondary:hover{background:rgba(255,255,255,0.08)}
.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text,#fff);border-radius:2px;transition:transform 0.25s ease,opacity 0.2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:960px){.nav-toggle{display:flex}nav .nav-inner{position:relative}.nav-links{display:flex !important;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-card,#1a1822);border-top:1px solid var(--border,rgba(255,255,255,0.08));padding:24px 20px;gap:20px;z-index:100;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height 0.3s ease,opacity 0.2s ease,padding 0.3s ease}.nav-links.is-open{max-height:520px;opacity:1;pointer-events:auto}.nav-links a{font-size:1.05rem;padding:8px 0}nav .btn-primary{display:none}}
body.menu-open{overflow:hidden}

/* ==== hero (stub + hub pages) ==== */
.pyr-hero{padding:180px 0 90px;position:relative;overflow:hidden}
.hero-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}
.hero-orb-1{width:640px;height:640px;top:-120px;left:-160px;background:radial-gradient(circle,rgba(20,121,251,0.55) 0%,transparent 65%);animation:orbDrift1 24s ease-in-out infinite}
.hero-orb-2{width:520px;height:520px;top:25%;right:-140px;background:radial-gradient(circle,rgba(219,147,255,0.45) 0%,transparent 65%);animation:orbDrift2 30s ease-in-out infinite}
.hero-orb-3{width:720px;height:720px;bottom:-260px;left:35%;background:radial-gradient(circle,rgba(20,121,251,0.35) 0%,transparent 70%);animation:orbDrift3 36s ease-in-out infinite}
@keyframes orbDrift1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(120px,80px) scale(1.1)}66%{transform:translate(-50px,140px) scale(0.95)}}
@keyframes orbDrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-180px,-100px) scale(1.15)}}
@keyframes orbDrift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(120px,-120px) scale(0.85)}}
.hero-grid-bg{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:64px 64px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,black 25%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 40%,black 25%,transparent 70%);opacity:0.65}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;padding:6px 16px 6px 14px;border:1px solid var(--border);border-radius:100px;background:rgba(255,255,255,0.03);color:var(--text-dim);margin-bottom:32px;backdrop-filter:blur(8px)}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:2px;background:var(--grad);box-shadow:0 0 12px rgba(20,121,251,0.4);transform:rotate(45deg);flex-shrink:0}
.hero-eyebrow .mono{color:var(--text-dim)}
.hero-headline{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.04;letter-spacing:-0.025em;margin:0 0 24px;color:var(--text)}
.hh-accent{display:inline-block;font-style:italic;padding:0.04em 0.12em 0.12em 0.08em;margin:-0.04em -0.12em -0.12em -0.08em;background:linear-gradient(135deg,#1479fb 0%,#db93ff 100%);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero-lead{font-size:1.1rem;color:var(--text-dim);line-height:1.6;max-width:62ch;margin:0 0 36px}
.hero-lead strong{color:var(--text);font-weight:600}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.btn-arrow{transition:transform 0.2s}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* ==== hub grid (services + blog index) ==== */
.hub-section{padding:20px 0 100px;position:relative}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.hub-card{display:block;background:var(--bg-elev);border:1px solid var(--border);border-radius:18px;padding:28px;text-decoration:none;color:inherit;transition:transform 0.3s,border-color 0.3s}
.hub-card:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.hub-card .mono{display:block;margin-bottom:10px}
.hub-card h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.12rem;line-height:1.3;margin-bottom:10px;color:var(--text)}
.hub-card p{color:var(--text-dim);font-size:0.94rem;line-height:1.55}
.hub-card .hub-card-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-blue);font-size:0.86rem;font-weight:600;margin-top:14px}
@media (max-width:768px){.hub-grid{grid-template-columns:1fr}}

/* ==== stub spoke page body ==== */
.stub-section{padding:20px 0 120px;position:relative}
.stub-card{max-width:760px;background:var(--bg-elev);border:1px solid var(--border);border-radius:20px;padding:40px}
.stub-card p{color:var(--text-dim);font-size:1.02rem;line-height:1.7;margin-bottom:20px}
.stub-card p:last-child{margin-bottom:0}
.stub-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.stub-topic{font-family:'JetBrains Mono',monospace;font-size:0.74rem;color:var(--text-dim);background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:100px;padding:6px 14px}
.stub-back{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);text-decoration:none;font-size:0.9rem;margin-bottom:28px;transition:color 0.2s}
.stub-back:hover{color:var(--text)}

/* ==== footer ==== */
footer{padding:100px 0 40px;border-top:1px solid var(--border);position:relative}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.6fr;gap:64px;margin-bottom:56px}
.footer-brand{display:flex;flex-direction:column;gap:0}
.footer-brand img{height:36px;width:auto;object-fit:contain;align-self:flex-start}
.footer-col h3{font-family:'JetBrains Mono',monospace;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-faint);margin-bottom:22px;font-weight:500}
.footer-col a{display:block;color:var(--text-dim);text-decoration:none;font-size:0.92rem;margin-bottom:14px;transition:color 0.2s}
.footer-col a:hover{color:var(--text)}
.footer-cta h4{font-family:'JetBrains Mono',monospace;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-faint);margin-bottom:18px;font-weight:500}
.footer-cta p{color:var(--text-dim);font-size:0.92rem;line-height:1.55;margin-bottom:22px;max-width:30ch}
.footer-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:100px;color:white;font-family:'Manrope',sans-serif;font-size:0.93rem;font-weight:600;background:var(--grad);text-decoration:none;box-shadow:0 6px 24px rgba(20,121,251,0.32);transition:transform 0.25s,box-shadow 0.25s}
.footer-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(20,121,251,0.48)}
.footer-cta-btn svg{transition:transform 0.25s}
.footer-cta-btn:hover svg{transform:translateX(4px)}
.footer-bottom-link{color:var(--text-faint);text-decoration:none;transition:color 0.2s}
.footer-bottom-link:hover{color:var(--text)}
.footer-bottom{padding-top:32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;color:var(--text-faint);font-size:0.82rem;flex-wrap:wrap;gap:16px}
.footer-socials{display:flex;gap:18px;align-items:center}
.footer-socials a{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint);font-size:0.82rem;text-decoration:none;transition:color 0.2s}
.footer-socials a:hover{color:var(--text)}
.footer-socials svg{color:var(--text-faint);transition:color 0.2s;flex-shrink:0}
.footer-socials a:hover svg{color:#1479fb}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:48px}.footer-cta{grid-column:span 2}.footer-brand{grid-column:span 2}.footer-bottom{flex-direction:column;align-items:flex-start}}

.reveal{opacity:0;transform:translateY(36px) scale(0.98);transition:opacity 0.85s cubic-bezier(0.22,0.61,0.36,1),transform 0.85s cubic-bezier(0.22,0.61,0.36,1);will-change:opacity,transform}
.reveal.in-view{opacity:1;transform:translateY(0) scale(1)}

@media (max-width:768px){
  .pyr-hero{padding:130px 0 50px}
  .hero-headline{font-size:clamp(2.2rem,9vw,3.2rem)}
  .hero-lead{font-size:1rem}
  .container{padding:0 20px}
  .hub-section,.stub-section{padding:10px 0 70px}
  .stub-card{padding:24px}
  .ambient,.ambient::before,.ambient::after,.ambient-cursor{display:none}
  .hero-orb{opacity:0.4}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}.reveal{opacity:1 !important;transform:none !important}}

/* ==== money pages (services + industry) ==== */
.proof-line{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:0.86rem;color:var(--text);background:rgba(255,255,255,0.04);border:1px solid var(--border-strong);border-radius:100px;padding:10px 18px;margin-bottom:32px}
.proof-line-dot{width:7px;height:7px;border-radius:50%;background:var(--grad);flex-shrink:0;box-shadow:0 0 10px rgba(20,121,251,0.5)}
.offer-section{padding:0 0 20px}
.offer-card{max-width:820px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:20px;padding:36px 40px}
.offer-card h2{font-family:'Instrument Serif',serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:400;margin-bottom:14px;line-height:1.2}
.offer-card p{color:var(--text-dim);font-size:1rem;line-height:1.7;margin-bottom:10px}
.offer-card p:last-of-type{margin-bottom:0}
.offer-card strong{color:var(--text)}
.money-section{padding:24px 0}
.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:920px;margin:0 auto}
.pain-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.012));border:1px solid var(--border);border-radius:20px;padding:32px 30px 30px;opacity:0;transform:translateY(22px) scale(0.94);transition:opacity 0.6s cubic-bezier(0.2,0.8,0.2,1),transform 0.6s cubic-bezier(0.2,0.8,0.2,1),border-color 0.25s}
.pain-grid.in-view .pain-card{opacity:1;transform:translateY(0) scale(1)}
.pain-grid.in-view .pain-card:nth-child(1){transition-delay:0.05s}
.pain-grid.in-view .pain-card:nth-child(2){transition-delay:0.14s}
.pain-grid.in-view .pain-card:nth-child(3){transition-delay:0.23s}
.pain-grid.in-view .pain-card:nth-child(4){transition-delay:0.32s}
@media (prefers-reduced-motion:reduce){.pain-card{opacity:1 !important;transform:none !important;transition:none !important}}
.pain-card:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.pain-card:hover .pain-glow{opacity:1}
.pain-glow{position:absolute;top:-90px;right:-90px;width:220px;height:220px;border-radius:50%;filter:blur(50px);pointer-events:none;opacity:0.75;transition:opacity 0.4s}
.pain-card:nth-child(4n+1) .pain-glow{background:radial-gradient(circle,rgba(20,121,251,0.55) 0%,transparent 70%)}
.pain-card:nth-child(4n+2) .pain-glow{background:radial-gradient(circle,rgba(219,147,255,0.55) 0%,transparent 70%)}
.pain-card:nth-child(4n+3) .pain-glow{background:radial-gradient(circle,rgba(219,147,255,0.45) 0%,rgba(20,121,251,0.25) 45%,transparent 75%)}
.pain-card:nth-child(4n+4) .pain-glow{background:radial-gradient(circle,rgba(20,121,251,0.45) 0%,rgba(219,147,255,0.25) 45%,transparent 75%)}
.pain-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;position:relative;z-index:1}
.pain-card:nth-child(4n+1) .pain-icon{background:linear-gradient(135deg,rgba(20,121,251,0.22),rgba(20,121,251,0.06));border:1px solid rgba(20,121,251,0.3);color:#6ba6ff}
.pain-card:nth-child(4n+2) .pain-icon{background:linear-gradient(135deg,rgba(219,147,255,0.22),rgba(219,147,255,0.06));border:1px solid rgba(219,147,255,0.3);color:var(--accent-pink)}
.pain-card:nth-child(4n+3) .pain-icon{background:linear-gradient(135deg,rgba(219,147,255,0.18),rgba(20,121,251,0.1));border:1px solid rgba(219,147,255,0.26);color:#cf9bf2}
.pain-card:nth-child(4n+4) .pain-icon{background:linear-gradient(135deg,rgba(20,121,251,0.18),rgba(219,147,255,0.1));border:1px solid rgba(20,121,251,0.26);color:#8fb8ff}
.pain-card h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.08rem;color:var(--text);margin:0 0 10px;position:relative;z-index:1}
.pain-card p{font-size:0.92rem;color:var(--text-dim);line-height:1.65;position:relative;z-index:1;margin:0}
@media (max-width:768px){.pain-grid{grid-template-columns:1fr}}
.niche-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:840px;margin:0 auto}
.niche-chip{display:flex;align-items:center;gap:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;padding:12px 24px 12px 12px;opacity:0;transform:translateY(16px);transition:opacity 0.5s cubic-bezier(0.2,0.8,0.2,1),transform 0.5s cubic-bezier(0.2,0.8,0.2,1),border-color 0.25s}
.niche-grid.in-view .niche-chip{opacity:1;transform:translateY(0)}
.niche-grid.in-view .niche-chip:nth-child(1){transition-delay:0.05s}
.niche-grid.in-view .niche-chip:nth-child(2){transition-delay:0.13s}
.niche-grid.in-view .niche-chip:nth-child(3){transition-delay:0.21s}
.niche-grid.in-view .niche-chip:nth-child(4){transition-delay:0.29s}
.niche-grid.in-view .niche-chip:nth-child(5){transition-delay:0.37s}
.niche-grid.in-view .niche-chip:nth-child(6){transition-delay:0.45s}
.niche-grid.in-view .niche-chip:nth-child(7){transition-delay:0.53s}
@media (prefers-reduced-motion:reduce){.niche-chip{opacity:1 !important;transform:none !important;transition:none !important}}
.niche-chip:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.niche-icon{width:38px;height:38px;border-radius:50%;background:var(--grad-soft);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--accent-pink);flex-shrink:0}
.niche-chip span{font-size:0.88rem;font-weight:600;color:var(--text)}
@media (max-width:768px){.niche-grid{gap:10px}.niche-chip{padding:10px 18px 10px 10px}.niche-chip span{font-size:0.82rem}}
.collapse-block{max-width:820px;margin:0 auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:24px 28px}
.collapse-block summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:0.95rem}
.collapse-block summary::-webkit-details-marker{display:none}
.collapse-toggle{font-family:'JetBrains Mono',monospace;color:var(--text-dim);font-size:1.1rem;transition:transform 0.2s}
.collapse-block[open] .collapse-toggle{transform:rotate(45deg)}
.included-list{list-style:none;margin-top:20px;display:grid;gap:18px}
.included-list li strong{display:block;color:var(--text);font-size:0.98rem;margin-bottom:4px}
.included-list li p{color:var(--text-dim);font-size:0.92rem;line-height:1.6;margin:0}
.testimonial-card{max-width:820px;margin:0 auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:20px;padding:36px 40px;position:relative}
.testimonial-card::before{content:'"';position:absolute;top:12px;left:24px;font-family:'Instrument Serif',serif;font-size:5rem;color:var(--accent-pink);opacity:0.18;line-height:1}
.testimonial-quote{font-family:'Instrument Serif',serif;font-size:1.35rem;line-height:1.45;color:var(--text);margin-bottom:20px;position:relative;z-index:1}
.testimonial-name{font-weight:700;font-size:0.98rem}
.testimonial-role{font-family:'JetBrains Mono',monospace;font-size:0.76rem;color:var(--text-dim);letter-spacing:0.04em;margin-top:2px}
.faq-list{max-width:820px;margin:0 auto 36px;display:grid;gap:12px}
.faq-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:20px 24px}
.faq-item summary{cursor:pointer;list-style:none;font-weight:600;font-size:0.98rem;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:'JetBrains Mono',monospace;color:var(--text-dim);flex-shrink:0;transition:transform 0.2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-answer{padding-top:14px}
.faq-answer p{color:var(--text-dim);font-size:0.94rem;line-height:1.65;margin:0}
.final-cta-section{padding-bottom:100px}
.final-cta-card{max-width:820px;margin:0 auto;text-align:center;padding:64px 40px;background:linear-gradient(180deg,rgba(20,121,251,0.08),rgba(219,147,255,0.08));border:1px solid var(--border-strong);border-radius:28px}
.final-cta-card h2{font-family:'Instrument Serif',serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;margin:12px 0 16px}
.final-cta-card p{color:var(--text-dim);margin-bottom:28px}
@media (max-width:768px){.offer-card,.testimonial-card{padding:24px}.collapse-block{padding:20px}.final-cta-card{padding:40px 24px}}

/* ==== blog posts ==== */
.post-hero{padding:120px 0 32px}
.post-h1{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-0.02em;line-height:1.1;font-size:clamp(2.4rem,5.2vw,3.8rem);max-width:900px}
.post-article{padding:20px 0 100px}
.post-container{max-width:760px}
.post-section a,.quick-answer a,.proof-line-inline a,.author-bio a,.bridge-cta a:not(.btn),.final-cta-card a:not(.btn){color:var(--accent-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.post-section a:hover,.quick-answer a:hover,.proof-line-inline a:hover,.author-bio a:hover,.bridge-cta a:not(.btn):hover,.final-cta-card a:not(.btn):hover{color:var(--accent-pink)}
.quick-answer a{color:#1685ff}
/* ==== ambient testimonial, ported verbatim from index.css (the home page's real quote component) ==== */
.amb-card{max-width:720px;margin:0 auto 40px;text-align:center;padding:32px 36px;background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(255,255,255,0.005));border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.amb-stars{display:flex;gap:4px;justify-content:center;color:#f4c542;margin-bottom:20px}
.amb-stars svg{width:18px;height:18px;fill:currentColor;filter:drop-shadow(0 0 7px rgba(244,197,66,0.4))}
.amb-card .amb-quote{font-family:'Instrument Serif',serif;font-size:1.75rem;line-height:1.4;letter-spacing:-0.005em;color:var(--text);margin:0 0 24px;font-weight:400}
.amb-quote em{background:linear-gradient(135deg,#1479fb,#db93ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:italic}
.amb-attrib{display:flex;align-items:center;justify-content:center;gap:12px}
.amb-attrib-text{text-align:left}
.amb-attrib-text strong{display:block;font-weight:600;font-size:0.92rem;color:var(--text);margin-bottom:1px}
.amb-attrib-text span{font-size:0.78rem;color:var(--text-faint)}
.amb-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,rgba(20,121,251,0.3),rgba(219,147,255,0.3));display:flex;align-items:center;justify-content:center;color:var(--text);font-family:'Instrument Serif',serif;font-size:0.95rem;overflow:hidden}
.amb-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
@media (max-width:768px){.amb-card{padding:24px 20px}.amb-card .amb-quote{font-size:1.4rem}}
.post-screenshot{margin:0 0 32px}
.post-screenshot img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--border-strong);box-shadow:0 20px 50px rgba(0,0,0,0.4)}
.post-screenshot-caption{font-size:0.82rem;color:var(--text-faint);margin-top:10px;text-align:center}
.post-toc{margin:0 0 32px}
.post-toc .mono{display:block;margin-bottom:12px}
.post-toc ul{list-style:none;display:grid;gap:9px;padding:0;margin:0}
.post-toc a{color:var(--text-dim);font-weight:500;font-size:0.94rem;text-decoration:none}
.post-toc a:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong)}
.quick-answer{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:16px;padding:24px 28px;margin-bottom:24px}
.quick-answer .mono{display:block;margin-bottom:10px}
.quick-answer p{font-size:1.02rem;line-height:1.6;color:var(--text);margin:0}
.proof-line-inline{font-size:0.94rem;color:var(--text-dim);border-left:2px solid var(--accent-blue);padding-left:16px;margin:0 0 32px}
.post-table-wrap{overflow-x:auto;margin-bottom:32px;border:1px solid var(--border);border-radius:14px}
.post-table-wrap table{width:100%;border-collapse:collapse;font-size:0.9rem}
.post-table-wrap th,.post-table-wrap td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border)}
.post-table-wrap th{background:var(--bg-card);font-family:'JetBrains Mono',monospace;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-dim)}
.post-table-wrap tr:last-child td{border-bottom:none}
.post-section{margin-bottom:36px}
.post-section h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(1.4rem,2.6vw,1.85rem);margin-bottom:14px;line-height:1.2}
.post-section p{color:var(--text-dim);font-size:1rem;line-height:1.72;margin-bottom:14px}
.post-section p:last-child{margin-bottom:0}
.post-section ul,.post-section ol{color:var(--text-dim);font-size:1rem;line-height:1.7;margin:0 0 14px;padding-left:22px}
.post-section li{margin-bottom:6px}
.post-section strong{color:var(--text)}
.bridge-cta{text-align:center;padding:48px 32px;margin:36px 0;background:linear-gradient(180deg,rgba(20,121,251,0.08),rgba(219,147,255,0.08));border:1px solid var(--border-strong);border-radius:24px}
.bridge-cta p{color:var(--text-dim);font-size:1rem;line-height:1.65;margin:0 0 24px;max-width:52ch;margin-left:auto;margin-right:auto}
.bridge-cta a:not(.btn){color:var(--accent-blue);text-decoration:underline;text-underline-offset:3px}
.bridge-cta a:not(.btn):hover{color:var(--accent-pink)}
.bridge-cta-links{margin-top:16px;font-size:0.9rem;color:var(--text-dim)}
.author-box{margin-top:36px;border-top:1px solid var(--border);padding-top:28px;display:flex;gap:16px;align-items:flex-start}
.author-name{font-weight:700;font-size:1rem}
.author-role{font-family:'Manrope',system-ui,sans-serif;font-weight:500;font-size:0.85rem;color:var(--text-faint);margin:2px 0 10px}
.author-bio{color:var(--text-dim);font-size:0.92rem;line-height:1.6;margin:0}
@media (max-width:768px){.quick-answer,.bridge-cta{padding:20px}}

/* ==== homepage-parity components, ported verbatim from index.css so money pages ====
   ==== match the home page's polish: two-column hero stat dashboard + video    ====
   ==== interview carousel. Added for /service-page, 3 Sept 2026.               ==== */
.display{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-0.02em;line-height:0.98}
.eyebrow{display:inline-flex;align-items:center;gap:12px;padding:6px 16px 6px 14px;border:1px solid var(--border);border-radius:100px;background:rgba(255,255,255,0.03);color:var(--text-dim);margin-bottom:28px;backdrop-filter:blur(8px)}
.section-head{margin-bottom:56px;max-width:800px}
.section-head .mono{color:var(--accent-pink);margin-bottom:16px;display:block}
.section-head h2{font-size:clamp(2rem,4.2vw,3rem);margin-bottom:16px}
.section-head p{font-size:1.05rem;color:var(--text-dim);line-height:1.6;max-width:64ch}
.offer-section .section-head,.money-section .section-head,.final-cta-section .section-head{margin-left:auto;margin-right:auto}

/* 184px = homepage's own 100px hero padding-top + ~84px nav height. The
   homepage's nav is position:sticky (occupies flow, pushes hero down);
   this site's shared nav is position:fixed (overlays, hero starts at 0),
   so the hero has to add the nav's own height back in to land in the
   same spot the homepage's hero visually does. */
.money-hero{padding:184px 0 0}
.hero-marquee-wrap{position:relative;z-index:2;padding-top:22px;padding-bottom:16px;border-top:1px solid var(--border);margin-top:6px}
.money-hero .hero-marquee-wrap{margin-bottom:56px}
.hero-marquee-wrap .marquee-label{text-align:center;color:var(--text-faint);font-size:0.78rem;letter-spacing:0.1em;margin:14px 0 28px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.marquee-track{display:flex;gap:64px;align-items:center;animation:scroll 40s linear infinite;width:max-content;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(0,0,0)}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item-logo{display:inline-flex;align-items:center;height:32px;flex-shrink:0;opacity:0.72;transition:opacity 0.25s,filter 0.25s;filter:grayscale(0.05)}
.marquee-item-logo img{height:100%;width:auto;max-width:160px;object-fit:contain;display:block}
.marquee-item-logo:hover{opacity:1;filter:grayscale(0)}
@keyframes scroll{to{transform:translateX(-50%)}}

.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;margin:24px 0 32px;position:relative;z-index:2}
.hero-left{position:relative}
.hero-right{position:relative}
.money-hero .hero-headline{font-size:clamp(3rem,7vw,6rem);line-height:0.96;margin:0 0 28px}
.money-hero .hero-lead{font-size:1.12rem;max-width:50ch;margin:0 0 36px}
.metrics-dashboard{position:relative;background:linear-gradient(180deg,rgba(35,28,50,0.55),rgba(18,15,28,0.8));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-strong);border-radius:22px;padding:22px 28px 18px 32px;box-shadow:0 24px 80px rgba(0,0,0,0.55),0 0 60px rgba(20,121,251,0.08);display:flex;flex-direction:column;gap:14px;overflow:hidden}
.metrics-dashboard::before{content:'';position:absolute;inset:-1px;border-radius:23px;padding:1px;background:linear-gradient(135deg,rgba(20,121,251,0.4),transparent 40%,transparent 60%,rgba(219,147,255,0.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0.7}
.metrics-dashboard::after{content:'';position:absolute;top:-40%;right:-20%;width:70%;height:70%;background:radial-gradient(circle,rgba(20,121,251,0.16) 0%,transparent 60%);pointer-events:none;z-index:0}
.dash-eyebrow{display:flex;align-items:center;gap:10px;position:relative;z-index:1}
.dash-eyebrow-text{font-size:0.62rem;color:var(--text-dim);letter-spacing:0.16em;font-weight:700}
.dash-stat{position:relative;z-index:1;padding:4px 0 10px;border-bottom:1px solid rgba(255,255,255,0.06)}
.dash-stat:last-of-type{border-bottom:none;padding-bottom:2px}
.dash-stat-num{font-family:'Manrope',system-ui,sans-serif;font-weight:800;font-size:3.7rem;line-height:1;letter-spacing:-0.045em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px;display:flex;align-items:baseline;gap:0}
.dash-stat-prefix,.dash-stat-value{font-size:inherit}
.dash-stat-label{font-family:'Manrope',system-ui,sans-serif;font-size:0.92rem;color:var(--text);line-height:1.35;letter-spacing:-0.005em;font-weight:500}
.dash-stat-comp{color:var(--text-faint);font-size:0.82rem;font-weight:400}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:48px;margin:32px 0 40px}
  .money-hero .hero-headline{font-size:clamp(2.4rem,9vw,4.5rem)}
  .metrics-dashboard{padding:22px 24px}
  .dash-stat-num{font-size:3.2rem}
  .dash-stat-label{font-size:0.88rem}
}
@media (max-width:768px){
  .money-hero{padding:137px 0 24px}
  .hero-grid{gap:28px;margin:12px 0 24px}
  .money-hero .hero-headline{font-size:clamp(3rem,12.5vw,5.2rem);margin-bottom:16px;line-height:0.98}
  .money-hero .hero-lead{font-size:1rem;margin-bottom:24px;line-height:1.5}
  .money-hero .hero-ctas{gap:12px;flex-wrap:wrap}
  .money-hero .hero-marquee-wrap{margin-top:40px;margin-bottom:0;padding-top:18px;padding-bottom:10px}
  .metrics-dashboard{display:flex;flex-direction:row;gap:10px;padding:14px 12px;align-items:stretch;justify-content:center}
  .dash-eyebrow,.dash-stat-comp{display:none}
  .dash-stat{flex:1 1 0;min-width:0;padding:0;border:0;margin:0;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}
  .dash-stat-num{font-size:1.45rem;line-height:1.05;white-space:nowrap;justify-content:center;width:100%}
  .dash-stat-prefix{font-size:1.1rem}
  .dash-stat-label{font-size:0.62rem;letter-spacing:0.03em;line-height:1.2;color:var(--text-dim)}
}

.interviews-section{padding:20px 0 100px;position:relative;overflow:hidden}
.interviews-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(20,121,251,0.08) 0%,transparent 60%);pointer-events:none}
.interviews-controls{display:flex;gap:10px;margin-top:32px}
.scroll-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);background:rgba(255,255,255,0.04);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;backdrop-filter:blur(8px)}
.scroll-btn:hover{background:rgba(255,255,255,0.1);border-color:var(--accent-pink);color:var(--accent-pink)}
.interviews-scroller{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(32px,calc((100vw - 1280px) / 2 + 32px));scroll-padding-right:max(32px,calc((100vw - 1280px) / 2 + 32px));scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;position:relative;z-index:2;padding:12px 0 20px}
.interviews-scroller::-webkit-scrollbar{display:none}
.interviews-track{display:flex;align-items:stretch;gap:20px;padding-left:max(32px,calc((100vw - 1280px) / 2 + 32px));padding-right:max(32px,calc((100vw - 1280px) / 2 + 32px))}
.interview-card{flex-shrink:0;width:380px;scroll-snap-align:start;cursor:pointer;transition:transform 0.3s;display:flex;flex-direction:column}
.interview-card:hover{transform:translateY(-6px)}
.interview-thumb{aspect-ratio:16 / 9;border-radius:16px;position:relative;overflow:hidden;margin-bottom:18px;display:flex;align-items:center;justify-content:center;border:0;box-shadow:0 12px 32px rgba(0,0,0,0.32)}
.interview-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.05) 0%,rgba(0,0,0,0.18) 100%);z-index:1;pointer-events:none}
.thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.thumb-watermark{display:none}
.thumb-grad-1{background:linear-gradient(135deg,#1479fb,#6d4dca)}
.thumb-grad-2{background:linear-gradient(135deg,#6d4dca,#db93ff)}
.thumb-grad-3{background:linear-gradient(135deg,#db93ff,#ff6f9b)}
.thumb-grad-4{background:linear-gradient(135deg,#1479fb,#4fd4e8)}
.play-btn{width:64px;height:64px;border-radius:50%;background:transparent;border:1.5px solid rgba(255,255,255,0.75);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 2px 12px rgba(0,0,0,0.18);transition:all 0.3s}
.interview-card:hover .play-btn{transform:scale(1.1);background:transparent;border-color:#fff}
.play-btn svg{color:#fff;margin-left:3px;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.45))}
.duration{position:absolute;top:12px;right:12px;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);color:white;font-family:'JetBrains Mono',monospace;font-size:0.7rem;padding:4px 9px;border-radius:4px;z-index:2;font-weight:500}
.interview-meta{display:flex;flex-direction:column;min-height:130px}
.interview-tags{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.case-segment{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--accent-pink);text-transform:uppercase;letter-spacing:0.12em;font-weight:700;padding:5px 11px;background:rgba(219,147,255,0.08);border:1px solid rgba(219,147,255,0.18);border-radius:100px;flex-shrink:0}
.case-stars{display:flex;gap:3px;color:#f4c542;font-size:0.95rem;line-height:1}
.case-stars svg{width:16px;height:16px;fill:currentColor;filter:drop-shadow(0 0 6px rgba(244,197,66,0.35))}
.interview-meta h3{font-family:'Manrope',system-ui,sans-serif;font-size:1.02rem;line-height:1.45;letter-spacing:-0.005em;margin-bottom:16px;color:var(--text);font-weight:500;flex:1}
.interview-metric{padding:14px 0 16px;margin:4px 0 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.case-stat-num{font-family:'Manrope',system-ui,sans-serif;font-weight:800;font-size:1.5rem;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2px;letter-spacing:-0.02em}
.case-stat-label{font-size:0.72rem;color:var(--text-faint);letter-spacing:0.04em}
.interview-attrib{display:flex;align-items:center;gap:12px}
.interview-avatar{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.04);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-family:'Instrument Serif',serif;font-size:0.95rem;flex-shrink:0;overflow:hidden}
.interview-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.interview-attrib-text{line-height:1.2}
.interview-attrib strong{display:block;font-weight:600;font-size:0.9rem;color:var(--text);margin-bottom:2px}
.interview-attrib span{font-size:0.78rem;color:var(--text-faint)}
@media (max-width:768px){.interview-card{width:280px}.interviews-controls{display:none}.section-head{margin-bottom:36px}}

.quote-card{flex-shrink:0;width:340px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:18px;padding:28px 26px;transition:transform 0.3s,border-color 0.3s}
.quote-card:hover{transform:translateY(-6px);border-color:var(--border-strong)}
.quote-card .case-stars{margin-bottom:16px}
.quote-card .testimonial-quote{font-size:1.05rem;line-height:1.5;margin-bottom:0;flex:1}
.quote-card .interview-metric{margin:20px 0 18px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media (max-width:768px){.quote-card{width:280px}}

.testimonial-wall{padding:100px 0 32px;border-top:1px solid var(--border);position:relative;overflow:hidden}
.testimonial-wall::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:600px;background:radial-gradient(ellipse,rgba(219,147,255,0.06) 0%,transparent 65%);pointer-events:none}
.interviews-quote{position:relative}
.interviews-quote em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:0.08em 0.1em 0.32em 0.14em;margin:-0.08em -0.1em -0.32em -0.14em;display:inline-block;vertical-align:baseline}
.interviews-quote .quote-mark,.interviews-quote .quote-mark-r{font-family:'Instrument Serif',serif;color:var(--accent-pink);opacity:0.55;font-size:1.05em;line-height:0;vertical-align:-0.18em;margin:0 0.04em}
.tw-rows{display:flex;flex-direction:column;gap:18px;position:relative;z-index:2;-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%)}
.tw-row{overflow:hidden;width:100%}
.tw-row-1 .tw-track{animation:twScrollLeft 70s linear infinite}
.tw-row-2 .tw-track{animation:twScrollRight 80s linear infinite}
.tw-row:hover .tw-track{animation-play-state:paused}
.tw-track{display:flex;gap:18px;width:max-content;will-change:transform}
.tw-card{flex-shrink:0;width:360px;background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(255,255,255,0.012));border:1px solid var(--border);border-radius:16px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px;transition:border-color 0.25s,transform 0.25s}
.tw-card:hover{border-color:rgba(219,147,255,0.28);transform:translateY(-2px)}
.tw-stars{display:flex;gap:3px;color:#f4c542;line-height:1}
.tw-stars svg{width:14px;height:14px;fill:currentColor;filter:drop-shadow(0 0 5px rgba(244,197,66,0.3))}
.tw-quote{font-family:'Manrope',system-ui,sans-serif;font-size:0.92rem;line-height:1.55;color:var(--text);flex:1;margin:0;letter-spacing:-0.005em;font-weight:500}
.tw-attrib{display:flex;align-items:center;gap:11px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.05)}
.tw-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,rgba(20,121,251,0.25),rgba(219,147,255,0.25));display:flex;align-items:center;justify-content:center;color:var(--text);font-family:'Instrument Serif',serif;font-size:0.85rem;flex-shrink:0}
.tw-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.tw-attrib-text{line-height:1.25;min-width:0}
.tw-attrib-text strong{display:block;font-weight:600;font-size:0.84rem;color:var(--text);margin-bottom:1px}
.tw-attrib-text span{font-size:0.74rem;color:var(--text-faint)}
@keyframes twScrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes twScrollRight{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
@media (max-width:768px){.testimonial-wall{padding:64px 0 24px}.tw-card{width:280px;padding:18px}.tw-quote{font-size:0.86rem}}

.video-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:32px;opacity:0;pointer-events:none;transition:opacity 0.3s}
.video-modal.show{opacity:1;pointer-events:auto}
.video-overlay{position:absolute;inset:0;background:rgba(8,6,14,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.video-modal .video-card{position:relative;z-index:1;width:100%;max-width:1200px}
.video-modal .video-card video{width:100%;height:auto;max-height:80vh;border-radius:18px;background:#000;display:block;box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.06)}
.video-close{position:absolute;top:-52px;right:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.2s;backdrop-filter:blur(8px)}
.video-close:hover{background:rgba(255,255,255,0.16);transform:scale(1.05)}
.video-attrib{position:absolute;top:-52px;left:0;display:flex;align-items:center;gap:12px;color:var(--text);font-family:'Manrope',system-ui,sans-serif;font-size:0.95rem;font-weight:500}
.video-attrib strong{font-weight:700}
.video-attrib span{color:var(--text-dim);font-weight:400}
.video-error{background:rgba(20,16,28,0.95);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:36px 32px;text-align:center;color:var(--text);font-family:'Manrope',system-ui,sans-serif;display:flex;flex-direction:column;gap:8px}
.video-error strong{font-size:1.1rem;font-weight:700}
.video-error span{color:var(--text-dim);font-size:0.92rem;line-height:1.5}
.video-error[hidden]{display:none}
@media (max-width:768px){.video-close{top:10px;right:10px}.video-attrib{top:-36px;font-size:0.85rem}}

.offer-stat-row{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}
.offer-stat-num{font-family:'Manrope',system-ui,sans-serif;font-weight:800;font-size:2.6rem;line-height:1;letter-spacing:-0.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.offer-stat-label{color:var(--text-dim);font-size:0.95rem}
.offer-checklist{list-style:none;display:grid;gap:12px;margin:20px 0}
.offer-checklist li{display:flex;gap:10px;color:var(--text-dim);font-size:0.98rem;line-height:1.5}
.offer-checklist li::before{content:'✓';color:var(--accent-blue);font-weight:700;flex-shrink:0}
.offer-checklist li strong{color:var(--text)}

.mock-window{max-width:480px;margin:28px auto 0;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.4)}
.mock-window-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,0.03);border-bottom:1px solid var(--border)}
.mock-dot{width:10px;height:10px;border-radius:50%}
.mock-dot-red{background:#ff5f57}
.mock-dot-yellow{background:#febc2e}
.mock-dot-green{background:#28c840}
.mock-window-badge{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:0.64rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text);background:var(--grad);padding:4px 12px;border-radius:100px}
.mock-window-body{padding:26px 24px}
.mock-checklist{display:flex;flex-direction:column}
.mock-check-item{display:flex;align-items:flex-start;gap:14px;padding:14px 2px;border-bottom:1px solid var(--border);opacity:0.6;transition:opacity 0.45s ease}
.mock-check-item:last-child{border-bottom:none}
.mock-check-item.active{opacity:0.8}
.mock-check-item.done{opacity:1}
.mock-checkbox{width:22px;height:22px;border-radius:7px;border:2px solid var(--border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:background 0.3s ease,border-color 0.3s ease;background:transparent}
.mock-check-item.done .mock-checkbox{background:var(--grad);border-color:transparent}
.mock-checkbox svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(0.4);transition:opacity 0.25s ease 0.1s,transform 0.25s ease 0.1s}
.mock-check-item.done .mock-checkbox svg{opacity:1;transform:scale(1)}
.mock-check-day{font-family:'JetBrains Mono',monospace;font-size:0.64rem;text-transform:uppercase;letter-spacing:0.06em;color:#e7b8ff;margin-bottom:3px}
.mock-check-item.active .mock-check-day,.mock-check-item.done .mock-check-day{color:var(--accent-pink)}
.mock-check-label{font-size:0.94rem;color:var(--text);line-height:1.45}

.pilot-scroll-wrap{position:relative;height:170vh}
.pilot-scroll-sticky{position:sticky;top:130px;display:flex;flex-direction:column;align-items:center}
.mock-progress{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}
.mock-progress-label{font-family:'JetBrains Mono',monospace;font-size:0.72rem;font-weight:700;color:var(--text);letter-spacing:0.04em}
.mock-progress-track{width:160px;height:3px;background:var(--border-strong);border-radius:100px;overflow:hidden}
.mock-progress-fill{height:100%;width:25%;background:var(--grad);border-radius:100px;transition:width 0.2s ease}
.mock-progress-hint{font-family:'JetBrains Mono',monospace;font-size:0.64rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);transition:opacity 0.3s ease}
.mock-progress.done .mock-progress-hint{opacity:0}
@media (prefers-reduced-motion:reduce){.mock-progress{display:none}}
.mock-window-badge-bad{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#ff8a80;background:rgba(255,95,87,0.14);border:1px solid rgba(255,95,87,0.3);padding:4px 12px;border-radius:100px}
.mock-problem-list{display:flex;flex-direction:column}
.mock-problem-row{display:flex;align-items:flex-start;gap:14px;padding:16px 2px;border-bottom:1px solid var(--border)}
.mock-problem-row:last-child{border-bottom:none}
.mock-problem-icon{width:34px;height:34px;border-radius:9px;background:rgba(255,95,87,0.12);border:1px solid rgba(255,95,87,0.28);color:#ff8a80;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.mock-problem-label{font-size:0.94rem;color:var(--text);font-weight:600;margin-bottom:4px}
.mock-problem-symptom{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:#ff8a80;letter-spacing:0.01em}
.mock-window-lg{max-width:640px}
.mock-window-lg .mock-window-body{padding:14px 32px}
.mock-window-lg .mock-problem-row{padding:22px 4px}
.mock-window-lg .mock-problem-icon{width:40px;height:40px;border-radius:11px}
.mock-window-lg .mock-problem-label{font-size:1.05rem}
.mock-window-lg .mock-problem-symptom{font-size:0.78rem}
.mock-problem-row{opacity:0;transform:translateY(16px);transition:opacity 0.5s cubic-bezier(0.2,0.8,0.2,1),transform 0.5s cubic-bezier(0.2,0.8,0.2,1)}
.mock-window.in-view .mock-problem-row{opacity:1;transform:translateY(0)}
.mock-window.in-view .mock-problem-row:nth-child(1){transition-delay:0.15s}
.mock-window.in-view .mock-problem-row:nth-child(2){transition-delay:0.4s}
.mock-window.in-view .mock-problem-row:nth-child(3){transition-delay:0.65s}
.mock-window.in-view .mock-problem-row:nth-child(4){transition-delay:0.9s}
@media (prefers-reduced-motion:reduce){.mock-problem-row{opacity:1 !important;transform:none !important;transition:none !important}}
.mock-apply{margin-top:0;padding-top:0;border-top:0 solid var(--border);text-align:center;opacity:0;max-height:0;overflow:hidden;transition:opacity 0.5s ease,max-height 0.5s ease,margin-top 0.5s ease,padding-top 0.5s ease}
.mock-apply.show{opacity:1;max-height:220px;margin-top:20px;padding-top:20px;border-top-width:1px}
.mock-apply-text{font-size:0.95rem;color:var(--text-dim);margin-bottom:16px}
@media (max-width:768px){.pilot-scroll-wrap{height:150vh}.pilot-scroll-sticky{top:76px}}
@media (prefers-reduced-motion:reduce){.pilot-scroll-wrap{height:auto}.pilot-scroll-sticky{position:relative;top:0}.mock-check-item{opacity:1}.mock-apply{opacity:1;max-height:220px;margin-top:20px;padding-top:20px;border-top-width:1px}}
@media (max-width:480px){.mock-window-body{padding:20px 18px}}

.qualify-window{max-width:520px}
.qualify-question{font-family:'Instrument Serif',serif;font-size:1.5rem;line-height:1.3;color:var(--text);text-align:center;margin-bottom:24px}
.qualify-btns{display:flex;gap:12px;margin-bottom:22px}
.qualify-btn{flex:1;padding:15px;border-radius:100px;text-align:center;font-weight:700;font-size:0.98rem;transition:transform 0.2s,box-shadow 0.2s;display:block}
a.qualify-btn{text-decoration:none !important}
a.qualify-btn-yes{background:var(--grad);color:#fff !important}
.qualify-btn-yes:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(20,121,251,0.4)}
.qualify-btn-no{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);cursor:default}
.qualify-foot{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--border);text-align:left}
.qualify-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.final-cta-card .qualify-quote{font-size:0.86rem;color:var(--text-dim);font-style:italic;line-height:1.4;margin:0 0 3px}
.qualify-quote-attrib{font-size:0.74rem;color:var(--text-faint);font-style:normal}
@media (max-width:600px){.qualify-quote{max-width:100%}.qualify-foot{flex-direction:column;align-items:flex-start}.qualify-trust{text-align:left}}
@media (prefers-reduced-motion:reduce){.pilot-step,.pilot-step-num,.pilot-step::after{opacity:1 !important;transform:none !important;transition:none !important}}

.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;max-width:1080px;margin:0 auto}
.service-tile{position:relative;grid-column:span 2;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:28px 26px;min-height:0;opacity:0;transform:translateY(22px) scale(0.94);transition:opacity 0.6s cubic-bezier(0.2,0.8,0.2,1),transform 0.6s cubic-bezier(0.2,0.8,0.2,1),border-color 0.25s}
.tile-icon{width:40px;height:40px;border-radius:11px;background:var(--grad-soft);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--accent-pink);margin-bottom:16px}
.service-tile:nth-child(4),.service-tile:nth-child(5){grid-column:span 3}
.services-grid.in-view .service-tile{opacity:1;transform:translateY(0) scale(1)}
.services-grid.in-view .service-tile:nth-child(1){transition-delay:0.05s}
.services-grid.in-view .service-tile:nth-child(2){transition-delay:0.14s}
.services-grid.in-view .service-tile:nth-child(3){transition-delay:0.23s}
.services-grid.in-view .service-tile:nth-child(4){transition-delay:0.32s}
.services-grid.in-view .service-tile:nth-child(5){transition-delay:0.41s}
.service-tile:hover{transform:translateY(-5px);border-color:var(--border-strong)}
.service-tile h3 a{color:inherit;text-decoration:none}
.service-tile h3 a:hover{text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){.service-tile{opacity:1 !important;transform:none !important;transition:none !important}}
.service-tile h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.15rem;color:var(--text);margin-bottom:12px}
.service-tile p{font-size:0.92rem;color:var(--text-dim);line-height:1.65}
@media (max-width:768px){.services-grid{grid-template-columns:1fr}.service-tile,.service-tile:nth-child(4),.service-tile:nth-child(5){grid-column:span 1;min-height:0}}

.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1080px;margin:0 auto}
.case-tile{position:relative;overflow:hidden;background:var(--bg-elev);border:1px solid var(--border);border-radius:18px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-decoration:none;transition:transform 0.25s,border-color 0.25s;min-height:140px}
.case-tile::before{content:'';position:absolute;top:-50%;left:-15%;width:130%;height:160%;opacity:0.2;pointer-events:none;transition:opacity 0.3s;background:var(--tile-grad,linear-gradient(135deg,#1479fb,#db93ff))}
.case-tile:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.case-tile:hover::before{opacity:0.32}
.case-tile:nth-child(3n+1){--tile-grad:linear-gradient(135deg,#1479fb,#6d4dca)}
.case-tile:nth-child(3n+2){--tile-grad:linear-gradient(135deg,#6d4dca,#db93ff)}
.case-tile:nth-child(3n+3){--tile-grad:linear-gradient(135deg,#1479fb,#db93ff)}
.case-tile img{position:relative;z-index:1;max-width:130px;max-height:32px;width:auto;height:auto;object-fit:contain;opacity:0.92;transition:opacity 0.25s}
.case-tile:hover img{opacity:1}
.case-tile-stat{position:relative;z-index:1;font-family:'Manrope',sans-serif;font-size:0.82rem;color:var(--text-dim);text-align:center;line-height:1.5}
.case-tile-stat strong{display:block;font-size:1.15rem;font-weight:800;letter-spacing:-0.015em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:2px}
@media (max-width:900px){.case-grid{grid-template-columns:repeat(3,1fr)}}

.lm-compare{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:20px;padding:32px 36px}
.lm-compare-head{display:flex;flex-direction:column;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.lm-compare-eyebrow{font-family:'JetBrains Mono',monospace;font-size:0.66rem;color:var(--accent-pink);letter-spacing:0.08em;text-transform:uppercase}
.lm-compare-title{font-family:'Instrument Serif',serif;font-size:1.4rem;font-weight:400;line-height:1.2;color:var(--text)}
.lm-metrics{display:flex;flex-direction:column;gap:22px}
.lm-metric{display:flex;flex-direction:column;gap:8px}
.lm-metric-label{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em}
.lm-bar-row{display:grid;grid-template-columns:60px 1fr 64px;align-items:center;gap:12px}
.lm-bar-tag{font-family:'JetBrains Mono',monospace;font-size:0.66rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em}
.lm-bar-track{height:8px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.06);border-radius:100px;overflow:hidden}
.lm-bar{height:100%;border-radius:100px;width:0;transition:width 1.3s cubic-bezier(0.2,0.8,0.2,1)}
.lm-bar-without{background:rgba(255,255,255,0.24)}
.lm-bar-with{background:linear-gradient(90deg,#1479fb,#db93ff);box-shadow:0 0 14px rgba(20,121,251,0.45),0 0 24px rgba(219,147,255,0.25)}
.reveal.in-view .lm-bar-without{width:var(--w);transition-delay:0.2s}
.reveal.in-view .lm-bar-with{width:var(--w);transition-delay:0.7s}
.lm-bar-value{font-family:'Manrope',sans-serif;font-weight:700;font-size:0.98rem;text-align:right}
.lm-bar-value-dim{color:var(--text-faint)}
.lm-bar-value-grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:800;font-size:1.08rem}
.lm-result{margin-top:4px;padding:18px 22px;background:linear-gradient(135deg,rgba(20,121,251,0.14),rgba(219,147,255,0.08));border:1px solid rgba(219,147,255,0.3);border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.lm-result-label{font-size:0.86rem;color:var(--text-dim)}
.lm-result-num{font-family:'Manrope',sans-serif;font-size:2.1rem;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.02em;font-weight:800}
@media (max-width:600px){.lm-bar-row{grid-template-columns:50px 1fr 52px;gap:8px}.lm-compare{padding:24px 20px}}
@media (max-width:768px){.case-grid{grid-template-columns:repeat(2,1fr)}}

.compare-table-wrap{max-width:820px;margin:0 auto;overflow-x:auto;border:1px solid var(--border);border-radius:16px}
.compare-table-wrap table{width:100%;border-collapse:collapse;font-size:0.92rem;min-width:520px}
.compare-table-wrap th,.compare-table-wrap td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--border);vertical-align:top}
.compare-table-wrap tr:last-child td{border-bottom:none}
.compare-table-wrap th{font-family:'JetBrains Mono',monospace;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-dim);font-weight:600;background:var(--bg-card)}
.compare-table-wrap td:first-child,.compare-table-wrap th:first-child{color:var(--text-dim);font-weight:500;white-space:nowrap}
.compare-table-wrap th.compare-row-label{font-family:'Manrope',sans-serif;font-size:0.92rem;text-transform:none;letter-spacing:normal;background:none}
.compare-table-wrap td.compare-col-us,.compare-table-wrap th.compare-col-us{background:linear-gradient(180deg,rgba(20,121,251,0.14),rgba(219,147,255,0.08))}
.compare-table-wrap th.compare-col-us{color:var(--text)}
.compare-table-wrap td.compare-col-us{color:var(--text);font-weight:500}
.compare-table-wrap td.compare-col-them{color:var(--text-faint)}

/* Clutch rating badge - lifted verbatim from index.css so pyramid pages can
   use the same badge as the homepage. Added 22 Sept 2026 for /industry. */
.clutch-badge{display:inline-flex;align-items:center;gap:9px;padding:7px 16px 7px 14px;border:1px solid var(--border);border-radius:100px;background:rgba(255,255,255,0.03);backdrop-filter:blur(8px);line-height:1;text-decoration:none;width:fit-content}

.clutch-stars{display:inline-flex;align-items:center;gap:2px}
.clutch-stars svg{width:14px;height:14px;fill:#E8452C;flex-shrink:0}
.clutch-label{font-size:0.86rem;font-weight:500;color:var(--text-dim);white-space:nowrap}
.clutch-logo{display:inline-flex;align-items:center;gap:5px}
.clutch-mark{width:18px;height:18px;flex-shrink:0}
.clutch-word{font-size:0.92rem;font-weight:700;color:var(--text);letter-spacing:-0.01em}

/* Centred hub hero (/industry) - single column, sized to the same height as
   the homepage hero so the background does not look split, with the logo
   marquee pushed to the bottom edge. Added 22 Sept 2026. */
.hub-hero{padding:88px 0 56px;min-height:856px;display:flex;flex-direction:column;overflow:hidden}
.hub-hero > .container{flex:1;display:flex;flex-direction:column;width:100%;min-width:0}
.hub-hero-content{max-width:820px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
/* Hero carries no dashboard, so the type scales up to fill it - same clamp
   the homepage uses, so both pages size identically at every width. */
.hub-hero-content .hero-headline{font-size:clamp(3rem,12.5vw,6.4rem);line-height:0.98;letter-spacing:-0.03em;margin:0}
.hub-hero-content .hero-lead{font-size:clamp(1.12rem,1.6vw,1.34rem);line-height:1.5;max-width:660px;margin:0}
/* Forced break so line 2 reads "for businesses like yours." On phones the
   sentence wraps naturally over more lines, so the break is switched off. */
.lead-break{display:none}
@media (min-width:700px){.lead-break{display:inline}}
.hub-hero-content .hero-ctas{justify-content:center;margin:0}
.hub-hero .hero-marquee-wrap{margin-top:0}
@media (max-width:768px){
  .hub-hero{padding:130px 0 40px;min-height:0}
  .hub-hero-content{gap:18px}
  .hub-hero .hero-marquee-wrap{margin-top:48px}
}


/* Film-grain overlay, copied verbatim from index.css. Without it, large soft
   gradients band visibly and section transitions look like hard steps. The
   homepage had it; no other stylesheet did. Added 22 Sept 2026. */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* The section directly after the hero gets the same treatment the homepage
   gives .interviews-section: a hairline top border and a large soft radial
   glow. Without the glow the page falls off a cliff into flat dark the moment
   the hero ends, which is what read as an unsmooth transition. 22 Sept 2026. */
.hub-section{overflow:hidden}

.hub-section > .container{position:relative;z-index:1}

/* Pilot CTA card, copied from index.css so the hub's closing CTA matches the
   homepage instead of being a plain box. pilot-nudge (the exit popup) is
   deliberately left out. Added 22 Sept 2026. */
@media (max-width:768px){
  h2.display,.section-head h2,.section-head h2.display,section h2.display,.booked-at-headline h3,.pilot-content h2{font-size:clamp(1.95rem,6.8vw,2.5rem) !important;line-height:1.12 !important;letter-spacing:-0.02em !important}
  .pilot-section{padding:56px 0 !important}
  .pilot-card{padding:40px 22px !important;border-radius:24px !important}
  .pilot-card .pilot-features{display:none !important}
  .pilot-content p{margin-bottom:28px !important}
}
@media (max-width:480px){
  .pilot-card{padding:36px 18px !important}
}
.pilot-section{padding:140px 0;position:relative;overflow:hidden}
.pilot-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1200px;height:800px;background:radial-gradient(circle at 30% 50%,rgba(20,121,251,0.15),transparent 50%),radial-gradient(circle at 70% 50%,rgba(219,147,255,0.15),transparent 50%);pointer-events:none;z-index:0}
.pilot-section > .container{position:relative;z-index:2}
.pilot-card{position:relative;background:linear-gradient(180deg,rgba(20,121,251,0.08),rgba(219,147,255,0.04));border-radius:32px;padding:80px 48px;text-align:center;overflow:hidden;backdrop-filter:blur(8px)}
.pilot-card::before{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:34px;background:conic-gradient(from 0deg,transparent 0%,rgba(20,121,251,0.5) 25%,rgba(219,147,255,0.6) 50%,rgba(20,121,251,0.5) 75%,transparent 100%);z-index:-2;animation:pilotRotate 10s linear infinite}
.pilot-card::after{content:'';position:absolute;inset:0;border-radius:32px;background:linear-gradient(180deg,#1a1722,#1e1a28);z-index:-1}
.pilot-card-bg{position:absolute;inset:0;pointer-events:none;opacity:0.4;overflow:hidden}
.pilot-card-bg::before,.pilot-card-bg::after{content:'';position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(80px);animation:pilotDrift 12s ease-in-out infinite}
.pilot-card-bg::before{background:radial-gradient(circle,rgba(20,121,251,0.4),transparent);top:-100px;left:-100px}
.pilot-card-bg::after{background:radial-gradient(circle,rgba(219,147,255,0.4),transparent);bottom:-100px;right:-100px;animation-delay:-6s}
.pilot-content{position:relative;z-index:3}
.pilot-content .mono{color:var(--accent-pink);margin-bottom:14px;display:block}
.pilot-content h2{font-family:'Instrument Serif',serif;font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1;letter-spacing:-0.02em;font-weight:400;margin-bottom:24px;color:white}
.pilot-content h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-size:200% 200%;animation:shimmer 5s ease infinite}
.pilot-content > p{color:var(--text-dim);font-size:1.15rem;max-width:60ch;margin:0 auto 48px;line-height:1.65}
.pilot-features{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;max-width:720px;margin:0 auto 56px;text-align:left}
.pilot-features li{display:flex;align-items:center;gap:14px;color:var(--text);font-size:1rem;font-weight:500;opacity:0;transform:translateX(-20px);transition:opacity 0.6s cubic-bezier(0.2,0.8,0.2,1),transform 0.6s cubic-bezier(0.2,0.8,0.2,1)}
.pilot-features li::before{content:'✓';flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--grad);color:white;font-size:0.85rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px rgba(20,121,251,0.5),0 0 32px rgba(219,147,255,0.3);transform:scale(0) rotate(-90deg);transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1)}
.pilot-card.animate-in .pilot-features li{opacity:1;transform:translateX(0)}
.pilot-card.animate-in .pilot-features li::before{transform:scale(1) rotate(0)}
.pilot-card.animate-in .pilot-features li:nth-child(1){transition-delay:0.05s}
.pilot-card.animate-in .pilot-features li:nth-child(2){transition-delay:0.15s}
.pilot-card.animate-in .pilot-features li:nth-child(3){transition-delay:0.25s}
.pilot-card.animate-in .pilot-features li:nth-child(4){transition-delay:0.35s}
.pilot-card.animate-in .pilot-features li:nth-child(5){transition-delay:0.45s}
.pilot-card.animate-in .pilot-features li:nth-child(6){transition-delay:0.55s}
.pilot-card.animate-in .pilot-features li:nth-child(1)::before{transition-delay:0.20s}
.pilot-card.animate-in .pilot-features li:nth-child(2)::before{transition-delay:0.30s}
.pilot-card.animate-in .pilot-features li:nth-child(3)::before{transition-delay:0.40s}
.pilot-card.animate-in .pilot-features li:nth-child(4)::before{transition-delay:0.50s}
.pilot-card.animate-in .pilot-features li:nth-child(5)::before{transition-delay:0.60s}
.pilot-card.animate-in .pilot-features li:nth-child(6)::before{transition-delay:0.70s}
.btn-pilot-mega{display:inline-flex;align-items:center;gap:12px;padding:22px 44px;border-radius:100px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.12rem;text-decoration:none;background:var(--grad);color:white;position:relative;overflow:hidden;background-size:200% 200%;animation:shiftGrad 4s ease-in-out infinite;box-shadow:0 8px 40px rgba(20,121,251,0.55),0 0 80px rgba(219,147,255,0.3);transition:transform 0.25s ease,box-shadow 0.25s ease;border:none;cursor:pointer}
.btn-pilot-mega:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 56px rgba(20,121,251,0.65),0 0 100px rgba(219,147,255,0.45)}
.btn-pilot-mega::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:pilotShine 3.5s linear infinite}
.btn-pilot-mega .arrow{transition:transform 0.25s}
.btn-pilot-mega:hover .arrow{transform:translateX(6px)}
@keyframes pilotDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
/* The feature list starts hidden and is revealed by the .animate-in class the
   homepage script adds. Pyramid pages get the same behaviour from their own
   reveal observer, but if any page lacks it the list must still be readable,
   so this is the no-JS fallback. */
@media (prefers-reduced-motion:reduce){.pilot-features li{opacity:1 !important;transform:none !important}}

/* Spacing pass on the industries hub, 22 Sept 2026.
   - the industries block sat 20px under the hero, far too tight
   - the pilot card was 80px-padded inside a 140px section: too big, and it
     left a 240px void between the interviews and the CTA */
.hub-section{padding:88px 0 96px}
.pilot-section{padding:72px 0 110px}
.pilot-card{padding:52px 44px}
.pilot-content > p{margin:0 auto 34px}
.pilot-features{margin:0 auto 38px}
.pilot-content h2{font-size:clamp(2.1rem,4vw,3.3rem)}
@media (max-width:768px){
  .hub-section{padding:56px 0 64px}
  .pilot-section{padding:48px 0 72px}
  .pilot-card{padding:36px 22px}
}

/* Industry icons on the hub cards, built to match the homepage's .node-icon:
   rounded tile, soft gradient fill, thin border. Replaces the "// industry"
   text label. 22 Sept 2026. */
.hub-card-icon{width:44px;height:44px;border-radius:12px;background:var(--grad-soft);border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--accent-blue);margin-bottom:18px;transition:transform .25s ease,border-color .25s ease,color .25s ease}
.hub-card:hover .hub-card-icon{transform:translateY(-2px) scale(1.04);border-color:var(--border-glow);color:var(--accent-pink)}
.hub-card-icon svg{width:21px;height:21px}
/* the cards sat in a large void before the interviews block */
.hub-section{padding:88px 0 64px}
.hub-section + .interviews-section{padding-top:48px}

/* Close the void between the interviews and the closing CTA on the hub, and
   soften the now-prefix-less category chips on the interview cards. */
.hub-section + .interviews-section{padding-bottom:40px}
.hub-hero ~ .pilot-section{padding-top:32px}
.hub-section ~ .interviews-section .interview-meta .mono{letter-spacing:0.08em}

/* Keyframes the copied components depend on. Without these, every element
   with background-size:200% sits frozen on the first quarter of its
   gradient - which is why accent headings and the pilot button rendered
   blue instead of blue-to-pink. 22 Sept 2026. */
@keyframes shiftGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pilotShine{to{left:200%}}
@keyframes pilotRotate{to{transform:rotate(1turn)}}

/* "See the results" reads as a gradient link, matching the site's accent
   treatment rather than flat blue. 22 Sept 2026. */
.hub-card .hub-card-arrow{background:var(--grad);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shiftGrad 6s ease infinite;font-weight:600}

/* .hh-accent carried background-size:200% but no animation, so it sat frozen
   at position 0% - showing only the blue quarter of a blue-to-pink gradient.
   The homepage animates the same element with shimmer. Matching it here fixes
   every accent heading on every pyramid page. 22 Sept 2026. */
.hh-accent,.hh-accent em,.display em,h1 em,h2 em,h3 em{animation:shimmer 6s ease infinite}

/* The background either side of this boundary already measures a 1.47 step,
   which is invisible. An earlier attempt set overflow:visible here to let the
   glow bleed; that changed nothing visually and let the 1200px glow force
   horizontal scroll at 390, 768 and 1024px. Keep it clipped. 22 Sept 2026. */
.hub-section ~ .pilot-section{overflow:hidden}

/* The CTA's glow is 800px tall inside a ~700px section, so overflow:hidden
   sliced it mid-gradient and left an 11.7-point bright step right on the
   boundary - the "separation line". Sizing it to the section means its edges
   land where the gradient is already transparent, so there is nothing to cut.
   22 Sept 2026. */


/* Where an accent phrase follows text on the SAME line, the -0.08em left
   margin cancels its left padding and eats the word space entirely - measured
   a 0px gap between "helped" and "100+ B2B companies". The homepage never hits
   this because its accents start a new line. 22 Sept 2026. */
.hub-section h2 em,.pilot-content h2 em{margin-left:0.06em !important}



/* Same measured fade the money pages use - the earlier ellipse-at-top
   version only got this seam to 24 against their 3.7. 22 Sept 2026. */
.hub-hero + 

/* Make the money pages behave exactly like the hub at the hero boundary. The
   heroes were already identical - same overflow, same marquee border, same
   56px tail. The difference was below the seam: the hub gives its next section
   88px of breathing room, the money pages gave 24px, so content crashed in
   right on the boundary and read as a hard band. 22 Sept 2026. */
.money-hero + .money-section,.money-hero + .interviews-section{padding-top:88px}


/* THE SEAM. The hero clips its OWN decoration (.hero-orbs, .hero-grid-bg) at
   the section edge, while .ambient is position:fixed and runs straight through.
   So one layer stopped dead and the other did not, and that mismatch is the
   line. Earlier attempts made it worse by flattening the hero's bottom, which
   also hid the ambient inside the hero but not below it.

   Fix: fade the hero's own layers out BEFORE the edge, so nothing is cut
   mid-gradient, and leave the ambient alone to carry across. 22 Sept 2026. */
.pyr-hero .hero-orbs,.pyr-hero .hero-grid-bg{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 92%)}

/* The closing CTA heading was running at line-height 1.6 - body-copy spacing
   on 45px display type, so its two lines drifted 63px apart. The hub's
   equivalent uses 1.0. 22 Sept 2026. */
.final-cta-card h2{line-height:1.08;letter-spacing:-0.02em}


/* Hero entrance, matched to the homepage. Before this, the money pages and the
   hub had no entrance at all (text popped in with the font swap) and About ran
   delays up to 0.7s with 0.9s durations, which reads as loading line by line.
   The homepage fires each hero child in 0.42s with a 0.05s stagger, and the
   H1 moves as ONE block rather than per line. 22 Sept 2026. */
@keyframes heroIn{to{opacity:1;transform:translateY(0)}}
.pyr-hero .hero-left > *,
.pyr-hero .hero-content > *,
.pyr-hero .hero-right > .metrics-dashboard,
.pyr-hero .hero-marquee-wrap{opacity:0;transform:translateY(12px);animation:heroIn 0.4s cubic-bezier(0.16,1,0.3,1) 0s forwards}
.pyr-hero .hero-left > *:nth-child(1),.pyr-hero .hero-content > *:nth-child(1){animation-delay:0s}
.pyr-hero .hero-left > *:nth-child(2),.pyr-hero .hero-content > *:nth-child(2){animation-delay:0s}
.pyr-hero .hero-left > *:nth-child(3),.pyr-hero .hero-content > *:nth-child(3){animation-delay:0s}
.pyr-hero .hero-left > *:nth-child(4),.pyr-hero .hero-content > *:nth-child(4){animation-delay:0s}
.pyr-hero .hero-right > .metrics-dashboard{animation-delay:0s}
.pyr-hero .hero-marquee-wrap{animation-delay:0s}
/* the H1 rises as one block, never per line */
.pyr-hero .hero-headline .hh-line{animation:none;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .pyr-hero .hero-left > *,.pyr-hero .hero-content > *,
  .pyr-hero .hero-right > .metrics-dashboard,
  .pyr-hero .hero-marquee-wrap{opacity:1 !important;transform:none !important;animation:none !important}
}

/* One compact line of sibling links at the foot of each money page. Gives the
   industry pages real inbound links from each other instead of relying on the
   sitewide nav, which every page has and so carries no weight of its own.
   Deliberately a text line, not buttons. 22 Sept 2026. */
.related-industries{padding:0 0 64px}
.related-industries-line{text-align:center;color:var(--text-faint);font-size:0.94rem;line-height:1.7;max-width:820px;margin:0 auto}
.related-industries-line a{color:var(--text-dim);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.14);transition:color .2s,border-color .2s}
.related-industries-line a:hover{color:var(--text);border-color:var(--accent-blue)}
@media (max-width:768px){.related-industries{padding:0 0 44px}}

/* The hero's right-hand column also carried the sitewide scroll-reveal
   transition (0.85s), so it landed about half a second after the headline -
   the last piece of the load-in that still looked stepped. Inside the hero
   everything now arrives together. Below the fold the reveal is untouched.
   23 Sept 2026. */
.pyr-hero .reveal,.post-hero .reveal{opacity:1;transform:none;transition:none}
