/* lookbook-v1: public home only. Keep billing and private panels untouched. */
.showcase-theme {
  --showcase-black: #09090c;
  --showcase-surface: #141218;
  --showcase-gold-line: #c7a34d42;
  background: var(--showcase-black);
  position: relative;
  isolation: isolate;
}
/* The welcome's own Olympus artwork stays behind the page, never over photos. */
.showcase-theme::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-color: #09090c;
  background-image: linear-gradient(180deg, #09070dc2, #100912c7 55%, #09070dd4), url('/static/brand/welcome-temple-wide.webp');
  background-position: center, center;
  background-size: cover, cover;
  background-repeat: no-repeat;
}
.showcase-theme .editorial-container { width: min(1360px, calc(100% - 64px)); }
.showcase-theme .editorial-header {
  min-height: 74px;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  padding: 12px max(32px, calc((100vw - 1360px) / 2));
  gap: 26px;
  background: #09090cf5;
  border-bottom: 1px solid #d0ac5840;
  box-shadow: 0 5px 28px #0003;
}
.showcase-theme .editorial-header-brand { width: 220px; }
.showcase-theme .editorial-header nav { gap: 26px; }
.showcase-theme .editorial-header nav a { letter-spacing: .08em; font-size: 10px; }
.showcase-theme .editorial-header nav .editorial-account {
  min-height: 42px;
  padding: 10px 17px;
  border-radius: 5px;
  box-shadow: 0 3px 20px #f0187522;
}
.showcase-theme .editorial-kicker { font-size: 9px; line-height: 1.5; letter-spacing: .18em; }
.showcase-theme .editorial-button { border-radius: 5px; min-height: 48px; }

/* Server-rendered welcome. The complete temple stays visible inside the frame. */
.showcase-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.showcase-theme.welcome-open { overflow: hidden; }
.showcase-theme.welcome-open > footer,
.showcase-theme.welcome-open > .support-float { display: none; }
.showcase-welcome {
  position: fixed;
  inset: 0;
  z-index: 1000;
  width: 100%;
  height: 100svh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  isolation: isolate;
  background: #a77979;
}
.showcase-welcome::before {
  content: '';
  position: fixed;
  inset: -36px;
  z-index: -2;
  pointer-events: none;
  background: #a77979 url('/static/brand/welcome-temple.webp') center / cover no-repeat;
  filter: blur(28px);
  opacity: .8;
}
.showcase-welcome-picture {
  position: fixed;
  inset: 0;
  display: block;
  width: 100%;
  height: 100svh;
  z-index: -1;
  pointer-events: none;
}
.showcase-welcome-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.showcase-welcome-inner {
  display: grid;
  align-items: center;
  justify-items: center;
  min-height: 100svh;
  padding: 32px 24px;
}
.showcase-welcome-content {
  width: min(670px, 100%);
  margin: auto;
  padding: 34px 40px 26px;
  text-align: center;
  background: radial-gradient(ellipse, #3d1230bf 12%, #3d123088 52%, #3d123030 72%, transparent 86%);
  text-shadow: 0 2px 12px #3c1028;
}
.showcase-welcome-kicker { margin: 0 0 22px; font-size: 11px; line-height: 1.5; letter-spacing: .28em; }
.showcase-welcome-logo { width: min(590px, 100%); margin: 0 auto 28px; filter: drop-shadow(0 3px 11px #42132bdd); }
.showcase-welcome-age { max-width: 440px; margin: 0 auto 24px; font-size: 14px; line-height: 1.75; }
.showcase-welcome-form { margin: 0; }
.showcase-welcome-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(470px, 100%);
  min-height: 56px;
  padding: 16px 22px;
  border: 1px solid #edcb7fbf;
  border-radius: 8px;
  background: linear-gradient(120deg, #b70055, #e11778);
  box-shadow: 0 8px 26px #4f123c4d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-shadow: 0 1px 5px #530c2a;
}
.showcase-welcome-exit { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 12px; padding: 8px 12px; font-size: 12px; line-height: 1.5; text-decoration: underline; text-underline-offset: 5px; }
.showcase-theme .showcase-welcome :is(a,button):focus-visible { outline: 3px solid #ffe0a1; outline-offset: 5px; }
.showcase-secondary-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; font-size: 11px; line-height: 1.5; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #c7a34d80; }
@media (min-width: 760px) {
  .showcase-welcome::before { background-image: url('/static/brand/welcome-temple-wide.webp'); }
}
@media (max-width: 759px) {
  .showcase-welcome-inner { padding: 24px 12px; }
  .showcase-welcome-content { width: min(540px, 100%); padding: 30px 18px 24px; background: radial-gradient(ellipse, #3d1230c7 8%, #3d12309c 52%, #3d12303d 76%, transparent 92%); }
  .showcase-welcome-kicker { margin-bottom: 20px; font-size: 9px; letter-spacing: .22em; }
  .showcase-welcome-logo { margin-bottom: 24px; }
  .showcase-welcome-age { max-width: 310px; font-size: 13px; margin-bottom: 23px; }
  .showcase-welcome-form button { min-height: 56px; padding: 15px 17px; font-size: 12px; }
  .showcase-welcome-exit { font-size: 11px; }
}
@media (max-height: 480px) {
  .showcase-welcome-inner { padding-top: 16px; padding-bottom: 16px; }
  .showcase-welcome-content { padding: 16px 24px; }
  .showcase-welcome-kicker { margin-bottom: 12px; font-size: 9px; }
  .showcase-welcome-logo { width: min(380px, 100%); margin-bottom: 15px; }
  .showcase-welcome-age { margin-bottom: 15px; font-size: 12px; }
  .showcase-welcome-form button { min-height: 48px; padding: 12px 18px; }
  .showcase-welcome-exit { margin-top: 5px; }
}

/* Mobile entrance: show the entire artwork above the controls, without a
   cropped duplicate or text covering the temple. Keep the desktop composition. */
@media (max-width: 759px) and (orientation: portrait) {
  .showcase-welcome {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100vh;
    height: 100svh;
    background: #28101e;
  }
  .showcase-welcome::before { display: none; }
  .showcase-welcome-picture {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .showcase-welcome-picture img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    object-position: center;
  }
  .showcase-welcome-inner {
    min-height: 0;
    padding: 0;
    background: linear-gradient(180deg, #28101e, #100b13);
    border-top: 1px solid #c7a34d50;
  }
  .showcase-welcome-content {
    width: 100%;
    padding: 13px 18px max(12px, env(safe-area-inset-bottom));
    margin: 0;
    background: none;
  }
  .showcase-welcome-kicker { margin-bottom: 8px; font-size: 9px; }
  .showcase-welcome-logo { width: min(280px, 100%); margin-bottom: 10px; }
  .showcase-welcome-age { max-width: 320px; margin-bottom: 13px; font-size: 12px; line-height: 1.5; }
  .showcase-welcome-form button { min-height: 50px; padding: 12px; font-size: 12px; }
  .showcase-welcome-exit { margin-top: 4px; min-height: 44px; padding: 8px; }
  .showcase-welcome .mirror-motion-switch {
    top: max(8px, env(safe-area-inset-top));
    bottom: auto;
    left: 8px;
  }
}

/* Six category entrances, never placeholder profiles. */
.showcase-categories { background: #09090c; padding: 20px 0 32px; }
.showcase-theme .directory-category-nav { display: block; margin: 0; }
.showcase-category-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.showcase-category-heading .editorial-kicker { margin: 0 0 5px; font-size: 8px; }
.showcase-theme .showcase-category-heading h2 { margin: 0; font: 400 25px/1.2 Georgia, serif; letter-spacing: -.02em; }
.showcase-theme .directory-category-nav .showcase-category-all {
  display: inline-flex;
  gap: 16px;
  min-height: 44px;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid #c7a34d70;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 11px;
}
.showcase-theme .directory-category-nav .showcase-category-all[aria-current] { border-color: #ef1b7d; }
.showcase-category-rail { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 11px; }
.showcase-theme .directory-category-nav .showcase-category-card {
  --category-surface: #261021;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
  min-height: 130px;
  padding: 15px 17px 14px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  white-space: normal;
  border: 1px solid #8f704848;
  border-radius: 7px;
  background: linear-gradient(125deg, var(--category-surface), #121015 90%);
  box-shadow: none;
  transition: border-color .2s, background .2s;
}
.showcase-category-card::before { content: ''; position: absolute; width: 112px; height: 112px; border: 1px solid #c9a05824; border-radius: 50%; right: -35px; top: -36px; box-shadow: 0 0 0 16px #c9a05808; z-index: -1; }
.showcase-theme .directory-category-nav .category-semidiosas { --category-surface: #251b28; }
.showcase-theme .directory-category-nav .category-vips { --category-surface: #331127; }
.showcase-theme .directory-category-nav .category-platium { --category-surface: #26212e; }
.showcase-theme .directory-category-nav .category-gold { --category-surface: #302417; }
.showcase-theme .directory-category-nav .category-bronce { --category-surface: #302019; }
.showcase-category-index { font-size: 8px; font-weight: 400; letter-spacing: .15em; line-height: 1; margin-bottom: 16px; }
.showcase-category-card strong { font: 400 clamp(21px, 1.85vw, 27px)/1.2 Georgia, serif; letter-spacing: -.035em; overflow-wrap: anywhere; }
.showcase-category-explore { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: auto; padding-top: 13px; font-size: 8px; font-weight: 400; letter-spacing: .08em; }
.showcase-category-explore > span { font-size: 16px; line-height: 1; }
.showcase-theme .directory-category-nav .showcase-category-card[aria-current],
.showcase-theme .directory-category-nav .showcase-category-card:hover { border-color: #ee3989; background: linear-gradient(125deg, #571535, #1b101a); }
.showcase-theme .directory-category-nav .showcase-category-card[aria-current] { box-shadow: inset 0 -3px 0 #e8bd68; }

/* The catalogue and its search are the main product. */
.showcase-theme #perfiles { background: #0d0c11; padding: 28px 0 56px; border-top: 1px solid #c7a34d22; }
.showcase-theme #perfiles > .editorial-container > .showcase-stories { margin-bottom: 38px; }
.showcase-theme .directory-heading { margin: 0 0 22px; align-items: flex-end; }
.showcase-theme .directory-heading .editorial-kicker { margin: 0 0 9px; font-size: 9px; }
.showcase-theme .directory-heading h2 { font: 400 clamp(30px, 3.1vw, 43px)/1.12 Georgia, serif; letter-spacing: -.035em; }
.showcase-theme .directory-publish-link { max-width: none; font-size: 11px; text-align: right; padding: 10px 0; border-color: #c7a34d55; }
.showcase-theme .editorial-search.showcase-search {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr) minmax(0, .75fr) auto;
  align-items: end;
  gap: 16px;
  padding: 20px 22px 12px;
  margin: 0;
  background: #18151d;
  border: 1px solid #69523c80;
  border-radius: 9px;
}
.showcase-theme .showcase-search label { min-width: 0; margin: 0; font-size: 9px; letter-spacing: .08em; }
.showcase-theme .showcase-search input[type=search],
.showcase-theme .showcase-search select { height: 47px; width: 100%; margin: 8px 0 0; padding: 11px 13px; background: #0d0b11; border: 1px solid #716047; border-radius: 5px; color: #fff; font-size: 13px; line-height: 1.5; }
.showcase-theme .showcase-search select { padding-right: 28px; }
.showcase-theme .showcase-search input::placeholder { color: #fff; opacity: .7; }
.showcase-theme .showcase-search > button { grid-column: 4; grid-row: 1; height: 47px; min-height: 47px; min-width: 145px; width: auto; padding: 12px 19px; font-size: 11px; }
.showcase-search-options { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; }
.showcase-theme .showcase-search-options label { display: inline-flex; align-items: center; gap: 9px; min-height: 34px; font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; cursor: pointer; }
.showcase-theme .showcase-search-options input { width: 16px; height: 16px; margin: 0; padding: 0; appearance: auto; accent-color: #df146b; }
.showcase-search-options > a { display: inline-flex; align-items: center; min-height: 34px; font-size: 10px; text-decoration: underline; text-underline-offset: 4px; }
.showcase-results-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 22px; padding: 19px 1px; }
.showcase-results-bar > p { margin: 0; font-size: 11px; line-height: 1.6; }
.showcase-results-bar strong { font-weight: 600; }
.showcase-results-note { font-size: 10px; line-height: 1.6; }
.showcase-theme .showcase-results-bar .editorial-filter-note { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin: 0; font-size: 10px; }
.showcase-results-bar .editorial-filter-note > span { padding: 4px 8px; border: 1px solid #c7a34d3d; border-radius: 4px; background: #21141f; max-width: 100%; overflow-wrap: anywhere; }
.showcase-theme .directory-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 27px 20px; }
.showcase-theme .editorial-cards .directory-card { border: 1px solid #71604750; border-radius: 11px; background: #19141d; box-shadow: 0 8px 24px #0003; }
.showcase-theme .editorial-cards .directory-card:hover { border-color: #ed398b; transform: translateY(-4px); }
.showcase-theme .directory-card .photo { aspect-ratio: 3 / 4; background: #09080c; }
.showcase-theme .directory-card .photo img { object-fit: contain; }
.showcase-theme .directory-card .badge { top: 12px; left: 12px; padding: 7px 10px; border-radius: 4px; font-size: 9px; line-height: 1.2; background: #4b112de8; backdrop-filter: blur(6px); }
.showcase-has-video { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; background: #100a13d9; border: 1px solid #d5b56b66; border-radius: 4px; font-size: 9px; line-height: 1.2; }
.showcase-has-video > span { font-size: 13px; }
.showcase-theme .directory-photo-caption { display: block; bottom: 0; padding: 42px 17px 38px; background: linear-gradient(180deg, transparent, #08050fde 55%, #08050fef); }
.showcase-card-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 10px; }
.showcase-theme .directory-photo-caption h3 { font: 400 clamp(25px, 2.2vw, 34px)/1.13 Georgia, serif; letter-spacing: -.03em; }
.showcase-theme .directory-age { font-size: 11px; }
.showcase-theme .directory-card .directory-photo-caption .directory-city { font-size: 11px; line-height: 1.5; margin: 8px 0 0; }
.showcase-theme .editorial-cards .card-body { padding: 15px 17px 14px; }
.showcase-theme .directory-card .card-body .directory-intro { font-size: 12px; line-height: 1.65; margin-bottom: 13px; -webkit-line-clamp: 2; }
.showcase-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.showcase-media-counts { display: flex; flex-wrap: wrap; gap: 5px 9px; font-size: 9px; line-height: 1.5; }
.showcase-theme .directory-card .directory-more { padding: 0; margin: 0; border: 0; font-size: 10px; white-space: nowrap; }

/* One honest empty state, with useful next steps rather than fake cards. */
.showcase-empty { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 42px; align-items: center; padding: 40px; border: 1px solid #b9934e55; border-radius: 12px; background: radial-gradient(ellipse at left, #39142c66, transparent 50%), #16121a; }
.showcase-empty-art { position: relative; width: 160px; aspect-ratio: 1; margin: auto; border: 1px solid #c7a34d45; transform: rotate(45deg); border-radius: 36px; background: linear-gradient(135deg, #2d1529, #110c16); }
.showcase-empty-art::before, .showcase-empty-art::after { content: ''; position: absolute; inset: 22px; border: 1px solid #ed348d88; border-radius: 50%; }
.showcase-empty-art::after { inset: 41px; border-color: #d9b060; }
.showcase-empty-art > span { position: absolute; inset: 61px; border: 1px solid #f7cb6f; background: #811044; border-radius: 5px; }
.showcase-empty .editorial-kicker { margin: 0 0 12px; font-size: 9px; }
.showcase-empty h3 { font: 400 clamp(27px, 3vw, 38px)/1.18 Georgia, serif; letter-spacing: -.03em; margin: 0 0 13px; }
.showcase-empty-copy > p:not(.editorial-kicker) { max-width: 610px; font-size: 13px; line-height: 1.8; margin: 0; }
.showcase-empty-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 25px; margin-top: 22px; }
.showcase-empty-actions .editorial-button { padding: 14px 21px; font-size: 11px; }

/* Plans remain complete but take a supporting role below the directory. */
.showcase-theme .editorial-facts { background: #111015; padding: 25px max(32px, calc((100vw - 1360px) / 2)); border-top: 1px solid #c7a34d2b; border-bottom: 1px solid #c7a34d2b; }
.showcase-theme .editorial-facts > div { gap: 16px; }
.showcase-theme .editorial-facts strong { font-size: 30px; }
.showcase-theme .editorial-facts span { font-size: 9px; line-height: 1.6; }
.showcase-theme .editorial-plans { padding: 52px 0; background: #151018; }
.showcase-theme .editorial-plans .editorial-section-heading { margin-bottom: 28px; gap: 24px; }
.showcase-theme .editorial-plans .editorial-kicker { margin-bottom: 10px; }
.showcase-theme .editorial-plans h2 { font: 400 clamp(31px, 3vw, 42px)/1.15 Georgia, serif; letter-spacing: -.03em; }
.showcase-theme .editorial-plans .editorial-section-heading > p { font-size: 12px; line-height: 1.7; }
.showcase-theme .editorial-plan-picker { grid-template-columns: minmax(0, 1fr) 180px; gap: 36px; margin-top: 0; }
.showcase-theme .editorial-plan { gap: 36px; }
.showcase-theme .editorial-plan-copy h3 { font-size: 48px; margin-bottom: 18px; }
.showcase-theme .editorial-plan-copy > p:not(.editorial-kicker) { min-height: 0; font-size: 12px; line-height: 1.7; margin-bottom: 16px; }
.showcase-theme .editorial-plan-copy ul { font-size: 11px; line-height: 1.7; margin-bottom: 20px; }
.showcase-theme .editorial-plan-copy .editorial-button { padding: 13px 19px; font-size: 11px; }
.showcase-theme .editorial-plan-rail label { padding: 20px 0; }
.showcase-theme .editorial-plan-rail b { font-size: 24px; }
.showcase-theme .editorial-price-row { padding: 17px 0; }
.showcase-theme .editorial-price-row > span { font-size: 29px; }
.showcase-theme .editorial-price-row strong { font-size: 24px; }
.showcase-theme .editorial-plan-fineprint { margin-top: 28px; padding-top: 18px; font-size: 10px; line-height: 1.8; max-width: 1100px; }
.showcase-theme .showcase-publish { display: block; padding: 48px 0; background: #0d0b10; border-top: 1px solid #c7a34d25; }
.showcase-publish-layout { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.7fr); gap: 55px; align-items: center; }
.showcase-publish-intro .editorial-kicker { margin: 0 0 12px; }
.showcase-theme .showcase-publish-intro h2 { font: 400 38px/1.15 Georgia, serif; letter-spacing: -.03em; margin: 0 0 24px; }
.showcase-publish-intro .editorial-text-link { font-size: 11px; }
.showcase-publish-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; list-style: none; padding: 0; margin: 0; }
.showcase-publish-steps > li { padding-top: 16px; border-top: 1px solid #c7a34d66; }
.showcase-publish-steps > li > span { display: block; margin-bottom: 20px; font: 400 24px/1 Georgia, serif; }
.showcase-publish-steps h3 { font-size: 14px; line-height: 1.4; margin: 0 0 9px; }
.showcase-publish-steps p { font-size: 11px; line-height: 1.8; margin: 0; }
.showcase-theme .editorial-faq { padding: 42px 0; background: #131016; }
.showcase-theme .editorial-faq .editorial-section-heading { margin-bottom: 24px; }
.showcase-theme .editorial-faq .editorial-kicker { margin: 0 0 10px; }
.showcase-theme .editorial-faq h2 { font: 400 33px/1.15 Georgia, serif; letter-spacing: -.03em; }
.showcase-theme .editorial-faq .editorial-section-heading > p { font-size: 12px; }
.showcase-theme .editorial-faq details { padding: 16px 0; }
.showcase-theme .editorial-faq summary { font-size: 14px; line-height: 1.6; }
.showcase-theme .editorial-faq details p { font-size: 12px; line-height: 1.8; }
.showcase-theme .editorial-contact { padding: 44px 0; background: linear-gradient(110deg, #2d0f23, #160f1a); }
.showcase-theme .editorial-contact h2 { font: 400 38px/1.2 Georgia, serif; letter-spacing: -.03em; }
.showcase-theme .editorial-contact .editorial-kicker { margin: 0 0 8px; }
.showcase-theme .editorial-contact p:last-child { font-size: 12px; margin-top: 14px; }
.showcase-theme .editorial-contact .editorial-button { font-size: 11px; padding: 14px 21px; }
.showcase-theme footer { padding-top: 35px; background: #09090c; }
.showcase-theme .footer-wrap { width: min(1360px, calc(100% - 64px)); }
.showcase-theme .footer-bottom { padding: 25px 20px; }
.showcase-theme .support-float { border-radius: 999px; box-shadow: 0 5px 20px #0005; }
.showcase-theme a:focus-visible, .showcase-theme button:focus-visible, .showcase-theme input:focus-visible, .showcase-theme select:focus-visible { outline: 3px solid #f1c56c; outline-offset: 4px; }

@media (max-width: 1150px) {
  .showcase-theme .editorial-header { grid-template-columns: 200px minmax(0, 1fr) auto; gap: 18px; }
  .showcase-theme .editorial-header-brand { width: 200px; }
  .showcase-theme .editorial-header nav { gap: 19px; }
  .showcase-theme .editorial-nav-right > a:first-child { display: none; }
  .showcase-theme .directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 17px; }
  .showcase-theme .editorial-plan-picker { grid-template-columns: minmax(0, 1fr) 155px; gap: 25px; }
  .showcase-theme .editorial-plan { grid-template-columns: minmax(0, 1fr) minmax(230px, .95fr); gap: 25px; }
  .showcase-publish-layout { grid-template-columns: minmax(0, .65fr) minmax(0, 1.8fr); gap: 35px; }
  .showcase-publish-steps { gap: 18px; }
}
@media (max-width: 900px) {
  .showcase-theme .editorial-container, .showcase-theme .footer-wrap { width: calc(100% - 44px); }
  .showcase-category-rail { grid-auto-flow: column; grid-auto-columns: 160px; grid-template-columns: none; overflow-x: auto; gap: 10px; padding: 2px 2px 10px; scrollbar-width: thin; scrollbar-color: #b02162 #21121f; }
  .showcase-theme .directory-category-nav .showcase-category-card { min-height: 124px; }
  .showcase-category-card strong { font-size: 25px; }
  .showcase-theme .editorial-search.showcase-search { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .7fr); gap: 14px; }
  .showcase-theme .showcase-search > button { grid-column: 3; grid-row: 2; min-width: 0; width: 100%; }
  .showcase-search-options { grid-column: 1 / 3; grid-row: 2; }
  .showcase-empty { grid-template-columns: 145px minmax(0, 1fr); padding: 30px; gap: 30px; }
  .showcase-empty-art { width: 125px; border-radius: 26px; }
  .showcase-empty-art::before { inset: 16px; }
  .showcase-empty-art::after { inset: 31px; }
  .showcase-empty-art > span { inset: 48px; }
  .showcase-theme .editorial-plan-picker { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .showcase-theme .editorial-plan-rail { grid-column: 1; grid-row: 1; gap: 25px; }
  .showcase-theme .editorial-plan-stage { grid-column: 1; grid-row: 2; }
  .showcase-theme .editorial-plan-rail label { padding: 16px 0; }
  .showcase-publish-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .showcase-theme .showcase-publish-intro h2 { margin-bottom: 15px; }
  .showcase-theme .editorial-contact .editorial-container { flex-direction: row; align-items: center; gap: 25px; }
}
@media (max-width: 800px) {
  .showcase-theme .editorial-header { grid-template-columns: minmax(0, 1fr) auto; padding: 10px 22px 0; gap: 2px 16px; }
  .showcase-theme .editorial-header-brand { grid-column: 1; grid-row: 1; width: min(200px, 100%); }
  .showcase-theme .editorial-nav-right { grid-column: 2; grid-row: 1; }
  .showcase-theme .editorial-nav-left { grid-column: 1 / -1; grid-row: 2; }
  .showcase-theme .editorial-header .editorial-nav-left { gap: 35px !important; }
}
@media (max-width: 700px) {
  .showcase-theme .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 13px; }
  .showcase-theme .directory-photo-caption h3 { font-size: 28px; }
  .showcase-empty { grid-template-columns: 100px minmax(0, 1fr); gap: 25px; padding: 27px 24px; }
  .showcase-empty-art { width: 88px; border-radius: 20px; }
  .showcase-empty-art::before { inset: 11px; }
  .showcase-empty-art::after { inset: 22px; }
  .showcase-empty-art > span { inset: 34px; }
}
@media (max-width: 600px) {
  .showcase-theme .editorial-container, .showcase-theme .footer-wrap { width: calc(100% - 32px); }
  .showcase-theme .editorial-header { min-height: 96px; padding: 9px 16px 0; gap: 2px 12px; }
  .showcase-theme .editorial-header-brand { width: min(190px, 100%); }
  .showcase-theme .editorial-header .editorial-nav-right { gap: 11px; }
  .showcase-theme .editorial-header nav a { font-size: 9px; }
  .showcase-theme .editorial-header nav .editorial-account { padding: 8px 11px; min-height: 40px; }
  .showcase-theme .editorial-header .editorial-nav-left { gap: 35px !important; }
  .showcase-secondary-link { font-size: 10px; gap: 8px; }
  .showcase-categories { padding: 16px 0 22px; }
  .showcase-category-heading { gap: 14px; margin-bottom: 13px; }
  .showcase-category-heading .editorial-kicker { font-size: 7px; }
  .showcase-theme .showcase-category-heading h2 { font-size: 23px; }
  .showcase-theme .directory-category-nav .showcase-category-all { font-size: 10px; gap: 11px; }
  .showcase-category-rail { grid-auto-columns: 143px; gap: 9px; }
  .showcase-theme .directory-category-nav .showcase-category-card { flex: initial; min-height: 120px; padding: 14px 15px; }
  .showcase-category-index { margin-bottom: 14px; }
  .showcase-category-card strong { font-size: 24px; }
  .showcase-category-explore { padding-top: 12px; font-size: 7px; }
  .showcase-theme #perfiles { padding: 22px 0 35px; }
  .showcase-theme .directory-heading { align-items: flex-start; gap: 16px; margin-bottom: 18px; }
  .showcase-theme .directory-heading h2 { font-size: 30px; }
  .showcase-theme .directory-heading .editorial-kicker { font-size: 8px; }
  .showcase-theme .directory-publish-link { font-size: 9px; line-height: 1.6; max-width: 95px; }
  .showcase-theme .editorial-search.showcase-search { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 14px 12px; padding: 17px 14px 13px; }
  .showcase-theme .showcase-search .showcase-query { grid-column: 1 / -1; }
  .showcase-theme .showcase-search label { font-size: 8px; }
  .showcase-theme .showcase-search input[type=search], .showcase-theme .showcase-search select { margin-top: 7px; font-size: 12px; padding-left: 10px; }
  .showcase-theme .showcase-search > button { grid-column: 2; grid-row: 3; font-size: 10px; }
  .showcase-search-options { grid-column: 1; grid-row: 3; flex-direction: column; align-items: flex-start; gap: 0; }
  .showcase-theme .showcase-search-options label { font-size: 10px; gap: 7px; letter-spacing: 0; }
  .showcase-search-options > a { font-size: 9px; min-height: 27px; }
  .showcase-results-bar { gap: 8px; padding: 16px 0; }
  .showcase-results-bar > p { font-size: 10px; }
  .showcase-results-note { display: none; }
  .showcase-theme .showcase-results-bar .editorial-filter-note { justify-content: flex-start; font-size: 9px; }
  .showcase-theme .directory-grid { gap: 18px 10px; }
  .showcase-theme .editorial-cards .directory-card { border-radius: 8px; }
  .showcase-theme .directory-card .badge { top: 8px; left: 8px; padding: 5px 7px; font-size: 8px; }
  .showcase-has-video { top: 34px; right: 8px; padding: 4px 6px; font-size: 8px; }
  .showcase-has-video > span { font-size: 11px; }
  .showcase-theme .directory-photo-caption { bottom: 0; padding: 32px 10px 29px; }
  .showcase-card-name { gap: 3px 7px; }
  .showcase-theme .directory-photo-caption h3 { font-size: 23px; }
  .showcase-theme .directory-age { font-size: 9px; }
  .showcase-theme .directory-card .directory-photo-caption .directory-city { font-size: 9px; margin-top: 6px; }
  .showcase-theme .editorial-cards .card-body { padding: 11px 10px; }
  .showcase-theme .directory-card .card-body .directory-intro { font-size: 10px; margin-bottom: 11px; }
  .showcase-card-footer { align-items: flex-end; gap: 5px; }
  .showcase-media-counts { font-size: 8px; gap: 3px 7px; }
  .showcase-theme .directory-card .directory-more { font-size: 9px; }
  .showcase-empty { display: block; padding: 26px 23px; }
  .showcase-empty-art { display: none; }
  .showcase-empty .editorial-kicker { font-size: 8px; margin-bottom: 10px; }
  .showcase-empty h3 { font-size: 29px; }
  .showcase-empty-copy > p:not(.editorial-kicker) { font-size: 12px; line-height: 1.8; }
  .showcase-empty-actions { gap: 10px 18px; margin-top: 19px; }
  .showcase-empty-actions .editorial-button { font-size: 10px; padding: 12px 15px; }
  .showcase-theme .editorial-facts { padding: 22px 16px; }
  .showcase-theme .editorial-facts > div { gap: 7px; }
  .showcase-theme .editorial-facts strong { font-size: 27px; }
  .showcase-theme .editorial-facts span { font-size: 7px; }
  .showcase-theme .editorial-plans { padding: 36px 0; }
  .showcase-theme .editorial-plans .editorial-section-heading { gap: 15px; margin-bottom: 23px; }
  .showcase-theme .editorial-plans h2 { font-size: 31px; }
  .showcase-theme .editorial-plan-picker { gap: 25px; }
  .showcase-theme .editorial-plan { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .showcase-theme .editorial-plan-copy h3 { font-size: 41px; }
  .showcase-theme .editorial-plan-rail b { font-size: 23px; }
  .showcase-theme .editorial-plan-rail small { font-size: 9px; }
  .showcase-theme .editorial-price-row > span { font-size: 28px; }
  .showcase-theme .editorial-price-row strong { font-size: 25px; }
  .showcase-theme .editorial-price-row > div > small { font-size: 11px; }
  .showcase-theme .editorial-plan-fineprint { margin-top: 23px; }
  .showcase-theme .showcase-publish { padding: 35px 0; }
  .showcase-publish-layout { gap: 27px; }
  .showcase-theme .showcase-publish-intro h2 { font-size: 33px; }
  .showcase-publish-steps { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .showcase-publish-steps > li { display: flex; gap: 20px; padding-top: 17px; }
  .showcase-publish-steps > li > span { flex: 0 0 29px; margin: 1px 0 0; font-size: 24px; }
  .showcase-publish-steps h3 { font-size: 14px; margin-bottom: 6px; }
  .showcase-publish-steps p { font-size: 11px; }
  .showcase-theme .editorial-faq { padding: 35px 0; }
  .showcase-theme .editorial-faq .editorial-section-heading { gap: 14px; }
  .showcase-theme .editorial-faq h2 { font-size: 29px; }
  .showcase-theme .editorial-faq summary { font-size: 13px; }
  .showcase-theme .editorial-contact { padding: 35px 0; }
  .showcase-theme .editorial-contact .editorial-container { flex-direction: column; align-items: stretch; gap: 24px; }
  .showcase-theme .editorial-contact h2 { font-size: 34px; }
}
@media (max-width: 370px) {
  .showcase-theme .editorial-header .editorial-nav-right > a:not(.editorial-account) { display: none; }
  .showcase-theme .directory-photo-caption h3 { font-size: 21px; }
  .showcase-card-footer { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-theme .showcase-category-card, .showcase-theme .directory-card { transition: none; }
  .showcase-theme .editorial-cards .directory-card:hover { transform: none; }
}

/* Translucent section surfaces reveal Olympus; content cards stay opaque. */
.showcase-theme .showcase-categories,
.showcase-theme #perfiles { background: #09090c0d; }
.showcase-theme .editorial-facts { background: #100c1459; }
.showcase-theme .editorial-plans { background: #190d1b59; }
.showcase-theme .showcase-publish { background: #0d0b1052; }
.showcase-theme .editorial-faq { background: #130d1766; }
.showcase-theme .editorial-contact { background: linear-gradient(110deg, #2d0f238c, #160f1a8c); }
@media (max-width: 759px) {
  .showcase-theme::before {
    background-image: linear-gradient(180deg, #09070dc7, #100912cc 55%, #09070dd9), url('/static/brand/welcome-temple.webp');
  }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-theme::before { animation: none; transition: none; }
}

/* The temple stays still and fully visible. Motion uses its own cloud/rose
   textures, softly masked over the matching areas, plus a few drifting petals. */
.showcase-welcome-picture {
  --olympus-art: url('/static/brand/welcome-temple.webp');
  --olympus-ratio: .75;
  display: grid;
  place-items: center;
  container-type: size;
}
.showcase-welcome-scene {
  position: relative;
  width: min(100%, 75svh);
  aspect-ratio: 1086 / 1448;
  max-height: 100%;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
}
.showcase-welcome-scene > picture { display: block; width: 100%; height: 100%; }
.showcase-welcome-scene :is(.olympus-clouds, .olympus-roses, .olympus-petals) {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.olympus-clouds, .olympus-roses {
  display: none;
  background: var(--olympus-art) center / 100% 100% no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  will-change: transform;
}
@supports (mask-image: radial-gradient(#000, transparent)) or (-webkit-mask-image: radial-gradient(#000, transparent)) {
  .olympus-clouds, .olympus-roses { display: block; }
}
.olympus-clouds-far {
  -webkit-mask-image: radial-gradient(ellipse 22% 15% at 50% 45%, #000 25%, #000d 58%, transparent 100%);
  mask-image: radial-gradient(ellipse 22% 15% at 50% 45%, #000 25%, #000d 58%, transparent 100%);
  animation: olympus-cloud-drift 19s ease-in-out -7s infinite alternate;
}
.olympus-clouds-near {
  -webkit-mask-image: radial-gradient(ellipse 33% 12% at 50% 61%, #000 15%, #000b 54%, transparent 100%);
  mask-image: radial-gradient(ellipse 33% 12% at 50% 61%, #000 15%, #000b 54%, transparent 100%);
  animation: olympus-cloud-rise 14s ease-in-out -5s infinite alternate;
}
.olympus-roses-left {
  -webkit-mask-image: radial-gradient(ellipse 11% 6% at 5% 57%, #000 25%, #000c 60%, transparent 100%);
  mask-image: radial-gradient(ellipse 11% 6% at 5% 57%, #000 25%, #000c 60%, transparent 100%);
  transform-origin: 5% 63%;
  animation: olympus-rose-sway 6s ease-in-out -2s infinite alternate;
}
.olympus-roses-right {
  -webkit-mask-image: radial-gradient(ellipse 11% 6% at 95% 57%, #000 25%, #000c 60%, transparent 100%);
  mask-image: radial-gradient(ellipse 11% 6% at 95% 57%, #000 25%, #000c 60%, transparent 100%);
  transform-origin: 95% 63%;
  animation: olympus-rose-sway 7.5s ease-in-out -4s infinite alternate-reverse;
}
.olympus-petal {
  --petal-drift: 5cqw;
  position: absolute;
  top: -8%;
  left: 18%;
  width: clamp(7px, 1.4cqw, 18px);
  aspect-ratio: .7;
  border-radius: 85% 12% 70% 35%;
  background: radial-gradient(ellipse at 30% 22%, #ffbfd6 0, #f77aa7 24%, #d82868 61%, #8b123d 100%);
  box-shadow: inset 1px 1px 2px #ffe6ec99, 1px 2px 4px #650f2b25;
  animation: olympus-petal-fall 15s linear -8s infinite;
  will-change: transform, opacity;
}
.olympus-petal-2 { left: 82%; --petal-drift: -8cqw; animation-duration: 19s; animation-delay: -3s; }
.olympus-petal-3 { left: 37%; --petal-drift: 10cqw; width: clamp(6px, 1cqw, 13px); animation-duration: 22s; animation-delay: -16s; }
.olympus-petal-4 { left: 64%; --petal-drift: -5cqw; animation-duration: 17s; animation-delay: -11s; }
.olympus-petal-5 { left: 7%; --petal-drift: 9cqw; width: clamp(6px, .9cqw, 12px); animation-duration: 24s; animation-delay: -20s; }
.olympus-petal-6 { left: 92%; --petal-drift: -6cqw; width: clamp(6px, 1cqw, 14px); animation-duration: 21s; animation-delay: -10s; }
.olympus-petal-7 { left: 46%; --petal-drift: 6cqw; animation-duration: 26s; animation-delay: -23s; }
@supports (width: 1cqw) {
  .showcase-welcome-scene { width: min(100cqw, calc(100cqh * var(--olympus-ratio))); }
}
@media (min-width: 760px) {
  .showcase-welcome-picture { --olympus-art: url('/static/brand/welcome-temple-wide.webp'); --olympus-ratio: 1.77683316; }
  .showcase-welcome-scene { aspect-ratio: 1672 / 941; }
  .olympus-clouds-far {
    -webkit-mask-image: radial-gradient(ellipse 18% 12% at 50% 42%, #000 25%, #000c 55%, transparent 100%);
    mask-image: radial-gradient(ellipse 18% 12% at 50% 42%, #000 25%, #000c 55%, transparent 100%);
  }
  .olympus-clouds-near {
    -webkit-mask-image: radial-gradient(ellipse 25% 10% at 50% 60%, #000 25%, #000c 55%, transparent 100%);
    mask-image: radial-gradient(ellipse 25% 10% at 50% 60%, #000 25%, #000c 55%, transparent 100%);
  }
  .olympus-roses-left {
    -webkit-mask-image: radial-gradient(ellipse 10% 11% at 6% 88%, #000 25%, #000c 60%, transparent 100%);
    mask-image: radial-gradient(ellipse 10% 11% at 6% 88%, #000 25%, #000c 60%, transparent 100%);
    transform-origin: 6% 96%;
  }
  .olympus-roses-right {
    -webkit-mask-image: radial-gradient(ellipse 10% 11% at 94% 86%, #000 25%, #000c 60%, transparent 100%);
    mask-image: radial-gradient(ellipse 10% 11% at 94% 86%, #000 25%, #000c 60%, transparent 100%);
    transform-origin: 94% 96%;
  }
}
@keyframes olympus-cloud-drift {
  from { transform: translate3d(-1.8%, .4%, 0); }
  to { transform: translate3d(2.2%, -.8%, 0); }
}
@keyframes olympus-cloud-rise {
  from { transform: translate3d(1.6%, 1%, 0); }
  to { transform: translate3d(-1.8%, -1.2%, 0); }
}
@keyframes olympus-rose-sway {
  from { transform: rotate(-1.1deg) translate3d(0, .1%, 0); }
  to { transform: rotate(1.2deg) translate3d(.2%, -.2%, 0); }
}
@keyframes olympus-petal-fall {
  0% { transform: translate3d(0, 0, 0) rotate(-40deg); opacity: 0; }
  12% { opacity: .82; }
  50% { transform: translate3d(var(--petal-drift), 52cqh, 0) rotate(125deg); opacity: .9; }
  88% { opacity: .75; }
  100% { transform: translate3d(0, 110cqh, 0) rotate(290deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .olympus-petals { display: none; }
  .showcase-welcome-scene :is(.olympus-clouds, .olympus-roses) { animation: none; transform: none; will-change: auto; }
}

/* Pink foreground clouds stay inside the artwork, below the entrance controls. */
.showcase-welcome-scene::before,
.showcase-welcome-scene::after {
  content: '';
  position: absolute;
  z-index: 1;
  left: -6%;
  right: -6%;
  bottom: -5%;
  height: 29%;
  pointer-events: none;
  filter: blur(6px);
  will-change: transform;
}
.showcase-welcome-scene::before {
  background:
    radial-gradient(ellipse 20% 50% at 5% 56%, #ffe5efd9 8%, #ffc6dca8 42%, #f493bc45 67%, transparent 85%),
    radial-gradient(ellipse 23% 60% at 23% 80%, #ffd6e8eb 12%, #fcb8d49e 48%, transparent 83%),
    radial-gradient(ellipse 24% 52% at 52% 94%, #ffd6e6b3 9%, #fcb0cd7a 48%, transparent 84%),
    radial-gradient(ellipse 23% 65% at 78% 78%, #ffd9e9e6 10%, #ffb8d599 45%, transparent 83%),
    radial-gradient(ellipse 18% 52% at 98% 50%, #ffe5efdb 8%, #f9b7d4a3 43%, transparent 84%);
  animation: olympus-pink-cloud-back 18s ease-in-out -5s infinite alternate;
}
.showcase-welcome-scene::after {
  height: 20%;
  bottom: -7%;
  filter: blur(4px);
  background:
    radial-gradient(ellipse 18% 58% at 0% 48%, #fff0f6f0 8%, #ffc9e0e0 41%, transparent 80%),
    radial-gradient(ellipse 21% 70% at 17% 79%, #ffe1eef2 12%, #ffa4c5b3 52%, transparent 85%),
    radial-gradient(ellipse 22% 50% at 40% 94%, #ffc8dfd4 10%, #fca4c78f 48%, transparent 85%),
    radial-gradient(ellipse 23% 61% at 64% 92%, #ffdaebeb 13%, #fba5c8ad 48%, transparent 84%),
    radial-gradient(ellipse 23% 64% at 87% 80%, #ffe7f1ed 12%, #ffb2d3bd 48%, transparent 84%),
    radial-gradient(ellipse 16% 55% at 100% 45%, #fff0f7eb 10%, #ffc7dfbf 42%, transparent 82%);
  animation: olympus-pink-cloud-front 13s ease-in-out -8s infinite alternate;
}
.olympus-petals { z-index: 2; }
@keyframes olympus-pink-cloud-back {
  from { transform: translate3d(-2%, 2%, 0); }
  to { transform: translate3d(2%, -5%, 0); }
}
@keyframes olympus-pink-cloud-front {
  from { transform: translate3d(1.5%, 0, 0); }
  to { transform: translate3d(-2%, -8%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-welcome-scene::before,
  .showcase-welcome-scene::after { animation: none; transform: none; will-change: auto; }
}
