.si-sticky-header-enabled {
  --si-fixed-header-height: 88px;
}

body.si-sticky-header-enabled {
  padding-top: var(--si-fixed-header-height);
}

body.page {
  --si-page-inline-space: clamp(18px, 3vw, 42px);
  --si-shell-radius: 32px;
  --si-shell-padding: clamp(28px, 4vw, 52px);
  --si-shell-bg: #ece5dc;
  --si-unified-panel-bg: #f4efe8;
  --si-shell-shadow: 0 2rem 3.5rem -2rem rgba(0, 0, 0, 0.24);
  --si-card-radius: 28px;
  --si-card-padding: clamp(22px, 3vw, 38px);
  --si-card-bg: rgba(249, 246, 241, 0.9);
  --si-card-border: 1px solid rgba(29, 27, 24, 0.08);
  --si-card-shadow: 0 1.5rem 3rem -2rem rgba(0, 0, 0, 0.28);
  --si-footer-bg: #efe8de;
  --si-footer-accent-bg: #e5ddd2;
  --si-ink: #1d1b18;
}

.si-sticky-header-enabled #sinatra-header-inner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  box-shadow: 0 0.75rem 2rem -1.5rem rgba(0, 0, 0, 0.22);
}

.si-sticky-header-enabled #sinatra-header .si-container {
  min-height: var(--si-fixed-header-height);
  align-items: center;
}

.si-sticky-header-enabled .sinatra-logo img {
  width: auto;
  max-height: 54px;
}

body.home .hypoxu08 .kv-background {
  background-color: #101a2b !important;
}

body.home .hypoxu08 .kv-background-inner {
  background-image: url("/wp-content/uploads/sinatra/home-hero-modern.svg") !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 0.72 !important;
}

body.page {
  position: relative;
  background-color: #f5f2ed;
}

body.page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.42;
  background-color: #f5f2ed;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(29, 27, 24, 0.045) 0 1px, transparent 1px 100%),
    radial-gradient(circle at 72% 34%, rgba(29, 27, 24, 0.05) 0 1px, transparent 1px 100%),
    linear-gradient(135deg, rgba(29, 27, 24, 0.018) 0%, rgba(29, 27, 24, 0.004) 48%, rgba(29, 27, 24, 0.024) 100%);
  background-size: 28px 28px, 36px 36px, cover;
  background-position: 0 0, 12px 12px, center;
  animation: 60s ease-in-out animateImage infinite;
  transform-origin: center;
}

body.page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.6), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(245, 242, 237, 0.08));
}

body.page #page,
body.page #content,
body.page #main.site-main {
  background: transparent;
}

body.page {
  --si-visual-floor: calc(100vh - var(--si-fixed-header-height) - 150px);
  --si-shell-gap: clamp(18px, 2.2vw, 34px);
  --si-shell-inline-gap: clamp(16px, 2.4vw, 32px);
  --si-art-ratio-common: 0.625;
  --si-art-ratio-service: 0.9375;
  --si-art-height-common: calc((100vw - (var(--si-shell-inline-gap) * 2)) * var(--si-art-ratio-common));
  --si-art-height-service: calc((100vw - (var(--si-shell-inline-gap) * 2)) * var(--si-art-ratio-service));
}

body.page:not(.home) #main.site-main .kv-main .kv-ee-container,
body.page:not(.home) #main.site-main .kv-main .kv-ee-container-fluid {
  width: 100%;
  max-width: none;
  padding-left: var(--si-page-inline-space);
  padding-right: var(--si-page-inline-space);
}

body.page:not(.home) #main.site-main .kv-main .kv-ee-row {
  margin-left: 0;
  margin-right: 0;
}

.si-page-visual {
  position: relative;
  width: 100%;
  min-height: 320px;
  border-radius: 28px;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 1.5rem 3rem -1.5rem rgba(0, 0, 0, 0.28);
  opacity: 1;
}

.si-page-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.12));
}

.si-page-visual-about {
  background-image: url("/wp-content/uploads/sinatra/about-visual.svg");
  background-position: center center;
}

.si-page-visual-service {
  background-image: url("/wp-content/uploads/sinatra/service-visual.svg");
  min-height: 360px;
  margin-bottom: 2rem;
  background-position: center center;
}

.si-page-visual-access {
  background-image: url("/wp-content/uploads/sinatra/access-visual.svg");
  min-height: 100%;
  background-position: center center;
}

.si-page-visual-recruit {
  background-image: url("/wp-content/uploads/sinatra/recruit-visual.svg");
  background-position: center center;
}

.si-page-visual-contact {
  background-image: url("/wp-content/uploads/sinatra/contact-visual.svg");
  min-height: 100%;
  background-position: center center;
}

.si-page-timeline {
  position: relative;
}

.si-page-timeline .si-page-visual {
  position: absolute;
  left: 0;
  top: 2rem;
  width: 40%;
  height: calc(100% - 4rem);
  min-height: 460px;
}

.si-page-timeline .kv-ee-list-control {
  position: relative;
  z-index: 1;
}

.si-page-timeline--right .kv-ee-list-control {
  min-height: 720px;
}

.si-page-split-column {
  display: flex;
  align-items: stretch;
}

.si-page-split-column .si-page-visual {
  min-height: 420px;
}

.si-page-split-column .si-page-visual-contact {
  width: 100%;
  min-height: 360px;
  margin: 1.25rem 0;
}

body.page-id-7 .wp-block-columns {
  align-items: stretch;
  justify-content: space-between;
  gap: 2rem;
  width: calc(100% - (var(--si-page-inline-space) * 2));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

body.page-id-7 #main.site-main {
  padding-left: var(--si-page-inline-space);
  padding-right: var(--si-page-inline-space);
}

body.page-id-7 .wp-block-columns > .wp-block-column:first-child {
  flex: 0 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  display: flex;
  justify-content: flex-start;
}

body.page-id-7 .wp-block-columns > .wp-block-column:last-child {
  flex: 0 0 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  display: flex;
  justify-content: flex-start;
}

body.page-id-7 .wpcf7,
body.page-id-7 .wp-block-contact-form-7-contact-form-selector,
body.page-id-7 .wpcf7-form {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

body.page-id-7 .wpcf7-form label,
body.page-id-7 .wpcf7-form-control-wrap {
  width: 100%;
}

body.page-id-7 .wpcf7-form input:not(.fit-the-fullspace),
body.page-id-7 .wpcf7-form textarea {
  width: 100%;
}

body.page-id-7 .wpcf7-form p {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

body.page-id-7 .wpcf7-form p:last-of-type {
  max-width: none;
}

body.page-id-7 .wpcf7-form .wpcf7-submit {
  width: auto !important;
  min-width: 160px;
  display: inline-block;
}

.si-page-timeline--right .si-page-visual {
  left: auto;
  right: 0;
}

.si-page-timeline--right .kv-ee-instance.kv-ee-align-left {
  margin-left: 0;
  margin-right: auto;
}

.si-page-timeline--right .ganigo04 .kv-ee-left .kv-ee-content {
  margin-right: 42%;
}

body.page-id-20 .si-page-timeline .si-page-visual {
  width: 53%;
}

/* Remove extra top offset on About/Recruit visual so spacing matches other pages. */
body.page-id-20 .si-page-timeline .si-page-visual,
body.page-id-210 .si-page-timeline--right .si-page-visual {
  top: 0;
  height: 100%;
}

body.page-id-20 .si-page-timeline .kv-ee-list-control {
  min-height: 760px;
}

body.page-id-20 .feliwo76 .kv-ee-timeline:before {
  left: 58%;
}

body.page-id-20 .feliwo76 .kv-ee-left .kv-ee-content {
  width: 42%;
  margin-left: auto;
  margin-right: 0;
  text-align: left;
  padding-right: 0;
  padding-left: 3rem;
}

body.page-id-20 .feliwo76 .kv-ee-left .kv-ee-content:before {
  left: 58%;
  transform: translateX(-50%);
}

body.page-id-210 .si-page-timeline--right .si-page-visual {
  width: 64%;
}

body.page-id-210 .si-page-timeline--right .kv-ee-list-control {
  min-height: 760px;
}

body.page-id-210 .si-page-timeline--right .ganigo04 .kv-ee-left .kv-ee-content {
  width: 100%;
  margin-right: 68%;
  padding-right: 1rem;
}

.si-service-intro-visual {
  padding: 0 0 1rem;
}

#sinatra-footer #sinatra-footer-widgets {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  background: var(--si-footer-bg, #efe8de);
  color: var(--si-ink, #1d1b18);
}

#sinatra-footer .sinatra-footer-column {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

#sinatra-copyright {
  width: 100%;
  background: var(--si-footer-accent-bg, #e5ddd2);
}

#sinatra-copyright > .si-container {
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  background: transparent;
}

body.page #sinatra-footer,
body.page #sinatra-copyright {
  background: var(--si-footer-bg);
}

body.page #sinatra-copyright {
  background: var(--si-footer-accent-bg);
}

#sinatra-footer a,
#sinatra-footer .widget-title,
#sinatra-footer .footer-widget-title,
#sinatra-footer .sinatra-widget a,
#sinatra-copyright,
#sinatra-copyright a {
  color: var(--si-ink, #1d1b18);
}

body.page-id-20 .si-page-timeline,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
body.page-id-210 .si-page-timeline--right,
body.page-id-7 .wp-block-columns {
  width: calc(100% - (var(--si-shell-inline-gap) * 2));
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--si-shell-radius);
  padding: var(--si-shell-padding);
  background: var(--si-shell-bg);
  box-shadow: var(--si-shell-shadow);
}

/* Force About baseline spacing/radius on all other subpages. */
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
body.page-id-210 .si-page-timeline--right,
body.page-id-7 .wp-block-columns {
  width: calc(100% - (var(--si-shell-inline-gap) * 2)) !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  border-radius: var(--si-shell-radius) !important;
}

/* Normalize the base builder section block across subpages. */
body.page:not(.home) .kv-ee-section.kv-ee-section--sm {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* About/Recruit have an empty first row in this block; remove it so top spacing matches other pages. */
body.page-id-20 .kv-ee-section.kv-ee-section--sm > .kv-ee-container > .kv-ee-row:first-child,
body.page-id-210 .kv-ee-section.kv-ee-section--sm > .kv-ee-container > .kv-ee-row:first-child {
  display: none !important;
}

body.page-id-20 .si-page-timeline {
  background-image: url("/wp-content/uploads/sinatra/about-visual.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
}

body.page-id-20 .si-page-timeline::before,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::before,
body.page-id-210 .si-page-timeline--right::before,
body.page-id-7 .wp-block-columns::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
  border-radius: inherit;
  opacity: 0.9;
  filter: saturate(0.92) contrast(0.95);
}

body.page-id-20 .si-page-timeline::after,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
body.page-id-210 .si-page-timeline--right::after,
body.page-id-7 .wp-block-columns::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(244, 240, 232, 0.02) 0%, rgba(244, 240, 232, 0.08) 28%, rgba(244, 240, 232, 0.72) 62%, rgba(244, 240, 232, 0.94) 100%);
  border-radius: inherit;
}

body.page-id-20 .si-page-timeline::before {
  display: none;
}

body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::before {
  background-image: url("/wp-content/uploads/sinatra/access-visual.svg");
}

body.page-id-210 .si-page-timeline--right::before {
  background-image: url("/wp-content/uploads/sinatra/recruit-visual.svg");
}

body.page-id-7 .wp-block-columns::before {
  background-image: url("/wp-content/uploads/sinatra/contact-visual.svg");
  background-size: 100% auto;
  background-position: left top;
  background-repeat: no-repeat;
}

body.page-id-20 .si-page-visual-about,
body.page-id-6 .si-page-visual-access,
body.page-id-210 .si-page-visual-recruit,
body.page-id-7 .si-page-visual-contact {
  display: none;
}

body.page-id-20 .si-page-timeline .kv-ee-list-control,
body.page-id-6 .kv-ee-text-col,
body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  margin-left: auto;
  background: var(--si-card-bg);
  border: var(--si-card-border);
  border-radius: var(--si-card-radius);
  padding: var(--si-card-padding);
  backdrop-filter: none;
  box-shadow: none;
}

/* Keep timeline wrappers and content cards in the same tone. */
body.page-id-20 .si-page-timeline,
body.page-id-20 .feliwo76 .kv-ee-timeline,
body.page-id-20 .si-page-timeline .kv-ee-list-control,
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
body.page-id-210 .si-page-timeline--right,
body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
body.page-id-7 .wp-block-columns,
body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
  background-color: var(--si-unified-panel-bg);
}

body.page-id-20 .si-page-timeline,
body.page-id-210 .si-page-timeline--right {
  min-height: max(760px, var(--si-visual-floor), var(--si-art-height-common));
}

/* Normalize top spacing of timeline content to match other pages. */
body.page-id-20 .si-page-timeline .kv-ee-list-control,
body.page-id-210 .si-page-timeline--right .kv-ee-list-control {
  margin-top: 0 !important;
  padding-top: 0;
}

body.page-id-20 .feliwo76 .kv-ee-timeline {
  margin-top: 0 !important;
}

body.page-id-20 .feliwo76 .kv-ee-element:first-child {
  margin-top: 0 !important;
}

body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
body.page-id-7 .wp-block-columns {
  min-height: max(760px, var(--si-visual-floor), var(--si-art-height-common));
}

body.page-id-20 .feliwo76 .kv-ee-timeline:before,
body.page-id-20 .feliwo76 .kv-ee-content:before {
  display: none;
}

body.page-id-20 .feliwo76 .kv-ee-left .kv-ee-content {
  width: 100%;
  margin: 0;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid rgba(29, 27, 24, 0.08);
}

body.page-id-20 .feliwo76 .kv-ee-element:last-child .kv-ee-content {
  border-bottom: 0;
  padding-bottom: 0;
}

body.page-id-210 .ganigo04 .kv-ee-left .kv-ee-content {
  width: 100%;
  margin: 0;
  padding-right: 0;
  border-bottom: 1px solid rgba(29, 27, 24, 0.08);
  padding-bottom: 1.25rem;
}

body.page-id-210 .ganigo04 .kv-ee-instance:last-child .kv-ee-left .kv-ee-content {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Recruit has an empty top text row from builder; remove it to align with other pages. */
body.page-id-210 .mahohu16 .kv-ee-section-text {
  margin-bottom: 0 !important;
  min-height: 0;
}

body.page-id-210 .mahohu16 .kv-ee-row:first-child {
  margin-bottom: 0;
}

body.page-id-210 .ganigo04 .kv-ee-instance:first-child .kv-ee-element {
  padding-top: 0;
}

body.page-id-210 .ganigo04 .kv-ee-element {
  padding-top: 0 !important;
}

body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
  width: calc(100% - (var(--si-shell-inline-gap) * 2));
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--si-shell-radius);
  padding: 360px clamp(28px, 4vw, 52px) 72px;
  min-height: max(1500px, var(--si-visual-floor), var(--si-art-height-service));
  background: #e8eee9;
  box-shadow: var(--si-shell-shadow);
}

body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::before,
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::before {
  z-index: -2;
  background-image: url("/wp-content/uploads/sinatra/service-visual.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
  opacity: 0.9;
  filter: saturate(0.92) contrast(0.95);
}

body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(238, 241, 237, 0.08) 0%, rgba(238, 241, 237, 0.14) 26%, rgba(238, 241, 237, 0.58) 54%, rgba(238, 241, 237, 0.86) 100%);
}

body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::before,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
body.page-id-210 .si-page-timeline--right::before,
body.page-id-210 .si-page-timeline--right::after,
body.page-id-7 .wp-block-columns::before,
body.page-id-7 .wp-block-columns::after,
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::before,
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
  border-radius: inherit !important;
}

body.page-id-138 .si-page-visual-service {
  display: none;
}

body.page-id-138 .si-service-intro-visual {
  display: none;
}

body.page-id-138 .kv-ee-items {
  position: relative;
  z-index: 1;
  width: auto;
  margin-left: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  backdrop-filter: none;
  box-shadow: none;
  margin-top: 0;
}

body.page-id-138 .kv-ee-items .kv-ee-image-col {
  display: block;
}

body.page-id-138 .kv-ee-items .kv-ee-content-text {
  max-width: 600px;
  padding: 0;
}

body.page-id-138 .kv-ee-items .kv-ee-content {
  background: var(--si-card-bg);
  border: var(--si-card-border);
  border-radius: var(--si-card-radius);
  padding: 1.25rem;
  backdrop-filter: none;
  box-shadow: none;
}

/* Keep artistic background text visible by using a very light veil. */
body.page-id-20 .si-page-timeline::after,
body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
body.page-id-210 .si-page-timeline--right::after,
body.page-id-7 .wp-block-columns::after,
body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Contact looked fully transparent because wrapper + overlay were both too light.
   Keep the same style direction but raise base opacity for readability. */
body.page-id-7 .wp-block-columns::after {
  background: linear-gradient(90deg, rgba(244, 240, 232, 0.2) 0%, rgba(244, 240, 232, 0.28) 32%, rgba(244, 240, 232, 0.74) 66%, rgba(244, 240, 232, 0.9) 100%) !important;
}

body.page-id-138 .kv-ee-items .kv-ee-content:first-child {
  margin-top: 5rem;
}

body.page-id-138 .kv-ee-list-control > .kv-ee-row > .kv-ee-content.kv-ee-left {
  margin-top: 8rem;
}

body.page-id-138 .kv-ee-items .kv-ee-content:last-child {
  margin-top: 12rem;
}

body.page-id-138 .kv-ee-items hr.kv-ee-line {
  margin-left: 0;
}

@media (min-width: 576px) {
  body.page-id-138 .kv-ee-items .kv-ee-col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  body.page-id-138 .kv-ee-items .kv-ee-col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

  body.page-id-138 .kv-ee-items .kv-ee-content.kv-ee-right .kv-ee-row {
    flex-direction: row-reverse;
    text-align: right;
  }

  body.page-id-138 .kv-ee-items .kv-ee-content.kv-ee-right hr.kv-ee-line {
    margin-left: auto;
    margin-right: 0;
  }
}

body.page-id-6 .si-page-split-column {
  display: none;
}

body.page-id-6 .kv-ee-text-col {
  padding-left: clamp(22px, 3vw, 38px);
  padding-right: clamp(22px, 3vw, 38px);
  background: var(--si-card-bg);
}

body.page-id-7 .wp-block-columns > .wp-block-column:first-child {
  display: none;
}

body.page-id-7 .wp-block-columns > .wp-block-column:last-child {
  flex: 0 0 100%;
  max-width: 100%;
}

body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
  width: min(100%, 760px);
}

body.page-id-7 .si-contact-status-panel {
  display: none;
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(22, 102, 71, 0.24);
  background: rgba(238, 251, 245, 0.92);
  color: #166647;
  font-size: 0.94rem;
  line-height: 1.55;
}

body.page-id-7 .si-contact-status-panel.is-visible {
  display: block;
}

body.page-id-7 .si-turnstile-wrap {
  margin: 8px 0 14px;
  min-height: 66px;
  overflow: hidden;
}

body.page-id-7 .si-turnstile-wrap iframe {
  max-width: 100%;
}

body.page-id-7 .si-turnstile-wrap > div {
  max-width: 100%;
}

@media (max-width: 420px) {
  body.page-id-7 .si-turnstile-wrap {
    display: flex;
    justify-content: center;
    --si-turnstile-scale: min(1, calc((100vw - 56px) / 300));
    min-height: calc(66px * var(--si-turnstile-scale));
  }

  body.page-id-7 .si-turnstile-wrap > div {
    width: 300px;
    transform: scale(var(--si-turnstile-scale));
    transform-origin: top center;
  }
}

body.page-id-7 .si-contact-form-hidden {
  display: none;
}

body.page-id-7 .si-contact-consent {
  width: 100%;
  margin: 0;
  padding: var(--si-card-padding);
  border-radius: var(--si-card-radius);
  border: var(--si-card-border);
  background: var(--si-card-bg);
  box-shadow: var(--si-card-shadow);
  line-height: 1.9;
}

body.page-id-7 .si-contact-consent p {
  margin: 0 0 1rem;
}

body.page-id-7 .si-contact-consent p:last-of-type {
  margin-bottom: 0.75rem;
}

body.page-id-7 .si-contact-consent-check {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

body.page-id-7 .si-contact-consent [data-contact-consent-next]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

body.page-id-7 .si-field-error {
  margin: 0.35rem 0 0;
  color: #c62828;
  font-size: 0.86rem;
  line-height: 1.45;
}

body.page-id-7 .si-turnstile-error {
  margin: 0 0 0.85rem;
}

body.page-id-7 .wpcf7-form .wpcf7-form-control[aria-invalid="true"] {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 1px rgba(198, 40, 40, 0.15);
}

@media (max-width: 1280px) {
  body.page-id-20 .si-page-timeline .si-page-visual,
  body.page-id-210 .si-page-timeline--right .si-page-visual {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    min-height: 300px;
    height: auto;
    margin-bottom: 1.25rem;
  }

  body.page-id-20 .si-page-timeline .kv-ee-list-control,
  body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
  body.page-id-6 .kv-ee-text-col,
  body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  body.page-id-20 .feliwo76 .kv-ee-left .kv-ee-content,
  body.page-id-210 .si-page-timeline--right .ganigo04 .kv-ee-left .kv-ee-content {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
  }

  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left .kv-ee-row {
    flex-wrap: wrap;
  }

  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left .kv-ee-col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  body.page-id-7 .wp-container-core-columns-is-layout-1 {
    flex-wrap: wrap !important;
  }

  body.page-id-7 .wp-block-columns > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1366px) {
  body.page-id-20 .si-page-timeline,
  body.page-id-210 .si-page-timeline--right,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
    min-height: auto !important;
  }

  body.page-id-20 .si-page-timeline .si-page-visual,
  body.page-id-210 .si-page-timeline--right .si-page-visual {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 280px;
    margin-bottom: 1rem;
  }

  body.page-id-20 .si-page-timeline .kv-ee-list-control,
  body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
  body.page-id-6 .kv-ee-text-col,
  body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
    width: 100% !important;
    margin: 0 !important;
  }

  body.page-id-20 .feliwo76 .kv-ee-left .kv-ee-content,
  body.page-id-210 .si-page-timeline--right .ganigo04 .kv-ee-left .kv-ee-content {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
    padding-top: 260px !important;
    padding-bottom: 36px !important;
  }

  body.page-id-138 .kv-ee-list-control > .kv-ee-row > .kv-ee-content.kv-ee-left {
    margin-top: 2rem !important;
  }

  body.page-id-138 .kv-ee-items .kv-ee-content:last-child {
    margin-top: 2.5rem !important;
  }

  /* Prevent overlap/slide on medium screens: remove decorative visuals and keep content stable. */
  body.page-id-20 .si-page-visual,
  body.page-id-6 .si-page-visual,
  body.page-id-210 .si-page-visual,
  body.page-id-138 .si-page-visual {
    display: none !important;
  }

  body.page-id-20 .si-page-timeline::before,
  body.page-id-20 .si-page-timeline::after,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::before,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
  body.page-id-210 .si-page-timeline--right::before,
  body.page-id-210 .si-page-timeline--right::after,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::before,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
    display: none !important;
  }

  body.page-id-20 .si-page-timeline,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
  body.page-id-210 .si-page-timeline--right,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
    overflow: visible !important;
    background: var(--si-shell-bg) !important;
  }

  /* Keep content readable without covering artwork text on smaller screens. */
  body.page-id-20 .si-page-timeline .kv-ee-list-control,
  body.page-id-6 .kv-ee-text-col,
  body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
  body.page-id-7 .wp-block-contact-form-7-contact-form-selector,
  body.page-id-138 .kv-ee-items .kv-ee-content {
    background: var(--si-unified-panel-bg) !important;
    border-color: rgba(29, 27, 24, 0.06) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
}

@media (max-width: 991px) {
  .si-sticky-header-enabled {
    --si-fixed-header-height: 74px;
  }

  body.page:not(.home) {
    --si-page-inline-space: 16px;
  }

  .si-sticky-header-enabled .sinatra-logo img {
    max-height: 42px;
  }

  .si-page-timeline .si-page-visual {
    position: relative;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    min-height: 280px;
    margin-bottom: 1.5rem;
  }

  .si-page-split-column .si-page-visual,
  .si-page-visual-service {
    min-height: 280px;
  }

  .si-page-split-column .si-page-visual-contact {
    width: 100%;
    min-height: 260px;
    margin: 0 0 1.5rem;
  }

  body.page-id-20 .si-page-timeline,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
  body.page-id-210 .si-page-timeline--right,
  body.page-id-7 .wp-block-columns {
    width: calc(100% - 32px);
    margin: 16px auto;
    padding: 22px 18px;
    min-height: auto;
    border-radius: 24px;
  }

  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
  body.page-id-210 .si-page-timeline--right,
  body.page-id-7 .wp-block-columns {
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    border-radius: 24px !important;
  }

  body.page-id-20 .si-page-timeline::after,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
  body.page-id-210 .si-page-timeline--right::after,
  body.page-id-7 .wp-block-columns::after {
    background: linear-gradient(180deg, rgba(244, 240, 232, 0.2) 0%, rgba(244, 240, 232, 0.82) 48%, rgba(244, 240, 232, 0.95) 100%);
  }

  body.page-id-20 .si-page-timeline .kv-ee-list-control,
  body.page-id-6 .kv-ee-text-col,
  body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
  body.page-id-7 .wp-block-contact-form-7-contact-form-selector {
    width: 100%;
    padding: 20px 18px;
    border-radius: 22px;
  }

  body.page-id-138 .kv-ee-items {
    margin-top: 0;
  }

  body.page-id-138 .kv-ee-items .kv-ee-content:last-child {
    margin-top: 2rem;
  }

  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
    width: calc(100% - 32px);
    margin: 0 auto;
    padding: 220px 18px 28px;
    min-height: 980px;
  }

  body.page-id-7 .wp-block-columns > .wp-block-column:first-child,
  body.page-id-7 .wp-block-columns > .wp-block-column:last-child {
    flex-basis: 100%;
    max-width: 100%;
  }

  .si-page-timeline--right .ganigo04 .kv-ee-left .kv-ee-content {
    margin-right: 0;
  }

  /* Mobile: show content only, hide all artistic images/background layers. */
  body.page-id-20 .si-page-visual,
  body.page-id-6 .si-page-visual,
  body.page-id-7 .si-page-visual,
  body.page-id-210 .si-page-visual,
  body.page-id-138 .si-page-visual,
  body.page-id-138 .si-service-intro-visual,
  body.page-id-6 .si-page-split-column,
  body.page-id-7 .wp-block-columns > .wp-block-column:first-child {
    display: none !important;
  }

  body.page-id-20 .si-page-timeline::before,
  body.page-id-20 .si-page-timeline::after,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::before,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left::after,
  body.page-id-7 .wp-block-columns::before,
  body.page-id-7 .wp-block-columns::after,
  body.page-id-210 .si-page-timeline--right::before,
  body.page-id-210 .si-page-timeline--right::after,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::before,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left::after {
    display: none !important;
  }

  body.page-id-20 .si-page-timeline,
  body.page-id-6 .kv-ee-section.kv-ee-right.kv-ee-align-left,
  body.page-id-7 .wp-block-columns,
  body.page-id-210 .si-page-timeline--right,
  body.page-id-138 .kv-ee-section.kv-ee-section--sm.kv-ee-align-left {
    background: var(--si-shell-bg) !important;
    overflow: visible !important;
    min-height: auto !important;
    padding-top: 22px !important;
  }

  body.page-id-20 .si-page-timeline .kv-ee-list-control,
  body.page-id-6 .kv-ee-text-col,
  body.page-id-7 .wp-block-contact-form-7-contact-form-selector,
  body.page-id-210 .si-page-timeline--right .kv-ee-list-control,
  body.page-id-138 .kv-ee-items .kv-ee-content {
    background: var(--si-unified-panel-bg) !important;
    border-color: rgba(29, 27, 24, 0.06) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
}
