/* Montserrat from Shopify's public font CDN. Alias scopes its use to this module. */
@font-face {
  font-family: "ACMER Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://fonts.shopifycdn.com/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2");
}
@font-face {
  font-family: "ACMER Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("https://fonts.shopifycdn.com/montserrat/montserrat_n6.1326b3e84230700ef15b3a29fb520639977513e0.woff2") format("woff2");
}
@font-face {
  font-family: "ACMER Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://fonts.shopifycdn.com/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2");
}
.acmer-gp-overview,
.acmer-gp-overview *,
.acmer-gp-overview *::before,
.acmer-gp-overview *::after,
.acmer-gp-modal,
.acmer-gp-modal *,
.acmer-gp-modal *::before,
.acmer-gp-modal *::after {
  font-family: "ACMER Montserrat", "Montserrat", Arial, sans-serif !important;
}

.acmer-gp-overview {
  --ink: #111113;
  --muted: #64646c;
  --acmer-heading-color: #ff4a00;
  --acmer-eyebrow-color: #ef553d;
  --acmer-bg: #fff;
  width: 100%;
  padding: 112px 48px 72px;
  overflow: hidden;
  color: var(--ink);
  background: var(--acmer-bg, #fff);
  font-family: "ACMER Montserrat", "Montserrat", Arial, sans-serif;
}

.acmer-gp-overview, .acmer-gp-overview * { box-sizing: border-box; }
.acmer-gp-overview button { font: inherit; }
.acmer-gp-overview__inner { width: min(1280px, 100%); margin: 0 auto; }
.acmer-gp-overview__header { display: flex; width: 100%; max-width: none; margin-bottom: 54px; flex-direction: column; align-items: stretch; }
.acmer-gp-overview__eyebrow { margin: 0 0 14px; color: #ef553d; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.acmer-gp-overview h2 { width: 100%; max-width: none; margin: 0; color: var(--ink); font-size: clamp(40px, 4.2vw, 66px); font-weight: 600; letter-spacing: -.048em; line-height: 1.06; }
.acmer-gp-overview .acmer-gp-overview__header, .acmer-gp-overview .acmer-gp-overview__header * { font-family: "ACMER Montserrat", "Montserrat", Arial, sans-serif !important; }
.acmer-gp-overview .acmer-gp-overview__eyebrow { margin: 0 0 14px; color: var(--acmer-eyebrow-color, #ef553d) !important; -webkit-text-fill-color: var(--acmer-eyebrow-color, #ef553d) !important; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase !important; }
.acmer-gp-overview .acmer-gp-overview__header h2 { width: 100%; max-width: none; margin: 0; background: none !important; background-image: none !important; color: var(--acmer-heading-color, #ff4a00) !important; -webkit-text-fill-color: var(--acmer-heading-color, #ff4a00) !important; font-size: 42px !important; font-weight: 600; letter-spacing: -.048em; line-height: 1.08; }
.acmer-gp-overview__intro { display: block !important; width: 100%; max-width: none; margin: 30px 0 0 !important; padding: 0 !important; color: #111113 !important; -webkit-text-fill-color: #111113 !important; font-size: 18px !important; line-height: 1.55; }

.acmer-gp-feature-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
/* Component-scoped protection against page-builder/theme button resets.
   Literal padding/colors also work if custom-property declarations are missing. */
.acmer-gp-feature-grid button.acmer-gp-feature {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
       appearance: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
  grid-column: span 2;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 22px !important;
  color: #201510 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer;
  background: transparent !important;
  box-shadow: 0 10px 30px rgba(151,53,8,.12);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.acmer-gp-feature-grid button.acmer-gp-feature::before, .acmer-gp-feature-grid button.acmer-gp-feature::after { content: none !important; display: none !important; }
.acmer-gp-feature-grid button.acmer-gp-feature[data-size="large"] { grid-column: span 3; }
.acmer-gp-feature-grid button.acmer-gp-feature:hover, .acmer-gp-feature-grid button.acmer-gp-feature:focus-visible { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(151,53,8,.2); }
.acmer-gp-feature:focus-visible { outline: 3px solid #19191e; outline-offset: 4px; }
/* White upper panel; the orange gradient is applied to its text only. */
.acmer-gp-feature-grid .acmer-gp-feature__copy {
  background: #fff !important;
}
.acmer-gp-feature-grid .acmer-gp-feature__copy { box-sizing: border-box !important; position: relative !important; inset: auto !important; display: block !important; flex: 1 0 auto; width: 100% !important; max-width: none; height: auto !important; min-height: 150px; margin: 0 !important; padding: 26px 28px 22px !important; border: 0 !important; border-radius: 22px 22px 0 0 !important; color: #201510; }
.acmer-gp-feature[data-size="large"] .acmer-gp-feature__copy { min-height: 132px; }
.acmer-gp-feature-grid .acmer-gp-feature__copy::before, .acmer-gp-feature-grid .acmer-gp-feature__copy::after { content: none !important; display: none !important; }
.acmer-gp-feature__copy strong, .acmer-gp-feature__copy span { display: block; }
/* Feature name is the main heading; the following sentence is its subtitle. */
.acmer-gp-feature-grid .acmer-gp-feature__copy > strong { margin: 0 0 10px; color: inherit; font-size: clamp(22px, 1.8vw, 28px) !important; font-weight: 700 !important; letter-spacing: -.025em !important; line-height: 1.18 !important; overflow-wrap: anywhere; }
.acmer-gp-feature-grid .acmer-gp-feature__copy > span { max-width: none; margin: 0; color: inherit; font-size: clamp(14px, 1.1vw, 16px) !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.5 !important; overflow-wrap: anywhere; }

/* Solid-color fallback keeps the copy visible without text clipping support. */
.acmer-gp-feature-grid .acmer-gp-feature__copy > strong,
.acmer-gp-feature-grid .acmer-gp-feature__copy > span {
  background: none !important;
  color: #d53a00 !important;
  -webkit-text-fill-color: currentColor !important;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .acmer-gp-feature-grid .acmer-gp-feature__copy > strong,
  .acmer-gp-feature-grid .acmer-gp-feature__copy > span {
    background: #d53a00 !important;
    background-image: linear-gradient(100deg, #d53a00 0%, #ff9d4d 55%, #f89869 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }
}
@media (forced-colors: active) {
  .acmer-gp-feature-grid .acmer-gp-feature__copy > strong,
  .acmer-gp-feature-grid .acmer-gp-feature__copy > span {
    background: none !important;
    color: ButtonText !important;
    -webkit-text-fill-color: ButtonText !important;
  }
}
@media print {
  .acmer-gp-feature-grid .acmer-gp-feature__copy > strong,
  .acmer-gp-feature-grid .acmer-gp-feature__copy > span {
    background: none !important;
    color: #111113 !important;
    -webkit-text-fill-color: #111113 !important;
  }
}

/* Positioned inside the image wrapper, not in a separate footer. */
.acmer-gp-feature-grid .acmer-gp-feature__arrow { box-sizing: border-box !important; position: absolute !important; inset: auto 16px 16px auto !important; z-index: 2; display: grid !important; width: 44px !important; height: 44px !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 0 !important; border-radius: 50% !important; background: #fff !important; color: #d53a00 !important; font-size: 0 !important; line-height: 1; box-shadow: 0 4px 12px rgba(102,31,0,.24); transition: transform 220ms ease; }
.acmer-gp-feature-grid .acmer-gp-feature__arrow::before, .acmer-gp-feature-grid .acmer-gp-feature__arrow::after { content: ""; position: absolute; width: 18px; height: 2.5px; border-radius: 999px; background: #d53a00 !important; background-image: linear-gradient(135deg, #f89869 0%, #ff9d4d 45%, #d53a00 100%) !important; }
.acmer-gp-feature__arrow::after { transform: rotate(90deg); }
.acmer-gp-feature:hover .acmer-gp-feature__arrow, .acmer-gp-feature:focus-visible .acmer-gp-feature__arrow { transform: scale(1.08); }

/* Natural image ratio; square where image meets copy, rounded only at the card bottom. */
.acmer-gp-feature-grid .acmer-gp-feature__media { box-sizing: border-box !important; position: relative !important; inset: auto !important; display: block !important; flex: 0 0 auto; width: 100% !important; height: auto !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; border-radius: 0 0 22px 22px !important; background: transparent !important; }
.acmer-gp-feature-grid .acmer-gp-feature__media::before, .acmer-gp-feature-grid .acmer-gp-feature__media::after { content: none !important; display: none !important; }
.acmer-gp-feature-grid .acmer-gp-feature__media img { position: static !important; display: block !important; width: 100% !important; height: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 0 22px 22px !important; -o-object-fit: contain !important; object-fit: contain !important; -o-object-position: center; object-position: center; transform: none !important; filter: none !important; opacity: 1 !important; }
.acmer-gp-overview__status { display: none; }
.acmer-gp-feature-dots { display: none; }

/* The dialog is attached to body and styled independently from the cards. */
.acmer-gp-modal, .acmer-gp-modal * { box-sizing: border-box; }
.acmer-gp-modal {
  position: fixed;
  inset: 0;
  width: min(1200px, calc(100% - 48px));
  max-width: none;
  max-height: calc(100vh - 80px);
  max-height: calc(100dvh - 80px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 26px;
  color: #111113;
  background: #fff;
  font-family: "ACMER Montserrat", "Montserrat", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  box-shadow: 0 24px 100px rgba(0,0,0,.24);
}
.acmer-gp-modal:not([open]) { display: none; }
.acmer-gp-modal[open] { display: flex; flex-direction: column; }
.acmer-gp-modal [hidden] { display: none !important; }
.acmer-gp-modal::backdrop { background: rgba(0,0,0,.5); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.acmer-gp-modal__toolbar { display: flex; flex: 0 0 auto; justify-content: flex-end; padding: 16px 16px 0; }
.acmer-gp-modal .acmer-gp-modal__close { -webkit-appearance: none; -moz-appearance: none; appearance: none; position: relative; display: grid; flex: 0 0 44px; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0; place-items: center; border: 0; border-radius: 50%; background: #202022; color: #fff; cursor: pointer; font: inherit; }
.acmer-gp-modal__close::before, .acmer-gp-modal__close::after { content: ""; position: absolute; width: 18px; height: 2.5px; border-radius: 999px; background: currentColor; transform: rotate(45deg); }
.acmer-gp-modal__close::after { transform: rotate(-45deg); }
.acmer-gp-modal__close:hover { background: #454549; }
.acmer-gp-modal__close:focus-visible, .acmer-gp-modal summary:focus-visible, .acmer-gp-modal a:focus-visible { outline: 3px solid #7b43f3; outline-offset: 4px; }
.acmer-gp-modal__scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 34px 32px 64px; }
.acmer-gp-modal__header { max-width: 920px; margin: 0 auto 38px; text-align: center; }
.acmer-gp-modal__eyebrow { margin: 0 0 10px; color: #64646c; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.acmer-gp-modal .acmer-gp-modal__title { margin: 0; color: #111113; font-family: inherit; font-size: clamp(28px, 3vw, 36px); font-weight: 700; letter-spacing: -.035em; line-height: 1.12; text-align: center !important; text-transform: none; }
.acmer-gp-modal__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border-radius: 18px; background: #f7f7fb; }
.acmer-gp-modal__visual { display: grid; align-content: center; min-width: 0; min-height: 430px; overflow: hidden; background: linear-gradient(145deg, #eae4f7, #f5f3fa 58%, #e4e8f0); }
.acmer-gp-modal__visual img, .acmer-gp-modal__visual video { display: block; width: 100%; height: auto; -o-object-fit: contain; object-fit: contain; }
.acmer-gp-modal__placeholder { padding: 40px 28px; text-align: center; }
.acmer-gp-modal__placeholder > span { display: inline-block; padding: 9px 14px; border: 1px solid #cec4e6; border-radius: 999px; color: #6c548f; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.acmer-gp-modal__placeholder p { margin: 20px 0 8px; color: #443951; font-size: 24px; font-weight: 600; letter-spacing: -.025em; line-height: 1.25; }
.acmer-gp-modal__placeholder small { color: #776d83; font-size: 13px; }
.acmer-gp-modal__details { display: flex; min-width: 0; flex-direction: column; gap: 12px; padding: 32px; }
.acmer-gp-modal__accordion { margin: 0; border: 0; border-radius: 16px; background: #fff; }
.acmer-gp-modal__accordion[open] { background: #eeeef3; }
.acmer-gp-modal__accordion summary { position: relative; display: flex; min-height: 68px; align-items: center; margin: 0; padding: 22px 54px 22px 24px; border: 0; border-radius: 16px; color: #202022; font-size: 18px; font-weight: 700; line-height: 1.3; cursor: pointer; list-style: none; overflow-wrap: anywhere; }
.acmer-gp-modal__accordion summary::-webkit-details-marker { display: none; }
.acmer-gp-modal__accordion summary::after { content: ""; position: absolute; right: 24px; top: 28px; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.acmer-gp-modal__accordion[open] summary::after { top: 33px; transform: rotate(225deg); }
.acmer-gp-modal__text { padding: 0 24px 24px; color: #64646c; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.acmer-gp-modal__text p { margin: 0 0 12px; }
.acmer-gp-modal__text p:last-child { margin-bottom: 0; }
.acmer-gp-modal__text img { max-width: 100%; height: auto; }
.acmer-gp-modal__empty { padding: 48px 24px; border-radius: 18px; background: #f7f7fb; color: #64646c; text-align: center; }

/* Camera popup: a single video below the shared centered heading. */
/* Adds 56px to the shared 64px bottom padding: 120px below Camera video. */
.acmer-gp-modal__video-block { width: 100%; margin: 0 auto; padding-bottom: 56px; }
.acmer-gp-modal .acmer-gp-modal__video { display: block; width: 100%; max-width: 100%; height: auto; max-height: 60vh; max-height: 60dvh; aspect-ratio: auto 16 / 9; margin: 0; border: 0; border-radius: 18px; -o-object-fit: contain; object-fit: contain; background: #111113; }
.acmer-gp-modal__video-block--spacious { padding-bottom: 110px; }
.acmer-gp-modal__video-block--spacious .acmer-gp-modal__video { max-height: none; border-radius: 20px; }
.acmer-gp-modal__smart-video-frame { position: relative; width: 100%; overflow: hidden; border-radius: 20px; background: #fff; -webkit-clip-path: inset(0 round 20px); clip-path: inset(0 round 20px); isolation: isolate; line-height: 0; }
.acmer-gp-modal__smart-video-frame .acmer-gp-modal__video { max-width: none; border-radius: 0; background: #fff; transform: scale(1.006) translateZ(0); transform-origin: center; }
.acmer-gp-modal__smart-video-frame::after { content: ""; position: absolute; z-index: 2; inset: 0; border: 2px solid #fff; border-radius: 20px; box-shadow: inset 0 0 0 1px #fff; pointer-events: none; }
.acmer-gp-modal__video-error { margin: 16px 0 0; color: #64646c; font-size: 14px; line-height: 1.5; text-align: center; }
.acmer-gp-modal__video-error a { color: #b63709; text-decoration: underline; text-underline-offset: 3px; }

/* Project Library: the natural-height hero starts immediately below the close toolbar. */
.acmer-gp-modal--library { height: calc(100vh - 80px); height: calc(100dvh - 80px); }
.acmer-gp-modal--library .acmer-gp-modal__scroll { flex: 1; padding: 0; overflow-anchor: none; }
.acmer-gp-modal--library .acmer-gp-modal__header { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; }
.acmer-gp-modal .acmer-gp-library__hero { display: block; width: 100%; height: auto; min-height: 0; margin: 0; padding: 0; background: transparent; }
.acmer-gp-modal .acmer-gp-library__hero img { display: block; width: 100%; height: auto; max-height: none; margin: 0; padding: 0; border: 0; -o-object-fit: contain; object-fit: contain; }
/* Section spacing: hero 鈫?video row 鈫?photo row, on desktop and mobile. */
.acmer-gp-library__body { padding: 200px 24px 56px; padding-right: clamp(20px, 2.5vw, 36px); padding-left: clamp(20px, 2.5vw, 36px); }
.acmer-gp-library__row { display: grid; align-items: center; gap: 28px; }
.acmer-gp-library__intro { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.acmer-gp-library__story { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.acmer-gp-library__media, .acmer-gp-library__copy { min-width: 0; }
/* Video and photos share a height; plain copy keeps its natural height. */
.acmer-gp-library__video-frame, .acmer-gp-library__layer { width: 100%; height: var(--acmer-library-frame-height, auto); aspect-ratio: var(--acmer-library-media-ratio, 3 / 2); }
.acmer-gp-library__video-frame { position: relative; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 20px; -webkit-clip-path: inset(0 round 20px); clip-path: inset(0 round 20px); isolation: isolate; background: transparent; }
.acmer-gp-modal .acmer-gp-library__media .acmer-gp-modal__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0; padding: 0; border: 0; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; border-radius: 20px; background: transparent; }
.acmer-gp-library__copy { display: block; height: auto; aspect-ratio: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.acmer-gp-library__copy-inner { min-width: 0; width: 100%; flex: 0 0 auto; }
.acmer-gp-modal .acmer-gp-library__copy h3 { margin: 0 0 20px; padding: 0; color: #111113; font-size: clamp(28px, 3vw, 36px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; text-transform: none; overflow-wrap: anywhere; }
.acmer-gp-modal .acmer-gp-library__copy p { margin: 0; padding: 0; color: #64646c; font-size: 14px; font-weight: 400; line-height: 1.65; letter-spacing: 0; }
.acmer-gp-library__stage { position: relative; }
.acmer-gp-library__panel { display: grid; gap: 200px; }
.acmer-gp-library__stack { display: grid; gap: 18px; min-width: 0; }
.acmer-gp-library__layer { position: relative; width: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 20px; background: transparent; }
.acmer-gp-modal .acmer-gp-library__layer img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 20px; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
/* Without enhancement, or with reduced motion, both photos stay in normal flow. */
.acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__panel { position: sticky; top: var(--acmer-reveal-top, 24px); }
.acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__stack { position: relative; display: block; overflow: hidden; border-radius: 20px; isolation: isolate; }
.acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__layer--next { position: absolute; inset: 0; z-index: 1; height: 100%; transform: translateY(100%); will-change: transform; }
/* The next photo fills the first photo's actual shape, without contain letterboxing. */
.acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__layer--next img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }

/* Design & Edit: alternating rows, with a larger video column and plain copy. */
.acmer-gp-modal--design { height: calc(100vh - 80px); height: calc(100dvh - 80px); }
.acmer-gp-modal--design .acmer-gp-modal__scroll { flex: 1; padding: 0; }
/* Preserve the dialog's accessible name without adding an extra visible heading. */
.acmer-gp-modal--design .acmer-gp-modal__header { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; }
.acmer-gp-design { display: grid; gap: 200px; padding: 40px 32px 80px; }
.acmer-gp-design__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-areas: "copy media"; align-items: center; gap: 48px; margin: 0; padding: 0; }
.acmer-gp-design__row--reverse { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-areas: "media copy"; }
.acmer-gp-design__copy { grid-area: copy; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.acmer-gp-modal .acmer-gp-design__tag { display: inline-block; max-width: 100%; margin: 0 0 14px; padding: 0; color: #d53a00; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: .02em; text-transform: none; }
.acmer-gp-modal .acmer-gp-design__copy h3 { margin: 0 0 20px; padding: 0; color: #111113; font-size: clamp(28px, 3vw, 36px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; text-transform: none; overflow-wrap: anywhere; }
.acmer-gp-modal .acmer-gp-design__description { margin: 0; padding: 0; color: #64646c; font-size: 16px; font-weight: 400; line-height: 1.65; letter-spacing: 0; text-transform: none; }
.acmer-gp-design__media { grid-area: media; min-width: 0; width: 100%; }
.acmer-gp-design__video-frame { width: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 20px; -webkit-clip-path: inset(0 round 20px); clip-path: inset(0 round 20px); isolation: isolate; background: transparent; }
/* Natural video height keeps software toolbars and controls inside the frame. */
.acmer-gp-modal .acmer-gp-design__media .acmer-gp-modal__video { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; margin: 0; padding: 0; border: 0; border-radius: 20px; -o-object-fit: contain; object-fit: contain; background: transparent; }
.acmer-gp-modal .acmer-gp-material__image { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; aspect-ratio: auto; margin: 0; padding: 0; border: 0; border-radius: 20px; -o-object-fit: contain; object-fit: contain; }
.acmer-gp-material .acmer-gp-material__video-section { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media"; gap: 32px; }
.acmer-gp-material .acmer-gp-material__video-section .acmer-gp-design__copy { width: 100%; max-width: 900px; margin: 0 auto; text-align: center; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .acmer-gp-modal .acmer-gp-design__tag { background-image: linear-gradient(100deg, #d53a00 0%, #ff9d4d 55%, #f89869 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
}
@media (forced-colors: active) {
  .acmer-gp-modal .acmer-gp-design__tag { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; }
}
@media print {
  .acmer-gp-modal .acmer-gp-design__tag { background: none; color: #111113; -webkit-text-fill-color: #111113; }
}

@media (max-width: 960px) {
  .acmer-gp-overview { padding: 80px 32px 58px; }
  .acmer-gp-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .acmer-gp-feature-grid button.acmer-gp-feature, .acmer-gp-feature-grid button.acmer-gp-feature[data-size="large"] { grid-column: span 1; }
  .acmer-gp-feature-grid .acmer-gp-feature .acmer-gp-feature__copy { min-height: 150px; }
  .acmer-gp-feature-grid button.acmer-gp-feature:last-child { grid-column: 1 / -1; }
  .acmer-gp-modal__details { padding: 24px; }
}

@media (max-width: 740px) {
  .acmer-gp-modal { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 22px; }
  .acmer-gp-modal__toolbar { padding: 12px 12px 0; }
  .acmer-gp-modal__scroll { padding: 18px 16px 28px; }
  .acmer-gp-modal__video-block { padding-bottom: 36px; }
  .acmer-gp-modal__video-block--spacious { padding-bottom: 72px; }
  .acmer-gp-modal__smart-video-frame, .acmer-gp-modal__smart-video-frame::after { border-radius: 18px; }
  .acmer-gp-modal__smart-video-frame { -webkit-clip-path: inset(0 round 18px); clip-path: inset(0 round 18px); }
  .acmer-gp-modal__header { margin-bottom: 26px; }
  .acmer-gp-modal .acmer-gp-modal__title { font-size: 28px; }
  .acmer-gp-modal__eyebrow { font-size: 10px; }
  .acmer-gp-modal__layout { grid-template-columns: minmax(0, 1fr); }
  .acmer-gp-modal__visual { min-height: 230px; }
  .acmer-gp-modal__details { padding: 18px; }
  .acmer-gp-modal__accordion summary { padding-left: 18px; font-size: 16px; }
  .acmer-gp-modal__text { padding: 0 18px 20px; }
  .acmer-gp-modal--library { height: calc(100vh - 24px); height: calc(100dvh - 24px); }
  .acmer-gp-library__body { padding: 40px 12px 40px; }
  .acmer-gp-library__row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .acmer-gp-modal .acmer-gp-library__copy h3 { font-size: 28px; margin-bottom: 20px; }
  .acmer-gp-modal .acmer-gp-library__copy p { font-size: 13px; }
  .acmer-gp-modal--design { height: calc(100vh - 24px); height: calc(100dvh - 24px); }
  .acmer-gp-design { padding: 24px 16px 64px;gap:40px; }
  .acmer-gp-design__row, .acmer-gp-design__row--reverse { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media"; gap: 28px; }
  .acmer-gp-modal .acmer-gp-design__tag { font-size: 14px; }
  .acmer-gp-modal .acmer-gp-design__copy h3 { font-size: 28px;text-align: left; }
  .acmer-gp-modal .acmer-gp-design__description { font-size: 14px; }
  .acmer-gp-material .acmer-gp-material__video-section { gap: 28px; }
  .acmer-gp-library__panel{gap: 40px;}
}

@media (max-width: 640px) {
  .acmer-gp-overview .acmer-gp-overview__eyebrow { display: none !important; }
  .acmer-gp-overview { padding: 64px 20px 48px; }
  .acmer-gp-overview__header { margin-bottom: 34px; }
  .acmer-gp-overview h2 { font-size: clamp(38px, 11.5vw, 49px); line-height: 1; }
  .acmer-gp-overview .acmer-gp-overview__header h2 { font-size: 25px !important; line-height: 1.08; }
  .acmer-gp-overview__intro { margin: 30px 0 0 !important; font-size: 18px !important; }
  .acmer-gp-feature-grid { width: calc(100% + 20px); display: flex; gap: 14px; overflow-x: auto; padding: 4px 20px 24px 2px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .acmer-gp-feature-grid::-webkit-scrollbar { display: none; }
  .acmer-gp-feature-grid button.acmer-gp-feature { flex: 0 0 84vw; padding: 0 !important; scroll-snap-align: start; }
  .acmer-gp-feature-grid .acmer-gp-feature .acmer-gp-feature__copy { max-width: none; min-height: 150px; padding: 22px 20px !important; }
  .acmer-gp-feature-grid .acmer-gp-feature__copy > strong { font-size: 22px !important; }
  .acmer-gp-feature-grid .acmer-gp-feature__copy > span { font-size: 14px !important; }
  .acmer-gp-feature__media { width: 100%; }
  .acmer-gp-feature-dots {
    display: flex;
    width: 100%;
    min-height: 34px;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 12px 2px 0;
    background: transparent;
    pointer-events: none;
  }
  .acmer-gp-feature-dot {
    display: block;
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #d8d8dc;
    transition: width 180ms ease, height 180ms ease, background 180ms ease, box-shadow 180ms ease;
  }
  .acmer-gp-feature-dot.is-active {
    width: 10px;
    height: 10px;
    background: linear-gradient(135deg, #f89869 0%, #ff9d4d 45%, #d53a00 100%);
    box-shadow: 0 2px 7px rgba(213,58,0,.3);
  }
}

@media (prefers-reduced-motion: reduce) {
  .acmer-gp-overview *, .acmer-gp-overview *::before, .acmer-gp-overview *::after,
  .acmer-gp-modal *, .acmer-gp-modal *::before, .acmer-gp-modal *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .acmer-gp-library__stage.is-scroll-reveal { height: auto !important; }
  .acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__panel { position: static; }
  .acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__stack { display: grid; }
  .acmer-gp-library__stage.is-scroll-reveal .acmer-gp-library__layer--next { position: relative; inset: auto; height: var(--acmer-library-frame-height, auto); aspect-ratio: var(--acmer-library-media-ratio, 3 / 2); transform: none !important; will-change: auto; }
}

/* Final theme/GemPages override: keep the main heading solid orange even if an older gradient rule remains on the page. */
section.acmer-gp-overview[data-acmer-module="overview"] > .acmer-gp-overview__inner > .acmer-gp-overview__header > h2 {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: var(--acmer-heading-color, #ff4a00) !important;
  -webkit-text-fill-color: var(--acmer-heading-color, #ff4a00) !important;
}
