body.ba-landing-v351 .ba-lp-mobile-toggle { display:none; }
/* Boost Agency v5.0.14 — sitewide responsive system.
   Loaded last. Scoped to the existing homepage and inner-page templates.
   Desktop layout, copy, pricing logic, scroll animation logic and SEO remain unchanged. */
:root { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.ba-v5, body.ba-landing-v351 { overflow-x:clip; }
body.ba-v5 *, body.ba-landing-v351 * { box-sizing:border-box; }
body.ba-v5 img, body.ba-landing-v351 img, body.ba-v5 video, body.ba-landing-v351 video { max-width:100%; }
body.ba-v5 :where(h1,h2,h3,p,a,li), body.ba-landing-v351 :where(h1,h2,h3,p,a,li) { overflow-wrap:break-word; }
body.ba-v5 :where(.v5-container,.v5-hero-copy,.v5-hero-art,.v5-section-intro,.v5-work-grid,.v5-project,.v5-contact-layout,.v5-contact-form),
body.ba-landing-v351 :where(.ba-lp-wrap,.ba-lp-hero-grid,.ba-lp-hero-copy,.ba-lp-contact-shell,.ba-lp-form-panel,.ba-lp-story-content) { min-width:0; }
body.ba-v5 :where(a,button,input,select,textarea):focus-visible,
body.ba-landing-v351 :where(a,button,input,select,textarea):focus-visible { outline:2px solid #b17aff; outline-offset:3px; }

@media (max-width:1024px) {
  /* Homepage: tablet should not have desktop-sized spacing and forced widths. */
  body.ba-v5 .v5-container { width:min(100% - 48px, 900px); }
  body.ba-v5 .v5-hero-grid { gap:clamp(18px,3vw,34px); }
  body.ba-v5 .v5-hero-copy, body.ba-v5 .v5-hero-art { min-width:0; }
  body.ba-v5 .v5-hero h1 { font-size:clamp(38px,4.8vw,58px); }
  body.ba-v5 .v5-services, body.ba-v5 .v5-work, body.ba-v5 .v5-process,
  body.ba-v5 .v5-faq, body.ba-v5 .v5-contact { padding-block:clamp(64px,7vw,86px); }
  body.ba-v5 .v5-section-intro { gap:24px; }
  body.ba-v5 .v5-work-grid { gap:22px; }
  body.ba-v5 .v5-project-art { min-width:0; }
  body.ba-v5 .v5-faq-grid { gap:clamp(22px,4vw,48px); }
  body.ba-landing-v351 .ba-lp-wrap { width:min(100% - 48px, 900px); }
  body.ba-landing-v351 .ba-lp-hero-grid { gap:25px; }
  body.ba-landing-v351 .ba-lp-feature-grid { gap:13px; }
  body.ba-landing-v351 .ba-lp-feature-card { min-width:0; }
}

@media (max-width:760px) {
  /* Home: balanced vertical rhythm, smaller but legible elements. */
  body.ba-v5 .v5-container { width:calc(100% - 36px); max-width:560px; }
  body.ba-v5 .v5-header, body.ba-v5 .v5-header.is-scrolled { height:68px; }
  body.ba-v5 .v5-header-inner { min-height:68px; gap:12px; }
  body.ba-v5 .v5-brand { width:clamp(128px,35vw,154px); flex-shrink:0; }
  body.ba-v5 .v5-menu-toggle { flex-shrink:0; }
  body.ba-v5 .v5-nav { top:68px; height:calc(100dvh - 68px); overscroll-behavior:contain; padding-bottom:max(36px,env(safe-area-inset-bottom)); }
  body.ba-v5 .v5-hero { padding-top:68px; }
  body.ba-v5 .v5-hero-copy { padding-top:clamp(32px,8vw,46px); }
  body.ba-v5 .v5-kicker { max-width:100%; letter-spacing:.07em; }
  body.ba-v5 .v5-hero h1 { font-size:clamp(32px,8.5vw,44px); line-height:1.13; letter-spacing:-.055em; margin:18px 0 13px; }
  body.ba-v5 .v5-hero-lead { font-size:clamp(13px,3.5vw,15px); line-height:1.64; }
  body.ba-v5 .v5-hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:21px; }
  body.ba-v5 .v5-hero-actions .v5-btn { width:100%; min-height:46px; font-size:clamp(10px,2.65vw,12px); padding:10px 12px; gap:6px; justify-content:center; white-space:normal; text-align:center; }
  body.ba-v5 .v5-hero-actions .v5-btn svg { width:15px; height:15px; flex-shrink:0; }
  body.ba-v5 .v5-hero-points { margin-top:23px; gap:7px; }
  body.ba-v5 .v5-hero-points > div { padding-right:5px; }
  body.ba-v5 .v5-hero-points strong { font-size:clamp(10px,2.6vw,12px); }
  body.ba-v5 .v5-hero-points small { font-size:clamp(9px,2.25vw,10px); line-height:1.35; }
  body.ba-v5 .v5-hero-art { width:100%; max-width:440px; height:clamp(280px,76vw,370px); margin:14px auto 0; transform:none; }
  body.ba-v5 .v5-identity-stage, body.ba-v5 .v5-identity-halo { max-width:100%; }
  body.ba-v5 .v5-identity-note { max-width:44%; }
  body.ba-v5 .v5-hero-bottom .v5-container { width:calc(100% - 36px); }
  body.ba-v5 .v5-trust-inner { justify-content:center; flex-wrap:wrap; gap:9px 15px; text-align:center; }
  body.ba-v5 .v5-trust-label { width:100%; }
  body.ba-v5 .v5-services, body.ba-v5 .v5-work, body.ba-v5 .v5-process,
  body.ba-v5 .v5-faq, body.ba-v5 .v5-contact { padding-block:clamp(52px,12vw,70px); }
  body.ba-v5 .v5-section-intro { margin-bottom:24px; }
  body.ba-v5 .v5-section-intro h2, body.ba-v5 .v5-faq h2 { font-size:clamp(27px,7.6vw,38px); line-height:1.15; }
  body.ba-v5 .v5-section-intro > p { font-size:clamp(13px,3.4vw,14px); line-height:1.65; margin-top:12px; }
  body.ba-v5 .v5-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.ba-v5 .v5-service-card { min-width:0; min-height:192px; padding:17px 15px 42px; border-radius:16px; }
  body.ba-v5 .v5-service-card h3 { font-size:clamp(14px,3.8vw,17px); line-height:1.25; margin-top:16px; }
  body.ba-v5 .v5-service-card p { font-size:clamp(11px,2.8vw,12px); line-height:1.55; margin-bottom:0; }
  body.ba-v5 .v5-service-foot { gap:12px; }
  body.ba-v5 .v5-work-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.ba-v5 .v5-project-art { aspect-ratio:1.5; border-radius:17px; }
  body.ba-v5 .v5-project-meta { padding:12px 2px 0; }
  body.ba-v5 .v5-project-meta h3 { font-size:clamp(19px,5vw,23px); }
  body.ba-v5 .v5-project-meta > span { display:initial; font-size:10px; }
  body.ba-v5 .v5-process .v5-section-intro { margin-bottom:24px; }
  body.ba-v5 .v5-steps.v5-steps-sequence { gap:12px; }
  body.ba-v5 .v5-steps.v5-steps-sequence .v5-step { padding:17px 17px 18px; row-gap:6px; border-radius:17px; }
  body.ba-v5 .v5-steps.v5-steps-sequence .v5-step h3 { font-size:clamp(19px,5.2vw,23px); }
  body.ba-v5 .v5-steps.v5-steps-sequence .v5-step p { font-size:clamp(12px,3.3vw,14px); line-height:1.55; }
  body.ba-v5 .v5-faq-grid, body.ba-v5 .v5-contact-layout { grid-template-columns:minmax(0,1fr); gap:23px; }
  body.ba-v5 .v5-contact h2 { font-size:clamp(32px,8.8vw,45px); }
  body.ba-v5 .v5-contact-form { padding:clamp(17px,5vw,23px); border-radius:19px; }
  body.ba-v5 .v5-contact-form h3 { font-size:clamp(20px,5.5vw,25px); }
  body.ba-v5 .v5-contact-form .ba-lp-form { gap:14px; }
  body.ba-v5 .v5-footer-main { padding:32px 0 23px; }
  body.ba-v5 .v5-footer-main nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  body.ba-v5 .v5-footer-main nav a { font-size:13px; }
  body.ba-v5 .v5-footer-bottom { padding-bottom:max(22px,env(safe-area-inset-bottom)); }

  /* All service/SEO/contact pages: one readable column, no clipped decoration. */
  body.ba-landing-v351 .ba-lp-wrap { width:calc(100% - 36px); max-width:560px; }
  body.ba-landing-v351 .ba-lp-header { position:relative; z-index:100; }
  body.ba-landing-v351 .ba-lp-nav-inner { min-height:68px; display:flex; align-items:center; flex-wrap:nowrap; justify-content:space-between; gap:12px; }
  body.ba-landing-v351 .ba-lp-brand { min-width:0; flex-shrink:1; }
  body.ba-landing-v351 .ba-lp-brand img { width:clamp(120px,34vw,151px); }
  body.ba-landing-v351 .ba-lp-mobile-toggle { display:inline-flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; width:44px; height:44px; border:1px solid rgba(198,174,255,.38); border-radius:13px; background:rgba(255,255,255,.045); color:#fff; cursor:pointer; flex:0 0 44px; }
  body.ba-landing-v351 .ba-lp-mobile-toggle span { width:19px; height:2px; border-radius:3px; background:currentColor; transition:transform .25s,opacity .25s; }
  body.ba-landing-v351 .ba-lp-mobile-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  body.ba-landing-v351 .ba-lp-mobile-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  body.ba-landing-v351 .ba-lp-header nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:110; background:#130e20; border-bottom:1px solid rgba(188,151,255,.22); box-shadow:0 18px 40px rgba(0,0,0,.28); padding:12px 18px 20px; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100dvh - 68px); overflow-y:auto; }
  body.ba-landing-v351 .ba-lp-header nav.is-open { display:flex; }
  body.ba-landing-v351 .ba-lp-header nav a:not(.ba-lp-nav-cta) { display:flex; padding:13px 8px; min-height:44px; font-size:14px; border-bottom:1px solid rgba(255,255,255,.07); }
  body.ba-landing-v351 .ba-lp-header nav .ba-lp-nav-cta { display:flex; justify-content:center; margin-top:14px; min-height:44px; font-size:13px; }
  body.ba-landing-v351 .ba-lp-hero { padding:clamp(46px,11vw,66px) 0 56px; }
  body.ba-landing-v351 .ba-lp-hero-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  body.ba-landing-v351 .ba-lp-hero h1 { font-size:clamp(34px,9vw,47px); line-height:1.13; margin:17px 0; overflow-wrap:anywhere; }
  body.ba-landing-v351 .ba-lp-subtitle { font-size:clamp(14px,3.6vw,16px); line-height:1.68; }
  body.ba-landing-v351 .ba-lp-hero-actions { margin-top:22px; gap:12px; }
  body.ba-landing-v351 .ba-lp-button { min-height:46px; padding:12px 17px; font-size:13px; }
  body.ba-landing-v351 .ba-lp-chips { margin-top:23px; gap:7px; }
  body.ba-landing-v351 .ba-lp-chips span { font-size:11px; }
  body.ba-landing-v351 .ba-lp-visual { min-height:clamp(235px,65vw,310px); margin-inline:auto; }
  body.ba-landing-v351 .ba-lp-visual-window { max-width:100%; }
  body.ba-landing-v351 .ba-lp-window-body { min-height:185px; }
  body.ba-landing-v351 .ba-lp-floating-note { right:0; max-width:85%; white-space:normal; }
  body.ba-landing-v351 .ba-lp-section { padding:clamp(53px,12vw,72px) 0; }
  body.ba-landing-v351 .ba-lp-section h2 { font-size:clamp(29px,7.8vw,39px); line-height:1.16; }
  body.ba-landing-v351 .ba-lp-section-head, body.ba-landing-v351 .ba-lp-story-grid,
  body.ba-landing-v351 .ba-lp-contact-shell { grid-template-columns:minmax(0,1fr); gap:18px; }
  body.ba-landing-v351 .ba-lp-section-head { margin-bottom:22px; }
  body.ba-landing-v351 .ba-lp-section-head > p { font-size:14px; line-height:1.65; }
  body.ba-landing-v351 .ba-lp-feature-grid { grid-template-columns:minmax(0,1fr); gap:11px; }
  body.ba-landing-v351 .ba-lp-feature-card { padding:20px; min-height:0; border-radius:17px; }
  body.ba-landing-v351 .ba-lp-feature-card h3 { margin:18px 0 8px; font-size:18px; }
  body.ba-landing-v351 .ba-lp-feature-card p { font-size:13px; line-height:1.6; }
  body.ba-landing-v351 .ba-lp-story-content { padding-left:16px; }
  body.ba-landing-v351 .ba-lp-story-content :where(p,li) { font-size:14px; line-height:1.7; }
  body.ba-landing-v351 .ba-lp-contact-shell { gap:0; border-radius:20px; }
  body.ba-landing-v351 .ba-lp-contact-intro { padding:23px 20px; }
  body.ba-landing-v351 .ba-lp-contact-intro h2 { font-size:clamp(27px,7.4vw,35px); }
  body.ba-landing-v351 .ba-lp-contact-intro > p { font-size:13px; line-height:1.65; margin:13px 0 18px; }
  body.ba-landing-v351 .ba-lp-contact-links { gap:9px; }
  body.ba-landing-v351 .ba-lp-contact-links a { font-size:13px; }
  body.ba-landing-v351 .ba-lp-form-panel { padding:20px; }
  body.ba-landing-v351 .ba-lp-form { gap:14px; }
  body.ba-landing-v351 .ba-lp-form-row { grid-template-columns:minmax(0,1fr); gap:13px; }
  body.ba-landing-v351 .ba-lp-related-grid { grid-template-columns:minmax(0,1fr); gap:9px; margin-top:20px; }
  body.ba-landing-v351 .ba-lp-related-grid a { padding:16px; min-height:52px; }
  body.ba-landing-v351 .ba-lp-footer .ba-lp-wrap { gap:9px; }
}

@media (max-width:480px) {
  body.ba-v5 .v5-hero h1 { font-size:clamp(31px,8.6vw,40px); }
  body.ba-v5 .v5-hero-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.ba-v5 .v5-service-card { min-height:178px; }
  body.ba-v5 .v5-project-art { aspect-ratio:1.35; }
  body.ba-v5 .v5-faq-items summary { font-size:14px; }
  body.ba-landing-v351 .ba-lp-hero-actions { flex-direction:column; align-items:stretch; }
  body.ba-landing-v351 .ba-lp-button { justify-content:center; }
  body.ba-landing-v351 .ba-lp-text-link { align-self:center; }
}
@media (max-width:370px) {
  body.ba-v5 .v5-container, body.ba-landing-v351 .ba-lp-wrap { width:calc(100% - 28px); }
  body.ba-v5 .v5-hero-actions { grid-template-columns:minmax(0,1fr); }
  body.ba-v5 .v5-hero-actions .v5-btn { min-height:43px; }
  body.ba-v5 .v5-hero-points { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.ba-v5 .v5-services-grid { grid-template-columns:minmax(0,1fr); }
  body.ba-v5 .v5-service-card { min-height:150px; }
  body.ba-v5 .v5-hero-art { height:260px; }
  body.ba-v5 .v5-steps.v5-steps-sequence .v5-step { padding:16px 14px; }
  body.ba-landing-v351 .ba-lp-hero h1 { font-size:clamp(31px,9.2vw,36px); }
  body.ba-landing-v351 .ba-lp-visual { min-height:225px; }
}
/* Form fields: consistent tap target, iOS zoom prevention, no broken labels. */
@media (max-width:760px) {
  body.ba-v5 .ba-lp-form input:not([type=checkbox]), body.ba-v5 .ba-lp-form select, body.ba-v5 .ba-lp-form textarea,
  body.ba-landing-v351 .ba-lp-form input:not([type=checkbox]), body.ba-landing-v351 .ba-lp-form select, body.ba-landing-v351 .ba-lp-form textarea { display:block; width:100%; min-width:0; max-width:100%; font-size:16px; min-height:46px; border-radius:12px; }
  body.ba-v5 .ba-lp-form textarea, body.ba-landing-v351 .ba-lp-form textarea { min-height:112px; }
  body.ba-v5 .ba-lp-form label, body.ba-landing-v351 .ba-lp-form label { min-width:0; line-height:1.4; }
  body.ba-v5 .ba-lp-form .ba-lp-consent, body.ba-landing-v351 .ba-lp-form .ba-lp-consent { display:flex; flex-direction:row; align-items:flex-start; gap:10px; font-size:12px; line-height:1.55; }
  body.ba-v5 .ba-lp-form .ba-lp-consent input, body.ba-landing-v351 .ba-lp-form .ba-lp-consent input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; }
  body.ba-v5 .ba-lp-submit, body.ba-landing-v351 .ba-lp-submit { min-height:48px; font-size:14px; }
}
@media (hover:none) and (pointer:coarse) {
  body.ba-v5 .v5-service-card:hover, body.ba-v5 .v507-plan:hover,
  body.ba-landing-v351 .ba-lp-feature-card:hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  body.ba-v5 *,body.ba-landing-v351 * { scroll-behavior:auto!important; }
}
