/* Desert Light: white stucco planes, a square portrait reveal and a low cross.
   Shared region layouts and the menu retain their own positioning and state. */
.theme-astra-desertlight {
  --paper: #ffffff;
  --ink: #24272b;
  --accent: #a33a32;
  --muted: #54575c;
  --line: #d3d5d7;
  --display: 'Cormorant Garamond', Georgia, serif;
  --body: 'Manrope', Arial, sans-serif;
  --radius: 2px;
  --dl-surface: #f2f3f4;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.75 var(--body);
}
.theme-astra-desertlight *,
.theme-astra-desertlight *::before,
.theme-astra-desertlight *::after { box-sizing: border-box; }
.theme-astra-desertlight :is(h1,h2,h3,p,a,figcaption) { overflow-wrap: anywhere; }
.theme-astra-desertlight :is(img,iframe,video) { max-width: 100%; }
.theme-astra-desertlight :is(button,input,select,textarea) { font-family: var(--body); }
.theme-astra-desertlight :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 5px;
}
.theme-astra-desertlight :is(.site-header,.site-main,.site-footer) {
  max-width: 1360px;
  padding-left: clamp(22px,5.6vw,80px);
  padding-right: clamp(22px,5.6vw,80px);
}
.theme-astra-desertlight .site-header {
  flex-wrap: wrap;
  gap: 12px 36px;
  padding-top: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
}
.theme-astra-desertlight .wordmark {
  min-height: 44px;
  font: 600 27px/1.15 var(--display);
  letter-spacing: -.02em;
  gap: 13px;
}
.theme-astra-desertlight .brand-symbol {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid var(--line);
  font: 600 14px/1 var(--body);
  color: var(--accent);
}
.theme-astra-desertlight .site-nav { flex-wrap: wrap; gap: 4px 20px; }
.theme-astra-desertlight .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  font: 500 13px/1.5 var(--body);
  border-bottom: 1px solid #00000000;
}
.theme-astra-desertlight .site-nav a.current { border-bottom-color: var(--accent); }
.theme-astra-desertlight .site-menu-toggle { min-width: 44px; min-height: 44px; }
.theme-astra-desertlight .site-main > .block {
  margin-top: 0;
  margin-bottom: 12px;
  padding-top: clamp(48px,6vw,86px);
  padding-bottom: clamp(48px,6vw,86px);
}
.theme-astra-desertlight h1 {
  font: 500 clamp(60px,7vw,96px)/.96 var(--display);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.theme-astra-desertlight h2 {
  font: 500 clamp(36px,4vw,56px)/1.08 var(--display);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.theme-astra-desertlight h3 {
  font: 600 clamp(25px,2.5vw,34px)/1.15 var(--display);
  letter-spacing: -.015em;
  text-wrap: balance;
}
.theme-astra-desertlight .prose { max-width: 66ch; color: var(--muted); line-height: 1.85; }
.theme-astra-desertlight .prose p:last-child { margin-bottom: 0; }
.theme-astra-desertlight .eyebrow {
  color: var(--muted);
  font: 500 13px/1.6 var(--body);
  letter-spacing: 0;
  text-transform: none;
}
.theme-astra-desertlight .eyebrow:empty { display: none; }
.theme-astra-desertlight .section-heading { margin-bottom: 32px; }
.theme-astra-desertlight .section-heading h2 { margin-bottom: 18px; }
.theme-astra-desertlight .button {
  min-height: 48px;
  padding: 13px 22px;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: var(--paper) !important;
  font: 600 14px/1.5 var(--body);
  justify-content: center;
  text-align: center;
  white-space: normal;
  border-radius: 2px;
}
.theme-astra-desertlight :is(.text-link,.quiet-link) {
  min-height: 44px;
  align-items: center;
  font: 600 14px/1.5 var(--body);
  color: var(--accent);
  text-underline-offset: 5px;
}
.theme-astra-desertlight :is(.text-link,.quiet-link):hover { text-decoration: underline; }
.theme-astra-desertlight .block-hero { position: relative; }
.theme-astra-desertlight .hero-grid {
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
  gap: clamp(40px,7vw,100px);
  align-items: center;
}
.theme-astra-desertlight .hero-copy { min-width: 0; }
.theme-astra-desertlight .hero-copy h1 { max-width: 9ch; margin: 18px 0 24px; }
.theme-astra-desertlight .hero-copy > .eyebrow { color: var(--accent); }
.theme-astra-desertlight .hero-kicker {
  max-width: 26ch;
  font: 500 clamp(25px,2.5vw,34px)/1.22 var(--display);
  color: var(--ink);
  margin-bottom: 24px;
}
.theme-astra-desertlight .hero-copy > .prose { max-width: 53ch; font-size: 15px; }
.theme-astra-desertlight .hero-actions { gap: 12px 24px; margin-top: 28px; }
.theme-astra-desertlight .hero-art {
  order: -1;
  align-self: start;
  position: relative;
  padding: 46px 24px 0;
  margin-top: 14px;
  border-top: 1px solid var(--line);
}
.theme-astra-desertlight .hero-art::before {
  content: '';
  position: absolute;
  inset: 22px 0 55px;
  border: 1px solid var(--line);
  background: var(--dl-surface);
  pointer-events: none;
}
.theme-astra-desertlight .hero-art::after {
  content: '';
  position: absolute;
  width: 32px;
  height: 44px;
  right: 38px;
  top: -23px;
  background: var(--accent);
  clip-path: polygon(44% 0,56% 0,56% 32%,100% 32%,100% 40%,56% 40%,56% 100%,44% 100%,44% 40%,0 40%,0 32%,44% 32%);
  pointer-events: none;
}
.theme-astra-desertlight .hero-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  max-height: 570px;
  object-fit: contain;
  border-radius: 0;
}
.theme-astra-desertlight .art-caption {
  position: relative;
  margin: 18px 0 0;
  padding: 14px 0 0;
  font: 500 12px/1.65 var(--body);
  letter-spacing: 0;
  color: var(--muted);
}
.theme-astra-desertlight .portrait-placeholder {
  position: relative;
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 30px;
  font: 500 40px/1.2 var(--display);
  text-align: center;
}
.theme-astra-desertlight .hero-meta {
  margin-top: 54px;
  padding: 20px 0;
  font-size: 12px;
  gap: 12px 32px;
}
.theme-astra-desertlight .hero-meta span:first-child { flex: 1 1 320px; }
.theme-astra-desertlight .page-intro { padding: 64px 0 28px; margin-bottom: 0; }
.theme-astra-desertlight .page-intro h1 { font-size: clamp(48px,6vw,80px); margin: 12px 0 20px; }
.theme-astra-desertlight .block-about.variant-wide .about-grid,
.theme-astra-desertlight.page-about .block-about .about-grid {
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  gap: clamp(28px,7vw,100px);
}
.theme-astra-desertlight .bio-photo { height: auto; max-height: 470px; object-fit: contain; object-position: left; }
.theme-astra-desertlight .timeline:empty { display: none; }
.theme-astra-desertlight .block-sermons { border-top: 1px solid var(--line); }
.theme-astra-desertlight .block-sermons.variant-featured .sermon-list,
.theme-astra-desertlight .sermon-list { grid-template-columns: minmax(0,1fr); gap: 0; }
.theme-astra-desertlight .sermon-card {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.4fr);
  align-items: start;
  gap: clamp(24px,4vw,56px);
  border-top: 1px solid var(--line);
  padding: 32px 0;
  min-width: 0;
}
.theme-astra-desertlight .sermon-visual { height: auto; aspect-ratio: 16/9; background: #24272b; }
.theme-astra-desertlight .sermon-thumb { display: block; width: 100%; height: 100%; object-fit: cover; }
.theme-astra-desertlight .video-link {
  min-height: 44px;
  max-width: calc(100% - 24px);
  left: 12px;
  bottom: 12px;
  padding: 10px 16px;
  border-radius: 2px;
  background: #ffffff;
  color: #24272b;
  font-size: 13px;
}
.theme-astra-desertlight .sermon-content { min-width: 0; padding: 0; }
.theme-astra-desertlight .sermon-card h3 { font-size: clamp(25px,2.6vw,35px); line-height: 1.2; }
.theme-astra-desertlight .sermon-content p { font-size: 14px; }
.theme-astra-desertlight .sermon-content .eyebrow { color: var(--accent); margin-bottom: 12px; }
.theme-astra-desertlight .message-search { max-width: 520px; font-size: 14px; }
.theme-astra-desertlight .topics-layout { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 50px; }
.theme-astra-desertlight .topic-list article { grid-template-columns: minmax(0,1fr); }
.theme-astra-desertlight :is(.topic-number,.pathway-number,.channel-mark,.resource-icon) { display: none; }
.theme-astra-desertlight .ministry-grid { gap: 40px 56px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.theme-astra-desertlight .ministry-grid > article { border-top: 1px solid var(--line); padding-top: 25px; }
.theme-astra-desertlight .article-grid { display: block; max-width: 880px; margin-left: auto; }
.theme-astra-desertlight .article-card { padding: 28px 0; }
.theme-astra-desertlight .article-card h3 { font-size: clamp(32px,3.6vw,46px); }
.theme-astra-desertlight .article-bottom { font-size: 13px; flex-wrap: wrap; }
.theme-astra-desertlight .resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 50px; }
.theme-astra-desertlight .note-card { border: 0; border-top: 1px solid var(--line); padding: 24px 0; }
.theme-astra-desertlight .ministry-gallery {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 42px 34px;
  columns: auto;
  align-items: start;
}
.theme-astra-desertlight .ministry-gallery figure { min-width: 0; margin: 0; }
.theme-astra-desertlight .gallery-open { display: block; height: auto; min-height: 44px; background: var(--dl-surface); }
.theme-astra-desertlight .block-gallery .ministry-gallery img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
}
.theme-astra-desertlight .gallery-open:hover img { transform: none; }
.theme-astra-desertlight .ministry-gallery figcaption { padding-top: 16px; font: 400 13px/1.7 var(--body); color: var(--muted); }
.theme-astra-desertlight .channel-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
.theme-astra-desertlight .channel-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.3fr);
  column-gap: 50px;
  padding: 32px 0;
  background: var(--paper);
  border: 0;
  border-top: 1px solid var(--line);
}
.theme-astra-desertlight .channel-card .eyebrow { grid-column: 1; margin: 0 0 12px; }
.theme-astra-desertlight .channel-card h3 { grid-column: 1; margin: 0 0 18px; }
.theme-astra-desertlight .channel-card > p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: 15px; }
.theme-astra-desertlight .channel-card .button { grid-column: 2; justify-self: start; margin: 12px 0 0; }
.theme-astra-desertlight .pathway-grid { grid-template-columns: repeat(2,minmax(0,1fr)); border: 0; gap: 0 34px; }
.theme-astra-desertlight .pathway { border: 0; border-top: 1px solid var(--line); padding: 22px 0; }
.theme-astra-desertlight .pathway h3 { margin: 0; font-size: 30px; }
.theme-astra-desertlight .pathway-arrow { margin: 10px 0 0; color: var(--accent); }
.theme-astra-desertlight .pathway:hover { background: var(--dl-surface); }
.theme-astra-desertlight .block-booking { padding: 40px 0; border-block: 1px solid var(--line); }
.theme-astra-desertlight .invitation-ribbon { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; }
.theme-astra-desertlight .ribbon-actions small { font-size: 13px; }
.theme-astra-desertlight .request-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 50px; }
.theme-astra-desertlight .request-note { border: 0; border-block: 1px solid var(--line); padding: 20px 0; font-size: 14px; }
.theme-astra-desertlight .engagement-form { min-width: 0; background: var(--paper); padding: 30px; }
.theme-astra-desertlight :is(input,select,textarea),
.theme-astra-desertlight .message-search input {
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  color: var(--ink);
  background: var(--paper);
  border-color: var(--muted);
  border-radius: 2px;
  font-size: 16px;
}
.theme-astra-desertlight input[type='checkbox'] { min-height: 20px; min-width: 20px; }
.theme-astra-desertlight :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }

.theme-astra-desertlight :is(.request-steps p) { font-size: 14px; }
.theme-astra-desertlight .engagement-list article { grid-template-columns: 150px minmax(0,1fr); gap: 24px 36px; }
.theme-astra-desertlight .engagement-list article > .text-link { grid-column: 2; justify-self: start; }
.theme-astra-desertlight .date-tile { background: var(--paper); border: 1px solid var(--line); font: 600 16px/1.5 var(--body); padding: 18px; }
.theme-astra-desertlight .contact-desk { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 60px; }
.theme-astra-desertlight .contact-person > img { width: 150px; height: auto; object-fit: contain; }
.theme-astra-desertlight .contact-option > span { letter-spacing: 0; font-size: 12px; }
.theme-astra-desertlight .network-row { grid-template-columns: 48px minmax(0,1fr) auto; gap: 22px; }
.theme-astra-desertlight .network-row:hover { padding-left: 0; }
.theme-astra-desertlight .network-row strong { font-size: 26px; line-height: 1.2; }
.theme-astra-desertlight .site-footer { padding-top: 40px; padding-bottom: 40px; }
.theme-astra-desertlight .site-footer :is(p,small,nav) { font: 400 13px/1.7 var(--body); }
.theme-astra-desertlight .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.theme-astra-desertlight .site-footer.footer-columns .footer-pages { grid-template-columns: repeat(2,minmax(0,1fr)); }
/* Explicit surfaces follow the shared tone's inherited tokens. */
.theme-astra-desertlight .tone-dark { --dl-surface: #303438; }
.theme-astra-desertlight .tone-accent { --dl-surface: #873029; }
.theme-astra-desertlight :is(.tone-dark,.tone-accent) :is(a,button,input,select,textarea):focus-visible { outline-color: #ffffff; }
.theme-astra-desertlight .site-header.tone-dark .site-nav.is-open {
  --paper: #ffffff;
  --ink: #24272b;
  --line: #d3d5d7;
  color: #24272b;
}
.theme-astra-desertlight .site-header.tone-dark .site-menu-toggle.is-open { color: #24272b; border-color: #54575c; }
@media (prefers-reduced-motion: no-preference) {
  .theme-astra-desertlight :is(.button,.text-link,.quiet-link,.site-nav a) {
    transition: opacity .18s ease-out, text-decoration-color .18s ease-out;
  }
  .theme-astra-desertlight .button:hover { opacity: .88; }
}
@media (max-width: 1000px) {
  .theme-astra-desertlight .hero-grid { gap: 36px; }
  .theme-astra-desertlight .hero-art { padding-inline: 16px; }
  .theme-astra-desertlight .request-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .theme-astra-desertlight .request-intro { max-width: 700px; }
}
@media (max-width: 760px) {
  .theme-astra-desertlight :is(.site-header,.site-main,.site-footer) { padding-left: 22px; padding-right: 22px; }
  .theme-astra-desertlight .site-header { padding-top: 18px; padding-bottom: 18px; }
  .theme-astra-desertlight .wordmark { font-size: 23px; gap: 8px; }
  .theme-astra-desertlight .brand-symbol { display: none; }
  .theme-astra-desertlight .site-header .header-cta { max-width: 30%; font-size: 12px; padding: 8px; }
  .theme-astra-desertlight .site-main > .block { padding-top: 42px; padding-bottom: 42px; margin-bottom: 0; }
  .theme-astra-desertlight .hero-grid { grid-template-columns: minmax(0,1fr); gap: 38px; }
  .theme-astra-desertlight .hero-copy h1 { font-size: clamp(56px,16vw,76px); max-width: 9ch; }
  .theme-astra-desertlight .hero-kicker { font-size: 28px; }
  .theme-astra-desertlight .hero-art { order: 0; width: min(100%,380px); justify-self: center; padding: 28px 18px 0; }
  .theme-astra-desertlight .hero-art::before { top: 12px; bottom: 48px; }
  .theme-astra-desertlight .hero-image { max-height: 62vh; width: 100%; height: auto; }
  .theme-astra-desertlight .hero-meta { margin-top: 30px; gap: 10px; }
  .theme-astra-desertlight .hero-meta span { flex: 1 1 100%; }
  .theme-astra-desertlight .page-intro { padding-top: 40px; }
  .theme-astra-desertlight .page-intro h1 { font-size: clamp(43px,12vw,60px); }
  .theme-astra-desertlight .block-about.variant-wide .about-grid,
  .theme-astra-desertlight.page-about .block-about .about-grid,
  .theme-astra-desertlight :is(.topics-layout,.ministry-grid,.resource-grid,.contact-desk,.invitation-ribbon,.ministry-gallery,.sermon-card) {
    grid-template-columns: minmax(0,1fr);
    gap: 26px;
  }
  .theme-astra-desertlight .sermon-card { padding: 25px 0; }
  .theme-astra-desertlight .sermon-card h3 { font-size: 28px; }
  .theme-astra-desertlight .channel-card { display: block; padding: 28px 0; }
  .theme-astra-desertlight .channel-card > p:not(.eyebrow) { margin-bottom: 20px; }
  .theme-astra-desertlight .pathway-grid { grid-template-columns: minmax(0,1fr); }
  .theme-astra-desertlight .pathway { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .theme-astra-desertlight .pathway p:empty { display: none; }
  .theme-astra-desertlight .pathway-arrow { margin: 0; }
  .theme-astra-desertlight .engagement-form { padding: 22px 16px; }

  .theme-astra-desertlight .engagement-list article { grid-template-columns: minmax(0,1fr); }
  .theme-astra-desertlight .engagement-list article > .text-link { grid-column: auto; }
  .theme-astra-desertlight .date-tile { justify-self: start; }
  .theme-astra-desertlight .network-row { grid-template-columns: minmax(0,1fr) 24px; gap: 12px; }
  .theme-astra-desertlight .network-monogram { display: none; }
  .theme-astra-desertlight .network-action { font-size: 0; }
  .theme-astra-desertlight .network-action::after { content: '\2197'; font-size: 22px; }
  .theme-astra-desertlight .site-footer.footer-columns .footer-pages { gap: 4px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-astra-desertlight *,
  .theme-astra-desertlight *::before,
  .theme-astra-desertlight *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* W8-F5 invitation form: this design only sets the shared form tokens (src/form.css owns the controls). */
.theme-astra-desertlight .engagement-form{--pn-radius:2px}
