:root {
  /* Warm-neutral base (editorial), teal kept as a secondary accent */
  --ink:#050504;
  --deep:#0c0b09;
  --deep-2:#15130f;
  --deep-3:#201c16;
  --teal:#0b747d;
  --cyan:#30b9c1;
  --gold:#c5a56a;
  --gold-soft:#ead2a0;
  --cream:#f2efe7;
  --paper:#eee9df;
  --muted:#a39e94;
  --muted-2:#7a736a;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.23);
  --header:76px;
  --container:94rem;
  --ease:cubic-bezier(.22,1,.36,1);

  /* Type system (mirrors the editorial reference) */
  --font-body:"Manrope",ui-sans-serif,system-ui,-apple-system,
    BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"DM Sans",ui-sans-serif,system-ui,-apple-system,
    BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
}

*,
*::before,
*::after {
  box-sizing:border-box;
}

html {
  background:var(--deep);
  scroll-behavior:smooth;
  scroll-padding-top:90px;
}

body {
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  background:var(--deep);
  color:var(--cream);
  font-family:var(--font-body);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.menu-open {
  overflow:hidden;
}

img {
  display:block;
  max-width:100%;
}

a {
  color:inherit;
  text-decoration:none;
}

button,
input,
select,
textarea {
  font:inherit;
}

button {
  color:inherit;
}

::selection {
  background:var(--gold);
  color:var(--ink);
}

:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:4px;
}

.container {
  width:min(
    calc(100% - 2rem),
    var(--container)
  );
  margin-inline:auto;
}

.section {
  position:relative;
  z-index:8;
  padding-block:
    clamp(6rem,10vw,11rem);
}

.surface {
  background:var(--deep);
}

.dark {
  background:var(--ink);
}

.eyebrow {
  margin:0;
  color:var(--gold);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.21em;
  line-height:1.5;
  text-transform:uppercase;
}

.display {
  margin:0;
  font-family:var(--font-display);
  font-size:
    clamp(3.5rem,8vw,9rem);
  font-weight:500;
  letter-spacing:-.066em;
  line-height:.89;
  text-wrap:balance;
}

.section-title {
  margin:0;
  font-family:var(--font-serif);
  font-size:
    clamp(2.8rem,5.8vw,6.4rem);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1;
  text-wrap:balance;
}

.section-title--wide {
  max-width:72rem;
  margin-top:18px;
}

.gold {
  color:var(--gold);
}

/* Editorial signature: accent words render as italic serif in soft gold */
.display .gold,
.section-title .gold {
  font-family:var(--font-serif);
  font-style:italic;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--gold-soft);
}

.copy {
  max-width:46rem;
  margin:0;
  color:var(--muted);
  font-size:
    clamp(.98rem,1.25vw,1.16rem);
  line-height:1.78;
}

.copy--small {
  font-size:.96rem;
}

.button-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.button {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  border:1px solid transparent;
  padding:0 23px;
  cursor:pointer;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:
    background .28s ease,
    border-color .28s ease,
    color .28s ease;
}

.button--gold {
  border-color:var(--gold);
  background:var(--gold);
  color:var(--ink);
}

.button--gold:hover {
  border-color:var(--cream);
  background:var(--cream);
}

.button--glass {
  border-color:var(--line-strong);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(14px);
}

.button--glass:hover {
  background:rgba(255,255,255,.11);
}

.button--dark {
  background:var(--ink);
  color:white;
}

.tag-row {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.tag-row > span {
  display:inline-flex;
  align-items:center;
  min-height:29px;
  border:1px solid var(--line);
  padding:6px 9px;
  color:rgba(255,255,255,.6);
  font-size:.57rem;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.split {
  display:grid;
  gap:3rem;
  align-items:end;
}

.about-copy .copy + .copy {
  margin-top:20px;
}

.about-copy .tag-row {
  margin-top:27px;
}

.section-heading {
  display:grid;
  gap:2rem;
  align-items:end;
}

#scroll-progress {
  position:fixed;
  z-index:30000;
  top:0;
  left:0;
  width:100%;
  height:2px;
  transform:scaleX(0);
  transform-origin:left center;
  background:
    linear-gradient(
      90deg,
      var(--gold),
      var(--cream)
    );
  pointer-events:none;
}

@media (min-width:720px) {
  .split {
    grid-template-columns:
      1fr
      1.06fr;
  }
}

@media (min-width:980px) {
  .section-heading {
    grid-template-columns:
      1fr
      .75fr;
  }
}

@media (max-width:767px) {
  :root {
    --header:68px;
  }

  .container {
    width:min(
      calc(100% - 1.3rem),
      var(--container)
    );
  }

  .display {
    font-size:
      clamp(3.1rem,15vw,5.8rem);
  }

  .section-title {
    font-size:
      clamp(2.5rem,11vw,4.7rem);
  }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
