/* Ember v55 — a standalone premium operations-console interface.
   This file intentionally styles Ember's own semantic markup instead of
   recolouring the shared home cards used by the other four templates. */

:root[data-design-template="atelier"] {
  --ember-bg: #020605;
  --ember-panel: #06100b;
  --ember-panel-2: #09160f;
  --ember-line: rgba(81, 255, 139, .28);
  --ember-line-strong: rgba(117, 255, 98, .62);
  --ember-neon: var(--brand, #10f06b);
  --ember-lime: var(--ember, #a4ff3f);
  --ember-ink: #effff3;
  --ember-muted: #91a99a;
  --ember-cut: 14px;
}

:root[data-design-template="atelier"] body {
  background:
    linear-gradient(rgba(55,255,117,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(55,255,117,.018) 1px, transparent 1px),
    #010403;
  background-size: 28px 28px;
}

:root[data-design-template="atelier"] .app {
  max-width: 500px;
  color: var(--ember-ink);
  background:
    radial-gradient(circle at 90% 8%, rgba(16,240,107,.07), transparent 27%),
    var(--ember-bg);
  box-shadow: 0 0 0 1px rgba(72,255,126,.08), 0 0 80px rgba(0,0,0,.72);
}

/* Compact command header */
:root[data-design-template="atelier"] .top-ember {
  position: sticky;
  top: 0;
  z-index: 10;
  min-height: 82px;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
  border: 0;
  border-bottom: 1px solid var(--ember-line);
  background: rgba(3,9,6,.96);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
}
:root[data-design-template="atelier"] .top-ember::before {
  position: absolute;
  top: 0;
  left: 24%;
  width: 34px;
  height: 2px;
  background: var(--ember-neon);
  box-shadow: 0 0 12px rgba(16,240,107,.6);
  content: "";
}
:root[data-design-template="atelier"] .top-ember .top-row {
  min-height: 56px;
  padding: 0;
  align-items: center;
}
:root[data-design-template="atelier"] .top-ember .venue-lockup { min-width: 0; gap: 11px; }
:root[data-design-template="atelier"] .top-ember .venue-mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border: 1px solid var(--ember-line-strong);
  border-radius: 50%;
  color: var(--ember-lime);
  background: #030806;
  box-shadow: inset 0 0 0 4px rgba(127,255,71,.035), 0 0 18px rgba(16,240,107,.1);
}
:root[data-design-template="atelier"] .top-ember .venue-mark img { width: 80%; height: 80%; object-fit: contain; }
:root[data-design-template="atelier"] .top-ember .venue-name {
  max-width: 250px;
  overflow: hidden;
  color: var(--ember-ink);
  font: 750 18px/1.12 var(--font-body);
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root[data-design-template="atelier"] .top-ember .venue-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  color: var(--ember-lime);
  font-size: 11px;
  white-space: nowrap;
}
:root[data-design-template="atelier"] .top-ember .venue-sub i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ember-neon);
  box-shadow: 0 0 9px rgba(16,240,107,.7);
}
:root[data-design-template="atelier"] .top-ember :where(.profile-button,.notification-button) {
  width: 40px;
  height: 40px;
  border: 1px solid var(--ember-line);
  border-radius: 0;
  color: var(--ember-lime);
  background: #050d09;
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
  box-shadow: none;
}
:root[data-design-template="atelier"] .top-ember .table-chip { display: none; }

:root[data-design-template="atelier"] .screen.home-screen {
  padding: 9px 8px calc(105px + env(safe-area-inset-bottom));
  background: transparent;
}
:root[data-design-template="atelier"] .ember-home { display: grid; gap: 8px; }
:root[data-design-template="atelier"] .ember-home button { font-family: var(--font-body); }

/* Shared chamfered module language */
:root[data-design-template="atelier"] :where(.ember-panel,.ember-hero,.ember-access-pass) {
  position: relative;
  border: 1px solid var(--ember-line);
  color: var(--ember-ink);
  background:
    linear-gradient(135deg, rgba(16,240,107,.045), transparent 34%),
    var(--ember-panel);
  clip-path: polygon(var(--ember-cut) 0, calc(100% - var(--ember-cut)) 0, 100% var(--ember-cut), 100% calc(100% - var(--ember-cut)), calc(100% - var(--ember-cut)) 100%, var(--ember-cut) 100%, 0 calc(100% - var(--ember-cut)), 0 var(--ember-cut));
  box-shadow: none;
}
:root[data-design-template="atelier"] :where(.ember-panel,.ember-hero,.ember-access-pass)::before {
  position: absolute;
  top: 0;
  left: 22px;
  z-index: 2;
  width: 36px;
  height: 2px;
  background: var(--ember-neon);
  box-shadow: 0 0 12px rgba(16,240,107,.45);
  content: "";
}
:root[data-design-template="atelier"] .ember-panel { padding: 12px; }
:root[data-design-template="atelier"] .ember-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  margin-bottom: 9px;
}
:root[data-design-template="atelier"] .ember-panel-title h2 {
  margin: 0;
  color: var(--ember-lime);
  font: 760 13px/1 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
}
:root[data-design-template="atelier"] .ember-panel-title > button {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 0;
  color: var(--ember-muted);
  background: none;
  font-size: 10px;
}
:root[data-design-template="atelier"] .ember-panel-title > button .app-icon { width: 14px; height: 14px; }

/* Split hero: photo and copy are separate surfaces, so copy stays readable. */
:root[data-design-template="atelier"] .ember-hero {
  display: grid;
  grid-template-columns: 46% 54%;
  min-height: 294px;
  overflow: hidden;
}
:root[data-design-template="atelier"] .ember-hero::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 1px solid rgba(141,255,81,.08);
  clip-path: inherit;
  pointer-events: none;
  content: "";
}
:root[data-design-template="atelier"] .ember-hero-photo { min-width: 0; overflow: hidden; background: #030705; }
:root[data-design-template="atelier"] .ember-hero-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 48% center;
  filter: saturate(.86) contrast(1.08) brightness(.78);
}
:root[data-design-template="atelier"] .ember-hero-command {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 15px 18px 20px;
  background:
    linear-gradient(rgba(87,255,135,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87,255,135,.025) 1px, transparent 1px),
    #050b08;
  background-size: 22px 22px;
}
:root[data-design-template="atelier"] .ember-hero-command::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  background: linear-gradient(transparent, var(--ember-neon) 20%, var(--ember-line) 75%, transparent);
  content: "";
}
:root[data-design-template="atelier"] .ember-kicker {
  color: var(--ember-lime);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
:root[data-design-template="atelier"] .ember-hero-command h2 {
  margin: 13px 0 9px;
  color: var(--ember-ink);
  font: 750 clamp(24px,7.2vw,34px)/.98 var(--font-body);
  letter-spacing: -.035em;
  overflow-wrap: normal;
}
:root[data-design-template="atelier"] .ember-hero-command p {
  margin: 0;
  color: #b7c6bc;
  font-size: 12px;
  line-height: 1.42;
}
:root[data-design-template="atelier"] .ember-booking {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 17px;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  padding: 7px 9px;
  border: 1px solid var(--ember-line-strong);
  border-radius: 0;
  color: var(--ember-ink);
  background: rgba(12,28,18,.82);
  text-align: left;
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
}
:root[data-design-template="atelier"] .ember-booking strong { min-width: 0; font-size: 11px; line-height: 1.15; }
:root[data-design-template="atelier"] .ember-booking > .app-icon { width: 16px; height: 16px; color: var(--ember-lime); }
:root[data-design-template="atelier"] .ember-table-icon svg { width: 34px; height: 30px; stroke: var(--ember-lime); stroke-width: 1.6; }
:root[data-design-template="atelier"] .ember-table-icon .accent { stroke: var(--ember-neon); opacity: .55; }

/* Four services are a single fixed row at every supported mobile width. */
:root[data-design-template="atelier"] .ember-services { padding-bottom: 10px; }
:root[data-design-template="atelier"] .ember-table-state {
  max-width: 132px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  border: 0;
  color: var(--ember-muted);
  background: none;
  font-size: 9px;
  white-space: nowrap;
}
:root[data-design-template="atelier"] .ember-table-state i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--ember-lime); }
:root[data-design-template="atelier"] .ember-table-state .app-icon { width: 14px; height: 14px; flex: 0 0 14px; }
:root[data-design-template="atelier"] .ember-service-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 3px;
}
:root[data-design-template="atelier"] .ember-service-key {
  position: relative;
  min-width: 0;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 3px 7px;
  overflow: hidden;
  border: 1px solid rgba(66,255,121,.18);
  border-radius: 0;
  color: var(--ember-ink);
  background: #050c08;
  clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
}
:root[data-design-template="atelier"] .ember-service-key::after {
  position: absolute;
  right: 16%;
  bottom: 0;
  left: 16%;
  height: 2px;
  background: var(--ember-neon);
  box-shadow: 0 0 8px rgba(16,240,107,.45);
  content: "";
}
:root[data-design-template="atelier"] .ember-service-key > small {
  position: absolute;
  top: 5px;
  left: 6px;
  color: rgba(164,255,63,.42);
  font-size: 6px;
}
:root[data-design-template="atelier"] .ember-service-key > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--ember-neon); }
:root[data-design-template="atelier"] .ember-service-key .app-icon { width: 31px; height: 31px; stroke-width: 1.3; }
:root[data-design-template="atelier"] .ember-service-key strong { max-width: 100%; font-size: 9px; line-height: 1; white-space: nowrap; }
:root[data-design-template="atelier"] .ember-service-key.is-primary {
  color: #031006;
  border-color: var(--ember-lime);
  background: linear-gradient(145deg, var(--ember-neon), var(--ember-lime));
}
:root[data-design-template="atelier"] .ember-service-key.is-primary :where(span,small) { color: #031006; }
:root[data-design-template="atelier"] .ember-service-key.is-primary::after { background: #031006; box-shadow: none; }

/* One featured product + two compact products, no carousel. */
:root[data-design-template="atelier"] .ember-product-matrix {
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(0,.92fr);
  grid-template-rows: repeat(2,101px);
  gap: 5px;
}
:root[data-design-template="atelier"] .ember-product {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(79,255,130,.2);
  border-radius: 0;
  color: var(--ember-ink);
  background: #020504;
  text-align: left;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}
:root[data-design-template="atelier"] .ember-product-featured { grid-row: 1 / 3; }
:root[data-design-template="atelier"] .ember-product img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.9) contrast(1.08) brightness(.84); }
:root[data-design-template="atelier"] .ember-product > span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  padding: 22px 8px 7px;
  background: linear-gradient(transparent,rgba(0,4,2,.92));
}
:root[data-design-template="atelier"] .ember-product strong,
:root[data-design-template="atelier"] .ember-product small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root[data-design-template="atelier"] .ember-product strong { font-size: 12px; }
:root[data-design-template="atelier"] .ember-product small { margin-top: 2px; color: #a9b9ae; font-size: 8px; }
:root[data-design-template="atelier"] .ember-product-featured strong { font-size: 18px; }

/* Loyalty is an integrated access strip, not a decorative credit card. */
:root[data-design-template="atelier"] .ember-access-pass {
  width: 100%;
  min-height: 126px;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) 92px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 13px 14px;
  border-radius: 0;
  text-align: left;
}
:root[data-design-template="atelier"] .ember-access-copy :where(small,span,strong) { display: block; }
:root[data-design-template="atelier"] .ember-access-copy > small { color: var(--ember-lime); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
:root[data-design-template="atelier"] .ember-access-copy > span { margin-top: 8px; color: var(--ember-muted); font-size: 10px; }
:root[data-design-template="atelier"] .ember-access-copy > span b { color: var(--ember-lime); letter-spacing: .08em; }
:root[data-design-template="atelier"] .ember-access-copy > strong { margin-top: 7px; color: var(--ember-lime); font-size: 24px; line-height: 1; white-space: nowrap; }
:root[data-design-template="atelier"] .ember-access-copy em { color: var(--ember-ink); font-size: 10px; font-style: normal; font-weight: 500; }
:root[data-design-template="atelier"] .ember-access-medallion {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(165,255,113,.24);
  border-radius: 50%;
  color: rgba(235,255,240,.6);
  background:
    repeating-radial-gradient(circle, transparent 0 8px, rgba(151,255,97,.06) 9px 10px),
    #050a07;
  font: 400 42px/1 Georgia,serif;
  box-shadow: inset 0 0 24px rgba(0,0,0,.8);
}
:root[data-design-template="atelier"] .ember-access-progress { min-width: 0; display: grid; gap: 5px; }
:root[data-design-template="atelier"] .ember-access-progress > i {
  width: 100%;
  height: 5px;
  overflow: hidden;
  background: #020503;
  box-shadow: inset 0 0 0 1px rgba(117,255,98,.16);
}
:root[data-design-template="atelier"] .ember-access-progress > i::after { width: var(--progress); height: 100%; display: block; background: linear-gradient(90deg,var(--ember-neon),var(--ember-lime)); content: ""; }
:root[data-design-template="atelier"] .ember-access-progress small { color: var(--ember-muted); font-size: 8px; }
:root[data-design-template="atelier"] .ember-access-progress b { color: var(--ember-ink); font-size: 11px; }

/* Compact vertical event timeline */
:root[data-design-template="atelier"] .ember-events { position: relative; display: grid; }
:root[data-design-template="atelier"] .ember-events::before { position: absolute; top: 8px; bottom: 8px; left: 29px; width: 1px; background: var(--ember-line); content: ""; }
:root[data-design-template="atelier"] .ember-events > button {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid rgba(100,255,143,.1);
  color: var(--ember-ink);
  background: transparent;
  text-align: left;
}
:root[data-design-template="atelier"] .ember-events > button:last-child { border-bottom: 0; }
:root[data-design-template="atelier"] .ember-event-date {
  width: 46px;
  min-height: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ember-line-strong);
  color: var(--ember-ink);
  background: #061009;
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
}
:root[data-design-template="atelier"] .ember-event-date b { font-size: 16px; line-height: 1; }
:root[data-design-template="atelier"] .ember-event-date small { margin-top: 4px; color: var(--ember-lime); font-size: 6px; text-transform: uppercase; }
:root[data-design-template="atelier"] .ember-events > button > span:nth-child(2) { min-width: 0; }
:root[data-design-template="atelier"] .ember-events > button > span:nth-child(2) :where(strong,small) { display: block; overflow: hidden; text-overflow: ellipsis; }
:root[data-design-template="atelier"] .ember-events > button > span:nth-child(2) strong { font-size: 12px; white-space: nowrap; }
:root[data-design-template="atelier"] .ember-events > button > span:nth-child(2) small { margin-top: 4px; color: var(--ember-muted); font-size: 8px; white-space: nowrap; }
:root[data-design-template="atelier"] .ember-events > button > .app-icon { width: 16px; height: 16px; color: var(--ember-lime); }
:root[data-design-template="atelier"] .ember-events-empty { margin: 5px 0; color: var(--ember-muted); font-size: 11px; }

:root[data-design-template="atelier"] .ember-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 10px 4px 0;
  color: var(--ember-muted);
  font-size: 8px;
}
:root[data-design-template="atelier"] .ember-footer a { color: var(--ember-muted); }

/* Ember's segmented bottom command dock and its own angular icon family. */
:root[data-design-template="atelier"] .tabs {
  right: max(8px,calc((100vw - 500px)/2 + 8px));
  bottom: max(7px,env(safe-area-inset-bottom));
  left: max(8px,calc((100vw - 500px)/2 + 8px));
  width: auto;
  max-width: 484px;
  min-height: 70px;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  padding: 4px 5px calc(4px + env(safe-area-inset-bottom));
  border: 1px solid var(--ember-line);
  border-radius: 0;
  background: rgba(3,9,6,.97);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
  box-shadow: 0 14px 42px rgba(0,0,0,.6);
}
:root[data-design-template="atelier"] .tab {
  min-width: 0;
  min-height: 58px;
  gap: 2px;
  padding: 5px 2px 3px;
  border: 0;
  border-right: 1px solid rgba(93,255,139,.09);
  border-radius: 0;
  color: #718077;
  background: transparent;
}
:root[data-design-template="atelier"] .tab:last-child { border-right: 0; }
:root[data-design-template="atelier"] .tab .t-ico { width: 31px; height: 31px; border: 0; border-radius: 0; background: none; box-shadow: none; }
:root[data-design-template="atelier"] .tab .nav-icon { width: 25px; height: 25px; stroke-width: 1.25; }
:root[data-design-template="atelier"] .tab .tab-label { font-size: 8px; font-weight: 600; white-space: nowrap; }
:root[data-design-template="atelier"] .tab.on { color: var(--ember-lime); background: linear-gradient(180deg,rgba(16,240,107,.08),transparent); }
:root[data-design-template="atelier"] .tab.on::after { right: 18%; bottom: 0; left: 18%; height: 2px; background: var(--ember-neon); box-shadow: 0 0 8px rgba(16,240,107,.5); }
:root[data-design-template="atelier"] .tab.tab-primary {
  z-index: 1;
  margin: -12px -2px -1px;
  min-height: 72px;
  border: 1px solid var(--ember-line);
  color: var(--ember-ink);
  background: #07100b;
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px);
}
:root[data-design-template="atelier"] .tab.tab-primary .t-ico { width: 39px; height: 39px; }
:root[data-design-template="atelier"] .tab.tab-primary .nav-icon { width: 29px; height: 29px; }

@media (max-width: 390px) {
  :root[data-design-template="atelier"] { --ember-cut: 11px; }
  :root[data-design-template="atelier"] .screen.home-screen { padding-inline: 6px; }
  :root[data-design-template="atelier"] .ember-hero { grid-template-columns: 43% 57%; min-height: 278px; }
  :root[data-design-template="atelier"] .ember-hero-command { padding: 18px 11px 15px 14px; }
  :root[data-design-template="atelier"] .ember-hero-command h2 { font-size: 25px; }
  :root[data-design-template="atelier"] .ember-hero-command p { font-size: 10px; }
  :root[data-design-template="atelier"] .ember-booking { grid-template-columns: 30px minmax(0,1fr) 14px; padding-inline: 6px; }
  :root[data-design-template="atelier"] .ember-booking strong { font-size: 9px; }
  :root[data-design-template="atelier"] .ember-table-icon svg { width: 29px; }
  :root[data-design-template="atelier"] .ember-service-key { min-height: 84px; }
  :root[data-design-template="atelier"] .ember-service-key strong { font-size: 7.5px; }
  :root[data-design-template="atelier"] .ember-service-key > span { width: 29px; height: 29px; }
  :root[data-design-template="atelier"] .ember-service-key .app-icon { width: 27px; height: 27px; }
  :root[data-design-template="atelier"] .ember-product-matrix { grid-template-rows: repeat(2,88px); }
  :root[data-design-template="atelier"] .ember-access-pass { grid-template-columns: minmax(0,1fr) 67px minmax(0,.9fr); padding-inline: 10px; }
  :root[data-design-template="atelier"] .ember-access-medallion { width: 64px; height: 64px; font-size: 31px; }
  :root[data-design-template="atelier"] .ember-access-copy > strong { font-size: 19px; }
  :root[data-design-template="atelier"] .ember-access-progress b { font-size: 9px; }
}

@media (max-width: 350px) {
  :root[data-design-template="atelier"] .top-ember { padding-inline: 9px; }
  :root[data-design-template="atelier"] .top-ember .venue-mark { width: 39px; height: 39px; flex-basis: 39px; }
  :root[data-design-template="atelier"] .top-ember .venue-name { max-width: 165px; font-size: 15px; }
  :root[data-design-template="atelier"] .top-ember .venue-sub { font-size: 9px; }
  :root[data-design-template="atelier"] .top-ember :where(.profile-button,.notification-button) { width: 35px; height: 35px; }
  :root[data-design-template="atelier"] .ember-hero { grid-template-columns: 40% 60%; min-height: 270px; }
  :root[data-design-template="atelier"] .ember-hero-command h2 { font-size: 22px; }
  :root[data-design-template="atelier"] .ember-service-key strong { font-size: 6.8px; }
  :root[data-design-template="atelier"] .ember-product-matrix { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
  :root[data-design-template="atelier"] .ember-access-pass { grid-template-columns: minmax(0,1fr) 56px minmax(0,.85fr); gap: 5px; }
  :root[data-design-template="atelier"] .ember-access-medallion { width: 54px; height: 54px; font-size: 26px; }
  :root[data-design-template="atelier"] .ember-access-copy > strong { font-size: 16px; }
  :root[data-design-template="atelier"] .tab .tab-label { font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-design-template="atelier"] :where(.ember-panel,.ember-hero,.ember-access-pass,.tabs) { scroll-behavior: auto; }
}
