:root { color-scheme: dark; }
html { scroll-padding-top: 2rem; scrollbar-gutter: stable; }
body {
 margin: 0;
 background-image: var(--wp--preset--gradient--waterline-depth);
 background-size: 100% clamp(45rem, 100vh, 68rem);
 background-repeat: no-repeat;
}
a { text-underline-offset: .2em; text-decoration-thickness: .065em; }
a:hover { text-decoration-thickness: .13em; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--wp--preset--color--signal); outline-offset: 5px; }
:where(p, li, dd, h1, h2, h3) { overflow-wrap: anywhere; }
.biw-site-header { padding-block: 1.75rem; border-bottom: 1px solid #5373A7; }
.biw-site-header .wp-block-site-title a { color: var(--wp--preset--color--paper); text-decoration: none; }
.biw-kicker { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; text-transform: uppercase; letter-spacing: .13em; color: var(--wp--preset--color--muted); }
.biw-hero { padding-block: clamp(3rem, 8vw, 7rem); border-bottom: 1px solid #5373A7; position: relative; }
.biw-hero h1 { max-width: 12ch; margin-block: 1.5rem 2rem; letter-spacing: -.045em; }
.biw-hero .biw-deck { max-width: 42rem; color: var(--wp--preset--color--muted); font-size: 1.25rem; }
.biw-section { margin-block: 4rem; }
.biw-case-list { list-style: none; padding: 0; }
.biw-case-row { border-top: 1px solid #5373A7; padding-block: 2rem; }
.biw-case-row h2 { margin-block: .5rem 1rem; font-size: clamp(1.75rem, 4vw, 3rem); max-width: 28ch; }
.biw-case-row .wp-block-post-excerpt { max-width: 48rem; }
.biw-case-row .wp-block-post-terms { font-size: .875rem; }
.biw-site-footer { border-top: 1px solid #5373A7; padding-block: 2rem 3rem; margin-block-start: 5rem; color: var(--wp--preset--color--muted); font-size: .9375rem; }
.biw-single-header { margin-block: 4rem 3rem; }
.biw-single-header h1 { font-size: clamp(2.5rem, 5vw, 4.25rem); max-width: 24ch; letter-spacing: -.035em; }
.biw-case-media:not(:has(figure)) { display: none; }
.wp-block-post-content h2 { margin-block-start: 3rem; }
.wp-block-post-content > p { line-height: 1.85; }
.wp-block-post-featured-image img { display: block; max-height: 40rem; object-fit: cover; }
.biw-facts { color: var(--wp--preset--color--muted); border-color: #5373A7; }
.biw-facts dd { color: var(--wp--preset--color--paper); }
.biw-timeline li { border-color: #5373A7; }
.biw-certainty { color: var(--wp--preset--color--signal); }
.biw-event-date { color: var(--wp--preset--color--muted); }
.biw-timeline details[open] { background: var(--wp--preset--color--surface); padding-bottom: .5rem; }
.biw-sources { border-top: 1px solid #5373A7; }
.biw-source-meta { color: var(--wp--preset--color--muted); }
.biw-categories { font-size: .9375rem; }
.wp-block-search__input { min-width: 0; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--muted); padding: .75rem; border-radius: 0; }
.wp-block-search__button { cursor: pointer; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--deep) !important; color: var(--wp--preset--color--paper) !important; }
.wp-block-navigation-item__content { padding-block: .5rem; }
@media (max-width: 600px) { .biw-single-header { margin-top: 2.5rem; } .biw-section { margin-block: 2.5rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
@media print {
 :root { color-scheme: light; } body, .wp-site-blocks, .biw-timeline details[open] { background: #fff !important; color: #000 !important; }
 .wp-block-navigation, .wp-block-search { display: none !important; }
 a, p, dt, dd, .biw-kicker, .biw-event-date, .biw-source-meta, .biw-certainty { color: #000 !important; }
 h1 { font-size: 32pt !important; } h2 { font-size: 22pt !important; }
 .biw-sources li { break-inside: avoid; }
}

/* The full wordmark remains an accessible home link at narrow widths. */
.biw-brand { width: 300px; max-width: calc(100vw - 8rem); margin: 0; flex-shrink: 1; }
.biw-brand .wp-block-image, .biw-brand .wp-block-site-logo { margin: 0; line-height: 0; }
.biw-brand img { display: block; width: 100%; height: auto !important; }
.biw-brand a { display: inline-block; max-width: 100%; }

/* Optional case images leave text-only rows in the existing layout. */
.biw-hero-image, .biw-case-image { min-width: 0; }
.biw-hero-image img {
 display: block;
 width: 100%;
 aspect-ratio: 4 / 3;
 object-fit: cover;
 border: 1px solid #5373A7;
 box-sizing: border-box;
}
.biw-case-image img { height: auto; object-fit: contain; }
/* Give smaller documentary figures their own space in the reading column. */
.biw-case-image-full {
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 margin-inline: 0;
 padding: clamp(1rem, 3vw, 2rem);
 border: 1px solid #5373A7;
 text-align: center;
}
.biw-case-image-full img { width: auto; max-width: 100%; margin-inline: auto; }
.biw-image-credit { margin-block-start: .55rem; color: var(--wp--preset--color--muted); font-size: .8125rem; line-height: 1.5; }
.biw-hero > .biw-hero-image, .biw-case-row > .biw-case-image { margin-block: 1.5rem 0; }

@media (min-width: 900px) {
 .biw-hero, .biw-case-row:has(> .biw-case-image) {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
 }
 .biw-hero { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
 .biw-case-row:has(> .biw-case-image) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 31%);
 }
 .biw-hero > *, .biw-case-row:has(> .biw-case-image) > * { margin-block: 0; }
}

.biw-case-row h2 a:is(:hover, :focus-visible) { color: var(--wp--preset--color--signal); }
@media (prefers-reduced-motion: no-preference) {
 .biw-case-row h2 a { transition: color 180ms ease-out; }
 .biw-case-row .biw-case-image img { transition: transform 200ms ease-out; }
 .biw-case-row:has(h2 a:focus-visible) .biw-case-image img { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
 .biw-case-row:has(h2 a:hover) .biw-case-image img { transform: translateY(-3px); }
}

/* Drift a copy of the foreground over the still photograph. */
.biw-hero-image {
 position: relative;
 overflow: hidden;
}

@media screen and (prefers-reduced-motion: no-preference) {
 .biw-hero-image::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  background: url("open-water.webp") center / cover no-repeat;
  mask-image: linear-gradient(to bottom, transparent 48%, #000 76%);
  opacity: 0;
  animation: biw-water-drift 4.4s ease-in-out 1;
 }

 @keyframes biw-water-drift {
  0%, 100% { opacity: 0; transform: scale(1.015); }
  27% { opacity: .9; transform: translate(-2px, 2px) scale(1.035); }
  67% { opacity: .9; transform: translate(3px, -2px) scale(1.04); }
 }
}
