/* ═══════════════════════════════════════════════════════════════
   FOLLOWERS OF POSEIDON — surface to abyss
   Materials, never functions.
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* the air */
  --sky:        #f4f9fc;
  --haze:       #dcecf5;
  --shoal:      #aed2e7;

  /* the water column */
  --sunlit:     #4189b8;
  --midwater:   #2a628f;
  --twilight:   #16436b;
  --deep:       #0a2a4a;
  --abyssal:    #041830;
  --floor:      #010a16;

  /* what lives in it */
  --foam:       #eef3ee;   /* text below the waterline           */
  --salt:       #c5d6dd;   /* secondary text, dissolved light    */
  --ink:        #12314f;   /* text above the waterline           */
  --gilt:       #c9a86a;   /* votive metal — the house gold      */
  --gilt-ink:   #8a6d33;   /* the same metal, seen in daylight   */
  --gilt-dim:   rgba(201, 168, 106, 0.35);

  --display: 'Cinzel', 'Trajan Pro', serif;
  --scripture: 'EB Garamond', Georgia, serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--scripture);
  background: var(--floor);
  color: var(--foam);
  overflow-x: hidden;
}

img { max-width: 100%; }

::selection { background: var(--gilt); color: var(--floor); }

/* ═══════════════ MASTHEAD ═══════════════ */

.masthead {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 2rem;
  transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

.masthead.submerged {
  background: rgba(3, 16, 31, 0.94);
  box-shadow: 0 1px 0 rgba(201, 168, 106, 0.18);
}

.masthead-mark {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
}

.masthead-mark img { display: block; transition: filter 0.4s ease; }

.masthead-word {
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  transition: color 0.4s ease;
}

.masthead-nav {
  display: flex;
  align-items: center;
  gap: 1.8rem;
}

.masthead-nav a {
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  transition: color 0.4s ease, filter 0.12s ease;
}

.masthead-nav a:hover { filter: brightness(1.35); }

.masthead-cta {
  border: 1px solid currentColor;
  padding: 0.55em 1.1em;
}

.masthead.submerged .masthead-word,
.masthead.submerged .masthead-nav a { color: var(--foam); }
.masthead.submerged .masthead-cta { color: var(--gilt); }
.masthead.submerged .masthead-mark img { filter: invert(1); }

/* ═══════════════ HERO — the surface ═══════════════ */

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  /* the 2018 cover glow, bleached to daylight */
  background:
    radial-gradient(ellipse 120% 90% at 50% 30%,
      #ffffff 0%,
      var(--sky) 28%,
      var(--haze) 58%,
      var(--shoal) 100%);
}

.hero-inner {
  text-align: center;
  padding: 6rem 1.5rem 10rem;
  position: relative;
  z-index: 2;
}

.hero-sigil {
  display: block;
  margin: 0 auto 2.2rem;
  opacity: 0.92;
}

.hero-eyebrow {
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--gilt-ink);
  opacity: 0.8;
  margin-bottom: 1.6rem;
}

.hero-title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(2.2rem, 6.5vw, 4.6rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.12;
}

.hero-of {
  font-size: 0.62em;
  letter-spacing: 0.2em;
  vertical-align: 0.06em;
  opacity: 0.75;
}

.hero-mantra {
  font-family: var(--scripture);
  font-style: italic;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--ink);
  opacity: 0.72;
  margin-top: 1.5rem;
}

.hero-descend {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
}

.hero-descend-label {
  font-family: var(--display);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--ink);
  opacity: 0.5;
}

.hero-descend-line {
  width: 1px;
  height: 52px;
  background: linear-gradient(to bottom, var(--ink), transparent);
  opacity: 0.5;
  animation: plumb 4s ease-in-out infinite;
}

@keyframes plumb {
  0%, 100% { transform: scaleY(1); }
  50%      { transform: scaleY(0.7); transform-origin: top; }
}

/* ═══════════════ WATERLINE ═══════════════ */

.waterline {
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 130px;
  overflow: hidden;
  z-index: 3;
}

.wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  height: 100%;
}

.wave path { fill: currentColor; }

.wave-far {
  color: var(--shoal);
  opacity: 0.75;
  animation: swell 26s linear infinite;
}

.wave-mid {
  color: var(--sunlit);
  opacity: 0.65;
  animation: swell 17s linear infinite reverse;
}

.wave-near {
  color: var(--sunlit);
  animation: swell 11s linear infinite;
}

@keyframes swell {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ═══════════════ THE DESCENT ═══════════════ */

.descent {
  position: relative;
  background: linear-gradient(to bottom,
    var(--sunlit)   0%,
    var(--midwater) 14%,
    var(--twilight) 34%,
    var(--deep)     56%,
    var(--abyssal)  78%,
    var(--floor)    100%);
  overflow: hidden;
}

/* light from the surface, lost by the twilight zone */
.rays {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1100px;
  background:
    linear-gradient(112deg, transparent 42%, rgba(244, 249, 252, 0.14) 46%, transparent 51%),
    linear-gradient(100deg, transparent 24%, rgba(244, 249, 252, 0.10) 29%, transparent 35%),
    linear-gradient(125deg, transparent 60%, rgba(244, 249, 252, 0.08) 65%, transparent 71%),
    linear-gradient(to bottom, rgba(244, 249, 252, 0.16), transparent 75%);
  mask-image: linear-gradient(to bottom, black, transparent);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}

/* particulate drift — marine snow */
.drift {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 22% 18%, rgba(238, 243, 238, 0.35), transparent 100%),
    radial-gradient(1px 1px at 68% 42%, rgba(238, 243, 238, 0.28), transparent 100%),
    radial-gradient(2px 2px at 84% 71%, rgba(238, 243, 238, 0.22), transparent 100%),
    radial-gradient(1px 1px at 39% 63%, rgba(238, 243, 238, 0.30), transparent 100%),
    radial-gradient(1.5px 1.5px at 9% 87%, rgba(238, 243, 238, 0.20), transparent 100%),
    radial-gradient(1px 1px at 55% 92%, rgba(238, 243, 238, 0.25), transparent 100%);
  background-size: 1100px 900px;
  animation: sink 90s linear infinite;
  pointer-events: none;
  opacity: 0.8;
}

@keyframes sink {
  from { background-position: 0 0; }
  to   { background-position: -60px 900px; }
}

/* bathymetric contours — the chart of the descent */
.contours {
  position: absolute;
  inset: 0;
  background-image:
    url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221400%22 height=%22860%22 viewBox=%220 0 1400 860%22%3E%3Cpath d=%22M0,83.5 L20,85.4 L40,87.8 L60,90.6 L80,93.5 L100,96.0 L120,97.5 L140,97.5 L160,95.7 L180,92.0 L200,86.6 L220,80.1 L240,73.3 L260,66.9 L280,61.8 L300,58.6 L320,57.4 L340,58.1 L360,60.2 L380,63.1 L400,65.9 L420,67.7 L440,67.9 L460,66.3 L480,63.0 L500,58.2 L520,52.9 L540,47.9 L560,44.1 L580,42.1 L600,42.6 L620,45.4 L640,50.5 L660,57.1 L680,64.5 L700,71.9 L720,78.6 L740,84.0 L760,88.1 L780,90.8 L800,92.4 L820,93.5 L840,94.5 L860,95.6 L880,97.0 L900,98.4 L920,99.5 L940,99.7 L960,98.4 L980,94.9 L1000,89.1 L1020,81.0 L1040,71.1 L1060,60.0 L1080,48.9 L1100,38.7 L1120,30.7 L1140,25.5 L1160,23.7 L1180,25.3 L1200,29.9 L1220,36.8 L1240,44.9 L1260,53.5 L1280,61.4 L1300,68.2 L1320,73.5 L1340,77.3 L1360,79.9 L1380,81.8 L1400,83.5%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,190.8 L20,187.7 L40,184.2 L60,179.8 L80,174.3 L100,167.7 L120,160.7 L140,153.8 L160,148.1 L180,144.3 L200,143.1 L220,144.7 L240,149.0 L260,155.3 L280,162.8 L300,170.2 L320,176.5 L340,180.9 L360,182.9 L380,182.5 L400,180.2 L420,176.8 L440,173.4 L460,171.2 L480,171.1 L500,173.6 L520,178.7 L540,186.1 L560,194.9 L580,204.0 L600,212.1 L620,218.1 L640,221.4 L660,221.6 L680,218.8 L700,213.6 L720,206.8 L740,199.3 L760,191.9 L780,185.3 L800,179.7 L820,175.0 L840,170.9 L860,166.8 L880,162.3 L900,156.8 L920,150.5 L940,143.6 L960,136.8 L980,131.1 L1000,127.5 L1020,127.0 L1040,130.2 L1060,137.5 L1080,148.4 L1100,162.2 L1120,177.6 L1140,193.1 L1160,207.3 L1180,218.8 L1200,226.8 L1220,230.7 L1240,230.9 L1260,227.8 L1280,222.4 L1300,215.9 L1320,209.2 L1340,203.1 L1360,198.1 L1380,194.1 L1400,190.8%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,239.1 L20,240.0 L40,240.7 L60,242.0 L80,244.6 L100,249.1 L120,255.9 L140,264.9 L160,275.3 L180,286.3 L200,296.6 L220,304.9 L240,310.3 L260,312.3 L280,310.8 L300,306.3 L320,300.0 L340,293.0 L360,286.9 L380,282.8 L400,281.5 L420,283.0 L440,287.0 L460,292.4 L480,298.1 L500,302.4 L520,304.3 L540,302.7 L560,297.4 L580,288.6 L600,277.3 L620,264.7 L640,252.3 L660,241.4 L680,233.0 L700,227.9 L720,226.1 L740,227.1 L760,230.2 L780,234.5 L800,239.1 L820,243.5 L840,247.4 L860,250.9 L880,254.7 L900,259.5 L920,266.0 L940,274.8 L960,285.9 L980,298.9 L1000,313.0 L1020,326.7 L1040,338.5 L1060,346.9 L1080,350.6 L1100,348.9 L1120,341.7 L1140,329.6 L1160,313.9 L1180,296.3 L1200,278.5 L1220,262.2 L1240,248.8 L1260,239.1 L1280,233.3 L1300,230.9 L1320,231.1 L1340,233.0 L1360,235.4 L1380,237.5 L1400,239.1%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22 stroke-dasharray=%221 7%22/%3E%3Cpath d=%22M0,410.3 L20,412.1 L40,414.3 L60,416.8 L80,419.4 L100,421.4 L120,422.3 L140,421.7 L160,419.2 L180,414.9 L200,409.1 L220,402.3 L240,395.5 L260,389.4 L280,384.7 L300,381.9 L320,381.3 L340,382.4 L360,384.9 L380,387.9 L400,390.6 L420,392.2 L440,392.2 L460,390.3 L480,386.7 L500,381.9 L520,376.8 L540,372.1 L560,368.9 L580,367.7 L600,369.0 L620,372.6 L640,378.2 L660,385.3 L680,392.9 L700,400.2 L720,406.7 L740,411.7 L760,415.3 L780,417.5 L800,418.8 L820,419.5 L840,420.1 L860,420.9 L880,421.9 L900,422.9 L920,423.5 L940,423.0 L960,420.9 L980,416.7 L1000,410.2 L1020,401.6 L1040,391.4 L1060,380.3 L1080,369.5 L1100,360.1 L1120,353.0 L1140,349.1 L1160,348.5 L1180,351.3 L1200,357.0 L1220,364.6 L1240,373.3 L1260,382.0 L1280,390.0 L1300,396.5 L1320,401.5 L1340,404.9 L1360,407.2 L1380,408.8 L1400,410.3%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,497.8 L20,494.6 L40,491.0 L60,486.4 L80,480.8 L100,474.4 L120,467.5 L140,461.2 L160,456.2 L180,453.3 L200,453.0 L220,455.6 L240,460.7 L260,467.6 L280,475.3 L300,482.8 L320,488.9 L340,492.8 L360,494.3 L380,493.4 L400,490.8 L420,487.4 L440,484.2 L460,482.4 L480,482.9 L500,486.0 L520,491.6 L540,499.3 L560,508.1 L580,516.8 L600,524.2 L620,529.4 L640,531.6 L660,530.7 L680,526.9 L700,520.9 L720,513.4 L740,505.6 L760,498.1 L780,491.5 L800,486.0 L820,481.5 L840,477.5 L860,473.6 L880,469.1 L900,463.8 L920,457.8 L940,451.3 L960,445.2 L980,440.5 L1000,438.1 L1020,439.0 L1040,443.6 L1060,452.2 L1080,464.2 L1100,478.6 L1120,494.2 L1140,509.5 L1160,522.9 L1180,533.4 L1200,540.0 L1220,542.5 L1240,541.3 L1260,537.0 L1280,530.8 L1300,523.6 L1320,516.5 L1340,510.3 L1360,505.1 L1380,501.1 L1400,497.8%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,565.0 L20,566.3 L40,567.5 L60,569.4 L80,572.7 L100,577.9 L120,585.3 L140,594.7 L160,605.2 L180,616.0 L200,625.7 L220,633.2 L240,637.6 L260,638.4 L280,635.9 L300,630.6 L320,623.7 L340,616.6 L360,610.6 L380,606.9 L400,606.0 L420,607.9 L440,612.1 L460,617.5 L480,622.8 L500,626.4 L520,627.3 L540,624.7 L560,618.4 L580,608.9 L600,597.2 L620,584.6 L640,572.5 L660,562.3 L680,555.0 L700,551.1 L720,550.4 L740,552.6 L760,556.6 L780,561.6 L800,566.8 L820,571.6 L840,575.8 L860,579.7 L880,583.9 L900,589.2 L920,596.2 L940,605.4 L960,616.8 L980,629.8 L1000,643.4 L1020,656.2 L1040,666.6 L1060,673.3 L1080,675.0 L1100,671.3 L1120,662.2 L1140,648.6 L1160,631.9 L1180,613.7 L1200,596.0 L1220,580.3 L1240,567.8 L1260,559.3 L1280,554.7 L1300,553.5 L1320,554.8 L1340,557.4 L1360,560.4 L1380,563.1 L1400,565.0%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22 stroke-dasharray=%221 7%22/%3E%3Cpath d=%22M0,717.0 L20,718.6 L40,720.6 L60,722.8 L80,725.0 L100,726.5 L120,726.8 L140,725.5 L160,722.4 L180,717.6 L200,711.4 L220,704.5 L240,697.7 L260,691.9 L280,687.7 L300,685.4 L320,685.3 L340,686.9 L360,689.7 L380,692.8 L400,695.5 L420,696.8 L440,696.5 L460,694.3 L480,690.5 L500,685.7 L520,680.8 L540,676.6 L560,674.1 L580,673.6 L600,675.7 L620,680.0 L640,686.2 L660,693.6 L680,701.3 L700,708.5 L720,714.6 L740,719.3 L760,722.3 L780,724.1 L800,724.9 L820,725.2 L840,725.4 L860,725.9 L880,726.5 L900,727.1 L920,727.1 L940,726.0 L960,723.2 L980,718.3 L1000,711.2 L1020,702.1 L1040,691.7 L1060,680.8 L1080,670.5 L1100,661.9 L1120,655.9 L1140,653.1 L1160,653.9 L1180,657.8 L1200,664.4 L1220,672.8 L1240,681.9 L1260,690.8 L1280,698.6 L1300,704.9 L1320,709.4 L1340,712.5 L1360,714.4 L1380,715.8 L1400,717.0%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,794.7 L20,791.5 L40,787.7 L60,783.1 L80,777.5 L100,771.1 L120,764.7 L140,758.9 L160,754.6 L180,752.7 L200,753.4 L220,756.9 L240,762.7 L260,770.2 L280,778.1 L300,785.5 L320,791.2 L340,794.7 L360,795.7 L380,794.4 L400,791.5 L420,788.0 L440,785.1 L460,783.8 L480,784.8 L500,788.4 L520,794.5 L540,802.4 L560,811.1 L580,819.4 L600,826.0 L620,830.2 L640,831.4 L660,829.4 L680,824.6 L700,817.8 L720,809.8 L740,801.7 L760,794.1 L780,787.7 L800,782.4 L820,778.1 L840,774.3 L860,770.5 L880,766.2 L900,761.1 L920,755.4 L940,749.5 L960,744.2 L980,740.5 L1000,739.4 L1020,741.6 L1040,747.6 L1060,757.3 L1080,770.2 L1100,785.2 L1120,800.8 L1140,815.6 L1160,828.2 L1180,837.4 L1200,842.6 L1220,843.7 L1240,841.1 L1260,835.8 L1280,828.6 L1300,820.9 L1320,813.5 L1340,807.2 L1360,802.0 L1380,798.0 L1400,794.7%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3C/svg%3E'),
    url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221400%22 height=%22860%22 viewBox=%220 0 1400 860%22%3E%3Cpath d=%22M0,83.5 L20,85.4 L40,87.8 L60,90.6 L80,93.5 L100,96.0 L120,97.5 L140,97.5 L160,95.7 L180,92.0 L200,86.6 L220,80.1 L240,73.3 L260,66.9 L280,61.8 L300,58.6 L320,57.4 L340,58.1 L360,60.2 L380,63.1 L400,65.9 L420,67.7 L440,67.9 L460,66.3 L480,63.0 L500,58.2 L520,52.9 L540,47.9 L560,44.1 L580,42.1 L600,42.6 L620,45.4 L640,50.5 L660,57.1 L680,64.5 L700,71.9 L720,78.6 L740,84.0 L760,88.1 L780,90.8 L800,92.4 L820,93.5 L840,94.5 L860,95.6 L880,97.0 L900,98.4 L920,99.5 L940,99.7 L960,98.4 L980,94.9 L1000,89.1 L1020,81.0 L1040,71.1 L1060,60.0 L1080,48.9 L1100,38.7 L1120,30.7 L1140,25.5 L1160,23.7 L1180,25.3 L1200,29.9 L1220,36.8 L1240,44.9 L1260,53.5 L1280,61.4 L1300,68.2 L1320,73.5 L1340,77.3 L1360,79.9 L1380,81.8 L1400,83.5%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,190.8 L20,187.7 L40,184.2 L60,179.8 L80,174.3 L100,167.7 L120,160.7 L140,153.8 L160,148.1 L180,144.3 L200,143.1 L220,144.7 L240,149.0 L260,155.3 L280,162.8 L300,170.2 L320,176.5 L340,180.9 L360,182.9 L380,182.5 L400,180.2 L420,176.8 L440,173.4 L460,171.2 L480,171.1 L500,173.6 L520,178.7 L540,186.1 L560,194.9 L580,204.0 L600,212.1 L620,218.1 L640,221.4 L660,221.6 L680,218.8 L700,213.6 L720,206.8 L740,199.3 L760,191.9 L780,185.3 L800,179.7 L820,175.0 L840,170.9 L860,166.8 L880,162.3 L900,156.8 L920,150.5 L940,143.6 L960,136.8 L980,131.1 L1000,127.5 L1020,127.0 L1040,130.2 L1060,137.5 L1080,148.4 L1100,162.2 L1120,177.6 L1140,193.1 L1160,207.3 L1180,218.8 L1200,226.8 L1220,230.7 L1240,230.9 L1260,227.8 L1280,222.4 L1300,215.9 L1320,209.2 L1340,203.1 L1360,198.1 L1380,194.1 L1400,190.8%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,239.1 L20,240.0 L40,240.7 L60,242.0 L80,244.6 L100,249.1 L120,255.9 L140,264.9 L160,275.3 L180,286.3 L200,296.6 L220,304.9 L240,310.3 L260,312.3 L280,310.8 L300,306.3 L320,300.0 L340,293.0 L360,286.9 L380,282.8 L400,281.5 L420,283.0 L440,287.0 L460,292.4 L480,298.1 L500,302.4 L520,304.3 L540,302.7 L560,297.4 L580,288.6 L600,277.3 L620,264.7 L640,252.3 L660,241.4 L680,233.0 L700,227.9 L720,226.1 L740,227.1 L760,230.2 L780,234.5 L800,239.1 L820,243.5 L840,247.4 L860,250.9 L880,254.7 L900,259.5 L920,266.0 L940,274.8 L960,285.9 L980,298.9 L1000,313.0 L1020,326.7 L1040,338.5 L1060,346.9 L1080,350.6 L1100,348.9 L1120,341.7 L1140,329.6 L1160,313.9 L1180,296.3 L1200,278.5 L1220,262.2 L1240,248.8 L1260,239.1 L1280,233.3 L1300,230.9 L1320,231.1 L1340,233.0 L1360,235.4 L1380,237.5 L1400,239.1%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22 stroke-dasharray=%221 7%22/%3E%3Cpath d=%22M0,410.3 L20,412.1 L40,414.3 L60,416.8 L80,419.4 L100,421.4 L120,422.3 L140,421.7 L160,419.2 L180,414.9 L200,409.1 L220,402.3 L240,395.5 L260,389.4 L280,384.7 L300,381.9 L320,381.3 L340,382.4 L360,384.9 L380,387.9 L400,390.6 L420,392.2 L440,392.2 L460,390.3 L480,386.7 L500,381.9 L520,376.8 L540,372.1 L560,368.9 L580,367.7 L600,369.0 L620,372.6 L640,378.2 L660,385.3 L680,392.9 L700,400.2 L720,406.7 L740,411.7 L760,415.3 L780,417.5 L800,418.8 L820,419.5 L840,420.1 L860,420.9 L880,421.9 L900,422.9 L920,423.5 L940,423.0 L960,420.9 L980,416.7 L1000,410.2 L1020,401.6 L1040,391.4 L1060,380.3 L1080,369.5 L1100,360.1 L1120,353.0 L1140,349.1 L1160,348.5 L1180,351.3 L1200,357.0 L1220,364.6 L1240,373.3 L1260,382.0 L1280,390.0 L1300,396.5 L1320,401.5 L1340,404.9 L1360,407.2 L1380,408.8 L1400,410.3%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,497.8 L20,494.6 L40,491.0 L60,486.4 L80,480.8 L100,474.4 L120,467.5 L140,461.2 L160,456.2 L180,453.3 L200,453.0 L220,455.6 L240,460.7 L260,467.6 L280,475.3 L300,482.8 L320,488.9 L340,492.8 L360,494.3 L380,493.4 L400,490.8 L420,487.4 L440,484.2 L460,482.4 L480,482.9 L500,486.0 L520,491.6 L540,499.3 L560,508.1 L580,516.8 L600,524.2 L620,529.4 L640,531.6 L660,530.7 L680,526.9 L700,520.9 L720,513.4 L740,505.6 L760,498.1 L780,491.5 L800,486.0 L820,481.5 L840,477.5 L860,473.6 L880,469.1 L900,463.8 L920,457.8 L940,451.3 L960,445.2 L980,440.5 L1000,438.1 L1020,439.0 L1040,443.6 L1060,452.2 L1080,464.2 L1100,478.6 L1120,494.2 L1140,509.5 L1160,522.9 L1180,533.4 L1200,540.0 L1220,542.5 L1240,541.3 L1260,537.0 L1280,530.8 L1300,523.6 L1320,516.5 L1340,510.3 L1360,505.1 L1380,501.1 L1400,497.8%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,565.0 L20,566.3 L40,567.5 L60,569.4 L80,572.7 L100,577.9 L120,585.3 L140,594.7 L160,605.2 L180,616.0 L200,625.7 L220,633.2 L240,637.6 L260,638.4 L280,635.9 L300,630.6 L320,623.7 L340,616.6 L360,610.6 L380,606.9 L400,606.0 L420,607.9 L440,612.1 L460,617.5 L480,622.8 L500,626.4 L520,627.3 L540,624.7 L560,618.4 L580,608.9 L600,597.2 L620,584.6 L640,572.5 L660,562.3 L680,555.0 L700,551.1 L720,550.4 L740,552.6 L760,556.6 L780,561.6 L800,566.8 L820,571.6 L840,575.8 L860,579.7 L880,583.9 L900,589.2 L920,596.2 L940,605.4 L960,616.8 L980,629.8 L1000,643.4 L1020,656.2 L1040,666.6 L1060,673.3 L1080,675.0 L1100,671.3 L1120,662.2 L1140,648.6 L1160,631.9 L1180,613.7 L1200,596.0 L1220,580.3 L1240,567.8 L1260,559.3 L1280,554.7 L1300,553.5 L1320,554.8 L1340,557.4 L1360,560.4 L1380,563.1 L1400,565.0%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22 stroke-dasharray=%221 7%22/%3E%3Cpath d=%22M0,717.0 L20,718.6 L40,720.6 L60,722.8 L80,725.0 L100,726.5 L120,726.8 L140,725.5 L160,722.4 L180,717.6 L200,711.4 L220,704.5 L240,697.7 L260,691.9 L280,687.7 L300,685.4 L320,685.3 L340,686.9 L360,689.7 L380,692.8 L400,695.5 L420,696.8 L440,696.5 L460,694.3 L480,690.5 L500,685.7 L520,680.8 L540,676.6 L560,674.1 L580,673.6 L600,675.7 L620,680.0 L640,686.2 L660,693.6 L680,701.3 L700,708.5 L720,714.6 L740,719.3 L760,722.3 L780,724.1 L800,724.9 L820,725.2 L840,725.4 L860,725.9 L880,726.5 L900,727.1 L920,727.1 L940,726.0 L960,723.2 L980,718.3 L1000,711.2 L1020,702.1 L1040,691.7 L1060,680.8 L1080,670.5 L1100,661.9 L1120,655.9 L1140,653.1 L1160,653.9 L1180,657.8 L1200,664.4 L1220,672.8 L1240,681.9 L1260,690.8 L1280,698.6 L1300,704.9 L1320,709.4 L1340,712.5 L1360,714.4 L1380,715.8 L1400,717.0%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3Cpath d=%22M0,794.7 L20,791.5 L40,787.7 L60,783.1 L80,777.5 L100,771.1 L120,764.7 L140,758.9 L160,754.6 L180,752.7 L200,753.4 L220,756.9 L240,762.7 L260,770.2 L280,778.1 L300,785.5 L320,791.2 L340,794.7 L360,795.7 L380,794.4 L400,791.5 L420,788.0 L440,785.1 L460,783.8 L480,784.8 L500,788.4 L520,794.5 L540,802.4 L560,811.1 L580,819.4 L600,826.0 L620,830.2 L640,831.4 L660,829.4 L680,824.6 L700,817.8 L720,809.8 L740,801.7 L760,794.1 L780,787.7 L800,782.4 L820,778.1 L840,774.3 L860,770.5 L880,766.2 L900,761.1 L920,755.4 L940,749.5 L960,744.2 L980,740.5 L1000,739.4 L1020,741.6 L1040,747.6 L1060,757.3 L1080,770.2 L1100,785.2 L1120,800.8 L1140,815.6 L1160,828.2 L1180,837.4 L1200,842.6 L1220,843.7 L1240,841.1 L1260,835.8 L1280,828.6 L1300,820.9 L1320,813.5 L1340,807.2 L1360,802.0 L1380,798.0 L1400,794.7%22 fill=%22none%22 stroke=%22%23eef3ee%22 stroke-width=%221%22/%3E%3C/svg%3E');
  background-size: 1400px 860px, 2300px 1410px;
  background-position: 0 0, 640px 300px;
  opacity: 0.05;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, transparent, black 12%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 12%);
}

/* ═══════════════ PASSAGES ═══════════════ */

.passage {
  position: relative;
  z-index: 2;
  max-width: 44rem;
  margin: 0 auto;
  padding: 22vh 1.5rem;
  text-align: center;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 2s cubic-bezier(0.25, 0.1, 0.35, 1), transform 2s cubic-bezier(0.25, 0.1, 0.35, 1);
}

.passage.present {
  opacity: 1;
  transform: none;
}

.passage:first-of-type { padding-top: 30vh; }

.passage-depth {
  font-family: var(--display);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.46em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.85;
  margin-bottom: 2rem;
}

.passage-title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--foam);
  margin-bottom: 2.8rem;
}

.passage-title::after {
  content: '';
  display: block;
  width: 72px;
  height: 1px;
  margin: 1.6rem auto 0;
  background: linear-gradient(to right, transparent, var(--gilt-dim), transparent);
}

.scripture {
  text-align: left;
  font-size: 1.22rem;
  line-height: 1.85;
  color: var(--foam);
}

.scripture p + p { margin-top: 1.4em; }

.scripture p:first-of-type::first-letter {
  font-family: var(--display);
  font-size: 3.1em;
  line-height: 0.8;
  float: left;
  padding: 0.08em 0.12em 0 0;
  color: var(--gilt);
}

.scripture em { font-style: italic; }

.scripture-center { text-align: center; }
.scripture-center p:first-of-type::first-letter {
  float: none; padding: 0; font-size: inherit; font-family: inherit; color: inherit; line-height: inherit;
}

.passage-attrib {
  margin-top: 2.6rem;
  font-style: italic;
  font-size: 1.02rem;
  color: var(--salt);
}

.passage-note {
  margin-top: 2.8rem;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--salt);
}

.passage-link {
  display: inline-block;
  margin-top: 3rem;
  font-family: var(--display);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gilt);
  text-decoration: none;
  border-bottom: 1px solid var(--gilt-dim);
  padding-bottom: 0.5em;
  transition: filter 0.12s ease;
}

.passage-link:hover { filter: brightness(1.15); }

/* ═══════════════ TENETS ═══════════════ */

.tenets {
  list-style: none;
  text-align: left;
  display: grid;
  gap: 2.6rem;
}

.tenet {
  position: relative;
  padding: 1.8rem 2rem 1.8rem 5.2rem;
  /* doubled hairline */
  box-shadow:
    inset 0 0 0 1px rgba(201, 168, 106, 0.22),
    inset 0 0 0 5px rgba(4, 24, 48, 0.0),
    inset 0 0 0 6px rgba(201, 168, 106, 0.09);
  background: rgba(1, 10, 22, 0.25);
}

.tenet-numeral {
  position: absolute;
  left: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--display);
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--gilt);
  opacity: 0.9;
}

.tenet-name {
  font-family: var(--display);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--foam);
  margin-bottom: 0.6rem;
}

.tenet-text {
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--salt);
}

/* ═══════════════ THE ABYSS — enter ═══════════════ */

.abyss { max-width: 40rem; }

.abyss-sigil {
  display: block;
  margin: 0 auto 2.4rem;
  opacity: 0.9;
  filter: drop-shadow(0 0 24px rgba(238, 243, 238, 0.18));
}

.enter-cta {
  display: inline-block;
  margin-top: 3rem;
  font-family: var(--display);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--floor);
  background: var(--gilt);
  text-decoration: none;
  padding: 1.15em 2.6em;
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.5),
    0 2px 0 rgba(0, 0, 0, 0.45),
    0 3px 14px rgba(201, 168, 106, 0.25);
  transition: filter 0.12s ease, transform 0.08s ease, box-shadow 0.08s ease;
}

.enter-cta:hover { filter: brightness(1.08); }

.enter-cta:active {
  transform: translateY(2px);
  box-shadow:
    0 0 0 rgba(0, 0, 0, 0.5),
    0 1px 0 rgba(0, 0, 0, 0.45),
    0 2px 8px rgba(201, 168, 106, 0.2);
}

.enter-sub {
  margin-top: 2.2rem;
  font-style: italic;
  font-size: 1rem;
  color: var(--salt);
  opacity: 0.85;
}

/* ═══════════════ BENTHOS — footer ═══════════════ */

.benthos {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 6rem 1.5rem 3.5rem;
}

.benthos-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2.4rem;
}

.benthos-nav a {
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--salt);
  text-decoration: none;
  transition: filter 0.12s ease;
}

.benthos-nav a:hover { filter: brightness(1.3); }

.benthos-sep { color: var(--gilt-dim); }

.benthos-line {
  font-style: italic;
  font-size: 0.92rem;
  color: var(--salt);
  opacity: 0.6;
  margin-bottom: 1.8rem;
}

.benthos-anno {
  font-family: var(--display);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.55;
}

/* ═══════════════ SMALL SCREENS ═══════════════ */

@media (max-width: 760px) {
  .masthead { padding: 0.9rem 1.1rem; }
  .masthead-nav a:not(.masthead-cta) { display: none; }
  .masthead-word { font-size: 0.7rem; letter-spacing: 0.16em; }
  .scripture { font-size: 1.1rem; }
  .tenet { padding: 1.5rem 1.4rem 1.5rem 4.4rem; }
  .tenet-numeral { left: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .wave, .drift, .hero-descend-line { animation: none; }
  .passage { opacity: 1; transform: none; transition: none; }
  .ceremony-line, .tide-toast, .summons { transition-duration: 0.3s; }
  html { scroll-behavior: auto; }
}

/* ═══════════════ INNER PAGES — below the waterline ═══════════════ */

.depth {
  background: linear-gradient(to bottom,
    var(--twilight) 0%,
    var(--deep)     40%,
    var(--abyssal)  75%,
    var(--floor)    100%) fixed;
}

.depth-main {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding-top: 9rem;
}

.depth-main .contours { mask-image: none; -webkit-mask-image: none; }

.page-head {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 44rem;
  margin: 0 auto 1rem;
  padding: 0 1.5rem;
}

.page-eyebrow {
  font-family: var(--display);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.46em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.85;
  margin-bottom: 1.8rem;
}

.page-title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(2rem, 4.5vw, 3.1rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--foam);
}

.page-title::after {
  content: '';
  display: block;
  width: 72px;
  height: 1px;
  margin: 1.8rem auto 0;
  background: linear-gradient(to right, transparent, var(--gilt-dim), transparent);
}

.page-intro {
  margin-top: 2.2rem;
  font-style: italic;
  font-size: 1.12rem;
  line-height: 1.8;
  color: var(--salt);
}

/* ── Tenets in full ── */

.codex {
  position: relative;
  z-index: 2;
  max-width: 44rem;
  margin: 0 auto;
  padding: 4rem 1.5rem 8rem;
  list-style: none;
  display: grid;
  gap: 4.5rem;
}

.codex-tenet { text-align: center; }

.codex-numeral {
  display: block;
  font-family: var(--display);
  font-size: 2rem;
  color: var(--gilt);
  margin-bottom: 1.1rem;
}

.codex-numeral::after {
  content: '';
  display: block;
  width: 34px;
  height: 1px;
  margin: 1rem auto 0;
  background: var(--gilt-dim);
}

.codex-name {
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--foam);
  margin-bottom: 1rem;
}

.codex-text {
  font-size: 1.18rem;
  line-height: 1.8;
  color: var(--salt);
}

/* ── The Ranks ── */

.ranks {
  position: relative;
  z-index: 2;
  max-width: 44rem;
  margin: 0 auto;
  padding: 2rem 1.5rem 8rem;
  list-style: none;
}

.rank {
  text-align: center;
  padding: 7rem 0;
}

.rank + .rank {
  border-top: 1px solid rgba(201, 168, 106, 0.14);
}

.rank-depth {
  font-family: var(--display);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.46em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.8;
  margin-bottom: 1.6rem;
}

.rank-name {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--foam);
  margin-bottom: 0.9rem;
}

.rank-epithet {
  font-style: italic;
  font-size: 1.05rem;
  color: var(--gilt);
  margin-bottom: 1.6rem;
}

.rank-text {
  font-size: 1.18rem;
  line-height: 1.8;
  color: var(--salt);
  max-width: 36rem;
  margin: 0 auto;
}

/* ── The Vessel ── */

.vessel-main { display: flex; flex-direction: column; justify-content: center; }

.vessel-body {
  position: relative;
  z-index: 2;
  max-width: 36rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 10rem;
  text-align: center;
}

.vessel-body p {
  font-size: 1.22rem;
  line-height: 2;
  color: var(--salt);
}

.vessel-body p + p { margin-top: 2.4rem; }

.vessel-body em { color: var(--foam); }

/* ── Join / ordination ── */

.rite {
  position: relative;
  z-index: 2;
  max-width: 34rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 8rem;
  text-align: center;
}

.rite-form {
  margin-top: 3rem;
  display: grid;
  gap: 2rem;
}

.rite-label {
  display: block;
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gilt);
  margin-bottom: 0.9rem;
}

.rite-input {
  width: 100%;
  background: rgba(1, 10, 22, 0.45);
  border: 1px solid rgba(201, 168, 106, 0.3);
  padding: 1em 1.2em;
  font-family: var(--scripture);
  font-size: 1.15rem;
  text-align: center;
  color: var(--foam);
  outline: none;
  transition: border-color 0.24s ease;
}

.rite-input:focus { border-color: var(--gilt); }

.rite-input::placeholder { color: var(--salt); opacity: 0.45; font-style: italic; }

.rite-note {
  font-style: italic;
  font-size: 0.95rem;
  color: var(--salt);
  opacity: 0.75;
}

.rite-submit {
  justify-self: center;
  font-family: var(--display);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--floor);
  background: var(--gilt);
  border: none;
  cursor: pointer;
  padding: 1.15em 2.6em;
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.5),
    0 2px 0 rgba(0, 0, 0, 0.45),
    0 3px 14px rgba(201, 168, 106, 0.25);
  transition: filter 0.12s ease, transform 0.08s ease, box-shadow 0.08s ease;
}

.rite-submit:hover { filter: brightness(1.08); }
.rite-submit:active {
  transform: translateY(2px);
  box-shadow:
    0 0 0 rgba(0, 0, 0, 0.5),
    0 1px 0 rgba(0, 0, 0, 0.45),
    0 2px 8px rgba(201, 168, 106, 0.2);
}

/* the ordination — slow ceremony, nothing poofs */
.ceremony {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  background: radial-gradient(ellipse at 50% 120%, #06243f 0%, var(--floor) 70%);
}

.ceremony.underway { display: flex; }

.ceremony-line {
  position: absolute;
  max-width: 34rem;
  font-family: var(--scripture);
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  font-style: italic;
  line-height: 1.7;
  color: var(--foam);
  opacity: 0;
  transition: opacity 2.4s cubic-bezier(0.25, 0.1, 0.35, 1);
}

.ceremony-line.lit { opacity: 1; }

/* certificate reveal */
.bestowal {
  display: none;
  position: relative;
  z-index: 2;
  max-width: 52rem;
  margin: 0 auto;
  padding: 0 1.5rem 8rem;
  text-align: center;
}

.bestowal.granted { display: block; }

.bestowal-canvas-wrap {
  margin: 3rem auto 0;
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.5),
    0 2px 0 rgba(0, 0, 0, 0.4),
    0 18px 50px rgba(0, 0, 0, 0.5);
}

.bestowal canvas { display: block; width: 100%; height: auto; }

.bestowal-actions {
  margin-top: 2.6rem;
  display: flex;
  justify-content: center;
  gap: 1.6rem;
  flex-wrap: wrap;
}

.bestowal-download {
  display: inline-block;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--floor);
  background: var(--gilt);
  text-decoration: none;
  padding: 1.05em 2.2em;
  box-shadow: 0 1px 0 rgba(0,0,0,0.5), 0 2px 0 rgba(0,0,0,0.45);
  transition: filter 0.12s ease, transform 0.08s ease;
}

.bestowal-download:hover { filter: brightness(1.08); }
.bestowal-download:active { transform: translateY(2px); }

.bestowal-secondary {
  display: inline-block;
  background: none;
  border: 1px solid var(--gilt-dim);
  cursor: pointer;
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gilt);
  border: 1px solid var(--gilt-dim);
  text-decoration: none;
  padding: 1.05em 2.2em;
  transition: filter 0.12s ease;
}

.bestowal-secondary:hover { filter: brightness(1.15); }

/* ── Testimony ── */

.testimony-list {
  position: relative;
  z-index: 2;
  max-width: 40rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 2rem;
  display: grid;
  gap: 4.2rem;
}

.testimony { text-align: center; }

.testimony blockquote {
  font-size: 1.28rem;
  font-style: italic;
  line-height: 1.85;
  color: var(--foam);
  quotes: '\201C' '\201D';
}

.testimony blockquote::before { content: open-quote; color: var(--gilt); }
.testimony blockquote::after { content: close-quote; color: var(--gilt); }

.testimony figcaption {
  margin-top: 1.3rem;
  font-family: var(--display);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.85;
}

.testimony-abyssal {
  position: relative;
  z-index: 2;
  max-width: 34rem;
  margin: 0 auto;
  padding: 4rem 1.5rem 8rem;
  text-align: center;
  font-style: italic;
  font-size: 1.05rem;
  color: var(--salt);
  opacity: 0.8;
}

/* ── Questions at the Shore ── */

.shore-list {
  position: relative;
  z-index: 2;
  max-width: 40rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 8rem;
  display: grid;
  gap: 3.8rem;
}

.shore-entry { text-align: center; }

.shore-q {
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gilt);
  margin-bottom: 1rem;
}

.shore-a {
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--foam);
}

/* ── Spreading the word ── */

.benthos-share { margin-bottom: 2.2rem; }

.share-word {
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gilt);
  background: none;
  border: 1px solid var(--gilt-dim);
  padding: 0.9em 1.8em;
  cursor: pointer;
  transition: filter 0.12s ease, transform 0.08s ease;
}

.share-word:hover { filter: brightness(1.15); }
.share-word:active { transform: translateY(2px); }

.bestowal-spread { margin-top: 3.4rem; }

.bestowal-spread-line {
  font-style: italic;
  font-size: 1.02rem;
  color: var(--salt);
  margin-bottom: 0.4rem;
}

/* the word, confirmed in hand */
.tide-toast {
  position: fixed;
  left: 50%;
  bottom: 2.4rem;
  transform: translateX(-50%);
  z-index: 80;
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--foam);
  background: rgba(3, 16, 31, 0.95);
  border: 1px solid var(--gilt-dim);
  padding: 1em 1.8em;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.2s cubic-bezier(0.25, 0.1, 0.35, 1);
}

.tide-toast.shown { opacity: 1; }

/* ── The tide remembers: communion, summons, ballast ── */

.communion { margin-top: 3rem; }

.communion-btn {
  font-family: var(--display);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gilt);
  background: rgba(1, 10, 22, 0.35);
  border: 1px solid var(--gilt-dim);
  padding: 1.1em 2.2em;
  cursor: pointer;
  transition: filter 0.12s ease, transform 0.08s ease;
}

.communion-btn:hover:not(:disabled) { filter: brightness(1.15); }
.communion-btn:active:not(:disabled) { transform: translateY(2px); }
.communion-btn:disabled { cursor: default; opacity: 0.85; border-color: var(--gilt); }

.communion-count {
  margin-top: 1.2rem;
  font-family: var(--display);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--salt);
  opacity: 0.8;
}

.summons {
  position: fixed;
  left: 50%;
  bottom: 1.8rem;
  transform: translateX(-50%) translateY(12px);
  z-index: 70;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  background: rgba(3, 16, 31, 0.96);
  border: 1px solid var(--gilt-dim);
  box-shadow: 0 1px 0 rgba(0,0,0,0.5), 0 2px 0 rgba(0,0,0,0.4), 0 12px 40px rgba(0,0,0,0.5);
  padding: 1rem 1.6rem;
  opacity: 0;
  transition: opacity 1.8s cubic-bezier(0.25, 0.1, 0.35, 1), transform 1.8s cubic-bezier(0.25, 0.1, 0.35, 1);
}

.summons.shown { opacity: 1; transform: translateX(-50%); }

.summons-line {
  font-style: italic;
  font-size: 0.98rem;
  color: var(--foam);
}

.summons-go {
  font-family: var(--display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--floor);
  background: var(--gilt);
  text-decoration: none;
  padding: 0.7em 1.4em;
  white-space: nowrap;
}

.summons-later {
  font-family: var(--display);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--salt);
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.7;
}

.summons-later:hover { opacity: 1; }

.ballast {
  max-width: 34rem;
  text-align: center;
  padding-top: 0;
}

.ballast-text {
  font-style: italic;
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--salt);
  margin: 1.2rem 0 2rem;
}

.ballast-status {
  margin-top: 1.4rem;
  font-family: var(--display);
  font-size: 0.62rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gilt);
  min-height: 1em;
}

.rank-recognition {
  margin-top: 1.4rem;
  font-family: var(--display);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gilt);
  opacity: 0.75;
}

.rite-descent { margin-top: 3rem; }

.rite-standing {
  margin-top: 2rem;
  font-family: var(--display);
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--salt);
  line-height: 2.2;
}

@media (max-width: 560px) {
  .summons {
    left: 1rem;
    right: 1rem;
    transform: translateY(12px);
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.9rem 1.2rem;
    padding: 0.9rem 1.1rem;
    text-align: center;
  }
  .summons.shown { transform: none; }
  .bestowal-actions { gap: 1rem; }
}

.benthos-copyright {
  margin-top: 1.1rem;
  font-family: var(--display);
  font-size: 0.54rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--salt);
  opacity: 0.45;
}

/* ── The Greeting: call and response ── */

.liturgy {
  margin: 3rem 0;
  display: grid;
  gap: 0.5rem;
}

.liturgy-role {
  font-family: var(--display);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--salt);
  opacity: 0.65;
  margin-top: 1.4rem;
}

.liturgy-role:first-child { margin-top: 0; }

.liturgy-call {
  font-family: var(--display);
  font-size: clamp(1.3rem, 2.6vw, 1.7rem);
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gilt);
}

.liturgy-answer {
  font-family: var(--scripture);
  font-style: italic;
  font-size: clamp(1.4rem, 2.8vw, 1.9rem);
  letter-spacing: 0.12em;
  color: var(--foam);
}

.scripture-plain p:first-of-type::first-letter {
  float: none; padding: 0; font-size: inherit; font-family: inherit; color: inherit; line-height: inherit;
}
