/* Homepage revision: the original 2.0 font stacks and navigation remain in use.
   Three interface colors: paper, deep glass blue, deep berry. Photographs and
   the original church logo retain their source colors. */
.home-refinement {
  --paper: #f7f1e8;
  --paper-warm: #f7f1e8;
  --white: #f7f1e8;
  --ink: #0b5965;
  --ink-deep: #0b5965;
  --ink-soft: #0b5965;
  --glass-blue: #0b5965;
  --glass-blue-deep: #0b5965;
  --green: #0b5965;
  --berry: #74253f;
  --berry-deep: #74253f;
  --gold: #74253f;
  --amber: #74253f;
  --line: #0b5965;
  --shadow: none;
  color: var(--ink);
  background: var(--paper);
}
.home-refinement :focus-visible { outline-color: var(--berry); }
.home-refinement ::selection { color: var(--paper); background: var(--berry); }
.home-refinement .site-header {
  border-color: var(--paper);
  background: var(--paper);
  backdrop-filter: none;
}
.home-refinement .site-nav { background: var(--paper); }
.home-refinement .header-visit,
.home-refinement .button-primary { color: var(--paper); background: var(--berry); box-shadow: none; }
.home-refinement .button:hover { box-shadow: none; }
.home-refinement .button-primary:hover,
.home-refinement .header-visit:hover { background: var(--glass-blue-deep); }
.home-refinement .text-link { color: var(--berry); text-decoration-color: var(--berry); }
.home-refinement .hero { background: var(--paper); }
.home-refinement .hero::before,
.home-refinement .questions::before { content: none; }
.home-refinement .hero-scene { position: relative; overflow: hidden; }
.home-refinement .hero-aerial {
  position: absolute;
  inset: 0 0 0 auto;
  width: 64%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.home-refinement .hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--paper) 0%, var(--paper) 33%, rgba(247,241,232,.96) 42%, rgba(247,241,232,.8) 48%, rgba(247,241,232,.2) 60%, transparent 73%);
}
.home-refinement .hero-grid { min-height: 560px; padding-top: 0; }
.home-refinement .hero-copy { padding-block: 3.5rem; }
.home-refinement .hero h1 { font-size: clamp(3rem, 4.7vw, 4.6rem); }
.home-refinement .hero-lead { margin-top: 1.5rem; font-size: clamp(1.05rem, 1.35vw, 1.2rem); }
.home-refinement .hero-actions { gap: 1.4rem; margin-top: 1.75rem; flex-wrap: wrap; }
.home-refinement .hero-proof { margin-top: 2rem; }
.home-refinement .hero-wayfinding { border-color: var(--line); background: var(--paper); }
.home-refinement .wayfinding-item { border-color: var(--line); }
.home-refinement .wayfinding-item:hover { background: var(--paper); color: var(--berry); }

/* Space, rather than alternating backgrounds, separates the main sections. */
.home-refinement .calm-section,
.home-refinement .questions,
.home-refinement .archive {
  padding-block: clamp(5.5rem, 9vw, 8rem);
  background: var(--paper);
}
.home-refinement .calm-section h2,
.home-refinement .questions h2,
.home-refinement .archive h2 {
  margin: 0;
  color: var(--berry);
  font-family: var(--font-serif);
  font-size: clamp(2.45rem, 3.6vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-wrap: balance;
}
.home-refinement .calm-copy { max-width: 680px; }
.home-refinement .calm-copy p {
  margin: 1.5rem 0 0;
  color: var(--ink);
  font-size: 1.075rem;
  line-height: 1.8;
}
.home-refinement .calm-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.75rem; }
.home-refinement .calm-welcome-grid {
  display: grid;
  grid-template-columns: minmax(0, 780px) 1fr;
  align-items: center;
  gap: 5rem;
}
.home-refinement .calm-welcome-grid .calm-copy { max-width: 780px; }
.home-refinement .calm-dove { width: 120px; height: auto; justify-self: center; }
.home-refinement .calm-begin { padding-block: 4rem 5rem; }
.home-refinement .calm-begin-inner { text-align: center; }
.home-refinement .calm-begin-inner::before {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 0 auto 2rem;
  background: var(--berry);
}
.home-refinement .calm-begin h2 { font-size: clamp(2.1rem, 3vw, 2.75rem); }
.home-refinement .calm-begin p { margin: 1.4rem 0; font-size: 1.075rem; line-height: 1.8; }
.home-refinement .calm-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr);
  align-items: center;
  gap: clamp(4rem, 9vw, 9rem);
}
.home-refinement .calm-vault { width: 320px; height: auto; justify-self: center; }
.home-refinement .calm-life-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(4rem, 9vw, 9rem);
}
.home-refinement .calm-arcade { width: 300px; height: auto; justify-self: center; }
.home-refinement .calm-life h2 { color: var(--glass-blue-deep); }
.home-refinement .calm-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(4rem, 9vw, 9rem);
  border-top: 1px solid var(--berry);
  padding-top: 4rem;
}
.home-refinement .calm-editorial-grid .calm-copy p:first-child { margin-top: 0; }
.home-refinement .calm-everyday { padding-block: 4rem 6rem; }
.home-refinement .calm-place-intro { max-width: 800px; }
.home-refinement .calm-paths { margin-top: 3rem; }
.home-refinement .calm-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, .85fr);
  align-items: center;
  gap: 2.5rem;
  border-top: 1px solid var(--line);
  padding-block: 2.25rem;
  text-decoration: none;
}
.home-refinement .calm-path:last-child { border-bottom: 1px solid var(--line); }
.home-refinement .calm-path h3 { margin: 0; font: 500 clamp(1.5rem, 2vw, 1.8rem)/1.2 var(--font-serif); }
.home-refinement .calm-path p { margin: 0; font-size: .95rem; line-height: 1.7; }
.home-refinement .calm-path > span { display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: var(--berry); font-size: .85rem; font-weight: 750; }
.home-refinement .calm-path b { font-weight: 400; font-size: 1.2rem; }
.home-refinement .calm-path:hover h3 { color: var(--berry); }
.home-refinement .calm-path:hover > span { text-decoration: underline; text-underline-offset: .3em; }

/* Keep the question form complete, readable and on the same paper surface. */
.home-refinement .calm-questions-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 7vw, 7rem);
}
.home-refinement .questions-intro { position: static; }
.home-refinement .questions h2 { color: var(--glass-blue-deep); }
.home-refinement .questions-intro > p:not(.eyebrow) { margin-top: 1.5rem; font-size: 1.075rem; line-height: 1.8; }
.home-refinement .questions-further { margin-top: 3rem; border-top: 1px solid var(--berry); padding-top: 1.5rem; }
.home-refinement .questions-further p { margin: 0 0 1rem; font-size: .96rem; line-height: 1.75; }
.home-refinement .question-form-wrap { border-top: 2px solid var(--berry); padding: 2rem 0 0; background: var(--paper); box-shadow: none; }
.home-refinement .question-form { gap: 1.5rem; }
.home-refinement .question-form label > small,
.home-refinement .question-form label small,
.home-refinement .choice small,
.home-refinement .consent { color: var(--ink); }
.home-refinement .question-form input[type="text"],
.home-refinement .question-form input[type="email"],
.home-refinement .question-form select,
.home-refinement .question-form textarea { border-color: var(--glass-blue-deep); color: var(--ink); background-color: var(--paper); }
.home-refinement .question-form textarea::placeholder { color: var(--ink); opacity: 1; }
.home-refinement .question-form select {
  appearance: none;
  padding-right: 1.5rem;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position: calc(100% - 5px) 50%, 100% 50%;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.home-refinement .question-form .choice { border-color: var(--line); }
.home-refinement .question-form .choice:hover { border-color: var(--berry); }
.home-refinement .question-form input[type="radio"],
.home-refinement .question-form input[type="checkbox"] {
  appearance: none;
  color: var(--ink);
  width: 18px;
  height: 18px;
  border: 1px solid var(--ink);
  background: var(--paper);
  flex-shrink: 0;
}
.home-refinement .question-form input[type="radio"] { border-radius: 50%; }
.home-refinement .question-form input[type="radio"]:checked,
.home-refinement .question-form input[type="checkbox"]:checked { background: var(--berry); box-shadow: inset 0 0 0 3px var(--paper); }
.home-refinement .question-form [hidden] { display: none; }
.home-refinement .question-form .delivery-note { margin: 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink); font-size: .85rem; }
.home-refinement .question-form .form-submit:disabled { border: 1px solid var(--ink); opacity: 1; color: var(--ink); background: var(--paper); cursor: not-allowed; transform: none; box-shadow: none; }
.home-refinement .archive { padding-top: 5rem; }
.home-refinement .archive-heading { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; align-items: center; }
.home-refinement .archive-empty { max-width: none; font-size: .95rem; }

/* Retain the 2.0 closing composition and footer, using blue and paper only. */
.home-refinement .closing-cta { min-height: 650px; }
.home-refinement .closing-overlay {
  background: linear-gradient(90deg, rgba(11,89,101,.97) 0%, rgba(11,89,101,.9) 42%, rgba(11,89,101,.3) 76%, rgba(11,89,101,.18) 100%), linear-gradient(0deg, rgba(11,89,101,.55), transparent 45%);
}
.home-refinement .closing-cta h2 { max-width: 830px; font-size: clamp(2.8rem, 4.7vw, 4.6rem); line-height: 1.04; }
.home-refinement .closing-lead { max-width: 580px; margin: 1.75rem 0 0; font-size: 1rem; line-height: 1.75; }
.home-refinement .closing-cta .eyebrow { color: var(--paper); }
.home-refinement .closing-cta :focus-visible,
.home-refinement .site-footer :focus-visible { outline-color: var(--paper); }
.home-refinement .closing-cta .eyebrow > span { background: var(--paper); }
.home-refinement .light-link { text-decoration-color: var(--paper); }
.home-refinement .site-footer,
.home-refinement .footer-brand > p,
.home-refinement .footer-group h2,
.home-refinement .footer-group a,
.home-refinement .footer-group p,
.home-refinement .footer-bottom { color: var(--paper); text-decoration-color: var(--paper); }
.home-refinement .footer-main { border-color: var(--paper); }

/* The approved personal welcome lives on its own reading page. */
.home-refinement .pastor-article { width: min(800px, calc(100% - 4rem)); margin: 0 auto; padding-block: clamp(4rem, 8vw, 7rem); }
.home-refinement .pastor-article .shell { width: 100%; }
.home-refinement .pastor-article-header { margin-bottom: 4rem; }
.home-refinement .pastor-article h1 { margin: 0; color: var(--berry); font: 500 clamp(2.8rem, 4.5vw, 4.2rem)/1.08 var(--font-serif); letter-spacing: -.035em; text-wrap: balance; }
.home-refinement .pastor-article h2 { margin: 3.5rem 0 1.5rem; color: var(--berry); font: 500 clamp(1.85rem, 3vw, 2.4rem)/1.18 var(--font-serif); letter-spacing: -.025em; }
.home-refinement .pastor-article p { font-size: 1.1rem; line-height: 1.85; margin-block: 1.4rem; }
.home-refinement .pastor-article .eyebrow { font-size: .75rem; line-height: 1.6; }
.home-refinement .pastor-article .calm-links { margin-top: 2rem; }

@media (max-width: 1120px) and (min-width: 901px) {
  .home-refinement .hero h1 { font-size: clamp(2.8rem, 4.5vw, 4rem); }
  .home-refinement .calm-story-grid { gap: 3rem; }
}
@media (max-width: 900px) {
  .home-refinement .hero-grid { min-height: 590px; }
  .home-refinement .hero-copy { max-width: 560px; }
  .home-refinement .hero-aerial { width: 100%; }
  .home-refinement .hero-gradient { background: linear-gradient(90deg, rgba(247,241,232,.98), rgba(247,241,232,.95) 48%, rgba(247,241,232,.45) 78%, rgba(247,241,232,.1)); }
  .home-refinement .site-nav { border-color: var(--line); box-shadow: none; }
  .home-refinement .calm-welcome-grid { grid-template-columns: minmax(0, 1fr) 110px; gap: 3rem; }
  .home-refinement .calm-dove { width: 100px; }
  .home-refinement .calm-story-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: 2.5rem; }
  .home-refinement .calm-life-grid { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 3rem; }
  .home-refinement .calm-questions-grid { grid-template-columns: 1fr; gap: 4rem; }
  .home-refinement .questions-intro > p:not(.eyebrow) { max-width: none; }
  .home-refinement .questions-further { max-width: 580px; }
  .home-refinement .calm-editorial-grid { grid-template-columns: .8fr 1.2fr; gap: 3rem; }
  .home-refinement .calm-path { grid-template-columns: 1fr 1.5fr; gap: 1rem 3rem; }
  .home-refinement .calm-path > span { grid-column: 2; justify-content: start; }
  .home-refinement .archive-heading { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 680px) {
  .home-refinement .hero-grid { min-height: auto; padding-top: 220px; }
  .home-refinement .hero-aerial { height: 365px; object-position: center top; }
  .home-refinement .hero-gradient { background: linear-gradient(180deg, transparent 0, rgba(247,241,232,.15) 130px, var(--paper) 280px); }
  .home-refinement .hero-copy { padding-block: 2rem 2.5rem; }
  .home-refinement .hero h1 { font-size: clamp(2.6rem, 10.9vw, 3.5rem); }
  .home-refinement .hero-proof div { grid-template-columns: 105px minmax(0, 1fr); column-gap: 1rem; }
  .home-refinement .calm-section,
  .home-refinement .questions,
  .home-refinement .archive { padding-block: 4.5rem; }
  .home-refinement .calm-section h2,
  .home-refinement .questions h2,
  .home-refinement .archive h2 { font-size: clamp(2rem, 8.5vw, 2.75rem); line-height: 1.13; }
  .home-refinement .calm-copy p,
  .home-refinement .questions-intro > p:not(.eyebrow) { font-size: 1rem; line-height: 1.8; }
  .home-refinement .calm-welcome-grid,
  .home-refinement .calm-story-grid,
  .home-refinement .calm-life-grid,
  .home-refinement .calm-editorial-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-refinement .calm-dove { width: 82px; }
  .home-refinement .calm-begin { padding-block: 2.5rem; }
  .home-refinement .calm-begin p br { display: none; }
  .home-refinement .calm-vault { width: 220px; }
  .home-refinement .calm-arcade { width: 220px; grid-row: 2; }
  .home-refinement .calm-editorial-grid { padding-top: 3rem; }
  .home-refinement .calm-path { grid-template-columns: 1fr; gap: .9rem; padding-block: 2rem; }
  .home-refinement .calm-path > span { grid-column: 1; }
  .home-refinement .question-form-wrap { padding-top: 2rem; }
  .home-refinement .closing-cta { min-height: 600px; }
  .home-refinement .closing-overlay { background: linear-gradient(90deg, rgba(11,89,101,.97), rgba(11,89,101,.9) 55%, rgba(11,89,101,.5)); }
  .home-refinement .closing-cta h2 { font-size: clamp(2.4rem, 9.8vw, 3.2rem); }
  .home-refinement .closing-lead { font-size: .95rem; }
  .home-refinement .pastor-article { width: calc(100% - 2.5rem); padding-block: 4rem; }
  .home-refinement .pastor-article p { font-size: 1rem; }
}
