/* Cofus poster v2
   Uses container-relative units so typography scales with the poster itself,
   not with the browser window. This prevents desktop overlap. */

:root {
  --paper: #efe5d3;
  --ink: #11100e;
  --line: rgba(17,16,14,.28);
  --button: #24211d;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
}

body {
  min-height: 100svh;
  display: grid;
  place-items: center;
  background: #d8cdbd;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", Times, serif;
  overflow: auto;
}

.poster {
  container-type: inline-size;
  position: relative;
  width: min(92vw, 92vh, 1254px);
  aspect-ratio: 1 / 1;
  flex: none;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 48% 43%, rgba(255,255,255,.34), transparent 38%),
    radial-gradient(circle at 12% 12%, rgba(255,255,255,.14), transparent 26%),
    radial-gradient(circle at 84% 80%, rgba(92,70,43,.07), transparent 28%),
    repeating-radial-gradient(circle at 25% 32%,
      rgba(50,38,26,.018) 0 0.7px,
      transparent 0.8px 3px),
    var(--paper);
  box-shadow:
    0 18px 60px rgba(54,42,28,.10),
    inset 0 0 90px rgba(60,45,28,.05);
}

.poster::before {
  content: "";
  position: absolute;
  inset: 8.6%;
  border: 1px solid rgba(17,16,14,.20);
  pointer-events: none;
}

/* top ornament */
.ornament {
  position: absolute;
  top: 10.6%;
  right: 12.3%;
  display: flex;
  align-items: center;
  gap: 0.7cqw;
  opacity: .62;
}
.ornament span,
.mini-ornament span {
  display: block;
  width: 3.3cqw;
  height: 1px;
  background: var(--line);
}
.ornament i,
.mini-ornament i {
  width: .55cqw;
  height: .55cqw;
  min-width: 4px;
  min-height: 4px;
  display: block;
  border-radius: 50%;
  background: var(--ink);
}

/* headline */
.headline {
  position: absolute;
  left: 13.1%;
  top: 11.4%;
  width: 49%;
}

h1 {
  margin: 0;
  font-weight: 400;
  font-size: 8.15cqw;
  line-height: .92;
  letter-spacing: -.058em;
}

h1 span { display: block; }

.handline {
  width: 70%;
  height: .85cqw;
  margin-top: 1.0cqw;
  border-top: .24cqw solid var(--ink);
  border-radius: 50%;
  transform: rotate(-1.4deg);
}

/* publish button + cursor */
.publish-area {
  position: absolute;
  left: 45.0%;
  top: 64.1%;
  width: 25.5%;
  height: 16%;
}

.publish-button {
  width: 100%;
  padding: 1.55cqw 1.2cqw 1.65cqw;
  border: .09cqw solid #0c0b09;
  border-radius: .9cqw;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.13)),
    var(--button);
  color: #efe6d6;
  font: 400 3.35cqw/1 Georgia, "Times New Roman", serif;
  box-shadow:
    0 1.1cqw 1.55cqw rgba(29,20,12,.18),
    inset 0 .08cqw rgba(255,255,255,.14),
    inset 0 -.08cqw rgba(0,0,0,.45);
}

.cursor {
  position: absolute;
  left: 57%;
  top: 52%;
  width: 4.2cqw;
  height: 6.5cqw;
  filter: drop-shadow(.75cqw .85cqw .55cqw rgba(24,18,12,.22));
  transform: rotate(-10deg);
}

.cursor::before {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(7% 0, 100% 64%, 65% 69%, 81% 100%, 64% 100%, 48% 72%, 20% 100%);
  background: #151310;
}

.cursor::after {
  content: "";
  position: absolute;
  inset: .18cqw;
  clip-path: polygon(7% 0, 100% 64%, 65% 69%, 81% 100%, 64% 100%, 48% 72%, 20% 100%);
  background: linear-gradient(#f0e8db,#cfc5b5);
  z-index: -1;
}

/* lower copy */
.statement {
  position: absolute;
  left: 13.0%;
  bottom: 12.7%;
  margin: 0;
  font-size: 1.66cqw;
  line-height: 1.22;
  letter-spacing: -.02em;
}

.statement em { font-style: italic; }

/* brand */
.brand {
  position: absolute;
  right: 11.8%;
  bottom: 10.2%;
  width: 18.3%;
  text-align: left;
}

.brand-name {
  font-size: 2.16cqw;
  letter-spacing: .24em;
  white-space: nowrap;
}

.tagline {
  margin-top: .32cqw;
  font-size: 1.18cqw;
  font-style: italic;
  white-space: nowrap;
}

.mini-ornament {
  display: flex;
  align-items: center;
  gap: .55cqw;
  margin: .78cqw 0 .75cqw;
}
.mini-ornament span { width: 2.9cqw; }
.mini-ornament i { width: .48cqw; height: .48cqw; }

.brand a {
  color: inherit;
  text-decoration: none;
  font-size: 1.12cqw;
  letter-spacing: .15em;
  white-space: nowrap;
}

/* Small-screen fallback */
@media (max-width: 520px) {
  body {
    min-height: 100svh;
    place-items: start center;
    background: var(--paper);
  }

  .poster {
    width: 100vw;
    max-width: none;
    box-shadow: none;
  }
}
