/* Shared editorial styling for the Writing, Poetry, and B. Harris destinations. */
.br-page, .br-page * { box-sizing:border-box; }
.br-page {
  --br-ink:#100c10;
  --br-plum:#26171f;
  --br-wine:#6b2f45;
  --br-rose:#d9afb4;
  --br-paper:#f2e5de;
  position:relative;
  isolation:isolate;
  min-height:100svh;
  overflow:hidden;
  color:var(--br-paper);
  background:#100c10;
  font:16px/1.75 'Libre Baskerville',Georgia,serif;
  -webkit-font-smoothing:antialiased;
}
.br-page::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto auto;
  width:min(72vw,1100px);
  height:min(100svh,940px);
  background:
    linear-gradient(90deg,#100c10 0%,rgba(16,12,16,.88) 24%,rgba(16,12,16,.52) 58%,rgba(16,12,16,.30) 100%),
    linear-gradient(180deg,rgba(16,12,16,.15) 0%,rgba(16,12,16,.10) 48%,#100c10 100%),
    url('assets/hero-photo-clean.webp') 64% center / cover no-repeat;
  opacity:.78;
  pointer-events:none;
}
.br-page a { color:inherit; }
.br-page a:focus-visible { outline:2px solid #f7d2df; outline-offset:4px; border-radius:2px; }
.br-skip {
  position:absolute; z-index:5; top:10px; left:10px; transform:translateY(-150%);
  padding:9px 13px; color:#f2e5de; background:#100c10; border:1px solid var(--br-rose);
  font:12px Inter,Arial,sans-serif;
}
.br-skip:focus { transform:translateY(0); }
.br-shell { width:min(1180px,calc(100% - 56px)); margin:0 auto; }
.br-header {
  min-height:76px; display:flex; justify-content:space-between; align-items:center; gap:28px;
  border-bottom:1px solid rgba(217,175,180,.34);
}
.br-wordmark { font:500 25px/1 'Cormorant Garamond',Georgia,serif; text-decoration:none; white-space:nowrap; }
.br-nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(12px,2.4vw,32px); flex-wrap:wrap; }
.br-nav a {
  min-height:44px; display:inline-flex; align-items:center; padding:8px 2px;
  font:500 11px/1.2 Inter,Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; color:#f2e5de;
}
.br-nav a:hover, .br-text-link:hover { color:#f2bbc9; }
.br-content { width:min(790px,100%); padding:clamp(52px,8vw,108px) 0 90px; }
.br-eyebrow { margin:0 0 17px; color:#e2c8bf; font:500 11px/1.5 Inter,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; }
.br-title { margin:0 0 38px; color:#f2d0d0; font:italic 400 clamp(54px,8vw,82px)/.96 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; text-shadow:0 2px 22px rgba(0,0,0,.42); }
.br-intro { max-width:740px; }
.br-intro p, .br-prose p { margin:0 0 23px; font-size:clamp(15px,1.35vw,17px); line-height:1.9; text-shadow:0 1px 8px rgba(16,12,16,.72); }
.br-prose em, .br-projects em { color:#f3d5d4; }
.br-section-title { margin:50px 0 22px; color:#e8c6c3; font:italic 400 34px/1.15 'Cormorant Garamond',Georgia,serif; }
.br-projects { margin-top:18px; border-top:1px solid rgba(217,175,180,.37); }
.br-project { min-height:108px; padding:20px 8px 19px 0; border-bottom:1px solid rgba(217,175,180,.32); }
.br-project-link { min-height:64px; display:flex; justify-content:space-between; align-items:center; gap:24px; color:inherit; text-decoration:none; }
.br-project h2 { margin:0 0 5px; color:#f2d0d0; font:400 clamp(25px,3.3vw,34px)/1.06 'Cormorant Garamond',Georgia,serif; }
.br-project p { margin:0; color:#e6d4cf; font-size:14px; line-height:1.65; }
.br-project-link:hover h2 { color:#fff0eb; }
.br-project-arrow { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(242,229,223,.76); border-radius:50%; font:23px/1 Georgia,serif; }
.br-status { display:inline-flex; align-items:center; gap:10px; margin:-8px 0 28px; color:#f2e5de; font:500 12px/1.4 Inter,Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.br-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#d9afb4; box-shadow:0 0 12px rgba(217,175,180,.65); }
.br-page-footer { display:flex; flex-wrap:wrap; gap:20px 32px; margin-top:58px; padding-top:22px; border-top:1px solid rgba(217,175,180,.34); }
.br-text-link { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:#f2d0d0; font:500 11px/1.4 Inter,Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; text-decoration:underline; text-decoration-color:rgba(217,175,180,.6); text-underline-offset:5px; }
@media(max-width:680px) {
  .br-page::before { width:100%; height:680px; background-position:center,center,68% center; opacity:.52; }
  .br-shell { width:min(100% - 38px,560px); }
  .br-header { min-height:0; padding:17px 0 12px; align-items:flex-start; flex-direction:column; gap:9px; }
  .br-wordmark { font-size:24px; }
  .br-nav { justify-content:flex-start; gap:6px 18px; }
  .br-nav a { font-size:10px; }
  .br-content { padding:54px 0 66px; }
  .br-title { margin-bottom:31px; font-size:clamp(52px,15vw,74px); }
  .br-project { min-height:98px; gap:12px; }
  .br-project p { font-size:13px; }
  .br-project-arrow { width:40px; height:40px; flex-basis:40px; }
}
@media(prefers-reduced-motion:reduce) { .br-page * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Local review fix: allow the author, writing, and poetry pages to scroll. */
.br-page { overflow-y: auto; }

/* Memoir link in the B. Harris biography. */
.br-page .br-memoir-link { color:#f2d0d0; text-decoration:underline; text-decoration-color:rgba(217,175,180,.75); text-underline-offset:3px; }
.br-page .br-memoir-link:hover { color:#fff0eb; }

/* Discreet, keyboard-accessible Instagram link in each destination header. */
.br-header .br-instagram-link {
  display:inline-flex;
  flex:0 0 44px;
  width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:0;
  color:#f2e5de;
  text-decoration:none;
}
.br-header .br-instagram-link svg {
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.br-header .br-instagram-link:hover { color:#f2bbc9; }

/* Poetry page: keep the selected poem distinct from the collection in progress. */
.br-page .br-selected-poems {
  margin-top:52px;
  border-top:1px solid rgba(217,175,180,.38);
}
.br-page .br-selected-poems-heading {
  margin:25px 0 5px;
  color:#e2c8bf;
  font:500 10px/1.5 Inter,Arial,sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.br-page .br-selected-poem {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 0 19px;
  border-bottom:1px solid rgba(217,175,180,.32);
}
.br-page .br-selected-poem-title {
  margin:0 0 5px;
  color:#f2d0d0;
  font:italic 400 clamp(26px,3.4vw,35px)/1.1 'Cormorant Garamond',Georgia,serif;
}
.br-page .br-selected-poem-byline {
  margin:0;
  color:#e6d4cf;
  font-size:13px;
  line-height:1.6;
}
.br-page .br-read-poem { flex:0 0 auto; }

/* Dedicated poem reading page: no background image behind the text. */
.br-page.br-poem-reading::before { display:none; }
.br-page .br-poem-content {
  width:min(760px,100%);
  padding:clamp(45px,7vw,82px) 0 72px;
}
.br-page .br-poem-heading {
  margin:0 0 35px;
  padding:0 0 24px;
  text-align:center;
  border-bottom:1px solid rgba(217,175,180,.38);
}
.br-page .br-poem-title {
  margin:0 0 8px;
  color:#f2d0d0;
  font:italic 400 clamp(39px,6vw,58px)/1.08 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.015em;
}
.br-page .br-poem-byline {
  margin:0;
  color:#e6d4cf;
  font:400 13px/1.6 'Libre Baskerville',Georgia,serif;
}
.br-page .br-poem-text {
  width:min(100%,560px);
  margin:0 auto;
  color:#f2e5de;
  font:400 clamp(15px,1.4vw,17px)/1.8 'Libre Baskerville',Georgia,serif;
  text-align:left;
  overflow-wrap:normal;
  word-break:normal;
}
.br-page .br-poem-stanza { margin:0 0 2.05em; }
.br-page .br-poem-stanza:last-child { margin-bottom:0; }
.br-page .br-poem-return {
  width:min(100%,560px);
  margin:39px auto 0;
  padding-top:20px;
  border-top:1px solid rgba(217,175,180,.32);
}
@media(max-width:680px) {
  .br-page .br-selected-poems { margin-top:41px; }
  .br-page .br-selected-poem { align-items:flex-start; flex-direction:column; gap:13px; }
  .br-page .br-poem-content { padding:45px 0 62px; }
  .br-page .br-poem-heading { margin-bottom:29px; padding-bottom:20px; }
  .br-page .br-poem-title { font-size:clamp(38px,10vw,48px); }
  .br-page .br-poem-text { font-size:15px; line-height:1.78; }
  .br-page .br-poem-return { margin-top:32px; }
}

/* Long selected poems: preserve authored lines on narrow screens where possible. */
@media(max-width:680px) {
  .br-page.br-poem-reading-long .br-shell { width:min(calc(100% - 28px),560px); }
  .br-page.br-poem-reading-long .br-poem-text { font-size:clamp(12px,3.75vw,15px); }
}
