/* EphemeraLandscape: an editorial frame for the existing photo archive. */
:root {
  --paper: #f7f8f7;
  --surface: #ffffff;
  --ink: #172024;
  --muted: #586368;
  --line: #d9dedf;
  --accent: #a45c3f;
}
html.dark {
  --paper: #101719;
  --surface: #1a2326;
  --ink: #f2f3ef;
  --muted: #b7c0bf;
  --line: #384448;
  --accent: #d6a17f;
}
html { scroll-behavior: smooth; }
body {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
body > .relative.flex.flex-col.grow { width: 100%; min-width: 0; }
body > .relative.flex.flex-col.grow > main:not([data-home]) {
  width: min(100%, 1480px);
  margin-inline: auto;
  padding-inline: clamp(1.2rem, 4vw, 4rem);
}
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

/* Navigation */
.main-menu {
  position: sticky;
  top: 0;
  z-index: 70;
  width: 100% !important;
  min-height: 76px;
  padding: .75rem clamp(1.2rem, 4vw, 4rem) !important;
  background: var(--surface);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 16px rgba(14, 25, 28, .035);
}
.main-menu > a[href="/"] {
  flex: none;
  overflow: visible;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.24rem !important;
  font-weight: 400 !important;
  line-height: 1.05;
  letter-spacing: -.035em;
  color: var(--ink);
  text-decoration: none;
}
.main-menu nav { gap: clamp(.8rem, 1.8vw, 2rem) !important; }
.main-menu nav a {
  color: var(--ink);
  text-decoration: none;
  transition: color .2s ease;
}
.main-menu nav a:hover, .main-menu nav a:focus-visible { color: var(--accent); }
.main-menu nav a span.text-base {
  font-size: .85rem !important;
  font-weight: 550 !important;
  letter-spacing: .045em;
}
.main-menu .bf-icon-color-hover { color: var(--ink); }
.main-menu .bf-icon-color-hover:hover { color: var(--accent); }

/* Home: one photograph first, then the collections. */
body[data-page-type="home"] main { width: 100% !important; max-width: none !important; padding: 0 !important; }
.home-intro {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  margin: 0 !important;
  padding: 0 !important;
}
.home-hero {
  min-height: min(800px, 83svh) !important;
  width: 100% !important;
  margin: 0 !important;
  color: #fff !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.home-hero__bg { background-position: center 58% !important; }
.home-hero__overlay {
  background: linear-gradient(180deg, rgba(6, 17, 20, .04) 12%, rgba(7, 17, 20, .18) 40%, rgba(7, 17, 20, .77) 100%) !important;
}
.home-hero__content {
  width: 100%;
  max-width: 1480px !important;
  margin-inline: auto !important;
  padding: clamp(8rem, 28vh, 17rem) clamp(1.25rem, 5vw, 5rem) 3.2rem !important;
}
.home-hero__kicker {
  margin: 0 0 1.35rem !important;
  font-size: .82rem !important;
  font-weight: 650 !important;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .2em;
}
.home-hero__sub {
  max-width: 870px;
  margin: 0 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.6rem, 6.6vw, 6.9rem) !important;
  font-weight: 400 !important;
  line-height: 1.03;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.home-hero__quote {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100%;
  padding: 1.25rem clamp(1.25rem, 5vw, 5rem) 2rem !important;
  background: #101a1d !important;
  color: #f2f1eb !important;
}
.home-hero__quote-text {
  max-width: 1480px !important;
  margin: 0 auto !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.5vw, 1.35rem) !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
.home-hero__quote-cite {
  max-width: 1480px !important;
  margin: .35rem auto 0 !important;
  font-size: .76rem !important;
  text-align: left !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .7;
}
.home-gallery {
  width: 100% !important;
  margin: 0 !important;
  background: var(--paper) !important;
}
.home-gallery__inner {
  max-width: 1480px !important;
  padding: clamp(4rem, 7vw, 7rem) clamp(1.2rem, 4vw, 4rem) !important;
}
.home-gallery__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
  color: var(--ink);
}
.home-gallery__heading span {
  order: 2;
  padding-bottom: .4rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-gallery__heading h2,
.home-posts__title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 4.8vw, 4.8rem) !important;
  font-weight: 400 !important;
  line-height: 1.05;
  letter-spacing: -.055em;
  color: var(--ink);
}
.home-gallery__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: clamp(210px, 22vw, 315px);
  gap: clamp(.55rem, 1vw, 1rem) !important;
}
.home-gallery__item {
  min-width: 0;
  border-radius: 2px !important;
  box-shadow: none !important;
  isolation: isolate;
}
.home-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.home-gallery__ratio { height: 100%; padding-top: 0 !important; }
.home-gallery__image { transition: transform .55s ease; }
.home-gallery__item:hover .home-gallery__image { transform: scale(1.045); }
.home-gallery__caption {
  background: linear-gradient(0deg, rgba(5, 10, 12, .75), transparent) !important;
  padding: 3rem 1.2rem 1.05rem !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 2.2vw, 2rem) !important;
  font-weight: 400;
  letter-spacing: -.02em !important;
}
.home-gallery__item:first-child .home-gallery__caption { font-size: clamp(1.8rem, 3.3vw, 3.6rem) !important; }
.home-posts { background: var(--surface); }
.home-posts__inner {
  max-width: 1480px !important;
  padding: clamp(4rem, 7vw, 7rem) clamp(1.2rem, 4vw, 4rem) !important;
}
.home-posts__rule { border-color: var(--line) !important; margin-bottom: 2.2rem; }
.home-posts__title { margin-bottom: 2.25rem; }
.home-posts__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; }

/* All archives and writing */
body:not([data-page-type="home"]) main { padding-top: clamp(2rem, 4vw, 4.5rem); padding-bottom: 5rem; }
body:not([data-page-type="home"]) main > header:first-child { max-width: 900px !important; margin-top: 0 !important; margin-bottom: 2rem; }
body:not([data-page-type="home"]) main h1,
body:not([data-page-type="home"]) main > article > header h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 5vw, 5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.05em;
  font-weight: 400 !important;
  color: var(--ink) !important;
}
body:not([data-page-type="home"]) main > header p {
  max-width: 68ch;
  font-size: 1.06rem !important;
  line-height: 1.6;
  color: var(--muted) !important;
}
body[data-page-type^="gallery"] main > section.grid { gap: clamp(1rem, 2vw, 1.8rem) !important; }
body[data-page-type^="gallery"] main > section.grid > a,
body[data-page-type^="gallery"] main > section.grid > article {
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  background: var(--surface) !important;
  transition: transform .22s ease, box-shadow .22s ease;
}
body[data-page-type^="gallery"] main > section.grid > a:hover,
body[data-page-type^="gallery"] main > section.grid > article:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 32px rgba(12, 26, 29, .1) !important;
}
body[data-page-type^="gallery"] main > section.grid img { transition: transform .4s ease; }
body[data-page-type^="gallery"] main > section.grid > a:hover img,
body[data-page-type^="gallery"] main > section.grid > article:hover img { transform: scale(1.03); }
body[data-page-type^="gallery"] main > section.grid .p-5,
body[data-page-type^="gallery"] main > section.grid .p-4 { padding: 1.1rem 1rem 1.3rem !important; }
body[data-page-type^="gallery"] main > section.grid h2,
body[data-page-type^="gallery"] main > section.grid .text-2xl {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--ink) !important;
}
body[data-page-type^="gallery"] main > section.grid .text-xs,
body[data-page-type^="gallery"] main > section.grid .text-sm { color: var(--muted) !important; }
.generated-lightbox__dialog { border-radius: 3px !important; }

.article-link--simple { min-width: 0; }
.article-link--simple .thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  margin: 0 0 1.1rem !important;
  border-radius: 2px;
  box-shadow: none !important;
}
.article-link--simple > div:nth-child(2) { margin: 0 !important; min-width: 0; }
.article-link--simple header a { color: var(--ink) !important; text-decoration: none !important; }
.article-link--simple header a:hover { color: var(--accent) !important; }
.article-link--simple header h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.4rem, 1.75vw, 1.9rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.article-link--simple .text-sm { font-size: .8rem !important; color: var(--muted) !important; }
.article-link--simple .text-sm .px-2 { color: var(--accent); }
.home-posts__list .article-link--simple { display: block !important; }
body[data-page-type="journal-index"] main > div.overflow-hidden:first-child { height: clamp(180px, 26vw, 330px) !important; border-radius: 2px; }
body[data-page-type="journal-index"] main > header h1 { margin: 2rem 0 1.4rem !important; }
body[data-page-type="journal-index"] main > section.space-y-10 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem 1.5rem;
}
body[data-page-type="journal-index"] main > section.space-y-10 > * { margin: 0 !important; }
body[data-page-type="journal-index"] main > section.space-y-10 > h2 {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
  color: var(--muted) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em;
}
body[data-page-type="journal-index"] .article-link--simple { display: block !important; }
body[data-page-type="journal-article"] main > article { max-width: 1040px; margin-inline: auto; }
body[data-page-type="journal-article"] #single_header { max-width: 800px !important; }
body[data-page-type="journal-article"] .article-content {
  max-width: 760px !important;
  font-size: 1.08rem;
  line-height: 1.8;
  color: var(--ink);
}
body[data-page-type="journal-article"] .article-content p { margin-block: 1.2rem; }
body[data-page-type="journal-article"] .article-content img { border-radius: 2px !important; }
body[data-page-type="journal-article"] .article-content h2,
body[data-page-type="journal-article"] .article-content h3 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.03em;
  font-weight: 400;
}

.site-footer {
  width: 100%;
  margin-top: auto;
  padding: 2rem clamp(1.2rem, 4vw, 4rem) !important;
  border-top: 1px solid var(--line);
  color: var(--muted);
  background: var(--paper);
  font-size: .82rem;
}
.site-footer > div { max-width: 1480px; margin-inline: auto; }

@media (max-width: 1100px) {
  .home-posts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page-type="journal-index"] main > section.space-y-10 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .main-menu { min-height: 68px; }
  .main-menu > a[href="/"] { font-size: 1.05rem !important; }
  .home-hero { min-height: min(720px, 78svh) !important; }
  .home-hero__content { padding-bottom: 2.25rem !important; }
  .home-hero__sub { font-size: clamp(2.45rem, 11vw, 4rem) !important; }
  .home-gallery__heading { align-items: start; flex-direction: column; gap: .35rem; }
  .home-gallery__heading span { order: 0; }
  .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: minmax(185px, 35vw); }
  .home-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
  .home-gallery__item:first-child .home-gallery__image { object-position: center 40%; }
  .home-gallery__caption { font-size: 1.35rem !important; }
  .home-posts__list { gap: 2rem 1rem; }
}
@media (max-width: 480px) {
  .home-gallery__grid { grid-template-columns: 1fr !important; grid-auto-rows: 240px; }
  .home-gallery__item:first-child { grid-column: auto; grid-row: auto; }
  .home-gallery__item:first-child .home-gallery__caption { font-size: 1.8rem !important; }
  .home-posts__list, body[data-page-type="journal-index"] main > section.space-y-10 { grid-template-columns: 1fr; }
  .home-hero__quote-text { font-size: 1rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
