:root {
  color-scheme: light;
  font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  background: #f3f0e9;
  color: #202c28;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }

html { min-height: 100%; }

body {
  min-width: 320px;
  min-height: 100svh;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 85% 36%, #f9e3ca 0, transparent 43%),
    radial-gradient(circle at 12% 92%, #e3e8dc 0, transparent 42%),
    #f3f0e9;
}

body::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background-image: linear-gradient(#44534b0a 1px, transparent 1px), linear-gradient(90deg, #44534b0a 1px, transparent 1px);
  background-size: 44px 44px;
  content: "";
  mask-image: linear-gradient(90deg, transparent 22%, #000 100%);
  pointer-events: none;
}

.page {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 64px);
}

.masthead, .footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.masthead { animation: settle-in .8s .12s both; }

.wordmark {
  color: inherit;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -.055em;
  text-decoration: none;
}

.wordmark:focus-visible {
  outline: 2px solid #ac4f37;
  outline-offset: 6px;
}

.wordmark-dot, .accent { color: #b45c3b; }

.status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #58635c;
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.status::before {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: #ba6445;
  box-shadow: 0 0 0 5px #ba64451c;
  content: "";
}

.intro {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 1160px);
  padding: 94px 0 112px;
}

.eyebrow {
  margin: 0 0 32px;
  color: #87513f;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  animation: settle-in .85s .34s both;
}

h1 {
  margin: 0;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: clamp(4.2rem, 8.7vw, 9.1rem);
  font-weight: 400;
  letter-spacing: -.066em;
  line-height: .99;
}

.title-line {
  display: block;
  overflow: hidden;
  padding: .08em .06em .12em 0;
  margin: -.08em -.06em -.12em 0;
}

.title-line > span {
  display: block;
  transform-origin: 50% 100%;
  animation: title-rise 1.2s cubic-bezier(.19, 1, .22, 1) both;
}

.title-line:first-child > span { animation-delay: .48s; }
.title-line:nth-child(2) > span { animation-delay: .65s; }

.description {
  max-width: 440px;
  margin: 38px 0 0;
  color: #5c6961;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.65;
  animation: settle-in .9s .94s both;
}

.footer {
  position: relative;
  padding-top: 22px;
  color: #68756c;
  font-size: .82rem;
  animation: settle-in .9s 1.08s both;
}

.footer::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #b8beb2;
  content: "";
  transform-origin: left;
  animation: line-draw 1s 1.02s both;
}

.scene {
  position: fixed;
  z-index: 0;
  top: 50%;
  right: -11vw;
  width: min(68vw, 920px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  perspective: 1100px;
  pointer-events: none;
  animation: scene-arrive 1.7s cubic-bezier(.19, 1, .22, 1) both;
}

.scene-glow {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  background: radial-gradient(circle, #e3b77b40 0, #e7b47c24 34%, transparent 68%);
  filter: blur(30px);
  animation: glow-breathe 7s ease-in-out infinite alternate;
}

.sculpture {
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  transform-style: preserve-3d;
  animation: sculpture-turn 24s linear infinite;
}

.sculpture-ring {
  position: absolute;
  border: clamp(8px, 1.1vw, 15px) solid #8b745d;
  border-radius: 50%;
  box-shadow:
    inset 3px 6px 8px #fff8e999,
    inset -8px -10px 13px #503b3559,
    12px 23px 28px #5f4b3733,
    -4px -6px 12px #fff4dfb0;
  backface-visibility: visible;
}

.sculpture-ring-outer {
  inset: 2%;
  transform: rotateY(68deg) rotateX(27deg);
  border-color: #a88d6f;
}

.sculpture-ring-middle {
  inset: 14%;
  transform: rotateX(72deg) rotateZ(28deg) translateZ(34px);
  border-color: #b36f52;
}

.sculpture-ring-inner {
  inset: 25%;
  transform: rotateY(-54deg) rotateX(38deg) translateZ(-24px);
  border-color: #727e72;
}

.sculpture-axis {
  position: absolute;
  top: 49.8%;
  left: 5%;
  width: 90%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #9b71546b, transparent);
  transform: rotateZ(-30deg) translateZ(-35px);
}

.sculpture-core {
  position: absolute;
  inset: 39%;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #fff1c9 0, #d48d60 27%, #9a543b 62%, #50352d 100%);
  box-shadow: inset -11px -18px 20px #42251f70, 15px 22px 25px #58453663, -8px -9px 22px #ffebcb;
  transform: translateZ(72px);
}

@keyframes sculpture-turn {
  from { transform: rotateX(12deg) rotateY(0deg) rotateZ(-16deg); }
  to { transform: rotateX(12deg) rotateY(360deg) rotateZ(-16deg); }
}

@keyframes scene-arrive {
  from { opacity: 0; transform: translateY(-45%) scale(.72) rotate(-16deg); filter: blur(14px); }
  to { opacity: .82; transform: translateY(-50%) scale(1) rotate(0); filter: blur(0); }
}

@keyframes glow-breathe {
  from { opacity: .65; transform: scale(.88); }
  to { opacity: 1; transform: scale(1.08); }
}

@keyframes title-rise {
  from { opacity: 0; transform: translate3d(0, 112%, -90px) rotateX(-18deg); filter: blur(8px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotateX(0); filter: blur(0); }
}

@keyframes settle-in {
  from { opacity: 0; transform: translate3d(0, 22px, 0); filter: blur(5px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}

@keyframes line-draw {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (max-width: 760px) {
  .page { padding: 24px; }
  .scene { width: 100vw; right: -43vw; top: 39%; opacity: .45; }
  .intro { padding: 96px 0 110px; }
  h1 { font-size: clamp(3.1rem, 11.4vw, 5.6rem); }
  .eyebrow { max-width: 260px; line-height: 1.6; }
  .description { max-width: 330px; }
}

@media (max-width: 440px) {
  .status { max-width: 110px; text-align: right; font-size: .62rem; line-height: 1.4; }
  .status::before { display: none; }
  .scene { right: -52vw; top: 35%; }
  h1 { font-size: clamp(2.7rem, 11.4vw, 3.2rem); }
  .description { margin-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
  }
}
