@import url("fonts.css");

:root {
  --sa-background: #fffaf7;
  --sa-surface: #fff0e9;
  --sa-blush: #fde8e1;
  --sa-text: #302b2a;
  --sa-muted: #786965;
  --sa-accent: #f37e7e;
  --sa-accent-text: #a83f36;
  --sa-orange: #ff4500;
  --sa-button-text: #392723;
  --sa-hero-text: #fff;
  --sa-hero-highlight: #ffd9c9;
  --sa-hero-overlay: #261d1b;
  --sa-overlay-opacity: .72;
  --sa-font-heading: "Manrope", sans-serif;
  --sa-font-body: "DM Sans", sans-serif;
  --sa-body-size: 16px;
  --sa-line-height: 1.75;
  --sa-heading-scale: 1;
  --sa-content-width: 1600px;
  --sa-media-radius: 36px;
  --sa-button-radius: 999px;
  --sa-menu-radius: 999px;
  --sa-header-height: 90px;
  --sa-header-bg: #fffaf7;
  --sa-header-text: #302b2a;
  --sa-menu-bg: #fce9e2;
  --sa-logo-width: 210px;
  --sa-footer-bg: #fde8e1;
  --sa-footer-text-color: #805d54;
  --sa-section-spacing: 1;
  --sa-gutter: clamp(22px, 6vw, 96px);
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sa-header-height) + 16px); }
.sa-site { margin: 0; background: var(--sa-background); color: var(--sa-text); font-family: var(--sa-font-body); font-size: var(--sa-body-size); line-height: var(--sa-line-height); -webkit-font-smoothing: antialiased; }
.sa-site *, .sa-site *::before, .sa-site *::after { box-sizing: border-box; }
.sa-site img { max-width: 100%; height: auto; }
.sa-site a { color: var(--sa-accent-text); }
.sa-site button, .sa-site input, .sa-site textarea, .sa-site select { font: inherit; }
.sa-site :focus-visible { outline: 3px solid var(--sa-accent-text); outline-offset: 4px; }
.sa-site .sa-hero :focus-visible { outline-color: var(--sa-hero-text); }
.sa-site .sa-shell { max-width: var(--sa-content-width); padding-inline: var(--sa-gutter); margin-inline: auto; }
.sa-sr-only, .sa-skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sa-skip:focus { position: fixed; left: 16px; top: 16px; z-index: 100000; background: white; color: var(--sa-text); padding: 12px; }
.sa-site a { text-underline-offset: .2em; }
.sa-header { position: relative; z-index: 100; background: var(--sa-header-bg); color: var(--sa-header-text); }
.sa-sticky-header .sa-header { position: sticky; top: 0; }
.admin-bar.sa-sticky-header .sa-header { top: 32px; }
.sa-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--sa-header-height); gap: 28px; }
.sa-brand { flex: 0 1 auto; min-width: 0; }
.sa-brand .custom-logo { display: block; width: var(--sa-logo-width); max-height: calc(var(--sa-header-height) - 20px); height: auto; object-fit: contain; }
.sa-wordmark { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--sa-header-text) !important; font: 800 12px var(--sa-font-heading); letter-spacing: .13em; white-space: nowrap; }
.sa-monogram { display: grid; place-items: center; flex: none; width: 35px; height: 35px; border: 1px solid var(--sa-accent); color: var(--sa-accent-text); border-radius: 50%; font-size: 17px; letter-spacing: 0; }
.sa-brand-suffix { margin-left: 5px; font-weight: 500; opacity: .7; }
.sa-navigation { display: flex; align-items: center; gap: 5px; padding: 5px; background: var(--sa-menu-bg); border-radius: var(--sa-menu-radius); max-width: 100%; }
.sa-menu, .sa-footer-menu { display: flex; align-items: center; gap: 3px; padding: 0; margin: 0; list-style: none; }
.sa-menu li { margin: 0; position: relative; }
.sa-menu > li { display: flex; align-items: center; }
.sa-menu a { display: block; padding: 10px 13px; border-radius: min(var(--sa-menu-radius), 24px); font-size: 12px; font-weight: 500; line-height: 1.5; color: var(--sa-header-text); text-decoration: none; }
.sa-menu a:hover, .sa-menu a:focus-visible, .sa-menu .current-menu-item > a { background: rgba(255,255,255,.65); }
.sa-header-cta { display: inline-flex; align-items: center; gap: 14px; flex: none; padding: 11px 17px; border-radius: var(--sa-button-radius); background: var(--sa-accent); color: var(--sa-button-text) !important; font-size: 12px; font-weight: 600; text-decoration: none; line-height: 1.5; }
.sa-header-cta:hover { filter: brightness(1.04); }
.sa-submenu-toggle { padding: 5px 7px 7px; color: var(--sa-header-text); border: 0; background: transparent; border-radius: 50%; font-size: 18px !important; cursor: pointer; }
.sa-submenu-toggle:hover, .sa-submenu-toggle:focus { color: var(--sa-header-text); background: rgba(255,255,255,.65); }
.sa-menu .sub-menu { min-width: 225px; max-width: min(300px, 80vw); position: absolute; top: 100%; left: 0; z-index: 2; margin: 8px 0 0; padding: 9px; list-style: none; border-radius: 18px; background: var(--sa-header-bg); box-shadow: 0 12px 35px rgba(48,43,42,.12); border: 1px solid var(--sa-menu-bg); }
.sa-menu .sub-menu .sub-menu { top: 0; left: 100%; margin: 0 0 0 5px; }
.sa-menu li:last-child .sub-menu { left: auto; right: 0; }
.sa-menu .sub-menu a { padding-right: 28px; white-space: normal; }
.sa-menu .sub-menu .sa-submenu-toggle { position: absolute; right: 2px; top: 3px; }
.sa-navigation [hidden], .sa-menu-toggle[hidden] { display: none !important; }
.sa-menu-toggle { display: none; }
.sa-header-widgets { background: var(--sa-blush); font-size: 12px; padding-block: 8px; }
.sa-header-widgets p, .sa-header-widgets .sa-widget { margin: 0; }
.sa-header-widgets .sa-shell { display: flex; align-items: center; justify-content: center; gap: 20px; }

/* Standard Elementor Free widgets provide the editable page content. */
.sa-canvas { width: 100%; overflow-wrap: anywhere; }
.sa-canvas .elementor { --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; }
.sa-canvas .elementor .e-con { --container-widget-width: 100%; --container-widget-flex-grow: 0; --container-widget-align-self: stretch; --content-width: 100%; }
.sa-canvas .elementor .sa-block { min-width: 0; gap: 0; padding: 0; }
.sa-canvas .elementor .sa-inner { width: 100%; max-width: var(--sa-content-width); margin-inline: auto; padding-inline: var(--sa-gutter); }
.sa-canvas .elementor .sa-section { gap: 0; padding-block: calc(clamp(90px, 11vw, 160px) * var(--sa-section-spacing)); }
.sa-canvas .elementor .sa-surface { background: var(--sa-surface); }
.sa-canvas .elementor .sa-blush { background: var(--sa-blush); }
.sa-canvas .elementor .elementor-heading-title { margin: 0; color: var(--sa-text); }
.sa-canvas .elementor .sa-title .elementor-heading-title { font-size: calc(clamp(44px, 5.9vw, 80px) * var(--sa-heading-scale)); line-height: 1.05; letter-spacing: -.065em; font-weight: 500; }
.sa-canvas .elementor .sa-title em { font-style: normal; font-weight: 400; color: var(--sa-accent-text); }
.sa-canvas .elementor .sa-eyebrow { margin-bottom: 26px; }
.sa-canvas .elementor .sa-eyebrow .elementor-heading-title { font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; color: var(--sa-accent-text); }
.sa-canvas .elementor .sa-copy { color: var(--sa-muted); font-size: 1em; line-height: var(--sa-line-height); }
.sa-canvas .elementor .sa-copy p { margin: 0 0 1em; }
.sa-canvas .elementor .sa-copy p:last-child { margin-bottom: 0; }
.sa-canvas .elementor .sa-button .elementor-button { display: inline-flex; justify-content: center; padding: 17px 25px; background: var(--sa-accent); border: 0; border-radius: var(--sa-button-radius); color: var(--sa-button-text); font-size: 12px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.sa-canvas .elementor .sa-button .elementor-button:hover { filter: brightness(1.04); }
.sa-canvas .elementor .sa-button .elementor-button-content-wrapper { align-items: center; }
.sa-canvas .elementor .sa-text-link .elementor-button { background: transparent; color: var(--sa-accent-text); border-radius: 0; border-bottom: 1px solid currentColor; padding: 0 0 8px; font-size: 12px; line-height: 1.6; }
.sa-global-typography .sa-canvas .elementor .sa-title .elementor-heading-title,
.sa-global-typography .sa-canvas .elementor .sa-eyebrow .elementor-heading-title { font-family: var(--sa-font-heading); }
.sa-global-typography .sa-canvas .elementor .sa-copy,
.sa-global-typography .sa-canvas .elementor .sa-button .elementor-button,
.sa-global-typography .sa-canvas .elementor .sa-text-link .elementor-button { font-family: var(--sa-font-body); }
.sa-canvas .elementor .sa-image .elementor-widget-container,
.sa-canvas .elementor .sa-image img { border-radius: var(--sa-media-radius); }
.sa-canvas .elementor .sa-image img { display: block; width: 100%; object-fit: cover; }
.sa-canvas .elementor .sa-image a { display: block; border-radius: var(--sa-media-radius); overflow: hidden; }

/* Full-height hero. The photo remains a normal, editable image widget. */
.sa-canvas .elementor .sa-hero { isolation: isolate; position: relative; min-height: max(640px, calc(100svh - var(--sa-header-height) - 14px)); margin-inline: 14px; width: calc(100% - 28px); max-width: none; overflow: hidden; border-radius: var(--sa-media-radius); background: #86716b; justify-content: center; }
.sa-canvas .elementor .sa-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--sa-hero-overlay), transparent 100%); opacity: var(--sa-overlay-opacity); }
.sa-canvas .elementor .sa-hero .sa-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; z-index: 0; }
.sa-canvas .elementor .sa-hero-photo .elementor-widget-container, .sa-canvas .elementor .sa-hero-photo img { width: 100%; height: 100%; border-radius: 0; }
.sa-canvas .elementor .sa-hero-photo img { object-fit: cover; object-position: center 36%; }
.sa-canvas .elementor .sa-hero-inner { position: relative; z-index: 2; padding-inline: calc(var(--sa-gutter) - 14px); padding-block: 120px 80px; }
.sa-canvas .elementor .sa-hero-copy { max-width: 860px; }
.sa-canvas .elementor .sa-hero .sa-eyebrow .elementor-heading-title { color: var(--sa-hero-text); }
.sa-canvas .elementor .sa-hero-title .elementor-heading-title { color: var(--sa-hero-text); font-size: calc(clamp(60px, 8.1vw, 118px) * var(--sa-heading-scale)); line-height: 1; letter-spacing: -.07em; }
.sa-canvas .elementor .sa-hero-title em { color: var(--sa-hero-highlight); }
.sa-canvas .elementor .sa-hero-bottom { margin-top: 38px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 24px; max-width: 630px; }
.sa-canvas .elementor .sa-hero-bottom .sa-copy { max-width: 350px; color: var(--sa-hero-text); font-size: .95em; }
.sa-canvas .elementor .sa-hero-round { width: auto; flex: none; }
.sa-canvas .elementor .sa-hero-round .elementor-button { display: grid; place-items: center; width: 88px; height: 88px; padding: 10px; border: 1px solid var(--sa-hero-text); border-radius: 50%; color: var(--sa-hero-text); background: transparent; font-size: 10px; }
.sa-canvas .elementor .sa-hero-round .elementor-button:hover { background: var(--sa-hero-text); color: var(--sa-text); }

.sa-canvas .elementor .sa-intro-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 6vw; align-items: start; }
.sa-canvas .elementor .sa-index .elementor-heading-title { color: var(--sa-muted); font-size: 11px; letter-spacing: .14em; line-height: 1.6; }
.sa-canvas .elementor .sa-intro-quote { margin: 30px 0 24px 16%; max-width: 480px; color: var(--sa-text); font-size: 1.25em; line-height: 1.55; }
.sa-canvas .elementor .sa-intro-link { margin-left: 16%; }
.sa-canvas .elementor .sa-gallery-heading { display: grid; grid-template-columns: 1.3fr .8fr; gap: 6vw; align-items: end; margin-bottom: 55px; }
.sa-canvas .elementor .sa-gallery-copy .sa-text-link { margin-top: 22px; }
.sa-canvas .elementor .sa-gallery-grid { display: grid; grid-template-columns: 1fr 1.12fr .82fr; gap: clamp(16px, 2vw, 28px); align-items: start; }
.sa-canvas .elementor .sa-art { min-width: 0; }
.sa-canvas .elementor .sa-art .sa-image img { height: clamp(360px, 41vw, 620px); }
.sa-canvas .elementor .sa-art:nth-child(2) { padding-top: 48px; }
.sa-canvas .elementor .sa-art:nth-child(3) .sa-image img { height: clamp(310px, 36vw, 550px); }
.sa-canvas .elementor .sa-art-caption { padding-top: 15px; margin-bottom: 0; }
.sa-canvas .elementor .sa-art-caption .elementor-heading-title { font-size: 11px; font-weight: 500; color: var(--sa-muted); line-height: 1.5; letter-spacing: .02em; }
.sa-canvas .elementor .sa-two-columns { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 8vw, 125px); align-items: center; }
.sa-canvas .elementor .sa-workshop-photo img { height: clamp(440px, 54vw, 700px); }
.sa-canvas .elementor .sa-workshop-copy .sa-copy, .sa-canvas .elementor .sa-meetings-copy .sa-copy { margin-top: 28px; max-width: 460px; }
.sa-canvas .elementor .sa-workshop-copy .sa-button, .sa-canvas .elementor .sa-meetings-copy .sa-text-link { margin-top: 28px; }
.sa-canvas .elementor .sa-workshop-note { margin-top: 60px; margin-bottom: 0; }
.sa-canvas .elementor .sa-meetings-photo { width: 90%; margin-left: auto; }
.sa-canvas .elementor .sa-meetings-photo img { height: clamp(380px, 46vw, 585px); }
.sa-canvas .elementor .sa-closing { position: relative; overflow: hidden; text-align: center; align-items: center; padding-block: calc(clamp(110px, 14vw, 190px) * var(--sa-section-spacing)); }
.sa-canvas .elementor .sa-closing::before { content: ""; position: absolute; width: clamp(200px, 23vw, 330px); height: clamp(200px, 23vw, 330px); aspect-ratio: 1; border-radius: 50%; background: var(--sa-blush); left: auto; bottom: auto; right: 3%; top: 20%; opacity: .65; pointer-events: none; }
.sa-canvas .elementor .sa-closing > .elementor-element { position: relative; }
.sa-canvas .elementor .sa-closing .sa-title .elementor-heading-title { font-size: calc(clamp(56px, 8vw, 108px) * var(--sa-heading-scale)); }
.sa-canvas .elementor .sa-closing .sa-button { margin-top: 35px; }
body.sa-site .sa-canvas .elementor .sa-closing .sa-button .elementor-button-wrapper { text-align: center; }
body.sa-site .sa-canvas .elementor .sa-closing .sa-button { align-self: center; }

.sa-footer { background: var(--sa-footer-bg); color: var(--sa-footer-text-color); padding-block: 36px 24px; }
.sa-footer a { color: inherit; }
.sa-footer-main { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.sa-footer-brand { text-decoration: none; font-family: var(--sa-font-heading); font-weight: 800; letter-spacing: .12em; }
.sa-footer-brand span { margin-left: 5px; font-weight: 400; }
.sa-footer-main p { margin: 0; }
.sa-footer-menu { flex-wrap: wrap; gap: 18px; }
.sa-footer-menu a { text-decoration: none; }
.sa-footer small { display: block; text-align: center; font-size: 10px; margin-top: 24px; }
.sa-footer-widgets { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 36px; margin-bottom: 40px; padding-bottom: 30px; border-bottom: 1px solid currentColor; }
.sa-widget-title { font: 600 18px var(--sa-font-heading); color: inherit; }
.sa-widget { font-size: 14px; overflow-wrap: anywhere; }
.sa-widget img { border-radius: var(--sa-media-radius); }
.sa-site .site-main:not(.sa-canvas) { max-width: min(100% - 44px, 1100px); margin-inline: auto; padding-block: 50px; }
.sa-site .page-content img { border-radius: var(--sa-media-radius); }
.sa-site .page-content figure { max-width: 100%; }
.sa-site .page-content iframe { max-width: 100%; }
.sa-site h1, .sa-site h2, .sa-site h3 { font-family: var(--sa-font-heading); }

@media (max-width: 1100px) {
  .sa-header-inner { min-height: 76px; gap: 16px; }
  .sa-brand .custom-logo { max-height: 56px; max-width: 210px; }
  .sa-js .sa-menu-toggle { display: grid; place-items: center; flex: none; position: relative; width: 44px; height: 44px; padding: 0; color: var(--sa-header-text); background: var(--sa-menu-bg); border: 1px solid transparent; border-radius: 50%; cursor: pointer; }
  .sa-menu-lines, .sa-menu-lines::before, .sa-menu-lines::after { position: absolute; display: block; width: 20px; height: 1px; background: currentColor; content: ""; }
  .sa-menu-lines::before { transform: translateY(-6px); }
  .sa-menu-lines::after { transform: translateY(6px); }
  .sa-menu-toggle[aria-expanded="true"] .sa-menu-lines { background: transparent; }
  .sa-menu-toggle[aria-expanded="true"] .sa-menu-lines::before { transform: rotate(45deg); }
  .sa-menu-toggle[aria-expanded="true"] .sa-menu-lines::after { transform: rotate(-45deg); }
  .sa-navigation { flex-wrap: wrap; }
  .sa-js .sa-navigation { display: none; position: absolute; top: calc(100% - 2px); left: var(--sa-gutter); right: var(--sa-gutter); max-height: calc(100svh - 130px); overflow-y: auto; padding: 12px; border-radius: min(var(--sa-menu-radius), 24px); border: 1px solid var(--sa-accent); box-shadow: 0 16px 36px rgba(48,43,42,.12); background: var(--sa-header-bg); }
  .sa-js .sa-navigation.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 5px; }
  .sa-menu { flex-wrap: wrap; }
  .sa-js .sa-menu { display: block; }
  .sa-js .sa-menu > li { display: block; }
  .sa-menu a { padding: 13px 15px; font-size: 14px; }
  .sa-js .sa-submenu-toggle { position: absolute; right: 4px; top: 5px; width: 36px; height: 36px; padding: 0; }
  .sa-js .sa-menu .menu-item-has-children > a { padding-right: 45px; }
  .sa-js .sa-menu .sub-menu, .sa-js .sa-menu .sub-menu .sub-menu { position: static; max-width: none; min-width: 0; border: 0; border-radius: 14px; padding: 4px 4px 4px 16px; box-shadow: none; margin: 0 0 7px; background: var(--sa-menu-bg); }
  .sa-header-cta { justify-content: space-between; font-size: 14px; padding: 14px 17px; }
}
@media (max-width: 1024px) {
  .sa-canvas .elementor .sa-title .elementor-heading-title { font-size: calc(clamp(42px, 6.7vw, 68px) * var(--sa-heading-scale)); }
  .sa-canvas .elementor .sa-hero-title .elementor-heading-title { font-size: calc(clamp(64px, 9vw, 100px) * var(--sa-heading-scale)); }
  .sa-canvas .elementor .sa-intro-layout { grid-template-columns: .6fr 2fr; gap: 35px; }
  .sa-canvas .elementor .sa-two-columns { gap: 40px; }
  .sa-canvas .elementor .sa-gallery-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
  .sa-canvas .elementor .sa-art:nth-child(2) { padding-top: 0; }
  .sa-canvas .elementor .sa-art:nth-child(3) { grid-column: 1 / -1; width: 65%; margin: 20px auto 0; }
  .sa-canvas .elementor .sa-art:nth-child(3) .sa-image img { height: 420px; }
  .sa-canvas .elementor .sa-workshop-photo img { height: 530px; }
}
@media (max-width: 767px) {
  :root { --sa-gutter: 22px; }
  .sa-header-inner { min-height: 70px; }
  .sa-brand .custom-logo { max-width: min(var(--sa-logo-width), 210px); max-height: 50px; }
  .sa-wordmark { font-size: 10px; gap: 8px; }
  .sa-monogram { width: 31px; height: 31px; font-size: 15px; }
  .sa-sticky-header.admin-bar .sa-header { top: 46px; }
  .sa-header-widgets .sa-shell { flex-wrap: wrap; gap: 5px 15px; }
  .sa-canvas .elementor .sa-section { padding-block: calc(82px * var(--sa-section-spacing)); }
  .sa-canvas .elementor .sa-title .elementor-heading-title { font-size: calc(clamp(40px, 10.5vw, 62px) * var(--sa-heading-scale)); }
  .sa-canvas .elementor .sa-eyebrow { margin-bottom: 21px; }
  .sa-canvas .elementor .sa-hero { margin-inline: 9px; width: calc(100% - 18px); min-height: max(600px, calc(100svh - 84px)); }
  .sa-canvas .elementor .sa-hero-inner { padding-inline: calc(var(--sa-gutter) - 9px); padding-block: 110px 75px; }
  .sa-canvas .elementor .sa-hero-photo img { object-position: 58% center; }
  .sa-canvas .elementor .sa-hero-title .elementor-heading-title { font-size: calc(clamp(48px, 12.5vw, 78px) * var(--sa-heading-scale)); }
  .sa-canvas .elementor .sa-hero-bottom { gap: 15px; margin-top: 28px; }
  .sa-canvas .elementor .sa-hero-bottom .sa-copy { font-size: .87em; }
  .sa-canvas .elementor .sa-hero-round .elementor-button { width: 74px; height: 74px; font-size: 9px; }
  .sa-canvas .elementor .sa-intro-layout, .sa-canvas .elementor .sa-gallery-heading, .sa-canvas .elementor .sa-two-columns { grid-template-columns: 1fr; gap: 35px; }
  .sa-canvas .elementor .sa-intro-quote { margin: 26px 0 24px 5%; font-size: 1.13em; }
  .sa-canvas .elementor .sa-intro-link { margin-left: 5%; }
  .sa-canvas .elementor .sa-gallery-heading { gap: 24px; margin-bottom: 35px; }
  .sa-canvas .elementor .sa-gallery-grid { grid-template-columns: 1fr; gap: 38px; }
  .sa-canvas .elementor .sa-art:nth-child(3) { grid-column: auto; width: 100%; margin: 0; }
  .sa-canvas .elementor .sa-art .sa-image img, .sa-canvas .elementor .sa-art:nth-child(3) .sa-image img { height: clamp(340px, 105vw, 560px); }
  .sa-canvas .elementor .sa-workshop-photo { width: 94%; }
  .sa-canvas .elementor .sa-workshop-photo img { height: clamp(350px, 100vw, 540px); }
  .sa-canvas .elementor .sa-workshop-note { margin-top: 38px; }
  .sa-canvas .elementor .sa-meetings-photo { width: 85%; margin-top: 5px; }
  .sa-canvas .elementor .sa-meetings-photo img { height: clamp(370px, 110vw, 530px); }
  .sa-canvas .elementor .sa-closing { padding-block: calc(100px * var(--sa-section-spacing)); }
  .sa-canvas .elementor .sa-closing .sa-title .elementor-heading-title { font-size: calc(clamp(47px, 12vw, 78px) * var(--sa-heading-scale)); }
  .sa-canvas .elementor .sa-closing::before { right: -90px; }
  .sa-footer-main { align-items: flex-start; flex-direction: column; gap: 17px; }
  .sa-footer small { text-align: left; }
  .sa-footer-widgets { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 600px) {
  .admin-bar.sa-sticky-header .sa-header { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .sa-site *, .sa-site *::before, .sa-site *::after { transition: none !important; animation: none !important; }
}

/* Existing posts and portfolio entries keep their content and permalinks. */
.sa-article,.sa-archive{padding-block:clamp(55px,8vw,110px)}
.sa-readable-page{padding-block:clamp(55px,8vw,110px)}
.sa-readable-page .sa-page-content{max-width:1000px;margin-inline:auto}
.sa-page-content>p:empty{display:none}
.sa-article-inner{max-width:1000px;margin-inline:auto}
.sa-article-heading{max-width:1000px;margin-bottom:45px}
.sa-article-heading h1{font-family:var(--sa-font-heading);font-size:calc(clamp(37px,5.5vw,76px) * var(--sa-heading-scale));line-height:1.1;letter-spacing:-.055em;margin:0;color:var(--sa-text);overflow-wrap:anywhere}
.sa-article-date{font-size:12px;color:var(--sa-muted);margin-top:20px}
.sa-article-feature{margin:0 0 45px}
.sa-article-feature img{display:block;width:100%;height:auto;max-height:900px;object-fit:contain;border-radius:var(--sa-media-radius)}
.sa-article-content{font-family:var(--sa-font-body);line-height:var(--sa-line-height)}
.sa-article-content img{height:auto;border-radius:var(--sa-media-radius)}
.sa-article-content figure{max-width:100%}
.sa-article-content iframe{max-width:100%}
.sa-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px}
.sa-post-card{min-width:0}
.sa-post-image{display:block;border-radius:var(--sa-media-radius);overflow:hidden;background:var(--sa-surface)}
.sa-post-image img{display:block;width:100%;height:clamp(250px,27vw,410px);object-fit:cover}
.sa-post-card h2{font:500 26px/1.2 var(--sa-font-heading);letter-spacing:-.04em;margin:20px 0 12px}
.sa-post-card h2 a{text-decoration:none;color:var(--sa-text)}
.sa-post-excerpt{font-size:.9em;color:var(--sa-muted)}
.sa-archive .pagination{margin-top:55px}
.sa-archive .nav-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sa-archive .page-numbers{padding:9px 15px;border-radius:var(--sa-button-radius);background:var(--sa-blush);color:var(--sa-text)}
.sa-archive .page-numbers.current{background:var(--sa-accent)}
.sa-page-intro{max-width:650px;margin-top:28px}
@media(max-width:1024px){.sa-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sa-post-grid{grid-template-columns:1fr}.sa-post-image img{height:auto;max-height:520px;object-fit:contain}.sa-article-heading{margin-bottom:30px}}

/* Theme colors take precedence over saved Elementor kit defaults on our widgets.
   Switch off 'Centrale themakleuren' in the Customizer for per-widget colors. */
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-title .elementor-heading-title{color:var(--sa-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-title em{color:var(--sa-accent-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-eyebrow .elementor-heading-title{color:var(--sa-accent-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-index .elementor-heading-title,
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-art-caption .elementor-heading-title{color:var(--sa-muted)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-copy{color:var(--sa-muted)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-intro-quote{color:var(--sa-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-button .elementor-button{background:var(--sa-accent);color:var(--sa-button-text);border-color:var(--sa-accent)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-text-link .elementor-button{background:transparent;color:var(--sa-accent-text);border-color:var(--sa-accent-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero .sa-hero-title .elementor-heading-title,
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero .sa-eyebrow .elementor-heading-title,
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero .sa-copy{color:var(--sa-hero-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero-title em{color:var(--sa-hero-highlight)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero-round .elementor-button{background:transparent;color:var(--sa-hero-text);border-color:var(--sa-hero-text)}
body.sa-site.sa-global-colors .sa-canvas .elementor .sa-hero-round .elementor-button:hover{background:var(--sa-hero-text);color:var(--sa-text);border-color:var(--sa-hero-text)}

/* Keep original artwork proportions unless the owner chooses cropped cards. */
body.sa-site.sa-full-artworks .sa-canvas .elementor .sa-art .sa-image img{height:auto;max-height:none;object-fit:contain}

/* Let the hero breathe on laptop displays with limited vertical space. */
@media(min-width:768px) and (max-height:780px){
  .sa-canvas .elementor .sa-hero{min-height:max(450px,calc(100svh - var(--sa-header-height) - var(--wp-admin--admin-bar--height,0px) - 14px))}
  .sa-canvas .elementor .sa-hero-inner{padding-block:clamp(58px,10vh,92px) clamp(38px,6vh,58px)}
  .sa-canvas .elementor .sa-hero-title .elementor-heading-title{font-size:calc(clamp(54px,min(8.1vw,12.5vh),100px) * var(--sa-heading-scale))}
}

/* Option 3: portrait beside the text, retaining the complete photograph. */
body.sa-site .sa-canvas .elementor .sa-split-hero {
  display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  gap:clamp(32px,5vw,88px); width:100%; max-width:var(--sa-content-width);
  margin-inline:auto; padding:36px var(--sa-gutter) 60px;
  min-height:calc(100svh - var(--sa-header-height) - var(--wp-admin--admin-bar--height,0px));
  background:var(--sa-background);
}
body.sa-site .sa-canvas .elementor .sa-split-copy {flex:1 1 0; min-width:0; width:auto; max-width:680px;}
body.sa-site .sa-canvas .elementor .sa-split-title .elementor-heading-title {
  font-size:calc(clamp(48px,5.5vw,88px) * var(--sa-heading-scale)); line-height:1.04;
  letter-spacing:-.06em; color:var(--sa-text);
}
body.sa-site .sa-canvas .elementor .sa-split-title em {color:var(--sa-accent-text); font-style:normal;}
body.sa-site .sa-canvas .elementor .sa-split-bottom {margin-top:32px; gap:24px; align-items:flex-start; max-width:390px;}
body.sa-site .sa-canvas .elementor .sa-split-copy .sa-copy {color:var(--sa-muted);}
body.sa-site .sa-canvas .elementor .sa-split-photo {
  flex:0 1 46%; width:46%; max-width:520px; margin:0; align-self:center;
}
body.sa-site .sa-canvas .elementor .sa-split-photo img {
  display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto;
  object-fit:contain; border-radius:var(--sa-media-radius);
}
@media (max-width:1024px) and (min-width:768px) {
  body.sa-site .sa-canvas .elementor .sa-split-hero {gap:28px;}
  body.sa-site .sa-canvas .elementor .sa-split-title .elementor-heading-title {font-size:calc(clamp(44px,5.6vw,64px) * var(--sa-heading-scale));}
}
@media (max-width:767px) {
  body.sa-site .sa-canvas .elementor .sa-split-hero {flex-direction:column; align-items:stretch; min-height:0; padding:40px var(--sa-gutter) 48px; gap:32px;}
  body.sa-site .sa-canvas .elementor .sa-split-copy {flex:0 1 auto; width:100%;}
  body.sa-site .sa-canvas .elementor .sa-split-photo {flex:0 1 auto; width:100%; max-width:440px;}
  body.sa-site .sa-canvas .elementor .sa-split-title .elementor-heading-title {font-size:calc(clamp(44px,10vw,68px) * var(--sa-heading-scale));}
}

/* Accessible portfolio viewer, independent of Elementor lightbox grouping. */
html.sa-lightbox-open{overflow:hidden}
body.sa-site dialog.sa-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:16px;border:0;background:rgba(22,20,20,.96);color:#fff;box-sizing:border-box;overflow:hidden;font-family:var(--sa-font-body)}
body.sa-site dialog.sa-lightbox:not([open]){display:none}
body.sa-site dialog.sa-lightbox[open]{display:grid;grid-template-rows:48px minmax(0,1fr) auto;gap:12px}
body.sa-site dialog.sa-lightbox::backdrop{background:rgba(0,0,0,.75)}
body.sa-site .sa-lightbox [hidden]{display:none!important}
body.sa-site .sa-lightbox__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.sa-site .sa-lightbox__counter{margin:0;font-size:14px;color:#fff;line-height:1.5}
body.sa-site .sa-lightbox__stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:12px;min-height:0;touch-action:pan-y}
body.sa-site .sa-lightbox__figure{position:relative;display:flex;align-items:center;justify-content:center;margin:0;min-width:0;height:100%;min-height:0}
body.sa-site .sa-lightbox__image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;opacity:1}
body.sa-site .sa-lightbox__image.is-loading{opacity:.2}
body.sa-site .sa-lightbox__status{position:absolute;left:10%;right:10%;top:45%;margin:0;text-align:center;color:#fff;font-size:15px;line-height:1.6}
body.sa-site .sa-lightbox button{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font-family:Arial,sans-serif;font-size:38px;line-height:1;box-shadow:none}
body.sa-site .sa-lightbox button:hover{background:rgba(255,255,255,.25);color:#fff}
body.sa-site .sa-lightbox button:focus-visible{outline:3px solid var(--sa-accent);outline-offset:4px}
body.sa-site .sa-lightbox__caption{margin:0 auto;max-width:850px;max-height:18vh;overflow:auto;padding:0 10px;text-align:center;color:#fff;font-size:14px;line-height:1.6}
@media(max-width:640px){body.sa-site dialog.sa-lightbox{padding:10px;gap:10px}body.sa-site .sa-lightbox__stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}body.sa-site .sa-lightbox button{width:40px;height:44px;font-size:32px}body.sa-site .sa-lightbox__counter{font-size:12px}}

/* Art stories: automatic category overview, full artwork proportions. */
.sa-art-stories-heading{max-width:950px;margin-bottom:clamp(40px,6vw,80px)}
.sa-art-stories-eyebrow{font:500 12px/1.6 var(--sa-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--sa-muted);margin:0 0 24px}
.sa-art-stories-heading h1{font:500 calc(clamp(42px,6.5vw,88px) * var(--sa-heading-scale))/1.04 var(--sa-font-heading);letter-spacing:-.055em;color:var(--sa-text);margin:0;overflow-wrap:anywhere}
.sa-art-stories-heading h1 em{font-style:normal;color:var(--sa-accent-text)}
.sa-art-stories-intro{max-width:650px;margin-top:28px;font-family:var(--sa-font-body);line-height:var(--sa-line-height);color:var(--sa-muted)}
.sa-art-stories-grid{gap:clamp(42px,6vw,75px) clamp(24px,3vw,44px)}
.sa-art-stories-grid .sa-post-image{padding:clamp(10px,1.4vw,20px);box-sizing:border-box}
.sa-art-stories-grid .sa-post-image img{height:clamp(250px,29vw,400px);width:100%;object-fit:contain}
.sa-art-story-card{display:flex;flex-direction:column;align-items:stretch}
.sa-art-story-card h2{font-size:calc(clamp(26px,2.8vw,36px) * var(--sa-heading-scale));margin-top:24px}
.sa-art-story-card .sa-post-excerpt{line-height:var(--sa-line-height)}
.sa-art-story-card .sa-post-excerpt p{margin:0 0 18px}
.sa-art-story-link{align-self:flex-start;margin-top:auto;padding:10px 0;color:var(--sa-accent-text);font:500 .95em/1.5 var(--sa-font-body);text-decoration:underline;text-underline-offset:5px}
.sa-art-story-link:focus-visible{outline:3px solid var(--sa-accent-text);outline-offset:5px}
@media(max-width:767px){.sa-art-stories-grid .sa-post-image img{height:clamp(280px,88vw,460px);max-height:none}}
