:root {
  --maka: #f2eddf;
  --papier: #e8dfcc;
  --kamien: #b7aa91;
  --ziarno: #bd8b35;
  --rdza: #80513e;
  --atrament: #1c211d;
  --atrament-2: #353a31;
  --mgla: rgba(28, 33, 29, .58);
  --linia: rgba(28, 33, 29, .18);
  --linia-jasna: rgba(242, 237, 223, .22);
  --salon: #101713;
  --sukno: #203b31;
  --mosiadz: #ba9251;
  --promien: 999px;
  --krok: clamp(1rem, .85rem + .65vw, 1.6rem);
  --cien: 0 26px 60px rgba(28, 24, 16, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--atrament);
  background: var(--maka);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  opacity: .18;
  pointer-events: none;
  z-index: 20;
  background-image: radial-gradient(rgba(28,33,29,.1) .6px, transparent .8px);
  background-size: 5px 5px;
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--ziarno); outline-offset: 5px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: var(--atrament); color: var(--maka); }
.skip-link:focus { top: 1rem; }
.wrap { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.eyebrow { margin: 0 0 .9rem; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.display { font-family: "Iowan Old Style", "Baskerville", Georgia, serif; font-weight: 400; letter-spacing: -.045em; line-height: .93; }
.muted { color: var(--mgla); }

.site-header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  color: var(--maka);
  border-bottom: 1px solid var(--linia-jasna);
}
.site-header.light { position: relative; color: var(--atrament); border-color: var(--linia); }
.nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.wordmark { display: inline-flex; align-items: center; gap: .75rem; font-family: "Iowan Old Style", Georgia, serif; font-size: 1.05rem; letter-spacing: .02em; }
.wordmark::before { content: ""; width: 21px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; box-shadow: inset 0 0 0 5px transparent; }
.nav-links { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.nav-links a { position: relative; padding-block: .5rem; }
.nav-links a::after { content: ""; position: absolute; left: 0; bottom: .15rem; width: 100%; border-bottom: 1px solid; transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; border: 0; background: none; color: inherit; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }

.hero {
  min-height: 100svh;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--maka);
  isolation: isolate;
}
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14,15,12,.42), rgba(14,15,12,.16) 46%, rgba(14,15,12,.7)); }
.hero-content { width: min(920px, calc(100% - 2rem)); padding: 8rem 0 4rem; text-align: center; }
.title-orbit { width: min(72vw, 670px); aspect-ratio: 1; margin: 0 auto; display: grid; place-items: center; border: 1px solid rgba(242,237,223,.48); border-radius: 50%; position: relative; }
.title-orbit::before, .title-orbit::after { content: ""; position: absolute; border: 1px solid rgba(242,237,223,.27); border-radius: 50%; }
.title-orbit::before { inset: 7%; }
.title-orbit::after { width: 20%; aspect-ratio: 1; }
.title-copy { position: relative; z-index: 1; }
.title-copy h1 { margin: 0; font-size: clamp(4rem, 11vw, 9.4rem); }
.title-copy p { margin: 1.3rem auto 0; max-width: 32rem; font-size: clamp(.82rem, 1.3vw, 1.05rem); letter-spacing: .16em; text-transform: uppercase; }
.hero-cue { position: absolute; bottom: 2rem; right: max(1rem, calc((100vw - 1180px)/2)); display: flex; align-items: center; gap: .8rem; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.hero-cue::before { content: ""; width: 48px; border-top: 1px solid; }

.intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 8vw, 8rem); align-items: center; padding: clamp(6rem, 12vw, 11rem) 0; }
.intro-mark { aspect-ratio: 1; border: 1px solid var(--linia); border-radius: 50%; display: grid; place-items: center; position: relative; }
.intro-mark::before { content: "2019"; width: 44%; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--ziarno); color: var(--ziarno); font: 1rem "Iowan Old Style", Georgia, serif; }
.intro-mark span { position: absolute; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.intro-mark span:first-child { top: 12%; }
.intro-mark span:last-child { bottom: 12%; }
.intro-copy h2 { max-width: 14ch; margin: 0 0 2rem; font-size: clamp(3rem, 6vw, 6rem); }
.intro-copy .lead { max-width: 42rem; margin: 0; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(1.3rem, 2.2vw, 2rem); line-height: 1.35; }
.intro-copy .aside { max-width: 34rem; margin: 2rem 0 0 auto; padding-left: 1.2rem; border-left: 1px solid var(--ziarno); }

.photo-arc { min-height: min(76vw, 830px); position: relative; border-radius: 50% 50% 2rem 2rem / 32% 32% 2rem 2rem; overflow: hidden; box-shadow: var(--cien); }
.photo-caption { position: absolute; z-index: 2; left: 1.5rem; bottom: 1.5rem; max-width: 23rem; padding: 1rem 1.2rem; color: var(--maka); background: rgba(20,23,18,.72); backdrop-filter: blur(8px); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }

.sequence { padding: clamp(7rem, 12vw, 12rem) 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
.section-head h2 { max-width: 10ch; margin: 0; font-size: clamp(3.4rem, 7vw, 7rem); }
.section-head p { width: min(28rem, 40%); margin: 0 0 .6rem; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.steps::before { content: ""; position: absolute; top: 50%; left: 2%; right: 2%; border-top: 1px solid var(--linia); }
.step { aspect-ratio: 1; border: 1px solid var(--linia); border-radius: 50%; display: grid; place-items: center; text-align: center; position: relative; background: var(--maka); margin-left: -8%; padding: 1.4rem; transition: transform .45s ease, background .45s ease; }
.step:first-child { margin-left: 0; }
.step:hover { transform: translateY(-.6rem) rotate(-2deg); background: var(--papier); }
.step b { display: block; font-family: "Iowan Old Style", Georgia, serif; font-weight: 400; font-size: clamp(1.5rem, 2.5vw, 2.6rem); }
.step small { display: block; margin-top: .55rem; color: var(--mgla); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }

.hall { background: var(--atrament); color: var(--maka); padding: clamp(1rem, 2vw, 2rem); }
.hall-grid { display: grid; grid-template-columns: 1.55fr .75fr; min-height: 78svh; }
.hall-photo { position: relative; overflow: hidden; border-radius: 46% 46% 0 0 / 24% 24% 0 0; }
.hall-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 5rem); }
.hall-copy h2 { margin: 0; font-size: clamp(3.6rem, 7vw, 7rem); }
.hall-copy p { max-width: 28rem; color: rgba(242,237,223,.67); }
.room-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: 2rem; border-top: 1px solid var(--linia-jasna); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }

.menu-section { padding: clamp(7rem, 13vw, 13rem) 0; overflow: hidden; }
.menu-orbits { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.menu-disc { aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--linia); display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 6vw, 6rem); position: relative; }
.menu-disc + .menu-disc { margin-left: -12%; margin-top: 24%; background: var(--papier); }
.menu-disc h2 { margin: 0 0 1rem; font-size: clamp(2.5rem, 5vw, 5rem); }
.menu-disc p { max-width: 30rem; }
.menu-items { display: grid; gap: .65rem; margin-top: 1rem; }
.menu-item { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--linia); }
.menu-item span:last-child { color: var(--rdza); }
.text-link { display: inline-flex; align-items: center; gap: .8rem; margin-top: 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.text-link::after { content: "↗"; transition: transform .25s ease; }
.text-link:hover::after { transform: translate(3px,-3px); }

.dessert { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 680px; background: var(--rdza); color: var(--maka); }
.dessert-photo { min-height: 560px; clip-path: circle(73% at 34% 50%); }
.dessert-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 8vw, 8rem) clamp(1.5rem, 6vw, 6rem); }
.dessert-copy h2 { margin: 0 0 1.5rem; font-size: clamp(3rem, 6vw, 6rem); }
.dessert-copy blockquote { margin: 2rem 0 0; padding-top: 2rem; border-top: 1px solid var(--linia-jasna); font: 1.35rem/1.45 "Iowan Old Style", Georgia, serif; }

.quiet-door { padding: 5rem 1rem; text-align: center; background: var(--atrament); color: var(--maka); }
.quiet-door p { margin: 0 auto .7rem; color: rgba(242,237,223,.52); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.quiet-door a { font-size: .73rem; border-bottom: 1px solid rgba(242,237,223,.5); }

.footer { padding: clamp(5rem, 9vw, 8rem) 0 2rem; background: var(--papier); }
.footer-wheel { width: min(100%, 980px); aspect-ratio: 2.55 / 1; margin: 0 auto; border: 1px solid var(--linia); border-radius: 50% 50% 0 0 / 100% 100% 0 0; display: grid; place-items: center; text-align: center; }
.footer-wheel strong { display: block; font: clamp(2.4rem, 5vw, 5.2rem)/1 "Iowan Old Style", Georgia, serif; font-weight: 400; }
.footer-wheel span { display: block; margin-top: .8rem; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.footer-base { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--linia); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }

/* Casino: orbit shifted off-axis */
.casino { background: var(--salon); color: #efe8d7; }
.casino::before { opacity: .09; }
.casino .site-header { color: #efe8d7; }
.casino-hero { min-height: 92svh; position: relative; overflow: hidden; isolation: isolate; display: grid; align-items: end; }
.casino-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,14,11,.84) 0%, rgba(8,14,11,.22) 58%, rgba(8,14,11,.45)); }
.casino-hero .hero-media { z-index: -2; }
.casino-ring { position: absolute; width: min(72vw, 900px); aspect-ratio: 1; border: 1px solid rgba(232,205,154,.38); border-radius: 50%; right: -17vw; top: -13vw; }
.casino-ring::before, .casino-ring::after { content: ""; position: absolute; border: 1px solid rgba(232,205,154,.2); border-radius: 50%; }
.casino-ring::before { inset: 13%; }
.casino-ring::after { inset: 35%; }
.casino-intro { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: 10rem 0 5rem; }
.casino-intro h1 { max-width: 8ch; margin: 0; font-size: clamp(5rem, 13vw, 11rem); }
.casino-intro p { max-width: 38rem; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.casino-note { display: inline-block; margin-top: 1.2rem; padding: .65rem 1rem; border: 1px solid rgba(239,232,215,.3); border-radius: var(--promien); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.radial-plan { position: relative; min-height: 840px; overflow: hidden; padding: clamp(6rem, 12vw, 12rem) 0; }
.radial-plan::before { content: ""; position: absolute; width: 690px; aspect-ratio: 1; border: 1px solid rgba(186,146,81,.25); border-radius: 50%; left: -230px; top: 60px; box-shadow: 0 0 0 90px rgba(186,146,81,.03), 0 0 0 180px rgba(186,146,81,.025); }
.radial-grid { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: center; }
.radial-copy { padding-left: 8vw; }
.radial-copy h2 { margin: 0 0 2rem; font-size: clamp(3.3rem, 7vw, 7rem); }
.radial-copy p { max-width: 31rem; color: rgba(239,232,215,.67); }
.salon-list { display: grid; gap: 0; border-top: 1px solid var(--linia-jasna); }
.salon-row { display: grid; grid-template-columns: 3rem 1fr auto; align-items: baseline; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--linia-jasna); }
.salon-row span:first-child { color: var(--mosiadz); }
.salon-row strong { font: 1.5rem "Iowan Old Style", Georgia, serif; font-weight: 400; }
.salon-row small { color: rgba(239,232,215,.5); text-transform: uppercase; letter-spacing: .1em; }
.casino-feature { display: grid; grid-template-columns: 1.2fr .8fr; margin: 0 max(1rem, calc((100vw - 1320px)/2)); background: #17221c; border: 1px solid var(--linia-jasna); }
.casino-feature-media { min-height: 680px; clip-path: ellipse(77% 72% at 25% 50%); }
.casino-feature-copy { padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 5vw, 5rem); display: flex; flex-direction: column; justify-content: center; }
.casino-feature-copy h2 { margin: 0 0 1.5rem; font-size: clamp(3.4rem, 6vw, 6rem); }
.casino-feature-copy p { color: rgba(239,232,215,.66); }
.casino-feature-copy .text-link { color: var(--mosiadz); }
.policy { padding: clamp(8rem, 13vw, 13rem) 0; }
.policy-head { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 5rem; }
.policy-head h2 { margin: 0; font-size: clamp(4rem, 9vw, 8.5rem); }
.policy-head p { color: rgba(239,232,215,.65); }
.policy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--linia-jasna); border: 1px solid var(--linia-jasna); }
.policy-card { min-height: 340px; padding: clamp(1.5rem, 3.5vw, 3rem); background: var(--salon); display: flex; flex-direction: column; justify-content: space-between; }
.policy-card .num { color: var(--mosiadz); font-size: .72rem; letter-spacing: .15em; }
.policy-card h3 { margin: auto 0 1rem; font: clamp(2rem, 3.4vw, 3.5rem)/1 "Iowan Old Style", Georgia, serif; font-weight: 400; }
.policy-card p { color: rgba(239,232,215,.58); }
.responsible { width: min(760px, calc(100% - 2rem)); margin: 0 auto clamp(7rem, 12vw, 12rem); aspect-ratio: 1; border: 1px solid rgba(186,146,81,.38); border-radius: 50%; display: grid; place-items: center; text-align: center; padding: clamp(2rem, 8vw, 7rem); position: relative; }
.responsible::after { content: "18+"; position: absolute; right: 6%; top: 18%; width: 70px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--mosiadz); color: var(--salon); font-weight: 800; }
.responsible h2 { margin: 0 0 1rem; font-size: clamp(3rem, 7vw, 6rem); }
.responsible p { color: rgba(239,232,215,.63); }
.casino .footer { background: #0b100d; color: #efe8d7; }
.casino .footer-wheel { border-color: var(--linia-jasna); }
.casino .footer-base { border-color: var(--linia-jasna); color: rgba(239,232,215,.55); }

/* Ledger */
.ledger { background: #ece3cf; }
.ledger-main { width: min(1080px, calc(100% - 2rem)); margin: clamp(3rem, 7vw, 7rem) auto; border: 1px solid var(--linia); box-shadow: var(--cien); background-color: #f1e8d4; background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 47px, rgba(50,70,64,.12) 48px); }
.ledger-head { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: start; padding: clamp(2rem, 6vw, 5rem); border-bottom: 3px double var(--linia); }
.ledger-head h1 { margin: 0; font-size: clamp(4.5rem, 11vw, 9rem); }
.ledger-stamp { width: 130px; aspect-ratio: 1; border: 1px solid var(--rdza); border-radius: 50%; display: grid; place-items: center; text-align: center; color: var(--rdza); transform: rotate(7deg); font: .72rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.ledger-grid { display: grid; grid-template-columns: .72fr 1.28fr; }
.ledger-details { padding: clamp(2rem, 5vw, 4rem); border-right: 1px solid var(--linia); }
.ledger-details dl { margin: 2rem 0 0; }
.ledger-details dt { margin-top: 1.5rem; font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.ledger-details dd { margin: .25rem 0 0; font-family: "Iowan Old Style", Georgia, serif; font-size: 1.25rem; }
.ledger-form { padding: clamp(2rem, 5vw, 4rem); }
.entry { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: center; min-height: 72px; border-bottom: 1px solid var(--linia); }
.entry > span { font: .7rem ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--rdza); }
.entry label { display: grid; grid-template-columns: minmax(110px, .45fr) 1fr; gap: 1rem; align-items: center; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.entry input, .entry select, .entry textarea { width: 100%; border: 0; border-bottom: 1px solid var(--atrament); border-radius: 0; padding: .55rem .2rem; background: rgba(128,81,62,.035); color: var(--atrament); outline: none; }
.entry textarea { min-height: 86px; resize: vertical; }
.form-note { font-size: .72rem; color: var(--mgla); }
.ledger-submit { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 2rem; }
.ink-button { border: 1px solid var(--atrament); background: var(--atrament); color: var(--maka); padding: .9rem 1.2rem; cursor: pointer; text-transform: uppercase; letter-spacing: .11em; font-size: .68rem; transition: background .25s, color .25s; }
.ink-button:hover { background: transparent; color: var(--atrament); }
.form-status { min-height: 1.5em; margin-top: 1rem; color: var(--rdza); font: italic 1rem "Iowan Old Style", Georgia, serif; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 820px) {
  .menu-toggle { display: block; }
  .nav-links { position: absolute; top: 78px; left: 0; width: 100%; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 1rem; background: rgba(22,26,22,.97); color: var(--maka); }
  .site-header.light .nav-links { background: var(--maka); color: var(--atrament); }
  .nav-links.is-open { display: flex; }
  .nav-links a { padding: 1rem 0; border-bottom: 1px solid currentColor; }
  .title-orbit { width: min(92vw, 600px); }
  .intro, .hall-grid, .dessert, .radial-grid, .casino-feature, .ledger-grid { grid-template-columns: 1fr; }
  .intro-mark { width: min(340px, 78vw); margin: 0 auto; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step { margin: -.5rem 0 0; }
  .hall-photo { min-height: 70vw; }
  .hall-copy { min-height: 520px; }
  .section-head { align-items: start; flex-direction: column; }
  .section-head p { width: auto; }
  .menu-orbits { grid-template-columns: 1fr; }
  .menu-disc + .menu-disc { margin: -8% 0 0; }
  .dessert-photo { min-height: 70vw; clip-path: ellipse(72% 65% at 50% 30%); }
  .radial-grid { gap: 4rem; }
  .radial-copy { padding-left: 0; }
  .radial-plan { min-height: auto; }
  .casino-feature-media { min-height: 70vw; clip-path: ellipse(75% 65% at 50% 25%); }
  .policy-head { grid-template-columns: 1fr; }
  .policy-grid { grid-template-columns: 1fr; }
  .policy-card { min-height: 260px; }
  .ledger-details { border-right: 0; border-bottom: 1px solid var(--linia); }
}

@media (max-width: 560px) {
  .wrap { width: min(100% - 1.2rem, 1180px); }
  .nav { min-height: 68px; }
  .nav-links { top: 68px; }
  .wordmark { gap: .5rem; font-size: .88rem; }
  .wordmark::before { width: 17px; }
  .menu-toggle { display: none; }
  .nav-links, .site-header.light .nav-links { position: static; width: auto; display: flex; flex-direction: row; align-items: center; gap: .65rem; margin-left: auto; padding: 0; background: transparent; color: inherit; font-size: .48rem; }
  .nav-links a { padding: .35rem 0; border-bottom: 0; }
  .nav-links a:not(:last-child) { display: none; }
  .ledger .nav-links a { display: none; }
  .ledger .nav-links a:first-child { display: block; }
  .title-copy { width: 90%; margin-inline: auto; }
  .title-copy h1 { font-size: clamp(2.8rem, 13.2vw, 3.6rem); letter-spacing: -.065em; }
  .title-copy p { max-width: 20rem; font-size: .65rem; }
  .hero-cue { display: none; }
  .steps { grid-template-columns: 1fr; justify-items: center; }
  .step { width: min(78vw, 330px); margin-top: -1rem; }
  .menu-disc { min-height: 420px; aspect-ratio: auto; border-radius: 210px; }
  .room-meta { grid-template-columns: 1fr; }
  .footer-wheel { aspect-ratio: 1.35; }
  .footer-base { flex-direction: column; }
  .salon-row { grid-template-columns: 2rem 1fr; }
  .salon-row small { grid-column: 2; }
  .responsible { aspect-ratio: auto; min-height: 540px; }
  .ledger-head { grid-template-columns: 1fr; }
  .ledger-stamp { width: 95px; }
  .entry { grid-template-columns: 2rem 1fr; }
  .entry label { grid-template-columns: 1fr; gap: .3rem; }
  .ledger-submit { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
