/* WORKSON v1.5: prior-site content + navigation + slide assets. */
:root { --ws-legacy-width:1200px; }
/* Keep the text-only WORKSON site title and allow more menu items. */
.ws-header .wp-block-site-title.ws-site-title,.ws-header .ws-site-title { flex:none; }
.ws-header .ws-site-title a { text-decoration:none!important; }
.ws-navigation a { font-size:12.5px; }
.ws-navigation .wp-block-navigation__submenu-container { background:#fff; border:1px solid #e6edf7; box-shadow:0 16px 40px rgba(11,30,66,.11); border-radius:9px; padding:9px 0!important; min-width:208px!important; }
.ws-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding:10px 16px!important; color:#16223a; line-height:1.4; }
.ws-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color:#155dfc; background:#f3f7ff; }
.ws-legacy-main { margin:0!important; padding:0!important; max-width:none!important; }
.ws-legacy-slider { position:relative; width:100%; min-height:560px; background:#101e39; isolation:isolate; }
.ws-legacy-slides { position:relative; height:560px; }
.ws-legacy-slide { position:absolute; inset:0; display:none; align-items:center; background-image:var(--ws-slide-image); background-position:center; background-size:cover; }
.ws-legacy-slide.is-active { display:flex; animation:ws-slide-reveal .45s ease-out; }
@keyframes ws-slide-reveal { from { opacity:.2; } to { opacity:1; } }
.ws-slide-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,15,30,.76),rgba(5,15,30,.47) 50%,rgba(5,15,30,.06)); }
.ws-slide-light .ws-slide-shade { background:linear-gradient(90deg,rgba(8,29,80,.80),rgba(25,75,145,.36),rgba(8,29,80,.03)); }
.ws-legacy-slide-inner { position:relative; width:calc(100% - 48px); max-width:var(--ws-legacy-width); margin:auto; color:#fff; padding:75px 0 110px; }
.ws-slide-eyebrow { font-size:13px; letter-spacing:.23em; text-transform:uppercase; font-weight:750; margin:0 0 20px!important; color:#cfe0ff; }
.ws-legacy-slide h1 { font-size:clamp(33px,4.1vw,59px); letter-spacing:-.052em; line-height:1.23; font-weight:820; max-width:790px; word-break:keep-all; color:#fff!important; margin:0 0 24px!important; }
.ws-legacy-slide-inner > p:not(.ws-slide-eyebrow) { max-width:730px; color:#f1f5ff; line-height:1.75; font-size:clamp(16px,1.55vw,21px); word-break:keep-all; }
.ws-slide-cta { margin-top:24px; display:inline-flex; align-items:center; background:#155dfc; color:#fff!important; text-decoration:none; border-radius:8px; font-size:15px; font-weight:750; padding:14px 22px; gap:8px; }
.ws-slide-cta:hover { background:#0d47c7; }
.ws-slide-controls { position:absolute; left:50%; transform:translateX(-50%); bottom:20px; z-index:3; display:flex; gap:9px; align-items:center; padding:6px 10px; border-radius:99px; background:rgba(5,20,48,.40); backdrop-filter:blur(5px); }
.ws-slide-arrow,.ws-slide-pause { display:flex; align-items:center; justify-content:center; color:#fff; border:0; background:transparent; min-width:35px; min-height:35px; border-radius:100%; cursor:pointer; font-size:24px; }
.ws-slide-pause { font-size:13px; }
.ws-slide-arrow:hover,.ws-slide-pause:hover { background:rgba(255,255,255,.18); }
.ws-slide-dots { display:flex; align-items:center; gap:9px; }
.ws-slide-dots button { width:8px; height:8px; padding:0; border-radius:100%; border:0; cursor:pointer; background:rgba(255,255,255,.52); }
.ws-slide-dots button[aria-current="true"] { width:24px; border-radius:10px; background:#fff; }
.ws-legacy-wrap { width:calc(100% - 48px); max-width:var(--ws-legacy-width); margin:0 auto; }
.ws-legacy-features { background:#fff; padding:95px 0 72px; }
.ws-old-section-heading { text-align:center; margin-bottom:58px; }
.ws-old-section-heading h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.05em; margin:0 0 16px; font-weight:800; word-break:keep-all; }
.ws-old-section-heading p { font-size:18px; color:#5e6b7e; line-height:1.7; }
.ws-old-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.ws-old-feature { min-width:0; text-align:center; padding:22px 17px; border:1px solid #e7edf5; border-radius:12px; }
.ws-old-feature img { display:block; max-width:85px; max-height:85px; width:auto; height:auto; object-fit:contain; margin:0 auto 18px; }
.ws-old-feature h3 { font-size:18px; font-weight:800; letter-spacing:-.03em; word-break:keep-all; margin:0 0 13px; }
.ws-old-feature p { font-size:14px; line-height:1.7; color:#5e6b7e; margin:0; word-break:keep-all; }
.ws-old-intro { text-align:center; padding:45px 0 0; }
.ws-old-intro p { line-height:1.95; color:#516078; font-size:16px; }
.ws-legacy-services { background:#f5f8ff; padding:85px 0; }
.ws-legacy-services h2,.ws-legacy-template h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.05em; margin:0 0 32px; word-break:keep-all; }
.ws-old-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ws-old-service-grid a { display:flex; flex-direction:column; gap:15px; background:#fff; border:1px solid #e0e9fb; border-radius:12px; padding:26px; color:#101828; text-decoration:none; min-height:215px; }
.ws-old-service-grid a:hover { box-shadow:0 14px 32px rgba(0,40,120,.08); transform:translateY(-2px); }
.ws-old-service-grid span { color:#155dfc; font-size:11px; font-weight:800; letter-spacing:.18em; }
.ws-old-service-grid strong { font-size:21px; letter-spacing:-.05em; }
.ws-old-service-grid small { font-size:14px; line-height:1.65; color:#64748b; }
.ws-legacy-template { padding:83px 0 95px; }
.ws-legacy-template .ws-legacy-wrap > p { color:#69788b; font-size:16px; }
.ws-old-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; margin:32px 0 24px; }
.ws-old-template { display:block; border-radius:12px; overflow:hidden; border:1px solid #e4ebf5; color:#155dfc; text-decoration:none; }
.ws-old-template img { display:block; width:100%; height:220px; object-fit:cover; object-position:top center; }
.ws-old-template span { display:block; padding:16px; font-size:14px; font-weight:750; }
.ws-legacy-template-link a { font-weight:750; color:#155dfc; }
.ws-legacy-contact-cta { background:linear-gradient(110deg,#eaf2ff,#d1e2ff); padding:70px 0; }
.ws-legacy-contact-cta h2 { font-size:clamp(29px,3.1vw,40px); margin:0 0 14px; }
.ws-legacy-contact-cta p { color:#4b6180; }
.ws-legacy-contact-cta a { display:inline-block; background:#155dfc; color:#fff; border-radius:8px; padding:13px 22px; font-weight:750; text-decoration:none; margin-top:15px; }
/* Original pages: keep titles/content and image proportions while using responsive spacing. */
.ws-legacy-page { max-width:none!important; margin:0!important; padding:0 0 80px!important; }
.ws-legacy-page-heading { background:linear-gradient(118deg,#fff,#f0f5ff); border-bottom:1px solid #e9eff8; padding:67px 24px!important; width:100%!important; max-width:none!important; }
.ws-legacy-page-heading h1 { max-width:var(--ws-legacy-width); margin:0 auto!important; font-size:clamp(35px,4vw,55px); font-weight:820; letter-spacing:-.055em; }
.ws-legacy-page-content { width:calc(100% - 48px); max-width:var(--ws-legacy-width)!important; padding:65px 0 0; margin:0 auto!important; }
.ws-legacy-page-content > .wp-block-post-content { width:100%; max-width:none!important; }
.ws-legacy-page-content .wp-block-post-content > * { max-width:none; }
.ws-legacy-page-content p { line-height:1.8; overflow-wrap:anywhere; }
.ws-legacy-page-content h2 { font-size:clamp(27px,3vw,38px); line-height:1.35; letter-spacing:-.04em; word-break:keep-all; margin:35px 0 22px; }
.ws-legacy-page-content h3 { font-size:clamp(22px,2.5vw,28px); letter-spacing:-.03em; margin:30px 0 15px; }
.ws-legacy-page-content img { max-width:100%; height:auto; border-radius:7px; }
.ws-legacy-page-content figure { margin:25px 0; max-width:100%; }
.ws-legacy-page-content a { color:#155dfc; }
.ws-legacy-page-content .wp-block-image { max-width:100%; }
.ws-legacy-notice details { border:1px solid #e1e9f6; border-radius:9px; margin:12px 0; padding:18px; }
.ws-legacy-notice summary { cursor:pointer; font-weight:750; }
.ws-legacy-notice time { font-size:12px; color:#65748b; margin-left:10px; }
.ws-legacy-notice .notice-body { margin-top:12px; padding-top:12px; border-top:1px solid #edf2fa; }
.ws-old-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ws-old-gallery figure { margin:0; }
.ws-old-gallery img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; object-position:top; }
@media(max-width:1240px) {
 .ws-navigation .wp-block-navigation__submenu-container { background:transparent; box-shadow:none; border:0; padding:0 0 8px 16px!important; min-width:0!important; }
 .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { display:block!important; position:static!important; opacity:1!important; visibility:visible!important; width:100%!important; height:auto!important; }
 .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border:0!important; }
 .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size:15px!important; padding:11px 10px!important; color:#53657d!important; }
 .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display:none!important; }
 .ws-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { gap:0!important; }
 .ws-old-feature-grid,.ws-old-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .ws-legacy-slides { height:540px; }
 .ws-legacy-slider { min-height:540px; }
 .ws-legacy-slide-inner { width:calc(100% - 40px); padding:65px 0 120px; }
 .ws-legacy-slide h1 { font-size:clamp(31px,8.5vw,43px); }
 .ws-slide-eyebrow { font-size:11px; }
 .ws-legacy-wrap,.ws-legacy-page-content { width:calc(100% - 40px); }
 .ws-legacy-features { padding:65px 0 50px; }
 .ws-old-feature-grid,.ws-old-service-grid,.ws-old-template-grid,.ws-old-gallery { grid-template-columns:1fr; }
 .ws-legacy-services,.ws-legacy-template { padding:58px 0; }
 .ws-legacy-page-heading { padding:48px 20px!important; }
 .ws-legacy-page-content { padding-top:38px; }
 .ws-old-template img { height:auto; aspect-ratio:1.5; }
}
@media(prefers-reduced-motion:reduce) { .ws-legacy-slide.is-active { animation:none; } }


/* v1.5.1 — Render actual image-linked legacy content without WPBakery. */
.ws-restore-content { width:100%; color:#192338; }
.ws-restore-row { display:flex; flex-wrap:wrap; column-gap:18px; row-gap:20px; position:relative; margin:28px 0; align-items:stretch; }
.ws-restore-row > .ws-restore-col { min-width:0; flex:1 1 calc(var(--ws-col-width, 100%) - 18px); max-width:100%; }
.ws-restore-col.ws-span-12 { --ws-col-width:100%; flex-basis:100%; }
.ws-restore-col.ws-span-6 { --ws-col-width:50%; flex-basis:calc(50% - 9px); }
.ws-restore-col.ws-span-4 { --ws-col-width:33.333333%; flex-basis:calc(33.333333% - 12px); }
.ws-restore-col.ws-span-3 { --ws-col-width:25%; flex-basis:calc(25% - 13.5px); }
.ws-restore-col.ws-span-8 { --ws-col-width:66.666667%; flex-basis:calc(66.666667% - 12px); }
.ws-restore-col > *:first-child { margin-top:0; }
.ws-restore-richtext { line-height:1.82; word-break:keep-all; }
.ws-restore-richtext > p { margin:0 0 15px; }
.ws-restore-richtext img { display:block; max-width:100%; height:auto; }
.ws-restore-space { height:24px; }
.ws-space-10{height:10px}.ws-space-20{height:20px}.ws-space-30{height:30px}.ws-space-40{height:40px}.ws-space-50{height:50px}.ws-space-60{height:60px}.ws-space-70{height:70px}
.ws-restore-image { margin:0 0 14px!important; width:100%; }
.ws-restore-image img { display:block; width:100%; height:auto; border:1px solid #e4ebf5; border-radius:10px; }
.ws-restore-thumbnail { overflow:hidden; border-radius:12px; }
.ws-restore-thumbnail img { width:100%; height:auto; aspect-ratio:351/252; object-fit:cover; object-position:top center; transition:transform .24s; }
.ws-restore-thumbnail a:hover img { transform:scale(1.025); }
.ws-restore-bg-photo { display:none; }
.ws-restore-button, .ws-restore-contact-link a { display:inline-block; border-radius:8px; background:#155dfc; padding:12px 18px; color:#fff!important; text-decoration:none; font-weight:700; }
.ws-restore-button:hover, .ws-restore-contact-link a:hover { background:#0d47c7; }
.ws-restore-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ws-restore-separator { border:0; border-top:1px solid #dce6f3; margin:24px 0; }
.ws-restore-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ws-restore-price-card { padding:22px; border:1px solid #dce6f3; border-radius:12px; }
.ws-restore-media-missing { padding:24px 14px; border:1px dashed #d9e3f2; color:#657083; border-radius:10px; font-size:13px; }
.ws-restore-image-text { display:flex; flex-direction:column; gap:14px; }
.ws-restore-row .ws-restore-row { margin:12px 0; }
.ws-legacy-page-content .ws-restore-content h2 { margin:30px 0 18px; }
@media(max-width:850px) {
 .ws-restore-row > .ws-restore-col.ws-span-3,.ws-restore-row > .ws-restore-col.ws-span-4 {flex-basis:calc(50% - 9px);}
 .ws-restore-pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px) {
 .ws-restore-row > .ws-restore-col {flex-basis:100%!important;}
 .ws-restore-gallery,.ws-restore-pricing-grid {grid-template-columns:1fr;}
 .ws-restore-space {height:12px!important;}
}

.ws-slide-pause { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; line-height:1; }
.ws-slide-pause .ws-slide-icon { display:block; width:18px; height:18px; }
.ws-slide-pause .ws-slide-icon-play { display:none; }
.ws-slide-pause[data-paused="true"] .ws-slide-icon-play { display:block; }
.ws-slide-pause[data-paused="true"] .ws-slide-icon-pause { display:none; }


/* v1.5.2 — align the five original-image hero slides consistently */
.ws-legacy-slide-inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-sizing:border-box;
  padding:72px 0 115px;
}
.ws-legacy-slide h1 { max-width:1000px; margin-left:auto!important; margin-right:auto!important; }
.ws-slide-eyebrow,
.ws-legacy-slide-inner > p:not(.ws-slide-eyebrow) { margin-left:auto!important; margin-right:auto!important; text-align:center; }
.ws-legacy-slide .ws-slide-shade {
  background:linear-gradient(180deg,rgba(8,18,39,.52) 0%,rgba(6,17,39,.46) 60%,rgba(5,15,35,.56) 100%);
}
.ws-legacy-slide.ws-slide-light .ws-slide-shade {
  background:linear-gradient(180deg,rgba(16,43,93,.62),rgba(13,40,89,.43),rgba(8,27,65,.58));
}
.ws-legacy-slide-inner .ws-slide-cta { margin:24px auto 0!important; }

/* Gallery thumbs: equal top edge and fixed aspect ratio regardless of image dimensions */
.ws-old-template-grid { align-items:start; }
.ws-old-template { display:block; margin:0!important; width:100%; aspect-ratio:351/252; }
.ws-old-template img { width:100%; height:100%!important; aspect-ratio:351/252; object-fit:cover; object-position:top center; }
/* One CTA below the gallery, matching service-page buttons. */
.ws-legacy-template-link { text-align:center; margin:32px 0 0!important; }
.ws-legacy-template-link .ws-legacy-template-button,
.ws-legacy-contact-cta a,
.ws-restore-button,
.ws-restore-contact-link a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:13px 23px;
  border-radius:9px;
  border:1px solid #155dfc;
  color:#fff!important;
  background:#155dfc;
  box-shadow:0 6px 15px rgba(21,93,252,.12);
  font-weight:750;
  font-size:15px;
  line-height:1.4;
  text-decoration:none!important;
  text-align:center;
  transition:background-color .2s ease, transform .2s ease;
}
.ws-legacy-template-link .ws-legacy-template-button:hover,
.ws-legacy-contact-cta a:hover,
.ws-restore-button:hover,
.ws-restore-contact-link a:hover {
  color:#fff!important; background:#0d47c7; transform:translateY(-1px);
}
/* Center page buttons without moving image and text links inside cards. */
.ws-restore-col > a.ws-restore-button,
.ws-restore-col > .ws-restore-button { display:table; width:max-content; max-width:100%; margin:0 auto!important; white-space:normal; }
.ws-restore-contact-link,
.ws-restore-content .ws-form-actions { text-align:center; }
.ws-legacy-contact-cta .ws-legacy-wrap { text-align:center; }
/* Reduce the excessive empty spaces produced by old WPBakery spacer blocks. */
.ws-restore-content .ws-space-70 { height:40px; }
.ws-restore-content .ws-space-60 { height:36px; }
.ws-restore-content .ws-space-50 { height:32px; }
.ws-restore-content .ws-restore-richtext p[style*="font-size: 50px"],
.ws-restore-content .ws-restore-richtext p[style*="font-size:50px"] { display:none; }
.ws-restore-content .ws-restore-row { align-items:flex-start; }
.ws-restore-content .ws-restore-row > .ws-restore-col { align-self:stretch; }
.ws-restore-content .ws-restore-thumbnail { display:block; aspect-ratio:351/252; }
.ws-restore-content .ws-restore-thumbnail a { display:block; width:100%; height:100%; }
.ws-restore-content .ws-restore-thumbnail img { display:block; height:100%!important; width:100%!important; aspect-ratio:351/252; object-fit:cover; object-position:top center; }
@media (max-width:700px) {
  .ws-legacy-slide-inner { padding:55px 0 124px; }
  .ws-legacy-slide h1 { font-size:clamp(30px,8.2vw,43px); max-width:100%; }
  .ws-legacy-slide-inner > p:not(.ws-slide-eyebrow) { font-size:15px; }
  .ws-legacy-template-link .ws-legacy-template-button { width:100%; max-width:330px; }
  .ws-restore-content .ws-space-70 { height:22px!important; }
}
@media (prefers-reduced-motion: reduce) {
  .ws-legacy-template-link a,.ws-restore-button { transition:none!important; }
}
