:root {
  --navy: #071b36;
  --navy-2: #0d2b50;
  --navy-3: #12365f;
  --gold: #c89a43;
  --gold-light: #efd18b;
  --cream: #f5f0e5;
  --cream-2: #fbf8f1;
  --ink: #16233a;
  --muted: #5e6570;
  --white: #ffffff;
  --line: rgba(7, 27, 54, .14);
  --shadow: 0 24px 70px rgba(7, 27, 54, .15);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream-2);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--white);
  color: var(--navy);
  text-decoration: none;
  border-radius: 4px;
}
.skip-link:focus { top: 12px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(5, 20, 42, .97);
  border-bottom: 1px solid rgba(239, 209, 139, .26);
  backdrop-filter: blur(12px);
}
.nav-wrap {
  width: min(var(--max), calc(100% - 44px));
  height: 84px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand { width: 255px; margin-right: auto; }
.brand img { width: 100%; height: auto; }
nav { display: flex; gap: 24px; align-items: center; }
nav a {
  color: rgba(255,255,255,.88);
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  letter-spacing: .04em;
}
nav a:hover { color: var(--gold-light); }
.nav-cta {
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--navy);
  background: var(--gold-light);
  padding: 10px 15px;
  border-radius: 2px;
}
.menu-button {
  display: none;
  background: transparent;
  color: var(--white);
  border: 1px solid rgba(255,255,255,.35);
  padding: 9px 12px;
  font: 700 12px Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 77% 27%, rgba(239,209,139,.18), transparent 25%),
    radial-gradient(circle at 74% 55%, rgba(51,92,124,.30), transparent 30%),
    linear-gradient(135deg, #06162f 0%, #0a2446 48%, #08192f 100%);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7,27,54,.15), transparent 45%, rgba(7,27,54,.3));
  pointer-events: none;
}
.hero-ridges,
.hero-ridges::before,
.hero-ridges::after {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -28px;
  height: 240px;
  content: '';
  background: #0b2c4c;
  clip-path: polygon(0 69%, 10% 55%, 20% 67%, 31% 42%, 42% 61%, 54% 34%, 66% 59%, 78% 43%, 88% 60%, 100% 48%, 100% 100%, 0 100%);
  opacity: .88;
}
.hero-ridges::before {
  bottom: 40px;
  left: 2%;
  right: 0;
  height: 210px;
  background: #143c5a;
  opacity: .7;
  clip-path: polygon(0 64%, 12% 47%, 24% 63%, 38% 29%, 49% 62%, 63% 38%, 74% 58%, 87% 31%, 100% 54%, 100% 100%, 0 100%);
}
.hero-ridges::after {
  bottom: 75px;
  left: 14%;
  right: -5%;
  height: 170px;
  background: #2d5c66;
  opacity: .3;
  clip-path: polygon(0 67%, 16% 42%, 31% 59%, 47% 25%, 62% 60%, 78% 37%, 100% 64%, 100% 100%, 0 100%);
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: min(var(--max), calc(100% - 56px));
  min-height: 720px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 60px;
  align-items: center;
  padding: 82px 0 135px;
}
.hero-copy { max-width: 700px; }
.eyebrow {
  margin: 0 0 12px;
  font-family: Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 800;
  font-size: 12px;
  color: var(--gold-light);
}
.eyebrow.dark { color: #8a6322; }
.hero h1 {
  margin: 0 0 24px;
  max-width: 780px;
  font-size: clamp(48px, 6vw, 82px);
  line-height: .98;
  font-weight: 700;
  letter-spacing: -.03em;
}
.hero-lead {
  max-width: 670px;
  margin: 0;
  font-size: clamp(18px, 1.7vw, 23px);
  line-height: 1.55;
  color: rgba(255,255,255,.86);
}
.hero-actions, .actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 19px;
  border: 1px solid transparent;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button-gold { background: var(--gold-light); color: var(--navy); border-color: var(--gold-light); }
.button-gold:hover { background: #f6dfa9; }
.button-ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,.55); }
.button-ghost:hover { border-color: var(--gold-light); color: var(--gold-light); }
.button-navy { background: var(--navy); color: var(--white); border-color: var(--navy); }
.button.full { width: 100%; }
.hero-mark-wrap { display: flex; justify-content: center; align-items: center; }
.hero-mark {
  width: min(500px, 42vw);
  filter: drop-shadow(0 22px 38px rgba(0,0,0,.28));
}
.hero-bottom-line {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 42px;
  width: min(780px, 70vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(239,209,139,.78), transparent);
}

.section { padding: 96px max(28px, calc((100vw - var(--max))/2)); }
.section-heading h2,
.two-column-copy h2,
.rosary h2,
.join h2,
.origin h2,
.fatima h2,
.bentonville-2027 h2 {
  margin: 8px 0 20px;
  color: var(--navy);
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: 1.03;
  letter-spacing: -.025em;
}
.section-heading p { max-width: 810px; margin-left: auto; margin-right: auto; font-size: 19px; }
.centered { text-align: center; }
.narrow { max-width: 900px; margin: 0 auto; }

.mission { background: var(--cream-2); }
.mission-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 55px auto 0;
  max-width: var(--max);
}
.mission-card {
  position: relative;
  padding: 34px 30px;
  background: var(--white);
  border: 1px solid rgba(200,154,67,.28);
  box-shadow: 0 10px 30px rgba(7,27,54,.07);
}
.mission-card::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
}
.symbol { color: #9a6d25; font-size: 32px; line-height: 1; }
.mission-card h3 { margin: 17px 0 10px; color: var(--navy); font-size: 22px; }
.mission-card p { margin: 0; color: #4f5967; }
blockquote {
  max-width: 810px;
  margin: 70px auto 0;
  padding: 0 30px;
  text-align: center;
  color: var(--navy);
}
blockquote p { margin: 0; font-size: clamp(24px, 3vw, 36px); line-height: 1.35; font-style: italic; }
blockquote cite { display: block; margin-top: 16px; color: #8a6322; font-style: normal; font-weight: 700; }

.fatima {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  min-height: 900px;
  background: var(--navy);
  color: var(--white);
}
.fatima-image {
  min-height: 900px;
  background:
    linear-gradient(90deg, transparent 78%, rgba(7,27,54,.62)),
    url('assets/fatima-golden-hour.webp') center 44%/cover no-repeat;
}
.fatima-copy { padding: 82px max(42px, calc((100vw - var(--max))/2)) 74px 68px; align-self: center; }
.fatima h2 { color: var(--white); max-width: 680px; }
.fatima-location { margin: -5px 0 30px; color: var(--gold-light); font-size: 27px; font-style: italic; }
.event-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 26px 0;
  border-top: 1px solid rgba(239,209,139,.35);
  border-bottom: 1px solid rgba(239,209,139,.35);
}
.event-facts div { display: grid; grid-template-columns: 86px 1fr; gap: 16px; padding: 10px 0; }
.event-facts span { color: var(--gold-light); font: 700 11px Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.event-facts strong { font-weight: 400; color: rgba(255,255,255,.93); }
.fatima-copy > p:not(.eyebrow):not(.fatima-location):not(.small-copy) { color: rgba(255,255,255,.84); }
.three-words { margin: 28px 0 12px; display: flex; gap: 13px; flex-wrap: wrap; align-items: center; color: var(--gold-light); font-size: 22px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.three-words i { opacity: .55; font-style: normal; }
.small-copy { font-size: 14px; color: rgba(255,255,255,.68); }
.text-link { display: inline-block; font-weight: 700; color: #7e5a20; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.text-link.light { color: var(--gold-light); }

.fatima-details { background: #efe6d6; }
.two-column-copy {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 80px;
  align-items: start;
}
.two-column-copy p { margin-top: 0; font-size: 18px; }

.origin { display: grid; grid-template-columns: 1.06fr .94fr; background: #08192f; color: var(--white); }
.origin-photo-wrap { position: relative; min-height: 760px; overflow: hidden; }
.origin-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; position: absolute; inset: 0; }
.origin-photo-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 75%, rgba(8,25,47,.72)); }
.photo-caption { position: absolute; z-index: 2; left: 28px; bottom: 24px; display: flex; flex-direction: column; padding: 12px 15px; background: rgba(5,20,42,.78); border-left: 3px solid var(--gold-light); }
.photo-caption strong { color: var(--white); }
.photo-caption span { color: var(--gold-light); font-size: 13px; }
.origin-copy { padding: 84px max(42px, calc((100vw - var(--max))/2)) 84px 64px; align-self: center; }
.origin h2 { color: var(--white); }
.origin-copy p { color: rgba(255,255,255,.82); }
.attendance { margin: 28px 0; padding: 17px 0; border-top: 1px solid rgba(239,209,139,.28); border-bottom: 1px solid rgba(239,209,139,.28); }
.attendance strong { display: block; color: var(--gold-light); font-size: 46px; line-height: 1; }
.attendance span { display: block; margin-top: 5px; color: rgba(255,255,255,.77); }

.gallery { background: var(--cream); }
.gallery-grid {
  max-width: var(--max);
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 245px;
  gap: 12px;
}
.gallery-grid figure { margin: 0; overflow: hidden; background: #d9d1c2; box-shadow: 0 8px 22px rgba(7,27,54,.12); }
.gallery-grid figure.wide { grid-column: span 2; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gallery-grid figure:hover img { transform: scale(1.025); }

.bentonville-2027 { position: relative; min-height: 570px; display: grid; place-items: center; overflow: hidden; color: var(--white); }
.bentonville-2027-bg { position: absolute; inset: 0; background: url('assets/15005.webp') center 42%/cover no-repeat; transform: scale(1.02); }
.bentonville-2027-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,20,42,.92) 0%, rgba(5,20,42,.75) 47%, rgba(5,20,42,.28) 100%), linear-gradient(0deg, rgba(5,20,42,.42), transparent); }
.bentonville-2027-copy { position: relative; z-index: 2; width: min(var(--max), calc(100% - 56px)); padding: 80px 0; }
.bentonville-2027-copy > * { max-width: 700px; }
.bentonville-2027 h2 { color: var(--white); }
.bentonville-2027-copy p { color: rgba(255,255,255,.84); font-size: 18px; }
.date-line { color: var(--gold-light) !important; font-weight: 700; }
.tentative { font-size: 13px !important; font-family: Arial, sans-serif; letter-spacing: .03em; }

.rosary {
  background: var(--cream-2);
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  align-items: center;
  gap: 72px;
}
.rosary-mark {
  display: flex;
  align-items: center;
  justify-content: center;
}
.rosary-mark img {
  width: min(430px, 96%);
  margin: 0 auto;
  filter: drop-shadow(0 18px 28px rgba(7,27,54,.12));
}
.rosary-copy p { font-size: 18px; color: #4b5563; }

.join { background: linear-gradient(135deg, #06162f, #0d2b50); color: var(--white); padding: 94px 28px; }
.join-inner { width: min(var(--max), 100%); margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.join h2 { color: var(--white); }
.join-copy > p { color: rgba(255,255,255,.82); font-size: 18px; }
.join-emphasis { color: var(--gold-light) !important; font-size: 26px !important; font-style: italic; }
.join-card { background: var(--white); color: var(--ink); padding: 36px; box-shadow: var(--shadow); }
.card-kicker { margin: 0; color: #8a6322; font: 800 11px Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.join-card h3 { margin: 8px 0 12px; color: var(--navy); font-size: 30px; }
.join-card p { color: #5a6270; }
.contact-lines { display: grid; gap: 4px; margin: 20px 0 0; font-family: Arial, sans-serif; font-size: 14px; }
.contact-lines a { color: var(--navy); }
.join-card .small-copy { color: #727983; font-size: 12px; }

footer { padding: 38px max(28px, calc((100vw - var(--max))/2)); background: #04142a; color: rgba(255,255,255,.68); display: grid; grid-template-columns: 1fr auto auto; gap: 30px; align-items: center; font: 12px Arial, sans-serif; }
.footer-brand { width: 245px; }
.footer-brand img { width: 100%; }
footer p { margin: 0; }

@media (max-width: 980px) {
  .nav-wrap { height: 76px; }
  .brand { width: 220px; }
  nav, .nav-cta { display: none; }
  .menu-button { display: block; }
  .site-header.open nav { display: flex; position: absolute; left: 0; right: 0; top: 76px; flex-direction: column; align-items: flex-start; gap: 0; background: #071b36; border-top: 1px solid rgba(239,209,139,.2); padding: 14px 28px 22px; }
  .site-header.open nav a { width: 100%; padding: 11px 0; }
  .hero-inner { grid-template-columns: 1fr; min-height: 690px; }
  .hero-mark-wrap { position: absolute; right: -100px; bottom: 65px; opacity: .24; }
  .hero-mark { width: 420px; }
  .mission-grid { grid-template-columns: 1fr; }
  .fatima, .origin { grid-template-columns: 1fr; }
  .fatima-image { min-height: 760px; background-position: center 44%; }
  .fatima-copy, .origin-copy { padding: 66px 34px; }
  .origin-photo-wrap { min-height: 660px; }
  .two-column-copy { grid-template-columns: 1fr; gap: 18px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .rosary { grid-template-columns: 1fr; gap: 30px; }
  .rosary-mark img { width: 360px; }
  .join-inner { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .nav-wrap { width: calc(100% - 28px); }
  .brand { width: 185px; }
  .hero { min-height: 675px; }
  .hero-inner { width: calc(100% - 38px); min-height: 675px; padding: 65px 0 120px; }
  .hero h1 { font-size: 43px; }
  .hero-lead { font-size: 18px; }
  .hero-mark-wrap { right: -145px; bottom: 12px; }
  .hero-mark { width: 330px; }
  .rosary-mark img { width: 300px; }
  .section { padding: 72px 22px; }
  .section-heading h2, .two-column-copy h2, .rosary h2, .join h2, .origin h2, .fatima h2, .bentonville-2027 h2 { font-size: 37px; }
  .fatima-image { min-height: 500px; background-position: center 44%; }
  .fatima-copy, .origin-copy { padding: 54px 22px; }
  .fatima-location { font-size: 22px; }
  .event-facts div { grid-template-columns: 64px 1fr; }
  .three-words { font-size: 18px; gap: 8px; }
  .origin-photo-wrap { min-height: 600px; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
  .gallery-grid figure.wide { grid-column: auto; }
  .bentonville-2027-copy { width: calc(100% - 44px); }
  .rosary { gap: 12px; }
  .join { padding: 72px 22px; }
  .join-card { padding: 28px 22px; }
  .hero-actions, .actions { align-items: stretch; }
  .hero-actions .button, .actions .button { flex: 1 1 auto; }
}


/* V4 MOBILE HERO — approved composition */
@media (max-width: 640px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero {
    position: relative;
    overflow: hidden;
  }

  .hero-inner,
  .hero-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .hero-copy {
    position: relative;
    z-index: 2;
  }

  .hero h1,
  .hero p {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero-mark-wrap {
    position: absolute !important;
    right: auto !important;
    left: 50% !important;
    top: 285px !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
    transform: translateX(-50%) !important;
    pointer-events: none;
    z-index: 1;
  }

  .hero-mark {
    width: min(350px, 92vw) !important;
    max-width: 92vw !important;
    height: auto !important;
    opacity: .20 !important;
  }

  .hero-actions,
  .hero .btn {
    position: relative;
    z-index: 3;
  }
}

/* HOMEPAGE V5 — LOCKED MOBILE HERO TREATMENT
   Confirmed on real-device Chrome. */
@media (max-width: 640px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  .hero::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    left: 50%;
    top: var(--mobile-watermark-top, 220px);
    transform: translateX(-50%);
    width: min(360px, 94vw);
    aspect-ratio: 1248 / 1221;
    background-image: url('assets/mobile-watermark-cropped.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    opacity: .20;
  }

  .hero-inner,
  .hero-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .hero-inner {
    position: relative;
    z-index: 2;
  }

  .hero-copy {
    position: relative;
    z-index: 3;
  }

  .hero h1,
  .hero p {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero-mark-wrap {
    display: none !important;
  }

  .hero .eyebrow,
  .hero h1,
  .hero .lede,
  .hero-actions {
    position: relative;
    z-index: 4;
  }
}

/* v7 Dedicated Fatima page — production artwork is angel-free */
.event-hero{position:relative;overflow:hidden;min-height:760px;background:#071b36;color:#fff;isolation:isolate}
.event-hero-art{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,20,42,.98) 0%,rgba(5,20,42,.9) 42%,rgba(5,20,42,.4) 75%,rgba(5,20,42,.12) 100%),url('assets/fatima-rally-art.webp') center 38%/cover no-repeat}
.event-hero-inner{position:relative;z-index:1;width:min(var(--max),calc(100% - 56px));margin:auto;padding:118px 0 105px}
.event-hero h1{max-width:820px;margin:12px 0 8px;color:#fff;font-size:clamp(48px,6vw,82px);line-height:.98}.event-hero-location{margin:0 0 30px;color:var(--gold-light);font-size:clamp(24px,3vw,34px);font-style:italic}
.event-hero-facts{display:flex;flex-direction:column;gap:5px;max-width:670px;padding:18px 0;border-top:1px solid rgba(239,209,139,.42);border-bottom:1px solid rgba(239,209,139,.42)}.event-hero-facts strong{color:var(--gold-light);font-size:19px}
.event-hero-lead{max-width:670px;color:rgba(255,255,255,.86);font-size:18px;line-height:1.7}.event-theme{margin-top:25px}
.fatima-art-feature{background:#f7f1e6}.fatima-art-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(380px,1.18fr);gap:76px;align-items:center}
.fatima-art-card img{display:block;width:100%;max-width:540px;margin:auto;border-radius:3px;box-shadow:0 22px 60px rgba(18,25,35,.22)}
.fatima-detail-copy>p{color:#4f5967;max-width:700px}.event-detail-list{margin:30px 0;border-top:1px solid #cdbf9f;border-bottom:1px solid #cdbf9f}.event-detail-list div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid rgba(205,191,159,.55)}.event-detail-list div:last-child{border-bottom:0}.event-detail-list span{color:#8a6322;font:700 11px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.event-detail-list strong{color:var(--navy);font-weight:600}
.fatima-purpose{background:var(--navy);color:#fff;padding:90px max(28px,calc((100vw - var(--max))/2))}.fatima-purpose-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.fatima-purpose h2{color:#fff}.fatima-purpose p:not(.eyebrow){color:rgba(255,255,255,.79);font-size:18px;line-height:1.72}
.ppp{background:#efe6d6}.ppp-grid{width:min(var(--max),100%);margin:52px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ppp-grid article{background:#fffaf0;border-top:3px solid #b58a3b;padding:34px 30px;box-shadow:0 10px 30px rgba(39,43,49,.07)}.ppp-word{color:#8a6322;font-size:25px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ppp-grid p{color:#4f5967;margin-bottom:0}
.what-to-expect{background:#fffaf0;padding:90px max(28px,calc((100vw - var(--max))/2))}.what-to-expect-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.expect-copy p{color:#4f5967;font-size:17px;line-height:1.72}
.fatima-title-link{color:inherit;text-decoration:none}.fatima-title-link:hover{color:var(--gold-light)}
@media(max-width:900px){.fatima-art-grid,.fatima-purpose-inner,.what-to-expect-inner{grid-template-columns:1fr;gap:48px}.ppp-grid{grid-template-columns:1fr}}
@media(max-width:640px){.event-hero{min-height:auto}.event-hero-art{background:linear-gradient(180deg,rgba(5,20,42,.45),rgba(5,20,42,.82) 48%,rgba(5,20,42,.98)),url('assets/fatima-rally-art.webp') 52% 32%/cover no-repeat;opacity:.82}.event-hero-inner{width:calc(100% - 38px);padding:82px 0 70px}.event-hero h1{font-size:clamp(42px,13vw,60px)}.event-detail-list div{grid-template-columns:92px 1fr;gap:12px}.fatima-purpose,.what-to-expect{padding-top:68px;padding-bottom:68px}}

/* v8 — blend the Fatima artwork into the cream event-details section */
.fatima-art-feature {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 27% 7%, rgba(221,178,89,.14) 0%, rgba(247,241,230,0) 37%),
    #f7f1e6;
}
.fatima-art-card {
  position: relative;
  isolation: isolate;
  margin-bottom: -34px;
}
.fatima-art-card::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-22px -22px 3%;
  background:radial-gradient(ellipse at 50% 72%, rgba(214,166,72,.18), rgba(247,241,230,0) 68%);
  filter:blur(18px);
}
.fatima-art-card::after {
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  left:-1px; right:-1px; bottom:-2px;
  height:24%;
  background:linear-gradient(to bottom,
    rgba(247,241,230,0) 0%,
    rgba(247,241,230,.06) 18%,
    rgba(247,241,230,.28) 44%,
    rgba(247,241,230,.72) 73%,
    #f7f1e6 100%);
}
.fatima-art-card img {
  box-shadow:none !important;
  border-radius:3px 3px 0 0;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.93) 84%,rgba(0,0,0,.54) 93%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.93) 84%,rgba(0,0,0,.54) 93%,transparent 100%);
}
.fatima-detail-copy {
  position:relative;
  z-index:3;
}
@media (max-width:900px) {
  .fatima-art-grid { gap:18px; }
  .fatima-art-card { margin-bottom:-58px; }
  .fatima-detail-copy { padding-top:0; }
  .fatima-detail-copy .eyebrow {
    position:relative;
    z-index:4;
    margin-top:0;
    padding-top:18px;
  }
}
@media (max-width:640px) {
  .fatima-art-feature {
    padding-top:54px !important;
    background:
      radial-gradient(ellipse at 50% 5%, rgba(221,178,89,.17) 0%, rgba(247,241,230,0) 38%),
      #f7f1e6;
  }
  .fatima-art-grid { gap:0; }
  .fatima-art-card {
    width:calc(100% + 18px);
    margin-left:-9px;
    margin-bottom:-76px;
  }
  .fatima-art-card img {
    width:100%;
    max-width:none;
    border-radius:2px 2px 0 0;
  }
  .fatima-art-card::after {
    height:28%;
    background:linear-gradient(to bottom,
      rgba(247,241,230,0) 0%,
      rgba(247,241,230,.08) 18%,
      rgba(247,241,230,.38) 48%,
      rgba(247,241,230,.82) 77%,
      #f7f1e6 100%);
  }
  .fatima-detail-copy .eyebrow {
    padding-top:14px;
    margin-bottom:24px;
  }
  .fatima-detail-copy h2 { margin-top:0; }
}

/* v9 — softer top + side integration for the Fatima artwork */
.fatima-art-card {
  border-radius: 0 !important;
}
.fatima-art-card::before {
  inset: -34px -38px 0;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(215,169,78,.16), rgba(247,241,230,0) 70%);
  filter: blur(24px);
}
.fatima-art-card img {
  border-radius: 0 !important;
  /* Feather all four edges. Bottom remains the strongest fade. */
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.48) 2.5%, #000 7%, #000 93%, rgba(0,0,0,.48) 97.5%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.58) 3%, #000 8%, #000 79%, rgba(0,0,0,.93) 84%, rgba(0,0,0,.54) 93%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent 0%, rgba(0,0,0,.48) 2.5%, #000 7%, #000 93%, rgba(0,0,0,.48) 97.5%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.58) 3%, #000 8%, #000 79%, rgba(0,0,0,.93) 84%, rgba(0,0,0,.54) 93%, transparent 100%);
  mask-composite: intersect;
}
.fatima-art-card::after {
  left:-2px; right:-2px;
}
/* A cream atmospheric veil around the perimeter removes the remaining 'rectangle' read. */
.fatima-art-card {
  background:
    radial-gradient(ellipse at center, transparent 57%, rgba(247,241,230,.12) 73%, rgba(247,241,230,.68) 100%);
}
@media (max-width:640px) {
  .fatima-art-card {
    width: calc(100% + 34px);
    margin-left: -17px;
  }
  .fatima-art-card img {
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.40) 2%, #000 6%, #000 94%, rgba(0,0,0,.40) 98%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.54) 2.5%, #000 7%, #000 78%, rgba(0,0,0,.90) 84%, rgba(0,0,0,.50) 93%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.40) 2%, #000 6%, #000 94%, rgba(0,0,0,.40) 98%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.54) 2.5%, #000 7%, #000 78%, rgba(0,0,0,.90) 84%, rgba(0,0,0,.50) 93%, transparent 100%);
    mask-composite: intersect;
  }
}

/* v9 final — gilded date/location contrast over the blended artwork */
.fatima-detail-copy .eyebrow {
  color: #8a5a08;
  font-weight: 800;
  letter-spacing: .16em;
  text-shadow:
    0 0 2px rgba(255,250,224,.98),
    0 0 7px rgba(255,232,156,.94),
    0 0 15px rgba(231,181,70,.72),
    0 1px 1px rgba(66,42,7,.38);
}
@media (max-width:640px) {
  .fatima-detail-copy .eyebrow {
    font-weight: 850;
    text-shadow:
      0 0 2px rgba(255,250,224,1),
      0 0 8px rgba(255,232,156,.98),
      0 0 17px rgba(231,181,70,.78),
      0 1px 2px rgba(66,42,7,.42);
  }
}

/* v10 editorial refinement */
.event-theme-copy{
  max-width:670px;
  margin:12px 0 0;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.65;
}
@media(max-width:640px){
  .event-theme-copy{font-size:14px;line-height:1.6;}
}

/* v11 — Netlify registration form */
.rally-form{margin-top:22px}.form-field{margin:0 0 16px}.form-field label{display:block;margin:0 0 7px;font-weight:750;color:#16263d;font-size:14px}.form-field .optional{font-weight:500;color:#68717d;font-size:12px}.form-field input{width:100%;box-sizing:border-box;border:1px solid rgba(22,38,61,.24);border-radius:7px;background:#fffdf7;color:#16263d;padding:12px 13px;font:inherit;line-height:1.25;transition:border-color .15s ease,box-shadow .15s ease}.form-field input:focus{outline:none;border-color:#a87920;box-shadow:0 0 0 3px rgba(168,121,32,.16)}.form-consent{font-size:12px;line-height:1.55;color:#5e6570;margin:5px 0 18px}.form-submit{border:0;cursor:pointer;font:inherit;font-weight:800}.form-required{font-size:11px;color:#707781;margin:10px 0 0}.form-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:640px){.form-field input{font-size:16px}}

/* v12 — Our Story / Bentonville 2026 */
.story-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:#101c2c}
.story-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.story-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,31,.08) 20%,rgba(9,18,31,.34) 55%,rgba(9,18,31,.92) 100%)}
.story-hero-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:0 auto;padding:0 0 66px;color:#fff}
.story-hero-copy h1{font-size:clamp(52px,8vw,102px);line-height:.94;margin:8px 0 14px;max-width:850px}
.story-hero-copy>p:last-child{font-size:19px;line-height:1.65;max-width:720px;margin:18px 0 0}
.story-date{font-family:Georgia,serif;font-size:20px;color:#e4bd67;letter-spacing:.02em}
.story-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.story-intro-grid h2{font-size:clamp(36px,5vw,60px);line-height:1.04;margin:10px 0}
.story-prose p{font-size:17px;line-height:1.78;margin:0 0 20px;color:#4c5664}
.story-stat-band{background:#14243a;color:#fff;padding:54px max(22px,calc((100vw - 1120px)/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}
.story-stat-band strong{display:block;color:#e3b85b;font-family:Georgia,serif;font-size:58px;line-height:1}
.story-stat-band span{display:block;margin-top:7px;color:#dce3ec}
.story-stat-band p{font-size:18px;line-height:1.7;margin:0;color:#e8edf3}
.story-photo-pair{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.story-photo-pair figure,.story-gallery-grid figure,.story-joy-photo{margin:0;overflow:hidden;border-radius:10px;background:#e8e3d8}
.story-photo-pair img{width:100%;height:460px;object-fit:cover;display:block}
.story-photo-pair figcaption{padding:12px 4px 0;font-size:13px;color:#6d7278}
.story-joy{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.story-joy-copy h2{font-size:clamp(50px,7vw,84px);margin:5px 0 18px;color:#16263d}
.story-joy-copy p{font-size:17px;line-height:1.75;color:#4c5664}
.story-joy-photo img{display:block;width:100%;height:560px;object-fit:cover}
.story-gallery{padding-top:45px}
.story-gallery-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;margin-top:40px}
.story-gallery-grid img{display:block;width:100%;height:500px;object-fit:cover}
.story-became{background:#14243a;color:#fff;padding:92px 22px;text-align:center}
.story-became-inner{max-width:900px;margin:auto}
.story-became h2{font-size:clamp(38px,5vw,64px);line-height:1.08;margin:12px auto 24px}
.story-became p{max-width:700px;margin:0 auto 28px;font-size:18px;line-height:1.7;color:#dce3ec}
.story-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.site-footer{background:#0e1928;color:#cdd6e0;padding:30px 22px}
.footer-inner{width:min(1120px,100%);margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:13px}
@media(max-width:760px){
.story-hero{min-height:600px}.story-hero-image{object-position:center center}.story-hero-copy{width:calc(100% - 34px);padding-bottom:42px}.story-hero-copy>p:last-child{font-size:16px}.story-date{font-size:16px}
.story-intro-grid,.story-stat-band,.story-joy{grid-template-columns:1fr;gap:30px}.story-stat-band{padding:42px 22px}.story-stat-band strong{font-size:48px}
.story-photo-pair,.story-gallery-grid{grid-template-columns:1fr}.story-photo-pair img,.story-gallery-grid img{height:auto;aspect-ratio:4/3}.story-joy-photo{order:-1}.story-joy-photo img{height:auto;aspect-ratio:4/3}.story-joy{gap:28px}
.story-became{padding:66px 20px}.footer-inner{display:block}.footer-inner p{margin:5px 0}
}

/* v13 — The Rosary */
.rosary-page-hero{position:relative;min-height:610px;background:#14243a;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;overflow:hidden;padding:70px max(22px,calc((100vw - 1160px)/2))}
.rosary-page-mark{position:relative;z-index:1;display:flex;justify-content:center}.rosary-page-mark img{width:min(500px,44vw);filter:drop-shadow(0 20px 40px rgba(0,0,0,.18))}
.rosary-page-hero-copy{position:relative;z-index:2;max-width:670px}.rosary-page-hero-copy h1{font-size:clamp(50px,7vw,88px);line-height:.98;margin:10px 0 22px}.rosary-page-hero-copy>p:last-child{font-size:19px;line-height:1.72;color:#e2e8ef}
.rosary-center-grid,.rosary-welcome-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.rosary-center h2,.rosary-welcome h2{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:10px 0;color:#16263d}
.rosary-longcopy p{font-size:17px;line-height:1.8;color:#4c5664;margin:0 0 20px}
.mysteries-section{background:#f3eee2;padding:90px max(22px,calc((100vw - 1160px)/2))}
.mystery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}.mystery-grid article{background:#fffdf7;border:1px solid rgba(168,121,32,.19);border-radius:10px;padding:30px 25px;box-shadow:0 12px 35px rgba(22,38,61,.05)}.mystery-grid span{display:block;color:#aa7a22;font-family:Georgia,serif;font-size:15px;letter-spacing:.14em}.mystery-grid h3{font-family:Georgia,serif;color:#16263d;font-size:28px;margin:10px 0 13px}.mystery-grid p{color:#58616d;line-height:1.65;font-size:14px}
.rosary-mary{background:#fff}.rosary-mary-card{max-width:900px;margin:auto;background:#14243a;color:#fff;padding:64px;border-radius:14px;text-align:center}.rosary-mary-card h2{font-size:clamp(36px,5vw,58px);line-height:1.08;margin:10px auto 22px}.rosary-mary-card>p{max-width:720px;margin:0 auto;font-size:17px;line-height:1.75;color:#dfe6ee}.rosary-mary-card blockquote{margin:38px auto 0;padding-top:30px;border-top:1px solid rgba(226,184,91,.35);max-width:680px}.rosary-mary-card blockquote p{font-family:Georgia,serif;font-size:23px;line-height:1.5;color:#f5ead0}.rosary-mary-card cite{display:block;margin-top:10px;color:#e2b85b;font-style:normal}
.rosary-how{background:#14243a;color:#fff;padding:92px 22px;text-align:center}.rosary-how-inner{max-width:790px;margin:auto}.rosary-how h2{font-size:clamp(40px,6vw,66px);margin:10px 0 20px}.rosary-how p{font-size:17px;line-height:1.7;color:#dce3ec;max-width:650px;margin:0 auto 28px}.rosary-how .button{display:inline-block;margin:5px}
@media(max-width:780px){.rosary-page-hero{grid-template-columns:1fr;min-height:auto;padding-top:45px;padding-bottom:58px}.rosary-page-mark{opacity:.16;position:absolute;inset:88px auto auto 50%;transform:translateX(-50%)}.rosary-page-mark img{width:min(390px,92vw);max-width:none}.rosary-page-hero-copy{z-index:2}.rosary-page-hero-copy>p:last-child{font-size:16px}.rosary-center-grid,.rosary-welcome-grid{grid-template-columns:1fr;gap:25px}.mystery-grid{grid-template-columns:1fr 1fr}.rosary-mary-card{padding:45px 24px}.rosary-mary-card blockquote p{font-size:20px}}
@media(max-width:520px){.mystery-grid{grid-template-columns:1fr}.mysteries-section{padding-top:65px;padding-bottom:65px}}

/* Join Us page — v16 */
.join-page-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:#101c2c}.join-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.join-page-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,31,.10) 12%,rgba(9,18,31,.38) 55%,rgba(9,18,31,.94) 100%)}.join-page-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));margin:0 auto;padding:0 0 70px;color:#fff}.join-page-copy h1{font-size:clamp(50px,7vw,90px);line-height:.98;max-width:850px;margin:9px 0 20px}.join-page-copy>p:not(.eyebrow){max-width:760px;font-size:19px;line-height:1.7;color:#eef2f6}.join-page-copy .button{margin-top:10px}.join-welcome-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.join-welcome h2{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:10px 0;color:#16263d}.join-prose p{font-size:17px;line-height:1.8;color:#4c5664;margin:0 0 20px}.join-next{background:#14243a;color:#fff;padding:78px max(22px,calc((100vw - 1120px)/2))}.join-next-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:75px;align-items:center}.join-next h2{font-size:clamp(36px,5vw,58px);line-height:1.08;margin:9px 0 18px}.join-event-meta{color:#e4bd67;font-family:Georgia,serif;font-size:18px;line-height:1.65}.join-next-inner>div:last-child p{color:#dce3ec;font-size:17px;line-height:1.7}.join-text-link{display:block;color:#e4bd67;margin-top:18px;font-weight:700;text-decoration:none}.join-paths{background:#f6f1e7}.join-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}.join-path-grid article{background:#fff;padding:38px 32px;border-radius:12px;border-top:3px solid #d4aa4e;box-shadow:0 10px 30px rgba(20,36,58,.06)}.join-path-grid article>span{color:#b98b30;font-family:Georgia,serif;font-size:15px}.join-path-grid h3{font-family:Georgia,serif;color:#16263d;font-size:28px;margin:10px 0 14px}.join-path-grid p{color:#59616b;line-height:1.7}.join-path-grid a{color:#17385e;font-weight:800;text-decoration:none}.join-photo-band{display:grid;grid-template-columns:1.08fr .92fr;background:#14243a;color:#fff}.join-photo-band figure{margin:0;min-height:560px}.join-photo-band img{display:block;width:100%;height:100%;object-fit:cover}.join-photo-band>div{padding:76px max(35px,8vw) 76px 60px;align-self:center}.join-photo-band h2{font-size:clamp(38px,5vw,60px);line-height:1.08;margin:10px 0 20px}.join-photo-band p:not(.eyebrow){color:#dce3ec;font-size:17px;line-height:1.75}.join-contact{background:#fff;padding:90px 22px;text-align:center}.join-contact-inner{max-width:760px;margin:auto}.join-contact h2{font-size:clamp(40px,5vw,60px);margin:8px 0 15px;color:#16263d}.join-contact p{color:#59616b;font-size:17px;line-height:1.7}.join-contact-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:28px}.join-contact-links a{color:#17385e;font-weight:800;text-decoration:none}
@media(max-width:780px){.join-page-hero{min-height:620px}.join-page-copy{width:calc(100% - 34px);padding-bottom:46px}.join-page-copy>p:not(.eyebrow){font-size:16px}.join-welcome-grid,.join-next-inner,.join-photo-band{grid-template-columns:1fr;gap:28px}.join-next{padding:58px 22px}.join-path-grid{grid-template-columns:1fr}.join-photo-band figure{min-height:0}.join-photo-band img{aspect-ratio:4/3}.join-photo-band>div{padding:52px 22px 60px}.join-contact{padding:66px 22px}}


/* v17 production refinement */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #efd18b;outline-offset:3px}
nav a[aria-current="page"]{color:var(--gold-light);text-decoration:underline;text-underline-offset:5px}
footer a,.site-footer a{color:inherit}
.privacy-main{background:#f5f0e5;padding:80px 22px}.privacy-card{max-width:850px;margin:auto;background:#fffdf7;border:1px solid rgba(168,121,32,.20);border-radius:12px;padding:54px;box-shadow:0 16px 48px rgba(22,38,61,.07)}.privacy-card h1{font-size:clamp(42px,6vw,66px);line-height:1.02;color:#16263d;margin:8px 0 28px}.privacy-card h2{color:#16263d;margin:34px 0 8px;font-size:27px}.privacy-card p{color:#4f5967;font-size:17px;line-height:1.75}.privacy-card a{color:#17385e;font-weight:700}.privacy-note{border-top:1px solid rgba(22,38,61,.14);padding-top:22px;margin-top:35px;font-size:14px!important}
@media(max-width:640px){.privacy-main{padding:45px 16px}.privacy-card{padding:34px 22px}.privacy-card h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
