/* ===== O'Kelly theme: the few rules WordPress needs on top of the site's own CSS ===== */

/* The static page had ONE dark .stage holding masthead + hero. In WordPress the masthead is a
   template part (.stage-head) and the hero is page content (.stage-hero); same background, so
   the seam is invisible. The page's own .stage padding applies to the hero half. */
.stage.stage-head{padding-bottom:0}
.stage.stage-hero{display:flow-root}  /* keep the hero's top margin inside the dark stage */
.wp-block-post-content{display:block}

/* Navigation block → same markup contract as the static <nav class="nav"><a>…</a></nav> */
.nav ul,.nav li{display:contents;list-style:none;margin:0;padding:0}
.nav .wp-block-navigation-item__content{display:inline-block}
.nav .wp-block-navigation-item__label{display:inline}
.nav a{text-decoration:none}

/* WordPress adds a skip link; keep it invisible until focused (core styles are not loaded). */
.skip-link.screen-reader-text{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link.screen-reader-text:focus{left:6px;top:7px;width:auto;height:auto;padding:10px 14px;background:var(--paper);color:var(--ink);font-family:var(--util);font-size:13px;z-index:100000;text-decoration:none}

/* ===== Mobile menu (phone and small tablet). Desktop is untouched. ===== */
.nav-toggle{display:none}
@media (max-width:760px){
  .masthead-in{align-items:center;gap:14px 20px}
  .nav-toggle{display:inline-flex;margin-left:auto;align-items:center;gap:10px;background:transparent;border:1px solid var(--stage-rule);color:var(--stage-ink);font-family:var(--util);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;padding:9px 12px 8px 14px;cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none}
  .nav-toggle:hover,.nav-toggle:focus-visible{border-color:var(--accent-2)}
  .nav-toggle-icon{display:inline-flex;flex-direction:column;gap:3px;width:16px}
  .nav-toggle-icon i{display:block;height:1.5px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
  .nav{display:none;flex-basis:100%;flex-direction:column;gap:0;margin-top:4px;border-top:1px solid var(--stage-rule)}
  .masthead-in.is-open .nav{display:flex}
  .nav a{display:block;padding:15px 0 14px;border-bottom:1px solid var(--stage-rule);font-size:12.5px;color:var(--stage-ink)}
  .nav li:last-child a{border-bottom:0}
  .nav a[aria-current]{color:var(--stage-ink);border-bottom-color:var(--stage-rule);padding-left:12px;border-left:2px solid var(--accent-2)}
}

/* ===== News index (/news/) and 404 — built from the site's own vocabulary ===== */
.hero-news{grid-template-columns:1fr}
.nf-links{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.stage .btn{display:inline-block;text-decoration:none;background:var(--stage-ink);color:#15170F;font-family:var(--util);font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:14px 22px 13px;border:1px solid var(--stage-ink)}
.stage .btn.ghost{background:transparent;color:var(--stage-ink);border-color:rgba(239,237,226,.5)}
.news-wrap{padding-top:0}
.news-list{list-style:none;margin:0 auto;padding:0;max-width:var(--wide);display:grid;gap:clamp(28px,4vw,48px)}
.news-list>li{margin:0}
.news-body{max-width:none}
.news-card{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;padding-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--rule)}
.news-list>li:last-child .news-card{border-bottom:0}
@media (max-width:760px){.news-card{grid-template-columns:1fr}}
.news-cover{margin:0}
.news-cover img{width:100%;height:auto;display:block;border:1px solid var(--rule);aspect-ratio:4/3;object-fit:cover}
.news-date{font-family:var(--util);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px}
.news-title{font-family:var(--display);font-weight:700;font-variation-settings:"opsz" 72;font-size:clamp(26px,3.4vw,36px);line-height:1.08;letter-spacing:-.015em;margin:0 0 12px}
.news-title a{text-decoration:none}
.news-title a:hover{color:var(--accent)}
.news-excerpt p{margin:0 0 .8em;max-width:60ch}
.news-excerpt .wp-block-post-excerpt__more-link{font-family:var(--util);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--accent)}
.news-empty{max-width:var(--wide);margin:0 auto;color:var(--ink-2)}
.news-pagination{max-width:var(--wide);margin:34px auto 0;display:flex;justify-content:space-between;font-family:var(--util);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.news-pagination a{text-decoration:none}

/* ===== Vimeo embeds (Las Palmas films, Ventura mural chapters) sit where <video> used to ===== */
.film-frame iframe{width:100%;height:auto;aspect-ratio:16/9;display:block;border:0;background:#0B0D07}
