/* ============================================================
   PULSE — the growth dashboard
   Scoped to body.d-pulse. 1rem = 10px.
   ============================================================ */
body.d-pulse{
  --pl-bg:#070b18;--pl-bg2:#0c1226;--pl-card:rgba(255,255,255,.04);--pl-line:rgba(148,163,255,.12);--pl-line2:rgba(148,163,255,.22);
  --pl-fg:#e8ecff;--pl-soft:#b3bbdc;--pl-mute:#8089ad;--pl-a:var(--biz);--pl-b:var(--biz-light);--pl-c:#22d3ee;
  --bg-primary:var(--pl-bg);--bg-secondary:var(--pl-bg2);--bg-card:#0f1630;--bg-inset:#131b38;
  --fg-primary:var(--pl-fg);--fg-soft:var(--pl-soft);--fg-muted:var(--pl-mute);--border-color:var(--pl-line);--border-strong:var(--pl-line2);
  background:var(--pl-bg);color:var(--pl-fg);font-family:'Poppins',system-ui,sans-serif;color-scheme:dark
}
body.d-pulse h1,body.d-pulse h2,body.d-pulse h3{font-weight:600;letter-spacing:-.035em;line-height:1.08}
body.d-pulse h1 span,body.d-pulse h2 span{background:linear-gradient(90deg,var(--pl-b),var(--pl-c));-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-kick{font-size:1.2rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pl-c);margin-bottom:1.4rem}

body.d-pulse .bx-nav{background:rgba(7,11,24,.7)}
body.d-pulse .bx-nav.scrolled{border-bottom-color:var(--pl-line);box-shadow:none}
body.d-pulse .bx-brand-mark{border-radius:12px;background:#fff}
body.d-pulse .bx-brand-txt small{color:var(--pl-mute)}
body.d-pulse .bx-nav-links a{color:var(--pl-soft);font-weight:500;font-size:1.28rem}
body.d-pulse .bx-nav-links a:hover,body.d-pulse .bx-nav-links a.active{color:#fff}
body.d-pulse .bx-nav-links a::after{background:linear-gradient(90deg,var(--pl-b),var(--pl-c));height:2px}
body.d-pulse .bx-nav-cta{background:linear-gradient(90deg,var(--pl-a),#06b6d4);border-radius:10px}
body.d-pulse .burger span{background:#fff}
body.d-pulse .mobile-menu{background:var(--pl-bg)}
body.d-pulse .mobile-menu-links a{color:#fff}

/* hero */
.pl-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 6rem) 3rem 8rem;isolation:isolate}
.pl-glow{position:absolute;inset:-20% -10% auto;height:120%;z-index:-1;background:radial-gradient(600px 400px at 75% 30%,rgba(var(--biz-rgb),.35),transparent 60%),radial-gradient(500px 400px at 20% 80%,rgba(34,211,238,.18),transparent 60%);filter:blur(20px)}
.pl-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(148,163,255,.14) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.pl-hero-in{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.pl-logo{display:inline-flex;background:#fff;border-radius:12px;padding:.8rem 1.4rem;margin-bottom:2.6rem}
.pl-logo img{height:40px;width:auto}
.pl-hero h1{font-size:clamp(4rem,5.6vw,6.8rem)}
.pl-lede{font-size:1.7rem;line-height:1.65;color:var(--pl-soft);margin-top:2.2rem;max-width:52ch;font-weight:300}
.pl-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.pl-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 2.6rem;border-radius:12px;font-size:1.45rem;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.pl-btn-main{background:linear-gradient(90deg,var(--pl-a),#06b6d4);color:#fff;box-shadow:0 14px 40px rgba(var(--biz-rgb),.45)}
.pl-btn-main:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(var(--biz-rgb),.6)}
.pl-btn-ghost{border:1px solid var(--pl-line2);color:#fff;background:rgba(255,255,255,.03)}
.pl-btn-ghost:hover{background:rgba(255,255,255,.08)}
.pl-figs{display:flex;flex-wrap:wrap;gap:3.6rem;margin-top:4rem}
.pl-figs b{display:block;font-size:3.6rem;font-weight:600;letter-spacing:-.04em;color:#fff}
.pl-figs span{font-size:1.25rem;color:var(--pl-mute)}

.pl-board{background:linear-gradient(180deg,rgba(20,28,60,.9),rgba(12,18,38,.95));border:1px solid var(--pl-line2);border-radius:22px;padding:2.2rem;box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 80px rgba(var(--biz-rgb),.18);backdrop-filter:blur(10px)}
.pl-board-bar{display:flex;align-items:center;gap:1.2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--pl-line);font-size:1.35rem}
.pl-dots{display:flex;gap:.5rem}
.pl-dots i{width:9px;height:9px;border-radius:50%;background:#334066}
.pl-live{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;font-size:1.15rem;color:#86efac}
.pl-live i{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:pl-blink 1.6s infinite}
@keyframes pl-blink{50%{opacity:.25}}
.pl-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.8rem 0}
.pl-kpi{background:var(--pl-card);border:1px solid var(--pl-line);border-radius:14px;padding:1.4rem;position:relative;overflow:hidden}
.pl-kpi small{font-size:1.15rem;color:var(--pl-mute)}
.pl-kpi b{display:block;font-size:2rem;color:#4ade80;margin-top:.4rem}
.pl-spark{position:absolute;right:1rem;bottom:1rem;width:56px;height:22px;background:linear-gradient(90deg,transparent,rgba(74,222,128,.25));clip-path:polygon(0 90%,20% 70%,40% 78%,60% 40%,80% 50%,100% 0,100% 100%,0 100%)}
.pl-chart{width:100%;height:190px;display:block;overflow:visible}
.pl-gridlines line{stroke:rgba(148,163,255,.08);stroke-width:1}
.pl-line{fill:none;stroke:var(--pl-b);stroke-width:3;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600;animation:pl-draw 2.4s .3s var(--ease) forwards;filter:drop-shadow(0 0 8px rgba(var(--biz-rgb),.7))}
.pl-line2{fill:none;stroke:rgba(34,211,238,.6);stroke-width:2;stroke-dasharray:6 6;opacity:0;animation:pl-fade 1s 1.4s forwards}
.pl-area{opacity:0;animation:pl-fade 1.2s 1.2s forwards}
.pl-dot{fill:#fff;stroke:var(--pl-b);stroke-width:4;opacity:0;animation:pl-fade .4s 2.5s forwards}
@keyframes pl-draw{to{stroke-dashoffset:0}}
@keyframes pl-fade{to{opacity:1}}
.pl-chans{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.pl-chans span{display:inline-flex;align-items:center;gap:.6rem;font-size:1.15rem;padding:.6rem 1.1rem;border-radius:999px;background:var(--pl-card);border:1px solid var(--pl-line);color:var(--pl-soft)}
.pl-chans i{color:var(--pl-c)}

/* sections */
.pl-sec{padding:10rem 3rem 0}
.pl-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.pl-head{text-align:center;margin-bottom:5rem;max-width:780px!important}
.pl-sec h2{font-size:clamp(3rem,4.2vw,5rem)}

.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem}
.pl-tile{position:relative;overflow:hidden;padding:2.8rem;border-radius:18px;background:var(--pl-card);border:1px solid var(--pl-line);transition:border-color .3s,transform .3s var(--ease)}
.pl-tile::before{content:'';position:absolute;inset:0;background:radial-gradient(340px circle at var(--mx,50%) var(--my,-40%),rgba(var(--biz-rgb),.2),transparent 55%);pointer-events:none}
.pl-tile:hover{border-color:rgba(var(--biz-rgb),.55);transform:translateY(-4px)}
.pl-tile-ico{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--pl-a),#06b6d4);display:flex;align-items:center;justify-content:center;font-size:1.9rem;color:#fff;margin-bottom:2.2rem;box-shadow:0 10px 26px rgba(var(--biz-rgb),.4)}
.pl-tile h3{font-size:1.9rem}
.pl-tile p{font-size:1.4rem;color:var(--pl-soft);line-height:1.6;margin-top:.8rem;font-weight:300}
.pl-tile-go{position:absolute;right:2.2rem;top:2.6rem;color:var(--pl-mute);font-size:1.3rem;transition:color .3s}
.pl-tile:hover .pl-tile-go{color:#fff}

.pl-about{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:start}
.pl-about h2{margin-bottom:2.4rem}
.pl-p{font-size:1.6rem;line-height:1.75;color:var(--pl-soft);font-weight:300}
.pl-p+.pl-p{margin-top:1.4rem}
.pl-steps{position:relative;display:grid;gap:1rem;padding-left:3rem}
.pl-steps::before,.pl-steps::after{content:'';position:absolute;left:.6rem;top:1rem;bottom:1rem;width:2px;background:var(--pl-line)}
.pl-steps::after{background:linear-gradient(180deg,var(--pl-b),var(--pl-c));bottom:auto;height:calc(var(--p,1) * (100% - 2rem))}
.pl-steps li{position:relative;display:flex;align-items:center;gap:1.6rem;padding:2rem 2.2rem;border-radius:16px;background:var(--pl-card);border:1px solid var(--pl-line)}
.pl-steps li::before{content:'';position:absolute;left:-2.9rem;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--pl-bg);border:2px solid var(--pl-b)}
.pl-steps span{font-size:1.2rem;color:var(--pl-c);font-weight:600}
.pl-steps b{font-size:1.7rem;font-weight:500}

.pl-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.pl-hl>div{position:relative;overflow:hidden;padding:2.8rem;border-radius:18px;background:var(--pl-card);border:1px solid var(--pl-line)}
.pl-hl>div::before{content:'';position:absolute;inset:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,-40%),rgba(34,211,238,.14),transparent 55%);pointer-events:none}
.pl-hl i{color:var(--pl-c);font-size:2rem;margin-bottom:1.4rem;display:block}
.pl-hl h3{font-size:1.9rem}
.pl-hl p{font-size:1.4rem;color:var(--pl-soft);margin-top:.6rem;font-weight:300}
.pl-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.pl-rev figure{padding:2.8rem;border-radius:18px;background:var(--pl-card);border:1px solid var(--pl-line)}
.pl-rev blockquote{font-size:1.55rem;line-height:1.65}
.pl-rev figcaption{margin-top:1.4rem;color:var(--pl-mute)}
.pl-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pl-gal-item{padding:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.pl-gal-item img{width:100%;height:100%;object-fit:cover}
body.d-pulse .hours-card{max-width:none}
body.d-pulse .hours-row{background:var(--pl-card);border-color:var(--pl-line);border-radius:12px}
body.d-pulse .hours-row .ht{color:var(--pl-soft)}

.pl-contact{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:28px;border:1px solid var(--pl-line2);background:radial-gradient(600px circle at var(--mx,20%) var(--my,0%),rgba(var(--biz-rgb),.18),transparent 55%),linear-gradient(180deg,#0e1530,#0a0f22)}
.pl-contact h2{margin-bottom:3rem}
body.d-pulse .ci{background:var(--pl-card);border-color:var(--pl-line);border-radius:14px}
body.d-pulse .ci-ico{background:rgba(var(--biz-rgb),.18);color:var(--pl-b)}
body.d-pulse .contact-form{background:rgba(7,11,24,.6);border-color:var(--pl-line2);border-radius:20px}
body.d-pulse .contact-form h3{font-size:2.2rem;margin-bottom:2rem}
body.d-pulse .cf-field input,body.d-pulse .cf-field textarea{background:rgba(255,255,255,.04);border-color:var(--pl-line2);color:#fff;border-radius:10px}
body.d-pulse .btn-onbiz{background:linear-gradient(90deg,var(--pl-a),#06b6d4);border-radius:12px;text-transform:none;letter-spacing:0;font-size:1.5rem}
.pl-map{margin-top:3rem}
body.d-pulse .biz-map{border-radius:20px;filter:invert(.9) hue-rotate(180deg) saturate(.6)}
.pl-share{max-width:var(--max-w);margin:5rem auto 0;padding:0 3rem}
body.d-pulse .biz-share-btn{border-color:var(--pl-line2);color:var(--pl-soft)}
body.d-pulse .bx-foot{background:#050814;border-top-color:var(--pl-line);margin-top:4rem}
body.d-pulse .bx-foot-col h2{color:var(--pl-c)}
body.d-pulse .bx-foot .btn-onbiz{background:linear-gradient(90deg,var(--pl-a),#06b6d4)}
body.d-pulse .btn-outline{border-color:var(--pl-line2);color:#fff}
body.d-pulse .fx-cursor-ring{border-color:var(--pl-c)}
body.d-pulse .fx-cursor-dot{background:#fff}

@media (max-width:980px){
  .pl-hero-in,.pl-about,.pl-contact{grid-template-columns:1fr}
  .pl-contact{padding:3rem}
}
@media (max-width:640px){
  .pl-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 6rem}
  .pl-sec{padding:7rem 1.6rem 0}
  .pl-board{padding:1.6rem}
  .pl-kpis{grid-template-columns:1fr 1fr 1fr;gap:.6rem}
  .pl-kpi{padding:1rem}
  .pl-spark{display:none}
  .pl-gal{grid-template-columns:1fr}
  .pl-contact{padding:2rem}
  .pl-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.pl-line{animation:none;stroke-dashoffset:0}.pl-line2,.pl-area,.pl-dot{animation:none;opacity:1}.pl-live i{animation:none}}
