/* Local repairs layered after the original Squarespace and section styles. */
[hidden] { display: none !important; }
html, body, #siteWrapper, #page { min-width: 0; }
html { scroll-padding-top: 24px; }
body { margin: 0; }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible, video:focus-visible {
  outline: 3px solid #606060;
  outline-offset: 5px;
}
.restore-skip {
  position: fixed;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.restore-skip:focus {
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  max-width: calc(100% - 20px);
  padding: 12px 18px;
  margin: 0;
  clip: auto;
  clip-path: none;
  background: #fff;
  color: #111;
  z-index: 10000;
  white-space: normal;
}

/* The common header keeps source typography and the transparent hero treatment. */
#header.restore-header {
  box-sizing: border-box;
  position: absolute;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px 32px;
  width: 100%;
  min-height: 100px;
  padding: 24px max(24px, 4vw);
  color: #fff;
  background: linear-gradient(rgba(0, 0, 0, .36), transparent);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
#header .restore-brand {
  flex: 0 1 330px;
  min-width: 0;
  max-width: 330px;
  color: inherit;
  font-family: var(--site-title-font-font-family, "dapifer", Georgia, serif);
  font-size: clamp(26px, 2.3vw, 32px);
  font-weight: var(--site-title-font-font-weight, 900);
  line-height: 1.18;
  text-decoration: none;
}
#restoreNavigation { min-width: 0; }
#restoreNavigation ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#restoreNavigation li { margin: 0; padding: 0; list-style: none; }
#restoreNavigation a {
  display: inline-block;
  padding: 9px 0;
  color: inherit;
  font-family: var(--site-navigation-font-font-family, "Sanchez", Georgia, serif);
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 5px;
}
#restoreNavigation a:hover { text-decoration: underline; }
#restoreNavigation a.restore-booking {
  padding: 13px 24px;
  border: 1px solid #fff;
  border-radius: 999px;
  color: #111;
  background: #fff;
  font-family: var(--header-button-font-font-family, "Sanchez", Georgia, serif);
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
}
#restoreNavigation a.restore-booking:hover { background: #e4e4e4; border-color: #e4e4e4; }
#header a:focus-visible, #header button:focus-visible, #header summary:focus-visible { outline-color: #fff; }
#restoreNavigation .restore-programs { position: relative; }
#restorePrograms { position: relative; }
#restorePrograms > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  color: inherit;
  font-family: var(--site-navigation-font-font-family, "Sanchez", Georgia, serif);
  font-size: 15px;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
#restorePrograms > summary::-webkit-details-marker { display: none; }
#restorePrograms > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
#restorePrograms[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }
#restorePrograms:not([open]) > ul { display: none; }
#restorePrograms[open] > ul {
  position: absolute;
  top: 100%;
  left: -18px;
  z-index: 60;
  display: block;
  width: max-content;
  min-width: 210px;
  max-width: min(300px, 85vw);
  padding: 8px 18px;
  border: 1px solid #555;
  background: #111;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}
#restorePrograms > ul a { display: block; white-space: normal; }
#restoreMenuToggle {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid #ddd;
  border-radius: 24px;
  color: #fff;
  background: rgba(0, 0, 0, .14);
  font-family: var(--body-font-font-family, "Sanchez", Georgia, serif);
  font-size: 15px;
  line-height: 1.5;
  cursor: pointer;
}
body:not(.js-ready) #header.restore-header { position: relative; background: #111; }
.page-build-club #header.restore-header { position: relative; background: #111; }
@media (max-width: 1100px) {
  #header.restore-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 22px 5vw; gap: 18px 20px; min-height: 94px; }
  #header .restore-brand { max-width: 400px; font-size: 27px; }
  body.js-ready #restoreMenuToggle { display: inline-flex; }
  #restoreNavigation { grid-column: 1 / -1; width: 100%; }
  #restoreNavigation ul { display: block; }
  #restoreNavigation li { border-top: 1px solid #555; }
  #restoreNavigation a { display: block; padding: 13px 0; font-size: 16px; }
  #restoreNavigation a.restore-booking { display: inline-block; margin-top: 16px; padding: 12px 24px; }
  #restorePrograms > summary { padding: 13px 0; font-size: 16px; }
  #restorePrograms[open] > ul {
    position: static;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0 0 8px 12px;
    padding: 0 0 0 16px;
    border: 0;
    border-left: 1px solid #777;
    box-shadow: none;
  }
  #restorePrograms > ul > li { border: 0; }
  #restorePrograms > ul a { padding: 10px 0; }
  body.restore-menu-open #header.restore-header { background: #111; }
}
@media (max-width: 420px) {
  #header.restore-header { min-height: 90px; padding: 18px 20px; gap: 16px; }
  #header .restore-brand { font-size: 23px; max-width: 240px; }
}

/* Source image loading and animation hooks must not hide content without the runtime. */
#page, #footer-sections, #page .content-wrapper, #footer-sections .content-wrapper,
#page .fluid-engine, #footer-sections .fluid-engine, .fe-block, .sqs-block-content { min-width: 0; }
#page .page-section > .content-wrapper, #footer-sections .page-section > .content-wrapper { box-sizing: border-box; max-width: 100%; }
#page .content-wrapper, #footer-sections .content-wrapper,
#page img, #footer-sections img, .fluid-image-animation-wrapper, .sqs-image-content {
  visibility: visible !important;
  opacity: 1 !important;
}
#page img, #footer-sections img { max-width: 100%; }
#page .section-background img { width: 100%; height: 100%; object-fit: cover; }
#page .sqs-html-content, #footer-sections .sqs-html-content { overflow-wrap: anywhere; }
#page .sqsrte-scaled-text-container, #footer-sections .sqsrte-scaled-text-container,
#page .sqsrte-scaled-text, #footer-sections .sqsrte-scaled-text {
  position: static !important;
  display: block !important;
  inset: auto !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere;
  visibility: visible !important;
  opacity: 1 !important;
}
#page .sqsrte-scaled-text > *, #footer-sections .sqsrte-scaled-text > * {
  position: static !important;
  max-width: 100% !important;
  transform: none !important;
  white-space: normal !important;
}
#page #home .sqsrte-scaled-text h1 { font-size: clamp(42px, 5.2vw, 74px) !important; line-height: 1.15; }
#footer-sections .sqsrte-scaled-text h4 { font-size: 26px !important; line-height: 1.5; }
#footer-sections .sqsrte-scaled-text p { font-size: 16px !important; line-height: 1.5; }
#page .sqs-block-button-element {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px !important;
  height: auto !important;
  max-width: 100%;
  padding: 14px 24px !important;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
}
#saga, #consulting, #products, #gallery { scroll-margin-top: 24px; }
#home .content-wrapper { padding-top: 95px; }
#home .section-background-overlay { opacity: .2; }

/* A local, controllable video occupies the original media block. */
.restore-video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #111;
  object-fit: contain;
}
.video-block .sqs-block-content:has(> .restore-video) { width: 100%; height: auto; }
.restore-video-unavailable { display: grid; place-items: center; aspect-ratio: 16 / 9; margin: 0; border: 1px solid #ddd; background: #eee; color: #333; }
.restore-video-poster { width: 100%; max-width: 100%; margin: 0; }
.restore-video-poster img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.restore-video-poster figcaption { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: #555; }

/* Recovered funnels retain their source visibility rules and column composition. */
.page-build-club #preview-container,
.page-build-club #preview-container .c-section,
.page-build-club #preview-container .c-row,
.page-build-club #preview-container .c-column,
.page-build-club #preview-container .c-wrapper,
.page-build-club #preview-container .inner {
  box-sizing: border-box;
  min-width: 0;
}
.page-build-club #preview-container .rows {
  width: min(1400px, 100%) !important;
  max-width: 100% !important;
}
.page-build-club #preview-container .c-image,
.page-build-club #preview-container .image-container,
.page-build-club #preview-container .image-container > div,
.page-build-club #preview-container .image-container > div > div {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.page-build-club #preview-container .c-image img {
  max-width: 100% !important;
  height: auto !important;
}
.page-build-club #preview-container #image-3gmBV4s3Y9 { margin-left: 0; }
.page-build-club #preview-container #image-tYsvVGVjAJ,
.page-build-club #preview-container #image-J16L2iPveV { margin-right: 0; }
/* The source marquee repeats identical words four times for its animation.
   Keep the original text in DOM; a complete, wrapping first copy is readable
   without motion and cannot push the surrounding business content offscreen. */
.page-build-club #preview-container .slider-container {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
.page-build-club #preview-container .slider-text {
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  animation: none !important;
  transform: none !important;
}
.page-build-club #preview-container .slider-text > span {
  box-sizing: border-box;
  display: block;
  max-width: 100%;
  white-space: normal;
  font-size: clamp(20px, 2.6vw, 40px);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.page-build-club #preview-container .slider-text > span ~ span { display: none; }
.page-vendor-list #preview-container #row-eKq96fI3L5 > .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-vendor-list #preview-container #col-hjSanVSV6M,
.page-vendor-list #preview-container #col-19gHyKMmbw {
  width: 100% !important;
  max-width: 900px;
  min-width: 0;
  flex-basis: auto !important;
  margin-left: auto;
  margin-right: auto;
}
.page-vendor-list #preview-container #col-hjSanVSV6M { padding-bottom: 0; }
.page-vendor-list #preview-container .restore-service-cta { margin: 12px auto 24px; }
@media (max-width: 1100px) {
  .page-masterclass #preview-container #section-edGP2qR8gc .c-row:not(.rows) {
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .page-masterclass #preview-container #section-edGP2qR8gc .c-row > .inner { flex-wrap: wrap; }
  .page-masterclass #preview-container #section-edGP2qR8gc .c-row > .inner > .c-column {
    width: 100% !important;
    max-width: 100%;
    flex-basis: 100% !important;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Preserve the original alternating composition with content-sized desktop rows. */
@media (min-width: 1101px) {
  #saga .content-wrapper, #consulting .content-wrapper, #products .content-wrapper {
    width: 100%;
    max-width: 1320px;
    padding: 70px 4vw !important;
    margin: 0 auto;
  }
  #saga .fluid-engine, #consulting .fluid-engine, #products .fluid-engine {
    width: 100%;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: auto;
    gap: 24px 58px;
    align-items: start;
  }
  #saga .fe-block, #consulting .fe-block, #products .fe-block {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    grid-area: auto;
  }
  #saga .sqs-block, #consulting .sqs-block, #products .sqs-block,
  #saga .sqs-block-content, #consulting .sqs-block-content, #products .sqs-block-content,
  #saga .sqs-block-alignment-wrapper, #consulting .sqs-block-alignment-wrapper, #products .sqs-block-alignment-wrapper {
    height: auto !important;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  #saga .sqs-html-content > :first-child, #consulting .sqs-html-content > :first-child, #products .sqs-html-content > :first-child,
  #saga .sqsrte-scaled-text > :first-child, #consulting .sqsrte-scaled-text > :first-child, #products .sqsrte-scaled-text > :first-child { margin-top: 0; }
  #saga .sqs-html-content > :last-child, #consulting .sqs-html-content > :last-child, #products .sqs-html-content > :last-child,
  #saga .sqsrte-scaled-text > :last-child, #consulting .sqsrte-scaled-text > :last-child, #products .sqsrte-scaled-text > :last-child { margin-bottom: 0; }
  #saga .fluid-image-container, #consulting .fluid-image-container, #products .fluid-image-container,
  #saga .content-fill, #consulting .content-fit, #products .content-fit {
    position: relative;
    height: auto !important;
    padding: 0 !important;
  }
  #saga .sqs-block-image img, #consulting .sqs-block-image img, #products .sqs-block-image img {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
  }
  #page #saga h1, #page #consulting h1 { font-size: clamp(42px, 4.2vw, 60px) !important; line-height: 1.2; }
  #page #consulting h3 { font-size: 31px; line-height: 1.3; }
  #page #products h4 { font-size: 27px !important; line-height: 1.35; }
  #saga .fluid-engine { grid-template-rows: min-content 1fr; }
  #saga .fe-block-6776120f6598f0e9ec98 { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
  #saga .fe-block-42898950769e0065f9ee { grid-column: 2; grid-row: 1; }
  #saga .fe-block-320a8efd8023a338cc2f { grid-column: 2; grid-row: 2; }
  #saga .sqs-block-image img { max-height: 690px; }
  #consulting .fluid-engine { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 26px; }
  #consulting .fe-block-yui_3_17_2_1_1721960348469_17987 { grid-column: 1 / -1; grid-row: 1; margin-bottom: 18px; }
  #consulting .fe-block-yui_3_17_2_1_1721960348469_21438 { grid-column: 1 / span 2; grid-row: 2; }
  #consulting .fe-block-yui_3_17_2_1_1721960348469_32299 { grid-column: 1 / span 2; grid-row: 3; }
  #consulting .fe-block-yui_3_17_2_1_1722013299711_10278 { grid-column: 1 / span 2; grid-row: 4 / span 2; }
  #consulting .fe-block-yui_3_17_2_1_1721960348469_20275 { grid-column: 3 / span 2; grid-row: 2 / span 2; align-self: center; padding-left: 15px; box-sizing: border-box; }
  #consulting .fe-block-yui_3_17_2_1_1721960348469_27022 { grid-column: 3; grid-row: 4; }
  #consulting .fe-block-0bb2f7ff0bffbebb4c8a { grid-column: 4; grid-row: 4; }
  #consulting .sqs-block-button-element { padding: 15px 20px; font-size: 15px; }
  #products .fe-block-f336bab3297acd6d29f5 { grid-column: 1 / -1; grid-row: 1; margin-bottom: 18px; }
  #products .fe-block-d721d0fc7c02bcb4fb8b { grid-column: 2; grid-row: 2; }
  #products .fe-block-yui_3_17_2_1_1721960348469_42196 { grid-column: 1; grid-row: 2 / span 3; align-self: center; }
  #products .fe-block-d9d150e890f48ddcf49d { grid-column: 2; grid-row: 3; }
  #products .fe-block-yui_3_17_2_1_1721960348469_85498 { grid-column: 2; grid-row: 4; margin-bottom: 35px; }
  #products .fe-block-yui_3_17_2_1_1722799403695_7600 { grid-column: 2; grid-row: 5 / span 3; align-self: center; }
  #products .fe-block-b0476b5b0e3abe5736ed { grid-column: 1; grid-row: 5; }
  #products .fe-block-d86bb177d46c734bd9d9 { grid-column: 1; grid-row: 6; }
  #products .fe-block-33293a1dfbd63535d8ba { grid-column: 1; grid-row: 7; margin-bottom: 35px; }
  #products .fe-block-44ff72a0adb422a57e56 { grid-column: 1; grid-row: 8 / span 3; align-self: center; }
  #products .fe-block-ed732807054f18a56782 { grid-column: 2; grid-row: 8; }
  #products .fe-block-bb8c0b28a4395033ea05 { grid-column: 2; grid-row: 9; }
  #products .fe-block-16adfacae1d32ea7af78 { grid-column: 2; grid-row: 10; }
  #products .sqs-block-button-container { text-align: left; }
}

/* Narrower screens use the same source blocks in a readable single column. */
@media (max-width: 1100px) {
  #saga .content-wrapper, #consulting .content-wrapper, #products .content-wrapper {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 54px max(24px, 6vw) !important;
  }
  #saga .fluid-engine, #consulting .fluid-engine, #products .fluid-engine {
    display: flex;
    flex-direction: column;
    gap: 24px;
    grid-template-columns: none;
    grid-template-rows: none;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #saga .fe-block, #consulting .fe-block, #products .fe-block {
    grid-area: auto !important;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  #saga .sqs-block, #consulting .sqs-block, #products .sqs-block { height: auto; padding: 0; }
  #saga .sqs-block-content, #consulting .sqs-block-content, #products .sqs-block-content { height: auto !important; }
  #saga .sqs-block-alignment-wrapper, #consulting .sqs-block-alignment-wrapper, #products .sqs-block-alignment-wrapper { height: auto; align-items: flex-start !important; }
  #saga .fluid-image-container, #consulting .fluid-image-container, #products .fluid-image-container,
  #saga .image-block-outer-wrapper, #consulting .image-block-outer-wrapper, #products .image-block-outer-wrapper,
  #saga .content-fill, #consulting .content-fit, #products .content-fit { position: relative; height: auto !important; padding: 0 !important; }
  #saga .sqs-block-image img, #consulting .sqs-block-image img, #products .sqs-block-image img {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none;
    margin: 0 auto;
    object-fit: contain !important;
  }
  #saga .fe-block-6776120f6598f0e9ec98 { max-width: 560px; align-self: center; }
  #page #saga h1, #page #consulting h1 { margin: 0; font-size: clamp(34px, 6vw, 54px) !important; line-height: 1.2; }
  #page #consulting h3 { margin: 0; font-size: clamp(25px, 4.2vw, 35px); line-height: 1.3; }
  #page #products h4 { font-size: clamp(23px, 3.7vw, 30px) !important; line-height: 1.35; }
  #saga .sqs-html-content > :first-child, #consulting .sqs-html-content > :first-child, #products .sqs-html-content > :first-child { margin-top: 0; }
  #saga .sqs-html-content > :last-child, #consulting .sqs-html-content > :last-child, #products .sqs-html-content > :last-child { margin-bottom: 0; }
  #consulting .sqs-block-button-container, #products .sqs-block-button-container { text-align: left; }
  #consulting .sqs-block-button-element, #products .sqs-block-button-element { min-height: 48px; padding: 15px 25px; }
  /* The original final block is the course title; put it beside its own content. */
  #products .fe-block-f336bab3297acd6d29f5 { order: 0; margin-bottom: 12px; }
  #products .fe-block-d721d0fc7c02bcb4fb8b { order: 1; }
  #products .fe-block-yui_3_17_2_1_1721960348469_42196 { order: 2; }
  #products .fe-block-d9d150e890f48ddcf49d { order: 3; }
  #products .fe-block-yui_3_17_2_1_1721960348469_85498 { order: 4; margin-bottom: 28px; }
  #products .fe-block-yui_3_17_2_1_1722799403695_7600 { order: 5; }
  #products .fe-block-b0476b5b0e3abe5736ed { order: 6; }
  #products .fe-block-d86bb177d46c734bd9d9 { order: 7; }
  #products .fe-block-33293a1dfbd63535d8ba { order: 8; margin-bottom: 28px; }
  #products .fe-block-44ff72a0adb422a57e56 { order: 9; }
  #products .fe-block-ed732807054f18a56782 { order: 10; }
  #products .fe-block-bb8c0b28a4395033ea05 { order: 11; }
  #products .fe-block-16adfacae1d32ea7af78 { order: 12; }
}
@media (max-width: 767px) {
  #home .fluid-engine { min-height: 590px; grid-template-rows: repeat(17, minmax(24px, auto)); }
  #home .content-wrapper { padding-top: 0; }
  #page #home .sqsrte-scaled-text h1 { font-size: clamp(35px, 9vw, 56px) !important; line-height: 1.12; }
  #home .sqs-html-content p { font-size: 15px; line-height: 1.65; }
  #saga .content-wrapper, #consulting .content-wrapper, #products .content-wrapper { padding: 44px 24px !important; }
  #page #saga p, #page #consulting p, #page #products p, #page #products li { font-size: 16px; line-height: 1.7; }
}

/* All ten photographs remain visible and ordinary local links without JavaScript. */
#gallery .content-wrapper { width: 100%; max-width: 100%; padding: 30px 4vw 60px !important; }
#gallery .content { width: 100%; }
.restore-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.restore-gallery figure { min-width: 0; margin: 0; }
.restore-gallery a {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #efefef;
  cursor: zoom-in;
}
.restore-gallery img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
@media (max-width: 900px) { .restore-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  #gallery .content-wrapper { padding: 24px 20px 42px !important; }
  .restore-gallery { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

/* Footer retains its original content and social symbol artwork. */
#footer-sections h4 { overflow-wrap: anywhere; }
#footer-sections #block-981c53637213eeb629d7 h4,
#footer-sections #block-981c53637213eeb629d7 p {
  font-size: clamp(13px, 1.35vw, 19px) !important;
  line-height: 1.5;
}
#footer-sections .sqs-svg-icon--wrapper { min-width: 36px; min-height: 36px; }
@media (max-width: 1100px) {
  #footer-sections .content-wrapper { padding: 42px 24px !important; }
  #footer-sections .fluid-engine { display: flex; flex-direction: column; align-items: center; gap: 18px; width: 100%; }
  #footer-sections .fe-block { grid-area: auto !important; width: 100%; max-width: 700px; min-height: 0; }
  #footer-sections .sqs-block, #footer-sections .sqs-block-content, #footer-sections .sqs-block-alignment-wrapper { height: auto; padding: 0; }
  #footer-sections .sqs-html-content > * { margin: 0; text-align: center; }
  #footer-sections .sqs-svg-icon--list { text-align: center; }
  #footer-sections h4, #footer-sections .sqsrte-scaled-text h4 { font-size: 23px !important; line-height: 1.5; }
}
@media (max-width: 420px) { #footer-sections h4, #footer-sections .sqsrte-scaled-text h4 { font-size: 19px !important; } }

#restoreImageDialog {
  box-sizing: border-box;
  width: min(1180px, calc(100vw - 28px));
  max-width: calc(100vw - 28px);
  max-height: calc(100vh - 28px);
  max-height: calc(100dvh - 28px);
  margin: auto;
  padding: 16px;
  border: 1px solid #777;
  border-radius: 3px;
  background: #fff;
  color: #111;
  overflow: auto;
}
#restoreImageDialog::backdrop { background: rgba(0, 0, 0, .86); }
.restore-dialog-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.restore-dialog-toolbar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 13px;
  border: 1px solid #b4b4b4;
  border-radius: 24px;
  color: #111;
  background: #f4f4f4;
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
}
.restore-dialog-toolbar [data-dialog-close] { margin-left: auto; }
.restore-image-position { font-size: 14px; white-space: nowrap; }
#restoreDialogImage { display: block; width: auto; height: auto; max-width: 100%; max-height: 73vh; max-height: 73dvh; margin: 0 auto; object-fit: contain; }
#restoreDialogCaption { margin: 12px 0 0; font-size: 15px; line-height: 1.5; text-align: center; }
#restoreDialogCaption:empty { margin: 0; }
body.restore-dialog-open { overflow: hidden; }
@media (max-width: 420px) {
  #restoreImageDialog { padding: 12px; }
  .restore-dialog-toolbar { gap: 6px; }
  .restore-dialog-toolbar button { padding: 8px 10px; font-size: 12px; }
  .restore-image-position { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
