/* ============================================================================
   Bluff Creek — visual polish layer (Homestead kit)
   Loaded AFTER site.css. Aesthetic refinements only: paper texture, warmth,
   type detail, framing, motion. No layout or content changes.

   2026-09-04: rebased onto the photographic redesign of site.css. The ideas
   kept from the first pass are the paper grain, the warm radial washes, the
   rule before each eyebrow, and the offset gold frame on photographs. Rules
   that painted a gradient *behind* the hero were dropped — the hero is a
   photograph now, and those rules would have sat on top of it.
   ============================================================================ */

/* ---------- paper grain + warmth on the ivory ground ---------- */
body{
  background-color:var(--ivory);
  background-image:
    radial-gradient(1200px 600px at 12% -10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(176,134,54,.06), transparent 55%);
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.032;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.16 0 0 0 0 0.1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
main,header,footer,.hero-full,.page-hero,.infobar{position:relative;z-index:1}
/* the grain must never sit over a photograph */
.hero-full,.page-hero,.band.photo{z-index:2}

/* ---------- eyebrow: a short rule, then the label ---------- */
.eye{position:relative;display:inline-flex;align-items:center;gap:11px}
.eye::before{content:"";display:inline-block;width:24px;height:2px;background:currentColor;opacity:.8;border-radius:2px;flex:0 0 auto}
.sec-h .eye,.card .eye,.cols3 .eye{display:inline-flex}

/* ---------- type detail ---------- */
.prose p,.lead{line-height:1.7}
.band.photo .verse blockquote{text-shadow:0 2px 50px rgba(0,0,0,.35)}

/* ---------- framed photographs (the signature move) ---------- */
.figure > img{
  box-shadow:
    -14px -14px 0 -1px var(--ivory),
    -14px -14px 0 0 rgba(176,134,54,.55),
    0 34px 66px -30px rgba(30,24,12,.5);
  outline:1px solid rgba(34,31,26,.08);outline-offset:-1px;
  filter:saturate(.97) contrast(1.02);
}
.band.tint .figure > img{box-shadow:-14px -14px 0 -1px var(--surface2),-14px -14px 0 0 rgba(176,134,54,.55),0 34px 66px -30px rgba(30,24,12,.5)}
@media (max-width:880px){
  .figure > img{box-shadow:0 24px 50px -26px rgba(30,24,12,.5)}
}

/* ---------- info bar: gold hairline under the hero ---------- */
.infobar{box-shadow:0 1px 0 rgba(176,134,54,.4) inset}
.infobar b{letter-spacing:-.01em}

/* ---------- hairline rhythm ---------- */
.cols3.lines > div{border-top-width:2px}
.event-row{transition:padding-left .35s var(--ease),background .3s}
.event-row:hover{padding-left:10px;background:linear-gradient(90deg,rgba(176,134,54,.07),transparent 60%)}

/* ---------- buttons: a touch more depth over photography ---------- */
.hero-full .actions .btn,.band.photo .btn{box-shadow:0 12px 30px -10px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.22) inset}

@media (prefers-reduced-motion:reduce){
  .event-row{transition:none}
}

/* ============================================================================
   POLISH v2 — photographic pass (Claude lane)
   The redesign's source photos are dark and already vignetted; the CSS scrims
   then stack on top, so the building reads as murk. These rules lift the
   images and re-shape the scrims so the subject survives while text stays
   legible. Layout untouched.
   ============================================================================ */

/* ---------- hero: photograph recedes, type carries ---------- */
/* Cole's call: images should sit BACK. Near-monochrome, pine-washed, deep —
   atmosphere behind the words, not a photograph competing with them. */
.hero-full .shot img{
  object-position:center 40%;
  filter:grayscale(.58) brightness(.82) contrast(1.10) saturate(.62);
}
.hero-full::after{
  background:
    linear-gradient(180deg,rgba(10,15,12,.56) 0%,rgba(10,15,12,.30) 28%,rgba(10,15,12,.50) 60%,rgba(10,15,12,.92) 100%),
    linear-gradient(72deg,rgba(10,15,12,.80) 0%,rgba(10,15,12,.48) 48%,rgba(10,15,12,.20) 80%),
    linear-gradient(0deg,rgba(46,70,54,.38),rgba(46,70,54,.38));
}
.hero-full .wrap{text-shadow:0 1px 30px rgba(0,0,0,.3)}
.hero-full h1{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45),0 20px 56px rgba(0,0,0,.55)}
.hero-full .lead-l{color:rgba(255,255,255,.94);text-shadow:0 1px 16px rgba(0,0,0,.6)}
.hero-full .eye{color:#e9d9ac}
.hero-full .wm{opacity:.05}

/* ---------- interior page heroes ---------- */
.page-hero .shot img{filter:grayscale(.56) brightness(.80) contrast(1.08) saturate(.60)}
.page-hero::after{
  background:
    linear-gradient(180deg,rgba(10,15,12,.70) 0%,rgba(10,15,12,.48) 30%,rgba(10,15,12,.68) 64%,rgba(10,15,12,.96) 100%),
    linear-gradient(78deg,rgba(10,15,12,.86) 0%,rgba(10,15,12,.56) 48%,rgba(10,15,12,.34) 80%),
    linear-gradient(0deg,rgba(46,70,54,.42),rgba(46,70,54,.42));
}
.page-hero h1{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.42),0 18px 48px rgba(0,0,0,.5)}
.page-hero .lead,.page-hero .lead-l{color:rgba(255,255,255,.92)}

/* ---------- full-bleed photo bands (Scripture) ---------- */
.band.photo .shot img{filter:grayscale(.62) brightness(.74) contrast(1.06) saturate(.56)}
.band.photo::after{
  background:
    linear-gradient(180deg,rgba(10,15,12,.86),rgba(10,15,12,.70) 50%,rgba(10,15,12,.90)),
    linear-gradient(90deg,rgba(10,15,12,.62),rgba(10,15,12,.30) 64%),
    linear-gradient(0deg,rgba(46,70,54,.40),rgba(46,70,54,.40));
}
.band.photo p{color:rgba(255,255,255,.9)}
.band.photo.verse blockquote,.band.photo.tall h2{color:#fff;text-shadow:0 2px 34px rgba(0,0,0,.6)}

/* ---------- editorial figures: paper mount + gold caption rule ---------- */
.figure img{
  border-radius:6px;
  box-shadow:0 30px 64px -30px rgba(30,24,12,.6),0 2px 0 rgba(255,255,255,.5) inset;
  outline:1px solid rgba(34,31,26,.09);outline-offset:-1px;
  filter:saturate(.98) contrast(1.03);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
}
.figure:hover img{transform:translateY(-3px);box-shadow:0 38px 76px -32px rgba(30,24,12,.66)}
.figure figcaption{position:relative;padding-left:34px}
.figure figcaption::before{content:"";position:absolute;left:0;top:.62em;width:22px;height:2px;background:var(--wheat)}
.figure .tag{border-radius:2px;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}

/* ---------- scroll cue ---------- */
.scroll-cue{opacity:.65;letter-spacing:.28em}

/* ---------- this-week rows ---------- */
.event-row{transition:background .2s ease,padding-left .2s ease}
.event-row:hover{background:linear-gradient(90deg,rgba(176,134,54,.07),transparent 70%);padding-left:8px}

/* ---------- section headings get a hairline shoulder ---------- */
.sec-h{position:relative}

@media (prefers-reduced-motion:reduce){
  .figure img,.event-row{transition:none}
  .figure:hover img{transform:none}
}

/* ---------- narrow screens: crop the hero onto the building, not the sky ---------- */
@media (max-width:760px){
  .hero-full .shot img{object-position:34% 54%}
  .page-hero .shot img{object-position:center 46%}
  .hero-full{min-height:clamp(560px,86svh,860px)}
}

/* ============================================================================
   POLISH v3 — interface pass (Claude lane)
   Nav state, pull quotes, cards, links, footer. No layout changes.
   ============================================================================ */

/* ---------- nav: gold underline for the current page, not a grey pill ---------- */
nav.main a{position:relative;transition:color .18s ease,background .18s ease}
nav.main a[aria-current]{background:transparent!important;color:#fff}
nav.main a[aria-current]::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--wheat);border-radius:2px}
nav.main a:not(.cta):hover{background:rgba(255,255,255,.12)}
.top.solid nav.main a[aria-current]{color:var(--pine)}
.top.solid nav.main a[aria-current]::after{background:var(--wheat)}
.top.solid nav.main a:not(.cta):hover{background:var(--pine-tint)}
.top.solid{box-shadow:0 1px 0 rgba(176,134,54,.22),0 1px 24px rgba(40,33,20,.06)}
@media (max-width:900px){
  nav.main a[aria-current]{background:var(--pine-tint)!important;color:var(--pine)}
  nav.main a[aria-current]::after{display:none}
  nav.main a:not(.cta):hover{background:var(--pine-tint)}
}

/* ---------- Scripture pull-quote: give it the weight it deserves ---------- */
.word{
  position:relative;max-width:74ch;margin-left:auto;margin-right:auto;
  padding:34px 0 0;border-top:2px solid rgba(176,134,54,.55);border-left:0;text-align:center;
}
.word blockquote{
  font-family:"Bitter",Georgia,serif;font-size:clamp(19px,1.9vw,25px);line-height:1.5;
  font-style:italic;color:var(--ink);letter-spacing:-.005em;margin:0 0 14px;
}
.word cite{display:block;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--wheat-deep,#8d6a25)}
.band.photo .word{border-top-color:rgba(229,199,111,.5)}
.band.photo .word blockquote{color:#fff}
.band.photo .word cite{color:#e5c76f}

/* ---------- cards: even, warm, quietly interactive ---------- */
.card{
  border-radius:6px;
  box-shadow:0 1px 2px rgba(40,33,20,.05),0 16px 38px -24px rgba(40,33,20,.3);
  transition:transform .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(40,33,20,.06),0 26px 52px -24px rgba(40,33,20,.36)}
.card h3{letter-spacing:-.01em}

/* ---------- links ---------- */
.textlink{position:relative;padding-bottom:2px;text-decoration:none}
.textlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;opacity:.45;transform:scaleX(1);transform-origin:left;transition:opacity .2s ease,transform .28s var(--ease,ease)}
.textlink:hover::after{opacity:1}

/* ---------- footer ---------- */
footer a{transition:color .16s ease}
footer a:hover{color:#fff}
footer h4,footer .fine b{letter-spacing:.16em}
footer .fine{border-top:1px solid rgba(176,134,54,.26);padding-top:22px}
footer .tex{opacity:.055}

/* ---------- FIX + STYLE: the Plan-a-Visit FAQ ---------------------------
   The redesign emits <div class="faq"><details><summary> but site.css has no
   .faq rules at all, so the whole accordion rendered as raw browser
   disclosure triangles. Built here as a divided editorial list. */
.faq{border-top:1px solid var(--line);margin-top:26px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 2px;font-family:"Bitter",Georgia,serif;font-weight:600;
  font-size:clamp(17px,1.45vw,19.5px);color:var(--ink);letter-spacing:-.01em;
  transition:color .18s ease;
}
.faq summary::-webkit-details-marker,.faq summary::marker{display:none;content:""}
.faq summary::after{
  content:"";flex:0 0 auto;width:10px;height:10px;margin-right:8px;
  border-right:2px solid var(--wheat);border-bottom:2px solid var(--wheat);
  transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--ease,ease);
}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faq summary:hover{color:var(--pine)}
.faq details[open] summary{color:var(--pine)}
.faq .a{padding:0 0 26px;max-width:74ch;animation:faqIn .3s ease both}
.faq .a p{margin:0 0 13px;color:var(--ink2,#4a463d);line-height:1.72}
.faq .a p:last-child{margin-bottom:0}
@keyframes faqIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ---------- focus states: keyboard users could not see where they were ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible,
.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--wheat);outline-offset:3px;border-radius:4px;
}
.hero-full a:focus-visible,.page-hero a:focus-visible,.band.photo a:focus-visible,
footer a:focus-visible,.top a:focus-visible{outline-color:#e5c76f}
::selection{background:rgba(176,134,54,.28);color:var(--ink)}
.band.photo ::selection,.hero-full ::selection,footer ::selection{background:rgba(229,199,111,.35);color:#fff}

/* ---------- schedule table ---------- */
.sched tr:hover td{background:var(--surface2)}
.sched th{letter-spacing:.14em}

@media (prefers-reduced-motion:reduce){
  .card,.card:hover,.textlink::after,footer a{transition:none;transform:none}
}

/* ---------- FIX: staff portraits ----------------------------------------
   The redesign renders <div class="ph"><img></div> but site.css styles .ph
   as if it were the <img> (width/height/object-fit/border-radius). Result:
   the inner image has no size, so portraits collapse to thumbnails floating
   mid-card and the initials avatars render as bare text. Repaired here in
   CSS only — no markup change, so the generator stays in the other lane. */
.person{align-items:flex-start;gap:18px}
.person .ph{
  width:92px;height:92px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(60px 40px at 34% 26%,rgba(255,255,255,.7),transparent 62%),var(--pine-tint);
  box-shadow:0 12px 26px -14px rgba(30,24,12,.55);
  outline:1px solid rgba(34,31,26,.08);outline-offset:-1px;
}
.person .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.02);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.person:hover .ph img{transform:scale(1.05)}
.person .ph .init{font-family:"Bitter",Georgia,serif;font-size:27px;font-weight:700;color:var(--pine);line-height:1}
.person .ph.tall img{object-position:center 26%}
.person>div:last-child{min-width:0}
.person b{display:block;font-size:19px;letter-spacing:-.01em;margin-bottom:2px}
@media (prefers-reduced-motion:reduce){.person .ph img,.person:hover .ph img{transition:none;transform:none}}

/* ---------- focal point for the dedication portrait in the round avatar ----
   The staff circle crops center by default, which would land on the girls'
   dresses. Aim it at Cole's face instead. */
.person .ph img[src*="cole-headshot"]{object-position:center 34%}

/* ========================================================================
   Homestead / original brand kit
   Welcome first. Original wordmark, creek, palette and typography.
   ======================================================================== */
.editorial{--wheat-text:#826021;--ink3:#736957;--line2:#e3d9c7;background:var(--ivory);background-image:none}
.editorial::before{display:none}
.editorial .wrap{max-width:1320px;padding-left:48px;padding-right:48px}
.editorial h1,.editorial h2{letter-spacing:-.02em;text-wrap:balance}
.editorial .eye{color:var(--wheat-text);font-size:11px;letter-spacing:.17em}
.editorial .eye::before{width:18px;height:1px}
.editorial em{font-weight:500}
.editorial .micro{display:block;font-size:10px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--ink2)}
.editorial .btn{border-radius:13px;padding:16px 23px;box-shadow:none;gap:23px;font-size:14px;letter-spacing:0;min-height:50px}
.editorial .btn:hover{box-shadow:none;transform:translateY(-2px)}
.editorial .btn.ghost{border-color:var(--pine);color:var(--pine);background:transparent}
.editorial .textlink{font-size:14px;line-height:1.7;display:inline-flex;align-items:center;gap:16px;border:0;padding:4px 0 6px}
.editorial .textlink::after{height:1px}
.editorial a:focus-visible,.editorial button:focus-visible,.editorial summary:focus-visible{outline:2px solid var(--pine);outline-offset:5px}
.editorial [id]{scroll-margin-top:110px}
.editorial [data-rv]{opacity:1;transform:none;transition:none}
.editorial #main:focus{outline:none}

/* A simple, always readable navigation. */
.editorial .top{position:sticky;top:0;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:none;z-index:80}
.editorial .top .wrap{height:92px}
.editorial .brand img{width:192px;height:auto;display:block}
.editorial nav.main{gap:7px}
.editorial nav.main a{color:var(--ink);border-radius:12px;font-size:13px;padding:13px 12px;min-height:44px;display:flex;align-items:center}
.editorial nav.main a[aria-current]:not(.cta){color:var(--pine);background:transparent!important}
.editorial nav.main a[aria-current]::after{height:1px;bottom:7px;left:12px;right:12px}
.editorial nav.main a:not(.cta):hover{background:var(--pine-tint)}
.editorial nav.main a.cta{padding:14px 20px;margin-left:17px;gap:18px;background:var(--pine);color:var(--ivory)}
.editorial nav.main a.cta:hover{background:var(--pine-deep)}
.editorial nav.main a.cta[aria-current]{background:var(--pine)!important;color:var(--ivory)}
.editorial .burger{background:transparent;border:1px solid var(--line);border-radius:12px;color:var(--pine);align-items:center;gap:12px;min-height:46px}
.editorial .burger span{font-family:"Nunito Sans",sans-serif;font-weight:800;font-size:13px}

/* Shared visit details. */
.editorial .first-visit .sunday-strip{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 8px 24px rgba(40,33,20,.06);margin-bottom:42px}
.editorial .field input,.editorial .field textarea{border-radius:12px}
.visit-quicklinks{font-size:14px;margin:0 0 24px}
.visit-quicklinks a{text-underline-offset:4px}
.visit-times{margin-top:56px}
.visit-times h2{font-size:30px}
@media(max-width:760px){
  .editorial .first-visit .sunday-strip{padding:22px;margin-bottom:34px}
}
.sunday-strip{display:grid;grid-template-columns:1.15fr .8fr .9fr 1.15fr;gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0 26px;align-items:center}
.sunday-strip>div+div,.sunday-location{border-left:1px solid var(--line);padding-left:26px}
.sunday-strip .micro{margin-bottom:7px}
.sunday-strip b{font-family:"Bitter",serif;font-size:28px;line-height:1.1;font-weight:600;letter-spacing:-.04em}
.sunday-strip b small{font-family:"Nunito Sans",sans-serif;font-size:11px;letter-spacing:.03em}
.sunday-label b{font-size:23px}
.sunday-location{display:flex;gap:15px;text-decoration:none;color:var(--ink2);font-size:12px;line-height:1.7;align-items:center}
.sunday-location .la63,.sunday-location img{width:28px;height:auto;flex:0 0 auto;filter:none}
.sunday-location strong{font-weight:800;color:var(--pine)}

/* Rhythm, scale, and short paths into church life. */
.editorial .band{padding:86px 0}
.editorial .band+.band{padding-top:86px}
.editorial .band h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1}
.editorial .sec-h{margin-bottom:32px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.story-grid .prose{max-width:51ch}
.story-grid .prose p{font-size:16px;line-height:1.8}
.story-grid .prose .story-lead{font-family:"Bitter",serif;font-size:23px;line-height:1.5;color:var(--pine);letter-spacing:-.02em;margin-bottom:16px}
.ministry-band{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ministry-tile{--accent:var(--pine);display:flex;flex-direction:column;align-items:flex-start;min-height:320px;text-decoration:none;color:var(--ink);padding:29px 28px 23px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:18px;box-shadow:0 8px 24px rgba(40,33,20,.06);transition:background .2s,transform .2s}
.ministry-tile.kidz{--accent:var(--moss)}
.ministry-tile.youth{--accent:var(--creekblue)}
.ministry-tile:hover{background:var(--pine-tint);transform:translateY(-4px)}
.ministry-tile .micro{margin-bottom:32px;font-size:9px}
.ministry-tile .lock{font-size:26px!important;line-height:1.2;white-space:nowrap;letter-spacing:-.035em}
.editorial .lock .at{font-style:italic}
.ministry-tile>.creek{height:auto!important;margin-bottom:19px!important;width:60%!important;max-width:166px!important}
.ministry-tile p{font-size:15px;color:var(--ink2);line-height:1.7;max-width:31ch}
.tile-link{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);align-self:stretch;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;color:var(--pine)}
.week-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:90px;align-items:start}
.week-intro>p:not(.eye){color:var(--ink2);font-size:16px;margin:19px 0 15px}
.wednesday-note{margin-top:34px;max-width:350px}
.place-rule{display:flex;align-items:center;gap:16px}
.place-rule::before,.place-rule::after{content:"";height:1px;background:var(--line);flex:1}
.place-rule::before{flex:0 0 28px}
.wednesday-note b{font-family:"Bitter",serif;font-size:18px;letter-spacing:-.03em}
.wednesday-note>span{display:block;margin:9px 0 0 44px;font-size:12px;color:var(--ink2)}
.editorial .event-feed{margin:0}
.editorial .event-row{grid-template-columns:78px 1fr;padding:26px 2px;gap:23px;transition:background .2s}
.editorial .event-row:hover{padding-left:2px;background:none}
.editorial .event-row time{font-size:35px;line-height:1.1}
.editorial .event-row time span{font-size:10px;letter-spacing:.12em}
.editorial .event-row h3{font-size:21px}
.editorial .event-row p{font-size:14px;margin-top:8px}
.events-empty{padding:28px 0;color:var(--ink2)}
.word-band{background:var(--pine);color:var(--ivory)}
.word-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}
.editorial .word-band h2{font-size:clamp(34px,4vw,48px);color:var(--ivory);line-height:1.09;margin-bottom:25px}
.editorial .word-band .eye{color:#dfcea3}
.word-heading .creek{width:170px;height:auto;opacity:.85}
.word-copy>p{font-size:18px;color:#eee8d9;line-height:1.75;max-width:44ch}
.word-copy p.word-time{color:#e3cf9d;font-size:12px;font-weight:800;letter-spacing:.08em;margin:24px 0}
.word-secondary{display:inline-block;color:var(--ivory);font-size:13px;margin-left:22px;text-underline-offset:6px}
.play-symbol{font-size:12px}
.editorial .word-band a:focus-visible,.editorial footer a:focus-visible{outline-color:var(--ivory)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.visit-grid .lead{font-size:17px;margin:20px 0 26px}
.editorial .first-visit .faq{margin:0}
.editorial .faq summary{font-size:19px;padding:23px 2px;min-height:62px}
.editorial .faq .a p{font-size:16px}
.home-letter{background:#fffcf6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.letter-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}
.letter-grid .prose{max-width:49ch}
.letter-grid .prose p{font-size:16px;line-height:1.8}
.letter-grid .sig{font-size:15px!important;color:var(--pine);margin:20px 0}
.wayfinding{margin:0;min-width:0;position:relative}
.wayfinding picture{display:block;position:relative;background:var(--pine)}
.wayfinding picture::after{content:"";position:absolute;inset:0;background:rgba(60,90,69,.24);pointer-events:none}
.wayfinding .wayfinding-photo{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:left center;filter:grayscale(.42) saturate(.68) brightness(.86);box-shadow:none;border-radius:0}
.wayfinding figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;margin-top:24px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:800;color:var(--ink2)}
.wayfinding figcaption::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}
.wayfinding figcaption>span,.wayfinding figcaption>a{position:relative;background:#fffcf6}
.wayfinding figcaption>span{padding-right:12px}
.wayfinding figcaption a{padding-left:12px;font-size:11px;text-transform:none;letter-spacing:0;text-underline-offset:4px}
.editorial .next-steps{padding:55px 0}
.next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.next-grid>a{color:var(--ink);text-decoration:none;border-top:1px solid var(--line);padding:24px 27px 5px 0;position:relative}
.next-grid h3{font-size:20px}
.next-grid p{font-size:13px;color:var(--ink2);margin:10px 0}
.next-grid>a>span{position:absolute;right:0;top:21px;font-size:23px;color:var(--pine)}
.next-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px}

/* Every interior page belongs to the same identity. */
.interior-heading{padding:57px 0 43px;border-bottom:1px solid var(--line);position:relative}
.breadcrumb{display:block;color:var(--ink2);font-size:11px;text-decoration:none;margin-bottom:36px}
.breadcrumb span{padding-left:20px;color:var(--wheat-text)}
.interior-heading .eye{display:flex}
.interior-heading h1{font-size:clamp(36px,4.5vw,56px);max-width:19ch;line-height:1.06;color:var(--pine);margin:0 0 24px}
.interior-heading .lead{max-width:66ch;font-size:18px;line-height:1.8;margin-bottom:0}
.heading-creek{width:110px;height:auto;margin-top:30px;opacity:.8}
.editorial .sec{margin:42px 0 68px}
.editorial .card,.editorial .panel{border-radius:18px;box-shadow:0 8px 24px rgba(40,33,20,.06);border:1px solid var(--line)}
.editorial .card:hover{transform:none;box-shadow:none}
.editorial .card .eye{color:var(--wheat-text)}
.editorial .person{align-items:flex-start}
.editorial .person .ph{width:76px;height:76px;box-shadow:none}
.editorial .person .ph picture{display:block;width:100%;height:100%}
.editorial .person .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.editorial .person:hover .ph img{transform:none}
.editorial .person b{font-family:"Bitter",serif;font-size:18px}
.editorial .person .role{font-size:10px;letter-spacing:.06em}
.editorial .person p{font-size:14px;line-height:1.7}
.editorial .grid.g3:has(.person){grid-template-columns:repeat(2,1fr)}
.editorial .events-inline{margin:54px 0}
.editorial .sched{min-width:0}
.editorial .sched th{width:135px;font-size:12px;letter-spacing:.08em}
.editorial .sched td{line-height:1.9}
.editorial .t small{color:var(--wheat-text)!important}
.editorial .panel .sign{width:28px;opacity:1}
.editorial .contact-card>img{width:32px!important}
.editorial iframe.map{display:block;width:100%;height:auto;min-height:330px;aspect-ratio:16/7;border:0}
.editorial .field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px;color:var(--ink2)}
.editorial .ok[hidden]{display:none}
.editorial .ok{font-size:14px;color:var(--pine);border-left:2px solid var(--wheat);padding:15px;margin-top:15px}
.editorial .embed{background:var(--pine);border-radius:22px;box-shadow:none}
.editorial footer{background:var(--pine-deep);padding:64px 0 26px;color:#eee8d9}
.editorial footer .wm{display:none}
.editorial footer .tex{display:none}
.editorial footer .logo{width:210px;height:auto;margin-bottom:22px}
.editorial footer a{font-size:13px;color:#e1dccf;padding:7px 0}
.editorial footer h4{font-size:10px;letter-spacing:.13em;color:var(--ivory)}
.editorial footer .byline{color:#d7cbb2;font-size:10px}
.editorial footer .fine{font-size:11px;color:#d7cbb2;line-height:1.7}
.editorial footer .fine a{font-size:11px;text-decoration:underline;text-underline-offset:.2em}

@media(min-width:1041px) and (max-width:1200px){.editorial nav.main{gap:0}.editorial nav.main a{padding:13px 9px}.editorial nav.main a.cta{margin-left:4px}.editorial .brand img{width:170px}}
@media(max-width:1040px){
  .editorial nav.main{display:none;left:24px;right:24px;top:80px;border-radius:16px;max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:0 12px 25px rgba(34,31,26,.08)}
  .editorial nav.main.open{display:flex}
  .editorial nav.main a{font-size:16px;padding:14px 18px}
  .editorial nav.main a.cta{margin:8px 0 0;justify-content:space-between}
  .editorial nav.main a[aria-current]{color:var(--pine)}
  .editorial nav.main a.cta[aria-current]{background:var(--pine)!important;color:var(--ivory)}
  .editorial .top .wrap{height:82px}
  .welcome{gap:38px;grid-template-columns:1.25fr 1fr}
  .welcome h1{font-size:clamp(54px,7.2vw,75px)}
  .welcome-art{min-height:430px;padding:23px}
  .art-title{font-size:58px}
  .welcome .actions{align-items:flex-start;flex-direction:column;gap:16px}
  .ministry-tile{padding:24px 19px}.ministry-tile .lock{font-size:22px!important}
  .story-grid,.week-grid,.word-grid,.visit-grid,.letter-grid{gap:48px}
  .sunday-strip{gap:18px}.sunday-strip>div+div,.sunday-location{padding-left:18px}
  .sunday-label b{font-size:21px}
}
@media(max-width:760px){
  .editorial .wrap{padding-left:26px;padding-right:26px}
  .editorial .top .wrap{height:77px}.editorial .brand img{width:165px}
  .editorial nav.main{top:77px;left:14px;right:14px}
  .welcome{grid-template-columns:1fr;padding:44px 0 42px;gap:32px}
  .welcome-copy{padding:0}.welcome .eye{font-size:9px;letter-spacing:.12em;margin-bottom:24px}
  .welcome h1{font-size:clamp(49px,11.2vw,79px);line-height:1.06;margin-bottom:22px}
  .welcome-intro{font-size:17px;line-height:1.65}.welcome .actions{flex-direction:row;align-items:center;margin-top:25px;gap:23px}
  .welcome .btn{padding:15px 18px;gap:22px}.welcome .textlink{font-size:13px}
  .welcome-footnote{margin-top:16px;font-size:11px}
  .welcome-art{min-height:280px;margin-right:8px;box-shadow:8px 8px 0 -1px var(--ivory),8px 8px 0 0 var(--line);padding:22px}
  .art-title{font-size:58px;padding:23px 0 17px;margin-top:26px}
  .art-creek{left:18%;top:13%;width:110%;opacity:.55}
  .art-top,.art-bottom{font-size:8px}.art-top span:last-child{max-width:90px}
  .sunday-strip{grid-template-columns:1fr 1fr;gap:0;padding:0}
  .sunday-label{grid-column:1/-1;padding:21px 0!important;border:0!important;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .sunday-label .micro{margin:0;font-size:8px}
  .sunday-label b{font-size:21px}
  .sunday-strip>div:not(.sunday-label){padding:22px 0;border-top:1px solid var(--line);border-left:0}
  .sunday-strip>div:nth-child(3){padding-left:24px;border-left:1px solid var(--line)}
  .sunday-strip b{font-size:30px}.sunday-strip .sunday-label b{font-size:21px}
  .sunday-strip .micro{font-size:9px}
  .sunday-location{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:19px 0;gap:14px;font-size:12px}
  .editorial .band,.editorial .band+.band{padding:54px 0}
  .editorial .band h2{font-size:39px;line-height:1.12}
  .story-grid,.week-grid,.word-grid,.visit-grid,.letter-grid{grid-template-columns:1fr;gap:30px}
  .story-grid .prose .story-lead{font-size:22px}
  .ministry-grid{grid-template-columns:1fr;gap:18px}
  .ministry-tile{min-height:270px;padding:26px}.ministry-tile .micro{margin-bottom:25px}.ministry-tile .lock{font-size:29px!important}
  .ministry-tile p{max-width:100%;font-size:16px}.tile-link{font-size:12px}
  .editorial .sec-h{align-items:flex-start;gap:12px;margin-bottom:27px}
  .week-intro h2 br,.week-intro>p br{display:none}
  .week-intro>p:not(.eye){margin:12px 0}
  .wednesday-note{margin-top:25px}
  .editorial .event-row{grid-template-columns:64px 1fr;gap:18px;padding:24px 0}
  .editorial .event-row h3{font-size:20px}.editorial .event-row p{font-size:13px}
  .word-grid{gap:26px}.editorial .word-band h2{font-size:49px}.word-copy>p{font-size:17px}.word-secondary{margin-left:16px;font-size:12px}
  .editorial .faq summary{font-size:18px}.visit-grid .lead{font-size:16px}
  .wayfinding figcaption{font-size:9px;letter-spacing:0}
  .next-grid{grid-template-columns:1fr;gap:12px}.next-grid>a{padding:22px 30px 8px 0}
  .interior-heading{padding:34px 0}.breadcrumb{margin-bottom:28px}
  .interior-heading h1{font-size:43px;overflow-wrap:break-word}.interior-heading .lead{font-size:16px}
  .editorial .sec{margin:32px 0 47px}
  .editorial .grid.g3:has(.person){grid-template-columns:1fr}
  .editorial .sched th{width:100px;letter-spacing:0;font-size:12px;padding:16px 12px}
  .editorial .sched td{font-size:14px;padding:16px 12px}
  .editorial footer .logo{width:200px}.editorial footer .wrap{gap:30px}
}
@media(prefers-reduced-motion:reduce){.editorial .btn,.editorial .btn:hover,.ministry-tile,.ministry-tile:hover{transition:none;transform:none}.editorial .faq .a{animation:none}}

@media(max-width:380px){.art-title{font-size:clamp(42px,12vw,46px)}.ministry-tile .lock{font-size:clamp(22px,6.5vw,25px)!important}.ministry-tile{padding:24px 20px}.welcome h1{font-size:clamp(42px,11.2vw,49px)}}

.editorial nav.main a.cta[aria-current]::after{display:none}

/* Homepage: clear figure–ground, one primary action, and a sequence of
   place / belonging / worship / gathering / first visit. See the rationale. */
.home-hero{position:relative;isolation:isolate;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);background:var(--pine-deep);color:var(--ivory)}
.editorial .top{padding:16px 24px;background:transparent;border:0;backdrop-filter:none}
.editorial.page-index .top{margin-bottom:-112px}
.editorial .top .wrap{height:80px;max-width:1272px;padding:0 30px;background:var(--ivory);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 24px rgba(22,37,28,.12)}
.home-hero-photo{position:absolute;inset:0;z-index:-2}
.home-hero-photo picture{display:block;width:100%;height:100%}
.home-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.home-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(22,37,28,.12),rgba(22,37,28,.56) 46%,rgba(22,37,28,.8)),linear-gradient(0deg,rgba(22,37,28,.5),transparent 70%)}
.editorial .home-hero-grid{min-height:682px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;padding-top:156px;padding-bottom:70px}
.home-hero-copy{grid-column:2}
.editorial .home-hero .eye{color:var(--ivory);margin:0 0 23px}
.editorial .home-hero h1{font:600 clamp(48px,5.3vw,76px)/1.06 "Bitter",Georgia,serif;letter-spacing:-.025em;color:var(--ivory);margin:0}
.home-hero .welcome-creek{display:block;width:176px;height:auto;margin:24px 0}
.home-hero .welcome-intro{font-size:18px;line-height:1.75;max-width:44ch;color:var(--ivory);margin:0}
.home-hero .actions{gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}
.hero-secondary{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:14px;font-weight:800;color:var(--ivory);text-underline-offset:6px}
.editorial .home-hero a:focus-visible{outline-color:var(--ivory)}
.home-wayline{width:100vw;margin-left:calc(50% - 50vw);border-bottom:1px solid var(--line);background:var(--ivory)}
.editorial .home-wayline .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding-top:16px;padding-bottom:16px}
.home-address{display:flex;align-items:center;gap:16px;min-height:44px;color:var(--pine);text-decoration:none}
.home-address img{width:32px;height:auto;flex:0 0 auto;filter:none}
.home-address>span:not(.wayline-arrow){display:flex;flex-direction:column;gap:4px}
.home-address b{font-size:12px;letter-spacing:.1em}
.home-address span span{font-size:13px;color:var(--ink2)}
.wayline-arrow{font-size:20px;padding-left:10px}
.home-address:hover b{text-decoration:underline;text-underline-offset:4px}
.home-scroll{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;font-weight:800;color:var(--pine);text-decoration:none}
.home-scroll span{font-size:24px}
.home-scroll:hover{text-decoration:underline;text-underline-offset:4px}
.editorial .home-story{position:relative;isolation:isolate;overflow:hidden;background:var(--ivory);padding:104px 0 110px}
.home-story-backdrop{position:absolute;inset:0 auto 0 0;width:62%;z-index:-1;pointer-events:none;opacity:.14}
.home-story-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,239,227,.12),rgba(245,239,227,.65) 65%,var(--ivory))}
.home-story-backdrop picture{display:block;width:100%;height:100%}
.home-story-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:left center;filter:saturate(.35)}
.home-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.home-story-heading .eye{margin:0 0 24px;color:var(--pine)}
.editorial .home-story-heading h2{font-size:clamp(34px,3.5vw,50px);margin:0}
.home-roots{font-size:14px;color:var(--ink2);margin:26px 0 0;letter-spacing:.025em}
.home-story-copy>p{font-size:18px;line-height:1.8;color:var(--ink2);margin:0 0 18px;max-width:42ch}
.home-story-copy .home-purpose{font:600 28px/1.5 "Bitter",Georgia,serif;color:var(--pine);letter-spacing:-.02em;margin-bottom:24px}
.home-story-copy .textlink{margin-top:8px}
.home-belong{isolation:isolate;overflow:hidden;background:var(--wheat-tint,#F6EED9);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-family-route{position:absolute;z-index:-1;left:max(-64px,calc((100vw - 1320px)/2 - 64px));bottom:-12%;width:min(48vw,640px);opacity:.06;pointer-events:none;user-select:none}
.home-family-route img{display:block;width:100%;height:auto;filter:none}
.home-belong-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.editorial .home-belong h2{font-size:clamp(34px,3.6vw,52px)}
.home-belong-intro>p:not(.eye){font-size:18px;line-height:1.8;color:var(--ink2);max-width:34ch;margin:24px 0}
.home-ministry-list{min-width:0}
.home-ministry{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.home-ministry:last-child{border-bottom:1px solid var(--line)}
.home-ministry .micro{font-size:10px;margin-bottom:11px}
.home-ministry .lock{font-size:28px!important;line-height:1.2}
.home-ministry .creek{display:block;width:116px!important;height:auto;max-width:40%!important;margin:6px 0 12px!important}
.home-ministry p{font-size:15px;line-height:1.65;color:var(--ink2);margin:0}
.ministry-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 44px;height:44px;border:1px solid var(--line);border-radius:13px;font-size:22px;color:var(--pine);transition:background .2s}
.home-ministry:hover .ministry-arrow{background:var(--pine);color:var(--ivory)}
.home-ministry:hover .lock{text-decoration:underline;text-underline-offset:5px}
.editorial .home-worship{isolation:isolate;overflow:hidden;padding:100px 0}
.worship-backdrop{position:absolute;z-index:-1;top:120px;right:max(-90px,calc(50vw - 760px));width:min(54vw,720px);opacity:.1;pointer-events:none;user-select:none}
.worship-backdrop img{display:block;width:100%;height:auto}
.home-worship .word-copy .word-time{color:var(--ivory)}
.editorial .home-worship h2{font-size:clamp(42px,4.6vw,64px)}
.page-index .week-band{background:var(--surface)}
.editorial .home-visit .sunday-strip{margin:48px 0 0}
.home-pastor-note{display:grid;grid-template-columns:1fr 1.1fr;column-gap:80px;row-gap:12px;margin-top:52px;padding-top:40px;border-top:1px solid var(--line)}
.home-pastor-note .eye{grid-column:1;margin-top:8px}
.home-pastor-note blockquote{grid-column:2;grid-row:1;font:600 28px/1.5 "Bitter",Georgia,serif;color:var(--pine);letter-spacing:-.02em;margin:0;max-width:35ch}
.home-pastor-note>p:not(.eye){grid-column:2;font-size:14px;color:var(--ink2);margin:0}
.home-pastor-note .textlink{grid-column:2;justify-self:start}

@media(max-width:1100px){
  .editorial .home-hero-grid{grid-template-columns:.6fr 1.4fr;gap:40px}
  .home-story-grid{gap:45px}
  .home-belong-grid{gap:60px}
  .home-scroll{gap:14px;font-size:12px}
  .home-address span span{font-size:12px}
}
@media(max-width:1040px){
  .editorial .home-hero-grid{min-height:672px;padding-top:146px}
  .editorial nav.main{top:104px;max-height:calc(100dvh - 128px)}
}
@media(max-width:760px){
  .editorial .top{padding:12px}
  .editorial.page-index .top{margin-bottom:-92px}
  .editorial .top .wrap{height:68px;padding:0 18px;border-radius:18px;gap:12px}
  .editorial nav.main{top:88px;left:12px;right:12px;max-height:calc(100dvh - 104px)}
  .editorial .home-hero-grid{display:block;min-height:667px;padding-top:233px;padding-bottom:48px}
  .home-hero::after{background:linear-gradient(0deg,rgba(22,37,28,.92),rgba(22,37,28,.68) 70%,rgba(22,37,28,.25))}
  .home-hero-photo img{object-position:15% center}
  .editorial .home-hero h1{font-size:clamp(38px,10.5vw,56px)}
  .editorial .home-hero .eye{font-size:10px;letter-spacing:.12em;margin-bottom:20px}
  .home-hero .welcome-creek{width:142px;margin:21px 0}
  .home-hero .welcome-intro{font-size:16px;line-height:1.7;max-width:40ch}
  .home-hero .actions{gap:20px;margin-top:26px}
  .editorial .home-hero .btn{padding:15px 19px;font-size:13px;gap:20px}
  .hero-secondary{font-size:13px;gap:12px}
  .editorial .home-wayline .wrap{min-height:78px;padding-top:14px;padding-bottom:14px}
  .home-address{gap:12px;flex:1;justify-content:flex-start}
  .home-address b{font-size:11px;letter-spacing:.06em}
  .home-address span span{font-size:12px;line-height:1.5;max-width:27ch}
  .wayline-arrow{margin-left:auto;padding:0}
  .home-scroll{display:none}
  .editorial .home-story{padding:54px 0 60px}
  .home-story-backdrop{width:100%;height:50%;opacity:.12}
  .home-story-backdrop::after{background:linear-gradient(180deg,rgba(245,239,227,.25),rgba(245,239,227,.55) 50%,var(--ivory))}
  .home-story-heading .eye{margin-bottom:18px}
  .editorial .home-story-heading h2{font-size:36px}
  .home-story-grid,.home-belong-grid{grid-template-columns:1fr;gap:30px}
  .home-family-route{left:auto;right:-16%;top:32px;bottom:auto;width:68%;max-width:400px;opacity:.05}
  .home-roots{margin-top:22px}
  .home-story-copy>p{font-size:16px;line-height:1.8}
  .home-story-copy .home-purpose{font-size:24px;margin-bottom:20px}
  .home-belong-intro>p:not(.eye){font-size:16px;max-width:42ch;margin:18px 0}
  .editorial .home-belong h2{font-size:39px}
  .home-ministry{gap:14px;padding:25px 0}
  .home-ministry .lock{font-size:26px!important}
  .home-ministry p{font-size:14px}
  .ministry-arrow{flex-basis:38px;height:38px;font-size:19px}
  .editorial .home-worship{padding:60px 0}
  .worship-backdrop{top:100px;right:-18%;width:112%;max-width:580px}
  .editorial .home-worship h2{font-size:46px}
  .editorial .home-visit .sunday-strip{margin-top:32px}
  .home-pastor-note{display:block;margin-top:40px;padding-top:32px}
  .home-pastor-note .eye{margin:0 0 20px}
  .home-pastor-note blockquote{font-size:24px;margin-bottom:20px}
  .home-pastor-note .textlink{margin-top:14px}
}
@media(max-width:380px){
  .editorial .brand img{width:150px}
  .home-address span span{display:none}
  .home-hero .actions{gap:12px}
  .hero-secondary{gap:8px;font-size:12px}
  .editorial .home-hero .btn{padding:14px 16px;gap:12px}
  .home-ministry .lock{font-size:23px!important}
}
@media(prefers-reduced-motion:reduce){.ministry-arrow{transition:none}}

/* Visitor pages: welcome, a short arrival path, then practical detail. */
.calendar-source{font-size:13px;line-height:1.7;color:var(--ink2);margin:18px 0 0;max-width:64ch}
.editorial .event-row>div{min-width:0}
.editorial .event-row h3,.editorial .event-row p{overflow-wrap:anywhere}
.calendar-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:26px;margin-top:30px}
.editorial .calendar-invitation h3{font-size:23px;margin:0 0 10px}
.calendar-invitation p{font-size:15px;line-height:1.75;color:var(--ink2);margin:0}
.calendar-invitation .textlink{flex-shrink:0}
@media(max-width:760px){.calendar-invitation{display:block}.calendar-invitation .textlink{margin-top:18px}}
.visitor-hero{position:relative;isolation:isolate;padding:32px 0 76px}
.visitor-hero .breadcrumb,.watch-opening .breadcrumb{margin:0 0 36px}
.visitor-place{position:absolute;z-index:-1;inset:0 -48px 0 auto;width:67%;overflow:hidden;opacity:.26;pointer-events:none}
.visitor-place::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory),rgba(245,239,227,.6) 35%,rgba(245,239,227,.08)),linear-gradient(0deg,var(--ivory),transparent 38%,transparent 65%,var(--ivory)),linear-gradient(270deg,var(--ivory),transparent 22%)}
.visitor-place picture,.visitor-place-photo{display:block;width:100%;height:100%}
.visitor-place-photo{object-fit:cover;object-position:28% center;filter:grayscale(.65)}
.visitor-hero-copy{max-width:640px}
.visitor-hero .eye,.watch-heading .eye{margin:0 0 20px;color:var(--pine)}
.editorial .visitor-hero h1,.editorial .watch-heading h1{font:600 clamp(44px,4.7vw,64px)/1.12 "Bitter",Georgia,serif;letter-spacing:-.025em;color:var(--pine);margin:0}
.visitor-creek{display:block;width:152px;height:auto;margin:22px 0}
.visitor-hero .lead{max-width:45ch;font-size:18px;line-height:1.8;color:var(--ink2);margin:0}
.visitor-hero .actions{align-items:center;flex-wrap:wrap;gap:28px;margin:28px 0 8px}
.visitor-times-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink2);font-size:13px;text-underline-offset:5px}
.editorial .visitor-arrival{background:var(--wheat-tint,#F6EED9);border-block:1px solid var(--line);padding:72px 0}
.editorial .visitor-arrival h2,.editorial .visitor-question-intro h2{font-size:clamp(32px,3vw,42px)}
.arrival-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;padding:0;list-style:none;margin:42px 0 0}
.arrival-steps li{border-top:1px solid var(--line);padding-top:24px}
.arrival-number{display:block;font:500 16px/1 "Bitter",Georgia,serif;color:var(--pine);margin-bottom:23px}
.editorial .arrival-steps h3{font-size:23px;margin:0 0 14px}
.arrival-steps p{font-size:16px;line-height:1.8;color:var(--ink2);margin:0;max-width:37ch}
.visitor-questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:86px 0}
.visitor-question-intro>p:not(.eye){font-size:17px;line-height:1.8;color:var(--ink2);max-width:32ch}
.visitor-invitation{border-top:1px solid var(--line);padding-top:28px;margin-top:34px;max-width:35ch}
.editorial .visitor-invitation h3{font-size:23px;line-height:1.45;margin:0 0 16px}
.visitor-invitation p{font-size:15px;line-height:1.8;color:var(--ink2);margin:0 0 16px}
.visitor-questions .faq{min-width:0}
.editorial .visitor-questions .faq .a{padding-left:2px;padding-right:2px}
.editorial .visitor-questions .faq .a p{line-height:1.8}
.editorial .visitor-gather{background:var(--surface);border-top:1px solid var(--line);padding:64px 0}
.visitor-gather-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.visitor-gather-heading h2{margin-bottom:0}
.visitor-gather .times .t{box-shadow:none}
.editorial .visitor-gather .times .t small{color:var(--pine)!important}
.visitor-location{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:14px;line-height:1.6;color:var(--ink2);margin:24px 0 0}
.visitor-location img{flex:0 0 32px;filter:none}
.visitor-location a{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--pine);font-weight:800;text-underline-offset:5px}

/* Optional player: the original Bible cutout, with direct access in every state. */
.watch-opening{padding:32px 0 0}
.watch-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;margin-bottom:42px}
.watch-heading .lead{max-width:42ch;font-size:18px;line-height:1.8;color:var(--ink2);margin:0}
.watch-player{position:relative;isolation:isolate;overflow:hidden;background:var(--pine-deep);border-radius:24px;padding:56px 60px;color:var(--ivory)}
.watch-art{position:absolute;z-index:-1;right:-10%;top:35px;width:70%;opacity:.15;pointer-events:none}
.watch-art img{display:block;width:100%;height:auto}
.watch-player-intro{max-width:590px}
.editorial .watch-player .eye{color:var(--ivory);margin:0 0 22px}
.editorial .watch-player h2{color:var(--ivory);font:600 clamp(42px,4.7vw,64px)/1.1 "Bitter",Georgia,serif;letter-spacing:-.025em;margin:0}
.watch-player-intro>p:not(.eye){font-size:17px;line-height:1.8;color:var(--ivory);margin:0}
.watch-player .actions{gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}
.watch-load{display:inline-flex;align-items:center;min-height:48px;padding:10px 4px;border:0;background:transparent;color:var(--ivory);font:800 14px/1.5 "Nunito Sans",sans-serif;text-decoration:underline;text-underline-offset:6px;cursor:pointer}
.watch-load[aria-disabled="true"]{cursor:wait}
.watch-player [hidden]{display:none!important}
.watch-player a:focus-visible,.watch-player button:focus-visible{outline:3px solid var(--ivory);outline-offset:5px}
.watch-frame{margin-top:32px;position:relative;z-index:1}
.watch-frame iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;border:0;background:#000}
.watch-player-help{border-top:1px solid rgba(245,239,227,.3);padding-top:20px;margin-top:28px;max-width:670px}
.watch-player-help p{font-size:13px;line-height:1.7;margin:0 0 5px;color:var(--ivory)}
.watch-player-help a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;color:var(--ivory);text-underline-offset:5px}
.watch-next{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:76px 0 86px}
.editorial .watch-next h2{font-size:32px}
.watch-next p:not(.eye){font-size:17px;line-height:1.8;color:var(--ink2);max-width:48ch}
.watch-visit{border-left:1px solid var(--line);padding-left:64px}
.watch-social a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:8px;text-underline-offset:5px}

@media(max-width:1040px){
  .arrival-steps{gap:28px}
  .visitor-questions{gap:44px;grid-template-columns:.85fr 1.15fr}
  .watch-heading{grid-template-columns:1fr;gap:24px}
  .watch-heading .lead{max-width:58ch}
  .watch-next{gap:40px}.watch-visit{padding-left:40px}
}
@media(max-width:760px){
  .visitor-hero,.watch-opening{padding-top:22px}
  .visitor-hero{padding-bottom:40px}
  .visitor-hero .breadcrumb,.watch-opening .breadcrumb{margin-bottom:30px}
  .visitor-place{inset:0 -26px 0 auto;width:100%;opacity:.18}
  .visitor-place::after{background:linear-gradient(90deg,var(--ivory),rgba(245,239,227,.28)),linear-gradient(0deg,var(--ivory),transparent 55%,transparent 70%,var(--ivory)),linear-gradient(270deg,var(--ivory),transparent 18%)}
  .editorial .visitor-hero h1,.editorial .watch-heading h1{font-size:clamp(36px,9.4vw,48px)}
  .visitor-hero .eye,.watch-heading .eye{font-size:10px;margin-bottom:18px}
  .visitor-creek{width:132px;margin:22px 0}
  .visitor-hero .lead,.watch-heading .lead{font-size:16px;line-height:1.8}
  .visitor-hero .actions{gap:18px;margin-top:24px}
  .visitor-hero .btn{font-size:13px;padding:14px 18px}
  .visitor-hero .textlink{font-size:13px;gap:10px}
  .editorial .visitor-arrival{padding:48px 0}
  .editorial .visitor-arrival h2,.editorial .visitor-question-intro h2{font-size:32px}
  .arrival-steps{grid-template-columns:1fr;gap:26px;margin-top:30px}
  .arrival-steps li{position:relative;padding:23px 0 0 38px}
  .arrival-number{position:absolute;left:0;top:28px;font-size:14px}
  .editorial .arrival-steps h3{font-size:22px;margin-bottom:12px}
  .arrival-steps p{font-size:15px;max-width:none}
  .visitor-questions{grid-template-columns:1fr;gap:32px;padding:54px 0}
  .visitor-question-intro>p:not(.eye){font-size:16px;max-width:none}
  .visitor-invitation{max-width:none;margin-top:26px;padding-top:24px}
  .editorial .visitor-questions .faq summary{font-size:18px;line-height:1.5;padding:20px 0}
  .editorial .visitor-gather{padding:48px 0}
  .visitor-gather-heading{display:block}
  .visitor-gather-heading .textlink{margin-top:18px}
  .visitor-location{font-size:13px;align-items:center;column-gap:10px;row-gap:4px}
  .visitor-location a{margin-left:42px}
  .watch-heading{gap:22px;margin-bottom:30px}
  .watch-player{border-radius:20px;padding:30px 24px}
  .watch-art{width:120%;right:-32%;top:110px;opacity:.1}
  .editorial .watch-player h2{font-size:clamp(34px,10vw,48px)}
  .editorial .watch-player .eye{font-size:10px;letter-spacing:.08em}
  .watch-player-intro>p:not(.eye){font-size:16px}
  .watch-wide-break{display:none}
  .watch-player .actions{gap:12px;margin-top:22px}
  .watch-player .btn{font-size:13px;padding:14px 16px;gap:12px}
  .watch-load{font-size:13px}
  .watch-player-help{margin-top:22px;padding-top:20px}
  .watch-next{grid-template-columns:1fr;gap:32px;padding:48px 0 54px}
  .watch-visit{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}
  .editorial .watch-next h2{font-size:30px}
  .watch-next p:not(.eye){font-size:16px;max-width:none}
}
