/* ==========================================================
   Build Awesome V3.4 — Design System + Non-Hero Polish
   Scope: reusable system, below-hero homepage polish, cards, forms,
   inner pages, accessibility, performance-minded motion.
   Locked hero carousel mechanics and service-content visibility are not changed.
   ========================================================== */
:root{
  --ba-v34-magenta:#B41783;
  --ba-v34-purple:#522789;
  --ba-v34-pink:#EC136A;
  --ba-v34-orange:#F3552C;
  --ba-v34-white:#FFFFFF;
  --ba-v34-gray:#E0E0E0;
  --ba-v34-charcoal:#1A1A2E;
  --ba-v34-blue:#2563EB;
  --ba-v34-green:#16A34A;
  --ba-v34-bg:#FCFAFF;
  --ba-v34-surface:rgba(255,255,255,.92);
  --ba-v34-surface-solid:#FFFFFF;
  --ba-v34-soft-pink:#FFF4FA;
  --ba-v34-soft-purple:#F6F0FF;
  --ba-v34-soft-orange:#FFF6EF;
  --ba-v34-text:#1A1A2E;
  --ba-v34-muted:#5E5870;
  --ba-v34-line:rgba(82,39,137,.16);
  --ba-v34-line-strong:rgba(82,39,137,.24);
  --ba-v34-gradient:linear-gradient(90deg,#EC136A 0%,#F3552C 100%);
  --ba-v34-gradient-deep:linear-gradient(135deg,#522789 0%,#B41783 58%,#F3552C 100%);
  --ba-v34-gradient-cool:linear-gradient(135deg,#1A1A2E 0%,#522789 68%,#B41783 100%);
  --ba-v34-glow:0 22px 64px rgba(180,23,131,.18);
  --ba-v34-shadow:0 18px 54px rgba(26,26,46,.10);
  --ba-v34-shadow-soft:0 12px 34px rgba(82,39,137,.08);
  --ba-v34-radius-xs:10px;
  --ba-v34-radius-sm:14px;
  --ba-v34-radius-md:20px;
  --ba-v34-radius-lg:28px;
  --ba-v34-radius-xl:36px;
  --ba-v34-space-1:4px;
  --ba-v34-space-2:8px;
  --ba-v34-space-3:12px;
  --ba-v34-space-4:16px;
  --ba-v34-space-5:24px;
  --ba-v34-space-6:32px;
  --ba-v34-space-7:48px;
  --ba-v34-space-8:64px;
}

/* Typography and contrast baseline */
body{color:var(--ba-v34-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ba-v34-bg)}
h1,h2,h3,h4,h5,h6,.ba-btn,.ba-nav a,.ba-eyebrow,.ba-card-link{font-family:Poppins,Inter,system-ui,sans-serif}
.ba-section p,.ba-entry p,.ba-post-body p,.ba-service-card p,.ba-icon-card p,.ba-feature p,.ba-form p{color:var(--ba-v34-muted)}
.ba-section h1,.ba-section h2,.ba-section h3,.ba-entry h1,.ba-entry h2,.ba-entry h3,.ba-page-hero h1{color:var(--ba-v34-purple)}
.ba-text-gradient{background:var(--ba-v34-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important}

/* V3.4 unified section rhythm. Excludes locked hero section. */
.ba-section:not(.ba-hero){isolation:isolate;overflow:hidden}
.home .ba-section:not(.ba-hero)::after{
  content:"";position:absolute;left:50%;top:0;width:min(980px,86vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(236,19,106,.24),rgba(82,39,137,.18),transparent);pointer-events:none;
}
.home .ba-section:not(.ba-hero):nth-of-type(odd){background:linear-gradient(180deg,rgba(255,244,250,.55),rgba(252,250,255,.24))}
.home .ba-section:not(.ba-hero):nth-of-type(even){background:linear-gradient(180deg,rgba(246,240,255,.42),rgba(255,255,255,.32))}
.home .ba-section:not(.ba-hero).is-section-active .ba-section-head .ba-eyebrow{box-shadow:0 0 0 6px rgba(236,19,106,.08),0 14px 34px rgba(82,39,137,.10)}

/* Unified buttons */
.ba-btn,.wp-block-button__link,.search-submit,.wpcf7-submit,.ba-form button{
  min-height:48px;border-radius:999px;padding:13px 21px;font-weight:800;letter-spacing:-.01em;text-decoration:none!important;
  border:1px solid var(--ba-v34-line);background:#fff;color:var(--ba-v34-charcoal);box-shadow:var(--ba-v34-shadow-soft);
  transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease,background .24s ease,color .24s ease,filter .24s ease;
}
.ba-btn:hover,.wp-block-button__link:hover,.search-submit:hover,.wpcf7-submit:hover,.ba-form button:hover{transform:translateY(-3px);box-shadow:var(--ba-v34-glow);border-color:rgba(236,19,106,.30);filter:saturate(1.05)}
.ba-btn:focus-visible,.wp-block-button__link:focus-visible,.search-submit:focus-visible,.wpcf7-submit:focus-visible,.ba-form button:focus-visible,.ba-nav a:focus-visible,.ba-card-link:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:3px}
.ba-btn-primary,.wp-block-button__link,.search-submit,.wpcf7-submit,.ba-form button{background:var(--ba-v34-gradient)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 18px 48px rgba(236,19,106,.24)!important}
.ba-btn-primary:hover,.wp-block-button__link:hover,.search-submit:hover,.wpcf7-submit:hover,.ba-form button:hover{background:var(--ba-v34-gradient-deep)!important;color:#fff!important;box-shadow:0 24px 68px rgba(180,23,131,.28)!important}
.ba-btn-dark{background:var(--ba-v34-charcoal)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
.ba-btn-small{min-height:42px;padding:10px 16px;font-size:14px}
.ba-btn span[aria-hidden="true"]{transition:transform .24s ease}.ba-btn:hover span[aria-hidden="true"]{transform:translateX(4px)}
.ba-btn.ba-magnetic{will-change:transform}

/* Unified cards */
.ba-card,.ba-service-card,.ba-price-card,.ba-work-card,.ba-icon-card,.ba-feature,.ba-entry,.ba-post-card,.ba-service-index-card,.ba-v239-info-card,.ba-v239-related-card,.ba-v239-price-card,.ba-v239-service-card,.ba-form,.ba-contact-card{
  border-radius:var(--ba-v34-radius-lg);border:1px solid var(--ba-v34-line);box-shadow:var(--ba-v34-shadow);background:var(--ba-v34-surface-solid);
}
.ba-card,.ba-service-card,.ba-price-card,.ba-work-card,.ba-icon-card,.ba-feature,.ba-post-card,.ba-service-index-card,.ba-v239-info-card,.ba-v239-related-card,.ba-v239-price-card{
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease,filter .28s ease;
}
.ba-card:hover,.ba-service-card:hover,.ba-price-card:hover,.ba-work-card:hover,.ba-icon-card:hover,.ba-feature:hover,.ba-post-card:hover,.ba-service-index-card:hover,.ba-v239-info-card:hover,.ba-v239-related-card:hover,.ba-v239-price-card:hover{
  transform:translateY(-7px);box-shadow:0 28px 80px rgba(82,39,137,.16);border-color:rgba(236,19,106,.26);
}
.ba-card::before,.ba-service-card::before,.ba-price-card::before,.ba-work-card::before,.ba-icon-card::before,.ba-v239-info-card::before{background:var(--ba-v34-gradient)!important}

/* Unified icon containers — futuristic/glow but readable */
.ba-icon,.ba-v239-mini-icon,.ba-v34-card-icon{
  position:relative;display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:18px;color:var(--ba-v34-purple)!important;
  background:linear-gradient(145deg,#fff 0%,#fff5fb 100%)!important;border:1px solid rgba(82,39,137,.16)!important;box-shadow:0 14px 34px rgba(82,39,137,.11)!important;overflow:hidden;
}
.ba-icon::after,.ba-v239-mini-icon::after,.ba-v34-card-icon::after{content:"";position:absolute;inset:auto -30% -36% -30%;height:50%;background:radial-gradient(circle,rgba(236,19,106,.22),transparent 66%);pointer-events:none}
.ba-icon svg,.ba-v239-mini-icon svg,.ba-v34-card-icon svg{width:25px;height:25px;stroke:currentColor!important;position:relative;z-index:1}
.ba-icon-card:nth-child(4n+1) .ba-icon,.ba-service-card:nth-child(4n+1) .ba-v34-card-icon{color:var(--ba-v34-pink)!important}
.ba-icon-card:nth-child(4n+2) .ba-icon,.ba-service-card:nth-child(4n+2) .ba-v34-card-icon{color:var(--ba-v34-purple)!important}
.ba-icon-card:nth-child(4n+3) .ba-icon,.ba-service-card:nth-child(4n+3) .ba-v34-card-icon{color:var(--ba-v34-orange)!important}
.ba-icon-card:nth-child(4n+4) .ba-icon,.ba-service-card:nth-child(4n+4) .ba-v34-card-icon{color:var(--ba-v34-magenta)!important}
.ba-v34-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ba-v34-card-topline .ba-icon{margin:0;width:46px;height:46px;border-radius:16px}.ba-v34-card-label{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(236,19,106,.09);border:1px solid rgba(236,19,106,.16);color:var(--ba-v34-magenta);font:800 11px/1 Poppins,Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ba-v230-card-kicker{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(82,39,137,.08);border:1px solid rgba(82,39,137,.14);color:var(--ba-v34-purple);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:11px}

/* Service and industry cards */
.ba-service-card{padding:clamp(22px,2.2vw,31px);gap:10px;background:linear-gradient(145deg,#fff 0%,#fff8fb 100%)}
.ba-service-card:nth-child(2n){background:linear-gradient(145deg,#fff 0%,#f7f2ff 100%)}
.ba-service-card:nth-child(3n){background:linear-gradient(145deg,#fff 0%,#fff6ef 100%)}
.ba-service-card h3 a,.ba-post-body h3 a,.ba-service-index-body h2 a{color:var(--ba-v34-charcoal)!important;text-decoration:none!important}
.ba-service-card h3 a:hover,.ba-post-body h3 a:hover,.ba-service-index-body h2 a:hover{color:var(--ba-v34-magenta)!important}
.ba-service-card p{line-height:1.68}.ba-card-link{color:var(--ba-v34-magenta)!important;font-weight:900;text-decoration:none!important}.ba-card-link:hover{color:var(--ba-v34-purple)!important}
.ba-service-image,.ba-post-thumb,.ba-work-image,.ba-service-index-image,.ba-v239-related-media{overflow:hidden}.ba-service-image img,.ba-post-thumb img,.ba-work-image img,.ba-service-index-image img,.ba-v239-related-media img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.ba-service-card:hover .ba-service-image img,.ba-post-card:hover .ba-post-thumb img,.ba-work-card:hover .ba-work-image img,.ba-service-index-card:hover .ba-service-index-image img,.ba-v239-related-card:hover .ba-v239-related-media img{transform:scale(1.045)}
.ba-industry-card,.ba-tech-card{min-height:100%;background:linear-gradient(145deg,#fff,rgba(255,244,250,.75))!important}
.ba-industry-card:nth-child(2n),.ba-tech-card:nth-child(2n){background:linear-gradient(145deg,#fff,rgba(246,240,255,.9))!important}
.ba-industry-card:nth-child(3n),.ba-tech-card:nth-child(3n){background:linear-gradient(145deg,#fff,rgba(255,246,239,.92))!important}
.ba-industry-card h3,.ba-tech-card h3{color:var(--ba-v34-charcoal)}

/* Homepage motion polish, below hero only */
.ba-section:not(.ba-hero) .ba-reveal{transition-delay:calc(var(--ba-stagger-index,0) * 55ms)}
.ba-section:not(.ba-hero) .ba-card-grid > .ba-reveal,.ba-section:not(.ba-hero) .ba-feature-list > .ba-reveal,.ba-section:not(.ba-hero) .ba-v239-grid > .ba-reveal{will-change:transform,opacity}
@keyframes baV34SoftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.ba-icon-card:hover .ba-icon,.ba-feature:hover .ba-icon,.ba-service-card:hover .ba-v34-card-icon{animation:baV34SoftFloat 1.2s ease-in-out infinite}

/* Forms and contact UX */
.ba-form{padding:clamp(24px,3vw,36px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.ba-form form,.wpcf7-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ba-form form > div,.wpcf7-form p{position:relative;margin:0}
.ba-form form > div:last-of-type,.wpcf7-form p{grid-column:1/-1}
.ba-form label,.wpcf7-form label{display:inline-flex;width:max-content;max-width:100%;margin:0 0 7px 12px;padding:3px 8px;border-radius:999px;background:#fff;color:var(--ba-v34-purple);font:800 12px/1 Poppins,Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 16px rgba(82,39,137,.06)}
.ba-form input,.ba-form textarea,.ba-form select,.wpcf7 input,.wpcf7 textarea,.wpcf7 select,.search-form input[type="search"]{min-height:52px;border-radius:18px!important;border:1px solid var(--ba-v34-line)!important;background:#fff!important;color:var(--ba-v34-charcoal)!important;padding:13px 15px!important;box-shadow:inset 0 1px 0 rgba(82,39,137,.04);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.ba-form textarea,.wpcf7 textarea{min-height:142px}.ba-form input:focus,.ba-form textarea:focus,.ba-form select:focus,.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus,.search-form input[type="search"]:focus{border-color:var(--ba-v34-pink)!important;box-shadow:0 0 0 4px rgba(236,19,106,.12)!important;outline:0;transform:translateY(-1px)}
.ba-form .ba-lead{padding:13px 15px;border-radius:16px;background:rgba(22,163,74,.09);border:1px solid rgba(22,163,74,.18);color:#0f7a37!important;font-weight:700}
.ba-contact-card{background:var(--ba-v34-gradient-cool)!important;color:#fff!important}.ba-contact-card h3,.ba-contact-card strong,.ba-contact-card p,.ba-contact-card a,.ba-contact-card .ba-contact-item{color:#fff!important}.ba-contact-card a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35)}

/* Inner pages consistency */
body:not(.home) .ba-page-hero{position:relative;overflow:hidden;padding:clamp(62px,8vw,108px) 0 clamp(38px,5vw,70px);background:radial-gradient(circle at 10% 0%,rgba(236,19,106,.16),transparent 34%),radial-gradient(circle at 92% 6%,rgba(82,39,137,.16),transparent 36%),linear-gradient(135deg,#fff 0%,#fff4fa 52%,#f6f0ff 100%)}
body:not(.home) .ba-page-hero::after{content:"";position:absolute;right:-160px;bottom:-220px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(243,85,44,.18),transparent 68%);pointer-events:none}.ba-page-hero .ba-container{position:relative;z-index:1}.ba-page-hero h1{max-width:980px;letter-spacing:-.055em}.ba-page-wrap{padding:clamp(42px,6vw,74px) 0}.ba-entry{max-width:980px;border-radius:var(--ba-v34-radius-xl);background:#fff;padding:clamp(24px,4vw,56px);box-shadow:var(--ba-v34-shadow)}.ba-entry a{color:var(--ba-v34-magenta);font-weight:800}.ba-entry a:hover{color:var(--ba-v34-purple)}.ba-entry :where(h2,h3,h4){color:var(--ba-v34-purple)}.ba-entry :where(ul,ol){padding-left:1.2rem}.ba-entry li{margin-bottom:8px}.ba-entry-featured-image img,.ba-entry > div[style] img{border-radius:var(--ba-v34-radius-lg)}
.ba-archive-grid{gap:clamp(18px,2.1vw,28px);padding:clamp(42px,6vw,72px) 0}.ba-post-card{border-radius:var(--ba-v34-radius-lg);background:#fff}.ba-post-meta{color:var(--ba-v34-magenta);font-family:Poppins,Inter,sans-serif}.navigation.pagination{display:flex;justify-content:center;margin:0 0 56px}.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;margin:0 4px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--ba-v34-line);color:var(--ba-v34-charcoal);font-weight:800;text-decoration:none!important}.page-numbers.current,.page-numbers:hover{background:var(--ba-v34-gradient);color:#fff;border-color:transparent}
.search-form{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:20px!important}.search-form input[type="search"]{min-width:min(420px,100%)}
.error404 .ba-page-hero{min-height:calc(100svh - var(--ba-header-h));display:flex;align-items:center}.error404 .ba-page-hero h1{font-size:clamp(38px,6vw,82px)}

/* Accessibility safeguards */
.ba-site-footer h3,.ba-site-footer p,.ba-site-footer a,.ba-cta h2,.ba-cta p,.ba-cta a{color:#fff!important}.ba-site-footer a,.ba-footer-bottom{color:rgba(255,255,255,.82)!important}.ba-site-footer a:hover{color:#fff!important}.ba-price-card.featured,.ba-price-card.featured h3,.ba-price-card.featured p,.ba-price-card.featured li,.ba-price-card.featured .ba-price,.ba-price-card.featured span{color:#fff!important}.ba-price-card.featured .ba-btn{background:#fff!important;color:var(--ba-v34-purple)!important;border-color:#fff!important}.ba-eyebrow{color:var(--ba-v34-magenta);background:#fff;border-color:rgba(236,19,106,.18)}

/* Service detail visibility lock — never hide dynamic service DB content. */
body.single-services .ba-v239-main,body.single-services .ba-v239-service-shell,body.single-services .ba-v239-service-card,body.single-services .ba-v239-entry,body.single-services .entry-content{display:block!important;opacity:1!important;visibility:visible!important;overflow:visible!important;color:var(--ba-v34-text)!important}
body.single-services .ba-v239-entry p,body.single-services .ba-v239-entry li,body.single-services .ba-v239-entry div,body.single-services .ba-v239-entry span{visibility:visible;color:inherit}
body.single-services .ba-v239-service-card{background:#fff!important;border-color:var(--ba-v34-line)!important;box-shadow:var(--ba-v34-shadow)!important}
body.single-services .ba-v239-mini-icon{background:#fff!important;color:var(--ba-v34-purple)!important}

/* Performance-minded mobile reductions */
@media (max-width:1024px){.ba-form form,.wpcf7-form{grid-template-columns:1fr}.ba-card,.ba-service-card,.ba-price-card,.ba-work-card,.ba-icon-card,.ba-feature,.ba-entry,.ba-post-card,.ba-service-index-card{box-shadow:0 12px 34px rgba(26,26,46,.08)}.ba-card:hover,.ba-service-card:hover,.ba-price-card:hover,.ba-work-card:hover,.ba-icon-card:hover,.ba-feature:hover,.ba-post-card:hover,.ba-service-index-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(82,39,137,.12)}}
@media (max-width:700px){.ba-section:not(.ba-hero){padding-top:60px;padding-bottom:60px}.ba-section-head{text-align:left}.ba-v34-card-topline{align-items:flex-start}.ba-v34-card-label{white-space:normal}.ba-form,.ba-entry{border-radius:24px}.ba-actions .ba-btn{width:100%}.search-form input[type="search"],.search-form button{width:100%}}
@media (prefers-reduced-motion:reduce){.ba-section:not(.ba-hero) .ba-reveal{transition-delay:0ms!important}.ba-icon-card:hover .ba-icon,.ba-feature:hover .ba-icon,.ba-service-card:hover .ba-v34-card-icon{animation:none!important}.ba-btn:hover,.ba-card:hover,.ba-service-card:hover,.ba-price-card:hover,.ba-work-card:hover,.ba-icon-card:hover,.ba-feature:hover,.ba-post-card:hover,.ba-service-index-card:hover{transform:none!important}}
