/* V3.4: scoped responsive cleanup. No Gutenberg content replacement. */
@media (max-width:767px) {
  /* V2 previously reserved 65px for a missing floating CTA; no blank strip below footer. */
  body:has(.ws-main .ws-v32) { padding-bottom:0 !important; margin-bottom:0 !important; }
  .ws-main:has(.ws-v32) { padding-bottom:0 !important; }
  .site-footer { margin-bottom:0 !important; }
  /* Mobile CTA returns. Keep a button-height tap target and hide it on footer exposure. */
  body:has(.ws-main .ws-v32) .ws-mobile-cta {
    position:fixed !important;display:flex !important;align-items:center;justify-content:center;
    min-height:50px;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:16px;
    z-index:950;padding:12px 18px;background:#1268e7;color:#fff!important;border-radius:12px;
    box-shadow:0 10px 28px rgba(6,44,95,.28);font-size:15px;font-weight:700;line-height:1.3;
    text-decoration:none!important;font-family:Inter,"Segoe UI",Arial,sans-serif;transition:opacity .2s,transform .2s;
  }
  body.ws-v34-footer-visible .ws-mobile-cta,
  body.ws-v34-hero-visible .ws-mobile-cta {opacity:0;pointer-events:none;transform:translateY(20px);}
  /* Mobile workflow cards: number on its own legible line; icon to the left. */
  .ws-main .ws-v32 .sequence-item {
    display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto auto;
    column-gap:13px;row-gap:5px;padding:17px;align-items:start;
  }
  .ws-main .ws-v32 .sequence-item .icon-tile {
    grid-column:1;grid-row:1 / span 3;width:46px;height:46px;
    margin:4px 0 0;align-self:start;
  }
  .ws-main .ws-v32 .sequence-item .num {
    grid-column:2;grid-row:1;display:block;min-width:0;width:100%;
    overflow-wrap:normal;word-break:normal;white-space:normal;
    font-size:12px;line-height:1.4;letter-spacing:.02em;
  }
  .ws-main .ws-v32 .sequence-item h3 {grid-column:2;grid-row:2;margin:0;line-height:1.35}
  .ws-main .ws-v32 .sequence-item p {grid-column:2;grid-row:3;margin:0;min-width:0}
  .ws-main .ws-v32 .hero-tokens span {font-size:12px;line-height:1.5}
  .ws-main .ws-v32 .overline {font-size:12px;letter-spacing:.085em}
  .ws-main .ws-v32 .quicklist {grid-template-columns:1fr 1fr;gap:10px 12px}
  .ws-main .ws-v32 .quicklist span {font-size:13px;line-height:1.45;min-width:0}
  .ws-main .ws-v32 .service .tag {font-size:12px}
  .ws-main .ws-v32 .service .link-inline {font-size:14px}
  .ws-main .ws-v32 .pricecard .smallcaps {font-size:12px}
  .ws-main .ws-v32 .pricecard li {font-size:14px;line-height:1.5}
  .ws-main .ws-v32 .showcase-body small {font-size:12px}
}
@media (min-width:768px) and (max-width:1023px) {
  .ws-main .ws-v32 .connect-layout {grid-template-columns:1fr;gap:28px}
  .ws-main .ws-v32 .sequence {grid-template-columns:repeat(3,minmax(0,1fr))}
  .ws-main .ws-v32 .sequence-item .num {overflow-wrap:normal;word-break:normal}
}
/* User-managed font sizes in Customizer: desktop / tablet / mobile. */
.ws-main .ws-v32 .hero h1{font-size:var(--ws-v34-hero,64px)!important;line-height:1.13!important;font-weight:700!important;overflow-wrap:normal;word-break:normal}
.ws-main .ws-v32 h2{font-size:var(--ws-v34-heading,42px)!important;line-height:1.24!important;font-weight:700!important;overflow-wrap:normal;word-break:normal}
.ws-main .ws-v32 .hero p,
.ws-main .ws-v32 .section-head p,
.ws-main .ws-v32 .service p,
.ws-main .ws-v32 .connect-layout > div:first-child > p,
.ws-main .ws-v32 .sequence-item p,
.ws-main .ws-v32 .pricefoot p,
.ws-main .ws-v32 .showcase-body p,
.ws-main .ws-v32 .benefit-list p,
.ws-main .ws-v32 .workstep p,
.ws-main .ws-v32 .faqanswer p,
.ws-main .ws-v32 .endpanel p,
.ws-main .ws-v32 .benefit-grid > div > p {
  font-size:var(--ws-v34-body,15px)!important;line-height:1.65!important;font-weight:400!important;
}
/* Other regular descriptions that were previously 10-12 px. */
.ws-main .ws-v32 .service-intro,
.ws-main .ws-v32 .pricecard .duration,
.ws-main .ws-v32 .showcase-foot {font-size:clamp(13px,calc(var(--ws-v34-body,15px) - 2px),19px)!important;line-height:1.6}
.ws-main .ws-v32 .sequence-item p {min-width:0;overflow-wrap:break-word}
.ws-main .ws-v32 .service,.ws-main .ws-v32 .pricecard,.ws-main .ws-v32 .sequence-item{min-width:0}
.ws-main .ws-v32 .shell {max-width:100%}
@media (max-width:767px) {
  .ws-main .ws-v32 .hero h1 {letter-spacing:-.037em!important}
  .ws-main .ws-v32 .hero p{margin-top:15px!important}
  .ws-main .ws-v32 .section {padding-top:45px;padding-bottom:45px}
  .ws-main .ws-v32 .end {padding-bottom:35px}
  .ws-main .ws-v32 .service p,
  .ws-main .ws-v32 .showcase-body p {margin-top:10px}
}
@media (prefers-reduced-motion:reduce) {
  .ws-mobile-cta {transition:none!important}
}
