@font-face { font-family: "Barlow Condensed"; src: url('/assets/fonts/barlow-condensed-700.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url('/assets/fonts/barlow-condensed-800.woff2') format('woff2'); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url('/assets/fonts/cormorant-garamond-500.woff2') format('woff2'); font-style: normal; font-weight: 500 600; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url('/assets/fonts/cormorant-garamond-italic-500.woff2') format('woff2'); font-style: italic; font-weight: 500; font-display: swap; }
@font-face { font-family: "Manrope"; src: url('/assets/fonts/manrope.woff2') format('woff2'); font-style: normal; font-weight: 400 800; font-display: swap; }

:root {
  --ink: #07130f;
  --deep: #0b1c17;
  --green: #173b30;
  --moss: #2e5a49;
  --blue: #4c8590;
  --gold: #bd8b4d;
  --copper: #8f6037;
  --paper: #eeeade;
  --ivory: #f6f2e7;
  --muted: #9daba4;
  --line: rgba(236, 232, 218, .18);
  --dark-line: rgba(7, 19, 15, .16);
  --shell: min(1380px, calc(100vw - 72px));
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --scroll-depth: 0;
  --underwater-opacity: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
section[id] { scroll-margin-top: 82px; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
::selection { background: var(--gold); color: var(--ink); }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  background: var(--ivory);
  color: var(--ink);
  padding: 12px 16px;
  font-weight: 800;
}
.skip-link:focus { transform: none; }

.lake-intro {
  position: fixed;
  z-index: 2000;
  inset: 0;
  overflow: hidden;
  color: var(--ivory);
  background: #04100e;
  opacity: 1;
  visibility: visible;
  transition: opacity .9s ease, visibility .9s ease;
}
body.intro-active { overflow: hidden; }
.lake-intro.is-complete { opacity: 0; visibility: hidden; pointer-events: none; }
.intro-scene, .intro-island, .intro-atmosphere, .intro-water { position: absolute; inset: 0; }
.intro-island {
  inset: -4%;
  background:
    linear-gradient(180deg,rgba(2,12,10,.05) 0%,rgba(3,16,13,.06) 48%,rgba(2,11,9,.7) 100%),
    url('/assets/intro-island.webp') center 54%/cover no-repeat,
    url('/assets/hero-lake.webp') center/cover no-repeat;
  filter: saturate(.85) contrast(1.07) brightness(.82);
  transform: scale(1.1);
}
.intro-atmosphere {
  background:
    radial-gradient(circle at 50% 35%,rgba(244,194,116,.22),transparent 22%),
    linear-gradient(90deg,rgba(3,14,12,.68),transparent 34%,transparent 68%,rgba(3,14,12,.55)),
    linear-gradient(180deg,rgba(5,24,20,.14),transparent 46%,rgba(2,12,10,.62));
}
.intro-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.intro-water { top: 60%; background: linear-gradient(180deg,transparent,rgba(3,18,16,.42)),repeating-radial-gradient(ellipse at 53% 90%,transparent 0 35px,rgba(163,211,200,.11) 36px 37px,transparent 38px 62px); opacity: .68; transform: perspective(500px) rotateX(14deg) scale(1.08); transform-origin: bottom; }
.intro-title-lockup { position: absolute; z-index: 4; left: 50%; top: 50%; display: grid; justify-items: center; transform: translate(-50%,-48%); text-align: center; }
.intro-title-lockup > span { margin-bottom: 12px; color: #e7d4ab; font-size: 9px; font-weight: 850; letter-spacing: .36em; text-transform: uppercase; opacity: 0; }
.intro-title-lockup strong { position: relative; color: #f4f0e7; font-family: var(--display); font-size: clamp(78px,11vw,178px); font-weight: 800; letter-spacing: -.035em; line-height: .76; text-transform: uppercase; white-space: nowrap; text-shadow: 0 18px 44px rgba(0,0,0,.5); opacity: 0; }
.intro-title-lockup strong::after { content: ""; position: absolute; left: 4%; right: 4%; bottom: -13px; height: 1px; background: linear-gradient(90deg,transparent,#d7a45f 18%,#d7a45f 82%,transparent); opacity: .7; }
.intro-title-lockup b { margin-top: 30px; color: #e3d6bd; font-family: var(--sans); font-size: clamp(10px,1.05vw,16px); font-weight: 600; letter-spacing: .5em; line-height: 1; text-indent: .5em; text-transform: uppercase; opacity: 0; }
.intro-fish-track { position: absolute; z-index: 7; left: -28vw; top: 0; width: clamp(230px,25vw,390px); opacity: 0; }
.intro-fish-visual { position: relative; transform-origin: 52% 55%; }
.intro-fish-visual img { width: 100%; height: auto; }
.intro-impact { position: absolute; z-index: 8; right: 6%; bottom: 19%; width: 220px; height: 120px; }
.intro-splash-crown { position: absolute; left: 50%; bottom: 4px; width: 156px; overflow: visible; fill: none; stroke: rgba(211,242,235,.94); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: translateX(-50%) scale(.28,.12); transform-origin: 50% 100%; filter: drop-shadow(0 4px 8px rgba(127,207,198,.2)); }
.intro-ring { position: absolute; left: 50%; bottom: 4px; width: 86px; height: 18px; border: 2px solid rgba(210,241,233,.86); border-radius: 50%; opacity: 0; transform: translateX(-50%) scale(.2); }
.intro-drop { position: absolute; left: 50%; bottom: 14px; width: 7px; height: 13px; border-radius: 70% 30% 60% 40%; background: #d3eee8; opacity: 0; }
.intro-depth-line { position: absolute; z-index: 3; left: 50%; bottom: 18%; width: min(560px,54vw); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg,transparent,rgba(233,204,147,.5),transparent); opacity: 0; }
.intro-depth-line span { position: absolute; left: 50%; top: -3px; width: 7px; height: 7px; border: 1px solid var(--gold); border-radius: 50%; transform: translateX(-50%); }
.intro-ui { position: absolute; z-index: 10; left: max(28px,4vw); right: max(28px,4vw); bottom: 28px; display: grid; grid-template-columns: auto minmax(160px,340px) auto; align-items: center; gap: 22px; color: rgba(232,241,236,.72); font-size: 8px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.intro-progress { height: 1px; overflow: hidden; background: rgba(255,255,255,.18); }
.intro-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--blue),var(--gold)); transform: translateX(-100%); }
.intro-ui button { border: 0; border-bottom: 1px solid rgba(221,168,94,.5); padding: 4px 0; color: inherit; background: transparent; font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.lake-intro.is-running .intro-island { animation: intro-camera 5.4s cubic-bezier(.16,.72,.24,1) both; }
.lake-intro.is-running .intro-title-lockup > span { animation: intro-copy-in 1.1s ease .55s both; }
.lake-intro.is-running .intro-title-lockup strong { animation: intro-title-in 1.4s cubic-bezier(.16,.8,.24,1) .72s both; }
.lake-intro.is-running .intro-title-lockup b { animation: intro-copy-in 1s ease 1.1s both; }
.lake-intro.is-running .intro-depth-line { animation: intro-line 3.2s ease 1.15s both; }
.lake-intro.is-running .intro-fish-track { animation: intro-fish-track 2.85s linear 1.48s both; }
.lake-intro.is-running .intro-fish-lift { animation: intro-fish-lift 2.85s linear 1.48s both; }
.lake-intro.is-running .intro-fish-visual { animation: intro-fish-roll 2.85s cubic-bezier(.36,.04,.2,1) 1.48s both; }
.lake-intro.is-running .intro-splash-crown { animation: intro-crown 1.05s cubic-bezier(.18,.72,.22,1) 3.91s both; }
.lake-intro.is-running .ring-one { animation: intro-ring 1.25s ease-out 4s both; }
.lake-intro.is-running .ring-two { animation: intro-ring 1.45s ease-out 4.13s both; }
.lake-intro.is-running .ring-three { animation: intro-ring 1.65s ease-out 4.26s both; }
.lake-intro.is-running .drop-one { animation: intro-drop-one .9s ease-out 3.96s both; }
.lake-intro.is-running .drop-two { animation: intro-drop-two 1s ease-out 4s both; }
.lake-intro.is-running .drop-three { animation: intro-drop-three .9s ease-out 4.03s both; }
.lake-intro.is-running .drop-four { animation: intro-drop-four 1.05s ease-out 4.06s both; }
.lake-intro.is-running .intro-progress i { animation: intro-progress 5.15s linear both; }
@keyframes intro-camera { 0% { transform: scale(1.12); filter: saturate(.72) contrast(1.08) brightness(.58); } 30% { filter: saturate(.84) contrast(1.08) brightness(.78); } 100% { transform: scale(1.025); filter: saturate(.92) contrast(1.06) brightness(.86); } }
@keyframes intro-copy-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes intro-title-in { 0% { opacity: 0; transform: translateY(28px) scale(.97); letter-spacing: .01em; } 100% { opacity: 1; transform: none; letter-spacing: -.035em; } }
@keyframes intro-line { 0% { opacity: 0; transform: translateX(-50%) scaleX(.15); } 34%,78% { opacity: .75; transform: translateX(-50%) scaleX(1); } 100% { opacity: 0; transform: translateX(-50%) scaleX(.7); } }
@keyframes intro-fish-track { 0% { opacity: 0; transform: translate3d(0,0,0); } 5% { opacity: 1; transform: translate3d(5.9vw,0,0); } 94% { opacity: 1; transform: translate3d(110.9vw,0,0); } 100% { opacity: 0; transform: translate3d(118vw,0,0); } }
@keyframes intro-fish-lift { 0% { transform: translate3d(0,63vh,0); animation-timing-function: cubic-bezier(.22,.72,.36,1); } 49% { transform: translate3d(0,20vh,0); animation-timing-function: cubic-bezier(.62,0,.78,.3); } 100% { transform: translate3d(0,63vh,0); } }
@keyframes intro-fish-roll { 0% { transform: rotate(-18deg) scaleX(.72) scaleY(.78); } 48% { transform: rotate(-1deg) scale(1.08); } 100% { transform: rotate(25deg) scaleX(.7) scaleY(.76); } }
@keyframes intro-ring { 0% { opacity: .9; transform: translateX(-50%) scale(.12); } 100% { opacity: 0; transform: translateX(-50%) scale(4.5); } }
@keyframes intro-crown { 0% { opacity: 0; transform: translateX(-50%) scale(.25,.08); } 18% { opacity: 1; } 62% { opacity: .92; transform: translateX(-50%) scale(1,1); } 100% { opacity: 0; transform: translateX(-50%) translateY(17px) scale(1.14,.54); } }
@keyframes intro-drop-one { 0% { opacity: 0; transform: translate(0,0) rotate(15deg); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(-45px,-56px) rotate(45deg); } }
@keyframes intro-drop-two { 0% { opacity: 0; transform: translate(0,0); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(-14px,-76px); } }
@keyframes intro-drop-three { 0% { opacity: 0; transform: translate(0,0) rotate(-15deg); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(31px,-63px) rotate(-35deg); } }
@keyframes intro-drop-four { 0% { opacity: 0; transform: translate(0,0) rotate(-15deg); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(55px,-39px) rotate(-45deg); } }
@keyframes intro-progress { to { transform: none; } }
.page-progress {
  position: fixed;
  z-index: 200;
  inset: 0 0 auto;
  height: 2px;
  background: rgba(255,255,255,.05);
}
.page-progress span { display: block; width: 0; height: 100%; background: var(--gold); }

.site-header {
  position: fixed;
  z-index: 120;
  inset: 0 0 auto;
  height: 88px;
  padding: 0 max(36px, calc((100vw - 1380px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ivory);
  border-bottom: 1px solid transparent;
  transition: background .35s ease, border-color .35s ease, height .35s ease;
}
.site-header.scrolled {
  height: 72px;
  background: rgba(7, 19, 15, .88);
  border-color: rgba(255,255,255,.1);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 13px; position: relative; z-index: 2; }
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  place-items: center;
  color: var(--ink);
  background: var(--gold);
  font-family: var(--display);
  font-size: 20px;
  font-stretch: condensed;
  line-height: 1;
  letter-spacing: -.09em;
  transform: skew(-5deg);
}
.brand-mark b:first-child { align-self: start; padding-top: 4px; }
.brand-mark b:last-child { align-self: end; padding-bottom: 4px; }
.brand-mark.large { width: 82px; height: 82px; font-size: 40px; }
.brand-copy { display: grid; line-height: 1; text-transform: uppercase; }
.brand-copy strong { font-family: var(--display); font-size: 19px; letter-spacing: .05em; }
.brand-copy small { margin-top: 4px; color: #b6c0bb; font-size: 9px; letter-spacing: .35em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 42px); }
.desktop-nav a {
  position: relative;
  color: #cbd4cf;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 1px;
  background: var(--gold);
  transition: right .25s ease;
}
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 15px; }
.preview-pill {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.25);
  color: #d5dcd8;
  font-size: 9px;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.header-cta {
  padding: 11px 15px;
  border: 1px solid rgba(255,255,255,.28);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background .25s, color .25s;
}
.header-cta:hover { background: var(--ivory); color: var(--ink); }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.menu-toggle span { display: block; width: 24px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav {
  position: fixed;
  z-index: 110;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(7,19,15,.98);
  color: var(--ivory);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.mobile-nav.open { opacity: 1; visibility: visible; }
.mobile-nav nav { display: grid; width: min(560px, calc(100% - 48px)); }
.mobile-nav a { display: flex; gap: 24px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(27px, 7vw, 46px); }
.mobile-nav a span { color: var(--gold); font: 10px var(--sans); letter-spacing: .2em; }

.hero {
  position: relative;
  min-height: 720px;
  height: 100svh;
  overflow: hidden;
  color: var(--ivory);
  background: var(--ink);
}
.hero-scene, .hero-image, .hero-caustics, .hero-grain { position: absolute; inset: 0; }
.hero-image {
  inset: -3%;
  background: linear-gradient(90deg, rgba(4,14,11,.92) 0%, rgba(5,16,13,.64) 47%, rgba(5,16,13,.28) 100%), url('/assets/hero-lake.webp') center/cover no-repeat;
  transform: scale(1.04);
  will-change: transform;
}
.hero-caustics {
  opacity: .23;
  background:
    radial-gradient(ellipse at 72% 68%, rgba(84,145,149,.3), transparent 28%),
    repeating-radial-gradient(ellipse at 54% 88%, transparent 0 28px, rgba(129,181,174,.12) 29px 30px, transparent 31px 48px);
  mix-blend-mode: screen;
  animation: water-breathe 9s ease-in-out infinite alternate;
}
.hero-grain {
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
  pointer-events: none;
}
@keyframes water-breathe { to { transform: translate3d(-2%, -1%, 0) scale(1.05); opacity: .32; } }
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  background: linear-gradient(transparent, rgba(3,10,8,.78));
  pointer-events: none;
}
.hero-grid { position: relative; z-index: 4; height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 80px; padding-top: clamp(155px, 21vh, 210px); }
.hero-copy { max-width: 920px; padding-top: 0; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 23px; font-size: 10px; font-weight: 800; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; }
.eyebrow > span { width: 32px; height: 1px; background: currentColor; opacity: .55; }
.hero-eyebrow { color: #c6d1cb; }
.hero-title-wrap { position: relative; width: fit-content; }
.hero h1 {
  position: relative;
  z-index: 2;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(118px, 14.5vw, 235px);
  font-weight: 950;
  font-stretch: condensed;
  letter-spacing: -.09em;
  line-height: .66;
  text-transform: uppercase;
  text-shadow: 0 12px 44px rgba(0,0,0,.24);
}
.hero h1 span { display: block; }
.hero h1 span:last-child { color: transparent; -webkit-text-stroke: 2px rgba(239,235,221,.86); padding-left: .37em; }
.hero-deck { max-width: 600px; margin: 44px 0 0 6px; color: #d2dad5; font-family: var(--serif); font-size: clamp(18px, 2vw, 24px); line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin: 34px 0 0 6px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-height: 52px;
  padding: 14px 18px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: var(--ink); }
.button-gold:hover { background: #d0a66e; }
.button-outline { border-color: currentColor; background: transparent; }
.button-outline:hover { background: var(--ink); color: var(--ivory); border-color: var(--ink); }
.button-ivory { background: var(--ivory); color: var(--ink); }
.text-link { display: inline-flex; gap: 18px; align-items: center; font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.text-link span { color: var(--gold); font-size: 18px; }
.replay-button { margin: 28px 0 0 6px; padding: 0; border: 0; background: transparent; color: #91a099; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.replay-button span { color: var(--gold); margin-right: 7px; }
.leap-stage { position: absolute; z-index: 1; inset: -43% -34% -4% -11%; pointer-events: none; overflow: hidden; }
.flight-map { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hero-carp-track { position: absolute; z-index: 2; left: 0; top: 0; width: clamp(230px,28%,360px); opacity: 0; }
.hero-carp-visual { position: relative; }
.hero-carp-visual img { width: 100%; height: auto; }
.landing-effect > * { opacity: 0; }
.motion-ripple { fill: none; stroke: #c8eee7; stroke-width: 2.5; transform-box: fill-box; transform-origin: center; }
.splash-crown, .splash-drops { transform-box: fill-box; transform-origin: center bottom; }
.leap-stage.is-playing .hero-carp-visual { animation: hero-carp-angle 2.65s linear both; }
.leap-stage.is-playing .splash-crown { animation: crown-rise .72s cubic-bezier(.17,.72,.25,1) 2.39s both; }
.leap-stage.is-playing .splash-drops { animation: drops-rise .86s ease-out 2.41s both; }
.leap-stage.is-playing .ripple-a { animation: water-ring 1.18s ease-out 2.4s both; }
.leap-stage.is-playing .ripple-b { animation: water-ring 1.42s ease-out 2.51s both; }
.leap-stage.is-playing .ripple-c { animation: water-ring 1.68s ease-out 2.62s both; }
@keyframes hero-carp-angle { 0% { transform: rotate(-18deg) scaleY(.84); } 48% { transform: rotate(-1deg) scaleY(1); } 100% { transform: rotate(22deg) scaleY(.84); } }
@keyframes crown-rise { 0% { opacity: 0; transform: scale(.2) translateY(12px); stroke-dasharray: 1 90; } 32% { opacity: 1; } 100% { opacity: 0; transform: scale(1.35) translateY(-8px); stroke-dasharray: 90 1; } }
@keyframes drops-rise { 0% { opacity: 0; transform: translateY(10px) scale(.4); } 28% { opacity: 1; } 100% { opacity: 0; transform: translateY(-34px) scale(.8); } }
@keyframes water-ring { 0% { opacity: .85; transform: scale(.18); } 100% { opacity: 0; transform: scale(3.8); } }
.issue-peek { position: relative; align-self: start; margin-top: 10px; padding: 14px; border: 1px solid rgba(255,255,255,.2); background: rgba(6,16,13,.44); backdrop-filter: blur(12px); transform: rotate(2deg); transition: transform .35s ease; }
.issue-peek:hover { transform: rotate(0) translateY(-7px); }
.issue-peek::before { content: ""; position: absolute; inset: 8px -8px -8px 8px; z-index: -1; border: 1px solid rgba(189,139,77,.5); }
.issue-kicker { display: block; margin: 2px 0 12px; color: #c4d0ca; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.issue-peek img { width: 100%; aspect-ratio: 595/842; object-fit: cover; filter: saturate(.88) contrast(1.04); }
.issue-meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 13px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.issue-meta span { color: #9fb0a8; }
.hero-foot { position: absolute; z-index: 5; bottom: 26px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 18px; color: #9facaa; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.hero-foot span:last-child { margin-left: auto; }
.scroll-line { width: 100px; height: 1px; background: rgba(255,255,255,.2); overflow: hidden; }
.scroll-line i { display: block; width: 38%; height: 100%; background: var(--gold); animation: scan 2s ease-in-out infinite; }
@keyframes scan { 0% { transform: translateX(-100%); } 100% { transform: translateX(360%); } }

.section-pad { padding: clamp(96px, 12vw, 180px) 0; }
.section-label { display: flex; gap: 18px; align-items: baseline; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-label span { color: var(--gold); }
.manifesto { background: var(--paper); }
.manifesto-grid { display: grid; grid-template-columns: 190px 1fr 330px; align-items: start; gap: 50px; }
.manifesto-copy { min-width: 0; padding-top: 84px; }
.display-line { margin: 0; font-family: var(--display); font-size: clamp(64px, 7vw, 132px); font-weight: 900; letter-spacing: -.065em; line-height: .83; text-transform: uppercase; }
.display-line.outline { color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.manifesto-note { min-width: 0; margin-top: 84px; border-top: 1px solid var(--dark-line); padding-top: 24px; color: #3f4f49; }
.manifesto-note p { margin: 0 0 22px; }
.pillar-rail { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 110px; border-top: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); }
.pillar-card { position: relative; min-height: 290px; padding: 30px 28px; border-right: 1px solid var(--dark-line); overflow: hidden; transition: background .3s, color .3s; }
.pillar-card:last-child { border-right: 0; }
.pillar-card::after { content: ""; position: absolute; inset: auto -40px -80px auto; width: 170px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; opacity: .08; transition: transform .5s; }
.pillar-card:hover { background: var(--green); color: var(--ivory); }
.pillar-card:hover::after { transform: scale(1.6); }
.pillar-card > span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.pillar-card h3 { margin: 80px 0 18px; font-family: var(--serif); font-size: 29px; font-weight: 400; }
.pillar-card p { margin: 0; color: #5c6a64; font-size: 14px; }
.pillar-card:hover p { color: #c0ccc6; }

.section-heading { display: grid; grid-template-columns: 1fr minmax(280px, 420px); align-items: end; gap: 70px; margin-bottom: 78px; }
.section-heading h2, .prints-copy h2, .advertise-copy h2, .submit-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 6vw, 88px); font-weight: 400; letter-spacing: -.055em; line-height: .94; }
.section-heading h2 em, .prints-copy h2 em, .advertise-copy h2 em, .submit-copy h2 em { color: var(--moss); font-weight: 400; }
.section-heading > p { margin: 0 0 8px; color: #52615b; font-size: 16px; }
.current-issue { background: var(--ivory); }
.issue-stage { position: relative; min-height: 630px; padding: 66px; background: var(--green); color: var(--ivory); overflow: hidden; }
.issue-stage::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 120%, rgba(76,133,144,.45), transparent 50%), linear-gradient(125deg, rgba(255,255,255,.035), transparent 45%); }
.issue-watermark { position: absolute; left: -18px; bottom: -84px; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.08); font: 900 300px/.75 var(--display); letter-spacing: -.07em; }
.issue-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 70px); max-width: 920px; margin-inline: auto; }
.issue-card { position: relative; transition: transform .35s ease; }
.issue-card:nth-child(1) { transform: translateY(-14px) rotate(-2deg); }
.issue-card:nth-child(2) { transform: translateY(42px) rotate(1.5deg); }
.issue-card:nth-child(3) { transform: translateY(8px) rotate(3deg); }
.issue-card:hover { transform: translateY(-12px) rotate(0); z-index: 3; }
.issue-cover { position: relative; display: block; box-shadow: 0 28px 60px rgba(0,0,0,.38); overflow: hidden; }
.issue-cover img { width: 100%; height: auto; aspect-ratio: 595/842; object-fit: cover; transition: transform .45s ease; }
.issue-card:hover img { transform: scale(1.025); }
.issue-cover::after { content: "Read ↗"; position: absolute; inset: auto 10px 10px auto; padding: 10px 12px; background: var(--gold); color: var(--ink); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: .25s; }
.issue-card:hover .issue-cover::after { opacity: 1; transform: none; }
.issue-card footer { display: flex; justify-content: space-between; gap: 10px; padding-top: 16px; }
.issue-card strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.issue-card footer span { color: #9fb0a8; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.current-badge { position: absolute; z-index: 2; top: -12px; right: -12px; padding: 9px 11px; background: var(--gold); color: var(--ink); font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.archive-callout { display: flex; justify-content: space-between; align-items: center; gap: 32px; margin-top: 36px; padding: 30px 0; border-bottom: 1px solid var(--dark-line); }
.mini-label { display: block; margin-bottom: 10px; color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.archive-callout strong { font-family: var(--serif); font-size: clamp(20px, 2.4vw, 31px); font-weight: 400; }

.book-room { background: var(--ink); color: var(--ivory); }
.section-heading.light > p { color: #9daca4; }
.section-heading.light h2 em { color: #76a69d; }
.catalogue-tools { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 48px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.book-search { position: relative; width: min(380px, 100%); }
.book-search input { width: 100%; padding: 12px 38px 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.25); outline: 0; background: transparent; color: var(--ivory); }
.book-search input::placeholder { color: #74837c; }
.book-search input:focus { border-color: var(--gold); }
.book-search > span:last-child { position: absolute; right: 4px; top: 5px; color: var(--gold); font-size: 24px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.filter-button { padding: 9px 12px; border: 1px solid var(--line); background: transparent; color: #aab6b0; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.filter-button:hover, .filter-button.active { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.book-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.catalogue-more { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 0 8px; }
.catalogue-more p { margin: 0; color: rgba(226,236,230,.66); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.catalogue-more .button { min-width: 230px; }
.book-card { position: relative; min-height: 610px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; cursor: pointer; transition: background .3s; }
.book-card:hover { background: #10251e; }
.book-card .book-number { position: absolute; top: 22px; right: 24px; color: #6e7d76; font-size: 9px; letter-spacing: .16em; }
.book-card .book-image-wrap { height: 340px; display: grid; place-items: center; margin: 8px 0 30px; perspective: 1000px; }
.book-card img { width: auto; height: 100%; object-fit: contain; box-shadow: 12px 18px 30px rgba(0,0,0,.42); transform: rotateY(-6deg); transition: transform .4s, box-shadow .4s; }
.book-card:hover img { transform: rotateY(0) translateY(-7px); box-shadow: 0 28px 48px rgba(0,0,0,.52); }
.generated-book-cover { position: relative; width: min(235px, 86%); height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 28px 24px; overflow: hidden; background: radial-gradient(circle at 70% 20%, rgba(92,153,147,.4), transparent 28%), linear-gradient(145deg,#29483f,#07130f 68%); color: var(--ivory); border: 1px solid rgba(255,255,255,.2); box-shadow: 12px 18px 30px rgba(0,0,0,.42); transform: rotateY(-6deg); transition: transform .4s, box-shadow .4s; }
.generated-book-cover::before { content: ""; position: absolute; width: 260px; height: 130px; right: -105px; top: 46%; border: 1px solid rgba(189,139,77,.45); border-radius: 50%; box-shadow: 0 0 0 14px rgba(189,139,77,.05), 0 0 0 28px rgba(189,139,77,.035); transform: rotate(-12deg); }
.generated-book-cover::after { content: "BC"; position: absolute; right: 12px; bottom: -20px; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); font: 900 110px var(--display); }
.generated-book-cover span, .generated-book-cover small { position: relative; z-index: 1; color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.generated-book-cover strong { position: relative; z-index: 1; max-width: 180px; font: 400 clamp(26px,2.5vw,38px)/.92 var(--serif); }
.book-card:hover .generated-book-cover { transform: rotateY(0) translateY(-7px); box-shadow: 0 28px 48px rgba(0,0,0,.52); }
.generated-book-cover.compact { width: 235px; height: 360px; transform: none; }
.book-theme { color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.book-card h3 { margin: 13px 0 7px; font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.05; }
.book-author { color: #94a29b; font-size: 13px; }
.book-card footer { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: 26px; }
.book-card footer strong { font: 400 23px var(--serif); }
.book-card footer button { padding: 0 0 4px; border: 0; border-bottom: 1px solid var(--gold); background: transparent; color: var(--ivory); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.empty-state { grid-column: 1/-1; padding: 70px; text-align: center; color: #9ba8a2; }
.shop-footer { display: grid; grid-template-columns: minmax(180px,.42fr) 1fr; align-items: stretch; gap: 28px; margin-top: 42px; color: #a9b5af; }
.shop-footer > div:first-child { display: flex; flex-direction: column; justify-content: center; padding: 25px 0; }
.shop-footer p { margin: 0; }
.shop-route-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.shop-route { position: relative; min-height: 125px; display: flex; flex-direction: column; justify-content: end; gap: 5px; padding: 22px; color: var(--ivory); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0c1c17; transition: background .25s, transform .25s; }
.shop-route:hover { z-index: 2; background: #143027; transform: translateY(-5px); }
.shop-route small { color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.shop-route strong { font: 400 18px/1.05 var(--serif); overflow-wrap: anywhere; }
.shop-route > span { position: absolute; top: 18px; right: 19px; color: #788981; }
.shop-route.direct { background: #18342b; }
.shop-route.amazon { background: #101c20; }

.prints { position: relative; overflow: hidden; background: #d8d1c1; }
.prints::before { content: ""; position: absolute; width: 780px; height: 780px; right: -280px; top: -360px; border: 1px solid rgba(28,64,53,.11); border-radius: 50%; box-shadow: 0 0 0 90px rgba(28,64,53,.025), 0 0 0 180px rgba(28,64,53,.018); }
.print-grid { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 65px; border-top: 1px solid var(--dark-line); border-left: 1px solid var(--dark-line); }
.print-card { display: flex; min-width: 0; flex-direction: column; color: var(--ink); border-right: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); transition: background .3s, transform .3s; }
.print-card:hover { position: relative; z-index: 2; background: #e3ddcf; transform: translateY(-8px); }
.print-art { position: relative; min-height: 350px; display: flex; align-items: end; justify-content: space-between; overflow: hidden; padding: 26px; background: linear-gradient(145deg,#17382f,#06110d); border: 17px solid #2d241b; outline: 1px solid rgba(255,255,255,.16); outline-offset: -29px; }
.print-art::before { content: ""; position: absolute; inset: 0; opacity: .7; background: radial-gradient(circle at 62% 37%, rgba(96,156,162,.38), transparent 21%), linear-gradient(180deg, transparent 62%, rgba(189,139,77,.2)); }
.print-art::after { content: ""; position: absolute; width: 250px; height: 105px; left: 16%; top: 35%; border-radius: 60% 45% 52% 38%; background: linear-gradient(110deg, rgba(201,161,100,.22), rgba(70,143,151,.36)); transform: rotate(-4deg); filter: drop-shadow(0 18px 16px rgba(0,0,0,.45)); }
.print-scale { position: absolute; z-index: 2; width: 135px; height: 55px; left: 30%; top: 43%; opacity: .55; background: repeating-radial-gradient(ellipse at 50% 100%, transparent 0 8px, rgba(240,221,178,.72) 9px 10px); transform: rotate(-4deg); }
.scale-2 { transform: rotate(3deg) scale(.92); filter: hue-rotate(22deg); }
.scale-3 { transform: rotate(-7deg) scale(1.04); filter: saturate(.5); }
.scale-4 { transform: rotate(7deg) scale(.88); filter: sepia(.7); }
.print-art b, .print-art i { position: relative; z-index: 3; }
.print-art b { color: var(--gold); font: 400 18px var(--serif); }
.print-art i { color: rgba(255,255,255,.78); font-size: 9px; font-style: normal; font-weight: 850; letter-spacing: .17em; text-align: right; }
.print-card-copy { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.print-card-copy > span { color: var(--moss); font-size: 8px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.print-card h3 { margin: 16px 0 30px; font: 400 25px/1.04 var(--serif); }
.print-card-copy small { display: block; margin: -16px 0 28px; color: #64736d; font-size: 9px; }
.print-card footer { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-top: auto; }
.print-card footer strong { font: 400 24px var(--serif); }
.print-card footer em { color: var(--moss); font-size: 8px; font-style: normal; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.print-shop-bar { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 44px; padding: 28px 0; border-bottom: 1px solid var(--dark-line); }
.print-shop-bar strong { font: 400 clamp(20px,2.4vw,31px) var(--serif); }

.advertise { background: var(--green); color: var(--ivory); }
.advertise-grid, .submit-grid { display: grid; grid-template-columns: 1fr minmax(480px, 620px); gap: clamp(70px, 9vw, 150px); align-items: start; }
.ad-intro { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: end; margin-bottom: 70px; }
.ad-intro h2, .advertise-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px,6vw,88px); font-weight: 400; letter-spacing: -.055em; line-height: .94; }
.ad-intro h2 em, .advertise-copy h2 em { color: #8bb7ad; font-weight: 400; }
.ad-price-lockup { min-width: 250px; padding: 27px 32px; border: 1px solid rgba(189,139,77,.6); background: rgba(3,14,10,.35); }
.ad-price-lockup span, .ad-price-lockup small { display: block; color: #aebfb7; font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ad-price-lockup strong { display: block; margin: 4px 0; color: var(--gold); font: 400 76px/.95 var(--serif); }
.ad-offer { display: grid; grid-template-columns: minmax(300px,420px) 1fr; gap: clamp(55px,8vw,120px); align-items: center; padding: clamp(35px,5vw,70px); background: #0a1914; border: 1px solid var(--line); }
.ad-pack-visual { position: relative; max-width: 360px; margin: auto; }
.ad-pack-visual img { display: block; width: 100%; height: auto; box-shadow: 0 35px 70px rgba(0,0,0,.55); transform: rotate(-2deg); }
.ad-pack-visual a { position: absolute; right: -18px; bottom: -19px; padding: 14px 16px; color: var(--ink); background: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.ad-offer-copy h3 { margin: 14px 0 28px; max-width: 690px; font: 400 clamp(30px,3.6vw,52px)/1.02 var(--serif); }
.placement-list { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.placement-list li { display: grid; grid-template-columns: 31px 1fr; gap: 10px; align-items: start; min-height: 86px; padding: 19px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #d9e0dc; font-size: 13px; }
.placement-list span { color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.studio-badge { margin-top: 26px; padding: 22px; border-left: 3px solid var(--gold); background: rgba(189,139,77,.08); }
.studio-badge span { color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.studio-badge strong { display: block; margin: 7px 0 4px; font: 400 24px var(--serif); }
.studio-badge p, .ad-price-note { margin: 0; color: #aebcb6; font-size: 12px; }
.ad-price-note { margin-top: 18px; }
.ad-read-link { display: inline-flex; gap: 10px; margin-top: 20px; padding-bottom: 4px; color: var(--ivory); border-bottom: 1px solid var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.ad-read-link:hover { color: var(--gold); }
.audience-strip { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 42px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.audience-strip article { min-height: 145px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audience-strip strong { display: block; color: var(--gold); font: 400 clamp(32px,3.8vw,54px) var(--serif); }
.audience-strip span { color: #aab9b2; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.source-note { max-width: 850px; margin: 17px 0 0; color: #8fa099; font-size: 11px; }
.ad-detail-grid { display: grid; grid-template-columns: .85fr 1.1fr 1fr; margin: 70px 0 130px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ad-detail-grid > article { min-height: 360px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.deadline-card > div { display: grid; grid-template-columns: 66px 1fr; gap: 15px; align-items: center; padding: 25px 0; border-top: 1px solid var(--line); }
.deadline-card > div:first-of-type { margin-top: 32px; }
.deadline-card > div strong { color: var(--gold); font: 400 52px var(--serif); }
.deadline-card p { margin: 0; color: #acbdb5; font-size: 13px; }
.deadline-card b { color: var(--ivory); font-weight: 650; }
.spec-card dl { margin: 29px 0 0; }
.spec-card dl div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-top: 1px solid var(--line); }
.spec-card dt { color: #bac7c1; font-size: 12px; }
.spec-card dd { margin: 0; color: var(--ivory); font: 400 17px var(--serif); white-space: nowrap; }
.extras-card ul { margin: 29px 0 0; padding: 0; list-style: none; }
.extras-card li { position: relative; padding: 15px 0 15px 23px; border-top: 1px solid var(--line); color: #c1cdc7; font-size: 13px; }
.extras-card li::before { content: "+"; position: absolute; left: 0; color: var(--gold); }
.extras-card p { color: #899991; font-size: 11px; }
.ad-booking-grid { display: grid; grid-template-columns: 1fr minmax(480px,620px); gap: clamp(70px,9vw,150px); align-items: start; }
.advertise-copy { position: sticky; top: 120px; }
.advertise-copy h2 em { color: #8bb7ad; }
.advertise-copy > p { max-width: 620px; color: #bac9c2; font-size: 17px; }
.distribution-note { margin-top: 30px; padding: 22px; border-left: 3px solid #7fa9a1; background: rgba(4,16,12,.24); }
.distribution-note strong { display: block; color: var(--ivory); font: 400 22px var(--serif); }
.distribution-note p { margin: 7px 0 0; color: #aebdb6; font-size: 12px; }
.direct-contact { display: grid; gap: 7px; margin-top: 36px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.direct-contact span { color: #91a29a; font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.direct-contact a { width: fit-content; color: var(--ivory); font: 400 20px var(--serif); }
.direct-contact a:hover { color: var(--gold); }
.honesty-card { margin-top: 42px; padding: 26px; border: 1px solid rgba(189,139,77,.5); background: rgba(4,16,12,.28); }
.honesty-card > span { color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.honesty-card strong { display: block; margin: 13px 0 8px; font: 400 24px/1.2 var(--serif); }
.honesty-card p { margin: 0; color: #adc0b7; font-size: 14px; }
.process-list { margin: 34px 0 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line); }
.process-list li > span { color: var(--gold); font-size: 9px; letter-spacing: .15em; }
.process-list strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.process-list p { margin: 5px 0 0; color: #aebdb6; font-size: 13px; }
.feature-form { padding: clamp(32px, 4vw, 56px); background: var(--ivory); color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.form-head { margin-bottom: 34px; }
.form-head h3 { margin: 0 0 10px; font: 400 clamp(30px, 3vw, 42px)/1 var(--serif); }
.form-head p { margin: 0; color: #5d6b65; font-size: 13px; }
.feature-form label:not(.check), .compact-form label:not(.check) { display: grid; gap: 8px; margin-bottom: 20px; }
.feature-form label > span, .compact-form label > span { font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.feature-form label small, .compact-form label small { color: #76817c; font-size: 8px; }
.feature-form input, .feature-form textarea, .feature-form select, .compact-form input {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #9ca7a1;
  border-radius: 0;
  padding: 11px 1px;
  outline: 0;
  background: transparent;
  color: var(--ink);
  resize: vertical;
}
.feature-form input:focus, .feature-form textarea:focus, .feature-form select:focus, .compact-form input:focus { border-color: var(--gold); box-shadow: 0 1px var(--gold); }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.check { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 11px !important; margin: 16px 0 !important; cursor: pointer; }
.check input { flex: 0 0 auto; width: 17px !important; height: 17px; margin: 2px 0 0; accent-color: var(--gold); }
.check span { font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.5; text-transform: none !important; }
.feature-form .button { width: 100%; margin-top: 14px; }
.form-status { min-height: 22px; margin: 14px 0 0; color: var(--moss); font-size: 12px; }
.form-status.error { color: #a83c2d; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.legacy { background: var(--paper); }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--dark-line); }
.timeline article { position: relative; min-height: 290px; padding: 28px 24px 20px 0; border-right: 1px solid var(--dark-line); }
.timeline article + article { padding-left: 24px; }
.timeline article::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; background: var(--gold); border-radius: 50%; }
.timeline article + article::before { left: 24px; }
.timeline span { color: var(--gold); font: 400 42px var(--serif); }
.timeline strong { display: block; margin-top: 70px; font: 400 22px var(--serif); }
.timeline p { color: #586660; font-size: 13px; }

.submit { position: relative; color: var(--ivory); background: var(--ink); overflow: hidden; }
.submit::before { content: ""; position: absolute; width: 760px; height: 760px; left: -280px; top: -260px; border: 1px solid rgba(76,133,144,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(76,133,144,.035), 0 0 0 140px rgba(76,133,144,.025); }
.submit-grid { position: relative; }
.submit-copy { padding-top: 30px; }
.submit-copy h2 em { color: #84ada5; }
.submit-copy > p { max-width: 560px; color: #aebdb6; font-size: 17px; }
.submission-notes { margin-top: 54px; }
.submission-notes p { display: flex; gap: 18px; margin: 0; padding: 17px 0; border-top: 1px solid var(--line); color: #aebbb5; font-size: 13px; }
.submission-notes span { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.dark-form { background: #10241e; color: var(--ivory); border: 1px solid var(--line); box-shadow: 0 30px 80px rgba(0,0,0,.36); }
.dark-form .form-head p { color: #9baca4; }
.dark-form input, .dark-form textarea, .dark-form select { color: var(--ivory); border-color: #4b6158; }
.dark-form select option { background: var(--deep); }
.dark-form .form-status { color: #a8cbbd; }

.workflow { background: #cfdbd6; }
.workflow-track { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr 34px 1fr; align-items: center; }
.workflow-track article { min-height: 260px; padding: 30px; border: 1px solid rgba(7,19,15,.18); background: rgba(246,242,231,.45); }
.workflow-track article span { color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .17em; }
.workflow-track article strong { display: block; margin-top: 80px; font: 400 25px var(--serif); }
.workflow-track article p { color: #52635c; font-size: 13px; }
.workflow-track > i { height: 1px; background: var(--moss); position: relative; }
.workflow-track > i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--moss); border-right: 1px solid var(--moss); transform: rotate(45deg); }

.newsletter { background: var(--paper); padding-top: 0; }
.newsletter-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; padding: clamp(48px, 7vw, 90px); background: var(--gold); }
.newsletter-panel h2 { margin: 0; font: 400 clamp(43px, 5vw, 72px)/1 var(--serif); letter-spacing: -.04em; }
.newsletter-panel p { margin-bottom: 0; }
.newsletter-form { display: grid; grid-template-columns: 1fr 58px; }
.newsletter-form > input[type="email"] { min-width: 0; padding: 15px 4px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; color: var(--ink); outline: none; }
.newsletter-form > input::placeholder { color: rgba(7,19,15,.62); }
.newsletter-form > button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; font-size: 28px; cursor: pointer; }
.newsletter-form .check, .newsletter-form .form-status { grid-column: 1 / -1; }

.site-footer { background: var(--ink); color: var(--ivory); }
.footer-top { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; padding: 90px 0 70px; }
.footer-brand p { max-width: 240px; color: #97a59e; font: 400 18px var(--serif); }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; }
.footer-links > div { display: grid; align-content: start; gap: 9px; }
.footer-links span { margin-bottom: 13px; color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.footer-links a { width: fit-content; color: #aab7b1; font-size: 14px; }
.footer-links a:hover { color: var(--ivory); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 24px 0 34px; border-top: 1px solid var(--line); color: #76857e; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.made-by a { color: inherit; }
.made-by a:hover { color: var(--gold); }
.made-by strong { color: var(--gold); }

.book-dialog { width: min(860px, calc(100% - 32px)); padding: 0; border: 0; background: var(--ivory); color: var(--ink); box-shadow: 0 30px 120px rgba(0,0,0,.7); }
.book-dialog::backdrop { background: rgba(2,9,7,.82); backdrop-filter: blur(7px); }
.dialog-close { position: absolute; z-index: 2; top: 15px; right: 17px; width: 42px; height: 42px; border: 1px solid var(--dark-line); border-radius: 50%; background: var(--ivory); font-size: 25px; cursor: pointer; }
.dialog-grid { display: grid; grid-template-columns: 42% 1fr; min-height: 570px; }
.dialog-image { display: grid; place-items: center; padding: 55px; background: var(--deep); }
.dialog-image img { max-height: 430px; box-shadow: 14px 22px 40px rgba(0,0,0,.45); }
.dialog-copy { padding: 70px 55px 50px; }
.dialog-copy .book-theme { display: block; }
.dialog-copy h2 { margin: 18px 0 10px; font: 400 44px/1 var(--serif); letter-spacing: -.035em; }
.dialog-copy .dialog-author { color: #66736e; }
.dialog-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 42px 0; padding: 24px 0; border-top: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); }
.dialog-facts span { display: block; color: #78827d; font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.dialog-facts strong { font: 400 24px var(--serif); }
.dialog-note { color: #65716c; font-size: 12px; }
.dialog-copy .button { margin-top: 24px; }
.toast { position: fixed; z-index: 500; right: 22px; bottom: 22px; max-width: 390px; padding: 17px 20px; background: var(--ivory); color: var(--ink); border-left: 4px solid var(--gold); box-shadow: 0 15px 50px rgba(0,0,0,.3); font-size: 13px; opacity: 0; transform: translateY(20px); pointer-events: none; transition: .3s; }
.toast.show { opacity: 1; transform: none; }
.toast.error { border-color: #b64837; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
.loading-block { min-height: 300px; display: grid; place-items: center; color: #7f8d86; }
.loading-block::after { content: ""; width: 32px; height: 32px; border: 1px solid currentColor; border-top-color: var(--gold); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.legal-page { min-height: 100vh; padding: 140px 0 90px; background: var(--paper); }
.legal-body .site-header { height: 72px; background: var(--ink); border-bottom-color: rgba(255,255,255,.1); }
.legal-body .site-header .header-actions { margin-left: auto; }
.legal-shell { width: min(820px, calc(100vw - 48px)); margin: auto; }
.legal-shell h1 { margin: 0 0 35px; font: 400 clamp(48px, 8vw, 80px)/.95 var(--serif); letter-spacing: -.05em; }
.legal-shell h2 { margin-top: 46px; font: 400 27px var(--serif); }
.legal-shell p, .legal-shell li { color: #46544f; }
.legal-shell .draft-note { padding: 18px; border-left: 3px solid var(--gold); background: #e1dbcc; }
.legal-back { display: inline-flex; margin-bottom: 42px; color: var(--moss); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Visual system v2: one lake-to-bank palette across every chapter. */
:root {
  --ink: #06110f;
  --deep: #081916;
  --green: #123d34;
  --moss: #2f6b5b;
  --blue: #4f8fa2;
  --gold: #dda85e;
  --copper: #a86235;
  --paper: #e9e6d8;
  --ivory: #f7f2e5;
  --mist: #d7e4de;
  --muted: #98aaa2;
  --line: rgba(226, 235, 229, .16);
  --dark-line: rgba(6, 17, 15, .16);
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--ink); }
.page-progress { height: 3px; background: rgba(255,255,255,.035); }
.page-progress span { background: linear-gradient(90deg, var(--blue), var(--gold)); box-shadow: 0 0 15px rgba(221,168,94,.55); }
.site-header { padding-inline: max(34px,calc((100vw - 1380px)/2)); }
.site-header::before { content: ""; position: absolute; inset: 12px 18px; z-index: -1; border: 1px solid transparent; transition: .35s ease; pointer-events: none; }
.site-header.scrolled { height: 76px; background: rgba(5,17,14,.82); border-color: rgba(222,238,231,.1); box-shadow: 0 12px 40px rgba(0,0,0,.18); }
.site-header.scrolled::before { inset: 9px 18px; border-color: rgba(221,168,94,.11); background: rgba(12,35,29,.36); }
.brand-mark { width: 46px; height: 46px; color: #07120f; background: linear-gradient(145deg,#edc681,#bd753e); clip-path: polygon(8% 0,100% 8%,92% 100%,0 91%); box-shadow: 0 8px 24px rgba(0,0,0,.25); transform: none; }
.brand-copy strong { font-size: 20px; letter-spacing: .09em; }
.brand-copy small { color: #9eb2a9; }
.desktop-nav a { color: #d1dbd6; font-size: 10px; letter-spacing: .18em; }
.desktop-nav a.active { color: var(--gold); }
.desktop-nav a.active::after { right: 0; }
.header-cta { padding: 12px 18px; border-color: rgba(221,168,94,.48); background: rgba(221,168,94,.06); }
.header-cta:hover { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.mobile-nav a.active { color: var(--gold); }

.hero { min-height: 760px; background: #04100e; }
.hero-image { background: linear-gradient(90deg,rgba(2,12,10,.96) 0%,rgba(4,20,17,.76) 46%,rgba(4,22,19,.34) 78%,rgba(4,16,14,.56) 100%), linear-gradient(180deg,rgba(49,104,91,.08),rgba(3,14,12,.28)), url('/assets/hero-lake.webp') center/cover no-repeat; filter: saturate(.82) contrast(1.08); }
.hero-caustics { opacity: .3; background: radial-gradient(ellipse at 68% 66%,rgba(92,173,169,.28),transparent 27%), repeating-radial-gradient(ellipse at 59% 91%,transparent 0 31px,rgba(151,205,194,.1) 32px 33px,transparent 34px 53px); }
.hero-grain { opacity: .11; }
.hero::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(110deg,rgba(221,168,94,.06),transparent 33%), radial-gradient(circle at 78% 26%,rgba(92,161,160,.11),transparent 30%); pointer-events: none; }
.hero::after { height: 38%; background: linear-gradient(transparent,rgba(2,10,8,.92)); }
.hero-grid { grid-template-columns: minmax(0,1fr) 310px; gap: clamp(55px,6vw,95px); padding-top: clamp(145px,20vh,205px); }
.hero-copy { position: relative; }
.hero-eyebrow { color: #b6cac0; }
.hero-title-wrap::before { content: ""; position: absolute; left: 1%; top: -4%; width: 84px; height: 2px; background: linear-gradient(90deg,#d7a35d,transparent); }
.hero h1 { font-weight: 800; letter-spacing: -.048em; line-height: .71; text-shadow: 0 16px 42px rgba(0,0,0,.32); }
.hero h1 span:first-child { width: fit-content; color: #f3efe5; }
.hero h1 span:last-child { color: #d8e4de; padding-left: .2em; -webkit-text-stroke: 0; text-shadow: 0 14px 40px rgba(0,0,0,.25); }
.hero-deck { position: relative; max-width: 625px; padding-left: 21px; color: #d6e0db; }
.hero-deck, .hero-actions, .replay-button { z-index: 6; }
.hero-actions, .replay-button { position: relative; }
.hero-deck::before { content: ""; position: absolute; inset: 4px auto 4px 0; width: 2px; background: linear-gradient(var(--gold),rgba(79,143,162,.42)); }
.button { min-height: 54px; padding: 15px 21px; border-radius: 3px; letter-spacing: .14em; }
.button-gold { background: linear-gradient(135deg,#ebbd72,#c98243); box-shadow: 0 12px 30px rgba(147,84,40,.18); }
.button-gold:hover { background: linear-gradient(135deg,#f3ca86,#da9550); box-shadow: 0 18px 34px rgba(147,84,40,.3); }
.text-link { color: #dce6e1; }
.replay-button { color: #9caea6; }
.issue-peek { padding: 11px; border-color: rgba(188,223,211,.24); border-radius: 5px; background: linear-gradient(145deg,rgba(20,50,42,.72),rgba(4,17,14,.58)); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
.issue-peek::before { inset: 10px -9px -9px 10px; border-color: rgba(221,168,94,.44); border-radius: 5px; }
.issue-peek img { border-radius: 2px; }
.hero-foot { color: #8fa49a; }

.section-pad { position: relative; isolation: isolate; }
.section-pad > .shell { position: relative; z-index: 2; }
.section-pad::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.section-heading { margin-bottom: clamp(58px,7vw,90px); }
.section-heading h2, .prints-copy h2, .advertise-copy h2, .submit-copy h2 { font-weight: 500; letter-spacing: -.028em; line-height: .96; text-wrap: balance; }
.section-heading h2 em { color: var(--moss); }
.eyebrow { color: inherit; }
.eyebrow > span { background: linear-gradient(90deg,var(--gold),var(--blue)); opacity: 1; }
.section-label span, .mini-label { color: var(--copper); }

.manifesto { color: #10241e; background: linear-gradient(145deg,#eee9dc 0%,#dbe2d5 100%); }
.manifesto::before { background: radial-gradient(circle at 84% 12%,rgba(79,143,162,.16),transparent 27%), radial-gradient(circle at 7% 92%,rgba(221,168,94,.15),transparent 30%); }
.manifesto::after { content: ""; position: absolute; z-index: 0; right: 5%; top: 13%; width: 330px; height: 330px; border: 1px solid rgba(18,61,52,.08); border-radius: 50%; box-shadow: 0 0 0 60px rgba(18,61,52,.018),0 0 0 120px rgba(18,61,52,.012); }
.display-line { font-weight: 800; letter-spacing: -.04em; line-height: .88; }
.display-line.outline { color: #4d7167; -webkit-text-stroke: 0; }
.manifesto-note { color: #385149; }
.pillar-rail { gap: 12px; border: 0; }
.pillar-card { min-height: 310px; padding: 31px; border: 1px solid rgba(9,34,28,.12); background: rgba(250,247,236,.42); box-shadow: inset 0 1px rgba(255,255,255,.45); }
.pillar-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(var(--gold),var(--blue)); transform: scaleY(0); transform-origin: bottom; transition: transform .35s; }
.pillar-card:hover { color: var(--ivory); background: linear-gradient(150deg,#17483c,#0b2721); transform: translateY(-7px); box-shadow: 0 24px 45px rgba(17,48,40,.18); }
.pillar-card:hover::before { transform: scaleY(1); }

.current-issue { color: #0c211b; background: linear-gradient(180deg,#f7f2e6 0%,#e2e9e3 100%); }
.current-issue::before { background: linear-gradient(115deg,transparent 63%,rgba(79,143,162,.11)), radial-gradient(circle at 14% 6%,rgba(221,168,94,.16),transparent 24%); }
.issue-stage { min-height: 650px; padding: clamp(42px,5vw,72px); border-radius: 18px; background: linear-gradient(145deg,#123d34,#071a16 76%); box-shadow: 0 35px 80px rgba(7,31,25,.22); }
.issue-stage::before { background: radial-gradient(circle at 52% 116%,rgba(79,143,162,.48),transparent 48%),linear-gradient(125deg,rgba(255,255,255,.045),transparent 42%); }
.issue-cover { border-radius: 2px; box-shadow: 0 28px 60px rgba(0,0,0,.42); }
.archive-callout { margin-top: 55px; padding: 34px 4px; border-color: rgba(8,31,25,.2); }

.book-room { background: radial-gradient(circle at 92% 9%,rgba(168,98,53,.16),transparent 27%),radial-gradient(circle at 12% 78%,rgba(79,143,162,.1),transparent 28%),linear-gradient(160deg,#071612,#081d18 65%,#0a1714); }
.book-room::before { background: linear-gradient(90deg,rgba(221,168,94,.025),transparent 28%,rgba(79,143,162,.035)); }
.section-heading.light h2 em { color: #8fc2b6; }
.catalogue-tools { padding: 18px 22px; border: 1px solid var(--line); background: rgba(255,255,255,.025); }
.filter-button { border-radius: 2px; }
.filter-button:hover, .filter-button.active { background: linear-gradient(135deg,#e7b96e,#bd7940); }
.book-grid { gap: 12px; border: 0; }
.book-card { border: 1px solid var(--line); background: linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008)); }
.book-card:hover { background: linear-gradient(155deg,#153d32,#0d241e); transform: translateY(-6px); box-shadow: 0 28px 55px rgba(0,0,0,.26); }
.shop-footer { padding-top: 12px; }
.shop-route { border-color: rgba(226,235,229,.15); }

.prints { color: #112a23; background: linear-gradient(145deg,#dfe5dc,#d1d5c7 58%,#e9dfcc); }
.prints::before { width: auto; height: auto; right: 0; top: 0; border: 0; border-radius: 0; box-shadow: none; background: radial-gradient(circle at 84% 8%,rgba(79,143,162,.18),transparent 27%),radial-gradient(circle at 13% 82%,rgba(221,168,94,.15),transparent 25%); }
.print-grid { gap: 12px; border: 0; }
.print-card { border: 1px solid rgba(6,17,15,.13); background: rgba(247,242,229,.42); box-shadow: 0 15px 35px rgba(23,51,43,.07); }
.print-card:hover { background: rgba(249,246,236,.86); transform: translateY(-10px); box-shadow: 0 25px 48px rgba(23,51,43,.15); }
.print-art { border-color: #2d251e; background: linear-gradient(150deg,#16483d,#071916); }
.print-shop-bar { border-color: rgba(6,17,15,.18); }

.advertise { background: radial-gradient(circle at 92% 4%,rgba(221,168,94,.14),transparent 24%),radial-gradient(circle at 7% 38%,rgba(79,143,162,.11),transparent 26%),linear-gradient(155deg,#16483b,#0b2b24 55%,#071a16); }
.ad-price-lockup { border-radius: 4px; background: linear-gradient(145deg,rgba(6,22,18,.55),rgba(221,168,94,.07)); box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.ad-offer { border-radius: 18px; background: linear-gradient(145deg,#071c17,#06130f); box-shadow: 0 35px 90px rgba(0,0,0,.24); }
.ad-pack-visual img { border-radius: 3px; }
.placement-list li, .audience-strip article, .ad-detail-grid > article { background: rgba(4,20,16,.18); }
.audience-strip { gap: 10px; border: 0; }
.audience-strip article { border: 1px solid var(--line); }
.ad-detail-grid { gap: 10px; border: 0; }
.ad-detail-grid > article { border: 1px solid var(--line); }
.feature-form { border-radius: 20px; background: linear-gradient(145deg,#fbf7ed,#ece9dc); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 36px 90px rgba(0,0,0,.24); }
.feature-form input, .feature-form textarea, .feature-form select { padding: 13px 2px; }

.legacy { background: linear-gradient(145deg,#eee7d7,#d9e0d7); }
.legacy::before { background: radial-gradient(circle at 77% 12%,rgba(79,143,162,.13),transparent 25%),linear-gradient(90deg,rgba(221,168,94,.07),transparent 35%); }
.timeline { gap: 10px; border: 0; }
.timeline article { padding: 30px; border: 1px solid rgba(6,17,15,.14); background: rgba(249,246,236,.42); }
.timeline article + article { padding-left: 30px; }
.timeline article::before, .timeline article + article::before { left: 30px; top: -5px; box-shadow: 0 0 0 7px rgba(221,168,94,.12); }

.submit { background: radial-gradient(circle at 10% 8%,rgba(79,143,162,.17),transparent 27%),linear-gradient(150deg,#071b17,#06110f 72%); }
.submit::before { inset: auto; left: -280px; top: -260px; width: 760px; height: 760px; border-color: rgba(101,176,180,.2); }
.dark-form { background: linear-gradient(155deg,#12382f,#0b241e); border-color: rgba(138,192,178,.2); }

.workflow { color: #10261f; background: linear-gradient(145deg,#d4e2dc,#c6d7d2 55%,#e1dfd2); }
.workflow::before { background: radial-gradient(circle at 86% 10%,rgba(79,143,162,.18),transparent 24%),radial-gradient(circle at 6% 90%,rgba(221,168,94,.13),transparent 24%); }
.workflow-track { gap: 8px; }
.workflow-track article { border-radius: 9px; border-color: rgba(6,17,15,.14); background: rgba(248,245,233,.54); transition: transform .3s,background .3s; }
.workflow-track article:hover { transform: translateY(-7px); background: rgba(250,248,239,.88); }
.workflow-track > i { background: linear-gradient(90deg,var(--moss),var(--gold)); }

.newsletter { background: linear-gradient(180deg,#e1dfd2,#f1eadc); }
.newsletter-panel { border-radius: 18px; background: linear-gradient(125deg,#e3b16a,#cf8748 58%,#b86d3b); box-shadow: 0 30px 70px rgba(91,54,30,.16); }
.newsletter-form > input[type="email"], .newsletter-form > button { border-bottom-color: rgba(6,17,15,.58); }
.site-footer { background: radial-gradient(circle at 90% 5%,rgba(79,143,162,.09),transparent 27%),#06110f; }
.footer-top { padding-top: 105px; }
.footer-bottom { border-color: rgba(220,233,226,.12); }
.book-dialog { border-radius: 18px; overflow: hidden; }
.toast { border-radius: 6px; }
.reveal { transform: translateY(34px) scale(.992); transition: opacity .8s ease,transform .8s cubic-bezier(.18,.72,.2,1); }
.reveal.visible { transform: none; }

/* Scroll depth and underwater life */
.depth-meter {
  position: fixed;
  z-index: 118;
  right: 18px;
  top: 50%;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: rgba(225,239,234,.58);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
  opacity: 0;
  transform: translate(18px,-50%);
  transition: opacity .4s ease,transform .4s ease;
  pointer-events: none;
}
.depth-meter.visible { opacity: 1; transform: translate(0,-50%); }
.depth-meter span { writing-mode: vertical-rl; }
.depth-meter span:first-child { transform: rotate(180deg); }
.depth-meter i { position: relative; width: 1px; height: 146px; background: linear-gradient(#81c4bf,#2d6f78 45%,#06131e); }
.depth-meter i::before, .depth-meter i::after { content: ""; position: absolute; left: -3px; width: 7px; height: 1px; background: rgba(225,239,234,.52); }
.depth-meter i::before { top: 0; }
.depth-meter i::after { bottom: 0; }
.depth-meter b { position: absolute; left: 50%; top: 2px; width: 8px; height: 8px; border: 1px solid #edbd72; border-radius: 50%; background: #09201d; box-shadow: 0 0 0 4px rgba(221,168,94,.1),0 0 15px rgba(221,168,94,.32); transform: translateX(-50%); will-change: transform; }

.underwater-atmosphere {
  position: fixed;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  opacity: var(--underwater-opacity,0);
  transition: opacity .18s linear;
  pointer-events: none;
  mix-blend-mode: screen;
}
.underwater-rays {
  position: absolute;
  inset: -22% -30% 8%;
  background: repeating-conic-gradient(from 193deg at 50% 0%,transparent 0 7deg,rgba(155,219,213,.08) 8deg 11deg,transparent 12deg 22deg);
  -webkit-mask-image: linear-gradient(180deg,#000,rgba(0,0,0,.5) 48%,transparent 94%);
  mask-image: linear-gradient(180deg,#000,rgba(0,0,0,.5) 48%,transparent 94%);
  transform-origin: 50% 0;
  animation: underwater-rays-drift 18s ease-in-out infinite alternate;
}
.underwater-particles {
  position: absolute;
  inset: -12%;
  background-image: radial-gradient(circle,rgba(224,245,239,.62) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(156,218,214,.4) 0 .8px,transparent 1.2px);
  background-position: 0 0,41px 63px;
  background-size: 87px 103px,131px 149px;
  opacity: .38;
  animation: underwater-particles-drift 24s linear infinite;
}
.underwater-atmosphere .bubble { position: absolute; bottom: -30px; width: 7px; height: 7px; border: 1px solid rgba(201,237,232,.48); border-radius: 50%; box-shadow: inset 1px 1px rgba(255,255,255,.35); opacity: 0; animation: bubble-rise 13s ease-in infinite; }
.underwater-atmosphere .bubble-a { left: 12%; animation-delay: -4s; }
.underwater-atmosphere .bubble-b { left: 37%; width: 4px; height: 4px; animation-delay: -9s; animation-duration: 16s; }
.underwater-atmosphere .bubble-c { left: 72%; width: 9px; height: 9px; animation-delay: -1s; animation-duration: 18s; }
.underwater-atmosphere .bubble-d { left: 91%; width: 5px; height: 5px; animation-delay: -12s; animation-duration: 15s; }
@keyframes underwater-rays-drift { to { transform: translate3d(3%,-1%,0) rotate(.8deg) scale(1.05); } }
@keyframes underwater-particles-drift { to { transform: translate3d(-42px,-76px,0); } }
@keyframes bubble-rise { 0% { opacity: 0; transform: translate3d(0,0,0) scale(.55); } 14% { opacity: .55; } 78% { opacity: .34; } 100% { opacity: 0; transform: translate3d(18px,-108vh,0) scale(1.25); } }

.section-pad { overflow: hidden; }
.section-pad:not(.manifesto)::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -8%;
  background-image:
    repeating-radial-gradient(ellipse at 50% -8%,transparent 0 42px,rgba(192,234,228,.045) 43px 44px,transparent 45px 76px),
    linear-gradient(112deg,transparent 22%,rgba(170,223,218,.035) 33%,transparent 45%);
  opacity: .6;
  transform: translate3d(0,0,0);
  animation: section-caustics 17s ease-in-out infinite alternate;
  pointer-events: none;
  mix-blend-mode: screen;
}
@keyframes section-caustics { to { transform: translate3d(-2%,2%,0) scale(1.04); opacity: .85; } }
.water-life { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }
.ambient-carp {
  --fish-scale: 1;
  --flip: 1;
  position: absolute;
  left: -24vw;
  top: var(--fish-lane,50%);
  width: clamp(115px,15vw,260px);
  aspect-ratio: 360 / 168;
  color: rgba(14,53,48,.08);
  background: currentColor;
  -webkit-mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat;
  mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat;
  filter: blur(.2px);
  opacity: .56;
  transform: scaleX(var(--flip)) scale(var(--fish-scale));
  transform-origin: center;
  animation: ambient-swim 32s linear var(--fish-delay,0s) infinite;
  will-change: transform;
}
.ambient-carp-2 { --flip: -1; width: clamp(90px,11vw,205px); animation-duration: 39s; animation-direction: reverse; }
.ambient-carp-3 { width: clamp(140px,19vw,330px); animation-duration: 46s; }
.water-life-midwater .ambient-carp { color: rgba(92,155,147,.075); }
.water-life-bluewater .ambient-carp { color: rgba(5,43,51,.12); }
.water-life-deep .ambient-carp, .water-life-lower .ambient-carp { color: rgba(114,183,182,.095); }
.water-life-abyss .ambient-carp { color: rgba(105,186,198,.12); filter: blur(.5px); }
.water-life-abyss .ambient-carp-3 { color: rgba(221,168,94,.065); }
@keyframes ambient-swim {
  0% { transform: translate3d(-8vw,0,0) scaleX(var(--flip)) scale(var(--fish-scale)) rotate(-1deg); }
  24% { transform: translate3d(32vw,-13px,0) scaleX(var(--flip)) scale(var(--fish-scale)) rotate(1deg); }
  52% { transform: translate3d(70vw,8px,0) scaleX(var(--flip)) scale(var(--fish-scale)) rotate(-.7deg); }
  78% { transform: translate3d(108vw,-9px,0) scaleX(var(--flip)) scale(var(--fish-scale)) rotate(1deg); }
  100% { transform: translate3d(154vw,2px,0) scaleX(var(--flip)) scale(var(--fish-scale)) rotate(-1deg); }
}

/* The collection room: a kinetic archive wall for magazines, books and paintings. */
.collection-room { color: #0a241f; background: linear-gradient(180deg,#d9e7e0 0%,#b9d7d4 68%,#a9cdcd 100%); box-shadow: inset 0 54px 90px rgba(255,255,255,.2); }
.collection-room::before { background: radial-gradient(circle at 12% 16%,rgba(234,185,104,.19),transparent 24%),radial-gradient(circle at 89% 84%,rgba(38,112,126,.15),transparent 31%),linear-gradient(115deg,rgba(255,255,255,.16),transparent 38%); }
.collection-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,520px); align-items: end; gap: clamp(50px,8vw,130px); margin-bottom: clamp(54px,7vw,90px); }
.collection-intro h2 { margin: 0; font: 500 clamp(52px,6vw,92px)/.96 var(--serif); letter-spacing: -.03em; }
.collection-intro h2 em { color: #2d706b; font-weight: 400; }
.collection-intro > p { margin: 0 0 8px; color: #345951; font-size: 16px; }
.collection-board { overflow: hidden; border: 1px solid rgba(175,217,208,.2); border-radius: 22px; color: #e7f0eb; background: radial-gradient(circle at 88% 3%,rgba(85,159,156,.14),transparent 27%),linear-gradient(150deg,#0c342f,#071f20 58%,#06171c); box-shadow: 0 38px 90px rgba(12,48,43,.25); }
.collection-board-head { min-height: 86px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid rgba(190,224,216,.13); background: rgba(3,17,17,.23); }
.collection-tabs { display: flex; align-items: stretch; align-self: stretch; }
.collection-tabs button { position: relative; min-width: 145px; border: 0; padding: 0 22px; color: #8ca9a2; background: transparent; font-size: 10px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; cursor: pointer; transition: color .25s,background .25s; }
.collection-tabs button span { margin-right: 10px; color: #c68449; font-size: 8px; }
.collection-tabs button::after { content: ""; position: absolute; inset: auto 22px -1px; height: 2px; background: linear-gradient(90deg,#e6b56a,#5ba6a3); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.collection-tabs button:hover, .collection-tabs button:focus-visible, .collection-tabs button.active { color: #f3eee1; background: rgba(255,255,255,.025); }
.collection-tabs button:focus-visible { outline: 1px solid rgba(232,183,105,.82); outline-offset: -5px; }
.collection-tabs button.active::after { transform: scaleX(1); }
.collection-status { display: flex; align-items: center; gap: 20px; color: #86a49d; font-size: 8px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.collection-status > span { color: #dfac67; }
.collection-status button { display: flex; align-items: center; gap: 9px; border: 0; padding: 8px 0; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.collection-status button[hidden] { display: none; }
.collection-status button i { width: 8px; height: 9px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
.collection-status button[aria-pressed="true"] i { border: 0; clip-path: polygon(0 0,100% 50%,0 100%); background: currentColor; }
.collection-stage { position: relative; padding: 28px; }
.collection-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px 14px; min-height: 690px; opacity: 1; transform: none; transition: opacity .27s ease,transform .27s ease; }
.collection-grid.is-changing { opacity: 0; transform: translateY(16px) scale(.992); }
.collection-grid-books { grid-template-columns: repeat(6,minmax(0,1fr)); min-height: 375px; }
.collection-grid-prints { grid-template-columns: repeat(4,minmax(0,1fr)); min-height: 440px; }
.collection-card { position: relative; min-width: 0; display: grid; grid-template-rows: auto 1fr; align-content: start; color: #e9f0ec; outline: none; perspective: 900px; }
.collection-card-number { position: absolute; z-index: 3; top: 9px; left: 10px; min-width: 27px; padding: 4px 6px; color: #0b211d; background: rgba(239,189,112,.93); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-align: center; box-shadow: 0 5px 15px rgba(0,0,0,.2); }
.collection-cover { position: relative; overflow: hidden; aspect-ratio: 500/707; border: 1px solid rgba(209,231,224,.15); background: #061613; box-shadow: 0 18px 32px rgba(0,0,0,.24); transform-origin: 50% 100%; transition: transform .38s cubic-bezier(.18,.72,.2,1),box-shadow .38s; }
.collection-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(112deg,transparent 30%,rgba(255,255,255,.16) 47%,transparent 61%); transform: translateX(-145%); transition: transform .65s ease; pointer-events: none; }
.collection-cover img { width: 100%; height: 100%; object-fit: cover; }
.collection-card:hover .collection-cover, .collection-card:focus-visible .collection-cover { transform: translateY(-8px) rotateX(2deg) rotateY(-2deg); box-shadow: 0 27px 45px rgba(0,0,0,.4); }
.collection-card:hover .collection-cover::after, .collection-card:focus-visible .collection-cover::after { transform: translateX(145%); }
.collection-card-copy { min-width: 0; padding: 13px 2px 0; display: grid; gap: 3px; }
.collection-card-copy strong { overflow: hidden; color: #ecf2ee; font: 400 17px/1.15 var(--serif); text-overflow: ellipsis; white-space: nowrap; }
.collection-card-copy span { color: #8eaaa3; font-size: 8px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.collection-generated-book { position: relative; width: 100%; height: 100%; padding: 23px 14px; display: flex; flex-direction: column; justify-content: space-between; color: #efe6d3; background: radial-gradient(circle at 75% 15%,rgba(221,168,94,.18),transparent 24%),linear-gradient(145deg,#194c3f,#071b17 73%); text-align: center; }
.collection-generated-book::before { content: "BC"; position: absolute; inset: 23% 0 auto; color: rgba(232,188,116,.07); font: 900 84px/1 var(--display); letter-spacing: -.08em; }
.collection-generated-book span, .collection-generated-book small { position: relative; z-index: 1; color: #d9a55f; font-size: 7px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.collection-generated-book strong { position: relative; z-index: 1; font: 400 clamp(15px,1.45vw,22px)/1.02 var(--serif); }
.collection-painting-art { --painting-glow: rgba(70,139,126,.38); --painting-mid: #163e35; --painting-deep: #071915; --painting-metal: rgba(225,185,115,.24); display: grid; align-content: center; justify-items: center; color: #e5bd79; background: radial-gradient(circle at 52% 43%,var(--painting-glow),transparent 35%),linear-gradient(150deg,var(--painting-mid),var(--painting-deep) 72%); }
.collection-painting-art::before { content: ""; width: 75%; aspect-ratio: 420/180; background: var(--painting-metal); -webkit-mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat; mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat; }
.collection-painting:nth-child(2) .collection-painting-art { --painting-glow: rgba(121,159,169,.4); --painting-mid: #143b42; --painting-deep: #07161d; --painting-metal: rgba(180,207,205,.23); }
.collection-painting:nth-child(2) .collection-painting-art::before { transform: scaleX(-1); }
.collection-painting:nth-child(3) .collection-painting-art { --painting-glow: rgba(164,100,62,.34); --painting-mid: #473127; --painting-deep: #17120f; --painting-metal: rgba(222,157,92,.25); }
.collection-painting:nth-child(4) .collection-painting-art { --painting-glow: rgba(88,116,71,.42); --painting-mid: #293c29; --painting-deep: #0d170f; --painting-metal: rgba(202,183,118,.25); }
.collection-painting:nth-child(4) .collection-painting-art::before { transform: scaleX(-1); }
.collection-painting-art i { position: absolute; inset: 13px; border: 1px solid rgba(225,185,115,.25); box-shadow: inset 0 0 0 7px rgba(4,17,14,.32); }
.collection-painting-art b { margin-top: 17px; font: 850 clamp(18px,2vw,28px)/.8 var(--display); letter-spacing: .08em; text-align: center; }
.collection-painting-art small { margin-top: 10px; max-width: 80%; color: #9cc0b5; font-size: 7px; font-weight: 850; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.collection-waterline { position: absolute; left: 28px; right: 28px; bottom: 0; height: 1px; overflow: hidden; background: rgba(193,223,216,.1); }
.collection-waterline i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#4d9696,#e1ad63); transform: translateX(-100%); }
.collection-waterline i.running { animation: collection-progress var(--collection-cycle, 8s) linear both; }
.collection-board-foot { min-height: 100px; padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; gap: 35px; border-top: 1px solid rgba(190,224,216,.13); background: rgba(2,14,15,.28); }
.collection-board-foot > p { max-width: 670px; margin: 0; color: #8fa8a3; font-size: 12px; }
.collection-controls { display: flex; align-items: center; gap: 8px; }
.collection-controls button { width: 42px; height: 42px; border: 1px solid rgba(204,227,220,.18); color: #dbe7e2; background: rgba(255,255,255,.025); cursor: pointer; transition: background .25s,color .25s,border-color .25s; }
.collection-controls button:hover:not(:disabled), .collection-controls button:focus-visible { color: #071813; background: #dda85e; border-color: #dda85e; }
.collection-controls button:disabled { opacity: .25; cursor: default; }
.collection-controls a { margin-left: 7px; padding: 12px 0 10px 14px; color: #e1b36e; border-left: 1px solid rgba(204,227,220,.16); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.collection-controls a span { margin-left: 7px; }
@keyframes collection-progress { to { transform: none; } }

/* A continuous descent: bank, shallows, blue water, then the lake bed. */
.manifesto { background: linear-gradient(180deg,#eee9dc 0%,#dae4d9 100%); }
.current-issue { background: linear-gradient(180deg,#a9cdcd 0%,#73a8b0 100%); }
.current-issue::before { background: radial-gradient(circle at 83% 7%,rgba(241,201,128,.22),transparent 24%),linear-gradient(135deg,rgba(255,255,255,.27),transparent 44%),linear-gradient(90deg,transparent 57%,rgba(46,119,131,.13)); }
.book-room { background: radial-gradient(circle at 88% 7%,rgba(174,111,62,.15),transparent 23%),radial-gradient(circle at 10% 76%,rgba(71,147,155,.16),transparent 31%),linear-gradient(160deg,#0b302d,#082522 57%,#071b1b); }
.prints { color: #e8f1ec; background: linear-gradient(155deg,#174e52,#113c43 56%,#0a2c38); }
.prints::before { background: radial-gradient(circle at 84% 8%,rgba(119,199,199,.16),transparent 27%),radial-gradient(circle at 13% 82%,rgba(221,168,94,.12),transparent 25%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 42%); }
.prints .section-heading h2 em { color: #a8d5ca; }
.prints .section-heading > p, .prints-copy > p { color: #b7cfca; }
.prints .section-label span, .prints .mini-label { color: #dfab68; }
.prints .print-card { border-color: rgba(197,226,219,.14); color: #e8f0eb; background: linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.018)); box-shadow: 0 22px 45px rgba(1,15,18,.18); }
.prints .print-card:hover { background: linear-gradient(155deg,rgba(34,91,89,.92),rgba(9,37,43,.9)); box-shadow: 0 28px 54px rgba(0,10,14,.34); }
.prints .print-card-copy span, .prints .print-card-copy small { color: #a7c4be; }
.prints .print-shop-bar { border-color: rgba(196,225,217,.18); }
.prints .button-outline { border-color: rgba(218,236,230,.34); color: #e9f2ed; }
.advertise { background: radial-gradient(circle at 92% 4%,rgba(221,168,94,.13),transparent 24%),radial-gradient(circle at 7% 38%,rgba(76,155,168,.14),transparent 27%),linear-gradient(155deg,#0b3438,#08262f 56%,#061b28); }
.legacy { color: #e1eeea; background: linear-gradient(155deg,#0b2c38,#092431 58%,#071c2b); }
.legacy::before { background: radial-gradient(circle at 77% 12%,rgba(91,175,185,.14),transparent 25%),linear-gradient(90deg,rgba(221,168,94,.06),transparent 35%); }
.legacy .section-heading h2 em { color: #93c8c4; }
.legacy .section-heading > p, .legacy .timeline p { color: #9fbbb8; }
.legacy .timeline article { border-color: rgba(195,224,221,.14); background: rgba(226,241,237,.035); }
.legacy .timeline article + article { border-left-color: rgba(195,224,221,.14); }
.submit { background: radial-gradient(circle at 10% 8%,rgba(76,155,168,.16),transparent 27%),linear-gradient(150deg,#071f2b,#051724 72%); }
.workflow { color: #dceae7; background: linear-gradient(150deg,#071d2c,#061725 55%,#040f1c); }
.workflow::before { background: radial-gradient(circle at 86% 10%,rgba(68,154,171,.16),transparent 24%),radial-gradient(circle at 6% 90%,rgba(221,168,94,.07),transparent 24%); }
.workflow .section-heading h2 em { color: #85bec1; }
.workflow .section-heading > p { color: #93afb2; }
.workflow-track article { border-color: rgba(173,213,217,.13); color: #dce9e6; background: rgba(134,195,200,.04); }
.workflow-track article:hover { background: rgba(118,186,192,.1); }
.workflow-track article p { color: #8da9ad; }
.workflow-track > i { background: linear-gradient(90deg,#397e84,var(--gold)); }
.newsletter { background: linear-gradient(180deg,#040f1c,#030c15); }
.newsletter-panel { position: relative; z-index: 2; overflow: hidden; border: 1px solid rgba(250,220,164,.24); background: radial-gradient(circle at 94% 3%,rgba(255,227,170,.3),transparent 24%),linear-gradient(125deg,#e3b16a,#c67a40 58%,#9d542f); box-shadow: 0 34px 90px rgba(0,0,0,.38); }
.newsletter-panel::after { content: ""; position: absolute; right: -90px; bottom: -110px; width: 310px; height: 190px; background: rgba(54,28,16,.1); -webkit-mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat; mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat; transform: rotate(-8deg); pointer-events: none; }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 48px, 1000px); }
  .desktop-nav { display: none; }
  .menu-toggle { display: block; color: inherit; }
  .hero-grid { grid-template-columns: 1fr 230px; gap: 40px; }
  .hero h1 { font-size: clamp(116px, 17vw, 190px); }
  .manifesto-grid { grid-template-columns: 130px 1fr; }
  .manifesto-note { grid-column: 2; margin-top: 15px; max-width: 620px; }
  .pillar-rail { grid-template-columns: 1fr 1fr; }
  .pillar-card:nth-child(2) { border-right: 0; }
  .pillar-card:nth-child(-n+2) { border-bottom: 1px solid var(--dark-line); }
  .collection-grid { gap-inline: 10px; }
  .collection-grid-books { grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 760px; }
  .book-grid { grid-template-columns: 1fr 1fr; }
  .print-grid { grid-template-columns: 1fr 1fr; }
  .ad-detail-grid { grid-template-columns: 1fr 1fr; }
  .ad-detail-grid .extras-card { grid-column: 1/-1; min-height: auto; }
  .ad-booking-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
  .advertise-grid, .submit-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
  .workflow-track { grid-template-columns: 1fr 16px 1fr; gap: 0; }
  .workflow-track article:nth-of-type(3), .workflow-track article:nth-of-type(4) { margin-top: 16px; }
  .workflow-track > i:nth-of-type(2) { display: none; }
  .workflow-track article:nth-of-type(3) { grid-column: 1; }
  .workflow-track > i:nth-of-type(3) { grid-column: 2; }
}

@media (max-width: 800px) {
  :root { --shell: calc(100% - 34px); }
  .site-header { height: 72px; padding-inline: 17px; }
  .brand-copy, .header-cta, .preview-pill { display: none; }
  .intro-title-lockup { top: 47%; width: 92%; }
  .intro-title-lockup strong { font-size: clamp(64px,20vw,125px); white-space: normal; line-height: .78; }
  .intro-title-lockup b { margin-top: 17px; font-size: 11px; letter-spacing: .42em; text-indent: .42em; }
  .intro-island { background-position: center 55%; }
  .intro-fish-track { left: -38vw; width: clamp(185px,54vw,230px); }
  .intro-impact { right: -2%; bottom: 19%; width: 145px; transform: scale(.8); }
  .intro-depth-line { bottom: 17%; width: 68vw; }
  .intro-ui { left: 18px; right: 18px; bottom: 18px; grid-template-columns: auto 1fr auto; gap: 12px; font-size: 7px; letter-spacing: .12em; }
  .depth-meter { display: none; }
  .hero { min-height: 760px; height: 100svh; }
  .hero-grid { display: block; padding-top: 150px; }
  .hero-copy { padding-top: 0; }
  .hero h1 { font-size: clamp(110px, 37vw, 170px); line-height: .67; }
  .hero h1 span:last-child { padding-left: 0; }
  .hero-deck { max-width: 390px; margin-top: 34px; font-size: 18px; }
  .issue-peek { position: absolute; right: 0; bottom: 42px; width: 116px; margin: 0; transform: rotate(3deg); }
  .issue-kicker { font-size: 7px; }
  .issue-meta { display: block; }
  .issue-meta span { display: none; }
  .hero-foot { bottom: 17px; }
  .hero-foot > span:last-child { display: none; }
  .leap-stage { inset: -28% -40% -2% -10%; }
  .section-pad { padding: 92px 0; }
  .manifesto-grid { display: block; }
  .manifesto-copy { padding-top: 55px; }
  .manifesto-note { margin-top: 45px; }
  .collection-intro { display: block; }
  .collection-intro > p { margin-top: 28px; }
  .collection-board { margin-inline: -8px; border-radius: 15px; }
  .collection-board-head { min-height: auto; padding: 0 17px; align-items: stretch; flex-direction: column; gap: 0; }
  .collection-tabs { width: 100%; min-height: 66px; overflow-x: auto; scrollbar-width: none; }
  .collection-tabs::-webkit-scrollbar, .collection-grid::-webkit-scrollbar { display: none; }
  .collection-tabs button { min-width: 128px; padding-inline: 13px; }
  .collection-status { min-height: 46px; justify-content: space-between; border-top: 1px solid rgba(190,224,216,.1); }
  .collection-stage { padding: 20px 17px 22px; }
  .collection-grid, .collection-grid-books, .collection-grid-prints { grid-template-columns: none; grid-template-rows: repeat(2,auto); grid-auto-flow: column; grid-auto-columns: minmax(150px,42vw); gap: 18px 12px; min-height: 710px; overflow-x: auto; padding: 4px 2px 16px; scroll-snap-type: x proximity; scrollbar-color: #c1874d rgba(255,255,255,.05); }
  .collection-card { scroll-snap-align: start; }
  .collection-board-foot { align-items: flex-start; flex-direction: column; gap: 19px; }
  .collection-controls { width: 100%; }
  .collection-controls a { margin-left: auto; }
  .collection-waterline { left: 17px; right: 17px; }
  .pillar-rail { margin-top: 65px; }
  .pillar-card { min-height: 250px; padding: 24px 20px; }
  .pillar-card h3 { margin-top: 55px; font-size: 23px; }
  .section-heading { display: block; margin-bottom: 50px; }
  .section-heading > p { margin-top: 28px; }
  .issue-stage { min-height: 520px; padding: 38px 24px; }
  .issue-grid { gap: 18px; }
  .issue-card h3, .issue-card footer span { display: none; }
  .issue-card footer { justify-content: center; }
  .issue-card strong { font-size: 15px; }
  .archive-callout { display: block; }
  .archive-callout .button { margin-top: 24px; width: 100%; }
  .catalogue-tools { align-items: stretch; flex-direction: column; }
  .filter-row { justify-content: flex-start; }
  .book-card { min-height: 530px; padding: 25px; }
  .book-card .book-image-wrap { height: 285px; }
  .book-card h3 { font-size: 22px; }
  .shop-footer { grid-template-columns: 1fr; text-align: left; }
  .shop-footer > div:first-child { padding-bottom: 0; }
  .print-art { min-height: 320px; }
  .print-shop-bar { align-items: stretch; flex-direction: column; }
  .print-shop-bar .button { width: 100%; }
  .ad-intro { grid-template-columns: 1fr; gap: 35px; }
  .ad-price-lockup { width: min(330px,100%); }
  .ad-offer { grid-template-columns: 1fr; }
  .ad-pack-visual { width: min(330px,90%); }
  .audience-strip { grid-template-columns: 1fr 1fr; }
  .ad-detail-grid { grid-template-columns: 1fr; margin-bottom: 90px; }
  .ad-detail-grid .extras-card { grid-column: auto; }
  .ad-booking-grid { display: block; }
  .advertise-grid, .submit-grid { display: block; }
  .advertise-copy { position: static; }
  .feature-form { margin-top: 60px; }
  .timeline { grid-template-columns: 1fr 1fr; }
  .timeline article:nth-child(2) { border-right: 0; }
  .timeline article:nth-child(-n+2) { border-bottom: 1px solid var(--dark-line); }
  .newsletter-panel { grid-template-columns: 1fr; gap: 45px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-links { gap: 24px; }
  .footer-bottom { flex-direction: column; }
  .dialog-grid { grid-template-columns: 36% 1fr; min-height: 500px; }
  .dialog-image { padding: 28px; }
  .dialog-copy { padding: 62px 35px 35px; }
  .dialog-copy h2 { font-size: 34px; }
}

@media (max-width: 560px) {
  .catalogue-more { align-items: stretch; flex-direction: column; }
  .catalogue-more .button { width: 100%; }
  .intro-ui > span { display: none; }
  .intro-ui { grid-template-columns: 1fr auto; }
  .intro-title-lockup > span { font-size: 7px; letter-spacing: .24em; }
  .intro-water { top: 55%; }
  .ambient-carp { opacity: .36; animation-duration: 42s; }
  .ambient-carp:nth-child(n+4) { display: none; }
  .collection-intro h2 { font-size: 46px; }
  .collection-tabs { overflow-x: hidden; }
  .collection-tabs button { flex: 1; min-width: 0; padding-inline: 3px; font-size: 8px; letter-spacing: .1em; }
  .collection-tabs button span { margin-right: 4px; }
  .collection-grid, .collection-grid-books, .collection-grid-prints { scrollbar-width: none; }
  .collection-status button span { display: none; }
  .collection-grid, .collection-grid-books, .collection-grid-prints { grid-template-rows: 1fr; grid-auto-columns: minmax(210px,72vw); min-height: 435px; }
  .collection-card-copy strong { font-size: 18px; }
  .collection-board-foot { padding: 20px 17px; }
  .collection-controls a { font-size: 8px; }
  .hero-grid { padding-top: 132px; }
  .hero h1 { font-size: clamp(100px, 39vw, 145px); }
  .hero-eyebrow { max-width: 270px; }
  .hero-deck { max-width: 340px; }
  .issue-peek { display: none; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .replay-button { display: none; }
  .pillar-rail { grid-template-columns: 1fr; }
  .pillar-card { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--dark-line); }
  .pillar-card:nth-child(3) { border-bottom: 1px solid var(--dark-line); }
  .issue-stage { margin-inline: -17px; padding-inline: 18px; }
  .issue-grid { grid-template-columns: 1fr 1fr; }
  .issue-card:nth-child(3) { display: none; }
  .book-grid { grid-template-columns: 1fr; }
  .book-card { min-height: 560px; }
  .book-card .book-image-wrap { height: 340px; }
  .shop-route-row { grid-template-columns: 1fr; }
  .shop-route { min-height: 100px; }
  .print-grid { grid-template-columns: 1fr; }
  .print-art { min-height: 390px; }
  .placement-list { grid-template-columns: 1fr; }
  .audience-strip { grid-template-columns: 1fr 1fr; }
  .audience-strip article { min-height: 120px; padding: 20px; }
  .ad-detail-grid > article { min-height: auto; }
  .field-pair { grid-template-columns: 1fr; gap: 0; }
  .timeline { grid-template-columns: 1fr; }
  .timeline article, .timeline article + article { min-height: 220px; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--dark-line); }
  .timeline article + article::before { left: 0; }
  .timeline strong { margin-top: 42px; }
  .workflow-track { display: block; }
  .workflow-track article { min-height: 220px; margin: 0 0 12px !important; }
  .workflow-track > i { display: none; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-links > div:last-child { grid-column: 1/-1; }
  .dialog-grid { display: block; }
  .dialog-image { height: 290px; }
  .dialog-image img { height: 240px; }
  .dialog-image .generated-book-cover { height: 240px; width: 170px; }
  .dialog-copy { padding: 38px 25px; }
  .dialog-close { position: fixed; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .leap-stage, .replay-button { display: none; }
  .collection-waterline i { animation: none !important; transform: none; }
  .reveal { opacity: 1; transform: none; }
}

/* One-lake art direction: a calmer surface, then one continuous photographic descent. */
body { background: #04141b; }
main { position: relative; z-index: 1; }

.hero {
  min-height: 690px;
  height: min(100svh, 900px);
}
.hero-image {
  inset: 0;
  background:
    linear-gradient(90deg,rgba(2,12,10,.88) 0%,rgba(3,17,14,.62) 38%,rgba(4,20,17,.16) 72%,rgba(3,15,13,.42) 100%),
    linear-gradient(180deg,rgba(5,23,20,.02) 0%,rgba(3,15,13,.05) 58%,rgba(2,11,9,.42) 100%),
    url('/assets/hero-lake.webp') center 48%/cover no-repeat;
  filter: saturate(.9) contrast(1.04) brightness(.98);
  transform: scale(1.005);
}
.hero-caustics { opacity: .22; }
.hero-grid {
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  padding-top: clamp(126px,16vh,165px);
}
.hero-copy { max-width: min(760px,calc(100% - 250px)); }
.hero h1 {
  font-size: clamp(105px,12vw,184px);
  line-height: .72;
  letter-spacing: -.044em;
}
.hero h1 span:last-child { padding-left: .16em; }
.hero-deck { max-width: 570px; margin-top: 34px; font-size: clamp(18px,1.7vw,23px); }
.hero-actions { margin-top: 29px; }
.issue-peek {
  position: absolute;
  right: 0;
  bottom: 76px;
  width: 224px;
  margin: 0;
  padding: 10px;
  border-color: rgba(205,231,223,.26);
  border-radius: 10px;
  background: linear-gradient(155deg,rgba(13,48,40,.76),rgba(3,17,16,.74));
  box-shadow: 0 24px 65px rgba(0,0,0,.31);
  transform: none;
  backdrop-filter: blur(13px);
}
.issue-peek:hover { transform: translateY(-5px); }
.issue-peek::before { inset: 7px -6px -6px 7px; border-radius: 10px; opacity: .7; }
.issue-kicker { margin: 0 0 8px; }
.issue-peek img { width: 100%; height: auto; aspect-ratio: 595/842; object-fit: contain; }
.issue-meta { margin-top: 9px; font-size: 8px; }
.hero-carp-visual { filter: drop-shadow(0 16px 18px rgba(0,0,0,.28)) saturate(.92) contrast(1.03); }

.underwater-atmosphere {
  z-index: 0;
  opacity: var(--underwater-opacity,0);
  background: #061e26;
  mix-blend-mode: normal;
  transition: opacity .28s linear;
}
.underwater-atmosphere::before,
.underwater-atmosphere::after {
  content: "";
  position: absolute;
  inset: -7%;
  pointer-events: none;
}
.underwater-atmosphere::before {
  background: url('/assets/underwater-lake-v2.webp') center var(--lake-position,8%)/cover no-repeat;
  filter: saturate(.82) contrast(1.05);
  transform: scale(1.04);
  transition: background-position .3s linear;
}
.underwater-atmosphere::after {
  background: linear-gradient(180deg,rgba(3,22,25,.04),rgba(1,10,19,.82));
  opacity: var(--lake-darkness,0);
}
.underwater-rays { z-index: 2; opacity: .72; mix-blend-mode: screen; }
.underwater-particles { z-index: 3; opacity: .28; }
.underwater-atmosphere .bubble { z-index: 4; }

.section-pad {
  color: #e8f1ed;
  border-top: 1px solid rgba(199,228,221,.07);
}
.manifesto { background: linear-gradient(180deg,rgba(18,76,69,.62),rgba(11,62,63,.7)); }
.collection-room { background: linear-gradient(180deg,rgba(12,74,75,.68),rgba(8,59,67,.76)); box-shadow: none; }
.current-issue { background: linear-gradient(180deg,rgba(7,57,66,.77),rgba(6,45,57,.83)); }
.book-room { background: linear-gradient(180deg,rgba(5,43,51,.78),rgba(4,34,46,.82)); }
.prints { background: linear-gradient(180deg,rgba(4,38,49,.8),rgba(3,29,43,.83)); }
.advertise { background: linear-gradient(180deg,rgba(3,31,45,.81),rgba(3,23,38,.84)); }
.legacy { background: linear-gradient(180deg,rgba(3,24,39,.83),rgba(3,19,34,.86)); }
.submit { background: linear-gradient(180deg,rgba(3,20,35,.85),rgba(2,15,29,.88)); }
.workflow { background: linear-gradient(180deg,rgba(2,16,30,.86),rgba(2,12,24,.89)); }
.newsletter { background: linear-gradient(180deg,rgba(2,12,24,.87),rgba(1,8,18,.91)); }
.site-footer { position: relative; z-index: 1; background: #020a13; }

.section-pad:not(.manifesto)::after {
  background-image: linear-gradient(112deg,transparent 18%,rgba(170,223,218,.04) 33%,transparent 49%);
  opacity: .24;
}

.manifesto::before,
.collection-room::before,
.current-issue::before,
.book-room::before,
.prints::before,
.advertise::before,
.legacy::before,
.submit::before,
.workflow::before {
  background: linear-gradient(108deg,rgba(132,211,199,.045),transparent 34%,rgba(227,181,105,.035) 82%,transparent);
}
.manifesto::after { opacity: .18; }
.manifesto .section-label,
.manifesto .display-line,
.collection-intro h2,
.current-issue .section-heading h2 { color: #ecf3ef; }
.manifesto .display-line.outline { color: #a9ccc3; }
.manifesto-note,
.manifesto-note p,
.pillar-card p,
.collection-intro > p,
.current-issue .section-heading > p { color: #b4cbc5; }
.manifesto-note,
.pillar-rail,
.pillar-card,
.archive-callout { border-color: rgba(199,226,219,.16); }
.pillar-card:hover { color: #f4eee1; background: rgba(6,31,29,.64); }
.pillar-card:hover p { color: #c9d9d4; }
.current-issue .section-heading h2 em,
.collection-intro h2 em { color: #9bcfc5; }
.current-issue .archive-callout .button-outline { color: #e9f2ee; border-color: rgba(225,239,233,.45); }
.issue-stage { border: 1px solid rgba(192,224,218,.14); border-radius: 18px; background: linear-gradient(145deg,rgba(8,49,53,.8),rgba(3,23,34,.88)); box-shadow: 0 35px 90px rgba(0,12,20,.24); }

.book-image-wrap,
.dialog-image { background: rgba(2,15,18,.38); }
.book-card .book-image-wrap {
  position: relative;
  overflow: hidden;
}
.book-card {
  display: flex;
  flex-direction: column;
}
.book-image-wrap img,
.dialog-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.book-card .book-image-wrap img {
  position: absolute;
  inset: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
}
.book-card footer {
  margin-top: auto;
  padding-top: 26px;
}
.collection-book .collection-cover img { object-fit: contain; background: #e8e4d8; }
.collection-painting-art {
  display: grid;
  place-items: center;
  background: #06191c;
}
.collection-painting-art::before,
.collection-painting-art > i,
.collection-painting-art > b,
.collection-painting-art > small { display: none; }
.collection-painting-art img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.print-art {
  min-height: 300px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(197,226,219,.16);
  background: linear-gradient(145deg,rgba(3,21,25,.9),rgba(8,36,39,.8));
}
.print-art::before,
.print-art::after,
.print-art > span,
.print-art > b,
.print-art > i { display: none; }
.print-art img { width: 100%; height: 100%; max-height: 390px; object-fit: contain; transition: transform .45s ease; }
.print-card:hover .print-art img { transform: scale(1.025); }
.product-image-missing { width: 100%; height: 100%; display: grid; place-items: center; padding: 20px; color: #aac0ba; background: #0a2627; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-align: center; text-transform: uppercase; }

.ambient-carp {
  left: -24vw;
  width: clamp(72px,8.5vw,145px);
  color: rgba(190,224,215,.16);
  background: none;
  -webkit-mask: none;
  mask: none;
  filter: none;
  opacity: .42;
  animation-name: ambient-track;
  animation-duration: 44s;
  animation-timing-function: linear;
}
.ambient-carp span {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,currentColor,rgba(87,153,148,.08));
  -webkit-mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat;
  mask: url('/assets/carp-silhouette.svg?v=2') center/contain no-repeat;
  filter: blur(.45px);
  transform: scaleX(var(--flip));
  transform-origin: 52% 50%;
  animation: ambient-body 5.8s ease-in-out infinite alternate;
}
.ambient-carp-2 { width: clamp(58px,6.8vw,116px); animation-duration: 53s; }
.ambient-carp-3 { width: clamp(82px,10vw,160px); animation-duration: 61s; }
.water-life-deep .ambient-carp,
.water-life-lower .ambient-carp,
.water-life-abyss .ambient-carp { opacity: .3; }
@keyframes ambient-track {
  0% { transform: translate3d(-12vw,0,0) scale(var(--fish-scale)); }
  23% { transform: translate3d(25vw,-8px,0) scale(var(--fish-scale)); }
  51% { transform: translate3d(68vw,5px,0) scale(var(--fish-scale)); }
  77% { transform: translate3d(108vw,-5px,0) scale(var(--fish-scale)); }
  100% { transform: translate3d(148vw,0,0) scale(var(--fish-scale)); }
}
@keyframes ambient-body {
  0% { transform: scaleX(var(--flip)) rotate(-.7deg) skewY(-.45deg); opacity: .68; }
  50% { transform: scaleX(var(--flip)) rotate(.45deg) skewY(.35deg); opacity: .9; }
  100% { transform: scaleX(var(--flip)) rotate(-.3deg) skewY(-.25deg); opacity: .72; }
}

@media (max-width: 920px) {
  .hero-copy { max-width: calc(100% - 195px); }
  .hero h1 { font-size: clamp(104px,16vw,154px); }
  .issue-peek { width: 180px; bottom: 84px; }
}

@media (max-width: 560px) {
  .hero { min-height: 720px; height: 100svh; }
  .hero-image { background-position: 54% 50%; }
  .hero-grid { padding-top: 125px; }
  .hero-copy { max-width: 100%; }
  .hero h1 { font-size: clamp(92px,34vw,128px); }
  .hero-deck { margin-top: 31px; }
  .issue-peek { display: none; }
  .underwater-atmosphere::before { background-position: 58% var(--lake-position,8%); }
  .ambient-carp { opacity: .28; width: clamp(58px,18vw,90px); }
  .print-art { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  .ambient-carp,
  .ambient-carp span,
  .underwater-rays,
  .underwater-particles { animation: none !important; }
}

/* Cinematic lake system v3: one photographic descent, restrained editorial type and motion. */
:root {
  --display: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --lake-ivory: #f2eee4;
  --lake-gold: #d5ad72;
  --lake-glass: rgba(3, 25, 29, .56);
  --lake-edge: rgba(205, 229, 222, .16);
  --deep-scene-opacity: 0;
  --lake-drift: 0%;
}

html { background: #031419; }
body {
  background: #031419;
  color: var(--lake-ivory);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* The only breach on the site. Web Animations controls this sequence once. */
.lake-intro {
  background: #07130f;
  transition: opacity .8s cubic-bezier(.4,0,.2,1), visibility .8s;
}
.intro-scene { overflow: hidden; perspective: 1100px; }
.intro-island {
  background:
    linear-gradient(90deg,rgba(3,12,10,.45),rgba(4,14,12,.02) 51%,rgba(3,12,10,.18)),
    linear-gradient(180deg,rgba(0,0,0,.01),rgba(1,8,7,.24)),
    url('/assets/intro-island.webp') center 54%/cover no-repeat;
  filter: saturate(.92) contrast(1.035) brightness(1.02);
  transform: scale(1.035);
}
.intro-atmosphere {
  opacity: .38;
  background:
    radial-gradient(ellipse at 78% 34%,rgba(231,180,106,.2),transparent 34%),
    linear-gradient(180deg,rgba(4,12,11,.02),rgba(3,13,11,.28));
}
.intro-atmosphere::before { opacity: .075; }
.intro-water {
  top: 58%;
  opacity: .82;
  transform: none;
  background:
    linear-gradient(180deg,transparent 0%,rgba(4,19,18,.18) 36%,rgba(2,12,12,.52) 100%),
    linear-gradient(96deg,transparent 4%,rgba(210,186,136,.08) 42%,transparent 76%);
}
.intro-title-lockup {
  top: 46%;
  z-index: 6;
  width: min(94vw,1240px);
  perspective: 1000px;
  transform-style: preserve-3d;
}
.intro-title-lockup::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 15%;
  right: 15%;
  top: 58%;
  height: 48%;
  border-radius: 50%;
  background: radial-gradient(ellipse,rgba(16,9,4,.72) 0%,rgba(21,12,5,.32) 45%,transparent 74%);
  filter: blur(14px);
  opacity: .62;
  transform: translateZ(-40px) rotateX(66deg) translateY(31%);
  transform-origin: 50% 0;
  pointer-events: none;
}
.intro-title-lockup > span {
  margin-bottom: 20px;
  color: #f5e7bf;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .46em;
  text-shadow: 0 2px 12px rgba(0,0,0,.6);
}
.intro-title-lockup strong {
  position: relative;
  display: inline-block;
  color: #9a5b27;
  font-family: var(--sans);
  font-size: clamp(82px,11.4vw,184px);
  font-weight: 900;
  letter-spacing: -.052em;
  word-spacing: .075em;
  line-height: .78;
  -webkit-text-stroke: 1px rgba(65,34,13,.62);
  text-shadow:
    0 1px 0 #c98d43,
    0 2px 0 #b97a37,
    0 3px 0 #a6672e,
    0 4px 0 #945525,
    0 5px 0 #81461f,
    0 7px 2px rgba(49,25,11,.72),
    0 25px 54px rgba(0,0,0,.44);
  transform-style: preserve-3d;
}
.intro-title-lockup strong::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: 1;
  color: transparent;
  background: linear-gradient(180deg,#fff1b8 0%,#e7bd66 22%,#a96528 50%,#f0ca73 71%,#8c4f22 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: .45px rgba(255,238,180,.35);
  text-shadow: 0 -1px 0 rgba(255,244,203,.54);
  pointer-events: none;
}
.intro-title-lockup strong::after {
  display: none;
}
.intro-title-lockup b {
  margin-top: 26px;
  color: transparent;
  font-family: var(--sans);
  font-size: clamp(15px,1.62vw,27px);
  font-weight: 900;
  letter-spacing: .46em;
  text-indent: .46em;
  background: linear-gradient(180deg,#ffedb4,#c58b3e 58%,#7f451d);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: .25px rgba(255,239,187,.36);
  filter:
    drop-shadow(0 1px 0 #a9682f)
    drop-shadow(0 2px 0 #74401d)
    drop-shadow(0 9px 18px rgba(0,0,0,.5));
}
.intro-fish-track {
  left: -26vw;
  top: 62vh;
  z-index: 8;
  width: clamp(290px,34vw,520px);
  aspect-ratio: 1.2 / 1;
  opacity: 0;
  transform-style: preserve-3d;
  will-change: transform,opacity;
}
.intro-fish-visual {
  position: absolute;
  inset: 0;
  transform-origin: 56% 54%;
  filter: drop-shadow(0 25px 22px rgba(0,0,0,.3));
}
.intro-fish-visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform-origin: 54% 54%;
  will-change: transform,opacity;
}
.intro-impact {
  right: auto;
  left: 85%;
  bottom: 5.5%;
  z-index: 9;
  width: clamp(270px,31vw,470px);
  height: clamp(130px,18vw,250px);
  transform: translateX(-50%);
  pointer-events: none;
}
.intro-splash {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateX(-50%) scale(.2,.08);
  transform-origin: 50% 94%;
  filter: saturate(.66) contrast(.94) brightness(.8) drop-shadow(0 12px 14px rgba(0,0,0,.18));
  will-change: transform,opacity;
}
.intro-ripple {
  position: absolute;
  left: 50%;
  bottom: 4%;
  width: 34%;
  aspect-ratio: 5.5/1;
  border: 1px solid rgba(207,226,216,.55);
  border-radius: 50%;
  opacity: 0;
  transform: translateX(-50%) scale(.18);
  box-shadow: 0 0 14px rgba(154,204,194,.08);
}
.ripple-two { width: 27%; bottom: 3%; }
.intro-depth-line,
.intro-splash-crown,
.intro-drop { display: none; }
.lake-intro.is-running .intro-island,
.lake-intro.is-running .intro-title-lockup > span,
.lake-intro.is-running .intro-title-lockup strong,
.lake-intro.is-running .intro-title-lockup b,
.lake-intro.is-running .intro-fish-track,
.lake-intro.is-running .intro-fish-visual,
.lake-intro.is-running .intro-progress i { animation: none !important; }
.intro-ui { color: rgba(226,235,228,.62); }
.intro-progress { background: rgba(255,255,255,.12); }
.intro-progress i { background: linear-gradient(90deg,#7baea4,#d4ab70); }

/* Surface composition: confident masthead, open water, understated issue card. */
.hero { min-height: 720px; height: min(100svh,920px); background: #071410; }
.hero-image {
  background:
    linear-gradient(90deg,rgba(3,12,10,.72) 0%,rgba(4,14,12,.46) 38%,rgba(4,14,12,.08) 71%,rgba(3,12,10,.18) 100%),
    linear-gradient(180deg,rgba(3,12,10,.02) 0%,rgba(2,11,10,.04) 58%,rgba(2,11,10,.56) 100%),
    url('/assets/lake-surface-cinematic.webp') center 53%/cover no-repeat;
  filter: saturate(.88) contrast(1.04) brightness(.98);
}
.hero-caustics { display: none; }
.hero::before { background: radial-gradient(ellipse at 82% 38%,rgba(219,170,98,.1),transparent 33%); }
.hero::after { height: 30%; background: linear-gradient(transparent,rgba(3,20,22,.9)); }
.hero-grid { padding-top: clamp(145px,19vh,190px); }
.hero-copy { max-width: min(720px,calc(100% - 245px)); }
.hero-title-wrap::before { width: 64px; height: 1px; top: -10%; }
.hero h1 {
  margin: 0;
  color: var(--lake-ivory);
  font-family: var(--sans);
  font-size: clamp(118px,14vw,208px);
  font-weight: 800;
  letter-spacing: -.088em;
  line-height: .72;
  text-shadow: 0 24px 70px rgba(0,0,0,.26);
}
.hero h1 span:first-child {
  display: block;
  margin: 0;
  color: #e9dfc9;
  font-size: 1em;
  font-weight: 800;
  letter-spacing: inherit;
  line-height: inherit;
}
.hero h1 span:last-child {
  display: block;
  padding: 0;
  color: #f2efe7;
  text-shadow: inherit;
}
.hero-deck {
  max-width: 530px;
  margin: 34px 0 0;
  padding-left: 19px;
  color: rgba(235,240,234,.82);
  font-size: clamp(18px,1.55vw,22px);
  line-height: 1.5;
}
.hero-deck::before { width: 1px; background: linear-gradient(var(--lake-gold),rgba(123,174,164,.2)); }
.hero-actions { margin-left: 0; }
.issue-peek {
  right: 0;
  bottom: 88px;
  width: 212px;
  padding: 9px;
  border-radius: 2px;
  background: rgba(4,24,22,.62);
  border-color: rgba(215,231,223,.2);
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
  backdrop-filter: blur(18px) saturate(.8);
}
.issue-peek::before { inset: 8px -7px -7px 8px; border-radius: 1px; border-color: rgba(213,173,114,.32); }
.replay-button,
.leap-stage { display: none !important; }

/* A continuous photographic descent instead of alternating page backgrounds. */
.underwater-atmosphere {
  overflow: hidden;
  background: #03171c;
  isolation: isolate;
}
.underwater-atmosphere::before,
.underwater-atmosphere::after { display: none; }
.lake-scene,
.lake-depth-grade {
  position: absolute;
  inset: -4%;
  pointer-events: none;
}
.lake-scene {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translate3d(0,var(--lake-drift),0) scale(1.045);
  transition: opacity .25s linear,transform .25s linear;
}
.lake-shallows {
  z-index: 0;
  background-image: url('/assets/lake-shallows-cinematic.webp');
  filter: saturate(.86) contrast(1.04);
}
.lake-deep {
  z-index: 1;
  opacity: var(--deep-scene-opacity,0);
  background-image: url('/assets/lake-deep-cinematic.webp');
  filter: saturate(.82) contrast(1.06);
}
.lake-depth-grade {
  z-index: 2;
  background:
    linear-gradient(180deg,rgba(2,20,21,.01),rgba(1,9,19,.62)),
    radial-gradient(ellipse at 78% 3%,rgba(205,170,107,.08),transparent 36%);
  opacity: var(--lake-darkness,0);
}
.underwater-rays { z-index: 3; opacity: .28; mix-blend-mode: screen; }
.underwater-particles { z-index: 4; opacity: .2; }
.underwater-atmosphere .bubble { z-index: 5; opacity: .3; }

.section-pad {
  border-top: 0;
  background: transparent !important;
}
.section-pad::after { opacity: 0 !important; }
.section-pad::before {
  inset: -3px 0;
  opacity: 1;
  background: rgba(2,25,29,.31) !important;
}
.collection-room::before,
.current-issue::before,
.book-room::before,
.prints::before,
.advertise::before,
.legacy::before,
.submit::before,
.workflow::before,
.newsletter::before { background: rgba(2,25,29,.31) !important; }
.site-footer { background: #010812; }

/* Mature editorial typography and consistent submerged-glass surfaces. */
.display-line,
.section-heading h2,
.collection-intro h2,
.prints-copy h2,
.ad-intro h2,
.advertise-copy h2,
.submit-copy h2 {
  color: #f0ede5;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .94;
  text-transform: none;
  text-wrap: balance;
}
.display-line { font-size: clamp(58px,7vw,112px); }
.display-line.outline {
  color: rgba(180,210,201,.72);
  -webkit-text-stroke: 0;
}
.section-heading h2,
.collection-intro h2,
.prints-copy h2,
.ad-intro h2,
.advertise-copy h2,
.submit-copy h2 { font-size: clamp(52px,6vw,86px); }
.eyebrow,
.section-label,
.mini-label,
.issue-kicker,
.button,
.text-link,
.desktop-nav a {
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: .16em;
}
.manifesto-note,
.pillar-card p,
.collection-intro > p,
.section-heading > p,
.prints-copy > p,
.advertise-copy > p,
.submit-copy > p { color: rgba(211,226,220,.78); }

.pillar-card,
.book-card,
.print-card,
.timeline article,
.workflow-track article,
.audience-strip article,
.ad-detail-grid > article {
  border: 1px solid var(--lake-edge);
  border-radius: 2px;
  background: linear-gradient(145deg,rgba(5,35,36,.58),rgba(2,21,28,.42));
  box-shadow: inset 0 1px rgba(255,255,255,.025),0 18px 55px rgba(0,7,12,.1);
  backdrop-filter: blur(10px) saturate(.86);
}
.pillar-card:hover,
.book-card:hover,
.print-card:hover,
.timeline article:hover,
.workflow-track article:hover {
  background: linear-gradient(145deg,rgba(8,48,45,.72),rgba(3,25,31,.58));
  border-color: rgba(213,173,114,.28);
  transform: translateY(-5px);
}
.pillar-card h3,
.book-card h3,
.process-list strong,
.archive-callout strong {
  color: #f0ece2;
  font-family: var(--serif);
  font-weight: 500;
}
.print-card { color: #edf1ea; }
.print-card p,
.print-card small { color: rgba(211,226,220,.7); }
.catalogue-tools,
.archive-callout,
.print-shop-bar {
  border-color: var(--lake-edge);
  background: rgba(2,22,28,.32);
  backdrop-filter: blur(12px);
}
.issue-stage,
.dark-form {
  border-radius: 3px;
  background: linear-gradient(145deg,rgba(4,34,36,.78),rgba(2,18,28,.76));
  border: 1px solid var(--lake-edge);
  box-shadow: 0 34px 90px rgba(0,8,15,.2);
  backdrop-filter: blur(12px);
}
.ad-offer {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.ad-offer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -9% -5%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 75% 48%,rgba(1,12,22,.38),transparent 67%),
    radial-gradient(ellipse at 18% 52%,rgba(20,69,64,.18),transparent 61%);
  filter: blur(22px);
}
.feature-form {
  border-radius: 3px;
  background: linear-gradient(145deg,rgba(245,241,230,.96),rgba(221,225,216,.94));
  box-shadow: 0 34px 90px rgba(0,8,15,.24);
}
.feature-form.dark-form {
  color: #eef1ea;
  background: linear-gradient(145deg,rgba(5,39,39,.92),rgba(2,20,29,.94));
  border-color: rgba(203,226,219,.18);
}
.feature-form.dark-form .form-head p { color: rgba(210,225,219,.7); }
.feature-form.dark-form input,
.feature-form.dark-form textarea,
.feature-form.dark-form select {
  color: #eef1ea;
  border-color: rgba(205,226,219,.3);
}
.feature-form.dark-form input::placeholder,
.feature-form.dark-form textarea::placeholder { color: rgba(218,229,224,.52); }
.feature-form.dark-form select option { color: #eef1ea; background: #062127; }
.newsletter-panel {
  border: 1px solid rgba(211,226,220,.2);
  border-left: 2px solid var(--lake-gold);
  border-radius: 2px;
  background: linear-gradient(125deg,rgba(7,45,43,.86),rgba(2,22,31,.9));
  color: #eff1e9;
  box-shadow: 0 30px 80px rgba(0,6,12,.2);
  backdrop-filter: blur(14px);
}
.newsletter-form > input[type="email"],
.newsletter-form > button { color: #f2eee5; border-bottom-color: rgba(228,237,231,.42); }
.newsletter-form > input[type="email"]::placeholder { color: rgba(227,235,230,.52); }

/* Only three distant photographic passes across the entire long page. */
.ambient-carp {
  left: -34vw;
  width: clamp(190px,22vw,360px);
  opacity: .18;
  animation: ambient-track-v3 54s linear var(--fish-delay,0s) infinite;
  will-change: transform;
  perspective: 700px;
}
.ambient-carp span {
  position: absolute;
  inset: 0;
  background: none;
  -webkit-mask: none;
  mask: none;
  filter: none;
  transform-origin: 52% 52%;
  animation: ambient-body-v3 7s ease-in-out infinite alternate;
}
.ambient-carp img {
  display: block;
  width: 100%;
  height: auto;
  opacity: .72;
  filter: saturate(.5) brightness(.62) contrast(.9) blur(.35px);
}
.ambient-carp-2,
.ambient-carp-3 { width: clamp(190px,22vw,360px); animation-duration: 61s; }
.water-life-bluewater .ambient-carp { opacity: .15; }
.water-life-lower .ambient-carp { opacity: .11; }
@keyframes ambient-track-v3 {
  0% { transform: translate3d(-12vw,8px,0) scale(calc(var(--fish-scale) * .82)); }
  25% { transform: translate3d(30vw,-7px,20px) scale(calc(var(--fish-scale) * .9)); }
  52% { transform: translate3d(74vw,5px,38px) scale(var(--fish-scale)); }
  78% { transform: translate3d(115vw,-4px,15px) scale(calc(var(--fish-scale) * .92)); }
  100% { transform: translate3d(158vw,7px,0) scale(calc(var(--fish-scale) * .84)); }
}
@keyframes ambient-body-v3 {
  from { transform: scaleX(var(--flip)) rotateY(-2deg) rotateZ(-.45deg) translateY(-2px); }
  to { transform: scaleX(var(--flip)) rotateY(3deg) rotateZ(.35deg) translateY(3px); }
}

@media (max-width: 920px) {
  .hero-copy { max-width: calc(100% - 195px); }
  .hero h1 { font-size: clamp(82px,13.4vw,132px); line-height: .78; }
  .issue-peek { width: 176px; }
  .intro-impact { left: 80%; }
}

@media (max-width: 560px) {
  .intro-title-lockup { top: 44%; width: 96vw; }
  .intro-title-lockup strong { font-size: clamp(54px,16.8vw,86px); letter-spacing: -.07em; white-space: nowrap; }
  .intro-title-lockup b { margin-top: 24px; font-size: 11px; letter-spacing: .38em; text-indent: .38em; }
  .intro-fish-track { left: -45vw; top: 64vh; width: clamp(230px,66vw,330px); }
  .intro-impact { left: 78%; bottom: 12%; width: min(70vw,340px); }
  .hero-image { background-position: 64% 52%; }
  .hero-copy { max-width: 100%; }
  .hero h1 { font-size: clamp(76px,24vw,108px); line-height: .8; }
  .hero h1 span:first-child { margin: 0; font-size: 1em; letter-spacing: inherit; }
  .hero-deck { max-width: 340px; }
  .section-heading h2,
  .collection-intro h2,
  .prints-copy h2,
  .ad-intro h2,
  .advertise-copy h2,
  .submit-copy h2 { font-size: clamp(44px,14vw,62px); }
  .lake-scene { background-position: 63% center; }
  .ambient-carp { width: clamp(170px,52vw,260px); opacity: .12; }
}

@media (prefers-reduced-motion: reduce) {
  .ambient-carp,
  .ambient-carp span,
  .lake-scene { animation: none !important; transition: none !important; }
}

/* Cinematic opening v5: one continuous ballistic breach and a full-screen water hand-off. */
.intro-fish-track {
  left: 0;
  top: 0;
  z-index: 8;
  width: clamp(300px,32vw,500px);
  aspect-ratio: 3 / 2;
  opacity: 0;
  transform-origin: 50% 52%;
  transform-style: preserve-3d;
  will-change: transform,opacity;
}
.intro-fish-visual {
  position: absolute;
  inset: 0;
  filter: drop-shadow(0 28px 24px rgba(0,0,0,.38));
  transform-origin: 50% 52%;
}
.intro-fish-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transform: none;
}
.intro-launch {
  position: absolute;
  z-index: 7;
  left: -3%;
  top: 58%;
  width: clamp(190px,20vw,320px);
  pointer-events: none;
}
.intro-launch img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  filter: saturate(.55) contrast(.95) brightness(.82) drop-shadow(0 12px 12px rgba(0,0,0,.16));
  transform: scale(.15,.06);
  transform-origin: 50% 90%;
}
.intro-impact {
  right: auto;
  left: 52%;
  top: 57%;
  bottom: auto;
  z-index: 9;
  width: clamp(330px,37vw,590px);
  height: clamp(190px,25vw,330px);
  transform: translate(-50%,-8%);
}
.intro-splash {
  bottom: 0;
  filter: saturate(.58) contrast(.98) brightness(.86) drop-shadow(0 14px 16px rgba(0,0,0,.2));
}
.intro-water-transition {
  position: absolute;
  z-index: 9;
  inset: -2px;
  overflow: hidden;
  opacity: 0;
  clip-path: circle(0 at 52% 63%);
  pointer-events: none;
  will-change: clip-path,opacity,transform;
}
.intro-water-transition-sheet,
.intro-water-transition-light {
  position: absolute;
  inset: -5%;
}
.intro-water-transition-sheet {
  background:
    radial-gradient(ellipse at 52% 63%,rgba(224,247,241,.95) 0 4%,rgba(151,211,203,.86) 12%,rgba(66,137,139,.72) 30%,transparent 58%),
    repeating-radial-gradient(ellipse at 52% 64%,rgba(229,248,243,.24) 0 2px,rgba(71,142,143,.18) 3px 9px,transparent 10px 28px),
    linear-gradient(180deg,rgba(164,211,201,.72),rgba(30,95,101,.9) 48%,rgba(2,29,37,.97));
  filter: saturate(.92) contrast(1.06);
  transform: scale(1.1);
  transform-origin: 52% 63%;
  will-change: transform,filter,opacity;
}
.intro-water-transition-sheet::before,
.intro-water-transition-sheet::after {
  content: "";
  position: absolute;
  inset: -8%;
  pointer-events: none;
}
.intro-water-transition-sheet::before {
  background:
    radial-gradient(circle at 18% 72%,rgba(238,252,248,.78) 0 3px,transparent 4px),
    radial-gradient(circle at 34% 58%,rgba(238,252,248,.62) 0 5px,transparent 6px),
    radial-gradient(circle at 63% 70%,rgba(238,252,248,.7) 0 4px,transparent 5px),
    radial-gradient(circle at 82% 49%,rgba(238,252,248,.58) 0 7px,transparent 8px),
    radial-gradient(ellipse at 52% 69%,rgba(226,247,241,.42),transparent 48%);
  filter: blur(.7px);
  mix-blend-mode: screen;
}
.intro-water-transition-sheet::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.34' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.52'/%3E%3C/svg%3E");
  opacity: .25;
  mix-blend-mode: soft-light;
}
.intro-water-transition-light {
  background:
    radial-gradient(circle at 52% 38%,rgba(255,246,207,.34),transparent 22%),
    linear-gradient(180deg,rgba(232,223,177,.08),rgba(2,35,42,.36));
  mix-blend-mode: screen;
  opacity: .7;
}
.transition-bubble {
  position: absolute;
  width: 18px;
  aspect-ratio: 1;
  border: 1px solid rgba(231,246,239,.72);
  border-radius: 50%;
  opacity: 0;
  box-shadow: inset 3px 2px 5px rgba(255,255,255,.2),0 0 8px rgba(188,231,224,.12);
}
.transition-bubble::after {
  content: "";
  position: absolute;
  inset: 3px 7px 8px 3px;
  border-radius: 50%;
  background: rgba(255,255,255,.66);
}
.transition-bubble.bubble-one { left: 16%; top: 72%; }
.transition-bubble.bubble-two { left: 38%; top: 68%; width: 10px; }
.transition-bubble.bubble-three { right: 28%; top: 75%; width: 24px; }
.transition-bubble.bubble-four { right: 12%; top: 63%; width: 13px; }

@media (max-width: 920px) {
  .intro-fish-track { width: clamp(250px,43vw,390px); }
  .intro-impact { left: 52%; top: 59%; width: clamp(280px,48vw,440px); }
}

@media (max-width: 560px) {
  .intro-title-lockup { top: 40%; }
  .intro-fish-track { width: clamp(215px,62vw,310px); }
  .intro-launch { left: -15%; top: 60%; width: 190px; }
  .intro-impact { left: 53%; top: 60%; width: min(78vw,350px); height: 220px; }
  .intro-water-transition { clip-path: circle(0 at 53% 65%); }
}

/* ============================================================
   Animation pass (18 July 2026): multi-pose breach, buffered
   water hand-off, habitat-tinted ambient carp.
   Appended override layer; must stay after every earlier
   v-layer. Do not fold these rules into the sections above.
   ============================================================ */
.lake-intro { transition: opacity 1.05s ease, visibility 1.05s ease; }
.intro-fish-track { perspective: 950px; will-change: transform, opacity, filter; }
.intro-fish-visual { will-change: transform; }
.intro-impact { z-index: 10; }
.intro-burst {
  position: absolute;
  z-index: 9;
  inset: -2px;
  opacity: 0;
  clip-path: circle(0 at 52% 63%);
  pointer-events: none;
  will-change: clip-path, opacity;
  background:
    radial-gradient(circle at 52% 63%, rgba(238,248,244,.95), rgba(196,228,220,.82) 16%, rgba(126,182,174,.64) 34%, rgba(52,108,104,.58) 58%, rgba(14,52,55,.64) 82%),
    linear-gradient(180deg, rgba(228,241,236,.18), rgba(6,34,38,.3));
}
.intro-burst::after {
  content: "";
  position: absolute;
  inset: -4%;
  background: repeating-radial-gradient(circle at 52% 63%, transparent 0 26px, rgba(236,247,242,.08) 27px 31px, transparent 32px 60px);
  filter: blur(2.2px);
  mix-blend-mode: screen;
}
.intro-fish-visual .fish-pose {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: none;
  will-change: opacity;
}
.intro-launch .fish-droplet {
  position: absolute;
  left: 58%;
  top: 30%;
  width: 5px;
  height: 8px;
  border-radius: 62% 38% 55% 45%;
  background: linear-gradient(180deg, rgba(228,241,236,.9), rgba(148,196,188,.5));
  opacity: 0;
  filter: blur(.2px);
  pointer-events: none;
}
.intro-launch .fish-droplet.drop-b { left: 66%; top: 22%; width: 4px; height: 6px; }
.intro-launch .fish-droplet.drop-c { left: 50%; top: 40%; width: 6px; height: 9px; }

/* Ambient carp: distant faint tonal silhouettes matched to each habitat's water. */
.water-life .ambient-carp { opacity: 1; width: clamp(115px,13vw,210px); }
.water-life .ambient-carp-2 { width: clamp(92px,10.5vw,170px); }
.water-life .ambient-carp-3 { width: clamp(130px,15vw,240px); }
.water-life .ambient-carp span { animation: ambient-body-v4 8.5s ease-in-out var(--fish-delay,0s) infinite alternate; }
.water-life .ambient-carp img {
  opacity: .11;
  filter: grayscale(1) brightness(2) sepia(.55) hue-rotate(92deg) saturate(.65) contrast(.9) blur(1.35px);
}
.water-life-sunlit .ambient-carp img {
  opacity: .12;
  filter: grayscale(1) brightness(1.85) sepia(.6) hue-rotate(56deg) saturate(.72) contrast(.92) blur(1.3px);
}
.water-life-bluewater .ambient-carp img {
  opacity: .1;
  filter: grayscale(1) brightness(2.15) sepia(.52) hue-rotate(124deg) saturate(.68) contrast(.9) blur(1.35px);
}
.water-life-lower .ambient-carp img,
.water-life-deep .ambient-carp img,
.water-life-abyss .ambient-carp img {
  opacity: .15;
  filter: grayscale(1) brightness(1.45) sepia(.5) hue-rotate(118deg) saturate(.78) contrast(.94) blur(1.45px);
}
@keyframes ambient-body-v4 {
  0% { transform: scaleX(var(--flip)) translateZ(-34px) rotateY(-7deg) rotateZ(-.6deg) translateY(-2px); }
  55% { transform: scaleX(var(--flip)) translateZ(12px) rotateY(4deg) rotateZ(.3deg) translateY(2px); }
  100% { transform: scaleX(var(--flip)) translateZ(26px) rotateY(8deg) rotateZ(.55deg) translateY(3px); }
}
@media (max-width: 920px) {
  .water-life .ambient-carp img { opacity: .08; }
}
@media (max-width: 560px) {
  .intro-burst { clip-path: circle(0 at 53% 65%); }
}
@media (prefers-reduced-motion: reduce) {
  .fish-droplet { display: none; }
  .intro-burst { display: none; }
}

/* Fish-free opening: preserve the island and title, then dissolve into the same lake used by the hero. */
.intro-water-transition {
  clip-path: none;
  transform-origin: 50% 50%;
}
.intro-water-transition-sheet {
  background:
    linear-gradient(180deg,rgba(241,250,244,.06),rgba(1,29,37,.2)),
    url("/assets/intro-water-impact-v1.webp") 50% 48% / cover no-repeat;
  background-blend-mode: screen,normal;
  backdrop-filter: blur(2px) saturate(.94);
  transform-origin: 50% 50%;
}
.intro-water-transition-sheet::before {
  background:
    radial-gradient(circle at 10% 24%,rgba(248,255,252,.82) 0 2px,transparent 4px),
    radial-gradient(circle at 38% 67%,rgba(238,252,248,.62) 0 4px,transparent 7px),
    radial-gradient(circle at 69% 20%,rgba(249,255,253,.72) 0 3px,transparent 6px),
    radial-gradient(circle at 88% 62%,rgba(238,252,248,.58) 0 6px,transparent 10px);
  filter: blur(.9px);
  opacity: .58;
}
.intro-water-transition-light {
  background:
    radial-gradient(circle at 50% 14%,rgba(255,246,208,.2),transparent 34%),
    linear-gradient(180deg,rgba(235,247,240,.18),rgba(4,35,46,.28));
  opacity: .58;
}

/* Optional production intro film. The film stays text-free; the real title remains native HTML. */
.intro-film {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: transparent;
  opacity: 0;
  transition: opacity .08s linear;
}
.intro-film-poster {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  opacity: 0;
  transition: opacity .08s linear;
}
.intro-film-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.intro-island { z-index: 0; transition: opacity .38s cubic-bezier(.2,.7,.2,1); }
.intro-atmosphere,
.intro-water { z-index: 2; }
.lake-intro.film-pending .intro-film-poster { opacity: 1; }
.lake-intro.film-ready .intro-film { opacity: 1; }
.lake-intro.film-ready .intro-film-poster { opacity: 0; }
.lake-intro.film-pending .intro-island,
.lake-intro.has-film .intro-island { opacity: 0; }
.lake-intro.has-film .intro-water { opacity: .46; }
.lake-intro.is-complete .intro-water-transition-sheet {
  animation: intro-water-fizzle 1.05s cubic-bezier(.2,.68,.2,1) both;
}
.lake-intro.is-complete .intro-water-transition-light {
  animation: intro-mist-fizzle 1.05s ease-out both;
}
@keyframes intro-water-fizzle {
  0% {
    opacity: 1;
    transform: scale(1);
    filter: saturate(.96) contrast(1.06) blur(0);
  }
  24% {
    opacity: 1;
    transform: scale(1.012);
    filter: saturate(.93) contrast(1.03) blur(2px);
  }
  58% {
    opacity: .72;
    transform: scale(1.04);
    filter: saturate(.86) contrast(.98) blur(7px);
  }
  100% {
    opacity: 0;
    transform: scale(1.09);
    filter: saturate(.68) contrast(.86) blur(22px);
  }
}
@keyframes intro-mist-fizzle {
  0% { opacity: .7; transform: scale(1); }
  55% { opacity: .38; }
  100% { opacity: 0; transform: scale(1.12); }
}
@media (orientation: portrait) and (max-width: 820px) {
  .intro-film { object-position: 50% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .intro-film { display: none; }
}

/* Consistent book presentation: every real cover sits inside the same fixed editorial mat. */
.book-card .book-image-wrap {
  isolation: isolate;
  padding: 24px;
  background: linear-gradient(145deg,rgba(2,17,21,.88),rgba(9,38,39,.72));
  border: 1px solid rgba(198,226,217,.14);
}
.book-card .book-image-wrap::before {
  content: "";
  position: absolute;
  inset: 24px;
  z-index: 0;
  background: #eee9de;
  border-top: 8px solid #d8cebd;
  border-bottom: 8px solid #d8cebd;
  box-shadow: inset 0 0 0 1px rgba(37,50,43,.14),0 20px 36px rgba(0,0,0,.28);
}
.book-card .book-image-wrap img {
  inset: 32px;
  width: calc(100% - 64px);
  height: calc(100% - 64px);
  z-index: 1;
  padding: 8px 10px;
  box-sizing: border-box;
  background: #eee9de;
  box-shadow: none;
}

/* Painting artwork is always contained inside its frame so no source image is cropped. */
.print-card .print-art {
  position: relative;
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: 18px;
  background: linear-gradient(145deg,rgba(3,21,25,.94),rgba(8,36,39,.86));
}
.print-card .print-art img {
  position: absolute;
  inset: 18px;
  width: calc(100% - 36px);
  height: calc(100% - 36px);
  max-height: none;
  padding: 12px;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  background: #ddd5c5;
  border: 1px solid rgba(238,231,216,.46);
}
.collection-painting-art img {
  box-sizing: border-box;
  background: #ddd5c5;
}
.shop-route-row {
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
}
[hidden] {
  display: none !important;
}

/* Amazon-first marketplace controls for both book experiences. */
.catalogue-tools {
  flex-wrap: wrap;
  gap: 22px 30px;
}
.catalogue-marketplace {
  display: grid;
  gap: 8px;
}
.catalogue-marketplace > span,
.collection-marketplace > span {
  color: #80918a;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.marketplace-switch {
  display: inline-flex;
  width: max-content;
  overflow: hidden;
  border: 1px solid rgba(218,177,105,.34);
  border-radius: 999px;
  background: rgba(2,14,15,.38);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.marketplace-switch button {
  min-width: 112px;
  border: 0;
  padding: 10px 16px;
  color: #91a59e;
  background: transparent;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .25s,background .25s,box-shadow .25s;
}
.marketplace-switch button + button {
  border-left: 1px solid rgba(218,177,105,.22);
}
.marketplace-switch button:hover,
.marketplace-switch button:focus-visible {
  color: #f2eadb;
  outline: 0;
}
.marketplace-switch button:focus-visible {
  box-shadow: inset 0 0 0 2px #e0ab65;
}
.marketplace-switch button.active {
  color: #071712;
  background: linear-gradient(115deg,#ecc47f,#d69b52);
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.collection-head-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
}
.collection-marketplace {
  display: flex;
  align-items: center;
  gap: 10px;
}
.marketplace-switch-compact button {
  min-width: 76px;
  padding: 8px 11px;
  font-size: 7px;
}

/* A missing seller offer stays visible without sending readers to another merchant. */
.book-card.is-marketplace-unavailable {
  background: linear-gradient(150deg,rgba(104,75,42,.13),transparent 48%);
}
.book-card.is-marketplace-unavailable:hover {
  background: linear-gradient(150deg,rgba(143,94,45,.2),rgba(16,37,30,.82) 62%);
}
.book-card.is-marketplace-unavailable footer strong {
  max-width: 150px;
  color: #c99a61;
  font: 750 10px/1.25 var(--sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.collection-card.is-marketplace-unavailable {
  cursor: default;
}
.collection-card.is-marketplace-unavailable .collection-cover {
  filter: saturate(.72);
  opacity: .68;
}
.collection-card.is-marketplace-unavailable .collection-cover::before {
  content: "Amazon listing required";
  position: absolute;
  z-index: 4;
  inset: auto 9px 9px;
  padding: 7px 8px;
  color: #f2e6d1;
  background: rgba(67,39,18,.88);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.collection-card.is-marketplace-unavailable:hover .collection-cover {
  transform: none;
  box-shadow: 0 18px 32px rgba(0,0,0,.24);
}

/* The two portrait listings form a left-hand stack; eight landscapes form a balanced right-hand grid. */
.collection-grid-prints,
.print-grid {
  grid-template-columns: minmax(220px,.82fr) minmax(0,3.35fr);
  align-items: stretch;
  gap: 16px;
}
.collection-painting-portrait-stack,
.print-painting-portrait-stack {
  min-width: 0;
  height: 100%;
  display: grid;
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.collection-painting-landscape-grid,
.print-painting-landscape-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  align-content: start;
  gap: 16px;
}
.collection-painting-landscape,
.print-card-landscape {
  grid-column: span 2;
}
.collection-painting-landscape-grid > :nth-last-child(2),
.print-painting-landscape-grid > :nth-last-child(2) {
  grid-column: 2 / span 2;
}
.collection-painting-landscape-grid > :last-child,
.print-painting-landscape-grid > :last-child {
  grid-column: 4 / span 2;
}
.collection-painting-portrait,
.print-card-portrait {
  min-height: 0;
  height: 100%;
}
.collection-painting-portrait {
  grid-template-rows: minmax(0,1fr) auto;
}
.collection-painting-portrait .collection-cover,
.print-card-portrait .print-art {
  min-height: 0;
  height: auto;
  aspect-ratio: auto;
}
.print-card-portrait .print-art {
  flex: 1 1 auto;
}
.collection-painting-landscape .collection-cover,
.print-card-landscape .print-art {
  aspect-ratio: 4 / 3;
}
.collection-painting .collection-cover img {
  object-fit: contain;
  object-position: center;
}
.collection-painting .collection-cover img {
  position: absolute;
  inset: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  padding: 10px;
  box-sizing: border-box;
}
.print-card:hover .print-art img {
  transform: none;
}

@media (max-width: 1120px) {
  .collection-board-head {
    align-items: stretch;
    flex-direction: column;
    padding-top: 12px;
  }
  .collection-head-tools {
    min-height: 58px;
    justify-content: space-between;
  }
}

@media (max-width: 800px) {
  .collection-grid-prints,
  .print-grid {
    grid-template-columns: 1fr;
  }
  .collection-grid-prints {
    grid-template-rows: none;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    min-height: 0;
    overflow: visible;
    padding: 4px 2px 16px;
  }
  .collection-painting-portrait-stack,
  .print-painting-portrait-stack {
    height: auto;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: none;
  }
  .collection-painting-landscape-grid,
  .print-painting-landscape-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .collection-painting-landscape,
  .print-card-landscape,
  .collection-painting-landscape-grid > :nth-last-child(2),
  .print-painting-landscape-grid > :nth-last-child(2),
  .collection-painting-landscape-grid > :last-child,
  .print-painting-landscape-grid > :last-child {
    grid-column: auto;
  }
  .collection-painting-portrait,
  .print-card-portrait {
    height: auto;
  }
  .collection-painting-portrait .collection-cover,
  .print-card-portrait .print-art {
    aspect-ratio: 566 / 800;
  }
}

@media (max-width: 560px) {
  .catalogue-marketplace {
    width: 100%;
  }
  .marketplace-switch {
    width: 100%;
  }
  .marketplace-switch button {
    flex: 1;
    min-width: 0;
  }
  .collection-marketplace > span {
    display: none;
  }
  .collection-painting-landscape-grid,
  .print-painting-landscape-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lake-intro {
    display: none;
  }
}

/* ============================================================
   v-layer: self-contained production film.
   The accepted master already carries the gold title, the breach
   over it and the landing splash that floods the lens, so the
   fallback's own lettering and synthetic water veil must stay out
   of its way. Appended override layer; must stay after every
   earlier v-layer. Do not fold these rules into the sections above.
   ============================================================ */
.lake-intro.film-pending .intro-title-lockup,
.lake-intro.film-pending .intro-water-transition,
.lake-intro.has-film .intro-title-lockup,
.lake-intro.has-film .intro-water-transition { display: none; }
.lake-intro.film-pending,
.lake-intro.has-film {
  transition: opacity .68s cubic-bezier(.22,.7,.2,1), visibility .68s linear;
}
/* The film is already graded. Earlier tints were sized for the flat
   still sequence and only muddy the gold lettering inside it. */
.lake-intro.film-pending .intro-atmosphere,
.lake-intro.has-film .intro-atmosphere { opacity: .16; }
.lake-intro.film-pending .intro-water,
.lake-intro.has-film .intro-water { opacity: .14; }

/* The accepted masters also contain their own restrained lower interface.
   Hide the duplicate live label and progress rail, then place the real,
   keyboard-accessible Skip button directly over the film's decorative copy. */
.lake-intro.film-pending .intro-ui,
.lake-intro.has-film .intro-ui {
  left: auto;
  right: max(28px, 4vw);
  bottom: clamp(48px, 8.5vh, 66px);
  display: block;
  width: 220px;
}
.lake-intro.film-pending .intro-ui > span,
.lake-intro.film-pending .intro-progress,
.lake-intro.has-film .intro-ui > span,
.lake-intro.has-film .intro-progress { display: none; }
.lake-intro.film-pending .intro-ui button,
.lake-intro.has-film .intro-ui button {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(226, 235, 228, .34);
  border-radius: 999px;
  padding: 9px 12px;
  color: rgba(244, 247, 244, .9);
  background: #06110e;
  box-shadow: 0 0 0 7px rgba(5, 14, 12, .54), 0 10px 30px rgba(0, 0, 0, .32);
  backdrop-filter: blur(14px);
}

@media (max-width: 720px) {
  .lake-intro.film-pending .intro-ui,
  .lake-intro.has-film .intro-ui {
    right: 18px;
    bottom: clamp(36px, 6.5vh, 54px);
    width: 170px;
  }
}

/* ============================================================
   Mobile editorial edition - August 2026.
   Phones use a distinct, compact composition: the current issue
   returns to the first screen, collection boards paginate in pairs
   without sideways travel, and product catalogues use dense but
   readable two-column cards. Desktop remains unchanged.
   ============================================================ */
@media (max-width: 720px) {
  html,
  body {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  :root { --shell: calc(100% - 32px); }

  .site-header {
    width: 100%;
    height: 66px;
    padding-inline: 16px;
  }
  .brand-mark { width: 39px; height: 42px; }
  .menu-toggle { width: 42px; height: 42px; }
  .mobile-nav nav { width: calc(100% - 32px); }
  .mobile-nav a { padding: 15px 0; font-size: clamp(24px, 8.6vw, 34px); }

  /* Keep every word in the accepted portrait film inside the phone.
     The true first frame remains behind it as a soft full-bleed lake,
     so preserving the complete 9:16 master never creates black bars. */
  .intro-scene { background: #07130f; }
  .intro-film {
    object-fit: contain;
    background: transparent;
    filter: saturate(.98) contrast(1.02);
  }
  .intro-film-poster img {
    object-fit: cover;
    filter: blur(18px) saturate(.74) brightness(.54);
    transform: scale(1.13);
  }
  .lake-intro.film-ready .intro-film-poster { opacity: 1; }
  .lake-intro.film-pending .intro-ui,
  .lake-intro.has-film .intro-ui {
    right: 16px;
    bottom: max(22px, env(safe-area-inset-bottom));
    width: 154px;
  }
  .lake-intro.film-pending .intro-ui button,
  .lake-intro.has-film .intro-ui button {
    min-height: 40px;
    padding: 10px 14px;
    font-size: 9px;
    letter-spacing: .12em;
  }

  .hero {
    min-height: 780px;
    height: min(100svh, 880px);
  }
  .hero-grid { padding-top: 116px; }
  .hero-copy { max-width: 100%; }
  .hero-eyebrow { max-width: 250px; font-size: 8px; line-height: 1.55; }
  .hero h1 {
    max-width: 100%;
    font-size: clamp(72px, 23.5vw, 104px);
    line-height: .79;
    letter-spacing: -.075em;
  }
  .hero-deck {
    max-width: min(100%, 355px);
    margin-top: 24px;
    padding-left: 14px;
    font-size: 16px;
    line-height: 1.46;
  }
  .hero-actions {
    margin-top: 22px;
    gap: 12px;
  }
  .hero-actions .button { width: auto; min-height: 48px; padding: 14px 18px; }
  .hero-actions .text-link { font-size: 8px; }
  .hero-foot { display: none; }

  /* Mobile current-issue dock: the latest readable issue is now visible
     immediately, instead of being deliberately hidden below 560px. */
  .issue-peek {
    right: 16px;
    bottom: 20px;
    left: 16px;
    width: auto;
    min-height: 118px;
    margin: 0;
    padding: 10px;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "cover kicker" "cover meta";
    gap: 6px 13px;
    border-radius: 2px;
    transform: none;
    background: linear-gradient(115deg, rgba(3,23,22,.92), rgba(4,30,31,.72));
  }
  .issue-peek::before { display: none; }
  .issue-peek > a { grid-area: cover; align-self: stretch; }
  .issue-peek img { width: 100%; height: 100%; aspect-ratio: 595 / 842; object-fit: contain; }
  .issue-kicker {
    grid-area: kicker;
    align-self: end;
    margin: 3px 0 0;
    color: #d9b06f;
    font-size: 7px;
    line-height: 1.4;
  }
  .issue-meta {
    grid-area: meta;
    align-self: start;
    display: grid;
    gap: 6px;
    margin: 0;
  }
  .issue-meta strong { color: #f2eee5; font: 500 22px/1 var(--serif); }
  .issue-meta span { display: block; color: rgba(219,232,226,.68); font-size: 7px; }

  .section-pad { padding: 68px 0; }
  .section-heading,
  .collection-intro { margin-bottom: 36px; }
  .section-heading h2,
  .collection-intro h2,
  .prints-copy h2,
  .ad-intro h2,
  .advertise-copy h2,
  .submit-copy h2 {
    max-width: 100%;
    font-size: clamp(38px, 12.5vw, 52px);
    line-height: .96;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  .section-heading > p,
  .collection-intro > p,
  .advertise-copy > p,
  .submit-copy > p { margin-top: 20px; font-size: 14px; line-height: 1.6; }

  .manifesto-copy { padding-top: 34px; }
  .display-line { font-size: clamp(44px, 14vw, 60px); }
  .manifesto-note { margin-top: 28px; padding-top: 26px; }
  .pillar-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 42px; }
  .pillar-card,
  .pillar-card:nth-child(3) {
    min-height: 178px;
    padding: 18px 14px;
    border-right: 1px solid var(--dark-line);
  }
  .pillar-card:nth-child(even) { border-right: 0; }
  .pillar-card h3 { margin-top: 34px; font-size: 19px; }
  .pillar-card p { font-size: 11px; line-height: 1.5; }

  .collection-intro { display: block; }
  .collection-intro > p { margin-top: 22px; }
  .collection-board { margin-inline: 0; border-radius: 7px; }
  .collection-board-head {
    min-height: 0;
    padding: 0 12px;
    align-items: stretch;
    flex-direction: column;
  }
  .collection-tabs {
    width: 100%;
    min-height: 56px;
    overflow: hidden;
  }
  .collection-tabs button {
    flex: 1;
    min-width: 0;
    padding: 0 4px;
    font-size: 7px;
    letter-spacing: .08em;
  }
  .collection-tabs button span { margin-right: 3px; }
  .collection-tabs button::after { inset-inline: 5px; }
  .collection-head-tools {
    min-height: 45px;
    width: 100%;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid rgba(190,224,216,.1);
  }
  .collection-marketplace { flex: 1; }
  .marketplace-switch-compact { width: 100%; }
  .marketplace-switch-compact button { flex: 1; min-width: 0; }
  .collection-status { min-height: 44px; margin-left: auto; gap: 10px; border: 0; }
  .collection-stage { padding: 15px 12px 18px; }
  .collection-grid,
  .collection-grid-books,
  .collection-grid-prints {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 12px;
    overflow: visible;
    padding: 0 0 8px;
    scroll-snap-type: none;
  }
  .collection-card { min-width: 0; }
  .collection-card-copy { padding-top: 9px; }
  .collection-card-copy strong { font-size: 15px; }
  .collection-card-copy span { font-size: 6px; letter-spacing: .07em; line-height: 1.45; }
  .collection-card-number { top: 6px; left: 6px; }
  .collection-grid-prints > .collection-painting-portrait-stack,
  .collection-grid-prints > .collection-painting-landscape-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 12px;
  }
  .collection-grid-prints > :empty { display: none; }
  .collection-painting-portrait,
  .collection-painting-landscape { height: auto; }
  .collection-painting-portrait .collection-cover { aspect-ratio: 566 / 800; }
  .collection-painting-landscape .collection-cover { aspect-ratio: 4 / 3; }
  .collection-board-foot {
    min-height: 0;
    padding: 16px 12px;
    gap: 14px;
  }
  .collection-board-foot > p { font-size: 10px; line-height: 1.5; }
  .collection-controls { width: 100%; }
  .collection-controls button { width: 46px; height: 42px; }
  .collection-controls a { margin-left: auto; font-size: 7px; }
  .collection-waterline { right: 12px; left: 12px; }

  .issue-stage { min-height: 0; margin-inline: 0; padding: 25px 16px 30px; }
  .issue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .issue-card:nth-child(1),
  .issue-card:nth-child(2) { transform: none; }
  .issue-card:nth-child(3) { display: none; }
  .issue-card strong { font-size: 14px; }
  .archive-callout { margin-top: 24px; padding: 20px; }

  .catalogue-tools { margin-bottom: 24px; padding: 16px; gap: 14px; }
  .filter-row { gap: 6px; }
  .filter-button { min-height: 36px; padding: 8px 10px; font-size: 7px; }
  .book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .book-card {
    min-height: 350px;
    padding: 11px;
  }
  .book-card .book-number { top: 9px; right: 9px; font-size: 7px; }
  .book-card .book-image-wrap {
    height: 178px;
    margin: 18px 0 14px;
    padding: 9px;
  }
  .book-card .book-image-wrap::before { inset: 9px; border-block-width: 4px; }
  .book-card .book-image-wrap img {
    inset: 14px;
    width: calc(100% - 28px);
    height: calc(100% - 28px);
    padding: 4px 5px;
  }
  .book-card .book-theme,
  .book-card .book-author { font-size: 7px; line-height: 1.4; }
  .book-card h3 {
    min-height: 34px;
    margin: 8px 0 5px;
    overflow: hidden;
    display: -webkit-box;
    font-size: 16px;
    line-height: 1.06;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .book-card footer { align-items: start; flex-direction: column; gap: 8px; padding-top: 10px; }
  .book-card footer strong { max-width: 100%; font-size: 13px; line-height: 1.2; }
  .book-card footer button { font-size: 7px; }
  .catalogue-more { margin-top: 22px; }
  .shop-route-row { grid-template-columns: 1fr; }
  .shop-route { min-height: 86px; padding: 17px; }

  .print-grid { gap: 10px; margin-top: 34px; }
  .print-painting-portrait-stack,
  .print-painting-landscape-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 10px;
  }
  .print-card .print-art { padding: 8px; }
  .print-card .print-art img {
    inset: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    padding: 6px;
  }
  .print-card-copy { padding: 14px 10px; }
  .print-card h3 { margin: 8px 0 16px; font-size: 16px; }
  .print-card-copy small { margin: -8px 0 14px; font-size: 7px; line-height: 1.45; }
  .print-card footer { align-items: start; flex-direction: column; gap: 5px; }
  .print-card footer strong { font-size: 17px; }
  .print-card footer em { font-size: 6px; }
  .print-more { margin-top: 22px; }

  .mobile-ad-disclosure {
    margin: 28px 0 44px;
    border-block: 1px solid rgba(194, 220, 215, .16);
  }
  .mobile-ad-disclosure > summary {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 2px;
    color: #eef2ec;
    cursor: pointer;
    list-style: none;
  }
  .mobile-ad-disclosure > summary::-webkit-details-marker { display: none; }
  .mobile-ad-disclosure > summary span { display: grid; gap: 6px; }
  .mobile-ad-disclosure > summary small {
    color: #d5a86a;
    font-size: 7px;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
  }
  .mobile-ad-disclosure > summary strong { font: 500 20px/1.15 var(--serif); }
  .mobile-ad-disclosure > summary b {
    width: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(194, 220, 215, .24);
    border-radius: 50%;
    color: #9fc9c1;
    font: 400 22px/1 var(--sans);
    transition: transform .25s ease, color .25s ease;
  }
  .mobile-ad-disclosure[open] > summary b { color: #e1b577; transform: rotate(45deg); }
  .mobile-ad-disclosure-body { padding: 8px 0 4px; }
  .mobile-ad-disclosure .ad-detail-grid { margin-bottom: 20px; }

  .mobile-service-disclosure {
    margin: 26px 0 18px;
    border-block: 1px solid rgba(194, 220, 215, .16);
  }
  .mobile-service-disclosure > summary {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #eef2ec;
    cursor: pointer;
    list-style: none;
  }
  .mobile-service-disclosure > summary::-webkit-details-marker { display: none; }
  .mobile-service-disclosure > summary span { font: 500 18px/1.2 var(--serif); }
  .mobile-service-disclosure > summary b {
    width: 34px;
    height: 34px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(194, 220, 215, .24);
    border-radius: 50%;
    color: #9fc9c1;
    font: 400 20px/1 var(--sans);
    transition: transform .25s ease, color .25s ease;
  }
  .mobile-service-disclosure[open] > summary b { color: #e1b577; transform: rotate(45deg); }

  .ad-intro,
  .ad-offer,
  .advertise-grid,
  .submit-grid { display: block; }
  .ad-price-lockup { margin-top: 24px; }
  .ad-offer { padding: 0; }
  .ad-pack-visual { width: min(190px, 58%); margin: 0 auto 26px; }
  .ad-offer-copy h3 { font-size: 27px; line-height: 1.05; }
  .placement-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .placement-list li {
    min-height: 102px;
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 14px 12px;
    font-size: 11px;
    line-height: 1.35;
  }
  .audience-strip article { min-height: 106px; padding: 16px; }
  .audience-strip strong { font-size: 24px; }
  .ad-detail-grid { gap: 10px; margin-bottom: 58px; }
  .feature-form { margin-top: 38px; padding: 22px 18px; }
  .feature-form .form-head h3 { font-size: 28px; }

  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .timeline article,
  .timeline article + article {
    min-height: 178px;
    padding: 18px;
    border: 1px solid var(--lake-edge);
  }
  .timeline article::before,
  .timeline article + article::before { left: 18px; }
  .timeline strong { margin-top: 34px; font-size: 18px; }
  .timeline p { font-size: 11px; }

  .workflow-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .workflow-track article {
    min-height: 172px;
    margin: 0 !important;
    padding: 18px;
  }
  .workflow-track article strong { margin-top: 34px; font-size: 18px; }
  .workflow-track article p { font-size: 11px; }
  .workflow-track > i { display: none; }

  .newsletter-panel { padding: 30px 20px; gap: 28px; }
  .newsletter-panel h2 { font-size: 42px; }
  .footer-top { gap: 32px; }
}

@media (min-width: 721px) {
  .mobile-ad-disclosure > summary { display: none; }
  .mobile-ad-disclosure:not([open]) > .mobile-ad-disclosure-body { display: block; }
  .mobile-service-disclosure > summary { display: none; }
  .mobile-service-disclosure:not([open]) > div { display: block; }
}

@media (max-width: 350px) {
  :root { --shell: calc(100% - 24px); }
  .hero-grid { padding-top: 104px; }
  .hero h1 { font-size: 72px; }
  .hero-deck { font-size: 15px; }
  .issue-peek { right: 12px; left: 12px; }
  .collection-tabs button { font-size: 6px; }
  .book-card { min-height: 334px; padding: 9px; }
  .book-card .book-image-wrap { height: 164px; }
}
