/* R04 foundations. Values from v0047 observations; no legacy stylesheet imported. */
:root {
  --canvas: #060606;
  --paper: #f0ece4;
  --amber: #c97d2a;
  --gold: #e8a83e;
  --frame: 1000px;
  --gutter: var(--section-space);
  /* One rhythm token controls the approved vertical breathing room. */
  --section-space: 52px;
  --heading-gap: 14px;
  --inner-space: 38px;
  --media-gap: 20px;
  --label-font: 'Montserrat', Arial, sans-serif;
  --title-font: 'Bebas Neue', sans-serif;
  --body-font: 'Lato', sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--canvas); scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: geometricPrecision; }
body { background: var(--canvas); color: var(--paper); font-family: var(--body-font); overflow-x: hidden; }
body::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9990; opacity: .3;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}
img { display: block; max-width: 100%; }
iframe { display: block; border: 0; }
a { cursor: pointer; }
.site { width: 100%; max-width: var(--frame); margin-inline: auto; }
.section {
  position: relative; isolation: isolate; overflow: hidden;
  padding: 0 var(--gutter) var(--section-space);
}
.section::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background-repeat: no-repeat; background-size: cover; background-position: center;
  pointer-events: none;
}
.section-heading {
  width: 100%;
  padding-block: var(--section-space);
  grid-column: 1 / -1;
}
.section-heading__label {
  font: 700 .65rem/1.2 var(--label-font); letter-spacing: .45em;
  text-transform: uppercase; color: var(--amber); margin-bottom: var(--heading-gap);
  text-shadow: 0 2px 8px rgb(0 0 0 / .45);
}
.section-heading__title {
  font: 400 clamp(2.8rem, 6vw, 5rem)/1 var(--title-font);
  letter-spacing: .05em; text-transform: uppercase;
  text-shadow: 0 2px 8px rgb(0 0 0 / .45);
}
.section-divider { height: 1px; background: linear-gradient(to right, transparent, #b8832f, transparent); opacity: .25; }
.inner-divider {
  height: 1px; width: 85%; margin: var(--inner-space) auto; opacity: .95;
  background: linear-gradient(90deg, transparent, rgb(201 145 58 / .92) 10%, rgb(201 145 58 / .92) 90%, transparent);
}
