/* ============================================================================
   ONEEXISTS — Homepage sections
   Each section owns a small scope; global tokens do the heavy lifting.
   ============================================================================ */

/* Reset default WP entry margins on the home page */
.oe-home > * { margin: 0; }

/* ---------- HERO ---------- */
.oe-hero {
  position: relative;
  overflow: hidden;
  min-height: min(80vh, 800px);
  display: flex;
  align-items: flex-end;
  color: rgb(var(--oe-white));
  padding: var(--oe-section-y-lg) 0;
  isolation: isolate;
}
.oe-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.oe-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
              rgb(var(--oe-black) / 0.15) 0%,
              rgb(var(--oe-black) / 0.35) 50%,
              rgb(var(--oe-black) / 0.65) 100%);
  z-index: -1;
}
.oe-hero--placeholder {
  background:
    linear-gradient(180deg, rgb(var(--oe-graphite)) 0%, rgb(var(--oe-black)) 100%),
    repeating-linear-gradient(45deg, rgb(var(--oe-charcoal)) 0 2px, transparent 2px 40px);
  background-blend-mode: overlay;
}
.oe-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 55rem;
  margin-inline-start: 0;
  padding-inline: var(--oe-gutter);
}
.oe-hero .oe-eyebrow { color: rgb(var(--oe-silver)); margin-bottom: 1.5rem; }
.oe-hero__title { color: rgb(var(--oe-white)); margin-bottom: 1.25rem; }
.oe-hero__title em { font-style: normal; color: rgb(var(--oe-silver)); }
.oe-hero__sub {
  font-size: var(--oe-fs-body-lg);
  color: rgb(var(--oe-white));
  max-width: 34em;
  margin-bottom: 2rem;
  font-weight: var(--oe-fw-light);
}
.oe-hero__ctas { gap: var(--oe-gap-lg); }

/* ---------- SECTION HEADS ---------- */
.oe-section-head {
  margin-bottom: var(--oe-gap-xl);
  max-width: 48rem;
}
.oe-section-head .oe-eyebrow { margin-bottom: 1rem; }
.oe-section-head h2 { margin-bottom: 1rem; }
.oe-section-head .oe-lede { margin-bottom: 0; }
.oe-section-head--split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--oe-gap);
  max-width: none;
  align-items: end;
}
@media (min-width: 48rem) {
  .oe-section-head--split { grid-template-columns: 1fr auto; }
}

/* ---------- PLACEHOLDERS (before user uploads imagery) ---------- */
.oe-placeholder {
  width: 100%; height: 100%;
  background:
    linear-gradient(135deg, rgb(var(--oe-silver)) 0%, rgb(var(--oe-mist)) 100%);
}
.oe-placeholder--warm {
  background:
    linear-gradient(135deg, rgb(var(--oe-paper)) 0%, rgb(var(--oe-fog)) 100%),
    repeating-linear-gradient(45deg, rgb(var(--oe-fog)) 0 1px, transparent 1px 20px);
  background-blend-mode: multiply;
}
.oe-placeholder--dark {
  background:
    linear-gradient(135deg, rgb(var(--oe-graphite)) 0%, rgb(var(--oe-black)) 100%);
}
.oe-placeholder--continental-800 { background: linear-gradient(135deg, rgb(var(--oe-silver)) 0%, rgb(var(--oe-fog)) 100%); }
.oe-placeholder--black-object    { background: linear-gradient(135deg, rgb(var(--oe-graphite)) 0%, rgb(var(--oe-black)) 100%); }
.oe-placeholder--signature       { background: linear-gradient(135deg, rgb(var(--oe-paper)) 0%, rgb(var(--oe-mist)) 100%); }
.oe-placeholder--archive         { background: linear-gradient(135deg, rgb(var(--oe-cloud)) 0%, rgb(var(--oe-silver)) 100%); }

/* ---------- PHILOSOPHY ---------- */
.oe-philo__figure { margin: 0; }

/* ---------- OBJECT 01 ---------- */
.oe-object-hero__copy { padding: var(--oe-gap-lg) 0; }
.oe-object-hero__copy .oe-passport dt { color: rgb(var(--oe-silver)); }
.oe-object-hero__copy .oe-passport dd { color: rgb(var(--oe-white)); }
.oe-object-hero__copy .oe-passport { border-top-color: rgb(var(--oe-charcoal)); }

/* ---------- MATERIAL ---------- */
.oe-mat-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: var(--oe-gap-lg);
  background: rgb(var(--oe-bg));
  border: var(--oe-border-hair);
  color: rgb(var(--oe-text));
  text-decoration: none;
  transition: border-color var(--oe-duration-fast) var(--oe-ease);
}
.oe-mat-card:hover { border-color: rgb(var(--oe-black)); }
.oe-mat-card__code {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
  font-size: var(--oe-fs-caption);
  color: rgb(var(--oe-text-muted));
  letter-spacing: var(--oe-ls-normal);
}
.oe-mat-card__name { margin: 0; font-size: var(--oe-fs-h3); }
.oe-mat-card__sub { margin: 0; color: rgb(var(--oe-text-muted)); font-size: var(--oe-fs-caption); }
.oe-mat-card__lede { margin: 0; font-size: var(--oe-fs-small); color: rgb(var(--oe-text-muted)); line-height: 1.55; flex: 1; }

/* ---------- PERSONALIZATION ---------- */
.oe-pers-grid { margin-bottom: var(--oe-gap-xl); }
.oe-pers-card {
  padding: var(--oe-gap-lg);
  background: rgb(var(--oe-bg));
  border: 1px solid rgb(var(--oe-black));
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.oe-pers-card .oe-passport {
  border-top: 0;
  padding-top: 0;
  margin: 0;
  font-size: var(--oe-fs-caption);
  color: rgb(var(--oe-text-muted));
}
.oe-pers-card h3 { margin: 0; font-size: var(--oe-fs-h2); letter-spacing: var(--oe-ls-tight); }
.oe-pers-card p { color: rgb(var(--oe-text-muted)); font-size: var(--oe-fs-body); line-height: 1.55; margin: 0; }
.oe-pers-cta { text-align: center; }

/* ---------- COLLECTIONS ---------- */
.oe-coll-tile {
  display: block;
  color: rgb(var(--oe-text));
  text-decoration: none;
  transition: opacity var(--oe-duration-fast) var(--oe-ease);
}
.oe-coll-tile:hover { opacity: 0.85; }
.oe-coll-tile__ratio { overflow: hidden; margin-bottom: 1rem; }
.oe-coll-tile__ratio > * { transition: transform var(--oe-duration-editorial) var(--oe-ease); }
.oe-coll-tile:hover .oe-coll-tile__ratio > * { transform: scale(1.03); }
.oe-coll-tile__meta { padding: 0 0.25rem; }
.oe-coll-tile__meta .oe-passport {
  border-top: 0;
  padding-top: 0;
  margin: 0 0 0.25rem;
  font-size: var(--oe-fs-caption);
  color: rgb(var(--oe-text-muted));
}
.oe-coll-tile__meta h3 { margin: 0 0 0.25rem; font-size: var(--oe-fs-h4); letter-spacing: var(--oe-ls-wide); }
.oe-coll-tile__note { margin: 0; font-size: var(--oe-fs-caption); color: rgb(var(--oe-text-muted)); }
.oe-coll-cta { text-align: center; margin-top: var(--oe-gap-xl); }

/* ---------- PROCESS ---------- */
.oe-process {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgb(var(--oe-charcoal));
  border: 1px solid rgb(var(--oe-charcoal));
}
@media (min-width: 48rem) { .oe-process { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 80rem) { .oe-process { grid-template-columns: repeat(8, 1fr); } }
.oe-process__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: var(--oe-gap-lg) 1rem;
  background: rgb(var(--oe-bg-dark));
  color: rgb(var(--oe-white));
  text-align: center;
  aspect-ratio: 1 / 1;
}
.oe-process__no {
  font-family: var(--oe-font-mono);
  font-size: var(--oe-fs-caption);
  letter-spacing: var(--oe-ls-normal);
  color: rgb(var(--oe-silver));
}
.oe-process__label {
  font-size: var(--oe-fs-h5);
  font-weight: var(--oe-fw-medium);
  letter-spacing: var(--oe-ls-wide);
  text-transform: uppercase;
}

/* ---------- LAB ---------- */
.oe-lab__addr { font-style: normal; color: rgb(var(--oe-white)); line-height: 1.5; font-size: var(--oe-fs-body); margin: 0; }
.oe-lab__hours { color: rgb(var(--oe-silver)); font-size: var(--oe-fs-small); margin: 0; }
.oe-lab__soon { color: rgb(var(--oe-silver)); font-size: var(--oe-fs-body); }

/* ---------- JOURNAL ---------- */
.oe-jour-card__link { display: block; text-decoration: none; color: rgb(var(--oe-text)); }
.oe-jour-card__ratio { overflow: hidden; margin-bottom: 1rem; }
.oe-jour-card__ratio > * { transition: transform var(--oe-duration-editorial) var(--oe-ease); }
.oe-jour-card__link:hover .oe-jour-card__ratio > * { transform: scale(1.03); }
.oe-jour-card__meta { padding: 0 0.25rem; }
.oe-jour-card__meta .oe-eyebrow { margin-bottom: 0.5rem; }
.oe-jour-card__title { margin: 0; font-size: var(--oe-fs-h4); letter-spacing: var(--oe-ls-normal); font-weight: var(--oe-fw-medium); }

/* ---------- NEWSLETTER (home) ---------- */
.oe-newsletter--lg {
  margin: var(--oe-gap-lg) auto 0;
  max-width: 30rem;
}
.oe-newsletter--lg .oe-input,
.oe-newsletter--lg .oe-btn { height: 3.5rem; }

/* ---------- SECTION HEAD SPACING TWEAK ON HERO-ADJACENT SECTIONS ---------- */
.oe-hero + .oe-section { padding-top: var(--oe-section-y-lg); }
