:root{
  --pmf-grad: linear-gradient(135deg,#10b4d0 0%,#d4e233 100%);
  --pmf-dark-grad: linear-gradient(135deg,#1f2c34 0%,#0f172a 100%);
  --pmf-shadow-lg: 0 24px 80px rgba(15,23,42,.14);
  --pmf-shadow-md: 0 16px 40px rgba(15,23,42,.10);
  --pmf-ring: 0 0 0 1px rgba(44,200,224,.12), 0 18px 50px rgba(15,23,42,.08);
  --pmf-ink:#0f172a;
  --pmf-ink-soft:rgba(15,23,42,.9);
}

html{scroll-padding-top:100px}
body{
  background:
    radial-gradient(circle at top left, rgba(44,200,224,.08), transparent 30%),
    radial-gradient(circle at top right, rgba(212,226,51,.08), transparent 26%),
    #fff;
}
::selection{background:rgba(44,200,224,.22);color:#0f172a}
nav{
  box-shadow:0 12px 40px rgba(15,23,42,.07)!important;
  border-bottom:1px solid rgba(226,232,240,.85)!important;
}
.topbar{
  background:linear-gradient(90deg,#1c2730,#2B3A42 40%,#223841)!important;
}
.topbar .container,
.topbar a{letter-spacing:.01em}
.brand img,
.nav-logo img{
  filter: drop-shadow(0 10px 18px rgba(15,23,42,.16));
}
.brand span,.nav-logo .nav-text{
  letter-spacing:.04em;
}
.nav-links a{position:relative}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-8px;
  height:2px;
  transform:scaleX(0);
  transform-origin:left center;
  background:var(--pmf-grad);
  transition:transform .24s ease;
}
.nav-links a:hover::after,
.nav-links a.is-current::after{transform:scaleX(1)}
.nav-links a.is-current{color:#0f172a!important}
.nav-cta,.cta,.btn-primary,.cta-primary,.footer-cta-btn,.hero-buttons .cta-primary{
  position:relative;
  overflow:hidden;
  box-shadow:0 16px 32px rgba(180,193,31,.24);
}
.nav-cta:hover,.cta:hover,.btn-primary:hover,.cta-primary:hover,.footer-cta-btn:hover{
  box-shadow:0 22px 40px rgba(180,193,31,.34)!important;
}
.btn,.cta-btn,.nav-cta,.cta,.footer-cta-btn{border-radius:14px!important}
.btn-secondary,.cta-outline{
  border-color:rgba(44,200,224,.38)!important;
  background:rgba(255,255,255,.1)!important;
  backdrop-filter: blur(10px);
}
.hero,.hero-gradient{position:relative;overflow:hidden}
.hero::after{
  content:"";
  position:absolute;
  inset:auto -20% -120px auto;
  width:420px;height:420px;
  background:radial-gradient(circle, rgba(44,200,224,.16), rgba(44,200,224,0) 64%);
  pointer-events:none;
}
.hero-card,.stat-grid,.card,.metric,.step,.faq details,.table-wrap,.notice,.cta-band{box-shadow:var(--pmf-ring)!important}
.hero-card,.card,.metric,.step,.faq details,.notice,.cta-band{border:1px solid rgba(226,232,240,.8)!important}
.hero-card,.card,.metric,.step,.faq details,.industry-card-link .card{
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.hero-card:hover,.card:hover,.metric:hover,.step:hover,.faq details:hover,.industry-card-link:hover .card{
  transform:translateY(-4px);
  box-shadow:var(--pmf-shadow-md)!important;
  border-color:rgba(44,200,224,.24)!important;
}
.hero-card{background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.98))!important}
.hero-list li{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  padding:.8rem .95rem;
  border-radius:14px;
}
.section{position:relative}
.section-alt{background:linear-gradient(180deg, rgba(248,250,252,.94), rgba(255,255,255,1))!important}
.section h2{letter-spacing:-.02em}
.badge,.eyebrow{
  background:linear-gradient(135deg, rgba(44,200,224,.12), rgba(212,226,51,.18))!important;
  color:#0f172a!important;
  border:1px solid rgba(44,200,224,.18);
}
.metric strong,.stat strong{
  background:var(--pmf-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}
.metro-links a,
.industry-card-link .industry-cta,
a[href*="/industries/"]{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease;
}
.metro-links a:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.10);
}
.cta-band{
  background:
    radial-gradient(circle at top right, rgba(212,226,51,.14), transparent 22%),
    radial-gradient(circle at bottom left, rgba(44,200,224,.16), transparent 26%),
    linear-gradient(135deg,#1f2c34,#111827)!important;
}
.footer{
  background:
    radial-gradient(circle at top left, rgba(44,200,224,.14), transparent 22%),
    linear-gradient(135deg,#1f2c34,#0f172a)!important;
}
.footer-grid a:hover,
.footer a:hover{transform:translateX(3px)}
table tr:hover td{background:rgba(44,200,224,.03)}
.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.reveal-up.is-visible{opacity:1;transform:none}
#floatingCTA{background:var(--pmf-grad)!important;color:#12212a!important}
.pmfla-apply-panel{border:1px solid rgba(44,200,224,.18)!important;box-shadow:0 30px 90px rgba(15,23,42,.35)!important}
.pmfla-apply-header{
  background:
    radial-gradient(circle at top right, rgba(212,226,51,.16), transparent 32%),
    linear-gradient(135deg,#16202a,#0f172a)!important;
}
.pmfla-apply-close{border:1px solid rgba(255,255,255,.12)!important}
@media (max-width: 860px){
  .hero-list li{padding:.7rem .8rem}
  .card:hover,.metric:hover,.step:hover,.hero-card:hover{transform:none}
}


/* Global contrast fix for light cards/boxes */
.hero-card, .card, .metric, .step, .faq details, .notice { color: var(--pmf-ink) !important; }
.hero-card h1, .hero-card h2, .hero-card h3, .hero-card h4, .hero-card h5, .hero-card h6,
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.metric h1, .metric h2, .metric h3, .metric h4, .metric h5, .metric h6,
.step h1, .step h2, .step h3, .step h4, .step h5, .step h6,
.faq details h1, .faq details h2, .faq details h3, .faq details h4, .faq details h5, .faq details h6,
.notice h1, .notice h2, .notice h3, .notice h4, .notice h5, .notice h6 { color: var(--pmf-ink) !important; }
.hero-card p, .hero-card li, .hero-card span, .hero-card strong,
.card p, .card li, .card span, .card strong,
.metric p, .metric li, .metric span, .metric strong,
.step p, .step li, .step span, .step strong,
.notice p, .notice li, .notice span, .notice strong { color: rgba(15, 23, 42, .9) !important; }
.hero-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.9rem;}
.hero-list li{background:rgba(255,255,255,.72)!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:16px;padding:1rem 1rem 1rem 1.2rem;color:var(--pmf-ink)!important;font-weight:600;}
.hero-list li::marker{color:var(--pmf-lime);}
.hero-list li::before{content:"•"; color:var(--pmf-lime); font-weight:800; margin-right:.75rem;}


/* Dark CTA bands need light text */
.cta-band{color:#f8fafc!important;border:1px solid rgba(255,255,255,.08)!important}
.cta-band h1,.cta-band h2,.cta-band h3,.cta-band h4,.cta-band h5,.cta-band h6{color:#ffffff!important}
.cta-band p,.cta-band li,.cta-band span,.cta-band strong{color:rgba(248,250,252,.9)!important}
.cta-band a:not(.btn-primary){color:#ffffff!important}


/* Hero card heading readability patch */
.hero-card h1,.hero-card h2,.hero-card h3,.hero-card h4,.hero-card h5,.hero-card h6{
  color:#0f172a!important;
  text-shadow:none!important;
  opacity:1!important;
}
.hero-card p,.hero-card li,.hero-card span,.hero-card strong{
  color:rgba(15,23,42,.92)!important;
  opacity:1!important;
}
.hero-card{background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,250,252,.99))!important;}


/* Company-centered final polish */

.hero .hero-card{
  background: linear-gradient(180deg, rgba(12,24,36,.86), rgba(18,34,49,.94)) !important;
  border: 1px solid rgba(98, 214, 226, .18) !important;
  box-shadow: 0 18px 48px rgba(3,7,18,.24) !important;
  backdrop-filter: blur(10px);
  color: #f8fafc !important;
}
.hero .hero-card h1,.hero .hero-card h2,.hero .hero-card h3,.hero .hero-card h4,.hero .hero-card h5,.hero .hero-card h6{
  color:#f8fafc !important;
}
.hero .hero-card p,.hero .hero-card li,.hero .hero-card span,.hero .hero-card strong{
  color:rgba(248,250,252,.92) !important;
}
.hero .hero-card .hero-list{
  gap:.8rem;
}
.hero .hero-card .hero-list li,
.hero .hero-list li{
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(248,250,252,.95) !important;
}
.hero .hero-list li::before{color:var(--pmf-lime) !important;}
.hero .hero-card .hero-list li::before{color:var(--pmf-lime) !important;}
.hero .hero-card .badge,
.hero .hero-card .eyebrow{
  background: rgba(212,226,51,.14) !important;
  color: #e7f36f !important;
  border-color: rgba(212,226,51,.24) !important;
}


/* Fix location and white-card secondary button readability */
.card .btn-secondary,
.section .card .btn-secondary,
.section-alt .card .btn-secondary,
.grid-3 .card .btn-secondary,
.grid-4 .card .btn-secondary{
  color: var(--primary) !important;
  background: #ffffff !important;
  border: 1px solid rgba(44,200,224,.28) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.card .btn-secondary:hover,
.section .card .btn-secondary:hover,
.section-alt .card .btn-secondary:hover,
.grid-3 .card .btn-secondary:hover,
.grid-4 .card .btn-secondary:hover{
  color: var(--primary) !important;
  background: rgba(44,200,224,.08) !important;
  border-color: rgba(44,200,224,.42) !important;
}


/* About hero stat boxes readability fix */
.hero .hero-card .stat-grid .stat{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(148,163,184,.22) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}
.hero .hero-card .stat-grid .stat strong,
.hero .hero-card .stat-grid .stat span,
.hero .hero-card .stat-grid .stat p{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  background:none !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.hero .hero-card .stat-grid .stat strong{
  display:block;
  font-size:1.55rem;
  font-weight:800;
  line-height:1.05;
  margin-bottom:.45rem;
}
.hero .hero-card .stat-grid .stat span,
.hero .hero-card .stat-grid .stat p{
  font-size:1rem;
  line-height:1.5;
}
