
/* Quantova Apple-inspired black polish layer
   Keeps the original dark theme and original GSAP/Lenis/SplitType animations intact. */
:root{
  --accent:#E06030;
  --accent2:#E06030;
  --accent-on-dark:#E06030;
  --bg:#050505;
  --bg2:#050505;
  --bg3:#050505;
  --tile:#050505;
  --tile2:#050505;
  --white:#FFFFFF;
  --muted:rgba(255,255,255,.72);
  --faint:rgba(255,255,255,.46);
  --hairline:rgba(255,255,255,.10);
  --softline:rgba(255,255,255,.07);
  --nav-h:64px;
  --r:18px;
  --r2:11px;
  --pill:9999px;
  --shadow-product:rgba(5,5,5,.22) 3px 5px 30px 0;
}
html{background:var(--bg);}
body{
  background:var(--bg)!important;
  color:#FFFFFF!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:17px;
  line-height:1.47;
  letter-spacing:-.374px;
}
.wrap,.container,.footer-inner,.nav-inner{max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,4vw,56px)!important;}
.container-narrow{max-width:900px;padding-inline:clamp(20px,4vw,56px)!important;}
section,.section{padding-block:clamp(54px,6.5vw,84px)!important;}
section.hero{padding-top:clamp(48px,5vw,72px)!important;padding-bottom:clamp(48px,5vw,72px)!important;}
.section-sm,.section-md{padding-block:clamp(38px,5vw,56px)!important;}
.section-dark{background:var(--bg)!important;}
.section-mid,.services-section,.industries-strip,.cta-section{background:var(--bg2)!important;}
.section-light{background:var(--tile)!important;}

/* Navigation and logos */
nav.nav{
  height:var(--nav-h)!important;
  min-height:var(--nav-h)!important;
  background:rgba(5,5,5,.88)!important;
  backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--softline)!important;
}
.nav-inner{height:var(--nav-h)!important;min-height:var(--nav-h)!important;gap:clamp(14px,2vw,28px)!important;}
.nav-logo{display:flex;align-items:center;min-width:0;background:transparent!important;}
.nav-logo-img{width:clamp(300px,22vw,400px)!important;height:auto!important;max-height:48px!important;max-width:400px!important;object-fit:contain!important;display:block!important;}
.nav-links{gap:2px!important;}
.nav-link{min-height:40px!important;padding:0 12px!important;border-radius:var(--pill)!important;color:rgba(255,255,255,.78)!important;font-size:12px!important;letter-spacing:-.12px!important;font-weight:400!important;}
.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.08)!important;color:#FFFFFF!important;}
.nav-cta-btn,.btn-primary{background:var(--accent)!important;color:#FFFFFF!important;border:1px solid var(--accent)!important;border-radius:var(--pill)!important;box-shadow:none!important;}
.nav-cta-btn{min-height:36px!important;padding:0 18px!important;font-size:13px!important;white-space:nowrap;}
.nav-cta-btn:hover,.btn-primary:hover{background:var(--accent2)!important;border-color:var(--accent2)!important;filter:none!important;color:#FFFFFF!important;}
.hamburger span{background:#FFFFFF!important;}
@media(max-width:1150px){.nav-logo-img{width:clamp(220px,42vw,300px)!important;max-height:38px!important;max-width:300px!important;}.nav-links{background:rgba(5,5,5,.96)!important;border-top:1px solid var(--softline)!important}.nav-link{width:100%!important;border-radius:12px!important}.nav-cta-btn{display:flex!important;justify-content:center!important;width:100%!important}}
@media(max-width:700px){.nav-logo-img{width:190px!important;max-height:32px!important;max-width:190px!important;}}

/* Typography */
.h1-hero,.h1-page,.svc-hero h1,.section-heading h2,.services-section h2,.h3-cta,.cta-section h2,.svc-cta-band h2{
  color:#FFFFFF!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-weight:600!important;letter-spacing:-.04em!important;line-height:1.08!important;
}
.h1-hero{font-size:clamp(40px,5.2vw,68px)!important;}
.h1-page,.svc-hero h1{font-size:clamp(34px,4.4vw,56px)!important;}
.section-heading h2,.services-section h2,.cta-section h2,.svc-cta-band h2{font-size:clamp(28px,3.5vw,44px)!important;}
.hero-lead,.lead-text,.section-heading p,.svc-hero-lead,.body-text,.card-desc,.bento-desc,.value-desc,.job-card-desc,.blog-card-excerpt,.svc-section p,.svc-cap-card p,.svc-faq-a p{
  color:var(--muted)!important;font-size:17px!important;line-height:1.55!important;letter-spacing:-.374px!important;
}
.section-label,.hero-eyebrow,.eyebrow-label,.svc-eyebrow,.footer-heading,.value-name,.step-title,.timeline-step-label,.svc-side-label{
  color:var(--accent-on-dark)!important;font-size:12px!important;letter-spacing:.08em!important;font-weight:600!important;text-transform:uppercase!important;
}
a,.card-link,.blog-read-more,.breadcrumb-list a,.footer-hover-link{color:var(--accent-on-dark)!important;}
a:hover,.card-link:hover,.blog-read-more:hover{color:#E06030!important;}

/* Buttons */
.btn-primary,.btn-ghost,.btn-ghost-dark{min-height:44px!important;padding:0 22px!important;border-radius:var(--pill)!important;font-size:17px!important;font-weight:400!important;letter-spacing:-.374px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.btn-ghost,.btn-ghost-dark{background:transparent!important;color:var(--accent-on-dark)!important;border:1px solid var(--accent-on-dark)!important;}
.btn-ghost:hover,.btn-ghost-dark:hover{background:rgba(224,96,48,.10)!important;color:#E06030!important;border-color:#E06030!important;}
.hero-btn-group,.btn-group,.svc-hero-btns{gap:14px!important;}

/* Hero / image rhythm */
.hero{min-height:0!important;padding-top:clamp(48px,5vw,72px)!important;padding-bottom:clamp(48px,5vw,72px)!important;background:var(--bg)!important;}
.hero-grid,.grid-2{gap:clamp(34px,5vw,76px)!important;align-items:center!important;}
.hero-3d-image,.svc-featured-img,.about-hero-media img,.cta-image{
  border-radius:22px!important;box-shadow:var(--shadow-product)!important;object-fit:cover!important;background:var(--tile2)!important;
}
.hero-3d-image{aspect-ratio:16/10!important;height:auto!important;}
.svc-featured-img{width:100%!important;aspect-ratio:16/7.5!important;height:auto!important;margin-bottom:clamp(34px,4vw,52px)!important;}

/* Card systems — dark Apple-style, readable, equal spacing */
.bento-grid,.img-services-grid,.services-grid,.industries-grid,.values-grid,.steps-grid,.jobs-grid,.tech-grid,.svc-cards-grid,.svc-deliverables,.process-cascade{
  display:grid!important;gap:clamp(18px,2.4vw,28px)!important;align-items:stretch!important;
}
.bento-grid,.img-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.services-grid,.industries-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;}
.values-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;}
.jobs-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;}
.svc-cards-grid,.svc-deliverables{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;}
.card,.bento-card,.img-service-card,.service-card,.job-card,.tech-card,.value-item,.process-step,.timeline-step,.outcomes-block,.workflow-step,.about-division-card,.svc-cap-card,.svc-deliverables li,.blog-card,.svc-faq-item{
  position:relative!important;background:linear-gradient(180deg,var(--tile2),var(--tile))!important;border:1px solid var(--hairline)!important;border-radius:22px!important;box-shadow:none!important;overflow:hidden!important;color:#FFFFFF!important;
}
.card,.bento-card,.img-service-card,.service-card,.job-card,.process-step,.timeline-step,.workflow-step,.about-division-card,.svc-cap-card,.value-item,.blog-card{display:flex!important;flex-direction:column!important;height:100%!important;}
.card::before,.bento-card::before,.img-service-card::before,.service-card::before,.job-card::before,.tech-card::before,.value-item::before,.process-step::before,.timeline-step::before,.workflow-step::before,.about-division-card::before,.svc-cap-card::before,.svc-deliverables li::before,.blog-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent-on-dark),rgba(224,96,48,0));opacity:.9;
}
.card:hover,.bento-card:hover,.img-service-card:hover,.service-card:hover,.job-card:hover,.tech-card:hover,.value-item:hover,.process-step:hover,.timeline-step:hover,.workflow-step:hover,.about-division-card:hover,.svc-cap-card:hover,.svc-deliverables li:hover,.blog-card:hover{
  border-color:rgba(224,96,48,.35)!important;box-shadow:0 18px 46px rgba(5,5,5,.35)!important;
}
.card,.service-card,.job-card,.process-step,.timeline-step,.outcomes-block,.workflow-step,.about-division-card,.svc-cap-card,.value-item{padding:clamp(22px,2.4vw,30px)!important;}
.card-image-wrap,.img-service-card-media{margin:18px 18px 0!important;height:clamp(190px,16vw,240px)!important;border-radius:18px!important;overflow:hidden!important;background:#050505!important;}
.bento-img,.img-service-card-media img,.blog-card-image{width:100%!important;height:100%!important;object-fit:cover!important;}
.bento-body,.img-service-card-body,.blog-card-content{padding:clamp(20px,2vw,26px)!important;display:flex!important;flex-direction:column!important;flex:1!important;}
.bento-title,.card-title,.job-card-title,.img-service-card-body h3,.blog-card-title,.service-card-title,.about-division-title,.svc-cap-card h3,.timeline-step h3,.process-step h3{
  color:#FFFFFF!important;font-size:clamp(19px,1.45vw,25px)!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.028em!important;margin:0 0 12px!important;
}
.bento-desc,.card-desc,.job-card-desc,.img-service-card-body p,.blog-card-excerpt,.value-desc,.step-desc,.about-division-desc,.svc-cap-card p,.timeline-step p,.process-step p,.workflow-step-desc,.outcomes-list li,.deliverables-list li{
  color:var(--muted)!important;font-size:15.5px!important;line-height:1.62!important;margin:0 0 18px!important;
}
.card-link,.blog-read-more{margin-top:auto!important;padding-top:14px!important;font-weight:500!important;font-size:16px!important;display:inline-flex!important;width:fit-content!important;align-items:center!important;gap:6px!important;}
.card-link::after,.blog-read-more::after{content:"→";transition:transform .2s ease;}
.bento-card:hover .card-link::after,.img-service-card:hover .card-link::after,.card:hover .card-link::after,.blog-card:hover .blog-read-more::after{transform:translateX(4px);}
.bento-bullets{display:grid!important;gap:9px!important;margin:12px 0 20px!important;padding:0!important;}
.bento-bullets li{display:flex!important;align-items:flex-start!important;gap:10px!important;color:rgba(255,255,255,.78)!important;font-size:14.5px!important;line-height:1.45!important;}
.check-icon{background:var(--accent-on-dark)!important;box-shadow:0 0 0 5px rgba(224,96,48,.10)!important;}
.value-icon,.service-card-icon,.industry-icon,.card-icon,.about-division-icon,.tech-card-icon-wrap,.svc-cap-icon{
  width:46px!important;height:46px!important;margin-bottom:16px!important;color:var(--accent-on-dark)!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.13)!important;
}
.svc-cap-icon{font-size:0!important;}
.svc-cap-icon::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--accent-on-dark);box-shadow:0 0 0 6px rgba(224,96,48,.12);}

/* About fake-number replacement */
.principles-strip{background:var(--bg2)!important;padding-block:clamp(36px,5vw,56px)!important;}
.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.principle-card{background:linear-gradient(180deg,var(--tile2),var(--tile));border:1px solid var(--hairline);border-radius:18px;padding:24px;color:#FFFFFF;}
.principle-card span{display:block;color:var(--accent-on-dark);font-size:14px;font-weight:600;margin-bottom:10px;}
.principle-card p{color:var(--muted);font-size:15px;line-height:1.55;margin:0;}
.stats-bar{display:none!important;}

/* Service detail layout */
.svc-hero{background:var(--bg)!important;padding-block:clamp(58px,7vw,92px)!important;}
.service-layout{max-width:1440px!important;margin-inline:auto!important;padding:clamp(42px,5.5vw,72px) clamp(20px,4vw,56px)!important;gap:clamp(26px,4vw,48px)!important;background:var(--bg)!important;}
.service-panel-left{background:var(--tile)!important;border:1px solid var(--hairline)!important;border-radius:22px!important;padding:22px!important;top:calc(var(--nav-h) + 24px)!important;}
.service-panel-right{background:transparent!important;padding:0!important;}
.svc-side-link{border-radius:12px!important;color:var(--muted)!important;padding:11px 14px!important;}
.svc-side-link:hover,.svc-side-link.active,.svc-side-link.is-active{background:rgba(255,255,255,.08)!important;color:#FFFFFF!important;border-left-color:var(--accent)!important;}
.svc-section{padding-block:0 clamp(36px,4vw,52px)!important;margin-bottom:clamp(32px,4vw,48px)!important;border-bottom:1px solid var(--softline)!important;}
.svc-section:last-child{border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important;}
.svc-deliverables{list-style:none!important;padding:0!important;margin-top:22px!important;}
.svc-deliverables li{list-style:none!important;min-height:76px!important;padding:24px 24px 24px 58px!important;}
.svc-deliverables li::before{content:""!important;position:absolute!important;left:24px!important;top:28px!important;width:14px!important;height:14px!important;border-radius:50%!important;background:var(--accent-on-dark)!important;box-shadow:0 0 0 6px rgba(224,96,48,.10)!important;}
.svc-tech-badge,.tool-badge,.tech-badge{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;color:rgba(255,255,255,.75)!important;border-radius:var(--pill)!important;}
.svc-tech-badge:hover,.tool-badge:hover,.tech-badge:hover{border-color:rgba(255,255,255,.28)!important;color:#FFFFFF!important;}
.svc-faq{border:0!important;display:grid!important;gap:12px!important;}
.svc-faq-q{color:#FFFFFF!important;background:transparent!important;padding:0!important;font-size:17px!important;font-weight:600!important;}
.svc-faq-a{background:transparent!important;padding:14px 0 0!important;}
.svc-faq-chevron{color:var(--accent-on-dark)!important;}

/* Forms */
.form-group input,.form-group textarea,.form-group select,.form-input,input[type="text"],input[type="email"],input[type="tel"],textarea,select{
  background:rgba(255,255,255,.06)!important;border:1px solid var(--hairline)!important;color:#FFFFFF!important;border-radius:14px!important;padding:14px 16px!important;
}
.form-group input::placeholder,.form-group textarea::placeholder,input::placeholder,textarea::placeholder{color:rgba(255,255,255,.40)!important;}
input[type="file"]{color:var(--muted)!important;}

/* CTA + footer */
.cta-band,.cta-section,.svc-cta-band{background:#050505!important;color:#FFFFFF!important;}
.cta-split{min-height:420px!important;}
.cta-text-col{padding:clamp(44px,6vw,76px)!important;}
.cta-text-col p,.cta-section p,.svc-cta-band p{color:var(--muted)!important;}
.footer{background:#050505!important;border-top:1px solid var(--softline)!important;padding-top:clamp(44px,6vw,70px)!important;}
.footer-grid{display:grid!important;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(150px,1fr))!important;gap:clamp(24px,4vw,48px)!important;padding-bottom:44px!important;}
.footer-logo-img{width:min(300px,100%)!important;height:auto!important;max-height:42px!important;max-width:300px!important;object-fit:contain!important;display:block!important;margin-bottom:16px!important;}
.footer-brand-desc,.footer-links a,.footer-hours,.footer-bottom,.footer-hover-line{color:var(--muted)!important;}
.footer-social-link,.footer-tech{border:1px solid var(--hairline)!important;background:rgba(255,255,255,.04)!important;color:var(--muted)!important;border-radius:12px!important;}
.footer-social-link:hover,.footer-tech:hover{color:#FFFFFF!important;border-color:rgba(224,96,48,.35)!important;}
.footer-bottom{border-top:1px solid var(--softline);display:flex!important;gap:16px;flex-wrap:wrap;}
#E06030k-top{background:var(--accent)!important;color:#FFFFFF!important;border-radius:50%!important;}

/* White gap controls */
section + section{margin-top:0!important;}
.section[style*="padding-top:0"]{padding-top:clamp(32px,4vw,48px)!important;}
.section[style*="padding-bottom:0"]{padding-bottom:clamp(32px,4vw,48px)!important;}
.card > :last-child,.bento-body > :last-child,.svc-section > :last-child{margin-bottom:0!important;}

@media(max-width:1024px){
  .hero-grid,.grid-2{grid-template-columns:1fr!important;}
  .bento-grid,.img-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:1fr 1fr!important;}
  .service-layout{flex-direction:column!important;display:flex!important;}
  .service-panel-left{position:relative!important;top:auto!important;width:100%!important;min-width:0!important;height:auto!important;}
}
@media(max-width:700px){
  .bento-grid,.img-services-grid,.services-grid,.industries-grid,.values-grid,.steps-grid,.jobs-grid,.tech-grid,.svc-cards-grid,.svc-deliverables,.principles-grid,.footer-grid,.about-divisions-grid{grid-template-columns:1fr!important;}
  .card-image-wrap,.img-service-card-media{height:210px!important;}
  .btn-primary,.btn-ghost,.btn-ghost-dark{width:100%;}
  .footer-bottom{flex-direction:column!important;align-items:flex-start!important;}
}

/* ============================================================
   Logo visibility + balanced header/footer sizing
   ============================================================ */
.nav-logo{flex:0 0 auto!important;display:flex!important;align-items:center!important;overflow:visible!important;}
.nav-logo-img{width:clamp(300px,22vw,400px)!important;height:auto!important;max-height:48px!important;max-width:400px!important;object-fit:contain!important;display:block!important;}
.footer-logo{display:flex!important;align-items:center!important;margin-bottom:18px!important;overflow:visible!important;}
.footer-logo-img{width:min(300px,100%)!important;height:auto!important;max-height:42px!important;max-width:300px!important;object-fit:contain!important;display:block!important;margin-bottom:0!important;}
@media(max-width:1150px){.nav-logo-img{width:clamp(220px,42vw,300px)!important;max-height:38px!important;max-width:300px!important;}}
@media(max-width:700px){.nav-logo-img{width:190px!important;max-height:32px!important;max-width:190px!important;}.footer-logo-img{width:220px!important;max-height:32px!important;max-width:220px!important;}}
