/* Woodland: chapel geometry, clear wayfinding and a generous reading measure. */
.theme-astra-woodland.site {
  --paper: #f5f8f6;
  --ink: #182e25;
  --muted: #485e52;
  --accent: #246247;
  --line: #c4d1c8;
  --display: 'Manrope', sans-serif;
  --body: 'Manrope', sans-serif;
  --radius: 2px;
  --woodland-reading: 'Libre Baskerville', Georgia, serif;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.75;
}
.theme-astra-woodland :is(.site-header,.site-main,.site-footer) {
  width: 100%;
  max-width: 1320px;
  padding-inline: clamp(22px,5vw,72px);
}
.theme-astra-woodland :is(.hero-copy,.sermon-content,.section-heading,.request-intro,.contact-options,.article-card,.channel-card,.prose) { min-width: 0; }
.theme-astra-woodland :is(h1,h2,h3,p,a,figcaption,small,strong) { overflow-wrap: anywhere; }
.theme-astra-woodland :is(h1,h2,h3) { text-wrap: balance; }
.theme-astra-woodland.site h1 {
  font: 600 clamp(44px,5.3vw,76px)/1.08 var(--display);
  letter-spacing: -.035em;
  max-width: 12ch;
  margin: 18px 0 24px;
}
.theme-astra-woodland.site h2 { font: 600 clamp(28px,3vw,42px)/1.2 var(--display); letter-spacing: -.025em; }
.theme-astra-woodland.site h3 { font: 600 clamp(22px,2.1vw,29px)/1.35 var(--display); letter-spacing: -.02em; }
.theme-astra-woodland .prose { color: var(--muted); max-width: 66ch; line-height: 1.85; }
.theme-astra-woodland .prose p { text-wrap: pretty; }
.theme-astra-woodland .eyebrow { font-size: 12px; line-height: 1.6; letter-spacing: 0; text-transform: none; color: var(--accent); }
.theme-astra-woodland .eyebrow:empty { display: none; }
.theme-astra-woodland .site-header { flex-direction: column; align-items: stretch; gap: 24px; padding-block: 30px 0; }
.theme-astra-woodland .wordmark { align-self: flex-start; font: 700 23px/1.4 var(--display); letter-spacing: -.025em; gap: 12px; }
.theme-astra-woodland.site .brand-symbol { display: none; }
.theme-astra-woodland .wordmark::before {
  content: '';
  width: 21px;
  height: 27px;
  flex: 0 0 21px;
  background: var(--accent);
  clip-path: polygon(50% 0,100% 35%,100% 100%,62% 100%,62% 62%,38% 62%,38% 100%,0 100%,0 35%);
}
.theme-astra-woodland .site-nav { flex-wrap: wrap; justify-content: flex-start; gap: 4px 24px; border-block: 1px solid var(--line); padding: 9px 0; font-size: 14px; }
.theme-astra-woodland .site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; border-bottom: 2px solid transparent; }
.theme-astra-woodland .site-nav a.current { color: var(--accent); border-bottom-color: var(--accent); padding-bottom: 8px; font-weight: 700; }
.theme-astra-woodland.site .site-main > .block { margin-bottom: 0; padding-block: 68px; }
.theme-astra-woodland.site .site-main > .block-hero { padding-block: 56px 24px; }
.theme-astra-woodland .hero-grid { grid-template-columns: minmax(0,1.45fr) minmax(0,.85fr); gap: clamp(32px,5vw,72px); align-items: start; }
.theme-astra-woodland.site .hero-kicker { font: 500 clamp(19px,1.9vw,25px)/1.55 var(--display); color: var(--accent); margin: 0 0 24px; max-width: 38ch; }
.theme-astra-woodland.site .hero-copy > .prose { max-width: 62ch; font-size: 15px; }
.theme-astra-woodland .hero-actions { margin-top: 28px; gap: 14px 24px; }
.theme-astra-woodland.site .hero-art { position: relative; margin-top: 24px; padding: 48px 18px 18px; background: #e4ece6; border: 1px solid var(--line); }
.theme-astra-woodland .hero-art::before { content: ''; position: absolute; top: 13px; left: 50%; width: 30px; height: 23px; transform: translateX(-50%); background: var(--accent); clip-path: polygon(50% 0,100% 100%,0 100%); }
.theme-astra-woodland.site .hero-image { height: auto; max-height: 520px; width: 100%; aspect-ratio: 443 / 440; object-fit: contain; object-position: center; border-radius: 0; }
.theme-astra-woodland.site .art-caption { opacity: 1; color: var(--muted); font-size: 12px; line-height: 1.65; margin-top: 14px; }
.theme-astra-woodland.site .hero-meta { margin-top: 40px; padding: 22px 0; font-size: 12px; letter-spacing: 0; text-transform: none; gap: 10px 28px; color: var(--muted); }
.theme-astra-woodland.site .button { min-height: 46px; padding: 12px 20px; background: var(--accent); color: var(--paper) !important; border: 1px solid var(--accent); border-radius: 2px; font-size: 14px; line-height: 1.5; text-align: left; }
.theme-astra-woodland :is(.text-link,.quiet-link) { min-height: 44px; align-items: center; font-size: 14px; color: var(--accent); gap: 12px; }
.theme-astra-woodland :is(a,button) { transition: background-color .18s ease-out, color .18s ease-out; }
.theme-astra-woodland :is(a,button):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.theme-astra-woodland .button:hover { background: var(--ink); border-color: var(--ink); }
.theme-astra-woodland .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.theme-astra-woodland.site .block-about { margin-top: 0; }
.theme-astra-woodland.site .block-about.variant-wide .about-grid { grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 7%; }
.theme-astra-woodland .block-about .prose { font: 400 16px/2 var(--woodland-reading); }
.theme-astra-woodland.site .bio-photo { height: auto; max-height: 420px; object-fit: contain; object-position: left center; background: #e4ece6; padding: 18px; }
.theme-astra-woodland .timeline:empty { display: none; }
.theme-astra-woodland .section-heading { margin-bottom: 30px; }
.theme-astra-woodland.site .page-intro { padding: 54px 0 24px; margin-bottom: 0; }
.theme-astra-woodland.site .page-intro h1 { font-size: clamp(38px,5vw,64px); max-width: 18ch; }
.theme-astra-woodland.site .block-sermons.variant-featured .sermon-list { grid-template-columns: minmax(0,1fr); gap: 0; }
.theme-astra-woodland .sermon-card { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.45fr); gap: 32px; align-items: start; padding: 28px 0; border-top: 1px solid var(--line); }
.theme-astra-woodland.site .sermon-visual { height: auto; aspect-ratio: 16 / 9; background: #e4ece6; }
.theme-astra-woodland.site .sermon-visual:has(.sermon-thumb)::after { display: none; }
.theme-astra-woodland.site .sermon-visual .video-link { position: absolute; inset: auto auto 12px 12px; max-width: calc(100% - 24px); min-height: 44px; border: 1px solid var(--line); border-radius: 2px; background: var(--paper); color: var(--ink); font-size: 12px; }
.theme-astra-woodland .sermon-content { padding: 0; }
.theme-astra-woodland.site .sermon-card h3 { font-size: clamp(23px,2.2vw,31px); }
.theme-astra-woodland .sermon-content p { font-size: 14px; }
.theme-astra-woodland .sermon-content .eyebrow { color: var(--accent); }
.theme-astra-woodland .message-search { max-width: 540px; font-size: 14px; }
.theme-astra-woodland .topics-layout { grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 7%; }
.theme-astra-woodland .topic-list article { display: block; padding: 26px 0; }
.theme-astra-woodland :is(.topic-number,.pathway-number,.channel-mark,.resource-icon) { display: none; }
.theme-astra-woodland.site .ministry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 56px; }
.theme-astra-woodland .ministry-grid article { padding-top: 26px; border-top: 1px solid var(--line); }
.theme-astra-woodland.site .article-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
.theme-astra-woodland.site .article-card { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 12px 40px; padding-block: 32px; }
.theme-astra-woodland .article-card > .eyebrow { grid-column: 1 / -1; margin: 0; }
.theme-astra-woodland.site .article-card h3 { font-size: clamp(23px,2.4vw,32px); margin: 0; }
.theme-astra-woodland .article-card .prose { font: 400 15px/1.95 var(--woodland-reading); }
.theme-astra-woodland.site .article-bottom { grid-column: 2; flex-wrap: wrap; margin-top: 0; font-size: 12px; }
.theme-astra-woodland.site .resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.theme-astra-woodland .note-card { border: 0; border-top: 1px solid var(--line); padding: 28px 0; }
.theme-astra-woodland.site .ministry-gallery { display: grid; columns: auto; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; }
.theme-astra-woodland.site .ministry-gallery figure { margin: 0; min-width: 0; }
.theme-astra-woodland.site .gallery-open { height: auto; display: block; background: #e4ece6; padding: 12px; }
.theme-astra-woodland.site .ministry-gallery img { width: 100%; height: auto; max-height: 500px; object-fit: contain; }
.theme-astra-woodland.site .ministry-gallery figcaption { font-size: 13px; line-height: 1.75; }
.theme-astra-woodland.site .ministry-gallery figcaption small { font-size: 12px; }
.theme-astra-woodland.site .channel-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.theme-astra-woodland .channel-card { background: #e4ece6; border: 1px solid var(--line); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; }
.theme-astra-woodland.site .channel-card h3 { font-size: 26px; margin: 4px 0 18px; }
.theme-astra-woodland .channel-card .button { margin-top: auto; }
.theme-astra-woodland .podcast-list article { grid-template-columns: 56px minmax(0,1fr); gap: 24px; }
.theme-astra-woodland .podcast-icon { height: 56px; background: var(--accent); color: var(--paper); font-size: 28px; border-radius: 50%; }
.theme-astra-woodland .pathway-grid { display: flex; flex-wrap: wrap; border: 0; gap: 12px; }
.theme-astra-woodland .pathway { display: flex; align-items: center; gap: 24px; padding: 16px 20px; border: 1px solid var(--line); flex: 1 1 200px; }
.theme-astra-woodland .pathway h3 { font: 600 19px var(--display); margin: 0; }
.theme-astra-woodland .pathway p:empty { display: none; }
.theme-astra-woodland .pathway-arrow { margin: 0 0 0 auto; font-size: 24px; }
.theme-astra-woodland.site .site-main > .block-booking { margin-top: 36px; padding: 36px; background: #e4ece6; border: 1px solid var(--line); }
.theme-astra-woodland .invitation-ribbon { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; }
.theme-astra-woodland .invitation-ribbon .eyebrow { display: none; }
.theme-astra-woodland .ribbon-actions small { font-size: 12px; }
.theme-astra-woodland .request-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 5%; }
.theme-astra-woodland .request-intro .section-heading h2 { font-size: 32px; }
.theme-astra-woodland .request-note { border: 1px solid var(--line); padding: 20px; background: #e4ece6; font-size: 13px; }
.theme-astra-woodland .engagement-form { padding: 28px; background: #fff; }
.theme-astra-woodland .request-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.theme-astra-woodland :is(input,select,textarea) { min-width: 0; max-width: 100%; background: #fff; color: var(--ink); border-color: #71897b; border-radius: 2px; font-size: 16px; }
.theme-astra-woodland .request-fields :is(input,select,textarea),.theme-astra-woodland .request-review textarea { font-size: 16px; }
.theme-astra-woodland :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.theme-astra-woodland :is(input,select,textarea):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.theme-astra-woodland .request-error { color: #983e32; }
.theme-astra-woodland .request-fineprint { font-size: 12px; }
.theme-astra-woodland .contact-desk { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8%; }
.theme-astra-woodland .contact-person > img { width: 150px; height: auto; border: 8px solid #e4ece6; }
.theme-astra-woodland .contact-option > span { display: none; }
.theme-astra-woodland .contact-option h3 { margin-top: 0; }
.theme-astra-woodland .network-row { grid-template-columns: 48px minmax(0,1fr) auto; }
.theme-astra-woodland .network-row:hover { padding-left: 0; background: #e4ece6; }
.theme-astra-woodland .network-row strong { font: 600 22px var(--display); }
.theme-astra-woodland.site .site-footer { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-block: 44px; gap: 24px; }
.theme-astra-woodland .site-footer div { text-align: left; }
.theme-astra-woodland .site-footer strong { font: 700 24px var(--display); }
.theme-astra-woodland .site-footer nav { gap: 10px 20px; }
.theme-astra-woodland .site-footer > small { font-size: 12px; }
@media (max-width: 960px) {
  .theme-astra-woodland .hero-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 30px; }
  .theme-astra-woodland .request-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .theme-astra-woodland .request-intro { max-width: 680px; }
}
@media (max-width: 800px) {
  .theme-astra-woodland.site .site-header { padding-top: 24px; gap: 18px; }
  .theme-astra-woodland.site .wordmark { font-size: 22px; }
  .theme-astra-woodland .site-nav { gap: 0 20px !important; font-size: 13px; }
  .theme-astra-woodland.site .site-main > .block { padding-block: 40px; margin-bottom: 0; }
  .theme-astra-woodland.site .hero-copy { order: 0; }
  .theme-astra-woodland.site .hero-art { order: 1; width: 100%; max-width: 440px; margin: 0 !important; padding: 42px 14px 14px; }
  .theme-astra-woodland.site .hero-copy h1 { font-size: clamp(40px,10.5vw,64px); max-width: 12ch; }
  .theme-astra-woodland.site .hero-image { height: auto !important; max-height: 70vh; max-height: 70svh; object-fit: contain; }
  .theme-astra-woodland.site .hero-kicker { font-size: 20px; }
  .theme-astra-woodland.site .hero-meta { display: grid; gap: 8px; margin-top: 28px; }
  .theme-astra-woodland.site .block-about.variant-wide .about-grid,
  .theme-astra-woodland .topics-layout,
  .theme-astra-woodland .invitation-ribbon,
  .theme-astra-woodland .contact-desk { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .theme-astra-woodland .section-heading { margin-bottom: 20px; }
  .theme-astra-woodland .sermon-card { grid-template-columns: minmax(0,1fr); gap: 22px; padding-block: 24px; }
  .theme-astra-woodland.site .article-card { display: flex; gap: 16px; }
  .theme-astra-woodland.site .article-bottom { margin-top: 0; }
  .theme-astra-woodland.site :is(.channel-grid,.ministry-grid,.resource-grid,.ministry-gallery) { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .theme-astra-woodland .channel-card { padding: 24px; }
  .theme-astra-woodland.site .site-main > .block-booking { padding: 24px; }
  .theme-astra-woodland .engagement-form { padding: 22px 18px; }
  .theme-astra-woodland .request-fields { grid-template-columns: minmax(0,1fr); }
  .theme-astra-woodland .request-fields .span-two { grid-column: auto; }
  .theme-astra-woodland .request-fields .flexible-date { padding-top: 0; }
  .theme-astra-woodland .podcast-list article { grid-template-columns: 40px minmax(0,1fr); gap: 16px; }
  .theme-astra-woodland .podcast-icon { height: 40px; font-size: 22px; }
  .theme-astra-woodland .network-row { grid-template-columns: 40px minmax(0,1fr) 24px; gap: 14px; }
  .theme-astra-woodland.site .site-footer { grid-template-columns: minmax(0,1fr); }
  .theme-astra-woodland .site-footer nav { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-astra-woodland :is(a,button,img) { transition: none; }
  .theme-astra-woodland.site .gallery-open:hover img { transform: none; }
}
