/* Homepage presentation. Shared pages continue to use site.css alone. */
.page-home {
  --background: #fcfaf6;
  --surface: #f7f2e8;
  --text: #332c26;
  --muted: #62584e;
  --accent: #751d2b;
  --home-gold: #806438;
  --home-line: #dfd4c3;
  --shell: min(1120px, calc(100% - 48px));
  background: var(--background);
  color: var(--text);
}

.page-home .site-main { padding-bottom: 0; }
.page-home .site-header { background: var(--background); }
.page-home .site-header__inner { padding: 22px 0; }
.page-home .home-brand { font-size: 31px; }
.page-home .site-nav { gap: 27px; padding: 0; border: 0; }
.page-home .site-nav__link {
  padding: 4px 0;
  color: var(--text);
  font-size: 12px;
  border-bottom: 1px solid transparent;
}
.page-home .site-nav__link:hover,
.page-home .site-nav__link.is-current { color: var(--accent); border-color: var(--accent); }
.page-home a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }

.page-home .home-eyebrow {
  margin: 0 0 14px;
  color: var(--home-gold);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.page-home .home-heading {
  margin: 0 0 20px;
  font: 500 clamp(33px, 3.5vw, 45px)/1.12 "Cormorant Garamond", Georgia, serif;
}
.page-home .home-hero { position: relative; isolation: isolate; background: var(--surface); }
.page-home .home-hero__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right top;
}
.page-home .home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #f7f2e8 0%, rgba(247, 242, 232, .98) 29%, rgba(247, 242, 232, .9) 38%, rgba(247, 242, 232, 0) 65%);
}
.page-home .home-hero__inner { min-height: 565px; display: flex; align-items: center; padding: 42px 0; }
.page-home .home-hero__content { width: 51%; max-width: 540px; }
.page-home .home-hero__title {
  margin: 0;
  font: 500 clamp(55px, 5.8vw, 80px)/.95 "Cormorant Garamond", Georgia, serif;
  letter-spacing: -.025em;
}
.page-home .home-hero__subtitle {
  margin: 20px 0 18px;
  font: 500 16px/1.5 "Cormorant Garamond", Georgia, serif;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.page-home .home-rule { width: 58px; height: 1px; margin-bottom: 20px; background: var(--home-gold); }
.page-home .home-hero__intro { max-width: 440px; margin: 0; color: #4f463c; font-size: 13px; line-height: 1.85; }
.page-home .home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 23px; }
.page-home .home-button {
  min-height: 44px;
  padding: 10px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #b39386;
  border-radius: 5px;
  background: rgba(252, 250, 246, .85);
  color: var(--accent);
  font-size: 11px;
  line-height: 1.5;
  text-decoration: none;
}
.page-home .home-button svg { width: 19px; height: 15px; fill: currentColor; }
.page-home .home-button:hover { background: #eee5d7; }
.page-home .home-button--primary { background: var(--accent); border-color: var(--accent); color: #fffaf4; }
.page-home .home-button--primary:hover { background: #561320; }

.page-home .home-content { background-image: var(--home-paper); background-size: 625px 625px; }
.page-home .home-story { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 46px; padding: 42px 0 30px; }
.page-home .home-story__photo { width: 100%; height: auto; border-radius: 4px; }
.page-home .home-story__copy { min-width: 0; padding-left: 36px; border-left: 1px solid #b79b67; }
.page-home .home-story__body { color: var(--muted); font-size: 13px; line-height: 1.85; }
.page-home .home-story__body p { margin: 0 0 18px; }
.page-home .home-quote { position: relative; padding-right: 86px; }
.page-home .home-quote blockquote { margin: 0; color: var(--home-gold); font: italic 500 22px/1.5 "Cormorant Garamond", Georgia, serif; }
.page-home .home-quote p { margin: 0; }
.page-home .home-quote p::before { content: "“"; }
.page-home .home-quote p::after { content: "”"; }
.page-home .home-quote img { position: absolute; right: -5px; bottom: 0; width: 78px; height: auto; opacity: .8; }

.page-home .home-resources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 0 0 34px; }
.page-home .home-resource {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 9px;
  background: rgba(252, 250, 246, .7);
  border: 1px solid var(--home-line);
  border-radius: 6px;
  text-decoration: none;
}
.page-home .home-resource:hover { border-color: #a98b60; box-shadow: 0 3px 15px rgba(67, 48, 29, .07); }
.page-home .home-resource__image { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 3px; }
.page-home .home-resource__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 16px 12px 6px; }
.page-home .home-resource h2 { margin: 0 0 10px; font: 500 29px/1.1 "Cormorant Garamond", Georgia, serif; }
.page-home .home-resource p { margin: 0 0 18px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.page-home .home-resource__arrow { margin-top: auto; color: var(--home-gold); font-size: 24px; line-height: 1; }

.page-home .home-prayer { position: relative; overflow: hidden; padding: 38px 0 36px; background: rgba(247, 242, 232, .58); }
.page-home .home-prayer__inner { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 52px; align-items: center; }
.page-home .home-prayer__decoration { position: absolute; bottom: 12px; left: -36px; width: 160px; height: auto; opacity: .48; }
.page-home .home-prayer__copy { min-width: 0; }
.page-home .home-section__text { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.page-home .home-video { overflow: hidden; border-radius: 5px; background: #201e1b; }
.page-home .home-video__frame { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.page-home .home-youtube-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.page-home .home-youtube-note a { color: var(--accent); text-underline-offset: 3px; }

.page-home .home-footer { position: relative; isolation: isolate; overflow: hidden; padding: 0 0 17px; background: var(--surface); }
.page-home .home-footer__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; }
.page-home .home-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 50% 42%, rgba(250, 245, 233, .94) 0%, rgba(250, 245, 233, .81) 28%, rgba(250, 245, 233, .16) 74%), linear-gradient(0deg, rgba(250, 245, 233, .92), transparent 30%);
}
.page-home .home-footer__inner { position: relative; min-height: 260px; padding: 38px 130px 28px; }
.page-home .home-footer__contact { max-width: 650px; margin: 0 auto; text-align: center; }
.page-home .home-footer .home-heading { margin-bottom: 12px; font-size: 42px; }
.page-home .home-footer__contact p { margin: 0 0 18px; font-size: 12px; line-height: 1.8; }
.page-home .home-footer__email { display: inline-block; min-height: 44px; padding: 10px 17px; border: 1px solid #9c8058; border-radius: 5px; background: rgba(252, 250, 246, .65); color: var(--text); font-size: 12px; line-height: 1.8; text-decoration: none; }
.page-home .home-footer__email:hover { background: var(--background); }
.page-home .home-footer__socials { position: absolute; top: 50%; right: 0; display: flex; gap: 12px; }
.page-home .home-footer__socials a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid #aa916a; border-radius: 50%; color: #70542b; background: rgba(252, 250, 246, .65); }
.page-home .home-footer__socials a:hover { background: var(--background); }
.page-home .home-footer__socials svg { width: 18px; height: 15px; fill: currentColor; }
.page-home .home-footer__socials a[href^="mailto:"] svg { width: 20px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.page-home .site-footer__copy { position: relative; margin: 0; color: #524639; text-align: center; font-size: 10px; }

@media (min-width: 1600px) {
  .page-home .home-hero__inner { min-height: 640px; }
}

@media (max-width: 1100px) {
  .page-home .home-hero__content { width: 56%; }
  .page-home .home-hero::after { background: linear-gradient(90deg, #f7f2e8 0%, rgba(247, 242, 232, .96) 35%, rgba(247, 242, 232, .82) 44%, transparent 72%); }
  .page-home .home-story { grid-template-columns: 235px minmax(0, 1fr); gap: 30px; }
  .page-home .home-story__copy { padding-left: 27px; }
  .page-home .home-prayer__decoration { left: -90px; }
}

@media (max-width: 900px) {
  .page-home { --shell: calc(100% - 40px); }
  .page-home .site-header__inner { flex-direction: column; align-items: center; gap: 16px; padding: 20px 0; }
  .page-home .site-nav { justify-content: center; gap: 23px; }
  .page-home .site-nav__link { font-size: 11px; }
  .page-home .home-hero { display: flex; flex-direction: column; }
  .page-home .home-hero::after { display: none; }
  .page-home .home-hero__inner { min-height: 0; padding: 34px 0; }
  .page-home .home-hero__content { width: 100%; max-width: 600px; margin: 0 auto; }
  .page-home .home-hero__title { font-size: 60px; }
  .page-home .home-hero__intro { max-width: 100%; }
  .page-home .home-hero__image { position: relative; order: 1; z-index: auto; height: auto; aspect-ratio: 16 / 9; object-position: right top; }
  .page-home .home-story { grid-template-columns: 1fr; gap: 28px; padding: 34px 0 28px; }
  .page-home .home-story__photo { max-width: 310px; justify-self: center; }
  .page-home .home-story__copy { border: 0; padding: 0; }
  .page-home .home-heading { font-size: 38px; }
  .page-home .home-quote { padding-right: 70px; }
  .page-home .home-quote img { width: 60px; }
  .page-home .home-resources { grid-template-columns: 1fr; gap: 20px; padding-bottom: 30px; }
  .page-home .home-resource__body { padding: 18px 15px 10px; }
  .page-home .home-resource p { font-size: 13px; }
  .page-home .home-prayer { padding: 32px 0; }
  .page-home .home-prayer__inner { grid-template-columns: 1fr; gap: 25px; }
  .page-home .home-prayer__decoration { display: none; }
  .page-home .home-footer__inner { padding: 34px 0 20px; }
  .page-home .home-footer__socials { position: static; justify-content: center; margin-top: 22px; }
  .page-home .home-footer__image { object-position: 35% 50%; }
  .page-home .home-footer::after { background: rgba(250, 245, 233, .82); }
}

@media (max-width: 420px) {
  .page-home { --shell: calc(100% - 36px); }
  .page-home .site-nav { gap: 14px; }
  .page-home .home-hero__title { font-size: clamp(44px, 13.3vw, 52px); }
  .page-home .home-hero__subtitle { font-size: 14px; letter-spacing: .14em; }
  .page-home .home-actions { gap: 9px; }
  .page-home .home-button { padding-inline: 12px; font-size: 10px; }
  .page-home .home-hero__image { aspect-ratio: 4 / 3; }
  .page-home .home-quote { padding-right: 0; }
  .page-home .home-quote img { display: none; }
  .page-home .home-footer__email { padding-inline: 12px; font-size: 11px; }
}
