/* =====================================================================
   Rasel Mahmud — portfolio theme
   Layout concept: a gallery at dusk. The page is a dark room; the
   photographs are the only light. Type is left-aligned on a wide
   measure, images are never cropped (except thumbnails in the index).
   ===================================================================== */
:root {
  /* colour — the canvas is the blue hour, the accent is sodium light */
  --dusk: #121821;        /* canvas */
  --dusk-2: #171e29;      /* raised surface (cards, lightbox chrome) */
  --dusk-3: #222b38;      /* hairlines */
  --bone: #e8e2d6;        /* primary text */
  --mist: #8d97a6;        /* secondary text, captions */
  --amber: #d39a5a;       /* the single warm accent */
  --verdigris: #6a9a90;   /* focus ring, quiet second accent */

  /* the About page flips to paper */
  --paper: #ebe6dc;
  --paper-2: #e1dbcf;
  --ink: #1a1f28;
  --ink-2: #5a6271;

  --bg: var(--dusk);
  --bg-2: var(--dusk-2);
  --line: var(--dusk-3);
  --fg: var(--bone);
  --fg-2: var(--mist);

  /* type */
  --font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-text: "Hanken Grotesk", "Helvetica Neue", Arial, system-ui, sans-serif;
  --fs-0: 0.8125rem;
  --fs-1: 0.9375rem;
  --fs-2: 1.0625rem;
  --fs-3: 1.375rem;
  --fs-4: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
  --fs-5: clamp(2.25rem, 1.4rem + 3.4vw, 4rem);
  --fs-6: clamp(2.6rem, 1.6rem + 5.2vw, 5.75rem);

  /* rhythm */
  --gutter: 16px;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 2rem;
  --space-4: 3.5rem;
  --space-5: clamp(4rem, 3rem + 5vw, 8rem);
  --measure: 62ch;
  --wrap: 1360px;
  --bar-h: 64px;

  color-scheme: dark;
}
@media (min-width: 760px) { :root { --gutter: 5vw; --bar-h: 76px; } }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.rm {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-text);
  font-size: var(--fs-2);
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100%;
}
body.rm.is-paper {
  --bg: var(--paper);
  --bg-2: var(--paper-2);
  --line: #d2cbbd;
  --fg: var(--ink);
  --fg-2: var(--ink-2);
  color-scheme: light;
}
body.rm::before { /* paints the phone status-bar band above the fixed bar */
  content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px);
  background: var(--bg); z-index: 60;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--amber); }
:focus-visible { outline: 2px solid var(--verdigris); outline-offset: 3px; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 300; line-height: 1.08; letter-spacing: -0.012em; margin: 0; text-wrap: balance; }
p { margin: 0; }
.screen-reader-text, .sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--amber); color: var(--dusk); padding: 0.5rem 0.9rem; border-radius: 2px; }
.skip-link:focus { left: 8px; }

.rm-wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-left: max(var(--gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
}
.rm-measure { max-width: var(--measure); }

/* ---------- top bar ---------- */
.rm-topbar {
  position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 50;
  height: var(--bar-h);
  transition: background-color .5s ease, border-color .5s ease;
  background: color-mix(in srgb, var(--bg) 0%, transparent);
  border-bottom: 1px solid transparent;
}
.rm-topbar.is-solid, .rm-topbar.is-scrolled {
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom-color: var(--line);
}
.rm-topbar__inner {
  height: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
}
.rm-brand {
  font-family: var(--font-display); font-size: 1.375rem; font-weight: 400; letter-spacing: 0.005em; line-height: 1;
  white-space: nowrap;
}
.rm-brand:hover { color: var(--fg); }
.rm-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(1rem, 2.5vw, 2.25rem); }
.rm-nav a { font-size: var(--fs-1); letter-spacing: 0.01em; color: var(--fg-2); padding-block: 0.25rem; position: relative; }
.rm-nav a:hover, .rm-nav .current-menu-item > a, .rm-nav .current_page_item > a, .rm-nav .current-menu-ancestor > a, .rm-nav a[aria-current] { color: var(--fg); }
.rm-nav .current-menu-item > a::after, .rm-nav .current_page_item > a::after, .rm-nav a[aria-current]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--amber);
}
.rm-nav-toggle { display: none; }
@media (max-width: 640px) {
  .rm-nav-toggle { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--fs-1); color: var(--fg-2); padding: .5rem 0; }
  .rm-nav-toggle::before { content: ""; width: 18px; height: 1px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
  .rm-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--bg); border-bottom: 1px solid var(--line); padding: var(--space-2) max(var(--gutter), env(safe-area-inset-left, 0px)) var(--space-3); }
  .rm-nav[hidden] { display: none; }
  .rm-nav ul { flex-direction: column; gap: 1rem; }
  .rm-nav a { font-size: var(--fs-3); font-family: var(--font-display); font-weight: 300; }
}

main.rm-main { padding-top: calc(var(--bar-h)); }
main.rm-main.has-hero { padding-top: 0; }

/* ---------- home hero ---------- */
.rm-hero {
  position: relative; min-height: min(78svh, 900px); display: grid; align-items: end;
  background: var(--dusk);
  isolation: isolate; overflow: hidden;
}
.rm-hero__media { position: absolute; inset: 0; z-index: -1; }
.rm-hero__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;
  opacity: 0; transition: opacity 2.4s ease;
}
.rm-hero__media img.is-on { opacity: 1; }
.rm-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--dusk) 78%, transparent) 0%, color-mix(in srgb, var(--dusk) 22%, transparent) 30%, transparent 55%);
}
.rm-hero__text { padding-block: var(--space-4) var(--space-3); }
.rm-hero__line { font-size: var(--fs-6); max-width: 14ch; color: #f3eee6; text-shadow: 0 1px 24px rgba(0,0,0,.35); }
.rm-hero__sub { margin-top: var(--space-2); font-size: var(--fs-2); color: color-mix(in srgb, var(--bone) 78%, transparent); max-width: 48ch; }
.rm-hero__foot { margin-top: var(--space-3); display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); font-size: var(--fs-0); color: color-mix(in srgb, var(--bone) 62%, transparent); flex-wrap: wrap; }
.rm-hero__caption { font-family: var(--font-display); font-style: italic; font-size: var(--fs-1); }
.rm-hero__cue { letter-spacing: .04em; }
.rm-hero__cue:hover { color: var(--amber); }

/* ---------- sections ---------- */
.rm-section { padding-block: var(--space-5); }
.rm-section + .rm-section { padding-top: 0; }
.rm-section__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-3); }
.rm-section__title { font-size: var(--fs-4); }
.rm-section__aside { font-size: var(--fs-1); color: var(--fg-2); }
.rm-section__aside a { border-bottom: 1px solid var(--line); padding-bottom: 1px; }
.rm-section__aside a:hover { border-color: var(--amber); }

/* series cards (home strip + work index) */
.rm-cards { display: grid; gap: var(--space-4) var(--space-3); grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
@media (min-width: 760px) { .rm-cards { grid-template-columns: 1fr 1fr; } .rm-cards > li:nth-child(even) { margin-top: var(--space-5); } }
.rm-card a { display: block; }
.rm-card__media { margin: 0; overflow: hidden; background: var(--bg-2); aspect-ratio: 4 / 3; }
.rm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s cubic-bezier(.2,.6,.2,1); }
@media (prefers-reduced-motion: no-preference) { .rm-card a:hover .rm-card__media img { transform: scale(1.025); } }
.rm-card__body { padding-top: var(--space-2); display: grid; grid-template-columns: 1fr auto; gap: .25rem var(--space-2); align-items: baseline; }
.rm-card__title { font-size: var(--fs-4); grid-column: 1; }
.rm-card__count { font-size: var(--fs-0); color: var(--fg-2); font-variant-numeric: tabular-nums; grid-column: 2; }
.rm-card__meta { font-size: var(--fs-1); color: var(--fg-2); grid-column: 1 / -1; }
.rm-card a:hover .rm-card__title { color: var(--fg); }

/* statement */
.rm-statement { border-top: 1px solid var(--line); padding-top: var(--space-4); display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
@media (min-width: 900px) { .rm-statement { grid-template-columns: 1.4fr 1fr; align-items: end; } }
.rm-statement__text { font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; line-height: 1.4; max-width: 34ch; text-wrap: pretty; }
.rm-statement__links { display: flex; flex-direction: column; gap: .6rem; font-size: var(--fs-1); color: var(--fg-2); }
.rm-statement__links a { width: max-content; border-bottom: 1px solid var(--line); padding-bottom: 2px; }
.rm-statement__links a:hover { border-color: var(--amber); }

/* ---------- series page ---------- */
.rm-series-head { padding-block: var(--space-4) var(--space-3); }
.rm-series-head__title { font-size: var(--fs-5); }
.rm-series-head__sub { margin-top: .75rem; font-size: var(--fs-2); color: var(--fg-2); }
.rm-series-head__intro { margin-top: var(--space-3); font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; line-height: 1.45; max-width: 44ch; text-wrap: pretty; }
.rm-series-head__count { font-size: var(--fs-0); color: var(--fg-2); margin-top: var(--space-2); font-variant-numeric: tabular-nums; }

/* the sequence */
.rm-sequence { display: grid; gap: var(--space-5); padding-block: var(--space-3) var(--space-5); }
.plate, .wp-block-image.plate, .wp-block-gallery.plate { margin: 0; }
.plate img, .wp-block-image img { width: 100%; height: auto; }
.plate figcaption, .wp-block-image figcaption, .wp-element-caption {
  margin-top: .8rem; font-family: var(--font-display); font-style: italic; font-size: var(--fs-1); color: var(--fg-2); line-height: 1.45;
  text-align: left;
}
.plate__num { font-family: var(--font-text); font-style: normal; font-size: var(--fs-0); font-variant-numeric: tabular-nums; margin-right: .6rem; color: color-mix(in srgb, var(--fg-2) 75%, transparent); }

/* layouts: full-bleed, wide, portrait, pair */
.plate--full, .is-style-rm-full { width: 100%; }
.plate--full img, .is-style-rm-full img { max-height: 118svh; object-fit: contain; object-position: center; background: var(--bg); }
.plate--full figcaption, .is-style-rm-full figcaption { padding-inline: max(var(--gutter), env(safe-area-inset-left, 0px)); max-width: var(--wrap); margin-inline: auto; }

.plate--wide, .is-style-rm-wide { max-width: var(--wrap); margin-inline: auto; padding-inline: max(var(--gutter), env(safe-area-inset-left, 0px)) max(var(--gutter), env(safe-area-inset-right, 0px)); }
.plate--wide img, .is-style-rm-wide img { max-height: 88svh; object-fit: contain; object-position: left center; width: auto; max-width: 100%; }

.plate--portrait, .is-style-rm-portrait { padding-inline: max(var(--gutter), env(safe-area-inset-left, 0px)) max(var(--gutter), env(safe-area-inset-right, 0px)); display: grid; justify-items: center; }
.plate--portrait img, .is-style-rm-portrait img { max-height: 92svh; width: auto; max-width: 100%; }
.plate--portrait figcaption, .is-style-rm-portrait figcaption { width: 100%; max-width: 720px; }

/* pairs: a two-column gallery whose images share a baseline */
.plate--pair, .wp-block-gallery.plate--pair, .wp-block-gallery.is-style-rm-pair {
  max-width: var(--wrap); margin-inline: auto;
  padding-inline: max(var(--gutter), env(safe-area-inset-left, 0px)) max(var(--gutter), env(safe-area-inset-right, 0px));
  display: grid !important; gap: var(--space-2) var(--space-3) !important; grid-template-columns: 1fr; align-items: end;
}
@media (min-width: 700px) { .plate--pair, .wp-block-gallery.plate--pair, .wp-block-gallery.is-style-rm-pair { grid-template-columns: 1fr 1fr; } }
.plate--pair > figure,
.wp-block-gallery.has-nested-images.plate--pair figure.wp-block-image,
.wp-block-gallery.has-nested-images.is-style-rm-pair figure.wp-block-image { margin: 0 !important; width: auto !important; max-width: 100%; flex: none !important; display: grid; justify-items: center; align-self: end; }
.plate--pair > figure img,
.wp-block-gallery.has-nested-images.plate--pair figure.wp-block-image img,
.wp-block-gallery.has-nested-images.is-style-rm-pair figure.wp-block-image img { max-height: 76svh; height: auto; width: auto; max-width: 100%; flex: none; }
.plate--pair > figure figcaption,
.wp-block-gallery.has-nested-images.plate--pair figure.wp-block-image figcaption,
.wp-block-gallery.has-nested-images.is-style-rm-pair figure.wp-block-image figcaption { width: 100%; position: static; background: none; color: var(--fg-2); padding: 0; margin-top: .8rem; text-shadow: none; font-size: var(--fs-1); max-height: none; -webkit-box-orient: unset; display: block; text-align: left; }
.wp-block-gallery.has-nested-images.plate--pair figure.wp-block-image::before,
.wp-block-gallery.has-nested-images.is-style-rm-pair figure.wp-block-image::before { content: none !important; }
/* the gallery block's own caption, if any, sits below the pair */
.wp-block-gallery.plate--pair > figcaption.blocks-gallery-caption { grid-column: 1 / -1; }

/* a breath between movements */
.breath, .is-style-breath { max-width: var(--wrap); margin-inline: auto; width: 100%; padding-inline: max(var(--gutter), env(safe-area-inset-left, 0px)) max(var(--gutter), env(safe-area-inset-right, 0px)); font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; font-style: italic; color: var(--fg-2); text-wrap: pretty; }
.breath > p, .breath > span, .is-style-breath > p { display: block; max-width: 36ch; margin: 0; }

/* lightbox affordance */
.plate img, .rm-grid img { cursor: zoom-in; }

/* end of series: three doors */
.rm-doors { border-top: 1px solid var(--line); padding-block: var(--space-4) var(--space-5); display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
@media (min-width: 760px) { .rm-doors { grid-template-columns: repeat(3, 1fr); } }
.rm-door { display: grid; gap: .4rem; align-content: start; }
.rm-door__label { font-size: var(--fs-0); color: var(--fg-2); letter-spacing: .02em; }
.rm-door__title { font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; line-height: 1.2; }
.rm-door a:hover .rm-door__title { color: var(--amber); }

/* ---------- plate index grid ---------- */
.rm-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) { .rm-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .rm-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; } }
.rm-grid li { margin: 0; }
.rm-grid a, .rm-grid button { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--bg-2); position: relative; }
.rm-grid img { width: 100%; height: 100%; object-fit: cover; transition: opacity .4s ease; }
.rm-grid a:hover img, .rm-grid button:hover img { opacity: .82; }
.rm-grid figcaption, .rm-grid .rm-grid__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .75rem .6rem; font-size: var(--fs-0); color: var(--bone); background: linear-gradient(to top, rgba(10,13,18,.75), transparent); opacity: 0; transition: opacity .3s; text-align: left; }
.rm-grid a:hover figcaption, .rm-grid a:focus-visible figcaption, .rm-grid button:hover .rm-grid__cap, .rm-grid button:focus-visible .rm-grid__cap { opacity: 1; }
.rm-grid__series { display: block; color: color-mix(in srgb, var(--bone) 70%, transparent); }

/* ---------- about ---------- */
.rm-about { display: grid; gap: var(--space-4); grid-template-columns: 1fr; padding-block: var(--space-4) var(--space-5); }
@media (min-width: 900px) { .rm-about { grid-template-columns: 5fr 7fr; align-items: start; } }
.rm-about__portrait { margin: 0; position: sticky; top: calc(var(--bar-h) + var(--space-2)); }
.rm-about__portrait img { width: 100%; height: auto; }
.rm-about__portrait .rm-placeholder { aspect-ratio: 4 / 5; background: var(--bg-2); display: grid; place-items: center; color: var(--fg-2); font-family: var(--font-display); font-style: italic; font-size: var(--fs-1); border: 1px solid var(--line); text-align: center; padding: var(--space-2); }
.rm-about__portrait figcaption { margin-top: .6rem; font-size: var(--fs-0); color: var(--fg-2); }
.rm-about__title { font-size: var(--fs-5); margin-bottom: var(--space-3); }
.rm-about__lede { font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; line-height: 1.45; max-width: 36ch; margin-bottom: var(--space-3); text-wrap: pretty; }
.rm-prose { max-width: var(--measure); }
.rm-prose p { margin-bottom: 1.2em; }
.rm-prose p:last-child { margin-bottom: 0; }
.rm-prose h2 { font-size: var(--fs-3); margin: var(--space-3) 0 var(--space-2); }
.rm-prose a { border-bottom: 1px solid var(--line); }
.rm-prose a:hover { border-color: var(--amber); }
.rm-prose ul { padding-left: 1.1em; }
.rm-facts { list-style: none; margin: var(--space-3) 0 0; padding: var(--space-3) 0 0; border-top: 1px solid var(--line); display: grid; gap: .6rem; font-size: var(--fs-1); color: var(--fg-2); }
.rm-facts strong { color: var(--fg); font-weight: 500; }

/* ---------- contact ---------- */
.rm-contact { display: grid; gap: var(--space-4); grid-template-columns: 1fr; padding-block: var(--space-4) var(--space-5); }
@media (min-width: 900px) { .rm-contact { grid-template-columns: 5fr 7fr; } }
.rm-contact__title { font-size: var(--fs-5); margin-bottom: var(--space-3); }
.rm-contact__intro { font-family: var(--font-display); font-size: var(--fs-3); font-weight: 300; line-height: 1.45; max-width: 30ch; color: var(--fg); text-wrap: pretty; }
.rm-contact__lines { margin-top: var(--space-3); display: grid; gap: .5rem; font-size: var(--fs-2); color: var(--fg-2); }
.rm-contact__lines a { color: var(--fg); border-bottom: 1px solid var(--line); width: max-content; }
.rm-contact__lines a:hover { border-color: var(--amber); }
.rm-form { display: grid; gap: var(--space-2); }
.rm-form label { display: grid; gap: .4rem; font-size: var(--fs-1); color: var(--fg-2); }
.rm-form input, .rm-form textarea, .rm-form select {
  font: inherit; color: var(--fg); background: var(--bg-2); border: 1px solid var(--line); border-radius: 0; padding: .8rem .9rem; width: 100%;
}
.rm-form input:focus, .rm-form textarea:focus, .rm-form select:focus { outline: 2px solid var(--verdigris); outline-offset: 0; border-color: transparent; }
.rm-form textarea { min-height: 9rem; resize: vertical; }
.rm-form__row { display: grid; gap: var(--space-2); grid-template-columns: 1fr; }
@media (min-width: 600px) { .rm-form__row { grid-template-columns: 1fr 1fr; } }
.rm-button { display: inline-block; padding: .9rem 1.4rem; border: 1px solid var(--fg); color: var(--fg); font-size: var(--fs-1); letter-spacing: .02em; width: max-content; transition: background .25s, color .25s; }
.rm-button:hover { background: var(--fg); color: var(--bg); }
.rm-notice { padding: .9rem 1rem; border: 1px solid var(--line); font-size: var(--fs-1); color: var(--fg-2); }
.rm-notice.is-ok { border-color: var(--verdigris); color: var(--fg); }
.rm-hp { position: absolute; left: -9999px; }

/* ---------- generic page ---------- */
.rm-page { padding-block: var(--space-4) var(--space-5); }
.rm-page__title { font-size: var(--fs-5); margin-bottom: var(--space-3); }
.rm-page .entry-content { max-width: var(--measure); }
.rm-page .entry-content > * + * { margin-top: 1.2em; }
.rm-page .entry-content .alignwide, .rm-page .entry-content .alignfull { max-width: none; }

/* ---------- footer ---------- */
.rm-footer { border-top: 1px solid var(--line); padding-block: var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom, 0px)); font-size: var(--fs-0); color: var(--fg-2); }
.rm-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-3); align-items: baseline; }
.rm-footer__links { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.rm-footer a:hover { color: var(--fg); }

/* ---------- lightbox ---------- */
.rm-lb { position: fixed; inset: 0; z-index: 100; background: color-mix(in srgb, var(--dusk) 96%, black); display: grid; grid-template-rows: 1fr auto; opacity: 0; pointer-events: none; transition: opacity .35s ease; color: var(--bone); color-scheme: dark; }
.rm-lb.is-open { opacity: 1; pointer-events: auto; }
.rm-lb__stage { position: relative; display: grid; place-items: center; padding: calc(var(--space-3) + env(safe-area-inset-top, 0px)) var(--space-3) var(--space-2); min-height: 0; }
.rm-lb__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.rm-lb__stage img { position: absolute; inset: var(--space-3); margin: auto; max-width: calc(100% - 2 * var(--space-3)); max-height: calc(100% - var(--space-3) - var(--space-2)); }
.rm-lb__bar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); padding: var(--space-2) max(var(--gutter), env(safe-area-inset-left, 0px)) calc(var(--space-2) + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--dusk-3); font-size: var(--fs-1); min-height: 64px; }
.rm-lb__cap { font-family: var(--font-display); font-style: italic; color: var(--mist); min-width: 0; }
.rm-lb__cap b { font-family: var(--font-text); font-style: normal; font-weight: 400; font-size: var(--fs-0); margin-right: .6rem; font-variant-numeric: tabular-nums; }
.rm-lb__ctl { display: flex; gap: .25rem; flex: none; }
.rm-lb__btn { width: 44px; height: 44px; display: grid; place-items: center; color: var(--mist); border: 1px solid transparent; }
.rm-lb__btn:hover { color: var(--bone); border-color: var(--dusk-3); }
.rm-lb__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.rm-lb__hit { position: absolute; top: 0; bottom: 0; width: 45%; cursor: pointer; }
.rm-lb__hit--prev { left: 0; cursor: w-resize; } .rm-lb__hit--next { right: 0; cursor: e-resize; }
body.rm-lb-open { overflow: hidden; }

/* ---------- 404 / misc ---------- */
.rm-empty { padding-block: var(--space-5); color: var(--fg-2); }

/* ---------- WordPress niceties ---------- */
.entry-content .wp-block-image { margin: 0; }
.entry-content .wp-block-image.alignfull { margin-left: 0; margin-right: 0; width: 100%; max-width: none; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { background: none; color: var(--fg-2); position: static; padding: 0; text-shadow: none; }
.admin-bar .rm-topbar { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { .admin-bar .rm-topbar { top: calc(46px + env(safe-area-inset-top, 0px)); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print { .rm-topbar, .rm-lb, .rm-hero__cue { display: none !important; } body.rm { background: #fff; color: #000; } }
