/*
Build Awesome V3.6 Production Hardening
Scope: responsive UX, accessibility, schema-facing layout polish, fallbacks, empty states, and safer animation.
Locked areas protected: no carousel-positioning changes and no service-detail content hiding.
*/

:root{
  --ba-v36-focus:#2563eb;
  --ba-v36-safe-text:#1a1a2e;
  --ba-v36-soft-panel:rgba(255,255,255,.86);
  --ba-v36-border:rgba(82,39,137,.16);
  --ba-v36-glow:0 20px 60px rgba(236,19,106,.16),0 10px 30px rgba(82,39,137,.12);
  --ba-v36-mobile-gap:18px;
}

html{scroll-padding-top:calc(var(--ba-header-h,82px) + 18px)}
body{word-break:normal;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video,canvas{max-width:100%}
img{height:auto;vertical-align:middle}

/* Accessibility: visible skip link and keyboard states. */
.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.screen-reader-text:focus{
  position:fixed!important;
  top:14px;left:14px;z-index:100000;
  width:auto;height:auto;margin:0;
  clip:auto;overflow:visible;white-space:normal;
  padding:12px 16px;border-radius:999px;
  background:#fff;color:var(--ba-v36-safe-text)!important;
  box-shadow:0 10px 30px rgba(26,26,46,.2);
  outline:3px solid var(--ba-v36-focus);
}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid var(--ba-v36-focus)!important;
  outline-offset:4px;
  box-shadow:0 0 0 6px rgba(37,99,235,.16)!important;
}
input::placeholder,textarea::placeholder{color:#625b73;opacity:1}
label{font-weight:700;color:var(--ba-v36-safe-text)}
.ba-btn:focus-visible,.ba-card-link:focus-visible,.ba-menu-toggle:focus-visible,.ba-nav-trigger:focus-visible{border-radius:999px}

/* Header/nav visual polish only. No menu behavior changes. */
.ba-site-header{backdrop-filter:saturate(140%) blur(18px);-webkit-backdrop-filter:saturate(140%) blur(18px)}
.ba-site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(236,19,106,.28),rgba(82,39,137,.24),transparent);pointer-events:none}
.ba-primary-menu>li>a,.ba-nav-trigger{position:relative}
.ba-primary-menu>li>a::after,.ba-nav-trigger::after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;border-radius:99px;background:linear-gradient(90deg,#ec136a,#f3552c);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.ba-primary-menu>li>a:hover::after,.ba-primary-menu>li>a:focus-visible::after,.ba-nav-trigger:hover::after,.ba-nav-trigger:focus-visible::after{transform:scaleX(1)}
.ba-header-actions{gap:10px;flex-wrap:nowrap}
.ba-menu-toggle{min-width:46px;min-height:46px;touch-action:manipulation}

/* Hero responsive text polish only. No slide positioning, height, scroll trap, or carousel mechanics. */
.ba-hero h1,.ba-hero h2{line-height:1.04;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
.ba-hero .ba-lead{max-width:68ch;text-wrap:pretty}
.ba-hero-actions,.ba-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ba-hero .ba-btn{white-space:normal;text-align:center}

/* Section/card/form responsive production layer. */
.ba-section,.ba-page-wrap{position:relative;isolation:isolate}
.ba-section-head h2,.ba-page-hero h1,.ba-entry h1,.ba-entry h2{text-wrap:balance;overflow-wrap:break-word}
.ba-section-head p,.ba-lead,.ba-entry p{text-wrap:pretty}
.ba-card-grid,.ba-archive-grid,.ba-dynamic-grid,.ba-service-index-grid{align-items:stretch}
.ba-post-card,.ba-service-index-card,.ba-v35-case-card,.ba-v35-trust-card,.ba-card,.ba-service-card{min-width:0;overflow:hidden}
.ba-post-card h3,.ba-service-index-card h2,.ba-service-card h3,.ba-v35-case-card h3{overflow-wrap:break-word}
.ba-entry{max-width:100%}
.ba-v35-single-entry{max-width:920px;margin-left:auto;margin-right:auto;font-size:clamp(1rem,.95rem + .22vw,1.08rem);line-height:1.85}
.ba-v35-single-entry :is(h2,h3,h4){margin-top:1.55em;line-height:1.18}
.ba-v35-single-entry :is(ul,ol){padding-left:1.35em}
.ba-v35-single-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Branded image fallback and frame consistency. */
.ba-v35-image-frame,.ba-service-index-image,.ba-post-thumb,.ba-entry-featured-image,.ba-v35-featured-frame{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,rgba(236,19,106,.12),rgba(82,39,137,.12),rgba(243,85,44,.10));border:1px solid var(--ba-v36-border)}
.ba-v35-image-frame img,.ba-service-index-image img,.ba-post-thumb img,.ba-entry-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .36s ease,filter .36s ease}
.ba-v35-image-frame:hover img,.ba-service-index-image:hover img,.ba-post-thumb:hover img{transform:scale(1.035);filter:saturate(1.06)}
.ba-v35-image-placeholder,.ba-v36-empty-icon{
  min-height:220px;width:100%;display:grid;place-items:center;text-align:center;gap:8px;padding:24px;
  background:radial-gradient(circle at 25% 15%,rgba(236,19,106,.30),transparent 36%),radial-gradient(circle at 80% 70%,rgba(243,85,44,.25),transparent 34%),linear-gradient(135deg,#522789,#b41783);
  color:#fff;
}
.ba-v35-image-placeholder i,.ba-v36-empty-icon svg{display:grid;place-items:center;width:54px;height:54px;color:#fff;filter:drop-shadow(0 10px 20px rgba(0,0,0,.22))}
.ba-v35-image-placeholder b{display:block;font-family:Poppins,Inter,sans-serif;font-weight:800;letter-spacing:.02em;color:#fff}
.ba-service-index-image>span{display:flex;min-height:190px;align-items:center;justify-content:center;padding:22px;background:linear-gradient(135deg,#522789,#b41783,#f3552c);color:#fff;font-weight:800;text-align:center}

/* Empty/recovery states. */
.ba-v36-empty-state{
  display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:28px;align-items:center;
  padding:clamp(24px,4vw,44px);border-radius:30px;border:1px solid var(--ba-v36-border);
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,243,247,.82));box-shadow:var(--ba-v36-glow);
}
.ba-v36-empty-state h2{margin:.15em 0;color:#522789;font-size:clamp(1.55rem,2.5vw,2.45rem)}
.ba-v36-empty-state p{margin:0 0 18px;color:#443957;max-width:760px}
.ba-v36-empty-icon{border-radius:24px;min-height:180px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)}
.ba-v36-recovery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.ba-v36-recovery-link{display:grid;gap:10px;align-content:center;min-height:128px;padding:18px;border-radius:22px;background:var(--ba-v36-soft-panel);border:1px solid var(--ba-v36-border);box-shadow:0 16px 36px rgba(82,39,137,.10);color:#1a1a2e;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.ba-v36-recovery-link span{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#ec136a,#522789);color:#fff}
.ba-v36-recovery-link:hover{transform:translateY(-4px);box-shadow:var(--ba-v36-glow);border-color:rgba(236,19,106,.28)}
.ba-v36-recovery-link strong{color:#1a1a2e}

/* Form production polish. */
.search-form input[type="search"],.ba-v35-newsletter input,input[type="text"],input[type="email"],input[type="tel"],input[type="url"],textarea,select{
  max-width:100%;font:inherit;color:var(--ba-v36-safe-text);background:#fff;border:1px solid rgba(82,39,137,.22);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
:where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],textarea,select):focus{
  border-color:#522789;box-shadow:0 0 0 5px rgba(82,39,137,.12);background:#fff;
}
textarea{min-height:140px;resize:vertical}
.ba-v35-newsletter div{display:flex;gap:8px;align-items:center}.ba-v35-newsletter input{min-width:0}

/* Gradient contrast safety. */
.ba-v35-cta-card,.ba-final-cta-card,.ba-v35-footer-cta{color:#fff}
.ba-v35-cta-card :is(h2,p,.ba-lead),.ba-final-cta-card :is(h2,p,.ba-lead),.ba-v35-footer-cta :is(h2,p){color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.16)}
.ba-v35-cta-card .ba-btn:not(.ba-btn-primary),.ba-final-cta-card .ba-btn:not(.ba-btn-primary),.ba-v35-footer-cta .ba-btn:not(.ba-btn-primary){background:#fff;color:#522789!important;border-color:rgba(255,255,255,.7)}
.ba-site-footer,.ba-site-footer p,.ba-site-footer li,.ba-site-footer a{overflow-wrap:break-word}

/* Service detail visibility guard: do not hide database content. */
.single-services .ba-v239-entry,.single-services .ba-v239-service-card,.single-services .entry-content,.single-services .ba-v239-main,.single-services .ba-v239-service-shell{
  opacity:1!important;visibility:visible!important;transform:none!important;display:block!important;contain:none!important;overflow:visible!important;
}
.single-services .ba-v239-entry *{visibility:visible}

/* Breakpoints. */
@media (max-width:1280px){
  .ba-v36-recovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .ba-header-inner{gap:14px}
  .ba-header-actions .ba-btn-small{padding-inline:14px;font-size:.9rem}
  .ba-archive-grid,.ba-card-grid,.ba-service-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-footer-grid,.ba-v35-footer-grid{grid-template-columns:1fr 1fr!important;gap:28px}
  .ba-v36-empty-state{grid-template-columns:1fr}
}
@media (max-width:768px){
  :root{--ba-header-h:72px}
  .ba-container{width:min(100% - 28px,1180px)}
  .ba-site-header{min-height:72px}
  .ba-header-inner{min-height:72px;padding-block:10px}
  .ba-logo span{font-size:.96rem;line-height:1.1}.ba-logo img{max-width:42px;height:auto}
  .ba-header-actions .ba-btn-small{display:none}
  .ba-menu-toggle{display:inline-grid!important;place-items:center}
  .ba-hero h1{font-size:clamp(2rem,11vw,3.25rem)}
  .ba-hero h2{font-size:clamp(1.75rem,8.5vw,2.75rem)}
  .ba-page-hero h1{font-size:clamp(2rem,9vw,3rem)}
  .ba-hero-actions,.ba-actions{gap:10px}.ba-actions .ba-btn,.ba-hero-actions .ba-btn{width:100%;justify-content:center}
  .ba-archive-grid,.ba-card-grid,.ba-service-index-grid,.ba-dynamic-grid{grid-template-columns:1fr!important;gap:var(--ba-v36-mobile-gap)}
  .ba-page-wrap,.ba-section{padding-block:clamp(42px,10vw,72px)}
  .ba-section-head{margin-bottom:24px}
  .ba-post-card,.ba-service-index-card,.ba-v35-case-card,.ba-card{border-radius:22px}
  .ba-v36-recovery-grid{grid-template-columns:1fr 1fr}
  .ba-footer-grid,.ba-v35-footer-grid{grid-template-columns:1fr!important}
  .ba-v35-footer-cta{grid-template-columns:1fr!important;text-align:left}
  .search-form{width:100%}.search-form input[type="search"]{flex:1 1 100%}.search-form button{width:100%}
  .ba-v35-single-entry{font-size:1rem;line-height:1.78}
}
@media (max-width:520px){
  .ba-container{width:min(100% - 22px,1180px)}
  .ba-page-hero,.ba-section{overflow:hidden}
  .ba-v36-recovery-grid{grid-template-columns:1fr}
  .ba-v36-empty-state{padding:20px;border-radius:24px}.ba-v36-empty-icon{min-height:150px}
  .ba-v35-newsletter div{flex-direction:column;align-items:stretch}.ba-v35-newsletter button{min-height:46px;border-radius:999px}
  .ba-post-card p,.ba-service-index-card p{font-size:.96rem}
}

/* Reduce expensive effects and motion on mobile/low-motion preference. */
@media (max-width:768px){
  .ba-card,.ba-post-card,.ba-service-index-card,.ba-v35-case-card,.ba-v35-trust-card{box-shadow:0 12px 28px rgba(82,39,137,.10)!important}
  .ba-cursor-glow{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ba-reveal,.slide-up,.fade-in{opacity:1!important;transform:none!important;visibility:visible!important}
}
.ba-v36-search-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.ba-v36-search-form input[type="search"]{min-height:48px;border-radius:999px;padding:0 16px;flex:1 1 240px}
.ba-v36-search-form .ba-btn{min-height:48px}
.ba-v36-featured-visual{margin-bottom:clamp(22px,4vw,34px)}
.ba-v36-featured-visual .ba-v35-image-placeholder{min-height:260px}
