:root {
  --plms-paper: #f4f2eb;
  --plms-ink: #1d2827;
  --plms-muted: rgba(29, 40, 39, .58);
  --plms-gutter: clamp(20px, 4vw, 64px);
  --plms-width: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--plms-paper); }
body { margin: 0; color: var(--plms-ink); background: var(--plms-paper); font-family: "Heebo", Arial, sans-serif; }
a { color: inherit; }

.plms-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 var(--plms-gutter);
}
.plms-brand { display: inline-flex; width: 76px; color: var(--plms-ink); text-decoration: none; }
.plms-brand .site-brand-logo { width: 100%; }
.plms-back { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.plms-back::after { display: inline-block; margin-left: 8px; content: "↗"; transition: transform .25s ease; }
.plms-back:hover::after { transform: translate(3px, -3px); }

.plms-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  gap: clamp(40px, 8vw, 130px);
  align-items: end;
  width: min(calc(100% - (2 * var(--plms-gutter))), var(--plms-width));
  min-height: clamp(500px, 72vh, 760px);
  margin: 0 auto;
  padding: clamp(80px, 12vh, 150px) 0 clamp(70px, 10vh, 120px);
}
.plms-eyebrow { grid-column: 1 / -1; align-self: start; margin: 0; color: var(--plms-muted); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.plms-intro h1 { margin: 0; font-family: "EB Garamond", Georgia, serif; font-size: clamp(52px, 7.2vw, 108px); font-weight: 500; letter-spacing: -.035em; line-height: .88; }
.plms-subtitle { max-width: 540px; margin: 0 0 .35em; color: var(--plms-muted); font-size: clamp(16px, 1.5vw, 20px); font-weight: 300; line-height: 1.55; }

.plms-showcase { width: min(100%, var(--plms-width)); margin: 0 auto; overflow: hidden; background: #fff; }
.plms-showcase figure { margin: 0; padding: 0; line-height: 0; }
.plms-showcase img { display: block; width: 100%; height: auto; margin: 0; }

.plms-top { position: fixed; right: var(--plms-gutter); bottom: 28px; z-index: 2; padding: 0; border: 0; color: var(--plms-ink); background: transparent; font: 500 11px/1 "Heebo", sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease; }
.plms-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.plms-footer { display: flex; justify-content: space-between; gap: 24px; padding: 44px var(--plms-gutter); color: var(--plms-muted); font-size: 12px; }
.plms-footer a { text-decoration: none; }

@media (prefers-reduced-motion: no-preference) {
  .plms-header, .plms-intro > * { opacity: 0; transform: translateY(18px); }
  .is-ready .plms-header, .is-ready .plms-intro > * { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
  .is-ready .plms-intro h1 { transition-delay: .08s; }
  .is-ready .plms-subtitle { transition-delay: .16s; }
}

@media (max-width: 700px) {
  .plms-header { min-height: 70px; }
  .plms-brand { width: 66px; }
  .plms-intro { grid-template-columns: 1fr; gap: 26px; min-height: 500px; padding: 72px 0 64px; }
  .plms-eyebrow { margin-bottom: auto; }
  .plms-intro h1 { font-size: clamp(45px, 14vw, 68px); line-height: .92; }
  .plms-subtitle { max-width: 33em; }
  .plms-top { right: 18px; bottom: 20px; }
  .plms-footer { flex-direction: column; padding-block: 34px; }
}
