/* WORKSON Block Theme 1.3 — original WORKSON archive assets, Oct 2026 */
:root { --ws-blue:#155DFC; --ws-blue-dark:#0d47c7; --ws-ink:#101828; --ws-gray:#637083; --ws-light:#F5F8FF; --ws-border:#e5eaf2; --ws-width:1200px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
.wp-site-blocks { overflow-x:clip; }
a { text-underline-offset:3px; }
:focus-visible { outline:3px solid var(--ws-blue); outline-offset:3px; }

/* GLOBAL WIDTH — do not depend on the default WordPress contentSize (760px). */
.wp-site-blocks .ws-main { width:100%; max-width:none; margin:0; }
.wp-site-blocks .ws-services,
.wp-site-blocks .ws-works,
.wp-site-blocks .ws-about,
.wp-site-blocks .ws-contact-area,
.wp-site-blocks .ws-page-hero,
.wp-site-blocks .ws-standard-page { width:calc(100% - 48px); max-width:var(--ws-width)!important; margin-left:auto!important; margin-right:auto!important; }
.wp-site-blocks .ws-services > *,
.wp-site-blocks .ws-works > *,
.wp-site-blocks .ws-about > *,
.wp-site-blocks .ws-contact-area > *,
.wp-site-blocks .ws-page-hero > * { max-width:none; }

/* HEADER */
.ws-header { background:rgba(255,255,255,.97); border-bottom:1px solid #eef1f6; position:sticky; top:0; z-index:1000; /* Avoid backdrop-filter here: it traps viewport-fixed mobile menus. */ }
.admin-bar .ws-header { top:32px; }
.wp-site-blocks .ws-header-inner { width:calc(100% - 48px); max-width:var(--ws-width)!important; margin:auto!important; min-height:76px; gap:22px; }
.ws-site-title { font-size:23px!important; font-weight:850!important; letter-spacing:-1px; white-space:nowrap; }
.ws-site-title a { text-decoration:none; color:var(--ws-ink); }
.ws-navigation { gap:13px!important; }
.ws-navigation a { color:var(--ws-ink); text-decoration:none; font-size:13px; white-space:nowrap; }
.ws-nav-contact a { background:var(--ws-blue); color:#fff!important; border-radius:99px; padding:11px 18px!important; }
.ws-header .wp-block-site-logo + .ws-site-title { margin-inline-start:0; }

/* HERO — block positioning fixed: no horizontal flex on the top-level group. */
.wp-site-blocks .ws-hero { display:block!important; width:100%!important; max-width:none!important; min-height:540px; padding:0!important; margin:0!important; position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(115deg,#fff 0%,#fff 35%,#f7faff 65%,#eaf2ff 100%); }
.wp-site-blocks .ws-hero-inner { width:calc(100% - 48px); max-width:var(--ws-width)!important; min-height:540px; padding:88px 0 92px; position:relative; z-index:2; margin:0 auto!important; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.ws-hero-inner > * { margin-left:0!important; margin-right:0!important; }
.ws-eyebrow { color:var(--ws-blue); font-size:12px; font-weight:800; letter-spacing:2.4px; }
.ws-hero-inner .ws-eyebrow { display:inline-block; margin-bottom:8px; }
.ws-hero h1 { max-width:670px!important; font-size:clamp(43px,4.6vw,67px); line-height:1.17!important; letter-spacing:-.055em; margin:10px 0 18px!important; font-weight:800; word-break:keep-all; overflow-wrap:normal; }
.ws-hero h3 { max-width:640px!important; font-size:clamp(18px,1.75vw,23px); line-height:1.4; font-weight:600; margin:0 0 15px!important; letter-spacing:-.035em; word-break:keep-all; }
.ws-hero-inner > p:not(:first-child) { max-width:560px!important; color:#475467; font-size:15px; line-height:1.7; margin:0 0 14px!important; word-break:keep-all; }
.ws-hero-inner .wp-block-buttons { margin-top:22px!important; gap:10px; }
.wp-block-button__link { padding:13px 22px; border-radius:9px; transition:transform .2s, background .2s; }
.wp-block-button__link:hover { transform:translateY(-2px); background:var(--ws-blue-dark); }
.ws-button-outline .wp-block-button__link { color:var(--ws-blue); background:#fff; border:1px solid #b3c9ff; }
.ws-button-outline .wp-block-button__link:hover { background:#edf4ff; }
/* CSS-only abstract cobalt glass loops: decorative, independent of hero text. */
.ws-hero-art { position:absolute!important; right:-4%; top:0; width:51%; height:100%; z-index:1; pointer-events:none; background:radial-gradient(ellipse at 54% 52%,rgba(29,100,239,.16),transparent 50%); }
.ws-hero-art::before,.ws-hero-art::after { content:""; position:absolute; display:block; width:68%; height:54%; border-radius:48% 52% 70% 30% / 55% 45% 50% 50%; transform:rotate(-39deg); }
.ws-hero-art::before { right:10%; top:12%; border:48px solid rgba(62,125,245,.19); box-shadow:inset 24px -12px 36px rgba(21,93,252,.20),18px 26px 70px rgba(21,93,252,.12); }
.ws-hero-art::after { right:24%; top:40%; border:31px solid rgba(24,98,251,.23); width:57%; height:37%; transform:rotate(28deg); box-shadow:inset 4px 12px 24px rgba(21,93,252,.20),8px 15px 40px rgba(21,93,252,.14); }

/* SERVICE GRID */
.wp-site-blocks .ws-services { padding:86px 0 58px; }
.ws-services h2,.ws-works h2,.ws-about h2 { font-size:clamp(27px,2.9vw,38px); font-weight:800; line-height:1.3; letter-spacing:-.04em; word-break:keep-all; margin:10px 0 0!important; }
.ws-services > p:first-child,.ws-works > p:first-child { margin:0; }
.ws-service-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px!important; align-items:stretch; margin-top:34px!important; margin-bottom:0!important; }
.ws-service-grid > .wp-block-column { min-width:0; flex-basis:auto!important; margin:0!important; }
.ws-service-card { border:1px solid var(--ws-border); border-radius:13px; padding:27px 23px; min-height:250px; background:#fff; height:100%; display:flex; flex-direction:column; align-items:flex-start; transition:box-shadow .2s,transform .2s; }
.ws-service-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(36,59,98,.09); }
.ws-service-card > * { margin-left:0!important; margin-right:0!important; }
.ws-service-card h3 { font-size:19px; line-height:1.35; margin:17px 0 12px!important; font-weight:800; letter-spacing:-.03em; }
.ws-service-card p { font-size:14px; line-height:1.65; color:var(--ws-gray); word-break:keep-all; margin:0 0 12px!important; }
.ws-service-card p:last-child { margin-top:auto!important; margin-bottom:0!important; padding-top:16px; }
.ws-service-card a { font-weight:700; color:var(--ws-blue); text-decoration:none; }
.ws-card-number { font-weight:800; color:var(--ws-blue); }

/* SELECTED WORKS */
.wp-site-blocks .ws-works { padding:42px 0 90px; }
.ws-works > p:not(:first-child) { color:var(--ws-gray); }
.ws-works-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px!important; margin-top:28px!important; margin-bottom:26px!important; }
.ws-works-grid > .wp-block-column { flex-basis:auto!important; min-width:0; margin:0!important; }
.ws-project-card { height:100%; }
.ws-project-card h3 { font-size:18px; margin:14px 0 5px!important; font-weight:750; }
.ws-project-card p { font-size:13px; line-height:1.55; color:var(--ws-gray); margin:0 0 7px!important; }
.ws-project-card p:first-child { margin-bottom:0!important; }
.ws-project-placeholder { display:flex; width:100%; min-height:215px; aspect-ratio:1.65; align-items:center; justify-content:center; border-radius:12px; background:linear-gradient(135deg,#0b2247,#1e62da); color:white; font-size:14px; letter-spacing:2px; font-weight:800; }
.ws-placeholder-two { background:linear-gradient(135deg,#f4f8fb,#bdd5ee); color:#17395b; }
.ws-placeholder-three { background:linear-gradient(135deg,#061a34,#1168c9); }

/* CTA + STANDARD PAGES */
.wp-site-blocks .ws-cta { display:block!important; width:100%!important; max-width:none!important; margin:0!important; background:linear-gradient(110deg,#f1f6ff,#c9dcff); padding:0!important; }
.wp-site-blocks .ws-cta-inner { width:calc(100% - 48px); max-width:var(--ws-width)!important; margin:0 auto!important; padding:70px 0!important; }
.ws-cta > :not(.ws-cta-inner) { width:calc(100% - 48px); max-width:var(--ws-width)!important; margin-left:auto!important; margin-right:auto!important; }
.ws-cta > :not(.ws-cta-inner):first-child { padding-top:66px; }
.ws-cta > :not(.ws-cta-inner):last-child { padding-bottom:66px; }
.ws-cta h2 { font-size:clamp(29px,3.1vw,43px); font-weight:800; letter-spacing:-.04em; line-height:1.3; margin:12px 0!important; word-break:keep-all; }
.ws-cta .wp-block-buttons { margin-top:24px!important; }
.ws-cta p { margin-bottom:0; }
.wp-site-blocks .ws-page-hero { margin-top:40px!important; padding:70px 46px 64px!important; background:linear-gradient(112deg,#fff,#f2f7ff); border-radius:18px; }
.ws-page-hero h1 { font-size:clamp(34px,4.5vw,58px); line-height:1.22; font-weight:800; letter-spacing:-.05em; margin:16px 0!important; word-break:keep-all; }
.wp-site-blocks .ws-about { padding:85px 0; }
.ws-about .ws-info-card { border:1px solid var(--ws-border); padding:23px; border-radius:12px; }
.wp-site-blocks .ws-contact-area { background:#f6f9ff; border:1px solid #e3edff; border-radius:18px; padding:40px!important; margin-top:35px!important; margin-bottom:80px!important; }
.ws-extra-content { max-width:1200px; margin:auto; padding:0 24px; }
.ws-extra-content:empty { display:none; }
.wp-site-blocks .ws-standard-page { min-height:45vh; padding:65px 0; }
.ws-post-card { border:1px solid #e8ebf1; padding:16px; border-radius:12px; }

/* FOOTER */
.ws-footer { background:#111c2d; color:#c5ccda; padding:64px 0 32px; }
.wp-site-blocks .ws-footer-inner { width:calc(100% - 48px); max-width:var(--ws-width)!important; margin:0 auto!important; }
.ws-footer h3 { color:#fff; }
.ws-footer a { color:#d5e0f7; }
.ws-footer .wp-block-separator { opacity:.3; }


/* MOBILE NAVIGATION FIX v1.2
   WordPress Navigation block owns its open/close events and focus handling.
   Do not add backdrop-filter, transform, contain:paint or perspective to
   .ws-header or its parents; these can trap fixed overlays inside the header. */
@media (max-width:1240px) {
  .ws-header,
  .ws-header-inner,
  .ws-navigation { overflow:visible!important; }
  .ws-header { -webkit-backdrop-filter:none!important; backdrop-filter:none!important; background:#fff; }
  .ws-navigation .wp-block-navigation__responsive-container-open {
    display:flex!important; align-items:center; justify-content:center;
    width:44px; height:44px; padding:8px!important;
    color:var(--ws-ink); border-radius:8px;
  }
  .ws-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display:none!important;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display:flex!important; position:fixed!important;
    inset:0!important; width:100vw!important; max-width:none!important;
    height:100vh!important; height:100dvh!important;
    margin:0!important; padding:26px max(22px, calc((100vw - 1200px)/2)) 32px!important;
    overflow-x:hidden!important; overflow-y:auto!important;
    overscroll-behavior:contain;
    background:#fff!important; color:var(--ws-ink)!important;
    z-index:999999!important; box-sizing:border-box;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    width:100%; max-width:1200px; margin:0 auto;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    width:100%; min-height:100%;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position:absolute; top:0; right:0; display:flex;
    width:44px; height:44px; align-items:center; justify-content:center;
    padding:8px!important; border-radius:8px;
    color:var(--ws-ink)!important; cursor:pointer;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top:66px!important; width:100%;
    display:flex!important; align-items:stretch!important; justify-content:flex-start!important;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width:100%; display:flex!important; flex-direction:column!important;
    align-items:stretch!important; gap:0!important;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display:block!important; width:100%; margin:0!important;
    border-bottom:1px solid #e9eef6;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display:block!important; width:100%; padding:15px 0!important;
    font-size:18px!important; line-height:1.45!important;
    font-weight:650!important; color:var(--ws-ink)!important;
    white-space:normal!important; text-decoration:none;
    overflow-wrap:anywhere;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .ws-nav-contact {
    margin-top:20px!important; border:0;
  }
  .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .ws-nav-contact a {
    display:inline-block!important; width:auto; padding:13px 23px!important;
    background:var(--ws-blue)!important; color:#fff!important; border-radius:9px;
  }
}
@media (max-width:782px) {
  body.admin-bar .ws-navigation .wp-block-navigation__responsive-container.is-menu-open {
    top:46px!important; height:calc(100vh - 46px)!important; height:calc(100dvh - 46px)!important;
  }
}
@media (min-width:783px) and (max-width:1240px) {
  body.admin-bar .ws-navigation .wp-block-navigation__responsive-container.is-menu-open {
    top:32px!important; height:calc(100vh - 32px)!important; height:calc(100dvh - 32px)!important;
  }
}

/* RESPONSIVE */
@media (max-width:1240px) {
  .ws-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ws-navigation .wp-block-navigation__responsive-container-open { display:flex!important; }
  .ws-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
  .ws-hero-art { right:-13%; opacity:.7; }
}
@media (max-width:780px) {
  .ws-hero-inner { min-height:510px!important; padding:78px 0 90px!important; }
  .ws-hero h1 { font-size:clamp(39px,7vw,54px); max-width:620px!important; }
  .ws-hero-art { opacity:.3; right:-25%; width:70%; }
  .ws-works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ws-footer-inner > .wp-block-columns { flex-wrap:wrap; }
}
@media (max-width:600px) {
  .admin-bar .ws-header { top:46px; }
  .wp-site-blocks .ws-header-inner { min-height:66px; width:calc(100% - 36px); }
  .ws-site-title { font-size:21px!important; }
  .wp-site-blocks .ws-hero { min-height:0; }
  .wp-site-blocks .ws-hero-inner { width:calc(100% - 40px); min-height:560px!important; padding:70px 0 150px!important; justify-content:flex-start; }
  .ws-hero h1 { font-size:clamp(35px,9.5vw,45px); line-height:1.22!important; max-width:100%!important; letter-spacing:-.06em; }
  .ws-hero h3 { font-size:18px; max-width:100%!important; }
  .ws-hero-inner > p:not(:first-child) { font-size:14px; max-width:100%!important; }
  .ws-hero-inner .wp-block-buttons { gap:8px; }
  .ws-hero-inner .wp-block-button__link { font-size:13px; padding:12px 15px; }
  .ws-hero-art { width:90%; height:320px; top:auto; bottom:-95px; right:-25%; opacity:.58; }
  .ws-hero-art::before { border-width:30px; }
  .ws-hero-art::after { border-width:22px; }
  .wp-site-blocks .ws-services,.wp-site-blocks .ws-works,.wp-site-blocks .ws-about,.wp-site-blocks .ws-contact-area,.wp-site-blocks .ws-page-hero,.wp-site-blocks .ws-standard-page { width:calc(100% - 40px); }
  .wp-site-blocks .ws-services { padding:65px 0 32px; }
  .ws-service-grid,.ws-works-grid { grid-template-columns:1fr; gap:14px!important; }
  .ws-service-card { min-height:0; padding:25px 22px; }
  .ws-works { padding-top:38px!important; padding-bottom:68px!important; }
  .ws-project-placeholder { min-height:200px; }
  .wp-site-blocks .ws-cta-inner { width:calc(100% - 40px); padding:57px 0!important; }
  .wp-site-blocks .ws-page-hero { margin-top:16px!important; padding:51px 22px!important; }
  .wp-site-blocks .ws-contact-area { padding:25px!important; }
  .ws-footer { padding:48px 0 32px; }
  .wp-site-blocks .ws-footer-inner { width:calc(100% - 40px); }
  .ws-footer .wp-block-columns { display:block; }
  .ws-footer .wp-block-column { margin-bottom:26px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .wp-block-button__link,.ws-service-card { transition:none; } }


/* v1.3.1 — Text logo restored */
.ws-header .ws-site-title { line-height:1; flex-shrink:0; margin:0; }
.ws-header .ws-site-title a {
 display:inline-block; font-size:24px!important; font-weight:850!important;
 letter-spacing:-1px; color:var(--ws-ink)!important; text-decoration:none;
 background:none!important; width:auto; height:auto; overflow:visible;
}
.ws-works .ws-legacy-image { width:100%; aspect-ratio:1.7; border-radius:12px; overflow:hidden; margin:0!important; background:#f5f7fa; box-shadow:0 2px 12px rgba(15,35,65,.045); }
.ws-works .ws-legacy-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.ws-works .ws-project-card { min-width:0; }
.ws-works .ws-project-card h3 { font-size:17px; margin:16px 0 5px!important; line-height:1.4; }
.ws-works .ws-project-card p { margin-bottom:0!important; }
.ws-works-actions { margin-top:28px!important; }
.ws-works-link,.ws-japan-link { display:inline-flex; text-decoration:none; font-size:14px; font-weight:750; color:var(--ws-blue); border-bottom:1px solid rgba(21,93,252,.25); padding-bottom:4px; }
.ws-works-link:hover,.ws-japan-link:hover { color:var(--ws-blue-dark); }
.wp-site-blocks .ws-japan-feature {
 width:calc(100% - 48px); max-width:var(--ws-width)!important;
 margin:0 auto 95px!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:stretch; gap:0!important; overflow:hidden; border-radius:18px;
 background:#f5f8ff; border:1px solid #e6edfb;
}
.ws-japan-copy { padding:50px 52px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.ws-japan-copy > * { margin-left:0!important; margin-right:0!important; }
.ws-japan-copy h2 { font-size:clamp(27px,2.6vw,38px); line-height:1.35; letter-spacing:-.045em; word-break:keep-all; margin:10px 0 14px!important; }
.ws-japan-copy p { color:#4b5b75; line-height:1.8; margin:0 0 16px!important; }
.ws-japan-copy p:first-child { margin-bottom:6px!important; }
.ws-japan-visual { min-height:310px; height:100%; }
.ws-japan-visual figure,.ws-japan-visual img { display:block; margin:0!important; width:100%; height:100%; }
.ws-japan-visual img { object-fit:cover; object-position:center; }
@media (max-width:780px) {
 .ws-japan-feature { grid-template-columns:1fr!important; }
 .ws-japan-visual { min-height:240px; }
 .ws-japan-copy { padding:35px 30px; }
}
@media (max-width:600px) {
 .ws-header .ws-site-title a { width:142px; height:45px; }
 .wp-site-blocks .ws-japan-feature { width:calc(100% - 40px); margin-bottom:65px!important; }
 .ws-japan-copy { padding:28px 22px; }
 .ws-japan-visual { min-height:190px; }
}


/* v1.3.2 — CTA-to-footer spacing and footer link cleanup.
   WordPress global block gap can apply margin-block-start on footer template parts. */
.wp-site-blocks > main.ws-main { margin-block-end:0!important; }
.wp-site-blocks > main.ws-main + footer,
.wp-site-blocks > main.ws-main + .wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > .wp-block-template-part:last-child:has(.ws-footer) {
  margin-block-start:0!important;
}
.wp-site-blocks .ws-footer { margin-block-start:0!important; margin-block-end:0!important; }
.wp-site-blocks .ws-footer a,
.wp-site-blocks .ws-footer a:visited {
  color:#d5e0f7;
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.wp-site-blocks .ws-footer a:hover,
.wp-site-blocks .ws-footer a:focus-visible { color:#ffffff; text-decoration:none!important; }
/* Hide separator in any footer already customized within Site Editor. */
.wp-site-blocks .ws-footer .wp-block-separator { display:none!important; }


/* v1.3.3 — Native plugin-free WORKSON contact form. */
.wp-site-blocks .ws-contact-intro {
  width:calc(100% - 40px); max-width:1000px!important;
  margin:0 auto!important; padding:75px 0 30px!important;
  text-align:center;
}
.ws-contact-intro .ws-eyebrow { font-size:12px; font-weight:800; letter-spacing:.19em; color:var(--ws-blue); }
.ws-contact-intro h1 { margin:12px 0 8px!important; color:var(--ws-ink); font-size:clamp(34px,4.2vw,50px); font-weight:800; letter-spacing:-.05em; }
.ws-contact-intro p:last-child { margin:0!important; color:var(--ws-gray); font-size:17px; }
.wp-site-blocks .ws-contact-form-wrap {
  width:calc(100% - 40px); max-width:980px!important;
  margin:0 auto 110px!important; padding:0!important;
}
.ws-contact-form-container { width:100%; max-width:none; }
.ws-contact-form { display:flex; flex-direction:column; gap:25px; width:100%; margin-top:30px; }
.ws-form-field { display:flex; flex-direction:column; width:100%; gap:9px; }
.ws-form-field label { font-size:16px; font-weight:700; color:#344054; line-height:1.45; }
.ws-required { color:#e1333a; font-weight:800; }
.ws-form-field input,
.ws-form-field select,
.ws-form-field textarea {
  width:100%; max-width:100%; margin:0; box-sizing:border-box;
  border:1px solid #ccd5e2; border-radius:9px; background:#fff;
  padding:13px 16px; font:inherit; font-size:16px; line-height:1.45;
  color:var(--ws-ink); transition:border-color .2s,box-shadow .2s;
}
.ws-form-field input, .ws-form-field select { min-height:54px; }
.ws-form-field textarea { min-height:240px; resize:vertical; }
.ws-form-field input:focus,
.ws-form-field select:focus,
.ws-form-field textarea:focus {
  outline:none; border-color:var(--ws-blue); box-shadow:0 0 0 3px rgba(21,93,252,.13);
}
.ws-form-field small { color:#6e7a8d; font-size:13px; line-height:1.5; }
.ws-form-field small strong { color:#506178; }
.ws-form-consent { display:flex; gap:11px; align-items:flex-start; cursor:pointer; color:#344054; font-size:14px; line-height:1.7; }
.ws-form-consent input[type=checkbox] { flex:none; width:18px; height:18px; margin:3px 0 0; accent-color:var(--ws-blue); }
.ws-form-consent small { display:block; color:#69778c; font-size:12px; margin-top:5px; }
.ws-form-privacy-link { margin:-16px 0 0 29px!important; font-size:13px; }
.ws-form-privacy-link a { color:var(--ws-blue); }
.ws-form-actions { padding-top:8px; display:flex; flex-direction:column; align-items:center; gap:13px; }
.ws-form-submit { appearance:none; cursor:pointer; border:none; border-radius:10px; background:var(--ws-blue); color:#fff; min-height:55px; min-width:240px; padding:14px 36px; font:inherit; font-weight:750; font-size:16px; }
.ws-form-submit:hover { background:var(--ws-blue-dark); }
.ws-form-submit:focus-visible { outline:3px solid #93b5ff; outline-offset:3px; }
.ws-form-actions p { margin:0!important; color:#77849a; font-size:13px; text-align:center; }
.ws-form-notice { margin:30px 0 0!important; border:1px solid; border-radius:9px; padding:14px 18px; font-size:14px; }
.ws-form-notice-success { border-color:#a8dcc3; background:#ebfaf2; color:#12613f; }
.ws-form-notice-error { border-color:#f3c0c0; background:#fff1f1; color:#9f2323; }
.ws-honey { position:absolute; left:-9999px; height:0; overflow:hidden; }
@media (max-width:600px) {
  .wp-site-blocks .ws-contact-intro { padding:52px 0 22px!important; }
  .ws-contact-intro p:last-child { font-size:15px; }
  .wp-site-blocks .ws-contact-form-wrap { margin-bottom:72px!important; }
  .ws-contact-form { gap:21px; margin-top:22px; }
  .ws-form-field label { font-size:15px; }
  .ws-form-field textarea { min-height:210px; }
  .ws-form-actions { align-items:stretch; }
  .ws-form-submit { width:100%; }
}
