@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/cormorant-300.woff2) format('woff2');
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/archivoblack-caps.woff2) format('woff2');
}
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/barlowsemicond-caps.woff2) format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/0365c557.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/fe99e303.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/0365c557.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/fe99e303.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/plexmono-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/plexmono-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plexmono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/plexmono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
a, button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
html { background: #e8e2d2; color-scheme: light; min-height: 100dvh; overscroll-behavior-y: none; overflow-x: clip; }
::selection { background: var(--accent-mute); color: var(--bg); }
::-moz-selection { background: var(--accent-mute); color: var(--bg); }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--cream);
  outline-offset: 3px;
}
@media (hover: none) {
  a:active, button:active { opacity: 0.6; }
}
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: #e8e2d2; }
::-webkit-scrollbar-thumb { background: rgba(20, 18, 15, 0.28); }
::-webkit-scrollbar-thumb:hover { background: #645e51; }
* { scrollbar-width: thin; scrollbar-color: rgba(20, 18, 15, 0.28) #e8e2d2; }
:root {
  --paper-soft: #08090a;
  --ink:      #e3dccb;
  --ink-soft: #b5ac98;
  --leaf-seams: linear-gradient(91deg,
    rgba(110, 94, 58, 0.024) 0 26.4%,
    rgba(110, 94, 58, 0.052) 26.4% 26.58%,
    rgba(110, 94, 58, 0.019) 26.58% 58.9%,
    rgba(110, 94, 58, 0.048) 58.9% 59.08%,
    rgba(110, 94, 58, 0.026) 59.08% 82.7%,
    rgba(110, 94, 58, 0.046) 82.7% 82.88%,
    rgba(110, 94, 58, 0.018) 82.88% 100%);
  --accent:       #c9a96e;
  --accent-soft:   rgba(201, 169, 110, 0.5);
  --accent-mute:  #a89f8c;
  --rule:       rgba(201, 169, 110, 0.18);
  --rule-faint: rgba(201, 169, 110, 0.08);
  --mute:      #9d9480;
  --mute-body: #a9a08d;
  --bg:         var(--paper-soft);
  --gold:       var(--accent);
  --gold-sig:   var(--accent);
  --gold-soft:  var(--accent-soft);
  --gold-line:  var(--rule);
  --gold-faint: var(--rule-faint);
  --cream:      var(--ink);
  --cream-soft: var(--ink-soft);
  --muted:      var(--mute);
  --body:       var(--mute-body);
  --font-display: 'Cormorant', 'Cormorant Garamond', serif;
  --font-body:    -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;
  --serif:   'Cormorant Garamond', Georgia, serif;
  --sans:    var(--font-mono);
  --display: 'Archivo Black', -apple-system, sans-serif;
  --mono:    var(--font-mono);
  --caption: var(--font-mono);
  --text-2xs:     var(--step--2);
  --text-xs:      var(--step--1);
  --text-sm:      clamp(0.85rem, 0.82rem + 0.12vw, 0.95rem);
  --text-base:    var(--step-0);
  --text-lg:      var(--step-1);
  --text-xl:      var(--step-3);
  --text-display: var(--step-5);
  --text-billboard: clamp(5rem, 14vw, 13rem);
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-7:  1.75rem;
  --space-8:  2rem;
  --space-9:  2.25rem;
  --space-10: 2.5rem;
  --space-11: 2.75rem;
  --space-12: 3rem;
  --text-value: clamp(1.15rem, 1.5vw, 1.32rem);
  --w-prose: 460px;
  --w-text: 65ch;
  --w-wide: 1200px;
  --display-frontis: clamp(4.4rem, 15vw, 14rem);
  --display-quote:   clamp(2.2rem, 6vw, 5rem);
  --step--2: clamp(0.64rem, 0.61rem + 0.12vw, 0.72rem);
  --step--1: clamp(0.80rem, 0.77rem + 0.15vw, 0.90rem);
  --step-0:  clamp(1.00rem, 0.96rem + 0.19vw, 1.125rem);
  --step-1:  clamp(1.25rem, 1.20rem + 0.24vw, 1.41rem);
  --step-2:  clamp(1.56rem, 1.50rem + 0.30vw, 1.76rem);
  --step-3:  clamp(1.95rem, 1.87rem + 0.38vw, 2.20rem);
  --step-4:  clamp(2.44rem, 2.34rem + 0.47vw, 2.75rem);
  --step-5:  clamp(3.05rem, 2.92rem + 0.59vw, 3.43rem);
  --step-6:  clamp(3.82rem, 3.65rem + 0.73vw, 4.29rem);
  --tracking-tightest: -0.04em;
  --tracking-tighter:  -0.025em;
  --tracking-tight:    -0.015em;
  --tracking-normal:    0;
  --tracking-snug:      0.07em;
  --tracking-caps:      0.15em;
  --tracking-wide:      0.18em;
  --tracking-wider:     0.3em;
  --tracking-loose:     0.4em;
  --tracking-looser:    0.5em;
  --display-mono-size:  clamp(1.1rem, 2.2vw, 1.6rem);
  --display-mono-track: 0.14em;
  --statute-size:       clamp(1.05rem, 1.8vw, 1.4rem);
  --leading-flat:     0.85;
  --leading-headline: 1.0;
  --leading-tight:    1.15;
  --leading-snug:     1.3;
  --leading-normal:   1.5;
  --leading-relaxed:  1.7;
  --leading-reading:  1.75;
  --leading-loose:    1.85;
  --feat-smcp: 'c2sc' 1, 'smcp' 1;
  --ease:  cubic-bezier(0.16, 1, 0.3, 1);
  --dur-s: 400ms;
  --dur-m: 900ms;
  --dur-l: 2400ms;
  --section-y: clamp(9rem, 11vw, 13rem);
}
.section-eyebrow,
.hero-meta-coords,
.pillar-num,
.pillar-arrow,
.footer-copy,
.back-link {
  font-family: var(--caption);
}
.section-eyebrow,
.pillar-arrow,
.footer-copy,
.back-link {
  font-variant-caps: all-small-caps;
  font-feature-settings: var(--feat-smcp);
}
.hero-mega,
h2.section-title,
.pillar-title,
.plate__title,
.statement-text {
  text-wrap: balance;
}
html, body { min-height: 100dvh; scroll-behavior: smooth; }
@media (min-width: 901px) {
  body::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 300px 300px;
    opacity: 0.03;
    mix-blend-mode: overlay;
  }
}
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(64px, 9vh, 104px);
  z-index: 95;
  pointer-events: none;
  -webkit-backdrop-filter: blur(11px);
  backdrop-filter: blur(11px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 32%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 32%, transparent 100%);
}
body {
  background: var(--bg);
  color: var(--cream);
  font-family: var(--font-mono);
  font-weight: 400;
  line-height: var(--leading-relaxed);
  font-feature-settings: 'kern' 1, 'liga' 1, 'clig' 1;
  font-variant-numeric: lining-nums proportional-nums;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  opacity: 1;
}
.js-ready body { animation: page-in 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
@keyframes page-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.atmosphere {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(ellipse 70% 85% at 65% 42%, rgba(201, 169, 110, 0.055) 0%, transparent 70%),
    radial-gradient(ellipse 50% 60% at 20% 75%, rgba(232, 201, 138, 0.03) 0%, transparent 70%);
}
.loader {
  position: fixed;
  inset: 0;
  background: #e8e2d2;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.loader.out { opacity: 0; }
.loader-g {
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 1.1s ease, transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.loader-g img {
  width: clamp(140px, 24vmin, 220px);
  height: auto;
  display: block;
  filter:
    drop-shadow(-1px -1px 0.5px rgba(232, 201, 138, 0.25))
    drop-shadow(1px 1.5px 1.5px rgba(0, 0, 0, 0.5));
}
.loader-g.in { opacity: 1; transform: scale(1); }
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding-inline: max(var(--space-5), env(safe-area-inset-left, 0px));
  position: relative;
  z-index: 3;
}
.container-narrow {
  max-width: 760px;
  margin: 0 auto;
  padding-inline: max(var(--space-5), env(safe-area-inset-left, 0px));
  position: relative;
  z-index: 3;
}
.container--wide { max-width: var(--w-wide); }
@media (min-width: 768px) {
  .container { padding-inline: max(var(--space-12), env(safe-area-inset-left, 0px)); }
  .container-narrow { padding-inline: max(var(--space-8), env(safe-area-inset-left, 0px)); }
}
.nav-logo {
  position: fixed;
  top: 1.2rem;
  left: 1.2rem;
  z-index: 100;
  text-decoration: none;
  cursor: default;
}
.hero .nav-logo {
  position: absolute;
  top: clamp(1.5rem, 4vh, 3rem);
  left: 50%;
  transform: translateX(-50%);
}
.nav-logo-img {
  height: 88px;
  width: auto;
  display: block;
}
.hero .nav-logo-img {
  filter:
    drop-shadow(-1px -1px 0.5px rgba(232, 201, 138, 0.25))
    drop-shadow(1px 1.5px 1.5px rgba(0, 0, 0, 0.5))
    drop-shadow(0 0 0 rgba(201, 169, 110, 0));
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hero .nav-logo-img {
    transition: transform var(--dur-s) var(--ease), filter var(--dur-s) var(--ease);
  }
  .hero .nav-logo:hover .nav-logo-img {
    transform: scale(1.03);
    filter:
      drop-shadow(-1px -1px 0.5px rgba(232, 201, 138, 0.25))
      drop-shadow(1px 1.5px 1.5px rgba(0, 0, 0, 0.5))
      drop-shadow(0 0 14px rgba(201, 169, 110, 0.4));
  }
}
a[href], button { cursor: pointer; }
body.has-cursor-ring .pillars-section, body.has-cursor-ring .pillars-section * { cursor: none; }
.mono-bg-word,
.hero-meta-coords,
.footer-colophon,
.footer-devise,
.footer-mark-mega,
.pillar-plate,
.pillar-edition,
.section-eyebrow {
  cursor: default;
  user-select: none;
}
#cursor-ring {
  position: fixed;
  top: 0; left: 0;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(28, 25, 21, 0.45);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  will-change: transform, opacity;
  opacity: 0;
}
.hero {
  min-height: 100vh;
  min-height: calc(var(--svh, 1svh) * 100);
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0;
}
.hero-bottom {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 6rem 1.5rem 4rem;
  position: relative;
  z-index: 3;
}
@media (min-width: 901px) {
  .hero-bottom {
    justify-content: flex-end;
    align-items: flex-start;
    text-align: left;
    padding: 6rem clamp(2rem, 6vw, 5.5rem) clamp(3.5rem, 9vh, 6rem);
  }
}
.hero-mega {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 400;
  font-size: var(--display-frontis);
  line-height: 0.84;
  color: var(--cream);
  letter-spacing: -0.032em;
  margin: 0;
}
.hero-mega .gold {
  font-family: var(--serif);
  color: var(--gold);
  font-style: italic;
}
.hero-subtitle {
  font-family: var(--font-mono);
  font-size: var(--step--1);
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: var(--cream-soft);
  margin-top: 0.3rem;
  max-width: 540px;
}
.hero-meta-coords {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.16em;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 1.25rem;
}
.bg-monogram {
  position: absolute;
  font-family: var(--display);
  font-weight: 900;
  font-size: 90vh;
  color: rgba(201,169,110,0.025);
  line-height: 0.7;
  pointer-events: none;
  z-index: 1;
  user-select: none;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}
.bg-monogram.tl { top: -10vh; left: -5vw; }
section {
  padding: var(--section-y) 0;
  position: relative;
}
.section-eyebrow {
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-looser);
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 2rem;
  text-align: left;
}
h2.section-title {
  font-family: var(--mono);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.45rem, 3vw, 2.4rem);
  text-transform: uppercase;
  text-align: left;
  color: var(--cream);
  margin-bottom: 3.5rem;
  line-height: 1.4;
  max-width: 900px;
  margin-left: 0;
  margin-right: auto;
  letter-spacing: var(--display-mono-track);
}
h2.section-title em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: #6e5e3a;
}
.manifesto-section {
  padding: var(--section-y) 0;
  position: relative;
}
.manifesto-term {
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--cream);
}
.mono-bg-word {
  position: absolute;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(4rem, 18vw, 16rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  line-height: 1;
  color: rgba(255, 255, 255, 0.05);
  user-select: none;
  pointer-events: none;
  z-index: 0;
  top: 1.5rem;
  left: -2vw;
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 78%, transparent 100%);
}
@media (max-width: 767px) {
  .mono-bg-word { color: rgba(255, 255, 255, 0.035); }
}
.pillars-section {
  padding: var(--section-y) 0;
  position: relative;
}
.pillars-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.pillar-dots { display: none; }
@media (min-width: 768px) {
  .pillars-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
  }
}
.pillar {
  padding: 32px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .pillar { padding: 40px; }
}
.pillar-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.pillar-plate,
.pillar-edition {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28, 25, 21, 0.65);
}
.pillar-emblem {
  width: 52px;
  height: 52px;
  margin-bottom: 1.5rem;
}
.pillar-emblem :is(path, circle, line) { stroke: #6e5e3a; }
.pillar-emblem [fill="white"] { fill: #6e5e3a; }
.js-ready .pillar-emblem :is(path, circle, line)[pathLength] {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.3s var(--ease) 0.3s;
}
.js-ready .pillar.visible .pillar-emblem :is(path, circle, line)[pathLength] {
  stroke-dashoffset: 0;
}
@keyframes emblem-redraw {
  from { stroke-dashoffset: 1; }
  to   { stroke-dashoffset: 0; }
}
@keyframes emblem-dot-in {
  0%, 45% { opacity: 0; }
  100%    { opacity: 1; }
}
.js-ready .pillar:hover .pillar-emblem :is(path, circle, line)[pathLength] {
  animation: emblem-redraw 1.15s var(--ease) both;
}
.js-ready .pillar:hover .pillar-emblem [fill="white"] {
  animation: emblem-dot-in 1.15s var(--ease) both;
}
@media (prefers-reduced-motion: reduce) {
  .js-ready .pillar:hover .pillar-emblem :is(path, circle, line)[pathLength],
  .js-ready .pillar:hover .pillar-emblem [fill="white"] { animation: none; }
}
.gold-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.pillar-signum {
  position: absolute;
  right: -10%;
  bottom: -14%;
  width: 68%;
  height: auto;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  opacity: 0;
  transform: rotate(-4deg);
  transition: opacity 1.6s var(--ease) 0.5s;
}
.js-ready .pillar.visible .pillar-signum,
html:not(.js-ready) .pillar-signum { opacity: 0.34; }
.pillar-signum :is(path, circle) {
  fill: none;
  stroke: url(#blattgold);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.pillar:hover .pillar-signum { opacity: 0.5; }
@media (max-width: 767px) {
  .js-ready .pillar.visible .pillar-signum,
  html:not(.js-ready) .pillar-signum { opacity: 0.26; }
  .pillar-signum { width: 56%; right: -10%; bottom: -12%; }
}
@media (prefers-reduced-motion: reduce) {
  .pillar-signum { transition: none; }
}
.pillar-num {
  font-family: var(--mono);
  font-style: normal;
  font-size: var(--text-sm);
  color: var(--gold);
  letter-spacing: var(--tracking-wider);
  margin-bottom: 1rem;
}
.pillar-title {
  font-family: var(--mono);
  font-style: normal;
  font-weight: 400;
  font-size: var(--display-mono-size);
  text-transform: uppercase;
  letter-spacing: var(--display-mono-track);
  color: var(--cream);
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
.pillar-body {
  font-family: var(--mono);
  font-size: var(--step--1);
  letter-spacing: 0.06em;
  color: var(--mute);
  padding-top: var(--space-3);
}
.pillar-anti {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 0.5px solid var(--rule-faint);
  line-height: 1.5;
}
.pillar-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 1.5rem;
}
.pillar-arrow {
  font-family: var(--mono);
  font-style: normal;
  font-size: var(--text-xs);
  color: var(--gold);
  letter-spacing: 0.35em;
  text-transform: uppercase;
  opacity: 0.6;
  transition: opacity 300ms ease;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pillar:hover .pillar-arrow {
  opacity: 1;
}
.pillar-arrow .arrow-line {
  width: 24px;
  height: 0.5px;
  background: var(--gold);
}
.statement-text {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 300;
  font-size: var(--display-quote);
  line-height: 0.98;
  color: var(--cream);
  letter-spacing: -0.025em;
  position: relative;
  z-index: 2;
}
@keyframes gold-shimmer {
  0%   { background-position: -120% center; }
  100% { background-position: 220% center; }
}
.hero-mega .gold,
.footer-mark-mega {
  background: linear-gradient(
    108deg,
    #4a3c1e 0%,
    #6e5e3a 9%,
    #55461f 15%,
    #8a7548 24%,
    #6e5e3a 31%,
    #b3934f 38%,
    #c9a96e 44%,
    #e6cf92 47%,
    #a8873f 51%,
    #c9a96e 56%,
    #6e5e3a 63%,
    #9d8244 71%,
    #5f4f2b 79%,
    #8a7548 88%,
    #4a3c1e 100%
  );
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: gold-shimmer 9s linear infinite;
}
@media (max-width: 900px) {
  .nav-logo { top: calc(0.8rem + env(safe-area-inset-top, 0px)); left: 0.8rem; }
  .nav-logo-img { height: 58px; }
  .hero .nav-logo { top: calc(1.2rem + env(safe-area-inset-top, 0px)); left: 50%; }
  .hero .nav-logo-img { height: 58px; }
}
footer {
  margin-top: 0;
  padding: 5rem 3rem 2.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.footer-devise {
  font-family: var(--mono);
  font-size: var(--step--1);
  letter-spacing: var(--tracking-wide);
  color: rgba(28, 25, 21, 0.62);
  margin: 0 0 4.5rem;
  padding-top: 0.5rem;
}
.footer-devise span {
  white-space: nowrap;
}
.footer-mark-mega {
  font-family: 'Barlow Semi Condensed', var(--display);
  font-weight: 700;
  font-size: var(--text-billboard);
  line-height: 0.85;
  color: var(--gold);
  letter-spacing: -0.02em;
  margin-bottom: 3rem;
  position: relative;
  z-index: 2;
  text-transform: uppercase;
  transition: color var(--dur-s) var(--ease), text-shadow var(--dur-s) var(--ease);
  cursor: default;
}
.footer-correspondence {
  font-family: var(--mono);
  font-style: normal;
  font-size: var(--text-base);
  color: var(--cream-soft);
  margin: 1.5rem 0 2.5rem;
}
.footer-correspondence a {
  color: var(--accent-mute);
  text-decoration: none;
  border-bottom: 0.5px solid rgba(100,94,81,0.45);
  padding-bottom: 2px;
  transition: border-color var(--dur-s) var(--ease);
}
.footer-correspondence a:hover { border-color: var(--accent-mute); }
.footer-correspondence > span { margin: 0 0.9rem; opacity: 0.5; }
footer a { cursor: default; }
footer a[href] { cursor: pointer; }
.footer-clocks-gap { margin: 0 0 2rem; height: 1.9rem; pointer-events: none; }
.footer-copy {
  font-size: var(--text-xs);
  color: var(--muted);
  margin-top: 3rem;
  letter-spacing: 0.2em;
}
.footer-colophon {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4em 2.25em;
  margin-top: 1.5rem;
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: var(--tracking-caps);
  color: rgba(28, 25, 21, 0.55);
}
.prose {
  font-family: var(--mono);
  font-size: var(--text-lg);
  line-height: var(--leading-reading);
  color: var(--cream-soft);
  font-weight: 400;
  font-variant-numeric: oldstyle-nums proportional-nums;
}
.prose p {
  font-family: var(--mono);
  font-size: var(--text-base);
  line-height: var(--leading-loose);
  font-weight: 300;
  margin-bottom: 1.75rem;
}
.prose p:first-of-type::first-letter {
  font-family: var(--serif);
  font-style: italic;
  font-size: 5em;
  float: left;
  line-height: 0.85;
  margin: 0.05em 0.15em -0.1em 0;
  color: var(--gold);
  font-weight: 400;
}
.prose blockquote {
  border-left: 0.5px solid var(--gold);
  padding: 0.5rem 0 0.5rem 2rem;
  margin: 3rem 0;
  font-style: italic;
  color: var(--cream);
  font-size: var(--text-lg);
}
.prose h3 {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--text-xl);
  color: var(--cream);
  margin: 4rem 0 2rem;
  letter-spacing: -0.005em;
}
.prose h3::before {
  content: '§';
  color: var(--gold);
  margin-right: 0.75rem;
  font-style: normal;
}
.prose ul {
  list-style: none;
  margin: 2rem 0;
  padding: 0;
}
.prose ul li {
  padding: 1rem 0 1rem 2.5rem;
  border-bottom: 0.5px solid var(--gold-line);
  position: relative;
  font-size: var(--text-base);
  font-family: var(--serif);
  color: var(--body);
  line-height: 1.6;
}
.prose ul li::before {
  content: '·';
  position: absolute;
  left: 1rem;
  top: 1rem;
  color: var(--gold);
  font-size: var(--text-xl);
  line-height: 1;
}
.prose ul li:last-child { border-bottom: 0; }
.prose ul li strong {
  color: var(--cream);
  font-weight: 400;
  font-family: var(--serif);
  font-style: italic;
  font-size: var(--text-lg);
  margin-right: 0.5rem;
  display: block;
  margin-bottom: 0.25rem;
}
.pillar-overlay .prose p:first-of-type::first-letter {
  float: none;
  font: inherit;
  color: inherit;
  margin: 0;
}
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: var(--text-2xs);
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color: var(--accent-mute);
  text-decoration: none;
  margin-bottom: 4rem;
  border: 0.5px solid var(--gold-line);
  padding: 0.65rem 1.25rem 0.65rem 1rem;
  transition: border-color 0.4s ease, gap 0.4s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s;
}
.back-link:hover {
  border-color: rgba(100,94,81,0.45);
  gap: 1rem;
  color: var(--cream);
}
.back-link { display: inline-flex; align-items: center; min-height: 44px; }
.js-ready .reveal {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.8s var(--ease),
              transform 0.8s var(--ease);
}
.js-ready .reveal.visible {
  opacity: 1;
  transform: none;
}
.js-ready .reveal[data-delay="1"] { transition-delay: 70ms; }
.js-ready .reveal[data-delay="2"] { transition-delay: 140ms; }
.js-ready .reveal[data-delay="3"] { transition-delay: 210ms; }
.js-ready .reveal[data-delay="4"] { transition-delay: 280ms; }
.js-ready .reveal[data-delay="5"] { transition-delay: 350ms; }
.js-ready .footer-mark-mega.reveal { transform: translateY(20px); filter: none; }
.js-ready .footer-mark-mega.reveal.visible { transform: none; filter: none; }
.js-ready .section-eyebrow.reveal { transform: translateY(6px); }
.js-ready .section-eyebrow.reveal.visible { transform: none; }
.headline-split { overflow: hidden; display: inline-block; vertical-align: bottom; }
.headline-word {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.headline-word.in {
  transform: translateY(0);
  opacity: 1;
}
.headline-line {
  display: block;
  margin: -0.1em 0 -0.15em;
}
.headline-line .headline-word {
  padding: 0.1em 0 0.15em;
}
.colophon-section {
  padding: calc(var(--section-y) + 3rem) 0 var(--section-y);
  position: relative;
}
.hero-canvas-wrap {
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  -webkit-mask: radial-gradient(ellipse 85% 80% at 50% 50%, black 10%, rgba(0,0,0,0.55) 45%, transparent 100%);
  mask: radial-gradient(ellipse 85% 80% at 50% 50%, black 10%, rgba(0,0,0,0.55) 45%, transparent 100%);
}
.hero-canvas { display: block; width: 100%; height: 100%; }
@media (max-width: 900px) {
  :root { --section-y: 3.5rem; }
  h1, h2, h3 { text-wrap: balance; }
  p { text-wrap: pretty; }
  .container { padding: 0 1.25rem; }
  .container-narrow { padding: 0 1.25rem; }
  .hero { min-height: 100vh; min-height: calc(var(--svh, 1svh) * 100); }
  .hero-bottom {
    padding: 5rem 1.5rem calc(4.5rem + env(safe-area-inset-bottom, 0px));
    justify-content: flex-end;
    align-items: flex-start;
    text-align: left;
  }
  .hero-mega { font-size: clamp(4.8rem, 22vw, 7.4rem); line-height: 0.92; letter-spacing: -0.025em; }
  .hero-subtitle { max-width: 100%; letter-spacing: 0.04em; }
  .hero-meta-coords { font-size: var(--step--2); margin-top: 2rem; }
  .bg-monogram { font-size: 80vw; }
  section { padding: 3.5rem 0; }
  .section-eyebrow { font-size: var(--text-2xs); letter-spacing: var(--tracking-wider); }
  h2.section-title { font-size: var(--text-display); line-height: 1.0; letter-spacing: 0.02em; margin-bottom: 2rem; }
  .pillars-section { padding: 3rem 0 0; }
  .pillars-section .container { padding: 0; max-width: none; }
  .pillars-section .section-eyebrow,
  .pillars-section h2.section-title { padding-left: 1.25rem; padding-right: 1.25rem; }
  .pillars-grid { display: flex; flex-direction: row; overflow-x: scroll; scroll-snap-type: x mandatory; scroll-padding-inline: 1.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 0.75rem; padding: 0 1.25rem 1.5rem; width: 100%; grid-template-columns: none; }
  .pillars-grid::-webkit-scrollbar { display: none; }
  .pillar { flex: 0 0 78vw; scroll-snap-align: start; min-height: calc(var(--svh, 1svh) * 50); }
  .pillar-trigger { flex: 1; padding: 32px; }
  .pillar-title { font-size: var(--text-display); letter-spacing: 0.02em; }
  .pillar-dots { display: flex; justify-content: center; gap: 0.25rem; margin-top: 0; }
  .pillar-dot { box-sizing: content-box; width: 18px; height: 1.5px; padding: 11px 3px; border: none; border-radius: 0; background: var(--accent-mute); background-clip: content-box; opacity: 0.25; cursor: pointer; transition: opacity var(--dur-s) var(--ease), background var(--dur-s) var(--ease); }
  .pillar-dot.active { opacity: 0.85; background: var(--cream); background-clip: content-box; }
  .pillar-overlay-head { padding: calc(0.9rem + env(safe-area-inset-top, 0px)) 1.25rem 0.9rem; }
  .pillar-overlay-close { min-height: 44px; padding: 0 1rem; }
  .pillar-overlay-body { padding-top: 2rem; padding-bottom: 4rem; }
  .statement-text { line-height: 1.12; letter-spacing: -0.01em; }
  .colophon-section { padding: 3.5rem 0; }
  .back-link { margin-bottom: 2.5rem; font-size: var(--text-2xs); }
  footer { padding: 3.5rem 1.25rem calc(2.25rem + env(safe-area-inset-bottom, 0px)); min-height: calc(var(--svh, 1svh) * 78); display: flex; flex-direction: column; justify-content: center; }
  footer .container { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; }
  .footer-mark-mega { font-size: var(--text-billboard); letter-spacing: -0.04em; margin-bottom: 2rem; }
  .footer-correspondence { font-size: var(--text-lg); margin: 1.75rem 0 2.5rem; }
  .footer-copy { font-size: var(--text-2xs); letter-spacing: var(--tracking-snug); text-align: center; margin-top: 2.5rem; }
  .prose { font-size: var(--text-base); line-height: 1.7; letter-spacing: -0.005em; }
  .prose p:first-of-type::first-letter { font-size: 3em; }
  .prose blockquote { font-size: var(--text-base); }
  .prose h3 { font-size: var(--text-xl); letter-spacing: -0.02em; margin: 2.5rem 0 1.25rem; }
  .hero-canvas-wrap {
    -webkit-mask: radial-gradient(ellipse 110% 105% at 45% 58%, black 18%, rgba(0,0,0,0.38) 52%, transparent 100%);
    mask: radial-gradient(ellipse 110% 105% at 45% 58%, black 18%, rgba(0,0,0,0.38) 52%, transparent 100%);
  }
  .back-link,
  .nav-logo {
    min-height: 44px;
  }
  .headline-split { overflow: visible; }
  .headline-word { transform: none; transition: opacity 1.1s var(--ease); }
}
.core-triad-intro {
  font-family: var(--sans);
  font-size: var(--step--1);
  font-weight: 300;
  line-height: 1.75;
  color: var(--body);
  max-width: var(--w-prose);
  margin-bottom: var(--space-12);
}
.plate-grid {
  display: grid;
  grid-template-columns: 1fr;
  border: 0.5px solid var(--rule);
}
@media (min-width: 768px) {
  .plate-grid { grid-template-columns: repeat(3, 1fr); }
  .plate-grid--quad { grid-template-columns: repeat(2, 1fr); }
}
.plate {
  padding: var(--space-8);
  border-bottom: 0.5px solid var(--rule);
  display: flex;
  flex-direction: column;
}
.plate:last-child { border-bottom: none; }
@media (min-width: 768px) {
  .plate {
    padding: var(--space-10) var(--space-8);
    border-bottom: none;
    border-right: 0.5px solid var(--rule);
  }
  .plate:last-child { border-right: none; }
}
.plate__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--space-8);
}
.plate__ord {
  font-family: var(--mono);
  font-style: normal;
  font-size: var(--text-display);
  color: var(--gold);
  line-height: 1;
  opacity: 0.65;
}
.plate__mark {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28, 25, 21, 0.6);
  text-align: right;
  line-height: 1.6;
  white-space: nowrap;
}
.plate__title {
  font-family: var(--mono);
  font-style: normal;
  font-weight: 400;
  font-size: var(--display-mono-size);
  text-transform: uppercase;
  letter-spacing: var(--display-mono-track);
  color: var(--cream);
  margin-bottom: var(--space-5);
  line-height: 1.4;
}
.plate__lede {
  font-family: var(--sans);
  font-size: var(--step--1);
  font-weight: 300;
  line-height: 1.75;
  max-width: var(--w-prose);
  color: var(--body);
  margin-bottom: var(--space-8);
  flex: 1;
}
.plate__spec {
  margin-top: auto;
}
.plate__spec > div {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: var(--space-3);
  padding: var(--space-3) 0;
}
.plate__spec dt {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mute);
}
.plate__spec dd {
  font-family: var(--mono);
  font-size: var(--step--1);
  color: var(--ink-soft);
  letter-spacing: 0.02em;
}
.redacted {
  background: currentColor;
  -webkit-text-fill-color: transparent;
  color: inherit;
  padding: 0 .4rem;
  border-radius: 1px;
  user-select: none;
  cursor: default;
}
@media (max-width: 900px) {
  .core-triad-intro { max-width: 100%; margin-bottom: var(--space-8); }
  .plate { padding: var(--space-6) var(--space-5); }
  .plate__spec > div { grid-template-columns: 5.5rem 1fr; }
  .plate-grid { border: none; border-block: 0.5px solid var(--rule); }
  .plate-grid .plate { padding: var(--space-6) 0; }
  .plate-grid .plate__ord { font-size: var(--text-lg); opacity: 0.5; }
  .plate-grid .plate__head { margin-bottom: var(--space-5); }
  .plate-grid .plate__title { margin-bottom: var(--space-4); }
  .plate-grid .plate__lede { margin-bottom: var(--space-5); }
  .plate-grid .plate__spec > div { padding: var(--space-2) 0; }
}
.pillar {
  padding: 0;
  position: relative;
  background:
    var(--leaf-seams),
    linear-gradient(178deg, rgba(255, 252, 244, 0.5) 0%, rgba(255, 252, 244, 0) 42%),
    rgba(110, 94, 58, 0.045);
  box-shadow:
    inset 0 0 0 1px rgba(110, 94, 58, 0.3),
    0 1px 2px rgba(28, 25, 21, 0.05);
  transition: box-shadow 450ms var(--ease), background 450ms var(--ease), transform 450ms var(--ease);
  overflow: hidden;
}
.pillar::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%),
    rgba(110, 94, 58, 0.05), transparent 60%);
  opacity: 0;
  transition: opacity var(--dur-s) var(--ease);
  pointer-events: none;
  z-index: 0;
}
.pillar:hover::after { opacity: 1; }
.pillar:hover {
  box-shadow:
    inset 0 0 0 1px rgba(110, 94, 58, 0.58),
    0 10px 30px rgba(28, 25, 21, 0.08);
  background:
    var(--leaf-seams),
    linear-gradient(178deg, rgba(255, 252, 244, 0.75) 0%, rgba(255, 252, 244, 0.1) 55%),
    rgba(110, 94, 58, 0.02);
}
.pillar-trigger {
  background: none;
  border: none;
  color: inherit;
  text-align: left;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 32px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .pillar-trigger { padding: 40px; }
}
.pillar-overlay {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: #e8e2d2;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(100%);
  visibility: hidden;
  transition: transform var(--dur-m) var(--ease), visibility 0s var(--dur-m);
  outline: none;
}
.pillar-overlay.is-open {
  transform: translateY(0);
  visibility: visible;
  transition: transform var(--dur-m) var(--ease), visibility 0s;
}
.pillar-overlay-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(232, 226, 210, 0.94);
  border-bottom: 1px solid rgba(110, 94, 58, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem max(2rem, env(safe-area-inset-left, 0px));
}
.pillar-overlay-label {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.7;
}
.pillar-overlay-close {
  background: none;
  border: 0.5px solid var(--rule);
  color: var(--cream-soft);
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  padding: 0.45rem 1rem;
  opacity: 0.65;
  transition: opacity var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease);
}
.pillar-overlay-close:hover { opacity: 1; border-color: var(--gold-soft); }
.pillar-overlay-body {
  padding-top: 4rem;
  padding-bottom: 8rem;
}
.pillar-overlay.is-open .pillar-overlay-body {
  animation: overlay-body-in var(--dur-m) var(--ease) 0.28s both;
}
@keyframes overlay-body-in {
  from { opacity: 0; transform: translateY(2rem); }
  to   { opacity: 1; transform: translateY(0); }
}
.pillar-triad .core-triad-intro { margin-bottom: var(--space-8); }
@media (prefers-reduced-motion: reduce) {
  .pillar-overlay { transition: none; transform: none; visibility: hidden; }
  .pillar-overlay.is-open { visibility: visible; }
}
.mandatum-section .plate { padding: 0; }
.mandatum-section .plate__lede {
  font-family: var(--mono);
  font-weight: 300;
  font-size: var(--step--1);
  line-height: 1.75;
  max-width: var(--w-prose);
  color: var(--body);
}
.finale {
  position: relative;
  overflow: hidden;
  height: var(--finale-band);
  min-height: 0;
  --finale-band: clamp(360px, calc(var(--svh, 1svh) * 50), 520px);
}
.footer-clocks {
  display: flex;
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 2.75rem);
  margin: 2rem 0 0;
}
.footer-clock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}
.footer-clock-city {
  font-family: var(--font-mono);
  font-size: var(--step--2);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--accent-mute);
}
.footer-clock-time {
  font-family: var(--font-mono);
  font-weight: 300;
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--cream);
  line-height: 1;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .hero-mega .gold,
  .footer-mark-mega {
    background: none;
    -webkit-text-fill-color: #6e5e3a;
    color: #6e5e3a;
    animation: none;
  }
  .pillar-overlay.is-open .pillar-overlay-body { animation: none; }
  .js-ready .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .headline-word {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
  }
}
.statvs-section { padding: var(--section-y) 0; position: relative; }
.statvs-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) 1fr 1fr;
  grid-auto-rows: min-content;
  gap: var(--space-7) var(--space-8);
  margin-top: var(--space-8);
  border-top: 0.5px solid var(--rule);
  padding-top: var(--space-8);
  align-items: start;
}
.statvs-field:first-child { grid-row: 1 / 3; }
.statvs-field:first-child dd {
  font-size: clamp(4.5rem, 10vw, 9rem);
  font-weight: 300;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin-top: 0.1em;
}
@media (max-width: 700px) {
  .statvs-grid { grid-template-columns: 1fr 1fr; }
  .statvs-field:first-child { grid-row: auto; grid-column: 1 / -1; }
}
.statvs-field { display: flex; flex-direction: column; gap: 0.45rem; }
.statvs-field dt {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
}
.statvs-field dd {
  font-family: var(--mono);
  font-size: var(--text-value);
  color: var(--cream);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.statvs-mkt { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0.55rem; text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--text-sm); }
.mkt-next {
  flex-basis: 100%;
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  color: var(--mute);
  font-variant-numeric: tabular-nums;
}
.mkt-next:empty { display: none; }
.statvs-mkt::before {
  content: '';
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent-mute); opacity: 0.35;
  transition: background var(--dur-s) var(--ease), opacity var(--dur-s) var(--ease);
}
.statvs-mkt.open { color: var(--cream); }
@keyframes statvs-pulse {
  0%, 100% { opacity: 0.9; }
  50%      { opacity: 0.35; }
}
.statvs-mkt.open::before { background: var(--cream); opacity: 0.9; animation: statvs-pulse 3.6s var(--ease) infinite; }
.statvs-mkt.closed { color: var(--mute); }
.statvs-map {
  display: block;
  margin: var(--space-10) 0 0;
}
.statvs-map svg { display: block; width: 100%; height: auto; }
.statvs-map line,
.statvs-map path,
.statvs-map circle { vector-effect: non-scaling-stroke; }
.map-grid line { stroke: rgba(20, 18, 15, 0.13); stroke-width: 0.75; }
.map-arcs path { stroke: #6e5e3a; stroke-width: 1; fill: none; opacity: 0.6; }
.statvs-map text {
  font-family: var(--mono);
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  fill: #645e51;
}
.map-seat text { fill: #6e5e3a; }
.map-seat .seat-ring { stroke: #6e5e3a; stroke-width: 1; fill: none; }
.map-seat .seat-core { fill: #6e5e3a; }
.map-mkt circle { stroke: #1c1915; stroke-width: 1.25; fill: #e8e2d2; transition: fill var(--dur-s) var(--ease), stroke var(--dur-s) var(--ease); }
.map-mkt.open circle { stroke: #6e5e3a; fill: #6e5e3a; animation: statvs-pulse 3.6s var(--ease) infinite; }
.js-ready .statvs-map :is(line, path)[pathLength] { stroke-dasharray: 1; stroke-dashoffset: 1; }
.js-ready .statvs-map.visible .map-grid [pathLength] { stroke-dashoffset: 0; transition: stroke-dashoffset 1.5s var(--ease) 0.15s; }
.js-ready .statvs-map.visible .map-arcs [pathLength] { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--ease) 0.9s; }
.js-ready .statvs-map .map-city { opacity: 0; transition: opacity 0.7s var(--ease) 1.4s; }
.js-ready .statvs-map.visible .map-city { opacity: 1; }
@media (max-width: 700px) {
  .statvs-map text { font-size: 26px; letter-spacing: 2px; }
  .map-mkt circle { r: 8px; }
  .map-seat .seat-ring { r: 14px; }
  .map-seat .seat-core { r: 6.5px; }
}
.sol-arc { display: block; width: min(150px, 100%); height: auto; margin-top: 0.6rem; }
.sol-arc line,
.sol-arc path { vector-effect: non-scaling-stroke; }
.sol-horizon { stroke: rgba(28, 25, 21, 0.22); stroke-width: 0.75; }
.sol-path { stroke: #6e5e3a; stroke-width: 1; opacity: 0.55; }
.sol-sun { fill: #6e5e3a; opacity: 0; transition: opacity 0.6s var(--ease); }
.sol-sun.up { opacity: 1; }
.js-ready .statvs-field .sol-arc :is(line, path)[pathLength] { stroke-dasharray: 1; stroke-dashoffset: 1; }
.js-ready .statvs-field.visible .sol-arc [pathLength] { stroke-dashoffset: 0; transition: stroke-dashoffset 1.2s var(--ease) 0.5s; }
.wave-field { display: block; width: 100%; height: 100%; }
.registrum-section { padding: var(--section-y) 0; position: relative; }
.registrum-rule {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin: var(--space-8) 0 0;
}
.registrum-list { list-style: none; margin: var(--space-8) 0 0; padding: 0; border-top: 0.5px solid var(--rule); }
.registrum-row {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) 8rem;
  gap: var(--space-6);
  align-items: baseline;
  padding: var(--space-5) 0;
  border-bottom: 0.5px solid var(--rule);
}
.reg-idx {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
  white-space: nowrap;
}
.reg-entry { font-family: var(--mono); font-size: var(--text-value); color: var(--cream); }
.reg-stat {
  font-family: var(--mono);
  font-size: var(--step--2);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.statvs-section,
.registrum-section {
  background: #e8e2d2;
}
.statvs-section h2.section-title,
.registrum-section h2.section-title { color: #1c1915; }
.statvs-section .section-eyebrow,
.registrum-section .section-eyebrow { color: #6e5e3a; }
.statvs-section .mono-bg-word,
.registrum-section .mono-bg-word { color: rgba(28, 25, 21, 0.055); }
.registrum-section .registrum-list { border-top-color: rgba(20, 18, 15, 0.18); }
.registrum-section .registrum-row { border-bottom-color: rgba(20, 18, 15, 0.18); }
.registrum-section .reg-idx { color: #6e5e3a; }
.registrum-section .reg-entry { color: #1c1915; }
.registrum-section .reg-stat { color: #645e51; }
.statvs-section .statvs-grid { border-top-color: rgba(20, 18, 15, 0.18); }
.statvs-section .statvs-field dt { color: #645e51; }
.statvs-section .statvs-field dd { color: #1c1915; }
.statvs-section .statvs-mkt.open { color: #1c1915; }
.statvs-section .statvs-mkt.open::before { background: #6e5e3a; opacity: 1; }
.statvs-section .statvs-mkt.closed { color: #5c584f; }
.statvs-section .statvs-mkt.closed::before { background: #1c1915; opacity: 0.3; }
.statvs-section .statvs-mkt .mkt-next { color: #645e51; }
.hero,
.manifesto-section,
.pillars-section,
.mandatum-section,
.colophon-section,
.statvs-section,
.registrum-section,
.pillar-overlay,
footer {
  background: #e8e2d2;
  --bg: #e8e2d2;
  --ink: #1c1915;
  --ink-soft: #4a453c;
  --accent: #6e5e3a;
  --accent-mute: #645e51;
  --mute: #645e51;
  --mute-body: #4a453c;
  --rule: rgba(20, 18, 15, 0.18);
  --rule-faint: rgba(20, 18, 15, 0.1);
  --cream: #1c1915;
  --cream-soft: #4a453c;
  --gold: #6e5e3a;
  --gold-sig: #6e5e3a;
  --gold-line: rgba(20, 18, 15, 0.18);
  --gold-faint: rgba(20, 18, 15, 0.1);
  --muted: #645e51;
  --body: #4a453c;
}
.manifesto-section .mono-bg-word,
.pillars-section .mono-bg-word,
.mandatum-section .mono-bg-word,
.colophon-section .mono-bg-word { color: rgba(28, 25, 21, 0.055); }
footer .footer-devise { color: rgba(28, 25, 21, 0.62); }
.mandatum-section .plate__mark { color: rgba(28, 25, 21, 0.55); }
footer .footer-colophon { color: rgba(28, 25, 21, 0.55); }
footer .bg-monogram { color: rgba(28, 25, 21, 0.6); }
.hero .hero-meta-coords { color: rgba(28, 25, 21, 0.5); }
@media (max-width: 700px) {
  .registrum-row { grid-template-columns: 1fr; gap: 0.35rem; padding: var(--space-4) 0; }
  .reg-stat { text-align: left; }
}
@media (max-width: 700px) {
  .plate__spec > div { grid-template-columns: 5.5rem 1fr; }
}
.col-pair { white-space: nowrap; }
.col-pair .col-label { opacity: 0.7; }
@media (max-width: 900px) {
  .pillar-title { font-size: min(var(--text-display), 9vw); }
}
@media (min-width: 768px) {
  .plate-grid--quad > .plate { border-bottom: 0.5px solid var(--rule); }
  .plate-grid--quad > .plate:nth-child(2n) { border-right: none; }
  .plate-grid--quad > .plate:last-child { border-bottom: none; }
  .plate-grid--quad > .plate--span { grid-column: 1 / -1; border-right: none; }
  .plate--span .plate__lede { max-width: 640px; }
}
@media (min-width: 1100px) {
  .manifesto-section,
.pillars-section,
.statvs-section,
.mandatum-section,
.registrum-section,
.colophon-section { position: relative; }
  .manifesto-section::before,
.pillars-section::before,
.statvs-section::before,
.mandatum-section::before,
.registrum-section::before,
.colophon-section::before {
    --frame: rgba(110, 94, 58, 0.16);
    --tick: rgba(110, 94, 58, 0.42);
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: max(1.5rem, calc(50% - var(--w-wide) / 2 - 4px));
    right: max(1.5rem, calc(50% - var(--w-wide) / 2 - 4px));
    pointer-events: none;
    z-index: 0;
    background:
      linear-gradient(var(--tick), var(--tick)) 0 0 / 9px 1px no-repeat,
      linear-gradient(var(--tick), var(--tick)) 100% 0 / 9px 1px no-repeat,
      linear-gradient(var(--frame), var(--frame)) 4px 0 / 1px 100% no-repeat,
      linear-gradient(var(--frame), var(--frame)) calc(100% - 4px) 0 / 1px 100% no-repeat;
  }
}
@media print {
  .manifesto-section::before,
.pillars-section::before,
.statvs-section::before,
.mandatum-section::before,
.registrum-section::before,
.colophon-section::before { display: none; }
}
@media print {
  @page { margin: 18mm 16mm; }
  html, body {
    background: #fff !important;
    color: #000 !important;
    animation: none !important;
    opacity: 1 !important;
  }
  body::before, body::after { display: none !important; }
  #cursor-ring,
.atmosphere,
.loader,
.hero-canvas-wrap,
.mono-bg-word,
.bg-monogram,
.pillar-arrow,
.pillar-signum,
.gold-defs,
.statvs-map,
.sol-arc {
    display: none !important;
  }
  .reveal, .js-ready .reveal, .headline-word, .pillar, .plate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    visibility: visible !important;
  }
  section, footer, .pillar, .pillar-overlay {
    background: #fff !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding-block: 8mm !important;
    min-height: 0 !important;
    height: auto !important;
  }
  h1, h2, h3, .plate__title, .pillar-title, .manifesto-term,
  .statvs-field dd, .reg-entry, .plate__spec dd { color: #000 !important; }
  .section-eyebrow,
.plate__mark,
.pillar-plate,
.pillar-edition,
.plate__spec dt,
.statvs-field dt,
.reg-idx,
.reg-stat,
.footer-colophon,
.footer-copy {
    color: #444 !important;
    -webkit-text-fill-color: #444 !important;
  }
  .hero-mega,
.hero-mega .gold,
.footer-mark-mega,
h2.section-title em {
    background: none !important;
    -webkit-text-fill-color: #000 !important;
    color: #000 !important;
    animation: none !important;
  }
  .hero-mega { font-size: 32pt !important; }
  h2.section-title { font-size: 14pt !important; margin-bottom: 6mm !important; }
  body, .plate__lede, .prose p { font-size: 10pt !important; line-height: 1.5 !important; }
  .plate, .registrum-row, .statvs-field, .pillar {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .pillar-anti { color: #444 !important; border-color: #ccc !important; }
  .registrum-list, .plate-grid { border-color: #999 !important; }
  .registrum-row, .plate { border-color: #ccc !important; }
  .pillars-grid { display: block !important; }
  .plate-grid { grid-template-columns: 1fr 1fr !important; }
  .pillar-overlay {
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    overflow: visible !important;
    break-before: page;
    page-break-before: always;
  }
  .pillar-overlay-close { display: none !important; }
  .pillar-overlay-head {
    position: static !important;
    border-bottom: 0.5pt solid #999 !important;
    padding-left: 0 !important;
  }
  a { color: #000 !important; text-decoration: none !important; }
  .footer-correspondence a::after { content: " (leon@gugg.me)"; font-size: 8pt; color: #444; }
}
.motto-section { position: relative; background: #e8e2d2; padding: clamp(6rem, 13vw, 12rem) clamp(1.25rem, 6vw, 10.5rem); overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; }
.motto-lines { font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.9rem, 8.4vw, 8rem); line-height: 0.98; letter-spacing: -0.03em; color: #1c1915; font-feature-settings: 'kern', 'liga', 'onum'; }
.motto-lines em { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #6e5e3a; }
.motto-line { display: block; overflow: hidden; padding: 0 0.08em 0.1em; margin: 0 -0.08em -0.1em; will-change: transform; }
.motto-line > span { display: inline-block; }
.motto-line:nth-child(2) { padding-left: 1.1em; }
.motto-line:nth-child(3) { padding-left: 2.2em; }
.js-ready .motto-line > span { transform: translateY(108%); transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1); transition-delay: var(--d, 0s); }
.js-ready .motto-lines.in .motto-line > span { transform: none; }
.motto-aside { writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.14em; color: #645e51; }
@media (max-width: 760px) {
  .motto-section { grid-template-columns: 1fr; }
  .motto-line:nth-child(2) { padding-left: 0.6em; }
  .motto-line:nth-child(3) { padding-left: 1.2em; }
  .motto-aside { writing-mode: horizontal-tb; transform: none; }
}
.domus-section { position: relative; padding: 0; background: #0f0e0b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .38 0 0 0 0 .32 0 0 0 0 .2 0 0 0 1.4 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E"); color: #e8e2d2; }
.domus-section ::selection { background: #c9a96e; color: #0f0e0b; }
.dm { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1440px; margin: 0 auto; }
.dm-seal { position: relative; min-height: 600px; }
.dm-seal canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.dm-text { padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem) clamp(3rem, 6vw, 5rem) 0; }
.dm-chip { display: inline-flex; align-items: center; gap: 0.7rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.14em; color: #9d9480; }
.dm-chip::before { content: ''; width: 22px; height: 1px; background: currentColor; opacity: 0.6; }
.dm-chip i { font-style: normal; color: #c9a96e; }
.dm-title { margin-top: 1.6rem; font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.6rem, 4.8vw, 4.4rem); line-height: 1.02; letter-spacing: -0.015em; color: #e8e2d2; }
.dm-title em { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #c9a96e; }
.dm-lede { margin-top: 1.4rem; max-width: 32rem; font-family: var(--mono); font-weight: 300; font-size: var(--step-0); line-height: 1.75; color: #c8c0ad; }
.dm-spec { margin-top: 2.4rem; border-top: 1px solid rgba(232, 226, 210, 0.11); }
.dm-spec > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid rgba(232, 226, 210, 0.11); align-items: baseline; }
.dm-spec dt { font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; color: #9d9480; }
.dm-spec dd { font-family: var(--mono); font-weight: 300; font-size: var(--step--1); color: #c8c0ad; }
.domus-section .redacted { background: linear-gradient(100deg, #5e4f2f, #8a7548 45%, #6e5e3a); -webkit-text-fill-color: transparent; color: inherit; }
@media (max-width: 1000px) {
  .dm { grid-template-columns: 1fr; }
  .dm-seal { min-height: 380px; }
  .dm-text { padding: 2rem 1.25rem 3rem; }
}
.map-plot { position: relative; }
.map-night { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.map-lbl { position: absolute; transform: translate(0.7rem, -50%); font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; color: #4a453c; white-space: nowrap; }
.map-lbl--l { transform: translate(calc(-100% - 0.7rem), -50%); }
.map-lbl--seat { color: #6e5e3a; transform: translate(1rem, -130%); }
.map-cap { display: flex; justify-content: space-between; gap: 1rem; padding-top: 0.7rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; text-transform: uppercase; color: #645e51; }
@media (max-width: 640px) { .map-lbl small { display: none; } .map-cap { flex-direction: column; gap: 0.2rem; } }
.sol-state { display: block; margin-top: 0.4rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; text-transform: uppercase; color: #645e51; }
.sol-night { stroke: rgba(20, 18, 15, 0.3); stroke-width: 1; stroke-dasharray: 1 3; }
.sol-sun.down { fill: #e8e2d2 !important; stroke: #645e51; stroke-width: 1; opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
  .js-ready .motto-line > span { transform: none; transition: none; }
}
@media print {
  .dm-seal, .map-night { display: none !important; }
  .domus-section { background: none !important; color: #000 !important; }
  .js-ready .motto-line > span { transform: none; }
}
.ar { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); max-width: var(--w-wide); margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 3rem); }
.ar-aside { align-self: start; position: sticky; top: clamp(5rem, 14vh, 8rem); }
.ar-chip { display: inline-flex; align-items: center; gap: 0.7rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.14em; color: #645e51; }
.ar-chip::before { content: ''; width: 22px; height: 1px; background: currentColor; opacity: 0.6; }
.ar-chip i { font-style: normal; color: #6e5e3a; }
.ar-title { margin-top: 1.6rem; font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.6rem, 4.8vw, 4.4rem); line-height: 1.02; letter-spacing: -0.015em; color: #1c1915; }
.ar-title em { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #6e5e3a; }
.ar-link { display: inline-flex; gap: 0.75rem; margin-top: 2rem; padding-bottom: 0.45rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; color: #1c1915; position: relative; }
.ar-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: left; transform: scaleX(0.35); transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.ar-link:hover::after { transform: none; }
.ar-link.is-soon { color: #645e51; cursor: default; }
.ar-link.is-soon::after { display: none; }
.ar-list { list-style: none; margin: 0; padding: 0; }
.ar-item { position: relative; padding: clamp(2.4rem, 5vw, 3.6rem) 0; transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.ar-item::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(20, 18, 15, 0.22); transform-origin: left; transform: scaleX(0); transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
.ar-item.in::before { transform: none; }
.js-ready .ar-list.is-reading .ar-item { opacity: 0.28; }
.js-ready .ar-list.is-reading .ar-item.is-here { opacity: 1; }
.ar-meta { display: flex; align-items: baseline; gap: 1.2rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; text-transform: uppercase; color: #645e51; }
.ar-n { font-family: 'Cormorant', serif; font-size: 1.5rem; letter-spacing: 0; color: #6e5e3a; }
.ar-term { margin-top: 0.9rem; font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: clamp(2.8rem, 5.4vw, 5rem); line-height: 1; letter-spacing: -0.02em; color: #1c1915; }
.ar-rule { margin-top: 1.2rem; max-width: 34rem; font-family: var(--mono); font-weight: 300; font-size: var(--step-0); line-height: 1.75; color: #4a453c; }
@media (max-width: 900px) {
  .ar { grid-template-columns: 1fr; gap: 1.5rem; }
  .ar-aside { position: static; }
}
@media print { .js-ready .ar-list.is-reading .ar-item { opacity: 1; } }
h2.section-title,
.pillars-section h2.section-title { font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.6rem, 4.8vw, 4.4rem); line-height: 1.02; letter-spacing: -0.015em; text-transform: none; color: #1c1915; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
h2.section-title em { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #6e5e3a; }
.js-ready .statvs-map :is(line, path)[pathLength] { stroke-dasharray: none; stroke-dashoffset: 0; }
.js-ready .statvs-map :is(.map-grid, .map-arcs) { opacity: 0; transition: opacity 1.4s var(--ease) 0.15s; }
.js-ready .statvs-map.visible :is(.map-grid, .map-arcs) { opacity: 1; }
.js-ready .statvs-map.visible .map-arcs { transition-delay: 0.6s; }
.dm-lede { text-wrap: balance; }
.av-on { padding: 0 !important; height: calc(calc(var(--svh, 1svh) * 100) + 6 * calc(var(--svh, 1svh) * 27.5)); }
.av-on .ar { position: sticky; top: 0; height: calc(var(--svh, 1svh) * 100); align-content: center; grid-template-areas: "head dial" "read dial"; row-gap: 2.2rem; }
.av-on .ar-aside { grid-area: head; position: static; align-self: end; }
.av-on .ar-list { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.av-read { grid-area: read; align-self: start; min-height: 9.5em; }
.av-meta { display: flex; align-items: baseline; gap: 1rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.12em; text-transform: uppercase; color: #645e51; }
.av-meta b { font-family: 'Cormorant', serif; font-weight: 400; font-size: 1.5rem; letter-spacing: 0; color: #6e5e3a; }
.av-rule { margin-top: 0.9rem; max-width: 30rem; font-family: var(--mono); font-weight: 300; font-size: var(--step-0); line-height: 1.75; color: #4a453c; }
.av-dial { grid-area: dial; position: relative; justify-self: center; align-self: center; width: min(100%, calc(var(--svh, 1svh) * 74)); aspect-ratio: 1; container-type: inline-size; }
.av-dial svg { display: block; width: 100%; height: 100%; overflow: visible; }
.av-ring { fill: none; stroke: rgba(20, 18, 15, 0.2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.av-tick { stroke: rgba(20, 18, 15, 0.26); stroke-width: 1; vector-effect: non-scaling-stroke; }
.av-tick.is-major { stroke: #6e5e3a; }
.av-hex { fill: none; stroke: rgba(20, 18, 15, 0.12); stroke-width: 1; vector-effect: non-scaling-stroke; }
.av-prog, .av-hexp { fill: none; stroke: #8a7548; stroke-width: 2.4; stroke-linecap: round; }
.av-hexp { stroke-width: 1.8; stroke-linejoin: round; }
.av-node { cursor: pointer; }
.av-node .hit { fill: transparent; }
.av-node .dot { fill: #e8e2d2; stroke: #1c1915; stroke-width: 1.6; transform-box: fill-box; transform-origin: center; transition: fill 0.5s, stroke 0.5s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.av-node.is-lit .dot { fill: #6e5e3a; stroke: #6e5e3a; }
.av-node.is-here .dot { transform: scale(1.5); }
.av-node .halo { fill: none; stroke: #8a7548; stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(0.6); transition: opacity 0.5s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.av-node.is-here .halo { opacity: 1; transform: none; }
.av-num { font-family: 'Cormorant', serif; font-size: 24px; fill: #6e5e3a; text-anchor: middle; dominant-baseline: central; }
.av-node:hover .dot { stroke: #6e5e3a; }
@media (max-width: 900px) {
  .av-on .ar { grid-template-columns: 1fr; grid-template-areas: "head" "dial" "read"; row-gap: 1.2rem; align-content: center; }
  .av-on .ar-title { margin-top: 0.8rem; font-size: clamp(2.1rem, 9vw, 2.6rem); }
  .av-on .ar-link { margin-top: 0.8rem; }
  .av-dial { width: min(100%, calc(var(--svh, 1svh) * 42)); }
  .av-read { min-height: 8.5em; }
  .av-rule { font-size: var(--step--1); line-height: 1.65; }
  .av-num { font-size: 30px; }
}
@media print { .av-on { height: auto; } .av-dial, .av-read { display: none; } .av-on .ar { position: static; height: auto; } .av-on .ar-list { position: static; width: auto; height: auto; clip: auto; white-space: normal; } }
.reg-tl { --span: 88%; position: relative; height: 320px; margin-top: var(--space-8); }
.reg-axis { position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dashed rgba(20, 18, 15, 0.28); }
.reg-past { position: absolute; left: 0; top: -1px; height: 1px; width: var(--now, 0%); background: #1c1915; }
.reg-months { position: absolute; left: 0; width: var(--span); top: 50%; display: grid; grid-template-columns: repeat(12, 1fr); font-family: var(--mono); font-size: 10px; letter-spacing: 0.12em; color: #645e51; }
.reg-months span { text-align: center; padding: 12px 0 0; border-left: 1px solid rgba(20, 18, 15, 0.22); height: 0; line-height: 1; transform: translateY(-5px); }
.reg-now { position: absolute; left: var(--now, 0%); top: 4%; bottom: 50%; border-left: 1px solid #8a7548; }
.reg-now span { white-space: nowrap; position: absolute; top: -1.5em; left: 0; transform: translateX(-50%); font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; color: #6e5e3a; }
.reg-tl .registrum-list { position: absolute; inset: 0; margin: 0; border: 0; }
.reg-tl .registrum-row { position: absolute; left: calc(var(--m) / 12 * var(--span)); top: 50%; display: block; width: max-content; max-width: 28%; padding: 0 0 0 12px; border: 0; }
.reg-tl .registrum-row::before { content: ''; position: absolute; left: -5px; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: #1c1915; z-index: 1; }
.reg-tl .registrum-row::after { content: ''; position: absolute; left: -1px; width: 1px; background: rgba(20, 18, 15, 0.3); }
.reg-tl .is-up { transform: translateY(-100%); padding-bottom: 54px; }
.reg-tl .is-up::before { top: auto; bottom: -5px; }
.reg-tl .is-up::after { bottom: 0; height: 46px; }
.reg-tl .is-down { padding-top: 62px; }
.reg-tl .is-down::after { top: 0; height: 54px; }
.reg-tl .is-open::before { background: #e8e2d2; border: 1px solid #1c1915; }
.reg-tl .is-end { left: auto; right: 0; padding: 62px 12px 0 0; text-align: right; }
.reg-tl .is-end::before { left: auto; right: -4px; border-radius: 0; background: #1c1915; }
.reg-tl .is-end::after { left: auto; right: 0; }
.reg-tl .reg-idx { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.reg-tl .reg-entry { display: block; font-size: 0.86rem; line-height: 1.45; }
.reg-tl .reg-stat { display: block; margin-top: 0.35rem; text-align: inherit; font-size: 10px; }
@media (max-width: 700px) {
  .reg-tl { height: 660px; }
  .reg-axis { left: 44px; right: auto; top: 0; bottom: 0; border-top: 0; border-left: 1px dashed rgba(20, 18, 15, 0.28); }
  .reg-past { left: -1px; top: 0; width: 1px; height: var(--now, 0%); }
  .reg-months { width: 34px; height: var(--span); top: 0; grid-template-columns: 1fr; grid-template-rows: repeat(12, 1fr); text-align: right; font-size: 9px; }
  .reg-months span { padding: 0; border: 0; transform: none; }
  .reg-now { left: 38px; top: var(--now, 0%); bottom: auto; width: 13px; border-left: 0; border-top: 1px solid #8a7548; }
  .reg-now span { display: none; }
  .reg-tl .registrum-row, .reg-tl .is-up, .reg-tl .is-down { left: 44px; top: calc(var(--m) / 12 * var(--span)); transform: translateY(-0.55em); max-width: calc(100% - 60px); padding: 0 0 0 20px; }
  .reg-tl .registrum-row::before { top: 0.4em; bottom: auto; }
  .reg-tl .registrum-row::after { display: none; }
  .reg-tl .is-stack { transform: translateY(2.6em); }
  .reg-tl .is-end { top: auto; bottom: 0; right: auto; transform: none; text-align: left; }
  .reg-tl .is-end::before { left: -4px; right: auto; }
}
@media print { .reg-tl { height: auto; } .reg-axis, .reg-months, .reg-now { display: none; } .reg-tl .registrum-list { position: static; } .reg-tl .registrum-row { position: static; transform: none; padding: 0.4rem 0; max-width: none; } .reg-tl .registrum-row::before, .reg-tl .registrum-row::after { display: none; } }
.av-ray { stroke: rgba(110, 94, 58, 0.13); stroke-width: 1; vector-effect: non-scaling-stroke; }
.av-seal { opacity: 0.07; }
.av-ring.is-thin { stroke: rgba(20, 18, 15, 0.13); }
.av-ring.is-dash { stroke: rgba(110, 94, 58, 0.3); stroke-dasharray: 2 6; vector-effect: none; stroke-width: 1.2; }
.av-tick { stroke: rgba(20, 18, 15, 0.18); }
.av-tick.is-mid { stroke: rgba(20, 18, 15, 0.36); }
.av-tick.is-major { stroke: #6e5e3a; stroke-width: 1.4; }
.av-name { font-family: var(--mono); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; fill: rgba(20, 18, 15, 0.42); text-anchor: middle; dominant-baseline: central; transition: fill 0.6s; }
.av-name.is-here { fill: #6e5e3a; }
.av-rete-dot { fill: rgba(110, 94, 58, 0.45); }
.av-rete-dot.is-big { fill: #6e5e3a; }
.av-star { fill: none; stroke: rgba(110, 94, 58, 0.22); stroke-width: 1; stroke-dasharray: 3 5; }
.av-spoke { stroke: rgba(20, 18, 15, 0.08); stroke-width: 1; vector-effect: non-scaling-stroke; }
.av-spoke-g { stroke: url(#av-gold); stroke-width: 1.4; opacity: 0.75; }
.av-prog, .av-hexp { stroke: url(#av-gold); }
.av-prog { stroke-width: 3.2; }
.av-hexp { stroke-width: 2.2; }
.av-hand line { stroke: #6e5e3a; stroke-width: 1.4; }
.av-hand path { fill: url(#av-gold); stroke: #6e5e3a; stroke-width: 0.8; }
.av-hand circle { fill: #6e5e3a; }
.av-head { fill: #e6cf92; stroke: #8a7548; stroke-width: 1.2; filter: drop-shadow(0 0 6px rgba(201, 169, 110, 0.9)); transition: opacity 0.4s; }
.av-node .pulse { fill: none; stroke: #a8873f; stroke-width: 1; opacity: 0; transform-box: fill-box; transform-origin: center; }
.av-node.is-here .pulse { animation: av-pulse 2.8s cubic-bezier(0.16, 1, 0.3, 1) infinite; }
@keyframes av-pulse { 0% { opacity: 0.8; transform: scale(0.7); } 100% { opacity: 0; transform: scale(2.4); } }
.av-node.is-lit .dot { fill: url(#av-gold); stroke: #6e5e3a; }
@media (max-width: 900px) { .av-name { font-size: 15px; letter-spacing: 0.16em; } }
.reg-days { position: absolute; left: 0; width: var(--span); top: 50%; height: 5px; background: repeating-linear-gradient(to right, rgba(20, 18, 15, 0.22) 0 1px, transparent 1px 0.27397%); pointer-events: none; }
.reg-past { background: linear-gradient(90deg, #6e5e3a, #a8873f 30%, #d9bd7e 50%, #8a7548 70%, #b39350); height: 2px; top: -1.5px; }
.reg-sky { position: absolute; inset: 0; pointer-events: none; }
.reg-sky i { position: absolute; left: calc(var(--f) * var(--span)); width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; }
.reg-sky .g-new, .reg-sky .g-full { top: calc(50% + 34px); }
.reg-sky .g-new { background: #1c1915; }
.reg-sky .g-full { border: 1px solid rgba(20, 18, 15, 0.55); background: #e8e2d2; }
.reg-sky .g-sun { top: calc(50% - 30px); width: 13px; height: 13px; margin-left: -6.5px; border: 1px solid #8a7548; background: radial-gradient(circle, #8a7548 0 1.6px, transparent 2.2px); }
.reg-sky .g-sun.is-solstice { box-shadow: 0 0 0 3px #e8e2d2, 0 0 0 4px rgba(138, 117, 72, 0.45); }
.reg-now { border-left-color: #a8873f; }
.reg-now::after { content: ''; position: absolute; left: -4px; bottom: -4px; width: 7px; height: 7px; background: #a8873f; transform: rotate(45deg); box-shadow: 0 0 10px rgba(201, 169, 110, 0.8); }
.reg-tl .registrum-row:not(.is-open):not(.is-end)::before { box-shadow: 0 0 0 3px #e8e2d2, 0 0 0 4px rgba(20, 18, 15, 0.25); }
@media (max-width: 700px) {
  .reg-axis { left: 56px; }
  .reg-days { left: 56px; width: 5px; top: 0; height: var(--span); background: repeating-linear-gradient(to bottom, rgba(20, 18, 15, 0.22) 0 1px, transparent 1px 0.27397%); }
  .reg-past { left: -1.5px; width: 2px; background: linear-gradient(180deg, #6e5e3a, #a8873f 30%, #d9bd7e 50%, #8a7548 70%, #b39350); }
  .reg-months { width: 26px; }
  .reg-now { left: 50px; }
  .reg-now::after { left: auto; right: -4px; bottom: -4px; }
  .reg-sky i { left: 42px; top: calc(var(--f) * var(--span)) !important; margin: -3.5px 0 0 -3.5px; }
  .reg-sky .g-sun { left: 56px; margin: -6.5px 0 0 -6.5px; }
  .reg-tl .registrum-row, .reg-tl .is-up, .reg-tl .is-down { left: 56px; }
}
@media print { .reg-days, .reg-sky { display: none; } }
.manifesto-section::before,
.pillars-section::before,
.statvs-section::before,
.mandatum-section::before,
.registrum-section::before,
.colophon-section::before { display: none !important; }
.js-ready .pillar-emblem path[pathLength],
.js-ready .pillar-emblem circle[pathLength],
.js-ready .pillar-emblem line[pathLength] { stroke-dashoffset: 0; transition: none; }
.js-ready .statvs-field .sol-arc :is(line, path)[pathLength] { stroke-dasharray: none; stroke-dashoffset: 0; }
.js-ready .statvs-field .sol-arc { opacity: 0; transition: opacity 1s var(--ease) 0.4s; }
.js-ready .statvs-field.visible .sol-arc { opacity: 1; }
@media (max-width: 767px) {
  .pillars-section, .statvs-section, .registrum-section { padding-top: calc(18vw + 2.6rem) !important; }
  .mono-bg-word { top: 0.6rem; }
  .section-eyebrow { font-size: 11px; letter-spacing: 0.2em; margin-bottom: 1.1rem; }
  .dm-spec > div { grid-template-columns: 1fr; gap: 0.25rem; padding: 0.8rem 0; }
  .dm-spec dd { font-size: var(--step--1); line-height: 1.55; }
  #st-sol { font-size: 0.92em; white-space: nowrap; }
  .reg-sky .g-new, .reg-sky .g-full { width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; opacity: 0.55; }
  .footer-clocks-gap { height: 0; margin: 0; }
  .footer-mark-mega { margin-bottom: 1.6rem; }
  .footer-correspondence { margin: 0.5rem 0 2.2rem; }
  .footer-correspondence a { display: inline-block; padding: 0.6rem 0.4rem 2px; }
  .footer-copy { font-size: 10px; line-height: 2.4; letter-spacing: 0.14em; }
  .footer-copy a { display: inline-block; padding: 0.35rem 0.25rem; }
  .footer-copy .fc-sep { display: none; }
  .footer-copy .fc-links { display: block; }
  .pillar-overlay-body { padding-top: 0.5rem !important; }
  .pillar-overlay-body .pillar-triad > :first-child { margin-top: 1rem !important; }
}
.pillar-title { font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.2rem, 3.2vw, 2.8rem); text-transform: none; letter-spacing: -0.01em; line-height: 1.05; }
.plate__title { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: clamp(1.9rem, 2.6vw, 2.4rem); text-transform: none; letter-spacing: -0.01em; line-height: 1.1; }
.footer-devise .fd-sep { font-style: normal; }
@media (max-width: 767px) {
  :root { --step--2: 0.6875rem; }
  .pillar-title { font-size: 2.4rem !important; letter-spacing: -0.01em; }
  .plate__title { font-size: 2rem; }
  .reg-tl .reg-stat, .reg-now span { font-size: 11px; }
  .reg-months { font-size: 10px; }
  .footer-copy { font-size: 11px; }
  .pillar-dot { padding: 20px 4px; }
  .footer-devise .fd-sep { display: none; }
  .footer-devise span:last-child { display: block; margin-top: 0.35rem; }
}
@media (max-width: 900px) {
  .av-on { height: calc(calc(var(--svh, 1svh) * 100) + 6 * calc(var(--svh, 1svh) * 17)); }
}
.origo-section, .visio-section {
  position: relative; padding: var(--section-y) 0; background: #e8e2d2;
  --bg: #e8e2d2; --ink: #1c1915; --ink-soft: #4a453c; --accent: #6e5e3a; --accent-mute: #645e51; --mute: #645e51; --mute-body: #4a453c;
  --rule: rgba(20, 18, 15, 0.18); --rule-faint: rgba(20, 18, 15, 0.1); --cream: #1c1915; --cream-soft: #4a453c; --gold: #6e5e3a; --gold-sig: #6e5e3a;
  --gold-line: rgba(20, 18, 15, 0.18); --gold-faint: rgba(20, 18, 15, 0.1); --muted: #645e51; --body: #4a453c;
}
.origo-section .mono-bg-word, .visio-section .mono-bg-word { color: rgba(28, 25, 21, 0.055); }
.og-title { font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.6rem, 4.8vw, 4.4rem); line-height: 1.02; letter-spacing: -0.015em; color: #1c1915; }
.og-title em, .og-synth em, .vi-title em { font-family: 'Cormorant Garamond', serif; font-style: italic; color: #6e5e3a; }
.og-intro { position: relative; z-index: 2; max-width: 46rem; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(4rem, 10vw, 8rem); text-align: center; }
.og-intro .section-eyebrow { text-align: center; }
.og-lead { margin-top: 2rem; font-family: 'Cormorant', serif; font-weight: 300; font-size: clamp(1.45rem, 2.3vw, 1.95rem); line-height: 1.45; color: #1c1915; text-wrap: balance; }
.og-sub { margin: 1.6rem auto 0; max-width: 34rem; font-family: var(--mono); font-weight: 300; font-size: var(--step-0); line-height: 1.75; color: #4a453c; text-wrap: balance; }
.og-track { position: relative; height: calc(calc(var(--svh, 1svh) * 100) + 2 * calc(var(--svh, 1svh) * 40)); }
.og { position: sticky; top: 0; height: calc(var(--svh, 1svh) * 100); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; max-width: var(--w-wide); margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 3rem); z-index: 2; }
.og-title--why { margin-top: 1.4rem; }
.og-states { position: relative; margin-top: 1.8rem; min-height: 19rem; }
.og-state { position: absolute; inset: 0 0 auto; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.8s; }
.og-state p { margin-top: 1rem; max-width: 31rem; font-family: var(--mono); font-weight: 300; font-size: var(--step--1); line-height: 1.75; color: #4a453c; }
.og-state p:first-child { margin-top: 0; }
.og-verdict { color: #1c1915 !important; }
.og-verdict b { font-weight: 500; color: #6e5e3a; }
.og-synth { font-family: 'Cormorant', serif; font-weight: 300; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.1; color: #1c1915; margin-bottom: 1.2rem; }
.og-state--b { opacity: 0; transform: translateY(14px); filter: blur(4px); pointer-events: none; }
.og.is-built .og-state--a { opacity: 0; transform: translateY(-14px); filter: blur(4px); pointer-events: none; }
.og.is-built .og-state--b { opacity: 1; transform: none; filter: none; pointer-events: auto; }
.og-plan { position: relative; justify-self: center; width: min(100%, calc(var(--svh, 1svh) * 76)); aspect-ratio: 1; container-type: inline-size; }
.og-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.og-lines .edge { fill: none; stroke: rgba(20, 18, 15, 0.3); stroke-width: 0.22; stroke-dasharray: 1.2 2.4; transition: stroke 0.9s, stroke-dasharray 0.9s, opacity 0.9s; }
.og-lines .web { fill: none; stroke: #8a7548; stroke-width: 0.16; opacity: 0; transition: opacity 1.1s 0.2s; }
.og-lines .ring { fill: none; stroke: rgba(20, 18, 15, 0.12); stroke-width: 0.18; }
.og.is-built .og-lines .edge { stroke: #8a7548; stroke-dasharray: none; }
.og.is-built .og-lines .web { opacity: 0.55; }
.og-seal { position: absolute; left: 50%; top: 50%; width: 15%; height: auto; transform: translate(-50%, -50%) scale(0.7); opacity: 0; transition: opacity 1s 0.3s, transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.3s; filter: drop-shadow(0 6px 14px rgba(28, 25, 21, 0.25)); }
.og.is-built .og-seal { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.og-tiles { list-style: none; margin: 0; padding: 0; }
.og-tile {
  --a: calc(-90deg + var(--i) * 60deg);
  position: absolute; left: calc(50% + 37% * cos(var(--a))); top: calc(50% + 37% * sin(var(--a)));
  width: 25%; aspect-ratio: 1; transform: translate(-50%, -50%);
  border: 1px solid rgba(20, 18, 15, 0.16); background: rgba(232, 226, 210, 0.92);
  display: grid; place-items: center; text-align: center; padding: 6%;
  transition: border-color 0.8s, background 0.8s, box-shadow 0.8s;
}
.og-dom { grid-area: 1 / 1; transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.og-dom { opacity: 0; transform: scale(0.94); display: flex; flex-direction: column; align-items: center; gap: 0.35em; }
.og-dom svg, .og-mark { width: 7cqw; height: 7cqw; fill: none; stroke: #6e5e3a; stroke-width: 1.4; stroke-linecap: round; }
.og-mark { display: block; background: #6e5e3a; -webkit-mask: url(logo.webp) center / contain no-repeat; mask: url(logo.webp) center / contain no-repeat; }
.og-dom b { font-family: var(--mono); font-weight: 400; font-size: 3.3cqw; letter-spacing: 0.18em; color: #6e5e3a; }
.og-dom i { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 4.6cqw; line-height: 1; color: #1c1915; }
.og-dom small { font-family: var(--mono); font-size: 2.6cqw; line-height: 1.45; color: #645e51; }
.og.is-built .og-tile { border-color: rgba(110, 94, 58, 0.45); background: #ede8da; box-shadow: 0 10px 30px -18px rgba(28, 25, 21, 0.35); }
.og.is-built .og-dom { opacity: 1; transform: none; }
.og.is-built .og-tile { transition-delay: calc(var(--i) * 70ms); }
.og.is-built .og-dom { transition-delay: calc(var(--i) * 70ms); }
.og-static .og-track { height: auto; }
.og-static .og { position: static; height: auto; padding-top: 2rem; padding-bottom: 2rem; }
.og-static .og-states { min-height: 0; }
.og-static .og-state { position: static; opacity: 1 !important; transform: none !important; filter: none !important; }
.og-static .og-state--b { margin-top: 2rem; }
@media (max-width: 900px) {
  .og-track { height: calc(calc(var(--svh, 1svh) * 100) + 2 * calc(var(--svh, 1svh) * 60)); }
  .og { grid-template-columns: 1fr; gap: 1rem; align-content: center; }
  .og-text { order: 2; }
  .og-plan { order: 1; width: min(100%, calc(var(--svh, 1svh) * 44)); }
  .og-title--why { font-size: clamp(2rem, 8.5vw, 2.6rem); margin-top: 0.6rem; }
  .og-states { margin-top: 0.8rem; min-height: 15rem; }
  .og-state p { font-size: 12.5px; line-height: 1.65; margin-top: 0.6rem; }
  .og-synth { font-size: 1.7rem; margin-bottom: 0.6rem; }
  .og-dom small { display: none; }
  .og-dom b { font-size: 3.6cqw; }
  .og-dom i { font-size: 5.2cqw; }
  .og-text .ar-chip { display: none; }
}
.vi { position: relative; z-index: 2; max-width: 58rem; margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem); text-align: center; }
.vi .section-eyebrow { text-align: center; }
.vi-title { margin-top: 1.6rem; font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.4rem, 5.4vw, 5rem); line-height: 1.04; letter-spacing: -0.02em; color: #1c1915; text-wrap: balance; }
.vi-text { margin: 2.2rem auto 0; max-width: 36rem; font-family: var(--mono); font-weight: 300; font-size: var(--step-0); line-height: 1.8; color: #4a453c; text-wrap: balance; }
.vi-sign { margin-top: 2.6rem; font-family: var(--mono); font-size: var(--step--2); letter-spacing: 0.22em; color: #6e5e3a; }
@media print { .og-track { height: auto; } .og { position: static; height: auto; } .og-state { position: static; opacity: 1 !important; } }
.og-tile { height: 25%; aspect-ratio: auto; overflow: hidden; padding: 5%; }
.og-dom { gap: 0.3em; }
.og-dom svg, .og-mark { width: 4.6cqw; height: 4.6cqw; margin-bottom: 0.2em; }
.og-dom b { font-size: 1.75cqw; letter-spacing: 0.2em; }
.og-dom i { font-size: 3cqw; }
.og-dom small { font-size: 1.6cqw; line-height: 1.5; max-width: 92%; }
@media (max-width: 900px) {
  .og-tile { padding: 4%; }
  .og-dom svg, .og-mark { width: 6cqw; height: 6cqw; }
  .og-dom b { font-size: 2.7cqw; letter-spacing: 0.14em; }
  .og-dom i { font-size: 3.9cqw; }
}
.og-tile { background: #e8e2d2; }
.og-lines .web { opacity: 0.5; stroke: rgba(20, 18, 15, 0.22); stroke-dasharray: 0.8 1.8; transition: opacity 1.1s 0.2s, stroke 1.1s, stroke-dasharray 1.1s; }
.og.is-built .og-lines .web { opacity: 0.55; stroke: #8a7548; stroke-dasharray: none; }
.og-plan.is-built .og-lines .edge { stroke: #8a7548; stroke-dasharray: none; }
.og-plan.is-built .og-lines .web { opacity: 0.55; stroke: #8a7548; stroke-dasharray: none; }
.og-plan.is-built .og-seal { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.og-plan.is-built .og-tile { border-color: rgba(110, 94, 58, 0.45); background: #ede8da; box-shadow: 0 10px 30px -18px rgba(28, 25, 21, 0.35); }
.og-plan.is-built .og-dom { opacity: 1; transform: none; }
.js-ready .og-plan { opacity: 0; transform: scale(0.97); transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.4s cubic-bezier(0.16, 1, 0.3, 1); }
.js-ready .og-plan.is-seen { opacity: 1; transform: none; }
.vi-text { margin-top: 2.8rem; }
.vi-sign { margin-top: 3.4rem; }
.dm-lede { margin-top: 1.8rem; }
.dm-spec { margin-top: 3.2rem; }
:root { --section-y: clamp(10rem, 13vw, 15rem); }
@media (max-width: 900px) { :root { --section-y: 4.75rem; } }
.ar-meta { align-items: baseline; flex-wrap: wrap; gap: 0.5rem 1.1rem; }
.ar-term { margin: 0; font-family: var(--mono); font-style: normal; font-weight: 400; font-size: var(--step--2); line-height: 1.4; letter-spacing: 0.16em; text-transform: uppercase; color: #6e5e3a; }
.ar-rule, .av-rule { margin-top: 1.3rem; max-width: 19em; font-family: 'Cormorant', 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(1.75rem, 2.7vw, 2.5rem); line-height: 1.16; letter-spacing: -0.012em; color: #1c1915; text-wrap: balance; }
.av-meta { flex-wrap: wrap; gap: 0.4rem 1.1rem; }
.av-meta i { font-style: normal; letter-spacing: 0.16em; color: #6e5e3a; }
.av-read { min-height: 12.5rem; }
.av-seal { opacity: 0.5; }
@media (max-width: 900px) {
  .av-rule { font-size: clamp(1.45rem, 6.4vw, 1.8rem); line-height: 1.2; margin-top: 0.8rem; }
  .av-read { min-height: 10.5rem; }
}
.dm { align-items: center; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.dm-seal { min-height: min(calc(var(--svh, 1svh) * 96), 920px); }
.dm-text { padding-top: clamp(6rem, 11vw, 10rem); padding-bottom: clamp(6rem, 11vw, 10rem); }
@media (max-width: 900px) {
  .dm { grid-template-columns: 1fr; }
  .dm-seal { min-height: min(calc(var(--svh, 1svh) * 62), 110vw); }
  .dm-text { padding-top: 1rem; padding-bottom: 5rem; }
}
.og-tile { cursor: pointer; -webkit-tap-highlight-color: transparent; transition: border-color 0.5s, background 0.5s, box-shadow 0.5s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s; }
.og-tile:focus-visible { outline: 1px solid #6e5e3a; outline-offset: 3px; }
.og-plan.has-pick .og-tile:not(.is-on) { opacity: 0.55; }
.og-plan.is-built .og-tile.is-on { transform: translate(-50%, -50%) scale(1.07); border-color: #a8873f; background: #f1ecdf; box-shadow: 0 0 0 1px rgba(168, 135, 63, 0.35), 0 18px 40px -18px rgba(110, 94, 58, 0.6); z-index: 2; }
.og-lines line { transition: stroke 0.5s, opacity 0.5s, stroke-width 0.5s; }
.og-plan.has-pick .og-lines line { opacity: 0.22; }
.og-plan.is-built .og-lines line.is-on { opacity: 1; stroke: #a8873f; stroke-width: 0.32; }
.og-cap { position: absolute; left: 0; right: 0; top: calc(100% + 0.6rem); margin: 0; text-align: center; font-family: var(--mono); font-weight: 300; font-size: var(--step--1); line-height: 1.5; color: #4a453c; opacity: 0; transform: translateY(4px); transition: opacity 0.5s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); pointer-events: none; }
.og-cap.is-on { opacity: 1; transform: none; }
.og-cap b { font-weight: 400; letter-spacing: 0.16em; color: #6e5e3a; margin-right: 0.6em; }
@media (max-width: 900px) {
  .og-static .og { gap: 3.4rem; padding-top: 0; padding-bottom: 0; }
  .og-static .og-plan { width: min(100%, 23rem); }
  .og-static .og-states { margin-top: 1.4rem; }
  .og-static .og-state p { font-size: 0.875rem; line-height: 1.7; margin-top: 0.9rem; max-width: none; }
  .og-static .og-state--b { margin-top: 2.6rem; }
}
.reg-tl .is-undated { left: auto; right: 5.5%; padding: 0 12px 54px 0; text-align: right; }
.reg-tl .is-undated::before { left: auto; right: -5px; }
.reg-tl .is-undated::after { left: auto; right: -1px; }
.reg-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.8rem; margin: 1.2rem 0 0; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #645e51; }
.reg-legend span { display: inline-flex; align-items: center; gap: 0.6em; }
.reg-legend i { display: block; flex: none; width: 7px; height: 7px; border-radius: 50%; }
.reg-legend .g-new { background: #1c1915; }
.reg-legend .g-full { border: 1px solid rgba(20, 18, 15, 0.55); }
.reg-legend .g-sun { width: 13px; height: 13px; border: 1px solid #8a7548; background: radial-gradient(circle, #8a7548 0 1.6px, transparent 2.2px); }
.reg-legend .g-sun.is-solstice { margin: 0 4px; box-shadow: 0 0 0 3px #e8e2d2, 0 0 0 4px rgba(138, 117, 72, 0.45); }
@media (max-width: 700px) {
  .reg-tl { height: auto; }
  .reg-axis, .reg-months, .reg-now, .reg-days, .reg-sky, .reg-legend { display: none; }
  .reg-tl .registrum-list { position: static; border-top: 1px solid rgba(20, 18, 15, 0.18); }
  .reg-tl .registrum-row, .reg-tl .is-up, .reg-tl .is-down, .reg-tl .is-end, .reg-tl .is-undated { position: static; display: block; width: auto; max-width: none; transform: none; padding: 1.05rem 0; text-align: left; border-bottom: 1px solid rgba(20, 18, 15, 0.18); }
  .reg-tl .registrum-row::before, .reg-tl .registrum-row::after { display: none; }
  .reg-tl .reg-idx { position: static; display: block; width: auto; height: auto; overflow: visible; clip: auto; margin-bottom: 0.35rem; font-size: 11px; letter-spacing: 0.14em; }
  .reg-tl .reg-entry { font-size: 0.95rem; }
}
.mono-bg-word { font-family: 'Cormorant', serif; font-weight: 300; }
