:root{--esb-dark:#0b0b0c;--esb-black:#050506;--esb-gold:#d9a928;--esb-yellow:#f5c542;--esb-cream:#fff7e5;--esb-white:#fff;--esb-muted:#6f6b61;--esb-border:rgba(217,169,40,.24);--esb-radius:22px;--esb-shadow:0 22px 60px rgba(0,0,0,.18)}
.esb-page{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161616}.esb-container{width:min(1160px,calc(100% - 32px));margin:auto}.esb-hero{background:radial-gradient(circle at 78% 20%,rgba(245,197,66,.22),transparent 28%),linear-gradient(135deg,var(--esb-black),var(--esb-dark));color:var(--esb-white);padding:clamp(70px,10vw,128px) 0;position:relative;overflow:hidden}.esb-hero:after{content:"";position:absolute;inset:auto -10% -35% auto;width:520px;height:520px;background:linear-gradient(45deg,transparent,var(--esb-gold),transparent);opacity:.12;transform:rotate(25deg);border-radius:80px}.esb-hero-grid,.esb-two{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,5vw,64px);align-items:center}.esb-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--esb-gold);font-size:.78rem;font-weight:800;margin:0 0 10px}.esb-hero h1,.esb-section h2{font-size:clamp(2.15rem,5vw,4.8rem);line-height:.95;margin:0 0 20px;letter-spacing:-.045em}.esb-section h2{font-size:clamp(1.9rem,3.6vw,3.25rem);color:#111}.esb-hero p,.esb-lead{font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65;max-width:760px;color:rgba(255,255,255,.82)}.esb-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.esb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;text-decoration:none!important;font-weight:850;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.esb-btn:hover{transform:translateY(-2px)}.esb-btn-primary{background:linear-gradient(135deg,var(--esb-gold),var(--esb-yellow));color:#111!important;box-shadow:0 14px 34px rgba(217,169,40,.25)}.esb-btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff!important}.esb-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.esb-badges span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:999px;padding:7px 12px;font-size:.85rem}.esb-hero-panel,.esb-card{background:#fff;border:1px solid var(--esb-border);border-radius:var(--esb-radius);box-shadow:var(--esb-shadow);padding:clamp(20px,3vw,34px)}.esb-hero-panel{background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.16)}.esb-hero-panel h2{color:#fff;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.05}.esb-bolt{font-size:4rem;color:var(--esb-yellow)}.esb-section{padding:clamp(56px,8vw,96px) 0}.esb-soft{background:linear-gradient(180deg,var(--esb-cream),#fff)}.esb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.esb-card h3,.esb-service-card h3{font-size:1.2rem;margin:.2rem 0 .7rem}.esb-card p,.esb-service-card p,.esb-section p, .esb-section li{line-height:1.7;color:#514d45}.esb-card-dark{background:linear-gradient(135deg,#111,#25200e);color:#fff}.esb-card-dark h3,.esb-card-dark p{color:#fff}.esb-service-card{display:block;background:#fff;border:1px solid var(--esb-border);border-radius:var(--esb-radius);padding:24px;text-decoration:none!important;color:#111;box-shadow:0 12px 34px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease}.esb-service-card:hover{transform:translateY(-4px);box-shadow:var(--esb-shadow)}.esb-service-card span{color:var(--esb-gold);font-size:1.5rem}.esb-process{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:25px}.esb-process div{background:#fff;border-radius:18px;padding:22px;border:1px solid var(--esb-border);text-align:center}.esb-process strong{display:block;font-size:2rem;color:var(--esb-gold)}.esb-local,.esb-final{background:linear-gradient(135deg,#121212,#0b0b0c);color:#fff}.esb-local h2,.esb-final h2,.esb-local p,.esb-final p{color:#fff}.esb-request-form{background:#fff;border:1px solid var(--esb-border);border-radius:var(--esb-radius);padding:clamp(20px,4vw,34px);box-shadow:var(--esb-shadow)}.esb-request-form label{display:block;font-weight:750;margin:0 0 14px;color:#191919}.esb-request-form input,.esb-request-form select,.esb-request-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ddd5c2;border-radius:14px;padding:13px 14px;font:inherit;background:#fff}.esb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.esb-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}.esb-check input{width:auto;margin-top:4px}.esb-hp{position:absolute;left:-9999px}.esb-success{background:#edf8ef;color:#145c24;border:1px solid #bfe7c7;border-radius:14px;padding:12px;margin-bottom:16px}.esb-checks li{margin-bottom:8px}.esb-steps li{margin-bottom:10px}.esb-related{display:flex;gap:10px;flex-wrap:wrap}.esb-related a{border:1px solid var(--esb-border);border-radius:999px;padding:10px 14px;text-decoration:none!important;color:#111;background:#fff}details{background:#fff;border:1px solid var(--esb-border);border-radius:18px;padding:18px 20px;margin:12px 0}summary{font-weight:850;cursor:pointer}@media(max-width:900px){.esb-hero-grid,.esb-two,.esb-grid-3,.esb-process{grid-template-columns:1fr}.esb-hero{padding:64px 0}.esb-form-grid{grid-template-columns:1fr}.esb-section{padding:52px 0}.esb-actions .esb-btn{width:100%}.esb-container{width:min(100% - 24px,1160px)}}

/* v1.3.0: Twenty Twenty-Five / block-theme page takeover helpers. */
body.esb-site-builder-page .wp-site-blocks,
body.esb-site-builder-page main,
body.esb-site-builder-page .entry-content,
body.esb-site-builder-page .wp-block-post-content{overflow-x:clip;}
body.esb-site-builder-page .entry-content,
body.esb-site-builder-page .wp-block-post-content{margin-block-start:0!important;}
body.esb-site-builder-page .entry-content > .wp-block-shortcode,
body.esb-site-builder-page .wp-block-post-content > .wp-block-shortcode{max-width:none!important;width:100%!important;margin:0!important;}
body.esb-site-builder-page .wp-block-post-title{display:none!important;}
body.esb-site-builder-page .esb-page,
.esb-pattern{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;}
body.esb-site-builder-page .esb-page *{box-sizing:border-box;}
.esb-page a:focus-visible,.esb-pattern a:focus-visible,.esb-request-form input:focus-visible,.esb-request-form select:focus-visible,.esb-request-form textarea:focus-visible{outline:3px solid var(--esb-yellow);outline-offset:3px;}
.esb-section{padding:var(--esb-section-space,clamp(56px,8vw,96px)) 0;}
.esb-page .esb-hero,.esb-pattern-hero{min-height:min(720px,82vh);display:flex;align-items:center;}
.esb-page .esb-hero-grid{position:relative;z-index:1;}
.esb-page h1,.esb-page h2,.esb-page h3,.esb-pattern h1,.esb-pattern h2,.esb-pattern h3{text-wrap:balance;}
.esb-page p,.esb-pattern p{text-wrap:pretty;}
.esb-pattern{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161616;}
.esb-pattern .esb-container{width:min(1160px,calc(100% - 32px));margin:auto;}

/* Animation system: activated by frontend.js and disabled for reduced-motion users. */
body.esb-animations-enabled .esb-animate{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;will-change:opacity,transform;}
body.esb-animations-enabled .esb-animate.esb-inview{opacity:1;transform:none;}
body.esb-animations-enabled .esb-animate.esb-delay-1{transition-delay:.08s;}
body.esb-animations-enabled .esb-animate.esb-delay-2{transition-delay:.16s;}
body.esb-animations-enabled .esb-animate.esb-delay-3{transition-delay:.24s;}
body.esb-animations-enabled .esb-service-card:hover,.esb-card:hover{transform:translateY(-4px);}
body.esb-animations-enabled .esb-bolt{animation:esbPulseBolt 2.8s ease-in-out infinite;}
@keyframes esbPulseBolt{0%,100%{filter:drop-shadow(0 0 0 rgba(245,197,66,0));transform:scale(1)}50%{filter:drop-shadow(0 0 18px rgba(245,197,66,.38));transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.esb-animate{opacity:1!important;transform:none!important;transition:none!important}.esb-bolt{animation:none!important}.esb-btn,.esb-service-card{transition:none!important}}

/* Optional mobile call bar for generated pages. */
.esb-mobile-callbar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;gap:10px;background:rgba(5,5,6,.92);backdrop-filter:blur(10px);padding:10px;border:1px solid rgba(217,169,40,.35);border-radius:999px;box-shadow:0 18px 48px rgba(0,0,0,.32)}
.esb-mobile-callbar a{flex:1;text-align:center;text-decoration:none!important;border-radius:999px;padding:11px 10px;font-weight:850;color:#111;background:linear-gradient(135deg,var(--esb-gold),var(--esb-yellow));}
.esb-mobile-callbar a:last-child{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}
@media(max-width:760px){body.esb-site-builder-page.esb-show-callbar .esb-mobile-callbar{display:flex}body.esb-site-builder-page{padding-bottom:76px}}

/* v1.4 Launch Mode: Twenty Twenty-Five / block-theme takeover for generated ESB pages */
body.esb-launch-mode.esb-site-builder-page .wp-site-blocks > header,
body.esb-launch-mode.esb-site-builder-page .wp-block-template-part:has(header),
body.esb-launch-mode.esb-site-builder-page header.wp-block-template-part,
body.esb-launch-mode.esb-site-builder-page .wp-site-blocks > footer,
body.esb-launch-mode.esb-site-builder-page footer.wp-block-template-part {
  display: none !important;
}
body.esb-launch-mode.esb-site-builder-page .wp-site-blocks,
body.esb-launch-mode.esb-site-builder-page main,
body.esb-launch-mode.esb-site-builder-page .entry-content,
body.esb-launch-mode.esb-site-builder-page .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.esb-launch-mode.esb-site-builder-page .alignwide,
body.esb-launch-mode.esb-site-builder-page .alignfull,
body.esb-launch-mode.esb-site-builder-page .entry-content > *,
body.esb-launch-mode.esb-site-builder-page .wp-block-post-content > * {
  max-width: none !important;
}
.esb-launch-header {
  position: sticky;
  top: 0;
  z-index: 9998;
  background: rgba(8,8,9,.94);
  border-bottom: 1px solid rgba(245,197,66,.22);
  backdrop-filter: blur(14px);
  color: var(--esb-white, #fff);
}
.admin-bar .esb-launch-header { top: 32px; }
.esb-launch-container {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}
.esb-launch-header .esb-launch-container {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
}
.esb-launch-brand {
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: max-content;
}
.esb-launch-brand img { width: 44px; height: 44px; object-fit: contain; border-radius: 8px; }
.esb-launch-brand strong { display:block; font-size: 1rem; letter-spacing: -.02em; }
.esb-launch-brand small { display:block; color: rgba(255,255,255,.68); font-size: .72rem; margin-top: 2px; }
.esb-launch-nav { display:flex; gap: 18px; align-items:center; justify-content:center; flex:1; }
.esb-launch-nav a, .esb-launch-mobile-nav a { color: rgba(255,255,255,.86) !important; text-decoration:none; font-size:.94rem; }
.esb-launch-nav a:hover, .esb-launch-mobile-nav a:hover { color: var(--esb-gold, #d9a928) !important; }
.esb-launch-actions { display:flex; align-items:center; gap: 12px; }
.esb-phone-link { color: var(--esb-gold, #d9a928) !important; font-weight: 800; text-decoration:none; }
.esb-menu-toggle { display:none; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:9px 14px; }
.esb-launch-mobile-nav { display:none; padding: 0 16px 18px; border-top: 1px solid rgba(255,255,255,.09); }
.esb-launch-mobile-nav.is-open { display:grid; gap:12px; }
.esb-launch-footer { background:#080809; color:rgba(255,255,255,.78); padding:56px 0 20px; border-top:1px solid rgba(245,197,66,.2); }
.esb-launch-footer a { color:#fff !important; text-decoration:none; }
.esb-launch-footer h2, .esb-launch-footer h3 { color:#fff; margin-top:0; }
.esb-footer-grid { display:grid; grid-template-columns: 1.4fr .8fr .8fr 1fr; gap:32px; }
.esb-footer-license { color: var(--esb-gold, #d9a928); font-weight:800; }
.esb-footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:24px; margin-top:32px; border-top:1px solid rgba(255,255,255,.1); font-size:.85rem; }
.esb-trust-strip { background:#111114; color:#fff; border-top:1px solid rgba(245,197,66,.18); border-bottom:1px solid rgba(245,197,66,.18); }
.esb-trust-strip .esb-container { display:grid; grid-template-columns: repeat(4,1fr); gap:18px; padding-block:24px; }
.esb-trust-strip strong { display:block; color:var(--esb-gold, #d9a928); }
.esb-ai-summary { border-left: 4px solid var(--esb-gold, #d9a928); background: #fff9e8; padding: 22px; border-radius: 16px; }
@media (max-width: 980px) {
  .esb-launch-nav, .esb-launch-actions { display:none; }
  .esb-menu-toggle { display:inline-flex; }
  .esb-footer-grid { grid-template-columns: 1fr 1fr; }
  .esb-trust-strip .esb-container { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .admin-bar .esb-launch-header { top: 46px; }
  .esb-footer-grid, .esb-trust-strip .esb-container { grid-template-columns: 1fr; }
  .esb-footer-bottom { flex-direction: column; }
  .esb-launch-brand small { display:none; }
}


/* v1.5.0 Responsive Safety Mode
   Prevents right-side/off-screen mobile drift from 100vw sections, fixed-width cards, flex/grid overflow, long text, images, iframes, and form controls. */
html,
body {
  width: 100%;
  max-width: 100%;
}
body.esb-responsive-safety {
  overflow-x: clip;
}
@supports not (overflow-x: clip) {
  body.esb-responsive-safety {
    overflow-x: hidden;
  }
}
body.esb-responsive-safety *,
body.esb-responsive-safety *::before,
body.esb-responsive-safety *::after {
  box-sizing: border-box;
}
body.esb-responsive-safety img,
body.esb-responsive-safety svg,
body.esb-responsive-safety video,
body.esb-responsive-safety canvas,
body.esb-responsive-safety iframe {
  max-width: 100%;
  height: auto;
}
body.esb-responsive-safety table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
body.esb-responsive-safety .wp-site-blocks,
body.esb-responsive-safety main,
body.esb-responsive-safety .entry-content,
body.esb-responsive-safety .wp-block-post-content,
body.esb-responsive-safety .esb-page,
body.esb-responsive-safety .esb-site-wrap,
body.esb-responsive-safety .esb-generated-page,
body.esb-responsive-safety .esb-section,
body.esb-responsive-safety .esb-container,
body.esb-responsive-safety .esb-card,
body.esb-responsive-safety .esb-service-card,
body.esb-responsive-safety .esb-grid,
body.esb-responsive-safety .esb-grid-3,
body.esb-responsive-safety .esb-form,
body.esb-responsive-safety .esb-request-form,
body.esb-responsive-safety .esb-launch-header,
body.esb-responsive-safety .esb-launch-footer {
  max-width: 100%;
}
body.esb-responsive-safety.esb-site-builder-page .esb-page,
body.esb-responsive-safety .esb-pattern {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.esb-responsive-safety .esb-container,
body.esb-responsive-safety .esb-launch-container,
body.esb-responsive-safety .esb-pattern .esb-container {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}
body.esb-responsive-safety .esb-section {
  padding-left: clamp(16px, 4vw, 48px);
  padding-right: clamp(16px, 4vw, 48px);
}
body.esb-responsive-safety .esb-section > .esb-container {
  width: min(1180px, 100%);
}
body.esb-responsive-safety .esb-grid,
body.esb-responsive-safety .esb-services-grid,
body.esb-responsive-safety .esb-grid-3,
body.esb-responsive-safety .esb-two,
body.esb-responsive-safety .esb-three,
body.esb-responsive-safety .esb-four {
  min-width: 0;
}
@media (min-width: 901px) {
  body.esb-responsive-safety .esb-grid-3 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  }
}
body.esb-responsive-safety .esb-actions,
body.esb-responsive-safety .esb-header-inner,
body.esb-responsive-safety .esb-launch-header .esb-launch-container,
body.esb-responsive-safety .esb-launch-nav,
body.esb-responsive-safety .esb-launch-actions,
body.esb-responsive-safety .esb-badges,
body.esb-responsive-safety .esb-trust-row,
body.esb-responsive-safety .esb-related {
  max-width: 100%;
  min-width: 0;
}
body.esb-responsive-safety .esb-actions > *,
body.esb-responsive-safety .esb-header-inner > *,
body.esb-responsive-safety .esb-launch-header .esb-launch-container > *,
body.esb-responsive-safety .esb-launch-nav > *,
body.esb-responsive-safety .esb-launch-actions > *,
body.esb-responsive-safety .esb-badges > *,
body.esb-responsive-safety .esb-trust-row > *,
body.esb-responsive-safety .esb-related > * {
  min-width: 0;
}
body.esb-responsive-safety .esb-btn,
body.esb-responsive-safety .esb-button,
body.esb-responsive-safety button,
body.esb-responsive-safety input[type="submit"] {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.esb-responsive-safety .esb-request-form input,
body.esb-responsive-safety .esb-request-form select,
body.esb-responsive-safety .esb-request-form textarea,
body.esb-responsive-safety .esb-form input,
body.esb-responsive-safety .esb-form select,
body.esb-responsive-safety .esb-form textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
body.esb-responsive-safety .esb-page,
body.esb-responsive-safety .esb-card,
body.esb-responsive-safety .esb-content,
body.esb-responsive-safety .esb-footer,
body.esb-responsive-safety .esb-launch-footer,
body.esb-responsive-safety .esb-launch-header,
body.esb-responsive-safety .entry-content,
body.esb-responsive-safety .wp-block-post-content {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 768px) {
  body.esb-responsive-safety .esb-container,
  body.esb-responsive-safety .esb-launch-container,
  body.esb-responsive-safety .esb-pattern .esb-container {
    width: min(100% - 24px, 1180px);
  }
  body.esb-responsive-safety .esb-section {
    padding-left: 12px;
    padding-right: 12px;
  }
  body.esb-responsive-safety .esb-header-inner,
  body.esb-responsive-safety .esb-actions,
  body.esb-responsive-safety .esb-nav,
  body.esb-responsive-safety .esb-launch-header .esb-launch-container {
    gap: 10px;
  }
  body.esb-responsive-safety .esb-actions .esb-btn,
  body.esb-responsive-safety .esb-btn.esb-mobile-full,
  body.esb-responsive-safety .esb-button.esb-mobile-full {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  body.esb-responsive-safety .esb-mobile-callbar {
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    max-width: calc(100% - 16px);
  }
}

/* v1.6.0 Layout Alignment Guard
   Fixes text drifting outside decorative cards/panels, separates card radius from pill buttons,
   and tightens generated pages/forms across desktop, tablet, and mobile. */
.esb-page,
.esb-page * {
  min-width: 0;
}
.esb-card,
.esb-hero-panel,
.esb-service-card,
.esb-request-form,
.esb-process div,
details,
.esb-ai-summary {
  border-radius: var(--esb-card-radius, 24px) !important;
  overflow: hidden;
}
.esb-card,
.esb-hero-panel,
.esb-card-dark {
  padding: clamp(22px, 3.2vw, 38px) !important;
}
.esb-card > *,
.esb-hero-panel > *,
.esb-card-dark > *,
.esb-service-card > *,
.esb-request-form > * {
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.esb-btn,
.esb-button,
.esb-mobile-callbar,
.esb-mobile-callbar a,
.esb-related a,
.esb-badges span,
button,
input[type="submit"] {
  border-radius: var(--esb-button-radius, 999px) !important;
}
.esb-two,
.esb-hero-grid,
.esb-form-grid,
.esb-grid-3,
.esb-process,
.esb-footer-grid {
  align-items: start;
}
.esb-form-section {
  scroll-margin-top: 104px;
}
.esb-form-section .esb-two {
  grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
  gap: clamp(26px, 5vw, 72px);
}
.esb-request-form {
  align-self: start;
  width: 100%;
}
.esb-request-form label {
  line-height: 1.18;
}
.esb-request-form input,
.esb-request-form select,
.esb-request-form textarea {
  min-height: 56px;
  line-height: 1.25;
}
.esb-request-form textarea {
  min-height: 180px;
}
.esb-request-form select {
  overflow: hidden;
  text-overflow: ellipsis;
}
.esb-check {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  line-height: 1.4 !important;
}
.esb-check input {
  width: 16px !important;
  height: 16px;
  min-height: 0;
  margin: .2em 0 0 0 !important;
}
.esb-card-dark p,
.esb-hero-panel p,
.esb-card p,
.esb-section p,
.esb-section li {
  overflow-wrap: anywhere;
}
.esb-card-dark,
.esb-hero-panel {
  isolation: isolate;
}
.esb-card-dark::before,
.esb-hero-panel::before {
  pointer-events: none;
}
@media (max-width: 1100px) {
  .esb-form-section .esb-two {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .esb-card,
  .esb-hero-panel,
  .esb-card-dark,
  .esb-service-card,
  .esb-request-form {
    padding: 22px !important;
  }
  .esb-form-section {
    scroll-margin-top: 86px;
  }
  .esb-request-form input,
  .esb-request-form select,
  .esb-request-form textarea {
    font-size: 16px;
  }
  .esb-launch-header .esb-launch-container {
    min-height: 64px;
  }
}
@media (max-width: 480px) {
  .esb-container,
  body.esb-responsive-safety .esb-container,
  body.esb-responsive-safety .esb-launch-container,
  body.esb-responsive-safety .esb-pattern .esb-container {
    width: min(100% - 20px, 1180px);
  }
  .esb-card,
  .esb-hero-panel,
  .esb-card-dark,
  .esb-service-card,
  .esb-request-form {
    padding: 18px !important;
  }
  .esb-section {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* v1.7.0 Mobile Form Reliability Mode
   Fixes iPhone/Android form issues caused by fixed CTA bars, decorative layers, touch hitboxes,
   mobile validation focus, and theme overlays. */
.esb-request-form,
.esb-form-section,
.esb-form-section .esb-container {
  position: relative;
  z-index: 20;
}
.esb-request-form,
.esb-request-form * {
  pointer-events: auto;
  -webkit-tap-highlight-color: rgba(245,197,66,.25);
}
.esb-request-form input,
.esb-request-form select,
.esb-request-form textarea,
.esb-request-form button {
  appearance: auto;
  -webkit-appearance: auto;
  touch-action: manipulation;
}
.esb-request-form .esb-submit-btn {
  width: 100%;
  min-height: 58px;
  position: relative;
  z-index: 30;
}
body.esb-form-visible .esb-mobile-callbar,
body.esb-form-active .esb-mobile-callbar,
body.esb-form-submitting .esb-mobile-callbar {
  display: none !important;
  pointer-events: none !important;
}
.esb-mobile-callbar {
  pointer-events: auto;
}
.esb-mobile-callbar::before,
.esb-mobile-callbar::after,
.esb-hero::after,
.esb-card-dark::before,
.esb-hero-panel::before {
  pointer-events: none !important;
}
.esb-request-form [aria-invalid="true"],
.esb-request-form input:invalid,
.esb-request-form select:invalid,
.esb-request-form textarea:invalid {
  scroll-margin-top: 110px;
}
@media (max-width: 760px) {
  .esb-form-section {
    padding-bottom: 110px;
  }
  body.esb-form-visible,
  body.esb-form-active {
    padding-bottom: 0 !important;
  }
  .esb-request-form {
    margin-bottom: 28px;
  }
  .esb-request-form label,
  .esb-check {
    cursor: pointer;
  }
  .esb-request-form input,
  .esb-request-form select,
  .esb-request-form textarea {
    font-size: 16px !important;
  }
}


/* v1.8.0 Hard Mobile Form Render/Fallback Patch
   Forces the request form to render on iPhone/Android even if theme, animation,
   sticky CTA, or decorative layers conflict. */
.esb-mobile-form-reliability .esb-form-section,
.esb-mobile-form-reliability .esb-form-section .esb-container,
.esb-mobile-form-reliability .esb-request-form,
.esb-mobile-form-reliability #esb-request-form {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  contain: layout style;
}
body.esb-animations-enabled .esb-form-section,
body.esb-animations-enabled .esb-form-section.esb-animate,
body.esb-animations-enabled .esb-request-form,
body.esb-animations-enabled #esb-request-form {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.esb-mobile-form-reliability .esb-request-form {
  position: relative !important;
  z-index: 100 !important;
  isolation: isolate;
  pointer-events: auto !important;
  touch-action: auto !important;
}
.esb-mobile-form-reliability .esb-request-form label,
.esb-mobile-form-reliability .esb-request-form input,
.esb-mobile-form-reliability .esb-request-form select,
.esb-mobile-form-reliability .esb-request-form textarea,
.esb-mobile-form-reliability .esb-request-form button,
.esb-mobile-form-reliability .esb-request-form .esb-check {
  pointer-events: auto !important;
  position: relative;
  z-index: 110;
}
.esb-mobile-form-reliability .esb-request-form input,
.esb-mobile-form-reliability .esb-request-form select,
.esb-mobile-form-reliability .esb-request-form textarea {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff !important;
  color: #111 !important;
}
.esb-mobile-form-reliability .esb-request-form select {
  -webkit-appearance: menulist;
  appearance: menulist;
}
.esb-mobile-form-reliability .esb-check input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
}
.esb-mobile-form-reliability .esb-request-form .esb-submit-btn {
  display: flex !important;
  width: 100% !important;
  min-height: 60px !important;
  align-items: center;
  justify-content: center;
  pointer-events: auto !important;
}
.esb-mobile-form-reliability .esb-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
@media (max-width: 900px) {
  .esb-mobile-form-reliability .esb-form-section .esb-two,
  .esb-mobile-form-reliability .esb-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .esb-mobile-form-reliability .esb-request-form {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }
  .esb-mobile-form-reliability .esb-request-form input,
  .esb-mobile-form-reliability .esb-request-form select,
  .esb-mobile-form-reliability .esb-request-form textarea,
  .esb-mobile-form-reliability .esb-request-form button {
    font-size: 16px !important;
    max-width: 100% !important;
  }
}

/* v1.9.1 mobile-safe honeypot: hidden without inviting mobile autofill */
.esb-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.esb-hp input{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
