/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:radial-gradient(ellipse at 50% 0%,#11203A 0%,#0C1626 70%);overflow:hidden;color:var(--white);padding:120px 0 60px}
.hero-mesh{position:absolute;inset:0;background:
    radial-gradient(circle at 20% 30%,rgba(245,197,24,0.12),transparent 40%),
    radial-gradient(circle at 80% 70%,rgba(89,116,255,0.10),transparent 45%),
    radial-gradient(circle at 60% 20%,rgba(245,80,120,0.05),transparent 40%);
  pointer-events:none}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0.85}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,22,38,0.7) 100%);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:0 24px;text-align:center}
.hero h1{margin:24px 0 22px}
.hero h1 .gradient{background:linear-gradient(135deg,#F5C518 0%,#FCE38A 45%,#F5C518 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--grey-soft);max-width:680px;margin:0 auto 38px;line-height:1.7}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-stats{display:flex;gap:48px;justify-content:center;margin-top:72px;flex-wrap:wrap}
.hero-stat{text-align:center}
.hero-stat-num{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--gold);line-height:1}
.hero-stat-lbl{font-size:0.85rem;color:var(--grey-soft);margin-top:6px;letter-spacing:0.05em;text-transform:uppercase}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:var(--grey-soft);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;animation:bounce 2.4s infinite;z-index:2}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* Sub-hero (interior pages) */
.subhero{padding:160px 0 80px;background:radial-gradient(ellipse at 30% 20%,#11203A 0%,#0C1626 70%);color:var(--white);position:relative;overflow:hidden}
.subhero::before{content:'';position:absolute;top:0;left:50%;width:600px;height:600px;background:radial-gradient(circle,var(--gold-glow),transparent 70%);transform:translateX(-50%) translateY(-40%);pointer-events:none}
.subhero-inner{max-width:var(--container);margin:0 auto;padding:0 24px;text-align:center;position:relative;z-index:2}
.subhero h1{font-size:clamp(2rem,5vw,4.2rem);margin:18px 0 20px}
.subhero p{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--grey-soft);max-width:680px;margin:0 auto;line-height:1.7}
.subhero-meta{display:flex;justify-content:center;gap:18px;margin-top:30px;flex-wrap:wrap}
.subhero-meta span{padding:8px 18px;background:rgba(255,255,255,0.05);border:1px solid var(--border-dark);border-radius:var(--r-pill);font-size:0.88rem;color:var(--grey-soft)}
.subhero-meta strong{color:var(--gold);font-weight:600}

/* Marquee */
.marquee{overflow:hidden;background:var(--navy);padding:18px 0;border-top:1px solid rgba(245,197,24,0.12);border-bottom:1px solid rgba(245,197,24,0.12)}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:scroll 40s linear infinite;width:max-content}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{font-family:var(--font-display);color:rgba(255,255,255,0.6);font-size:1.1rem;font-weight:500;display:flex;align-items:center;gap:30px}
.marquee-item::after{content:'✦';color:var(--gold);font-size:0.9rem}

/* Logo strip */
.logos{padding:60px 0;background:var(--white);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.logos-label{text-align:center;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey);margin-bottom:30px}
.logos-row{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:40px;opacity:0.75}
.logo-item{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--grey-dark);letter-spacing:-0.01em;filter:grayscale(1);transition:filter 0.3s}
.logo-item:hover{filter:grayscale(0)}

/* Big question */
.big-question{font-size:clamp(2rem,4.5vw,3.6rem);font-weight:700;font-family:var(--font-display);text-align:center;letter-spacing:-0.02em;line-height:1.15}
.big-question-sub{text-align:center;color:var(--grey);margin-top:24px;font-size:1.15rem;font-style:italic}

/* Approach */
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media (max-width:880px){.approach-grid{grid-template-columns:1fr;gap:40px}}
.approach-quote{font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:600;line-height:1.25;color:var(--navy)}
.approach-quote em{color:var(--gold-deep);font-style:italic;font-weight:500}
.approach-card{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--r);padding:36px;position:relative;overflow:hidden;box-shadow:var(--sh-soft)}
.approach-card::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;background:var(--gold)}
.approach-card h3{margin-bottom:14px}
.approach-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:24px}
.approach-list li{display:flex;align-items:center;gap:14px;color:var(--grey-dark)}
.approach-list li::before{content:'';flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(245,197,24,0.15)}

/* Discovery */
.qgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:680px){.qgrid{grid-template-columns:1fr}}
.qcard{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--r);padding:28px;display:flex;align-items:center;gap:18px;transition:all 0.35s var(--ease-ui);cursor:default;position:relative;overflow:hidden}
.qcard::before{content:'';position:absolute;left:0;top:0;height:100%;width:4px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 0.4s var(--ease-ui)}
.qcard:hover{transform:translateY(-6px);box-shadow:var(--sh-soft);border-color:var(--gold)}
.qcard:hover::before{transform:scaleY(1)}
.qnum{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--gold);flex-shrink:0;width:50px;height:50px;display:grid;place-items:center;background:rgba(245,197,24,0.1);border-radius:50%}
.qtext{font-size:1.05rem;font-weight:500;color:var(--navy)}

/* Systems */
.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}
@media (max-width:980px){.systems-grid{grid-template-columns:1fr}}
.retainers-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
@media (max-width:680px){.retainers-row{grid-template-columns:1fr}}
.retainer{background:var(--light);border-left:4px solid var(--gold);padding:24px 28px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:space-between;gap:20px;transition:transform 0.3s var(--ease-ui)}
.retainer:hover{transform:translateY(-4px)}
.retainer h4{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--navy)}
.retainer p{font-size:0.88rem;color:var(--grey);margin-top:4px}
.retainer-price{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--gold);white-space:nowrap}

/* Animated proof */
.proof-wrap{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);border-radius:24px;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.proof-wrap::before{content:'';position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,var(--gold-glow),transparent 50%);transform:rotate(15deg);pointer-events:none}
@media (max-width:880px){.proof-wrap{grid-template-columns:1fr;padding:40px}}
.proof-text{color:var(--white);position:relative;z-index:2}
.proof-text h3{font-size:2rem;margin:18px 0;color:var(--white)}
.proof-text p{color:var(--grey-soft);font-size:1.05rem;line-height:1.7}
.proof-viz{position:relative;z-index:2;background:rgba(255,255,255,0.04);border:1px solid var(--border-dark);border-radius:var(--r);padding:24px;font-family:var(--font-mono);font-size:0.85rem}
.proof-step{display:flex;align-items:center;gap:14px;padding:12px 0;color:rgba(255,255,255,0.75);opacity:0;transform:translateX(-12px);animation:proofIn 0.6s var(--ease-soft) forwards}
.proof-step:nth-child(1){animation-delay:0.2s}
.proof-step:nth-child(2){animation-delay:1.2s}
.proof-step:nth-child(3){animation-delay:2.2s}
.proof-step:nth-child(4){animation-delay:3.2s}
@keyframes proofIn{to{opacity:1;transform:translateX(0)}}
.proof-icon{width:34px;height:34px;background:rgba(245,197,24,0.15);border-radius:8px;display:grid;place-items:center;color:var(--gold);flex-shrink:0;font-size:1rem}
.proof-arrow{color:var(--gold);margin:0 8px}

/* Outcomes */
.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:880px){.outcomes-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.outcomes-grid{grid-template-columns:1fr}}
.outcome{background:var(--white);border-radius:var(--r);padding:32px;text-align:left;transition:all 0.4s var(--ease-ui);border:1px solid transparent}
.outcome:hover{transform:translateY(-6px);box-shadow:var(--sh-soft);border-color:var(--border-dark)}
.outcome-icon{width:54px;height:54px;background:linear-gradient(135deg,#FCE88A,#F5C518);border-radius:14px;display:grid;place-items:center;margin-bottom:18px;color:var(--navy);font-weight:700;font-size:1.4rem;font-family:var(--font-display);box-shadow:0 8px 24px rgba(245,197,24,0.3)}
.outcome h3{font-size:1.15rem;margin-bottom:8px;color:var(--navy)}
.outcome p{font-size:0.94rem;color:var(--grey)}

/* Clients */
.clients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:880px){.clients-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.clients-grid{grid-template-columns:1fr}}
.client-tile{background:rgba(255,255,255,0.04);border:1px solid rgba(245,197,24,0.12);border-radius:var(--r-sm);padding:22px 20px;transition:all 0.4s var(--ease-ui);display:flex;align-items:center;gap:14px}
.client-tile:hover{background:rgba(245,197,24,0.08);transform:translateY(-4px);border-color:var(--gold)}
.client-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex-shrink:0;box-shadow:0 0 12px var(--gold-glow)}
.client-tile span{font-size:0.95rem;color:rgba(255,255,255,0.92);font-weight:500;line-height:1.35}

/* Process timeline */
.process-wrap{position:relative;padding:60px 0 20px}
.process-line{position:absolute;left:50%;top:80px;bottom:80px;width:2px;background:linear-gradient(180deg,transparent,var(--gold),transparent);transform:translateX(-50%)}
.proc-step{position:relative;display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:30px;margin-bottom:50px}
.proc-step .proc-content:first-child{text-align:right}
.proc-step .proc-content:last-child{text-align:left}

@media (max-width:880px){
  .process-line{left:30px;transform:none}
  .proc-step{grid-template-columns:60px 1fr;gap:18px}
  .proc-circle{grid-column:1;margin:0}
  .proc-content{grid-column:2;text-align:left!important}
  .proc-spacer{display:none}
}
.proc-circle{width:68px;height:68px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.2rem;border:3px solid var(--gold);position:relative;z-index:2;margin:0 auto;box-shadow:0 8px 30px rgba(245,197,24,0.25)}
.proc-content h3{font-family:var(--font-display);color:var(--navy);margin-bottom:6px}
.proc-content p{color:var(--grey);font-size:0.95rem}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:880px){.testi-grid{grid-template-columns:1fr}}
.testi{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--r);padding:32px;transition:all 0.4s var(--ease-ui)}
.testi:hover{transform:translateY(-6px);box-shadow:var(--sh-soft);border-color:var(--gold)}
.testi-stars{color:var(--gold);font-size:1.1rem;letter-spacing:2px;margin-bottom:14px}
.testi-quote{font-size:1.02rem;line-height:1.6;color:var(--navy);margin-bottom:24px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--border-soft)}
.testi-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#FFD744);color:var(--navy);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;flex-shrink:0}
.testi-name{font-weight:600;color:var(--navy);font-size:0.95rem}
.testi-role{font-size:0.82rem;color:var(--grey)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;margin:0 auto}
@media (max-width:880px){.team-grid{grid-template-columns:1fr}}
.team-card{background:rgba(255,255,255,0.04);border:1px solid rgba(245,197,24,0.16);border-radius:var(--r);padding:36px 30px;transition:all 0.4s var(--ease-ui);position:relative;overflow:hidden}
.team-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(245,197,24,0.12),transparent 50%);opacity:0;transition:opacity 0.4s var(--ease-ui)}
.team-card:hover{transform:translateY(-8px);border-color:var(--gold)}
.team-card:hover::before{opacity:1}
.team-card>*{position:relative;z-index:2}
.team-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#FFD744);display:grid;place-items:center;font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--navy);margin-bottom:20px}
.team-name{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--white);margin-bottom:4px}
.team-role{font-size:0.92rem;color:var(--gold);font-style:italic;margin-bottom:18px}
.team-desc{font-size:0.94rem;line-height:1.65;color:rgba(255,255,255,0.78)}

/* CTA section */
.cta-section{background:radial-gradient(circle at 50% 50%,#192A4A 0%,#0C1626 70%);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(245,197,24,0.08),transparent 50%);transform:rotate(20deg);pointer-events:none}
.cta-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
@media (max-width:880px){.cta-wrap{grid-template-columns:1fr;gap:40px}}
.cta-left h2{color:var(--white);margin:18px 0 22px}
.cta-left p{color:var(--grey-soft);font-size:1.1rem;line-height:1.7;margin-bottom:28px}
.cta-bullets{list-style:none;display:flex;flex-direction:column;gap:12px}
.cta-bullets li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,0.9);font-size:0.96rem}
.cta-bullets li::before{content:'→';color:var(--gold);font-weight:700;font-size:1.1rem}
.form-card{background:rgba(255,255,255,0.04);border:1px solid rgba(245,197,24,0.2);border-radius:var(--r);padding:42px;backdrop-filter:blur(20px)}
.form-card h3{color:var(--white);font-family:var(--font-display);margin-bottom:8px;font-size:1.5rem}
.form-card-sub{color:var(--grey-soft);font-size:0.94rem;margin-bottom:28px}
.form-submit{width:100%;padding:16px;background:var(--gold);color:var(--navy);font-weight:700;font-size:1rem;border-radius:var(--r-pill);transition:all 0.3s var(--ease-ui);margin-top:8px;box-shadow:var(--sh-gold);border:none;cursor:pointer;font-family:inherit}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(245,197,24,0.45)}
.form-success{display:none;text-align:center;padding:30px 0}
.form-success.show{display:block}
.form-success h4{color:var(--gold);font-family:var(--font-display);margin-bottom:10px;font-size:1.4rem}
.form-success p{color:rgba(255,255,255,0.85);font-size:0.95rem}

/* 404 */
.fourohfour{min-height:80vh;display:grid;place-items:center;text-align:center;padding:120px 24px}
.fourohfour-num{font-family:var(--font-display);font-size:clamp(8rem,20vw,16rem);font-weight:800;background:linear-gradient(135deg,var(--gold),#FFD744);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;letter-spacing:-0.04em}
.fourohfour h1{font-size:clamp(1.6rem,3vw,2.6rem);color:var(--white);margin:12px 0 20px}
.fourohfour p{color:var(--grey-soft);max-width:500px;margin:0 auto 30px}

/* Page intro for sectors / systems */
.section-intro{max-width:780px;margin:0 auto 70px;text-align:center}
.section-intro h2{margin:18px 0}
.section-intro p{color:var(--grey)}

/* Pain points box (sector pages) */
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:880px){.pain-grid{grid-template-columns:1fr}}
.pain{background:var(--white);border:1px solid var(--border-soft);border-left:4px solid #DC2626;border-radius:var(--r);padding:30px}
.pain-tag{display:inline-block;font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#DC2626;margin-bottom:10px}
.pain h3{font-size:1.15rem;color:var(--navy);margin-bottom:8px}
.pain p{font-size:0.94rem;color:var(--grey);line-height:1.6}

/* Inline content tables */
.scope-table{width:100%;border-collapse:collapse;margin:24px 0;background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-soft)}
.scope-table th{background:var(--navy);color:var(--white);font-family:var(--font-display);font-size:0.85rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:16px 20px;text-align:left}
.scope-table td{padding:16px 20px;border-bottom:1px solid var(--border-soft);color:var(--grey-dark);font-size:0.95rem}
.scope-table tr:last-child td{border-bottom:none}

/* Mini-demo iframe placeholder */
.demo-frame{background:var(--white);border-radius:var(--r);box-shadow:var(--sh-medium);border:1px solid var(--border-soft);overflow:hidden;aspect-ratio:16/10;display:grid;place-items:center;color:var(--grey)}
.demo-frame iframe{width:100%;height:100%;border:0}

/* Step list */
.step-list{counter-reset:step;list-style:none;display:flex;flex-direction:column;gap:20px}
.step-list li{counter-increment:step;display:flex;gap:20px;padding:24px;background:var(--white);border:1px solid var(--border-soft);border-radius:var(--r);transition:all 0.3s var(--ease-ui)}
.step-list li:hover{border-color:var(--gold);transform:translateX(4px)}
.step-list li::before{content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--gold);min-width:54px;height:54px;background:rgba(245,197,24,0.1);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.step-list h3{margin-bottom:6px}
.step-list p{color:var(--grey);font-size:0.95rem}


