/*
 * ONEEXISTS v2.0.0 — Pillar page template.
 * Loads on pages using template-oneexists-pillar.php.
 * Mobile-first, dark-dominant, matches hero + collections visual DNA.
 */

/* HERO */
.oe-pillar-hero {
  position: relative;
  min-height: 64vh;
  min-height: 64svh;
  max-height: 720px;
  background-color: #000;
  background-size: cover;
  background-position: center 62%;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  padding: calc(var(--oe-header-h) + 4rem) 0 clamp(3rem, 7vh, 5rem);
  color: rgb(var(--oe-white));
  overflow: hidden;
  isolation: isolate;
}

.oe-pillar-hero__scrim {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 0.4) 0%, transparent 30%, rgb(0 0 0 / 0.5) 85%, rgb(0 0 0 / 0.8) 100%);
  pointer-events: none;
}

.oe-pillar-hero__inner { position: relative; z-index: 1; width: 100%; }

.oe-pillar-hero .oe-eyebrow {
  display: block;
  font-family: var(--oe-font-mono, "JetBrains Mono", monospace);
  font-size: 0.6875rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgb(var(--oe-white) / 0.6);
  margin: 0 0 clamp(1.25rem, 2.5vh, 2rem);
}

body .oe-pillar .oe-pillar-hero__title,
body .oe-pillar .oe-pillar-hero h1 {
  font-family: var(--oe-font-head, "Fraunces", serif) !important;
  font-size: clamp(2.5rem, 6.5vw, 5.5rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 clamp(1rem, 2vh, 1.5rem) !important;
  color: rgb(var(--oe-white)) !important;
  max-width: 20ch;
}

.oe-pillar-hero__lead {
  font-family: var(--oe-font-head, serif);
  font-style: italic;
  font-size: clamp(1.0625rem, 1.4vw, 1.375rem);
  line-height: 1.5;
  color: rgb(var(--oe-white) / 0.82);
  max-width: 46ch;
  margin: 0;
}

/* BODY — editorial content blocks */
.oe-pillar-body {
  background: rgb(var(--oe-black));
  padding-block: clamp(4rem, 10vh, 8rem);
  color: rgb(var(--oe-white));
}

.oe-pillar-block + .oe-pillar-block {
  margin-top: clamp(3rem, 7vh, 5rem);
  padding-top: clamp(3rem, 7vh, 5rem);
  border-top: 1px solid rgb(var(--oe-white) / 0.08);
}

body .oe-pillar .oe-pillar-block__h {
  font-family: var(--oe-font-head, serif) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em !important;
  color: rgb(var(--oe-white)) !important;
  margin: 0 0 clamp(1rem, 2vh, 1.5rem) !important;
  max-width: 24ch;
}

body .oe-pillar .oe-pillar-block__body,
body .oe-pillar .oe-pillar-block__body p {
  font-family: var(--oe-font-head, serif) !important;
  font-size: clamp(1.0625rem, 1.2vw, 1.1875rem) !important;
  line-height: 1.65 !important;
  color: rgb(var(--oe-white) / 0.85) !important;
}

body .oe-pillar .oe-pillar-block__body p + p { margin-top: 1em; }

body .oe-pillar .oe-pillar-block__body a {
  color: rgb(var(--oe-white)) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgb(var(--oe-white) / 0.4);
}
body .oe-pillar .oe-pillar-block__body a:hover {
  text-decoration-color: rgb(var(--oe-white));
}

body .oe-pillar .oe-pillar-block__body ul,
body .oe-pillar .oe-pillar-block__body ol {
  margin: 1em 0 1em 1.25em;
  padding: 0;
}
body .oe-pillar .oe-pillar-block__body li {
  font-family: var(--oe-font-head, serif);
  font-size: clamp(1.0625rem, 1.2vw, 1.1875rem);
  line-height: 1.6;
  color: rgb(var(--oe-white) / 0.85);
  margin-bottom: 0.375em;
}

/* RELATED */
.oe-pillar-related {
  background: rgb(var(--oe-graphite));
  padding-block: clamp(3rem, 6vh, 5rem);
  color: rgb(var(--oe-white));
  border-top: 1px solid rgb(var(--oe-white) / 0.06);
}

.oe-pillar-related .oe-eyebrow {
  display: block;
  font-family: var(--oe-font-mono, monospace);
  font-size: 0.6875rem;
  letter-spacing: 0.24em;
  color: rgb(var(--oe-white) / 0.55);
  margin: 0 0 clamp(1.5rem, 3vh, 2.5rem);
}

.oe-pillar-related__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  background: rgb(var(--oe-white) / 0.06);
}

@media (min-width: 48rem) {
  .oe-pillar-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 72rem) {
  .oe-pillar-related__grid { grid-template-columns: repeat(4, 1fr); }
}

.oe-pillar-related__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: rgb(var(--oe-black));
  color: rgb(var(--oe-white));
  text-decoration: none;
  min-height: 110px;
  transition: background-color 240ms cubic-bezier(0.22, 1, 0.36, 1);
}
.oe-pillar-related__card:hover,
.oe-pillar-related__card:focus-visible {
  background: rgb(var(--oe-graphite));
}

.oe-pillar-related__label {
  font-family: var(--oe-font-head, serif);
  font-size: clamp(1.0625rem, 1.3vw, 1.25rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.oe-pillar-related__arrow {
  font-family: var(--oe-font-mono, monospace);
  font-size: 1.125rem;
  color: rgb(var(--oe-white) / 0.5);
  transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1), color 200ms;
}
.oe-pillar-related__card:hover .oe-pillar-related__arrow {
  transform: translateX(4px);
  color: rgb(var(--oe-white));
}
