/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/
Description: Branded Muse chrome for Elementor Free builds.
Author: Fregio
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

:root {
  --vibe-brand: #3D5AFE;
  --vibe-accent: #FF6D3F;
  --vibe-ink: #131A2E;
  --vibe-paper: #F4F7FF;
  --vibe-header-bg: #F4F7FF;
  --vibe-header-fg: #3D5AFE;
  --vibe-footer-bg: #3D5AFE;
  --vibe-footer-fg: #F4F7FF;
  --vibe-header-scrolled-bg: #F4F7FF;
  --vibe-header-scrolled-fg: #3D5AFE;
  --vibe-display: "Sora", Georgia, serif;
  --vibe-body: "Space Grotesk", system-ui, sans-serif;
  --vibe-copy-width: 720px;
  --vibe-content-width: 1180px;
  --vibe-media-width: 1360px;
}

.vibe-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--vibe-header-bg);
  border-bottom: 1px solid color-mix(in srgb, #131A2E 10%, transparent);
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

.vibe-header[data-scrolled="true"] {
  position: sticky;
  background: var(--vibe-header-scrolled-bg);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--vibe-ink) 14%, transparent);
}
.vibe-header[data-scrolled="true"] .vibe-brand,
.vibe-header[data-scrolled="true"] .vibe-nav a,
.vibe-header[data-scrolled="true"] .vibe-nav-toggle {
  color: var(--vibe-header-scrolled-fg);
}
.vibe-header-cta {
  display: inline-flex;
  align-items: center;
  margin-left: 0.35rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid #FF6D3F;
  border-radius: 999px;
  color: #FF6D3F;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}
.vibe-header[data-scrolled="true"] .vibe-header-cta {
  color: var(--vibe-header-scrolled-fg);
  border-color: color-mix(in srgb, var(--vibe-header-scrolled-fg) 55%, transparent);
}
.vibe-header__inner {
  max-width: 1180px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  /* 24px sides = same inset Elementor sections use, so the logo/nav line up
     with the page content columns below instead of sitting a few px off. */
  padding: 0.95rem 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.vibe-brand {
  font-family: "Sora", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 600;
  color: var(--vibe-header-fg);
  text-decoration: none;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.vibe-nav {
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}
.vibe-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}
.vibe-nav a {
  color: var(--vibe-header-fg);
  text-decoration: none;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
}
.vibe-nav a:hover { color: #FF6D3F; }
.vibe-nav-toggle {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--vibe-header-fg) 35%, transparent);
  background: transparent;
  color: var(--vibe-header-fg);
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.45rem 0.7rem;
  cursor: pointer;
  /* Desktop shows the real links, so the toggle stays hidden. This used to
     live in the foundation mu-plugin, which is skipped on Elementor — that is
     why the MENU button was floating in the header on desktop. */
  display: none;
}
@media (max-width: 767px) {
  .vibe-header__inner { flex-wrap: wrap; }
  .vibe-nav-toggle { display: inline-flex; }
  .vibe-nav {
    display: none;
    width: 100%;
    order: 3;
    padding: 0.75rem 0 0.25rem;
    border-top: 1px solid color-mix(in srgb, var(--vibe-header-fg) 12%, transparent);
  }
  .vibe-nav[data-open="true"] { display: block; }
  .vibe-nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}

.vibe-footer {
  background: var(--vibe-footer-bg);
  color: var(--vibe-footer-fg);
  margin-top: 0;
}
.vibe-footer__inner {
  max-width: 1180px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 3.25rem 24px 2rem;
  display: grid;
  gap: 1.75rem;
}
@media (min-width: 768px) {
  .vibe-footer__inner {
    grid-template-columns: 1.4fr 1fr;
    align-items: start;
  }
}
.vibe-footer__brand {
  font-family: "Sora", Georgia, serif;
  font-size: 1.65rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}
.vibe-footer__tag {
  font-family: "Space Grotesk", Georgia, serif;
  font-size: 0.98rem;
  font-style: italic;
  line-height: 1.55;
  opacity: 0.88;
  margin: 0;
  max-width: 42ch;
}
.vibe-footer nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.vibe-footer a {
  color: var(--vibe-footer-fg);
  text-decoration: none;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.9rem;
  opacity: 0.92;
}
.vibe-footer a:hover { opacity: 1; text-decoration: underline; }
.vibe-footer__copy {
  grid-column: 1 / -1;
  margin: 0.5rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid color-mix(in srgb, var(--vibe-footer-fg) 22%, transparent);
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.82rem;
  opacity: 0.7;
}

/* Soften stock Hello chrome if parent templates leak through */
.site-header, header.site-header { display: none !important; }
.site-footer, footer.site-footer { display: none !important; }
/* Elementor Free chrome: full-viewport outer shell, constrained widget inner. */
.vibe-chrome-host { width:100%; max-width:none; margin:0; overflow:clip; position:relative; }
.vibe-chrome-host > .elementor,
.vibe-chrome-host > .elementor > .elementor-section,
.vibe-chrome-host > .elementor > .elementor-section-wrap > .elementor-section,
.vibe-chrome-host .vibe-chrome-section,
.vibe-chrome-host .vibe-chrome-section > .elementor-container {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.vibe-cart-link {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  margin-left:0.75rem;
  text-decoration:none;
  font-size:0.9rem;
  color:inherit;
  opacity:0.92;
}
.vibe-cart-link:hover { opacity:1; }
.vibe-cart-link [data-cart-count] {
  display:inline-flex;
  min-width:1.25rem;
  justify-content:center;
  font-variant-numeric:tabular-nums;
}
.vibe-chrome-host--header .vibe-cart-link {
  position:absolute;
  top:1rem;
  right:1.25rem;
  z-index:5;
}

/* ── Vibe design system: tokens + primitives the forged widgets compose with. */
.elementor{
  --vibe-space-2xs:.25rem; --vibe-space-xs:.5rem; --vibe-space-sm:.75rem;
  --vibe-space-md:1rem; --vibe-space-lg:1.5rem; --vibe-space-xl:2.5rem;
  --vibe-space-2xl:4rem; --vibe-space-3xl:6rem; --vibe-space-4xl:9rem;
  --vibe-text-xs:.75rem; --vibe-text-sm:.875rem; --vibe-text-base:1rem;
  --vibe-text-lg:1.25rem; --vibe-text-xl:1.5rem; --vibe-text-2xl:2rem;
  --vibe-text-3xl:clamp(2rem,1.4rem + 2vw,2.75rem);
  --vibe-text-4xl:clamp(2.25rem,1.5rem + 2.6vw,3.4rem);
  --vibe-text-5xl:clamp(2.6rem,1.6rem + 3.4vw,4.4rem);
  /* Display is bold but MUST NOT fill the screen — preferred value is rem+vw
     (zoom-safe) and the cap stays ~6rem so a long headline wraps, never overflows. */
  --vibe-text-display:clamp(2.85rem,1.4rem + 4.4vw,5.75rem);
  --vibe-radius-sm:.25rem; --vibe-radius:.5rem; --vibe-radius-lg:1rem; --vibe-radius-pill:999px;
  --vibe-shadow-sm:0 1px 2px rgba(0,0,0,.06); --vibe-shadow:0 12px 32px rgba(0,0,0,.10);
  --vibe-shadow-lg:0 24px 60px rgba(0,0,0,.14);
  --vibe-border:1px solid color-mix(in srgb,currentColor 16%,transparent);
  --vibe-measure:64ch; --vibe-ease:cubic-bezier(.22,.61,.36,1);
}
.elementor :where(.vibe-stack){display:flex;flex-direction:column;gap:var(--vibe-space-md);}
.elementor :where(.vibe-stack--sm){gap:var(--vibe-space-xs);}
.elementor :where(.vibe-stack--lg){gap:var(--vibe-space-xl);}
.elementor :where(.vibe-cluster){display:flex;flex-wrap:wrap;align-items:center;gap:var(--vibe-space-md);}
.elementor :where(.vibe-grid){display:grid;gap:var(--vibe-space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--vibe-col,260px)),1fr));}
.elementor :where(.vibe-container){width:min(100% - 2.5rem,var(--vibe-content-width,1180px));margin-inline:auto;}
.elementor :where(.vibe-container--narrow){width:min(100% - 2.5rem,var(--vibe-copy-width,720px));margin-inline:auto;}
.elementor :where(.vibe-measure){max-width:var(--vibe-measure);}
.elementor :where(.vibe-eyebrow){display:inline-block;font:600 var(--vibe-text-xs)/1 var(--vibe-body,inherit);letter-spacing:.18em;text-transform:uppercase;color:var(--vibe-accent);}
.elementor :where(.vibe-kicker){font:500 var(--vibe-text-sm)/1.4 var(--vibe-body,inherit);color:color-mix(in srgb,currentColor 65%,transparent);}
.elementor :where(.vibe-lede){font-size:var(--vibe-text-lg);line-height:1.55;max-width:var(--vibe-measure);}
.elementor :where(.vibe-prose) p{line-height:1.72;max-width:var(--vibe-measure);}
.elementor :where(.vibe-prose) p + p{margin-top:var(--vibe-space-md);}
.elementor :where(.vibe-rule){display:block;width:clamp(3rem,8vw,7rem);height:1px;background:var(--vibe-accent);border:0;}
.elementor :where(.vibe-badge){display:inline-flex;align-items:center;gap:.4em;padding:.35em .8em;border:var(--vibe-border);border-radius:var(--vibe-radius-pill);font-size:var(--vibe-text-xs);}
.elementor :where(.vibe-card){padding:var(--vibe-space-xl);border:var(--vibe-border);border-radius:var(--vibe-radius-lg);background:color-mix(in srgb,var(--vibe-paper) 92%,var(--vibe-ink));}
.elementor :where(.vibe-card--flat){background:none;box-shadow:none;border:0;}
.elementor :where(.vibe-card--raised){border:0;box-shadow:var(--vibe-shadow);background:var(--vibe-paper);}
.elementor :where(.vibe-btn){display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.6em;border-radius:var(--vibe-radius);background:var(--vibe-brand);color:var(--vibe-paper);font:600 var(--vibe-text-sm)/1 var(--vibe-body,inherit);text-decoration:none;border:1px solid var(--vibe-brand);transition:transform .25s var(--vibe-ease),opacity .25s;}
.elementor :where(.vibe-btn):hover{transform:translateY(-2px);}
.elementor :where(.vibe-btn--ghost){background:transparent;color:currentColor;border-color:color-mix(in srgb,currentColor 40%,transparent);}
.elementor :where(.vibe-btn--accent){background:var(--vibe-accent);border-color:var(--vibe-accent);color:var(--vibe-ink);}
.elementor :where(.vibe-media){display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--vibe-radius);}
.elementor :where(.vibe-media--tall){aspect-ratio:4/5;}
.elementor :where(.vibe-media--wide){aspect-ratio:16/10;}
.elementor :where(.vibe-media--cinematic){aspect-ratio:21/9;}
/* Any image inside an aspect-ratio box must FILL it — position it absolutely so
   it always covers, immune to height:auto forced by WooCommerce/theme CSS (the
   cause of half-filled product-card images). */
.elementor [class*="aspect-"] > img,
.elementor [class*="aspect-"] > a > img,
.elementor [class*="aspect-"] > picture > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.elementor :where(.vibe-display){font:600 var(--vibe-text-display)/.98 var(--vibe-display,Georgia,serif);letter-spacing:-.02em;text-wrap:balance;}
.elementor :where(.vibe-h1){font:600 var(--vibe-text-4xl)/1.04 var(--vibe-display,Georgia,serif);letter-spacing:-.02em;text-wrap:balance;}
.elementor :where(.vibe-h2){font:600 var(--vibe-text-3xl)/1.12 var(--vibe-display,Georgia,serif);letter-spacing:-.015em;text-wrap:balance;}
/* Hard overflow guard: no heading may ever push off-screen, whatever its length. */
.elementor :where(.vibe-display,.vibe-h1,.vibe-h2){max-width:100%;min-width:0;overflow-wrap:break-word;}
/* Vibe Elementor native-widget design layer. */
.elementor .vibe-section { position:relative; isolation:isolate; overflow:clip; }
.elementor .vibe-section > .elementor-container { width:min(100% - 40px,var(--vibe-content-width,1180px)); }
.elementor .vibe-width--copy > .elementor-container { max-width:var(--vibe-copy-width,720px); }
.elementor .vibe-width--content > .elementor-container { max-width:var(--vibe-content-width,1180px); }
.elementor .vibe-width--media > .elementor-container { max-width:var(--vibe-media-width,1360px); }
.elementor .vibe-width--full > .elementor-container { width:100%;max-width:none; }
.elementor .vibe-space--compact { padding-block:clamp(2.75rem,5vw,4.75rem)!important; }
.elementor .vibe-space--standard { padding-block:clamp(4rem,8vw,7rem)!important; }
.elementor .vibe-space--feature { padding-block:clamp(5.5rem,11vw,10rem)!important; }
/* Continuation pieces share a band — keep top padding tight so rhythm does not double. */
.elementor .vibe-section--continuation.vibe-space--compact,
.elementor .vibe-section--continuation.vibe-space--standard,
.elementor .vibe-section--continuation.vibe-space--feature {
  padding-top:clamp(0.75rem,1.5vw,1.5rem)!important;
  padding-bottom:clamp(3rem,6vw,5.5rem)!important;
}
.elementor .vibe-section .elementor-heading-title { text-wrap:balance; }
.elementor .vibe-widget--display .elementor-heading-title { font-size:clamp(3rem,7.2vw,7.2rem);line-height:.9;letter-spacing:-.04em; }
.elementor .vibe-widget--heading .elementor-heading-title { font-size:clamp(1.85rem,3.4vw,3.15rem);line-height:1.05;letter-spacing:-.025em; }
.elementor .vibe-widget--card-heading .elementor-heading-title { font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.25;letter-spacing:-.01em; }
.elementor .vibe-widget--quote .elementor-heading-title { font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.2;font-weight:500; }
.elementor .vibe-widget--eyebrow { max-width:max-content;border-bottom:1px solid currentColor;padding-bottom:.45rem;letter-spacing:.04em; }
.elementor .vibe-widget--copy { max-width:var(--vibe-copy-width,720px); }
.elementor .vibe-widget--copy p { max-width:62ch;line-height:1.72; }
.elementor .vibe-align--center .vibe-widget--copy,
.elementor .vibe-align--center .vibe-widget--eyebrow,
.elementor .vibe-align--center .vibe-widget--button { margin-inline:auto; }
.elementor .vibe-align--center .elementor-widget-button .elementor-button { margin-inline:auto; }
.elementor .vibe-align--center .elementor-widget-button .elementor-button-wrapper { text-align:center; }
.elementor .vibe-widget--button .elementor-button { transition:transform .25s ease,background-color .25s ease,color .25s ease; }
.elementor .vibe-widget--button .elementor-button:hover { transform:translateY(-2px); }
.elementor .vibe-media--portrait .elementor-widget-image img { aspect-ratio:4/5;object-fit:cover;width:100%;height:auto; }
.elementor .vibe-media--landscape .elementor-widget-image img { aspect-ratio:16/10;object-fit:cover;width:100%;height:auto; }
.elementor .vibe-media--square .elementor-widget-image img { aspect-ratio:1;object-fit:cover;width:100%;height:auto; }
.elementor .vibe-media--cinematic .elementor-widget-image img { aspect-ratio:21/9;object-fit:cover;width:100%;height:auto; }
.elementor .vibe-crop--contain .elementor-widget-image img { object-fit:contain;height:auto; }
.elementor .vibe-frame--fine .elementor-widget-image { border:1px solid color-mix(in srgb,currentColor 28%,transparent);padding:10px; }
.elementor .vibe-frame--gold .elementor-widget-image { border:1px solid var(--vibe-accent);padding:clamp(8px,1.2vw,16px); }
.elementor .vibe-frame--layered .elementor-widget-image:before { content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid var(--vibe-accent);z-index:-1; }
.elementor .vibe-frame--layered .elementor-widget-image { position:relative; }
.elementor .vibe-overlap--up { z-index:3;margin-top:clamp(-7rem,-8vw,-3rem); }
.elementor .vibe-overlap--down { z-index:2;margin-bottom:clamp(-6rem,-7vw,-2.5rem); }
.elementor .vibe-layout--full_bleed_hero { min-height:clamp(620px,88vh,980px);display:flex; }
.elementor .vibe-hero--bottom_left { align-items:flex-end; }
.elementor .vibe-hero--center { align-items:center; }
.elementor .vibe-hero--top_left { align-items:flex-start; }
.elementor .vibe-layout--full_bleed_hero > .elementor-background-overlay { background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.14) 100%)!important; }
.elementor .vibe-align--right.vibe-layout--full_bleed_hero > .elementor-background-overlay,
.elementor .vibe-align--right.vibe-layout--editorial_cover > .elementor-background-overlay {
  background:linear-gradient(270deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.14) 100%)!important;
}
.elementor .vibe-layout--full_bleed_hero .elementor-widget-heading,
.elementor .vibe-layout--full_bleed_hero .elementor-widget-text-editor,
.elementor .vibe-layout--full_bleed_hero .elementor-widget-button {
  max-width:min(42rem,92%);
}
.elementor .vibe-layout--editorial_cover { min-height:clamp(660px,92vh,1040px);display:flex;align-items:flex-end; }
.elementor .vibe-layout--editorial_cover:after { content:attr(data-vibe-index);position:absolute;right:3vw;bottom:-.2em;font-family:var(--vibe-display);font-size:clamp(9rem,24vw,24rem);line-height:.7;opacity:.06;z-index:-1;pointer-events:none; }
.elementor .vibe-layout--editorial_cover .elementor-widget-heading,
.elementor .vibe-layout--editorial_cover .elementor-widget-text-editor { max-width:min(36rem,90%); }
.elementor .vibe-layout--numbered_story .elementor-column:first-child:before { content:counter(vibe-story,decimal-leading-zero);counter-increment:vibe-story;color:var(--vibe-accent);font:500 clamp(2rem,4vw,4rem)/1 var(--vibe-display);display:block;margin-bottom:.75rem; }
.elementor { counter-reset:vibe-story; }
.elementor .vibe-layout--framed_feature .elementor-widget-image { box-shadow:0 24px 60px color-mix(in srgb,var(--vibe-ink) 16%,transparent); }
.elementor .vibe-layout--offset_narrative .elementor-column:last-child { margin-top:clamp(1.5rem,4vw,4rem); }
.elementor .vibe-layout--menu_ledger .elementor-column { border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);padding-top:1.25rem; }
.elementor .vibe-layout--menu_ledger .vibe-widget--card-heading .elementor-heading-title { font-size:clamp(1.05rem,1.5vw,1.25rem); }
.elementor .vibe-layout--feature_cards .elementor-column { padding:1rem 1.1rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent); }
.elementor .vibe-layout--staggered_gallery .elementor-column:nth-child(even) { transform:translateY(clamp(1.25rem,3vw,3.5rem)); }
.elementor .vibe-layout--quote_pull .elementor-heading-title:before { content:"“";color:var(--vibe-accent);font-size:1.8em;line-height:0;vertical-align:-.25em;margin-right:.08em; }
.elementor .vibe-layout--immersive_cta .elementor-widget-heading,
.elementor .vibe-layout--immersive_cta .elementor-widget-text-editor,
.elementor .vibe-layout--immersive_cta .elementor-widget-button { max-width:min(40rem,92%); }
.elementor .vibe-layout--cta_band .elementor-container { display:flex;justify-content:center; }
.elementor .vibe-layout--testimonial_wall .elementor-widget-testimonial { margin-top:.75rem; }
.elementor .vibe-layout--testimonial_wall .elementor-testimonial-wrapper { gap:.85rem; }
.elementor .vibe-signature--rule:before { content:"";display:block;width:clamp(3rem,8vw,7rem);border-top:1px solid var(--vibe-accent);margin-bottom:2rem; }
.elementor .vibe-signature--index:before { content:attr(data-vibe-index);position:absolute;top:2rem;left:max(20px,calc((100vw - var(--vibe-content-width))/2));font:500 .75rem/1 var(--vibe-body);letter-spacing:.16em;color:var(--vibe-accent); }
.elementor .vibe-signature--watermark:after { content:attr(data-vibe-index);position:absolute;right:4vw;top:10%;font:600 clamp(6rem,18vw,16rem)/.8 var(--vibe-display);opacity:.05;pointer-events:none;z-index:0; }
.elementor .vibe-tone--ink,.elementor .vibe-tone--brand { color:var(--vibe-paper); }
.elementor .vibe-tone--paper,.elementor .vibe-tone--accent { color:var(--vibe-ink); }
.elementor .vibe-grid--magazine .vibe-layout--image_grid .elementor-column:first-child { flex-grow:1.35; }
.elementor .vibe-grid--broken_grid .vibe-layout--staggered_gallery .elementor-column:nth-child(3n) { transform:translateY(clamp(-1rem,-2vw,-.5rem)); }
.elementor .vibe-rhythm--cinematic .vibe-section:not(.vibe-section--continuation) { padding-block:clamp(5rem,10vw,9rem)!important; }
.elementor .vibe-rhythm--compact_editorial .vibe-section:not(.vibe-section--continuation) { padding-block:clamp(2.5rem,4.5vw,4.5rem)!important; }
.elementor .vibe-rhythm--spacious_gallery .vibe-layout--gallery_strip,
.elementor .vibe-rhythm--spacious_gallery .vibe-layout--staggered_gallery { padding-block:clamp(3rem,7vw,7rem)!important; }
@media (max-width:1024px) {
  .elementor .vibe-section > .elementor-container { width:min(100% - 36px,var(--vibe-content-width,1180px)); }
  .elementor .vibe-layout--offset_narrative .elementor-column:last-child { margin-top:0; }
  .elementor .vibe-layout--staggered_gallery .elementor-column:nth-child(even) { transform:translateY(clamp(.75rem,2vw,1.5rem)); }
}
@media (max-width:767px) {
  .elementor .vibe-section > .elementor-container { width:min(100% - 32px,var(--vibe-content-width,1180px)); }
  .elementor .vibe-overlap--up,.elementor .vibe-overlap--down { margin-block:0; }
  .elementor .vibe-layout--staggered_gallery .elementor-column:nth-child(even),
  .elementor .vibe-grid--broken_grid .vibe-layout--staggered_gallery .elementor-column:nth-child(3n) { transform:none; }
  .elementor .vibe-layout--full_bleed_hero,.elementor .vibe-layout--editorial_cover { min-height:clamp(560px,82svh,760px); }
  .elementor .vibe-layout--menu_ledger .elementor-column,
  .elementor .vibe-layout--feature_cards .elementor-column,
  .elementor .vibe-layout--testimonial_wall .elementor-column { margin-bottom:1.25rem; }
  .elementor .vibe-widget--display .elementor-heading-title { font-size:clamp(2.4rem,11vw,3.6rem); }
}
@media (prefers-reduced-motion:reduce) {
  .elementor .vibe-widget--button .elementor-button,.elementor .vibe-layout--staggered_gallery .elementor-column { transition:none;transform:none; }
}
