.sb-base-builder-layout {
  color: var(--sb-base-color-text, #2a2a2a);
  background: var(--sb-base-color-background, #fff);
  font-family: var(--sb-base-font-body, system-ui, sans-serif);
  font-size: var(--sb-base-font-size, 16px);
  line-height: 1.65;
}

/*
 * Builder pages must escape WordPress' normal article width. The block-theme
 * page template intentionally constrains ordinary text to about 760px; a
 * visual page layout needs the full viewport and applies its own containers.
 */
body.sb-base-has-builder-layout main.sb-base-section {
  padding-block: 0 !important;
  padding-inline: 0 !important;
}

body.sb-base-has-builder-layout .entry-content.wp-block-post-content,
body.sb-base-has-builder-layout .wp-block-post-content > .sb-base-builder-layout,
body.sb-base-has-builder-layout .entry-content > .sb-base-builder-layout {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

.sb-base-builder-layout *,
.sb-base-builder-layout *::before,
.sb-base-builder-layout *::after { box-sizing: border-box; }
.sb-base-builder-layout img { display: block; max-width: 100%; height: auto; }
.sb-base-builder-layout a { color: var(--sb-base-color-link, #111); }
.sb-base-library-icon { display: block; width: 1em; height: 1em; fill: none; stroke: currentColor; }
.sb-base-library-icon * { vector-effect: non-scaling-stroke; }

.sb-base-builder-section { position: relative; width: 100%; max-width: none; background-repeat: no-repeat; }
.sb-base-builder-section--boxed { width: min(calc(100% - 2rem), var(--sb-base-container-width, 1200px)); margin-inline: auto; }
.sb-base-builder-container { display: grid; width: min(100%, var(--sb-base-container-max, var(--sb-base-container-width, 1200px))); max-width: var(--sb-base-container-max, var(--sb-base-container-width, 1200px)); margin-inline: auto; grid-template-columns: 1fr; gap: var(--sb-base-columns-gap, 24px); }
.sb-base-builder-container--full { width: 100%; max-width: none; }
.sb-base-layout-50-50 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sb-base-layout-40-60 { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.sb-base-layout-60-40 { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.sb-base-layout-33-33-33 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sb-base-layout-25-25-25-25 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sb-base-layout-25-75 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
.sb-base-layout-75-25 { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
.sb-base-builder-column { min-width: 0; }
.sb-base-builder-module { margin-block: 0 1.5rem; }
.sb-base-article-quote blockquote { margin: 1.5rem 0; padding: 1.1rem 1.35rem; border-left: 4px solid var(--sb-base-color-accent, #f26a00); background: rgb(0 0 0 / 4%); }
.sb-base-article-quote blockquote p { margin-top: 0; font-size: 1.08em; }
.sb-base-article-quote blockquote cite { display: block; margin-top: .7rem; font-style: normal; font-weight: 700; }
.sb-base-builder-module:last-child { margin-bottom: 0; }

.sb-base-module-button__align-left { text-align: left; }
.sb-base-module-button__align-center { text-align: center; }
.sb-base-module-button__align-right { text-align: right; }
.sb-base-module-button__link { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--sb-base-button-radius, 2px); font-weight: 700; letter-spacing: .04em; line-height: 1.2; text-decoration: none; text-transform: uppercase; transition: transform .18s ease, background .18s ease; }
.sb-base-module-button__link:hover { transform: translateY(-2px); }
.sb-base-module-button__link--small { padding: .65rem 1rem; font-size: .75rem; }
.sb-base-module-button__link--medium { padding: .9rem 1.4rem; font-size: .82rem; }
.sb-base-module-button__link--large { padding: 1.05rem 1.7rem; font-size: .9rem; }
.sb-base-module-button__link--primary { color: #fff !important; background: var(--sb-base-color-primary, #111); }
.sb-base-module-button__link--secondary { color: #fff !important; background: var(--sb-base-color-secondary, #2a2a2a); }
.sb-base-module-button__link--outline { color: var(--sb-base-color-primary, #111) !important; border-color: currentColor; background: transparent; }
.sb-base-module-button__link--text { padding-inline: 0; color: var(--sb-base-color-primary, #111) !important; background: transparent; }

.sb-base-module-icon__inner { display: flex; justify-content: flex-start; }
.sb-base-module-icon__align-center { justify-content: center; text-align: center; }
.sb-base-module-icon__align-right { justify-content: flex-end; text-align: right; }
.sb-base-module-icon__inner > a,
.sb-base-module-icon__inner > span { display: inline-flex; align-items: center; flex-direction: column; gap: .65rem; color: var(--sb-base-single-icon-color, var(--sb-base-color-accent, #c8a96a)); text-decoration: none; }
.sb-base-module-icon__glyph { display: grid; width: var(--sb-base-single-icon-size, 64px); height: var(--sb-base-single-icon-size, 64px); place-items: center; }
.sb-base-module-icon__shape-circle .sb-base-module-icon__glyph,
.sb-base-module-icon__shape-rounded .sb-base-module-icon__glyph { padding: calc(var(--sb-base-single-icon-size, 64px) * .22); border: 1px solid currentColor; }
.sb-base-module-icon__shape-circle .sb-base-module-icon__glyph { border-radius: 50%; }
.sb-base-module-icon__shape-rounded .sb-base-module-icon__glyph { border-radius: 18%; }
.sb-base-module-icon__svg { width: 100%; height: 100%; }
.sb-base-module-icon__label { color: var(--sb-base-color-text, #2a2a2a); font-size: .86rem; font-weight: 700; letter-spacing: .04em; }

.sb-base-module-hero { margin: 0; }
.sb-base-module-hero__inner { position: relative; display: grid; min-height: 560px; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: stretch; overflow: visible; }
.sb-base-module-hero__copy { display: flex; min-width: 0; padding: clamp(3rem, 4.6vw, 5.25rem); flex-direction: column; justify-content: center; }
.sb-base-module-hero__copy h1 { max-width: 12ch; margin: 0 0 1.2rem; color: var(--sb-base-color-heading, #111); font: 400 clamp(3.15rem, 4.2vw, 5rem)/1.02 var(--sb-base-font-heading, Georgia, serif); letter-spacing: -.025em; text-wrap: balance; }
.sb-base-module-hero__eyebrow { color: var(--sb-base-color-accent, #c8a96a); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sb-base-module-hero__buttons { display: flex; margin-top: 1.5rem; flex-wrap: wrap; gap: .75rem; }
.sb-base-module-hero__shortcode { position: absolute; z-index: 3; right: clamp(1rem, 4vw, 4rem); bottom: -3rem; width: min(390px, calc(100% - 2rem)); }
.sb-base-module-hero__media { min-height: 480px; background: #111; }
.sb-base-module-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.sb-base-module-hero__inner--image-left .sb-base-module-hero__media { order: -1; }
.sb-base-module-hero__inner--centered { min-height: 520px; grid-template-columns: 1fr; text-align: center; }
.sb-base-module-hero__inner--centered .sb-base-module-hero__copy { align-items: center; max-width: 980px; margin: auto; }
.sb-base-module-hero__inner--background { min-height: 620px; grid-template-columns: 1fr; color: #fff; background-size: cover; background-position: center; }
.sb-base-module-hero__inner--background .sb-base-module-hero__copy { max-width: 900px; }
.sb-base-module-hero__inner--background h1 { color: #fff; }
.sb-base-module-placeholder { display: grid; place-items: center; color: #fff; }

.sb-base-module-cards__grid,
.sb-base-module-posts__grid { display: grid; grid-template-columns: repeat(var(--sb-base-card-columns, var(--sb-base-post-columns, 3)), minmax(0, 1fr)); gap: 1.5rem; }
.sb-base-module-cards__item,
.sb-base-module-posts__item { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid #edeae5; background: #fff; box-shadow: var(--sb-base-global-shadow); }
.sb-base-module-posts__item { --sb-base-post-card-pad: clamp(1.4rem, 3vw, 2.2rem); position: relative; display: flex; min-width: 0; padding: var(--sb-base-post-card-pad); flex-direction: column; overflow: hidden; }
.sb-base-module-posts__media { display: block; margin: calc(0px - var(--sb-base-post-card-pad)) calc(0px - var(--sb-base-post-card-pad)) 1.35rem; overflow: hidden; }
.sb-base-module-posts__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .35s ease; }
.sb-base-module-posts__media:hover img { transform: scale(1.025); }
.sb-base-module-cards__icon { display: grid; width: 3rem; height: 3rem; margin-bottom: 1.25rem; place-items: center; border: 1px solid var(--sb-base-color-accent, #c8a96a); border-radius: 50%; color: var(--sb-base-color-accent, #c8a96a); }
.sb-base-module-cards__svg { width: 1.55rem; height: 1.55rem; }
.sb-base-module-cards__icon .sb-base-library-icon--legacy { font-size: .82rem; font-weight: 750; }
.sb-base-module-gallery__grid { display: grid; grid-template-columns: repeat(var(--sb-base-gallery-columns, 3), minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.sb-base-module-gallery__item { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #111; }
.sb-base-module-gallery__link { display: block; color: inherit; }
.sb-base-module-gallery__link:focus-visible { outline: 3px solid var(--sb-base-color-accent, #c8a96a); outline-offset: -3px; }
.sb-base-module-gallery__item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1); transition: transform .45s ease, filter .45s ease; }
.sb-base-module-gallery__item:hover img { transform: scale(1.025); filter: grayscale(.72); }
.sb-base-module-gallery__item figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 1.5rem 1.25rem 1rem; color: #fff; background: linear-gradient(transparent, rgb(0 0 0 / 78%)); font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sb-base-module-posts__item time { display: block; margin-top: 1rem; color: #666; font-size: .82rem; }
.sb-base-module-posts__item h3 { margin-block: .65rem .8rem; font-size: 1.45rem; line-height: 1.2; }
.sb-base-module-posts__item a { text-decoration: none; }
.sb-base-module-posts__item > p { margin: 0 0 1.2rem; line-height: 1.65; }
.sb-base-module-posts__more { display: inline-flex; margin-top: auto; align-items: center; gap: .55rem; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sb-base-module-posts__demo-badge { position: absolute; z-index: 2; top: 1rem; left: 1rem; display: inline-flex; padding: .35rem .55rem; border-radius: 999px; color: #4b3519; background: rgb(245 234 216 / 94%); box-shadow: 0 5px 14px rgb(0 0 0 / 12%); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sb-base-module-posts__empty { padding: 2rem; border: 1px dashed #d6d0c5; background: #faf9f6; text-align: center; }
.sb-base-module-posts__empty p { max-width: 720px; margin: .5rem auto 0; }
.sb-base-module-posts__pagination { margin-top: clamp(2rem, 5vw, 3.5rem); }
.sb-base-module-posts__pagination .page-numbers { display: flex; margin: 0; padding: 0; align-items: center; justify-content: center; flex-wrap: wrap; gap: .55rem; list-style: none; }
.sb-base-module-posts__pagination a,
.sb-base-module-posts__pagination span { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; padding: .55rem .8rem; align-items: center; justify-content: center; border: 1px solid #d6d0c5; color: var(--sb-base-color-heading, #111); background: #fff; font-size: .85rem; font-weight: 750; line-height: 1; text-decoration: none; }
.sb-base-module-posts__pagination a:hover,
.sb-base-module-posts__pagination a:focus-visible { border-color: var(--sb-base-color-primary, #111); outline: 2px solid transparent; color: #fff; background: var(--sb-base-color-primary, #111); }
.sb-base-module-posts__pagination .current { border-color: var(--sb-base-color-accent, #c8a96a); color: #111; background: var(--sb-base-color-accent, #c8a96a); }
.sb-base-demo-post-notice { max-width: 820px; margin: 1.5rem auto 2rem; padding: 1rem 1.2rem; border-left: 4px solid #ff7518; color: #2c2c2c; background: #fff4e9; font-size: .92rem; line-height: 1.55; }
.sb-base-demo-post-hero { max-width: 980px; margin: 0 auto clamp(2rem, 5vw, 3.5rem); overflow: hidden; }
.sb-base-demo-post-hero img { display: block; width: 100%; max-height: 600px; aspect-ratio: 16 / 9; object-fit: cover; }
.sb-base-demo-post-cta { max-width: 820px; margin: 3rem auto 0; padding-top: 2rem; border-top: 1px solid currentColor; }
.sb-base-demo-post-cta a { display: inline-flex; padding: .9rem 1.15rem; align-items: center; gap: .75rem; color: #fff; background: #111; font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.sb-base-module-testimonials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.sb-base-module-testimonials blockquote { margin: 0; padding: 2rem; border-left: 3px solid var(--sb-base-color-accent, #c8a96a); background: #f7f5f1; }
.sb-base-module-testimonials__empty { display: flex; min-height: 160px; padding: 1.5rem 2rem; align-items: center; justify-content: center; flex-direction: column; color: #454545; background: linear-gradient(100deg, #fbfaf7, #f4f1ea, #fbfaf7); text-align: center; }
.sb-base-module-testimonials__empty > span { height: 2.3rem; color: var(--sb-base-color-accent, #c8a96a); font: 4.5rem/.8 Georgia, serif; }
.sb-base-module-testimonials__empty p { max-width: 680px; margin: .75rem auto; font: italic clamp(1.1rem, 2vw, 1.45rem)/1.45 var(--sb-base-font-heading, Georgia, serif); }
.sb-base-module-testimonials__empty strong { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.sb-base-module-contact__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); }

.sb-base-module-icon-box__grid { display: grid; grid-template-columns: repeat(var(--sb-base-icon-columns, 3), minmax(0, 1fr)); gap: 1.5rem; }
.sb-base-module-icon-box__item { min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #e8e4dc; background: #fff; }
.sb-base-module-icon-box__grid--boxed .sb-base-module-icon-box__item { box-shadow: var(--sb-base-global-shadow); }
.sb-base-module-icon-box__grid--minimal .sb-base-module-icon-box__item { padding-inline: 0; border-width: 0 0 1px; box-shadow: none; }
.sb-base-module-icon-box__icon { display: grid; width: 3.25rem; height: 3.25rem; margin-bottom: 1.25rem; place-items: center; border: 1px solid var(--sb-base-color-accent, #c8a96a); border-radius: 50%; color: var(--sb-base-color-accent, #c8a96a); font-size: 1.2rem; font-weight: 700; }
.sb-base-module-icon-box__svg { width: 1.6rem; height: 1.6rem; }
.sb-base-module-icon-box__item h3 { margin: 0 0 .65rem; font-family: var(--sb-base-font-heading, Georgia, serif); font-size: 1.35rem; }
.sb-base-module-icon-box__text > :last-child { margin-bottom: 0; }
.sb-base-module-icon-box__link { display: inline-flex; margin-top: 1rem; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 750; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }

.sb-base-module-team__grid { display: grid; grid-template-columns: repeat(var(--sb-base-team-columns, 3), minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); }
.sb-base-module-team__item { min-width: 0; overflow: hidden; border: 1px solid #e8e4dc; background: #fff; box-shadow: var(--sb-base-global-shadow); }
.sb-base-module-team__media { display: grid; aspect-ratio: 4 / 5; place-items: center; overflow: hidden; color: #fff; background: var(--sb-base-color-secondary, #2a2a2a); font: 400 clamp(3.5rem, 8vw, 6rem)/1 var(--sb-base-font-heading, Georgia, serif); }
.sb-base-module-team__media-link { display: grid; width: 100%; height: 100%; place-items: center; color: inherit; }
.sb-base-module-team__media-link:focus-visible { outline: 3px solid var(--sb-base-color-accent, #c8a96a); outline-offset: -3px; }
.sb-base-module-team__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .25s ease, transform .35s ease; }
.sb-base-module-team__item:hover .sb-base-module-team__media img { transform: scale(1.02); filter: grayscale(.65); }
.sb-base-module-team__body { padding: 1.5rem; }
.sb-base-module-team__body h3 { margin: 0; font-family: var(--sb-base-font-heading, Georgia, serif); font-size: 1.45rem; }
.sb-base-module-team__role { margin: .3rem 0 1rem; color: var(--sb-base-color-accent, #c8a96a); font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sb-base-module-team__bio > :last-child { margin-bottom: 0; }
.sb-base-module-team__contact { margin-top: 1rem; font-size: .88rem; }

.sb-base-module-pricing__grid { display: grid; grid-template-columns: repeat(var(--sb-base-pricing-columns, 3), minmax(0, 1fr)); align-items: stretch; gap: 1.5rem; }
.sb-base-module-pricing__item { position: relative; display: flex; min-width: 0; padding: clamp(1.6rem, 3vw, 2.35rem); border: 1px solid #e4e0d8; background: #fff; box-shadow: var(--sb-base-global-shadow); flex-direction: column; }
.sb-base-module-pricing__item.is-highlighted { border: 2px solid var(--sb-base-color-accent, #c8a96a); transform: translateY(-.55rem); }
.sb-base-module-pricing__badge { position: absolute; top: 0; right: 1.2rem; padding: .42rem .7rem; color: #111; background: var(--sb-base-color-accent, #c8a96a); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sb-base-module-pricing__item h3 { margin: 0 0 .8rem; font-size: 1.35rem; }
.sb-base-module-pricing__price { margin: 0 0 1rem; color: var(--sb-base-color-heading, #111); font: 400 clamp(2.4rem, 5vw, 3.4rem)/1 var(--sb-base-font-heading, Georgia, serif); }
.sb-base-module-pricing__price small { margin-left: .35rem; color: var(--sb-base-color-text, #2a2a2a); font: 400 .85rem/1.2 var(--sb-base-font-body, system-ui, sans-serif); }
.sb-base-module-pricing__description > :last-child { margin-bottom: 0; }
.sb-base-module-pricing__features { margin: 1.35rem 0 1.6rem; padding: 0; list-style: none; }
.sb-base-module-pricing__features li { position: relative; padding: .55rem 0 .55rem 1.5rem; border-bottom: 1px solid #eeeae3; }
.sb-base-module-pricing__features li::before { position: absolute; left: 0; color: var(--sb-base-color-accent, #c8a96a); content: "✓"; font-weight: 800; }
.sb-base-module-pricing__item .sb-base-module-button__link { margin-top: auto; align-self: flex-start; }

.sb-base-module-faq__list { border-top: 1px solid #dedad2; }
.sb-base-module-faq__item { border-bottom: 1px solid #dedad2; background: #fff; }
.sb-base-module-faq__item summary { position: relative; padding: 1.25rem 3.25rem 1.25rem .2rem; color: var(--sb-base-color-heading, #111); cursor: pointer; font: 600 clamp(1rem, 2vw, 1.2rem)/1.35 var(--sb-base-font-heading, Georgia, serif); list-style: none; }
.sb-base-module-faq__item summary::-webkit-details-marker { display: none; }
.sb-base-module-faq__item summary span::before,
.sb-base-module-faq__item summary span::after { position: absolute; top: 50%; right: .65rem; width: 1rem; height: 1px; background: var(--sb-base-color-accent, #c8a96a); content: ""; transition: transform .2s ease; }
.sb-base-module-faq__item summary span::after { transform: rotate(90deg); }
.sb-base-module-faq__item[open] summary span::after { transform: rotate(0); }
.sb-base-module-faq__answer { padding: 0 3.25rem 1.3rem .2rem; }
.sb-base-module-faq__answer > :last-child { margin-bottom: 0; }

.sb-base-module-cta__inner { display: flex; min-height: 250px; padding: clamp(2rem, 5vw, 4.5rem); align-items: center; justify-content: space-between; gap: clamp(1.5rem, 5vw, 4rem); }
.sb-base-module-cta__inner--dark { color: #fff; background: var(--sb-base-color-primary, #111); }
.sb-base-module-cta__inner--light { color: var(--sb-base-color-text, #2a2a2a); background: #f7f5f1; }
.sb-base-module-cta__inner--accent { color: #111; background: var(--sb-base-color-accent, #c8a96a); }
.sb-base-module-cta__inner--center { text-align: center; flex-direction: column; justify-content: center; }
.sb-base-module-cta__copy { max-width: 760px; }
.sb-base-module-cta__eyebrow { margin: 0 0 .7rem; color: var(--sb-base-color-accent, #c8a96a); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sb-base-module-cta__inner--accent .sb-base-module-cta__eyebrow { color: #111; }
.sb-base-module-cta__inner h2 { margin: 0 0 .8rem; color: inherit; font: 400 clamp(2rem, 4vw, 3.6rem)/1.08 var(--sb-base-font-heading, Georgia, serif); }
.sb-base-module-cta__text > :last-child { margin-bottom: 0; }
.sb-base-module-cta__buttons { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .75rem; }
.sb-base-module-cta__inner--center .sb-base-module-cta__buttons { justify-content: center; }
.sb-base-module-cta__button-primary { color: #111 !important; background: var(--sb-base-color-accent, #c8a96a); }
.sb-base-module-cta__inner--accent .sb-base-module-cta__button-primary { color: #fff !important; background: #111; }
.sb-base-module-cta__button-secondary { color: inherit !important; border-color: currentColor; background: transparent; }

.sb-base-product-hero .sb-base-module-hero__copy h1,
.sb-base-product-hero .sb-base-module-hero__copy { color: #fff; }
.sb-base-product-hero .sb-base-module-hero__copy h1 { color: #fff; }
.sb-base-builder-section.evelyn-hero { padding-block: 0 !important; }
.sb-base-builder-preset-evelyn .sb-base-module-hero__media img { object-position: 50% 28%; }

@media (min-width: 783px) and (max-width: 1120px) {
  .sb-base-module-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); }
  .sb-base-module-hero__copy { padding: 3.25rem 2.5rem; }
  .sb-base-module-hero__copy h1 { font-size: clamp(3rem, 5.7vw, 4.25rem); }
}

@media (min-width: 1025px) { .sb-base-hide-desktop { display: none !important; } }
@media (min-width: 783px) and (max-width: 1024px) { .sb-base-hide-tablet { display: none !important; } }
@media (max-width: 782px) {
  .sb-base-hide-mobile { display: none !important; }
  .sb-base-builder-container { grid-template-columns: 1fr; }
  .sb-base-builder-container--mobile-reverse { display: flex; flex-direction: column-reverse; }
  .sb-base-module-hero__inner { min-height: auto; grid-template-columns: 1fr; }
  .sb-base-module-hero__copy { padding: 3.5rem 1.25rem; }
  .sb-base-module-hero__copy h1 { max-width: 11ch; font-size: clamp(2.8rem, 14vw, 4.25rem); }
  .sb-base-module-hero__media { min-height: 400px; }
  .sb-base-module-hero__shortcode { position: static; width: 100%; margin-top: 1.5rem; }
  .sb-base-module-cards__grid,
  .sb-base-module-icon-box__grid,
  .sb-base-module-team__grid,
  .sb-base-module-pricing__grid,
  .sb-base-module-gallery__grid,
  .sb-base-module-posts__grid,
  .sb-base-module-testimonials__grid,
  .sb-base-module-contact__grid { grid-template-columns: 1fr; }
  .sb-base-module-pricing__item.is-highlighted { transform: none; }
  .sb-base-module-cta__inner { align-items: flex-start; flex-direction: column; }
  .sb-base-module-cta__inner--center { align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .sb-base-builder-layout *,
  .sb-base-builder-layout *::before,
  .sb-base-builder-layout *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* NOIR INK tattoo preset · black / graphite / signal red / antique gold */
.sb-base-builder-preset-tattoo {
  --sb-base-color-primary: #a51f24;
  --sb-base-color-secondary: #0b0b0c;
  --sb-base-color-accent: #c5a15a;
  --sb-base-color-background: #0f0f10;
  --sb-base-color-heading: #f4f1eb;
  --sb-base-color-text: #d4d1cc;
  --sb-base-color-link: #c5a15a;
  --sb-base-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --sb-base-font-heading: "Arial Narrow", "Aptos Narrow", "Helvetica Neue Condensed", Arial, sans-serif;
}
.sb-base-builder-preset-tattoo h1,
.sb-base-builder-preset-tattoo h2,
.sb-base-builder-preset-tattoo h3,
.sb-base-builder-preset-tattoo h4 {
  font-family: var(--sb-base-font-heading);
  font-weight: 750;
  letter-spacing: -.025em;
}
.sb-base-builder-preset-tattoo .sb-base-builder-section:not(.tattoo-hero) > .sb-base-builder-container {
  width: min(calc(100% - 2.5rem), 1380px);
  max-width: 1380px;
}
.sb-base-builder-preset-tattoo h2 {
  text-wrap: balance;
}
.sb-base-builder-preset-tattoo .tattoo-dark-section p {
  color: #bcb9b4;
}
.sb-base-builder-preset-tattoo :is(
  .tattoo-gallery-section,
  .tattoo-studio-section,
  .tattoo-booking-section,
  .tattoo-journal-section,
  .tattoo-faq-section
) {
  color: #403d39;
}
.sb-base-builder-preset-tattoo :is(
  .tattoo-gallery-section,
  .tattoo-studio-section,
  .tattoo-booking-section,
  .tattoo-journal-section,
  .tattoo-faq-section
) p {
  color: #4c4944;
}
.sb-base-builder-preset-tattoo :is(
  .tattoo-gallery-section,
  .tattoo-studio-section,
  .tattoo-booking-section,
  .tattoo-journal-section,
  .tattoo-faq-section
) h2,
.sb-base-builder-preset-tattoo :is(
  .tattoo-gallery-section,
  .tattoo-studio-section,
  .tattoo-booking-section,
  .tattoo-journal-section,
  .tattoo-faq-section
) h3 {
  color: #0b0b0c;
}
.sb-base-builder-preset-tattoo :is(
  .tattoo-style-section,
  .tattoo-gallery-section,
  .tattoo-team-section,
  .tattoo-process-section,
  .tattoo-booking-section,
  .tattoo-convention-section,
  .tattoo-journal-section,
  .tattoo-faq-section
) > .sb-base-builder-container > .sb-base-builder-column > .sb-base-builder-module-text {
  max-width: 760px;
  margin-inline: auto;
}

.sb-base-builder-section.tattoo-hero {
  padding-block: 0 !important;
  overflow: hidden;
}
.sb-base-builder-section.tattoo-hero > .sb-base-builder-container {
  width: 100%;
  max-width: none;
}
.tattoo-hero .sb-base-module-hero__inner {
  min-height: clamp(680px, 72vh, 820px);
  color: #d4d1cc;
  background: #0b0b0c;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
}
.tattoo-hero .sb-base-module-hero__copy {
  position: relative;
  z-index: 2;
  padding: clamp(4rem, 7vw, 7rem) clamp(2.5rem, 5.5vw, 6.5rem);
  background:
    radial-gradient(circle at 18% 16%, rgb(165 31 36 / 16%), transparent 34%),
    linear-gradient(135deg, #0b0b0c, #121214);
}
.tattoo-hero .sb-base-module-hero__eyebrow { color: #c5a15a; }
.tattoo-hero .sb-base-module-hero__copy h1 {
  max-width: 9.5ch;
  color: #f4f1eb;
  font-size: clamp(4rem, 5.6vw, 6.8rem);
  line-height: .94;
}
.tattoo-hero .sb-base-module-hero__copy p {
  max-width: 550px;
  color: #bcb9b4;
}
.tattoo-hero .sb-base-module-button__link--primary {
  color: #fff !important;
  background: #a51f24;
  box-shadow: 0 12px 35px rgb(165 31 36 / 28%);
}
.tattoo-hero .sb-base-module-button__link--outline {
  color: #f4f1eb !important;
  border-color: #c5a15a;
}

.sb-base-tattoo-slider {
  position: relative;
  min-height: clamp(680px, 72vh, 820px);
  overflow: hidden;
  isolation: isolate;
  background: #050505;
}
.sb-base-tattoo-slider::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, rgb(11 11 12 / 20%), transparent 38%, rgb(11 11 12 / 12%));
}
.sb-base-tattoo-slider__slide {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity .85s ease;
}
.sb-base-tattoo-slider__slide.is-active {
  z-index: 1;
  opacity: 1;
}
.sb-base-tattoo-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  filter: grayscale(.96) contrast(1.08);
  transform: scale(1.01);
}
.sb-base-tattoo-slider__controls {
  position: absolute;
  z-index: 4;
  right: 2rem;
  bottom: 2rem;
  display: flex;
  padding: .45rem;
  align-items: center;
  gap: .65rem;
  border: 1px solid rgb(197 161 90 / 48%);
  background: rgb(11 11 12 / 82%);
  backdrop-filter: blur(10px);
}
.sb-base-tattoo-slider__controls > button {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  place-items: center;
  border: 0;
  color: #f4f1eb;
  background: transparent;
  cursor: pointer;
  font-size: 1.1rem;
}
.sb-base-tattoo-slider__controls > button:hover,
.sb-base-tattoo-slider__controls > button:focus-visible {
  color: #fff;
  background: #a51f24;
}
.sb-base-tattoo-slider__dots { display: flex; align-items: center; gap: .45rem; }
.sb-base-tattoo-slider__dots button {
  width: .48rem;
  height: .48rem;
  padding: 0;
  border: 1px solid #c5a15a;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.sb-base-tattoo-slider__dots button.is-active { background: #c5a15a; }

.tattoo-demo-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3rem;
  color: #fff;
  text-align: center;
}
.tattoo-demo-notice strong {
  color: #fff;
  font-size: .73rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tattoo-demo-notice span { color: #f1dddd; font-size: .82rem; }

.tattoo-style-section { overflow: hidden; }
.tattoo-style-grid .sb-base-module-cards__grid {
  gap: 0;
  border: 1px solid #39393d;
  background: #0e0e10;
}
.tattoo-style-grid .sb-base-module-cards__item {
  position: relative;
  min-height: 310px;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  border: 0;
  border-right: 1px solid #39393d;
  border-bottom: 1px solid #39393d;
  color: #bcb9b4;
  background: linear-gradient(180deg, #18181b, #111113);
  box-shadow: none;
}
.tattoo-style-grid .sb-base-module-cards__item:nth-child(4n) { border-right: 0; }
.tattoo-style-grid .sb-base-module-cards__item:nth-child(n+5) { border-bottom: 0; }
.tattoo-style-grid .sb-base-module-cards__item::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #a51f24, #c5a15a);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.tattoo-style-grid .sb-base-module-cards__item:hover::before { transform: scaleX(1); }
.tattoo-style-grid .sb-base-module-cards__item:last-child { border-right: 0; }
.tattoo-style-grid .sb-base-module-cards__item h3 { color: #f4f1eb; }
.tattoo-style-grid .sb-base-module-cards__item a { color: #c5a15a; }
.tattoo-style-grid .sb-base-module-cards__icon {
  border-color: #5a4b31;
  border-radius: 2px;
  color: #c5a15a;
  background: #101011;
}

.tattoo-gallery-v2 .sb-base-module-gallery__grid { gap: clamp(.5rem, 1vw, .9rem); }
.tattoo-gallery-v2 .sb-base-module-gallery__item { background: #0b0b0c; }
.tattoo-gallery-v2 .sb-base-module-gallery__item:nth-child(even) { transform: translateY(2.25rem); }
.tattoo-gallery-v2 .sb-base-module-gallery__item img {
  aspect-ratio: 3 / 4;
  filter: grayscale(.2) contrast(1.04);
}
.tattoo-gallery-v2 .sb-base-module-gallery__item:hover img { filter: grayscale(0) contrast(1.06); }
.tattoo-gallery-v2 .sb-base-module-gallery__item figcaption {
  padding: 4rem 1.25rem 1.15rem;
  color: #f4f1eb;
  background: linear-gradient(transparent, rgb(11 11 12 / 92%));
  font-size: .875rem;
}

.tattoo-team-grid .sb-base-module-team__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(.75rem, 1.4vw, 1.2rem);
}
.tattoo-team-grid .sb-base-module-team__item {
  border: 1px solid #323236;
  color: #bcb9b4;
  background: #151517;
  box-shadow: 0 24px 50px rgb(0 0 0 / 24%);
}
.tattoo-team-grid .sb-base-module-team__item:nth-child(2) { border-top-color: #a51f24; }
.tattoo-team-grid .sb-base-module-team__item:nth-child(1),
.tattoo-team-grid .sb-base-module-team__item:nth-child(4) { border-top-color: #c5a15a; }
.tattoo-team-grid .sb-base-module-team__media { aspect-ratio: 4 / 5.25; }
.tattoo-team-grid .sb-base-module-team__media img {
  object-position: center top;
  filter: grayscale(.96) contrast(1.05);
}
.tattoo-team-grid .sb-base-module-team__item:hover .sb-base-module-team__media img {
  filter: grayscale(.38) contrast(1.04);
}
.tattoo-team-grid .sb-base-module-team__body { padding: 1.35rem 1.2rem 1.5rem; }
.tattoo-team-grid .sb-base-module-team__body h3 { color: #f4f1eb; font-size: 1.55rem; }
.tattoo-team-grid .sb-base-module-team__role { color: #c5a15a; }
.tattoo-team-grid .sb-base-module-team__role { font-size: .875rem; line-height: 1.45; }
.tattoo-team-grid .sb-base-module-team__bio { font-size: 1rem; line-height: 1.62; }

.tattoo-studio-section .sb-base-builder-container { align-items: center; }
.tattoo-studio-section .tattoo-studio-image-column { margin: -2.5rem 0; }
.tattoo-studio-section .sb-base-module-image img {
  width: 100%;
  min-height: 680px;
  object-fit: cover;
  filter: grayscale(.92) contrast(1.06);
}
.tattoo-studio-section .tattoo-studio-copy-column { padding: clamp(2rem, 6vw, 6rem); }

.tattoo-process-grid .sb-base-module-icon-box__grid {
  gap: 0;
  border-top: 1px solid #39393d;
  border-bottom: 1px solid #39393d;
}
.tattoo-process-grid .sb-base-module-icon-box__item {
  border: 0;
  border-right: 1px solid #39393d;
  color: #bcb9b4;
  background: transparent;
}
.tattoo-process-grid .sb-base-module-icon-box__item:last-child { border-right: 0; }
.tattoo-process-grid .sb-base-module-icon-box__item h3 { color: #f4f1eb; }
.tattoo-process-grid .sb-base-module-icon-box__icon {
  border-color: #5a4b31;
  border-radius: 2px;
  color: #c5a15a;
}

.tattoo-booking-v2 .sb-base-builder-container { align-items: start; }
.tattoo-booking-section .tattoo-booking-copy { padding: clamp(1rem, 3vw, 2.5rem) clamp(1rem, 3vw, 3.5rem) 0 0; }
.tattoo-booking-section .tattoo-booking-form { position: relative; }
.tattoo-booking-section .tattoo-booking-shortcode,
.tattoo-convention-section .tattoo-convention-shortcode {
  padding: clamp(1rem, 2vw, 1.8rem);
  border-top: 4px solid #a51f24;
  background: #fff;
  box-shadow: 0 25px 65px rgb(11 11 12 / 18%);
}
.tattoo-booking-section .sb-termin,
.tattoo-convention-section .sb-termin {
  --sb-termin-accent: #a51f24;
}

.tattoo-convention-section .sb-base-builder-container { align-items: center; }
.tattoo-convention-section .tattoo-convention-media { align-self: center; }
.tattoo-convention-section .tattoo-convention-media .sb-base-module-image,
.tattoo-convention-section .tattoo-convention-media img { height: 100%; }
.tattoo-convention-section .tattoo-convention-media img {
  width: 100%;
  min-height: 360px;
  max-height: 430px;
  object-fit: cover;
  filter: grayscale(.9) contrast(1.07);
}
.tattoo-convention-section .tattoo-convention-copy { padding: clamp(1.25rem, 3vw, 3.25rem); }
.tattoo-convention-section .tattoo-convention-shortcode {
  margin-top: 2rem;
  color: #222;
}

.tattoo-convention-facts .sb-base-module-icon-box__grid {
  margin-block: 1.5rem;
  gap: 0;
  border-top: 1px solid #39393d;
  border-bottom: 1px solid #39393d;
}
.tattoo-convention-facts .sb-base-module-icon-box__item {
  min-height: 0;
  padding: 1.15rem;
  border: 0;
  border-right: 1px solid #39393d;
  color: #bcb9b4;
  background: transparent;
}
.tattoo-convention-facts .sb-base-module-icon-box__item:last-child { border-right: 0; }
.tattoo-convention-facts .sb-base-module-icon-box__item h3 { color: #f4f1eb; font-size: .95rem; }
.tattoo-convention-facts .sb-base-module-icon-box__icon { color: #c5a15a; border-color: #5a4b31; }

.tattoo-faq-section .sb-base-module-faq__item {
  overflow: hidden;
  border: 1px solid #d7d2ca;
  border-left: 4px solid transparent;
  color: #242323;
  background: #fff;
  box-shadow: 0 8px 22px rgb(11 11 12 / 5%);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.tattoo-faq-section .sb-base-module-faq__item[open] {
  border-left-color: #a51f24;
  box-shadow: 0 14px 32px rgb(11 11 12 / 10%);
}
.tattoo-faq-section .sb-base-module-faq__item summary {
  min-height: 58px;
  padding: 1rem 1.15rem;
  color: #0b0b0c !important;
  background: #fff;
}
.tattoo-faq-section .sb-base-module-faq__answer {
  padding: 0 1.15rem 1.2rem;
  color: #4a4743 !important;
  background: #fff;
}
.tattoo-faq-section .sb-base-module-faq__answer p { color: inherit !important; }
.tattoo-faq-section .sb-base-module-faq__list {
  max-width: 980px;
  margin-inline: auto;
  gap: .65rem;
}

.sb-base-journal-section .sb-base-module-posts__grid {
  gap: clamp(1rem, 2vw, 1.5rem);
  border: 0;
  background: transparent;
}
.sb-base-journal-section .sb-base-module-posts__item {
  min-height: 430px;
  border: 1px solid #dedbd4;
  background: #fff;
  box-shadow: 0 12px 34px rgb(17 17 17 / 7%);
}
.sb-base-journal-section .sb-base-module-posts__item h3 {
  font-size: clamp(1.12rem, 1.8vw, 1.35rem);
  line-height: 1.25;
}
.evelyn-journal-grid .sb-base-module-posts__item { border-top: 3px solid #c8a96a; }
.evelyn-journal-grid .sb-base-module-posts__item h3 { font-family: var(--sb-base-font-heading, Georgia, serif); font-weight: 400; }
.evelyn-journal-grid .sb-base-module-posts__more { color: #8f692f; }
.tattoo-journal-grid .sb-base-module-posts__item { border: 1px solid #38383d; color: #c7c4bd; background: #1b1b1f; box-shadow: 0 18px 42px rgb(0 0 0 / 28%); }
.tattoo-journal-grid .sb-base-module-posts__item time { color: #d4b57a; }
.tattoo-journal-grid .sb-base-module-posts__item h3,
.tattoo-journal-grid .sb-base-module-posts__item h3 a { color: #f4f1eb; }
.tattoo-journal-grid .sb-base-module-posts__more { color: #d4b57a; }
.tattoo-journal-grid .sb-base-module-posts__demo-badge { color: #fff; background: rgb(165 31 36 / 94%); }
.sb-portal-journal-grid .sb-base-module-posts__item { border: 0; border-radius: 22px; box-shadow: 0 16px 40px rgb(31 31 31 / 9%); }
.sb-portal-journal-grid .sb-base-module-posts__media { border-radius: 22px 22px 0 0; }
.sb-portal-journal-grid .sb-base-module-posts__more { color: #e95f00; }
.tattoo-contact-section,
.tattoo-contact-section h2,
.tattoo-contact-section h3,
.tattoo-contact-section a { color: #f4f1eb; }
.tattoo-contact-section p { color: #aaa9a6; }
.tattoo-contact-section .sb-base-module-button__link { background: #a51f24; }

@media (max-width: 1180px) {
  .tattoo-hero .sb-base-module-hero__inner {
    grid-template-columns: minmax(360px, .92fr) minmax(440px, 1.08fr);
  }
  .tattoo-team-grid .sb-base-module-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .tattoo-hero .sb-base-module-hero__inner { min-height: auto; grid-template-columns: 1fr; }
  .tattoo-hero .sb-base-module-hero__copy { padding: 5rem max(1.5rem, 6vw); }
  .sb-base-tattoo-slider { min-height: 640px; }
  .tattoo-style-grid .sb-base-module-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tattoo-style-grid .sb-base-module-cards__item {
    border-right: 1px solid #39393d;
    border-bottom: 1px solid #39393d;
  }
  .tattoo-style-grid .sb-base-module-cards__item:nth-child(2n) { border-right: 0; }
  .tattoo-style-grid .sb-base-module-cards__item:nth-last-child(-n+2) { border-bottom: 0; }
  .tattoo-team-grid .sb-base-module-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tattoo-studio-section .tattoo-studio-image-column { margin: 0; }
  .tattoo-studio-section .sb-base-module-image img { min-height: 540px; }
  .tattoo-convention-section .tattoo-convention-media img { min-height: 360px; max-height: 420px; }
  .tattoo-gallery-v2 .sb-base-module-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
	/* Evelyn: Auf kleinen Bildschirmen zuerst die Bildwelt mit der
	 * Terminbox zeigen, anschließend den längeren Einführungstext. */
	.evelyn-hero .sb-base-module-hero__media { order: -1; }
	.evelyn-hero .sb-base-module-hero__copy { order: 0; }
	.evelyn-hero .sb-base-module-hero__copy h1 {
		width: 100%;
		max-width: none;
		margin-inline: auto;
		text-align: center;
	}
	.evelyn-hero .sb-base-evelyn-heading-line { display: block; }

  .tattoo-hero .sb-base-module-hero__copy { padding: 3.25rem max(1.25rem, 6vw) 2.75rem; }
  .tattoo-hero .sb-base-module-hero__copy h1 { max-width: 9ch; font-size: clamp(2.75rem, 13vw, 4.25rem); }
  .tattoo-hero .sb-base-module-hero__copy p { font-size: 1rem; }
  .sb-base-tattoo-slider { min-height: 430px; }
  .sb-base-tattoo-slider__slide img { object-position: center; }
  .sb-base-tattoo-slider__controls { right: 1rem; bottom: 1rem; }
  .tattoo-demo-notice { align-items: flex-start; flex-direction: column; gap: .35rem; text-align: left; }
  .tattoo-process-grid .sb-base-module-icon-box__item { border-right: 0; border-bottom: 1px solid #39393d; }
  .tattoo-booking-section .tattoo-booking-copy,
  .tattoo-convention-section .tattoo-convention-copy { padding-inline: 0; }
  .tattoo-convention-facts .sb-base-module-icon-box__grid { grid-template-columns: 1fr; }
  .tattoo-convention-facts .sb-base-module-icon-box__item { border-right: 0; border-bottom: 1px solid #39393d; }
  .tattoo-convention-facts .sb-base-module-icon-box__item:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
  .tattoo-style-grid .sb-base-module-cards__grid,
  .tattoo-gallery-v2 .sb-base-module-gallery__grid,
  .tattoo-team-grid .sb-base-module-team__grid { grid-template-columns: 1fr; }
  .tattoo-style-grid .sb-base-module-cards__item { min-height: 0; border-right: 0; border-bottom: 1px solid #39393d; }
  .tattoo-style-grid .sb-base-module-cards__item:last-child { border-bottom: 0; }
  .tattoo-gallery-v2 .sb-base-module-gallery__item:nth-child(even) { transform: none; }
}

/* Managed legal pages: readable on every SB Base preset. */
.sb-base-legal-content {
  width: min(100%, 920px);
  margin-inline: auto;
  color: var(--sb-base-color-text, #2a2a2a);
  font-family: var(--sb-base-font-body, system-ui, sans-serif);
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  line-height: 1.75;
}
.sb-base-legal-content .sb-base-legal-intro {
  margin: 0 0 clamp(2rem, 5vw, 3.5rem);
  padding: 1.25rem 1.4rem;
  border-left: 4px solid var(--sb-base-color-accent, #ff6a00);
  background: color-mix(in srgb, var(--sb-base-color-accent, #ff6a00) 7%, #fff);
  font-weight: 650;
}
.sb-base-legal-content h2 {
  margin: clamp(2.1rem, 5vw, 3.25rem) 0 .8rem;
  color: var(--sb-base-color-heading, #151515);
  font-family: var(--sb-base-font-heading, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  line-height: 1.25;
}
.sb-base-legal-content p { margin: 0 0 1.15rem; }
.sb-base-legal-content a {
  color: var(--sb-base-color-primary, #d95700);
  text-decoration-thickness: .08em;
  text-underline-offset: .17em;
}
.sb-base-legal-content .sb-base-legal-date {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  font-size: .9em;
  opacity: .72;
}
.sb-base-legal-fallback {
  width: min(100% - 2rem, 1080px);
  margin: clamp(2rem, 6vw, 5rem) auto;
}

/* SB Base CSS-Klassenbibliothek 1.0.0: kleine, stabile und request-freie Utilities. */
.sb-base-builder-layout .sb-typo :where(p, li, dd, blockquote),
.sb-base-builder-layout .sb-base-module-text.sb-typo > div { text-align: justify !important; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
.sb-base-builder-layout .sb-u-lead { font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.7; }
.sb-base-builder-layout .sb-u-text-left,
.sb-base-builder-layout .sb-u-text-left :where(p, h1, h2, h3, h4, h5, h6) { text-align: left !important; }
.sb-base-builder-layout .sb-u-text-center,
.sb-base-builder-layout .sb-u-text-center :where(p, h1, h2, h3, h4, h5, h6) { text-align: center !important; }
.sb-base-builder-layout .sb-u-text-right,
.sb-base-builder-layout .sb-u-text-right :where(p, h1, h2, h3, h4, h5, h6) { text-align: right !important; }
.sb-base-builder-layout .sb-u-text-narrow { width: min(100%, 760px); }
.sb-base-builder-layout .sb-u-no-hyphens,
.sb-base-builder-layout .sb-u-no-hyphens * { -webkit-hyphens: none !important; hyphens: none !important; overflow-wrap: normal; }
.sb-base-builder-layout .sb-u-center { margin-inline: auto !important; }
.sb-base-builder-layout .sb-u-stack-sm > * + * { margin-block-start: .75rem !important; }
.sb-base-builder-layout .sb-u-stack-md > * + * { margin-block-start: 1.5rem !important; }
.sb-base-builder-layout .sb-u-stack-lg > * + * { margin-block-start: 2.5rem !important; }
.sb-base-builder-layout .sb-u-gap-sm { gap: .75rem !important; }
.sb-base-builder-layout .sb-u-gap-md { gap: 1.5rem !important; }
.sb-base-builder-layout .sb-u-gap-lg { gap: 2.5rem !important; }
.sb-base-builder-layout .sb-u-card,
.sb-base-builder-layout .sb-u-card-soft,
.sb-base-builder-layout .sb-u-card-accent,
.sb-base-builder-layout .sb-u-callout { padding: clamp(1rem, 2.5vw, 1.75rem); border-radius: 10px; }
.sb-base-builder-layout .sb-u-card { border: 1px solid rgb(20 20 20 / 13%); background: #fff; }
.sb-base-builder-layout .sb-u-card-soft { border: 1px solid rgb(20 20 20 / 7%); background: color-mix(in srgb, var(--sb-base-color-accent, #f26a00) 5%, #fff); }
.sb-base-builder-layout .sb-u-card-accent,
.sb-base-builder-layout .sb-u-callout { border: 1px solid rgb(20 20 20 / 10%); border-left: 4px solid var(--sb-base-color-accent, #f26a00); background: #fff; }
.sb-base-builder-layout .sb-u-shadow { box-shadow: 0 14px 35px rgb(17 17 17 / 10%); }
.sb-base-builder-layout .sb-u-rounded { overflow: hidden; border-radius: 12px; }
.sb-base-builder-layout .sb-u-quote { padding: .5rem 0 .5rem 1.35rem; border-left: 4px solid var(--sb-base-color-accent, #f26a00); font-size: 1.15em; font-style: italic; }

@media (max-width: 782px) {
  .sb-base-builder-layout .sb-u-hide-mobile { display: none !important; }
  .sb-base-builder-layout .sb-u-mobile-center,
  .sb-base-builder-layout .sb-u-mobile-center :where(p, h1, h2, h3, h4, h5, h6) { text-align: center !important; }
  .sb-base-builder-layout .sb-u-mobile-center :where(.sb-base-builder-module, .sb-base-module-button__link) { margin-inline: auto; }
}
@media (min-width: 783px) and (max-width: 1024px) {
  .sb-base-builder-layout .sb-u-hide-tablet { display: none !important; }
}
@media (min-width: 1025px) {
  .sb-base-builder-layout .sb-u-hide-desktop { display: none !important; }
}
