@import url('https://fonts.googleapis.com/css2?family=UnifrakturCook:wght@700&display=swap');

:root {
  --cove-gothic: "UnifrakturCook", "Old English Text MT", "Lucida Blackletter", fantasy;
  --cove-stone: #10151b;
  --cove-stone-light: #1b2229;
  --cove-shadow: #06080b;
  --cove-gold: #d2aa62;
  --cove-blue: #8eb6c6;
  --cove-paper: #d7cdb8;
  --cove-paper-ink: #2b251f;
  --cove-wine: #6e292b;
}

html {
  scroll-behavior: smooth;
}

.cove-page {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 16% 4%, rgba(210, 170, 98, .08), transparent 28rem),
    radial-gradient(circle at 86% 18%, rgba(142, 182, 198, .08), transparent 26rem),
    #080a0e;
}

.cove-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .28;
  background:
    repeating-linear-gradient(0deg, transparent 0 4.15rem, rgba(255,255,255,.018) 4.2rem 4.25rem),
    repeating-linear-gradient(90deg, transparent 0 8.2rem, rgba(255,255,255,.012) 8.25rem 8.3rem);
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.cove-hero {
  min-height: 92svh;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid rgba(210, 170, 98, .2);
  background:
    linear-gradient(90deg, rgba(4, 5, 8, .96), rgba(4, 5, 8, .54) 52%, rgba(4, 5, 8, .84)),
    radial-gradient(circle at 77% 31%, rgba(210, 170, 98, .14), transparent 23rem),
    radial-gradient(circle at 19% 88%, rgba(142, 182, 198, .11), transparent 26rem),
    linear-gradient(150deg, #080a0d 0%, #10161d 52%, #06080a 100%);
}

.cove-hero::before,
.cove-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.cove-hero::before {
  width: min(46rem, 46vw);
  height: 78%;
  right: -4rem;
  bottom: -16%;
  border: 1px solid rgba(210, 170, 98, .16);
  border-bottom: 0;
  border-radius: 24rem 24rem 0 0;
  box-shadow:
    0 0 0 1.3rem rgba(255,255,255,.018),
    0 0 0 1.38rem rgba(210,170,98,.08),
    inset 0 0 6rem rgba(0,0,0,.72);
}

.cove-hero::after {
  inset: 0;
  background:
    linear-gradient(112deg, transparent 0 62%, rgba(255,255,255,.018) 62.1% 62.3%, transparent 62.4%),
    linear-gradient(68deg, transparent 0 70%, rgba(255,255,255,.012) 70.1% 70.25%, transparent 70.4%);
  opacity: .7;
}

.cove-nav {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.cove-wordmark {
  display: inline-flex;
  flex-direction: column;
  gap: .25rem;
  color: var(--ink);
  text-decoration: none;
}

.cove-wordmark strong {
  font-family: var(--cove-gothic);
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  line-height: .82;
}

.cove-wordmark small {
  color: var(--cove-gold);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.cove-hero .home-hero-grid {
  position: relative;
  z-index: 2;
}

.cove-hero h1 {
  max-width: 7ch;
  font-family: var(--cove-gothic);
  font-size: clamp(5.2rem, 11vw, 11.8rem);
  line-height: .68;
  letter-spacing: -.02em;
}

.cove-hero h1 span {
  color: var(--cove-gold);
  -webkit-text-stroke: 0;
  text-shadow: 0 0 2rem rgba(210,170,98,.16);
}

.cove-room-label {
  max-width: 28ch;
  margin: clamp(1.5rem, 3vw, 2.6rem) 0 0;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
  line-height: 1.2;
  text-wrap: balance;
}

.cove-hero .home-lead {
  max-width: 56ch;
  color: #c9c5be;
  line-height: 1.75;
}

.cove-note {
  width: min(100%, 34rem);
  margin: clamp(2rem, 4vw, 3.4rem) 0 0 clamp(0rem, 4vw, 3.4rem);
  position: relative;
  padding: 1.4rem 1.6rem 1.55rem;
  transform: rotate(-.8deg);
  border: 1px solid rgba(74, 57, 40, .5);
  background:
    radial-gradient(circle at 87% 9%, rgba(116, 79, 48, .16), transparent 8rem),
    var(--cove-paper);
  color: var(--cove-paper-ink);
  box-shadow: 0 1.6rem 3.5rem rgba(0,0,0,.34);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}

.cove-note::after {
  content: "P.";
  width: 3rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: absolute;
  right: 1.15rem;
  bottom: -1rem;
  border-radius: 48% 52% 43% 57%;
  background:
    radial-gradient(circle at 40% 35%, rgba(255,255,255,.15), transparent 17%),
    radial-gradient(circle, #7a3033 0 42%, #552123 44% 64%, #361416 66% 100%);
  color: rgba(240,220,194,.62);
  font-family: var(--cove-gothic);
  font-size: 1.25rem;
  box-shadow: 0 .4rem .8rem rgba(0,0,0,.38);
}

.cove-note p {
  margin: 0 0 .65rem;
}

.cove-note p:last-child {
  margin-bottom: 0;
  font-style: italic;
}

.cove-cover-stage {
  position: relative;
}

.cove-cover-stage::before {
  content: "";
  position: absolute;
  inset: -2rem -1.5rem -1.2rem;
  z-index: -1;
  border: 1px solid rgba(210,170,98,.19);
  border-radius: 17rem 17rem .25rem .25rem / 10rem 10rem .25rem .25rem;
  background:
    radial-gradient(circle at 50% 10%, rgba(210,170,98,.08), transparent 14rem),
    linear-gradient(180deg, #151b22, #090b0f);
  box-shadow:
    0 0 0 .8rem rgba(255,255,255,.015),
    inset 0 0 5rem rgba(0,0,0,.65);
}

.cove-cover-stage img {
  transform: rotate(.55deg);
  box-shadow: 0 2rem 5rem rgba(0,0,0,.65);
}

.cove-cover-stage figcaption::before {
  content: "Beyond this frame · ";
  color: var(--cove-gold);
}

.cove-page .home-section,
.cove-page .home-featured,
.cove-page .home-thanks,
.cove-page .home-final-cta {
  position: relative;
}

.cove-page .home-introduction {
  background:
    radial-gradient(circle at 12% 20%, rgba(210,170,98,.07), transparent 22rem),
    linear-gradient(180deg, rgba(15,19,24,.72), rgba(7,9,12,.28));
}

.cove-page .home-section-heading h2,
.cove-page .home-featured-heading h2,
.cove-page .home-thanks h2,
.cove-page .home-final-cta h2 {
  text-wrap: balance;
}

.cove-page .home-intro-lead::first-letter {
  color: var(--cove-gold);
  font-family: var(--cove-gothic);
  font-size: 2.25em;
  line-height: .7;
}

/* The sanctuary is the small room beside the Guest Entrance. */
.cove-page .status-sanctuary {
  width: min(calc(100% - 2rem), 104rem);
  margin: clamp(2rem, 5vw, 5rem) auto clamp(5rem, 10vw, 10rem);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 9rem) clamp(1.2rem, 5vw, 5rem) clamp(4.5rem, 8vw, 7rem);
  border: 1px solid rgba(210,170,98,.22);
  border-top: 0;
  border-radius: 24rem 24rem .35rem .35rem / 8rem 8rem .35rem .35rem;
  background:
    radial-gradient(circle at 14% 18%, rgba(210,170,98,.14), transparent 14rem),
    radial-gradient(circle at 86% 20%, rgba(210,170,98,.12), transparent 14rem),
    radial-gradient(circle at 50% 88%, rgba(142,182,198,.08), transparent 24rem),
    repeating-linear-gradient(90deg, transparent 0 9rem, rgba(255,255,255,.014) 9.05rem 9.1rem),
    linear-gradient(180deg, #171c21 0%, #0b0e12 44%, #080a0d 100%);
  box-shadow:
    inset 0 2rem 5rem rgba(0,0,0,.42),
    0 2.5rem 6rem rgba(0,0,0,.28);
  scroll-margin-top: 1.5rem;
}

.cove-page .status-sanctuary::before {
  content: "";
  position: absolute;
  inset: .9rem;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.045);
  border-top: 0;
  border-radius: 22rem 22rem 0 0 / 7rem 7rem 0 0;
  pointer-events: none;
}

.cove-page .status-sanctuary::after {
  content: "SANCTUARY · WAX LEDGER · PLEASE DO NOT REMOVE THE SEALS";
  position: absolute;
  left: 50%;
  top: 1.35rem;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 3rem);
  color: rgba(210,170,98,.72);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .17em;
  text-align: center;
}

.cove-page .status-legend-heading {
  position: relative;
  z-index: 2;
}

.cove-page .status-legend-heading h2 {
  max-width: 8ch;
  color: var(--ink);
  text-shadow: 0 0 2rem rgba(210,170,98,.11);
}

.cove-page .status-legend-heading > p:last-child {
  color: #d1ccc3;
}

.cove-page .status-legend-grid {
  position: relative;
  z-index: 2;
  gap: clamp(1rem, 3vw, 2.2rem);
}

.cove-page .status-legend-card {
  min-height: 25rem;
  position: relative;
  overflow: hidden;
  border-color: rgba(210,170,98,.16);
  border-radius: 9rem 9rem .2rem .2rem / 4.7rem 4.7rem .2rem .2rem;
  background:
    radial-gradient(circle at 50% 21%, rgba(210,170,98,.07), transparent 10rem),
    linear-gradient(180deg, #12171d, #07090c 72%);
  box-shadow:
    inset 0 0 2.8rem rgba(0,0,0,.54),
    0 1.2rem 2.5rem rgba(0,0,0,.2);
}

.cove-page .status-legend-card::before {
  content: "";
  position: absolute;
  inset: .55rem;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: inherit;
  pointer-events: none;
}

.cove-page .status-legend-card img {
  width: min(100%, 11rem);
  position: relative;
  z-index: 1;
}

.cove-page .status-legend-card h3,
.cove-page .status-legend-card p {
  position: relative;
  z-index: 1;
}

.cove-page .status-sanctuary-note {
  max-width: 76ch;
  margin: clamp(2rem, 5vw, 4rem) auto 0;
  position: relative;
  z-index: 2;
  padding: 1.2rem 1.4rem;
  border-left: 2px solid rgba(210,170,98,.45);
  background: rgba(5,7,10,.5);
  color: #bbb6ad;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.02rem;
  line-height: 1.65;
}

.cove-page .home-featured {
  background:
    radial-gradient(circle at 80% 28%, rgba(142,182,198,.07), transparent 24rem),
    #080a0d;
}

.cove-page .home-art-frame {
  box-shadow: inset 0 0 2rem rgba(0,0,0,.45);
}

.cove-page .home-journey {
  background:
    linear-gradient(90deg, transparent, rgba(210,170,98,.035), transparent);
}

.cove-page .home-steps li {
  border-color: rgba(210,170,98,.16);
}

.cove-page .home-thanks {
  background:
    radial-gradient(circle at 12% 20%, rgba(210,170,98,.055), transparent 22rem),
    linear-gradient(180deg, #0d1116, #080a0d);
}

.cove-page .home-thanks-disclosure {
  border-color: rgba(210,170,98,.16);
}

.cove-final {
  background:
    radial-gradient(circle at 50% 38%, rgba(210,170,98,.1), transparent 23rem),
    linear-gradient(180deg, #0c1015, #06080a);
}

.cove-final::before {
  content: "";
  width: min(32rem, 70vw);
  height: 12rem;
  position: absolute;
  left: 50%;
  top: 1.5rem;
  transform: translateX(-50%);
  border: 1px solid rgba(210,170,98,.13);
  border-bottom: 0;
  border-radius: 18rem 18rem 0 0;
  pointer-events: none;
}

.cove-final p:not(.kicker) {
  max-width: 44ch;
  margin-inline: auto;
  color: #bbb6ad;
}

.cove-footer {
  border-top-color: rgba(210,170,98,.18);
}

@media (max-width: 900px) {
  .cove-hero::before {
    width: 70vw;
    right: -26vw;
    opacity: .7;
  }

  .cove-note {
    margin-left: 0;
  }

  .cove-page .status-sanctuary {
    border-radius: 15rem 15rem .3rem .3rem / 5rem 5rem .3rem .3rem;
  }

  .cove-page .status-legend-card {
    min-height: 0;
    border-radius: 5rem .2rem .2rem 5rem / 3rem .2rem .2rem 3rem;
  }
}

@media (max-width: 680px) {
  .cove-wordmark small {
    display: none;
  }

  .cove-hero {
    min-height: auto;
  }

  .cove-hero h1 {
    font-size: clamp(4.4rem, 23vw, 7rem);
  }

  .cove-cover-stage::before {
    inset: -1rem -.7rem -.8rem;
  }

  .cove-page .status-sanctuary {
    width: calc(100% - 1rem);
    padding-inline: .8rem;
    border-radius: 9rem 9rem .2rem .2rem / 3.2rem 3.2rem .2rem .2rem;
  }

  .cove-page .status-sanctuary::after {
    top: 1rem;
    font-size: .52rem;
    letter-spacing: .11em;
  }

  .cove-page .status-legend-card {
    border-radius: 4rem .2rem .2rem 4rem / 2.6rem .2rem .2rem 2.6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media (forced-colors: active) {
  .cove-hero::before,
  .cove-cover-stage::before,
  .cove-page .status-sanctuary::before,
  .cove-final::before {
    display: none;
  }
}
