:root {
  --ayu-ink: #28252a;
  --ayu-brick: #8f392b;
  --ayu-brick-dark: #61271f;
  --ayu-gold: #d4a63a;
  --ayu-river: #2d7774;
  --ayu-river-light: #9fc8bd;
  --ayu-paper: #f3ead7;
  --ayu-paper-light: #fffaf0;
  --ayu-lotus: #c87879;
  --ayu-moss: #5b7051;
}

body[data-region="ayutthaya"] {
  background:
    linear-gradient(rgba(143,57,43,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,57,43,.035) 1px, transparent 1px),
    var(--ayu-paper);
  background-size: 2rem 2rem;
}

.ayu-breadcrumbs { border-bottom-color: rgba(97,39,31,.18); }
.ayu-breadcrumbs a { color: var(--ayu-brick-dark); }
.ayu-kicker { display: block; color: var(--ayu-brick); font-size: .69rem; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.ayu-meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.35rem; }
.ayu-meta span { padding: .5rem .7rem; border: 1px solid currentColor; border-radius: 999px; font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ayu-note { padding: 1rem 1.15rem; border-left: 4px solid var(--ayu-gold); background: rgba(255,250,240,.8); }

/* Hub: a river confluence atlas, not a conventional city-card grid. */
.confluence-hero { position: relative; display: grid; grid-template-columns: .88fr 1.12fr; min-height: 43rem; overflow: hidden; color: #fff; background: var(--ayu-ink); }
.confluence-copy { position: relative; z-index: 3; padding: clamp(2.8rem, 6vw, 5.8rem); align-self: center; }
.confluence-copy::before { content: "ISLAND / RIVER / RUIN"; position: absolute; top: 2rem; left: clamp(2.8rem, 6vw, 5.8rem); color: var(--ayu-gold); font-size: .61rem; font-weight: 950; letter-spacing: .19em; }
.confluence-copy .eyebrow { color: var(--ayu-river-light); }
.confluence-copy h1 { margin: .85rem 0 1rem; color: #fff; font: 500 clamp(4rem, 7vw, 7.4rem)/.78 Georgia, serif; }
.confluence-copy h1 span { display: block; color: var(--ayu-gold); font-size: .53em; font-style: italic; }
.confluence-copy p { max-width: 39rem; color: rgba(255,255,255,.74); }
.confluence-image { position: relative; min-height: 43rem; overflow: hidden; background: var(--ayu-brick-dark); }
.confluence-image img { width: 100%; height: 100%; object-fit: cover; opacity: .76; filter: sepia(.12) saturate(.9); }
.confluence-image::before,
.confluence-image::after { content: ""; position: absolute; z-index: 2; border: 2px solid rgba(159,200,189,.72); border-radius: 50%; transform: rotate(-18deg); }
.confluence-image::before { width: 130%; height: 45%; left: -25%; top: 12%; }
.confluence-image::after { width: 115%; height: 38%; right: -42%; bottom: 8%; border-color: rgba(212,166,58,.72); transform: rotate(22deg); }
.confluence-seal { position: absolute; z-index: 4; right: 1.4rem; top: 1.4rem; display: grid; place-items: center; width: 7.5rem; height: 7.5rem; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; color: #fff; background: rgba(40,37,42,.66); font: 900 .64rem/1.25 sans-serif; letter-spacing: .11em; text-align: center; }

.confluence-decisions { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: .75rem; }
.confluence-decisions article { min-height: 16rem; padding: 1.55rem; border-top: 5px solid var(--ayu-river); background: var(--ayu-paper-light); }
.confluence-decisions article:first-child { color: #fff; border-color: var(--ayu-gold); background: var(--ayu-brick-dark); }
.confluence-decisions article:nth-child(3) { border-color: var(--ayu-gold); }
.confluence-decisions article:nth-child(4) { border-color: var(--ayu-lotus); }
.confluence-decisions h2, .confluence-decisions h3 { color: inherit; font: 500 1.6rem/1 Georgia, serif; }
.confluence-decisions p { color: inherit; opacity: .76; }

.river-atlas { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; padding: 1.2rem; background: var(--ayu-ink); }
.atlas-card { position: relative; min-height: 25rem; overflow: hidden; color: #fff; background: var(--ayu-brick-dark); }
.atlas-card:nth-child(2n) { margin-top: 2rem; }
.atlas-card:nth-child(3n) { border-radius: 7rem 7rem .25rem .25rem; }
.atlas-card:nth-child(4n) { clip-path: polygon(0 0, 89% 0, 100% 11%, 100% 100%, 0 100%); }
.atlas-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.atlas-card:hover img { transform: scale(1.035); }
.atlas-card-copy { position: absolute; inset: auto 0 0; padding: 4.7rem 1.2rem 1.3rem; background: linear-gradient(transparent, rgba(40,37,42,.97)); }
.atlas-card-copy small { color: var(--ayu-gold); font-size: .65rem; font-weight: 950; letter-spacing: .11em; }
.atlas-card-copy h3 { margin: .4rem 0; color: #fff; font: 500 1.48rem/1 Georgia, serif; }
.atlas-card-copy p { margin: 0 0 .75rem; color: rgba(255,255,255,.74); font-size: .86rem; }
.atlas-card-copy strong { color: #fff; font-size: .77rem; }

.river-loop { display: grid; grid-template-columns: .9fr 1.1fr; color: #fff; background: var(--ayu-river); }
.river-loop > div { padding: clamp(2rem,5vw,4rem); }
.river-loop > div:last-child { color: var(--ayu-ink); background: var(--ayu-paper-light); }
.river-loop h2, .river-loop h3 { color: inherit; font: 500 clamp(1.8rem,3vw,3rem)/.95 Georgia, serif; }
.river-loop p, .river-loop li { color: inherit; opacity: .78; }

/* Shared chapter primitives. */
.ayu-decision-grid, .ayu-day-grid, .ayu-compare-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; }
.ayu-decision-grid article, .ayu-day-grid article, .ayu-compare-grid article { min-height: 15rem; padding: 1.5rem; border: 1px solid rgba(97,39,31,.15); background: var(--ayu-paper-light); }
.ayu-decision-grid article:nth-child(2n), .ayu-day-grid article:nth-child(2n) { background: #e4eee7; }
.ayu-decision-grid h2, .ayu-decision-grid h3, .ayu-day-grid h3, .ayu-compare-grid h3 { color: var(--ayu-ink); font: 500 1.45rem/1 Georgia, serif; }
.ayu-decision-grid small, .ayu-day-grid time, .ayu-compare-grid small { color: var(--ayu-brick); font-size: .66rem; font-weight: 950; letter-spacing: .11em; }
.ayu-route-strip { display: grid; grid-template-columns: repeat(4,1fr); border-top: 3px solid var(--ayu-ink); border-bottom: 3px solid var(--ayu-ink); }
.ayu-route-strip article { min-height: 15rem; padding: 1.45rem; border-right: 1px solid rgba(40,37,42,.22); background: var(--ayu-paper-light); }
.ayu-route-strip article:last-child { border-right: 0; }
.ayu-route-strip article:first-child { color: #fff; background: var(--ayu-brick-dark); }
.ayu-route-strip h2, .ayu-route-strip h3 { color: inherit; font: 500 1.45rem/1 Georgia, serif; }
.ayu-route-strip p { color: inherit; opacity: .76; }

/* 01: railway arrival as a station signal board. */
.arrival-signal-hero { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 41rem; color: #fff; background: #24333a; }
.arrival-signal-photo { position: relative; margin: 1rem; overflow: hidden; border-radius: .4rem; }
.arrival-signal-photo img { width: 100%; height: 100%; object-fit: cover; }
.arrival-signal-photo::after { content: "AYUTTHAYA / EAST BANK"; position: absolute; left: 1rem; bottom: 1rem; padding: .75rem .95rem; color: #f8efdc; background: rgba(36,51,58,.92); font-size: .64rem; font-weight: 950; letter-spacing: .13em; }
.arrival-signal-copy { position: relative; padding: clamp(2.5rem,5vw,5rem); align-self: center; }
.arrival-signal-copy::before { content: "NEXT ARRIVAL"; display: block; color: var(--ayu-gold); font-size: .62rem; font-weight: 950; letter-spacing: .18em; }
.arrival-signal-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(3.8rem,7vw,6.7rem)/.79 Georgia, serif; }
.arrival-signal-copy h1 span { display: block; color: var(--ayu-river-light); font-size: .55em; }
.arrival-signal-copy p { color: rgba(255,255,255,.73); }
.platform-board { display: grid; grid-template-columns: .8fr repeat(3,1fr); border: .5rem solid #24333a; background: #24333a; }
.platform-board article { min-height: 16rem; padding: 1.5rem; color: #f7e9c9; border: 1px solid rgba(247,233,201,.25); background: #1b282d; }
.platform-board article:first-child { color: var(--ayu-ink); background: var(--ayu-gold); }
.platform-board h2, .platform-board h3 { color: inherit; font: 500 1.5rem/1 Georgia, serif; }
.platform-board p { color: inherit; opacity: .76; }

/* 02: archaeology expressed as excavated strata. */
.strata-hero { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 42rem; color: #fff; background: var(--ayu-brick-dark); }
.strata-copy { padding: clamp(2.7rem,6vw,5.4rem); align-self: center; background: repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 2px, transparent 2px 3.2rem); }
.strata-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(3.8rem,7vw,6.8rem)/.78 Georgia, serif; }
.strata-copy h1 span { display: block; color: var(--ayu-gold); font-size: .55em; }
.strata-copy p { color: rgba(255,255,255,.72); }
.strata-photo { position: relative; margin: 1rem 1rem 1rem 0; overflow: hidden; }
.strata-photo img { width: 100%; height: 100%; object-fit: cover; }
.strata-photo::after { content: "FOUNDATION / COLLAPSE / MEMORY"; position: absolute; inset: auto 1rem 1rem; padding: .8rem 1rem; color: #fff; border-top: 1px solid rgba(255,255,255,.55); background: rgba(97,39,31,.78); font-size: .64rem; font-weight: 950; letter-spacing: .12em; }
.paired-strata { display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: .35rem; padding: 1rem; background: #d7c5aa; }
.paired-strata article { min-height: 12rem; padding: 1.4rem; color: #fff; background: #a9533e; }
.paired-strata article:nth-child(2) { min-height: 17rem; background: var(--ayu-brick-dark); }
.paired-strata article:nth-child(3) { min-height: 21rem; background: var(--ayu-ink); }
.paired-strata article:nth-child(4) { min-height: 15rem; color: var(--ayu-ink); background: var(--ayu-gold); }
.paired-strata h2, .paired-strata h3 { color: inherit; font: 500 1.45rem/1 Georgia, serif; }
.paired-strata p { color: inherit; opacity: .76; }

/* 03: royal quarter as a formal axial plan. */
.royal-axis-hero { position: relative; display: grid; place-items: center; min-height: 44rem; overflow: hidden; color: #fff; background: var(--ayu-ink); }
.royal-axis-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.royal-axis-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(40,37,42,.88), rgba(40,37,42,.15), rgba(40,37,42,.7)); }
.royal-axis-copy { position: relative; z-index: 2; width: min(51rem,calc(100% - 2rem)); padding: clamp(2.5rem,6vw,5rem); border: 1px solid rgba(255,255,255,.65); outline: 1px solid rgba(212,166,58,.65); outline-offset: .65rem; background: rgba(40,37,42,.66); text-align: center; backdrop-filter: blur(4px); }
.royal-axis-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(3.8rem,7vw,6.7rem)/.79 Georgia, serif; }
.royal-axis-copy h1 span { display: block; color: var(--ayu-gold); font-size: .54em; }
.royal-axis-copy p { color: rgba(255,255,255,.76); }
.royal-axis-copy .ayu-meta { justify-content: center; }
.axis-plan { display: grid; grid-template-columns: .75fr 1fr 1.2fr 1fr; gap: .45rem; align-items: stretch; padding: 1rem; background: var(--ayu-ink); }
.axis-plan article { min-height: 17rem; padding: 1.5rem; color: #fff; border: 1px solid rgba(212,166,58,.35); }
.axis-plan article:nth-child(3) { background: var(--ayu-brick-dark); }
.axis-plan h2, .axis-plan h3 { color: inherit; font: 500 1.45rem/1 Georgia, serif; }
.axis-plan p { color: rgba(255,255,255,.72); }

/* 04: west-island shade register. */
.shade-register-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 42rem; color: var(--ayu-ink); background: #d7c7a4; }
.shade-register-photo { display: grid; place-items: center; padding: 2rem; }
.shade-register-photo img { width: min(44rem,100%); aspect-ratio: 1.35; object-fit: cover; object-position: 10% 65%; border: .85rem solid rgba(255,250,240,.72); border-radius: 50%; box-shadow: 0 0 0 1px var(--ayu-brick-dark); }
.shade-register-copy { position: relative; padding: clamp(2.5rem,6vw,5.2rem); align-self: center; }
.shade-register-copy::after { content: "SHADE\A CLOCK"; white-space: pre; position: absolute; top: 1.2rem; right: 1.2rem; color: rgba(97,39,31,.45); font-size: .62rem; font-weight: 950; letter-spacing: .16em; text-align: center; }
.shade-register-copy h1 { margin: .8rem 0 1rem; color: var(--ayu-ink); font: 500 clamp(3.8rem,7vw,6.6rem)/.8 Georgia, serif; }
.shade-register-copy h1 span { display: block; color: var(--ayu-brick); font-size: .54em; }
.shade-clock { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border-radius: 999px; background: var(--ayu-brick-dark); }
.shade-clock article { min-height: 16rem; padding: 2rem 1.4rem; color: #fff; border-right: 1px solid rgba(255,255,255,.2); }
.shade-clock article:nth-child(2) { background: var(--ayu-moss); }
.shade-clock article:nth-child(3) { color: var(--ayu-ink); background: var(--ayu-gold); }
.shade-clock article:nth-child(4) { background: var(--ayu-river); }
.shade-clock h2, .shade-clock h3 { color: inherit; font: 500 1.42rem/1 Georgia, serif; }
.shade-clock p { color: inherit; opacity: .75; }

/* 05: west-bank sunset as a photographic aperture. */
.sunset-aperture-hero { position: relative; display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); min-height: 43rem; overflow: hidden; color: #fff; background: #241f25; }
.sunset-aperture-photo { position: relative; display: grid; place-items: center; min-width: 0; }
.sunset-aperture-photo::before { content: ""; position: absolute; width: min(35rem,80%); aspect-ratio: 1; border: 1px solid rgba(212,166,58,.7); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(212,166,58,.05), 0 0 0 6rem rgba(212,166,58,.03); }
.sunset-aperture-photo img { width: min(35rem,80%); aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.sunset-aperture-copy { min-width: 0; padding: clamp(2.6rem,5vw,5rem); align-self: center; }
.sunset-aperture-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(2.7rem,3.55vw,4.05rem)/.79 Georgia, serif; letter-spacing: -.025em; }
.sunset-aperture-copy h1 span { display: block; color: var(--ayu-gold); font-size: .55em; }
.sunset-aperture-copy p { color: rgba(255,255,255,.72); }
.light-dial { display: grid; grid-template-columns: repeat(4,1fr); gap: .65rem; padding: 2rem; color: #fff; background: var(--ayu-ink); }
.light-dial article { min-height: 17rem; padding: 1.5rem; border-radius: 50% 50% .4rem .4rem; background: rgba(255,255,255,.06); }
.light-dial article:nth-child(2) { background: var(--ayu-brick-dark); }
.light-dial article:nth-child(3) { color: var(--ayu-ink); background: var(--ayu-gold); }
.light-dial article:nth-child(4) { background: var(--ayu-river); }
.light-dial h2, .light-dial h3 { color: inherit; font: 500 1.45rem/1 Georgia, serif; }
.light-dial p { color: inherit; opacity: .75; }

/* 06: active temples framed as an etiquette threshold. */
.threshold-hero { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 42rem; color: var(--ayu-ink); background: #d8a83d; }
.threshold-photo { position: relative; margin: 1rem; overflow: hidden; border-radius: 10rem 10rem .4rem .4rem; }
.threshold-photo img { width: 100%; height: 100%; object-fit: cover; }
.threshold-copy { padding: clamp(2.5rem,5vw,5rem); align-self: center; }
.threshold-copy h1 { margin: .8rem 0 1rem; color: var(--ayu-ink); font: 500 clamp(3.7rem,7vw,6.5rem)/.79 Georgia, serif; }
.threshold-copy h1 span { display: block; color: var(--ayu-brick-dark); font-size: .54em; }
.living-thresholds { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; counter-reset: threshold; }
.living-thresholds article { counter-increment: threshold; min-height: 17rem; padding: 1.5rem; border-radius: 5rem 5rem .4rem .4rem; background: var(--ayu-paper-light); text-align: center; }
.living-thresholds article::before { content: "0" counter(threshold); display: block; margin: 0 auto 1rem; color: var(--ayu-brick); font-size: .67rem; font-weight: 950; letter-spacing: .12em; }
.living-thresholds h2, .living-thresholds h3 { color: var(--ayu-ink); font: 500 1.42rem/1 Georgia, serif; }

/* 07: historic international quarter as a cargo manifest. */
.cargo-manifest-hero { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 42rem; color: #fff; background: #26383a; }
.cargo-manifest-photo { position: relative; margin: 1rem 0 1rem 1rem; overflow: hidden; }
.cargo-manifest-photo img { width: 100%; height: 100%; object-fit: cover; }
.cargo-manifest-photo::after { content: "SOUTH RIVER / JAPANESE VILLAGE"; position: absolute; inset: auto .8rem .8rem; padding: .8rem; border: 1px dashed rgba(255,255,255,.65); color: #fff; background: rgba(38,56,58,.82); font-size: .62rem; font-weight: 950; letter-spacing: .11em; }
.cargo-manifest-copy { padding: clamp(2.7rem,6vw,5.4rem); align-self: center; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 100% 3rem; }
.cargo-manifest-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(3.7rem,7vw,6.5rem)/.79 Georgia, serif; }
.cargo-manifest-copy h1 span { display: block; color: var(--ayu-gold); font-size: .54em; }
.cargo-manifest-copy p { color: rgba(255,255,255,.73); }
.port-ledger { display: grid; grid-template-columns: .72fr repeat(3,1fr); border: 2px solid var(--ayu-ink); }
.port-ledger article { min-height: 17rem; padding: 1.5rem; border-right: 1px dashed rgba(40,37,42,.35); background: var(--ayu-paper-light); }
.port-ledger article:first-child { color: #fff; background: var(--ayu-river); }
.port-ledger article:last-child { border-right: 0; }
.port-ledger h2, .port-ledger h3 { color: inherit; font: 500 1.42rem/1 Georgia, serif; }
.port-ledger p { color: inherit; opacity: .76; }

/* 08: Bang Pa-In as a formal garden cabinet outside the island. */
.garden-cabinet-hero { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 43rem; color: #fff; background: #395443; }
.garden-cabinet-photo { position: relative; margin: 1rem; overflow: hidden; border: 1px solid rgba(255,255,255,.5); border-radius: 10rem 10rem .4rem .4rem; }
.garden-cabinet-photo img { width: 100%; height: 100%; object-fit: cover; }
.garden-cabinet-photo::after { content: "PALACE GARDEN / SOUTH OF THE ISLAND"; position: absolute; left: 1rem; bottom: 1rem; padding: .75rem .9rem; color: #fff; background: rgba(57,84,67,.88); font-size: .62rem; font-weight: 950; letter-spacing: .11em; }
.garden-cabinet-copy { position: relative; padding: clamp(2.7rem,6vw,5.4rem); align-self: center; }
.garden-cabinet-copy::before { content: "ROYAL ESTATE"; position: absolute; top: 1.5rem; right: 1.5rem; color: var(--ayu-gold); font-size: .61rem; font-weight: 950; letter-spacing: .18em; }
.garden-cabinet-copy h1 { margin: .8rem 0 1rem; color: #fff; font: 500 clamp(3.8rem,7vw,6.7rem)/.79 Georgia, serif; }
.garden-cabinet-copy h1 span { display: block; color: #f0c45a; font-size: .54em; }
.garden-cabinet-copy p { color: rgba(255,255,255,.73); }
.palace-cabinet { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; padding: 1rem; background: #cad6bf; }
.palace-cabinet article { min-height: 17rem; padding: 1.5rem; border: 1px solid rgba(57,84,67,.35); border-radius: 6rem 6rem .35rem .35rem; background: #fffdf6; }
.palace-cabinet article:nth-child(2) { background: #ebdba6; }
.palace-cabinet article:nth-child(3) { color: #fff; background: #395443; }
.palace-cabinet article:nth-child(3) h3, .palace-cabinet article:nth-child(3) p { color: inherit; }
.palace-cabinet h2, .palace-cabinet h3 { color: var(--ayu-ink); font: 500 1.42rem/1 Georgia, serif; }

@media (max-width: 1180px) {
  .river-atlas { grid-template-columns: repeat(2,1fr); }
  .confluence-decisions, .ayu-decision-grid, .ayu-day-grid, .ayu-compare-grid, .ayu-route-strip, .platform-board, .paired-strata, .axis-plan, .shade-clock, .light-dial, .living-thresholds, .port-ledger, .palace-cabinet { grid-template-columns: repeat(2,1fr); }
  .ayu-route-strip article:nth-child(2), .platform-board article:nth-child(2), .port-ledger article:nth-child(2) { border-right: 0; }
}

@media (max-width: 760px) {
  .confluence-hero, .arrival-signal-hero, .strata-hero, .shade-register-hero, .sunset-aperture-hero, .threshold-hero, .cargo-manifest-hero, .garden-cabinet-hero, .river-loop { grid-template-columns: 1fr; }
  .confluence-hero, .arrival-signal-hero, .strata-hero, .shade-register-hero, .sunset-aperture-hero, .threshold-hero, .cargo-manifest-hero, .garden-cabinet-hero { min-height: 0; }
  .confluence-image { min-height: 30rem; order: -1; }
  .confluence-copy h1, .arrival-signal-copy h1, .strata-copy h1, .royal-axis-copy h1, .shade-register-copy h1, .sunset-aperture-copy h1, .threshold-copy h1, .cargo-manifest-copy h1, .garden-cabinet-copy h1 { font-size: clamp(3.2rem,15vw,5.2rem); }
  .arrival-signal-photo, .strata-photo, .threshold-photo, .cargo-manifest-photo, .garden-cabinet-photo { min-height: 30rem; margin: .75rem; order: -1; }
  .shade-register-photo, .sunset-aperture-photo { min-height: 28rem; order: -1; }
  .royal-axis-hero { min-height: 42rem; }
  .royal-axis-copy { width: calc(100% - 2.4rem); padding: 2.4rem 1.4rem; }
  .river-atlas { grid-template-columns: 1fr; }
  .atlas-card, .atlas-card:nth-child(2n) { min-height: 28rem; margin-top: 0; }
  .confluence-decisions { grid-template-columns: 1fr 1fr; }
  .shade-clock { border-radius: 3rem; }
}

@media (max-width: 520px) {
  .confluence-decisions, .ayu-decision-grid, .ayu-day-grid, .ayu-compare-grid, .ayu-route-strip, .platform-board, .paired-strata, .axis-plan, .shade-clock, .light-dial, .living-thresholds, .port-ledger, .palace-cabinet { grid-template-columns: 1fr; }
  .confluence-decisions article, .ayu-decision-grid article, .ayu-day-grid article, .ayu-compare-grid article, .ayu-route-strip article, .platform-board article, .paired-strata article, .axis-plan article, .shade-clock article, .light-dial article, .living-thresholds article, .port-ledger article, .palace-cabinet article { min-height: 0; }
  .paired-strata article { min-height: 12rem; }
  .confluence-copy, .arrival-signal-copy, .strata-copy, .shade-register-copy, .sunset-aperture-copy, .threshold-copy, .cargo-manifest-copy, .garden-cabinet-copy { padding: 2.5rem 1.3rem; }
  .confluence-image { min-height: 25rem; }
  .confluence-seal { width: 6.2rem; height: 6.2rem; }
  .atlas-card { min-height: 25rem; }
  .shade-clock { border-radius: 2rem; }
  .shade-clock article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .sunset-aperture-copy h1 { font-size: clamp(2.35rem,10.2vw,3rem); }
}
