:root{--red:#b50912;--bright:#e64a51;--text:#f5f5f5;--muted:#b9b9b9;--line:rgba(255,255,255,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}[hidden]{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--bright);font-size:11px;font-weight:1000;margin:0 0 16px}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;pointer-events:none}.brand,.header-actions{position:fixed;top:16px;pointer-events:auto}.brand{left:18px;width:108px}.header-actions{right:18px;display:flex;gap:10px}.header-actions a,.header-actions button{padding:11px 14px;border:1px solid var(--line);background:rgba(0,0,0,.62);color:#fff;text-transform:uppercase;font-size:10px;font-weight:1000;letter-spacing:.08em}.header-donate{background:var(--red)!important}.panel{position:fixed;inset:0;z-index:500;background:#000;overflow:auto}.close-button{position:fixed;top:18px;right:22px;z-index:700;width:48px;height:48px;border-radius:50%;border:1px solid var(--red);background:rgba(0,0,0,.8);color:#fff;font-size:28px;cursor:pointer}.menu-panel{display:grid;place-items:center;text-align:center}.menu-logo{width:min(330px,72vw);margin:auto}.menu-panel nav{display:grid;gap:8px}.menu-panel nav a,.menu-panel nav button{border:0;background:none;color:#fff;text-transform:uppercase;font-size:clamp(25px,5vw,58px);font-weight:1000;cursor:pointer}.hero{min-height:100vh;position:relative;background-color:#000;display:flex;align-items:flex-end;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.8) 30%,rgba(0,0,0,.34) 56%,rgba(0,0,0,.06) 82%),linear-gradient(to top,rgba(0,0,0,.86),transparent 60%)}.hero-content{position:relative;z-index:2;width:min(1460px,93vw);margin:auto;padding:155px 0 70px}.hero h1{margin:0;font-size:clamp(70px,10vw,150px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase}.hero-purpose{font-size:clamp(24px,3vw,42px);font-weight:900;margin:26px 0 15px}.hero-lines p{margin:3px 0;text-transform:uppercase;font-size:clamp(20px,2.2vw,31px);font-weight:1000}.hero-lines p:last-child{color:var(--red)}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;border:1px solid var(--line);text-transform:uppercase;font-size:12px;font-weight:1000;cursor:pointer}.primary{background:var(--red)}.secondary{background:rgba(0,0,0,.58)}.single-truth,.moment{min-height:100vh;position:relative;display:grid;place-items:center;text-align:center;background-size:cover;background-position:center}.single-truth-photo{position:absolute;inset:0;background:url('assets/hope-kneeling.jpg') center/cover}.single-truth-shade,.moment:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.78)),radial-gradient(circle,transparent 30%,rgba(0,0,0,.46))}.single-truth-copy{position:relative;z-index:2;max-width:1200px;padding:90px 6vw}.single-truth h2{font-size:clamp(48px,7vw,105px);line-height:.94;letter-spacing:-.055em;margin:0;text-transform:uppercase}.final-match{min-height:95vh;display:grid;grid-template-columns:1fr 1fr}.final-match-photo{background:url('assets/ryan-plaid.jpg') center 24%/cover}.final-match-copy{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.final-match h2,.section-heading h2,.stories-copy h2,.film-copy h2,.evidence-teaser h2,.support h2,.ending h2,.panel-heading h2,.ryan-intro h2,.family-faith h2{font-size:clamp(49px,7vw,100px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 26px}.final-match-copy p,.stories-copy p,.evidence-teaser p,.support p,.panel-heading p,.ryan-intro p,.family-faith p{color:var(--muted);font-size:18px;line-height:1.72}.text-link{align-self:flex-start;border:0;border-bottom:2px solid var(--red);background:none;color:#fff;text-transform:uppercase;font-weight:1000;padding:12px 0;cursor:pointer}.truths{padding:110px 4vw;background:radial-gradient(circle at 50% 0%,rgba(181,9,18,.15),transparent 30%),#030303}.section-heading{max-width:980px;margin:0 auto 50px;text-align:center}.section-heading p:last-child{color:var(--muted);font-size:18px;line-height:1.7}.truth-grid{width:min(1480px,96vw);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}.truth-card{min-height:510px;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center;border:2px solid var(--red);overflow:hidden}.truth-card:before,.door:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.98),rgba(0,0,0,.18) 72%),radial-gradient(circle,transparent 34%,rgba(0,0,0,.28))}.truth-card>div,.door>div{position:relative;z-index:2;padding:32px}.truth-card small{color:#ddd;text-transform:uppercase;letter-spacing:.13em;font-weight:1000}.truth-card h3{font-size:clamp(38px,4.5vw,67px);line-height:.9;text-transform:uppercase;color:var(--red);margin:14px 0}.truth-card p{font-size:17px;color:#ddd}.wide{grid-column:1/-1;min-height:610px}.legacy{background-image:url('assets/truth-legacy.jpg')}.uniqueness{background-image:url('assets/truth-uniqueness.jpg')}.accountability{background-image:url('assets/truth-accountability.jpg')}.responsibility{background-image:url('assets/truth-responsibility.jpg')}.direction{background-image:url('assets/truth-direction.jpg')}.mirror{background-image:url('assets/truth-mirror.jpg')}.character{background-image:url('assets/truth-character.jpg')}.second-quote{min-height:100vh;position:relative;background:#000;overflow:hidden}.quote-word,.second-quote-final{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;visibility:hidden;transition:opacity .65s ease}.quote-word.show,.second-quote-final.show{opacity:1;visibility:visible}.quote-word{font-size:clamp(90px,18vw,260px);font-weight:1000;text-transform:uppercase}.quote-word.red{color:var(--red)}.second-quote-final{padding:70px 5vw;align-content:center}.second-quote-final blockquote{font-family:Georgia,serif;font-size:clamp(38px,6vw,83px);line-height:1.2;margin:0}.second-quote-final img{width:min(390px,65vw);margin:30px auto 0}.moments{background:#000}.moment h2{position:relative;z-index:2;font-size:clamp(48px,7vw,105px);line-height:.92;letter-spacing:-.06em;text-transform:uppercase}.moment>div{position:relative;z-index:2;padding:80px 5vw}.hope-one{background-image:url('assets/hope-embrace.jpg')}.hope-two{background-image:url('assets/hope-mbc-card.jpg')}.hope-three{background-image:url('assets/hope-prayer-wide.jpg')}.hope-three p{font-size:clamp(24px,3vw,42px);font-weight:1000;text-transform:uppercase;margin:7px}.hope-three h2{color:var(--red)}.stories-teaser{min-height:88vh;display:grid;grid-template-columns:1fr 1fr}.stories-photo{background:url('assets/hope-card-hug.jpg') center/cover}.stories-copy{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;background:#050505}.stories-copy .btn{align-self:flex-start}.film-chapter{min-height:90vh;position:relative;display:grid;place-items:center;text-align:center}.film-background{position:absolute;inset:0;background:url('assets/film-cinematic-background.jpg') center/cover;filter:brightness(.78);transform:scale(1.02)}.film-shade{position:absolute;inset:0;background:radial-gradient(circle,transparent 28%,rgba(0,0,0,.55)),linear-gradient(to top,rgba(0,0,0,.84),transparent)}.film-copy{position:relative;z-index:2;padding:90px 5vw}.film-button{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;margin:34px auto 0;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.38);color:#fff;cursor:pointer}.film-button b{font-size:30px}.film-button small{color:#aaa}.evidence-teaser,.support,.ending{min-height:82vh;display:grid;place-items:center;text-align:center;padding:100px 7vw}.evidence-teaser>div,.support>div{max-width:950px}.bring{padding:110px 4vw}.door-grid{width:min(1450px,96vw);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.door{min-height:470px;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center;border:2px solid var(--red);overflow:hidden}.door h3{font-size:clamp(35px,4vw,60px);text-transform:uppercase;margin:0 0 12px}.door p{color:#ddd;line-height:1.6}.door.school{background-image:url('assets/door-school.jpg')}.door.community{background-image:url('assets/door-community.jpg')}.door.donate{background-image:url('assets/door-donate.jpg')}.support{background:radial-gradient(circle at 50% 30%,rgba(181,9,18,.16),transparent 31%),#030303}.ending{min-height:100vh}.ending img{width:min(560px,88vw);margin:auto}.ending p{font-size:24px;color:#aaa}.ending-contact{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;color:#aaa}.chapter-panel,.stories-panel,.evidence-panel{background:#020202}.ryan-intro,.family-faith{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.ryan-intro img{width:100%;height:100%;object-fit:cover}.ryan-intro>div,.family-faith>div:last-child{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.ryan-quote{min-height:100vh;position:relative;background:url('assets/ryan-restaurant.jpg') center/cover;display:grid;place-items:center;text-align:center}.ryan-quote-shade{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.82))}.ryan-quote blockquote{position:relative;z-index:2;font-family:Georgia,serif;font-size:clamp(38px,6vw,82px);line-height:1.2;padding:35px}.ryan-quote>img{position:absolute;z-index:3;bottom:10%;width:min(390px,65vw)}.good-friday{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;padding:90px 6vw}.good-friday p{font-size:clamp(46px,7vw,100px);font-weight:1000;margin:0}.good-friday h2{font-size:clamp(70px,12vw,165px);color:var(--red);margin:18px 0}.good-friday i{width:190px;height:2px;background:var(--red)}.good-friday div{font-size:clamp(22px,3vw,38px);max-width:900px;margin-top:36px}.family-photo{background:url('assets/prayer.jpg') center/cover}.panel-inner{width:min(1450px,94vw);margin:auto;padding:105px 3vw}.panel-heading{text-align:center;max-width:1000px;margin:0 auto 50px}.voices{display:grid;grid-template-columns:1fr 1fr;gap:20px}.voice{padding:32px;background:#080808;border:1px solid var(--line);border-left:5px solid var(--red);display:flex;flex-direction:column}.voice.featured{border:2px solid var(--red)}.voice>span{color:var(--bright);text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:1000}.voice blockquote{font-family:Georgia,serif;font-size:clamp(27px,3vw,45px);line-height:1.2;margin:26px 0 18px}.voice p{color:#bbb;line-height:1.7}.voice a{margin-top:auto;padding-top:24px;color:var(--bright);text-transform:uppercase;font-size:11px;font-weight:1000}.film-panel{background:#000}.film-intro{min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center}.film-intro p{font-size:clamp(30px,5vw,68px);font-weight:1000;text-transform:uppercase;opacity:0}.film-panel.open .film-intro p:nth-child(1){animation:intro 2.4s forwards .5s}.film-panel.open .film-intro p:nth-child(2){animation:intro 2.4s forwards 3.1s}.film-panel.open .film-intro p:nth-child(3){animation:intro 2.4s forwards 5.7s}.video-shell{display:none;height:100vh}.video-shell.show{display:grid;place-items:center}.video-shell video{width:100%;height:100%;object-fit:contain}.evidence-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.evidence-docs a{padding:30px;border:2px solid var(--red);background:#080808;display:grid;gap:10px}.evidence-docs strong{font-size:26px;text-transform:uppercase}.evidence-docs span{color:#aaa}.evidence-list{max-width:1000px;margin:60px auto}.evidence-list h3{font-size:35px;text-transform:uppercase}.evidence-list p{color:#bbb;font-size:18px;line-height:1.7}@keyframes intro{0%,100%{opacity:0}18%,72%{opacity:1}}@media(max-width:900px){.header-donate{display:none}.final-match,.stories-teaser,.ryan-intro,.family-faith{grid-template-columns:1fr}.final-match-photo,.stories-photo,.family-photo{min-height:65vh}.truth-grid,.voices,.evidence-docs{grid-template-columns:1fr}.wide{grid-column:auto}.door-grid{grid-template-columns:1fr}.hero{background-position:62% center}.hero-content{padding-top:190px}.stories-copy{padding:70px 6vw}}
.hope-one{
  background-image:none!important;
  background-color:#000;
  overflow:hidden;
}
.hope-one:after{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/hope-embrace.jpg') center/contain no-repeat;
  transform:scale(.94);
  z-index:0;
}
.hope-one:before{z-index:1}
.hope-one>div{z-index:2}

.red-emphasis{
  color:var(--red)!important;
}
.red-emphasis-inline{
  color:#fff;
}
.header-donate .red-emphasis-inline{
  color:#fff;
}
.hero-purpose .red-emphasis{
  color:var(--red)!important;
}
.second-quote-final .red-emphasis,
.ryan-quote .red-emphasis{
  color:var(--red)!important;
  font-weight:inherit;
}


.hero:before{
  content:"";
  position:absolute;
  inset:-2%;
  background:url('assets/hero-authentic-enhanced.jpg') center 42%/contain no-repeat;
  background-color:#000;
  transform:scale(.96);
  transform-origin:center;
}
.hero-overlay{z-index:1}
.hero-content{z-index:2}
@media(max-width:900px){
  .hero:before{
    background-position:58% center;
    background-size:cover;
    transform:scale(.92);
  }
}
@media(max-width:600px){
  .hero:before{
    background-position:62% center;
    transform:scale(.9);
  }
}

/* July 2026 photo refinements — authentic images only */
.hope-one:after{
  background-image:url('assets/hope-message-students.jpg');
  background-position:center center;
  background-size:cover;
  transform:none;
}

.hero:before{
  inset:0;
  background-image:url('assets/hero-authentic-enhanced.jpg');
  background-position:center 42%;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.015);
  filter:contrast(1.08) saturate(1.03);
  animation:heroReveal 1.4s ease-out both;
}

@keyframes heroReveal{
  from{opacity:0;transform:scale(1.045)}
  to{opacity:1;transform:scale(1.015)}
}

@media(max-width:900px){
  .hero:before{
    background-position:58% center;
    background-size:cover;
    transform:scale(1.015);
  }
}

@media(max-width:600px){
  .hero:before{
    background-position:62% center;
    transform:scale(1.015);
  }
  .hope-one:after{background-position:53% center}
}

@media(prefers-reduced-motion:reduce){
  .hero:before{animation:none}
}

/* Layered authentic-photo hero — no generative AI */
.hero{
  isolation:isolate;
  align-items:flex-end;
  background:#000;
}

/* Full-screen atmospheric layer made from the same real photograph */
.hero::before{
  content:"";
  position:absolute;
  inset:-28px;
  z-index:-2;
  background:url('assets/hero-authentic-enhanced.jpg') center 42%/cover no-repeat;
  filter:blur(22px) brightness(.48) saturate(.9);
  transform:scale(1.08);
  animation:heroBackdropReveal 1.4s ease-out both;
}

/* Unstretched, clear original photograph */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('assets/hero-authentic-enhanced.jpg') center center/contain no-repeat;
  filter:contrast(1.035) saturate(1.015);
  animation:heroPhotoReveal 1.4s ease-out both;
}

.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 27%,rgba(0,0,0,.20) 49%,rgba(0,0,0,.05) 72%),
    linear-gradient(to top,rgba(0,0,0,.90) 0%,rgba(0,0,0,.28) 46%,rgba(0,0,0,.10) 100%);
}

/* Keep the words to the left so Wade remains fully visible */
.hero-content{
  width:min(1460px,92vw);
  margin:0 auto;
  padding:150px 0 58px;
}
.hero-content > *{
  max-width:min(650px,43vw);
}
.hero h1{
  font-size:clamp(58px,7.2vw,112px);
  line-height:.85;
}
.hero-purpose{font-size:clamp(22px,2.4vw,35px)}
.hero-lines p{font-size:clamp(17px,1.7vw,25px)}

@keyframes heroBackdropReveal{
  from{opacity:0;transform:scale(1.12)}
  to{opacity:1;transform:scale(1.08)}
}
@keyframes heroPhotoReveal{
  from{opacity:0;transform:scale(1.015)}
  to{opacity:1;transform:scale(1)}
}

@media(max-width:900px){
  .hero::before{
    background-position:center center;
    transform:scale(1.1);
  }
  .hero::after{
    background-position:center 22%;
    background-size:100% auto;
  }
  .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.78) 36%,rgba(0,0,0,.18) 66%,rgba(0,0,0,.08) 100%);
  }
  .hero-content{
    width:90vw;
    padding:52vh 0 45px;
  }
  .hero-content > *{max-width:760px}
  .hero h1{font-size:clamp(48px,11vw,82px)}
}

@media(max-width:600px){
  .hero::after{
    background-position:center 18%;
    background-size:100% auto;
  }
  .hero-content{padding-top:48vh}
  .hero h1{font-size:clamp(43px,13vw,65px)}
  .hero-purpose{font-size:21px}
  .hero-lines p{font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none}
}

/* Final authentic hero photograph — Crowd_001.jpg, no AI */
.hero{
  min-height:100svh;
  isolation:isolate;
  align-items:flex-end;
  background:#000;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('assets/hero-authentic-enhanced.jpg') 52% center/cover no-repeat;
  filter:none;
  transform:scale(1.025);
  animation:heroFinalReveal 9s ease-out both;
}
.hero::after{display:none}
.hero-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.68) 27%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.03) 72%),
    linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.20) 48%,rgba(0,0,0,.08) 100%);
}
.hero-content{
  z-index:2;
  width:min(1460px,92vw);
  margin:0 auto;
  padding:145px 0 58px;
}
.hero-content > *{max-width:min(590px,39vw)}
.hero h1{font-size:clamp(54px,6.7vw,102px);line-height:.86}
.hero-purpose{font-size:clamp(21px,2.2vw,33px)}
.hero-lines p{font-size:clamp(16px,1.55vw,23px)}
@keyframes heroFinalReveal{
  from{opacity:.82;transform:scale(1.055)}
  to{opacity:1;transform:scale(1.025)}
}
@media(max-width:900px){
  .hero::before{background-position:55% center;transform:scale(1.02)}
  .hero-overlay{
    background:
      linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.80) 35%,rgba(0,0,0,.17) 64%,rgba(0,0,0,.05) 100%);
  }
  .hero-content{width:90vw;padding:57vh 0 42px}
  .hero-content > *{max-width:760px}
  .hero h1{font-size:clamp(46px,10.5vw,78px)}
}
@media(max-width:600px){
  .hero::before{background-position:54% 20%;background-size:auto 58%;background-color:#000}
  .hero-content{padding-top:55vh}
  .hero h1{font-size:clamp(42px,12vw,62px)}
  .hero-purpose{font-size:20px}
  .hero-lines p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none}}


/* Trusted by Schools + Lives Changed */
.trusted-schools{padding:120px 4vw;position:relative;isolation:isolate;background:#030303 url('assets/crowd-panorama.JPG') center/cover no-repeat fixed;overflow:hidden}
.trusted-schools::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.90) 30%,rgba(0,0,0,.94) 68%,rgba(0,0,0,.98) 100%),radial-gradient(circle at 50% 0%,rgba(181,9,18,.22),transparent 34%)}
.trusted-schools::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.46),transparent 24%,transparent 76%,rgba(0,0,0,.46));pointer-events:none}
.trust-heading{margin-bottom:58px}
.recommendation-grid{width:min(1460px,96vw);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.recommendation-card{min-height:420px;padding:34px;background:linear-gradient(145deg,#0b0b0b,#050505);border:1px solid var(--line);border-top:4px solid var(--red);display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35);transition:transform .25s ease,border-color .25s ease}
.recommendation-card:hover{transform:translateY(-6px);border-color:var(--red)}
.recommendation-card.featured-rec{grid-column:span 2;background:linear-gradient(145deg,rgba(181,9,18,.18),#050505 46%);border:2px solid var(--red)}
.recommendation-card>span{color:var(--bright);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:1000}
.recommendation-card blockquote{font-family:Georgia,serif;font-size:clamp(27px,2.8vw,44px);line-height:1.16;margin:30px 0 20px}
.recommendation-card p{color:#bbb;font-size:16px;line-height:1.7}
.recommendation-card a{margin-top:auto;padding-top:28px;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:1000;border-bottom:2px solid var(--red);align-self:flex-start}
.lives-changed{min-height:100vh;position:relative;display:flex;align-items:center;background:url('assets/hope-school-care.jpg') center/cover no-repeat;overflow:hidden}
.lives-changed-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.90) 46%,rgba(0,0,0,.40) 76%,rgba(0,0,0,.18) 100%),linear-gradient(to top,rgba(0,0,0,.82),transparent 58%)}
.lives-changed-copy{position:relative;z-index:2;width:min(860px,88vw);margin-left:max(5vw,calc((100vw - 1460px)/2));padding:115px 0}
.lives-changed h2{font-size:clamp(56px,8vw,115px);line-height:.86;letter-spacing:-.065em;text-transform:uppercase;margin:0 0 30px}
.lives-changed h2 span{color:var(--red)}
.lives-changed .lead{font-size:clamp(20px,2.2vw,30px);line-height:1.5;color:#eee;font-weight:700}
.lives-changed blockquote{font-family:Georgia,serif;font-size:clamp(30px,4vw,58px);line-height:1.2;margin:40px 0;padding-left:28px;border-left:5px solid var(--red)}
.lives-changed-copy>p:not(.eyebrow):not(.lead){font-size:18px;line-height:1.75;color:#bbb;max-width:760px}
.story-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.story-close{margin-top:58px;padding-top:26px;border-top:1px solid var(--line);font-size:clamp(22px,2.5vw,34px);font-weight:1000;text-transform:uppercase}
.story-close span{display:block;color:var(--red);margin-top:5px}
@media(max-width:1000px){.recommendation-grid{grid-template-columns:1fr 1fr}.recommendation-card.featured-rec{grid-column:1/-1}.lives-changed-shade{background:linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.88) 56%,rgba(0,0,0,.30) 100%)}.lives-changed-copy{margin:0 auto;padding:48vh 0 75px}}
@media(max-width:650px){.trusted-schools{padding:90px 4vw}.recommendation-grid{grid-template-columns:1fr}.recommendation-card.featured-rec{grid-column:auto}.recommendation-card{min-height:0}.lives-changed{background-position:62% center}.lives-changed-copy{width:90vw;padding-top:44vh}.lives-changed h2{font-size:clamp(48px,13vw,72px)}.story-actions .btn{width:100%}}

/* Trusted by Schools — evidence wall refinement */
.trust-heading{width:min(1180px,92vw);margin-left:auto;margin-right:auto;text-align:left}
.trust-heading>h2{margin-bottom:34px}
.trust-declaration{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:54px;align-items:end;padding:34px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.trust-declaration strong{font-size:clamp(32px,4.3vw,66px);line-height:.96;letter-spacing:-.045em;text-transform:uppercase}
.trust-declaration strong span{color:var(--red)}
.trust-declaration p{margin:0;color:#c7c7c7;font-size:clamp(17px,1.45vw,21px);line-height:1.7;max-width:720px}
.trust-proof-strip{width:min(1460px,96vw);margin:0 auto 30px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#070707}
.trust-proof-strip span{padding:17px 18px;text-align:center;color:#e5e5e5;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;border-right:1px solid var(--line)}
.trust-proof-strip span:last-child{border-right:0}
.rec-meta{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.rec-meta>span{color:var(--bright);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:1000}
.rec-meta small{color:#858585;font-size:10px;text-transform:uppercase;letter-spacing:.09em;text-align:right;white-space:nowrap}
.recommendation-card>span{display:none}
.recommendation-card blockquote{position:relative}
.recommendation-card blockquote::before{content:'“';position:absolute;left:-15px;top:-30px;color:rgba(181,9,18,.32);font-size:110px;line-height:1;font-family:Georgia,serif;z-index:0}
.recommendation-card blockquote{z-index:1}
.recommendation-card a::after{content:'  ↗';color:var(--red)}
.trust-transition{width:min(1180px,92vw);margin:64px auto 0;padding:38px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:end}
.trust-transition p{margin:0;color:#999;font-size:17px}
.trust-transition a{color:#fff;font-size:clamp(24px,3vw,42px);line-height:1.1;font-weight:1000;letter-spacing:-.025em;text-align:right}
.trust-transition a span{display:block;color:var(--red);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
@media(max-width:900px){
  .trust-declaration{grid-template-columns:1fr;gap:24px}
  .trust-proof-strip{grid-template-columns:1fr 1fr}
  .trust-proof-strip span:nth-child(2){border-right:0}
  .trust-proof-strip span:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .trust-transition{display:block}
  .trust-transition a{display:block;text-align:left;margin-top:18px}
}
@media(max-width:560px){
  .trust-proof-strip{grid-template-columns:1fr}
  .trust-proof-strip span{border-right:0;border-bottom:1px solid var(--line)!important}
  .trust-proof-strip span:last-child{border-bottom:0!important}
  .rec-meta{display:block}
  .rec-meta small{display:block;text-align:left;margin-top:8px}
}

/* Full-width student panorama — authentic photograph, no AI */
.every-seat{
  min-height:88vh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#000 url('assets/crowd-panorama.JPG') center center/cover no-repeat;
}
.every-seat-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.16) 100%),
    radial-gradient(circle at center,rgba(0,0,0,.03) 25%,rgba(0,0,0,.46) 100%);
}
.every-seat-copy{
  position:relative;
  z-index:2;
  width:min(1180px,90vw);
  padding:90px 0;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 4px 24px rgba(0,0,0,.88);
}
.every-seat-copy p{
  margin:.14em 0;
  font-size:clamp(42px,6.2vw,96px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:1000;
}
.every-seat-copy p:nth-child(2){color:#d6d6d6}
.every-seat-copy span{color:var(--red)}
@media(max-width:700px){
  .every-seat{min-height:72vh;background-position:47% center}
  .every-seat-copy{padding:70px 0}
  .every-seat-copy p{font-size:clamp(36px,10vw,58px)}
}

@media(max-width:900px){.trusted-schools{background-attachment:scroll;background-position:center top}}

.love-remains{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;background:#000;text-align:center}.love-remains>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.love-remains-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.46) 48%,rgba(0,0,0,.84)),radial-gradient(circle at center,transparent 22%,rgba(0,0,0,.42) 100%)}.love-remains-copy{position:relative;z-index:2;width:min(1100px,90vw);padding:110px 5vw;text-shadow:0 3px 18px rgba(0,0,0,.85)}.love-remains h2,.love-remains h3{margin:0;text-transform:uppercase;letter-spacing:-.045em;line-height:.95}.love-remains h2{font-size:clamp(50px,7.5vw,112px)}.love-remains h3{font-size:clamp(38px,5.8vw,82px)}.love-remains h2 span,.love-remains h3 span{color:var(--red)}.love-remains p{margin:18px auto 0;font-family:Georgia,serif;font-style:italic;font-size:clamp(24px,3vw,42px);line-height:1.35;max-width:980px}.love-remains-pause{height:clamp(70px,10vh,125px)}@media(max-width:700px){.love-remains>img{object-position:58% center}.love-remains-copy{padding:95px 6vw}.love-remains-pause{height:60px}}

/* The Heartbeat — quiet, unnumbered journey */
.heartbeat{
  position:relative;
  padding:130px 4vw 140px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 12%,rgba(181,9,18,.14),transparent 30%),
    linear-gradient(180deg,#050505 0%,#090909 52%,#020202 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.heartbeat::before{
  content:"";
  position:absolute;
  inset:5% 0 0;
  background:url("assets/logo.png") center 34%/min(680px,62vw) auto no-repeat;
  opacity:.032;
  filter:grayscale(1);
  pointer-events:none;
}
.heartbeat-inner{position:relative;z-index:1;width:min(1120px,92vw);margin:auto}
.heartbeat-heading{text-align:center;max-width:900px;margin:0 auto 82px}
.heartbeat-heading .eyebrow{margin-bottom:19px}
.heartbeat-heading h2{font-size:clamp(50px,7vw,104px);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;margin:0}
.heartbeat-heading h2 span{color:var(--red)}
.heartbeat-heading>p:last-child{margin:28px auto 0;color:#b8b8b8;font-size:clamp(17px,1.55vw,22px);line-height:1.7;max-width:720px}
.heartbeat-journey{position:relative;width:min(820px,100%);margin:auto;padding:8px 0}
.heartbeat-journey::before{
  content:"";
  position:absolute;
  top:0;bottom:0;left:50%;width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.28) 7%,rgba(181,9,18,.62) 48%,rgba(255,255,255,.24) 92%,transparent);
  transform:translateX(-50%);
}
.heartbeat-moment{position:relative;width:calc(50% - 48px);padding:27px 0 31px}
.heartbeat-moment:nth-child(odd){margin-right:auto;text-align:right}
.heartbeat-moment:nth-child(even){margin-left:auto;text-align:left}
.heartbeat-moment::before{
  content:"";position:absolute;top:43px;width:11px;height:11px;border-radius:50%;
  background:#111;border:2px solid rgba(255,255,255,.68);box-shadow:0 0 0 7px rgba(255,255,255,.025)
}
.heartbeat-moment:nth-child(odd)::before{right:-54px}
.heartbeat-moment:nth-child(even)::before{left:-54px}
.heartbeat-moment h3{margin:0;text-transform:uppercase;font-size:clamp(30px,4vw,56px);line-height:.94;letter-spacing:-.045em}
.heartbeat-moment p{margin:14px 0 0;color:#999;font-size:clamp(15px,1.35vw,18px);line-height:1.65}
.heartbeat-emphasis h3,.heartbeat-final h3{color:#fff}
.heartbeat-emphasis::before,.heartbeat-final::before{border-color:var(--red);background:var(--red);box-shadow:0 0 0 7px rgba(181,9,18,.12),0 0 28px rgba(181,9,18,.32)}
.heartbeat-turnaround{
  width:min(690px,92%);margin:42px auto 54px!important;padding:47px 42px 49px;text-align:center!important;
  background:linear-gradient(180deg,rgba(181,9,18,.24),rgba(181,9,18,.07));
  border:1px solid rgba(216,41,51,.46);border-top:4px solid var(--red);
  box-shadow:0 22px 80px rgba(0,0,0,.4),inset 0 0 50px rgba(181,9,18,.06)
}
.heartbeat-turnaround::before{left:50%!important;right:auto!important;top:-12px;transform:translateX(-50%);background:var(--red);border-color:#fff;box-shadow:0 0 0 8px rgba(181,9,18,.16),0 0 35px rgba(181,9,18,.55)}
.heartbeat-turnaround h3{color:#fff;font-size:clamp(42px,6vw,72px)}
.heartbeat-turnaround p{color:#c7c7c7;max-width:590px;margin:18px auto 0}
.heartbeat-kicker{margin:0 0 13px!important;color:#fff!important;font-size:11px!important;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.heartbeat-close{margin:82px auto 0;text-align:center;color:#aaa;font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2.1vw,31px);line-height:1.5;max-width:900px}
.heartbeat-close span{color:#fff;font-style:normal;font-family:inherit}
@media(max-width:760px){
  .heartbeat{padding:92px 5vw 104px}
  .heartbeat-heading{margin-bottom:58px}
  .heartbeat-journey{padding-left:30px}
  .heartbeat-journey::before{left:7px;transform:none}
  .heartbeat-moment,.heartbeat-moment:nth-child(odd),.heartbeat-moment:nth-child(even){width:100%;margin:0;text-align:left;padding:24px 0 28px}
  .heartbeat-moment::before,.heartbeat-moment:nth-child(odd)::before,.heartbeat-moment:nth-child(even)::before{left:-28px;right:auto;top:35px}
  .heartbeat-turnaround{width:calc(100% + 12px);margin:28px 0 40px -12px!important;padding:41px 25px 43px;text-align:left!important}
  .heartbeat-turnaround::before{left:18px!important;top:-12px;transform:none}
  .heartbeat-turnaround p{margin-left:0}
  .heartbeat-close{text-align:left;margin-top:60px}
}


/* Final invitation — the homepage comes full circle */
.final-invitation{
  min-height:100vh;
  position:relative;
  padding:120px 6vw 90px;
  background:
    radial-gradient(circle at 50% 28%,rgba(181,9,18,.15),transparent 28%),
    linear-gradient(180deg,#050505 0%,#000 100%);
  border-top:1px solid rgba(255,255,255,.08);
}
.final-invitation::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);
}
.final-invitation-inner{
  position:relative;
  z-index:1;
  width:min(1160px,92vw);
  margin:auto;
  text-align:center;
}
.final-invitation h2{
  margin:0;
  font-size:clamp(62px,9vw,138px);
  line-height:.86;
  letter-spacing:-.065em;
  text-transform:uppercase;
}
.final-invitation h2 span,
.final-truths span,
.final-chapter span{color:var(--red)}
.final-truths{
  margin:55px auto 0;
  padding:42px 0;
  max-width:900px;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.final-truths p{
  margin:9px 0;
  color:#fff;
  font-size:clamp(25px,3vw,43px);
  line-height:1.2;
  font-weight:900;
}
.final-chapter{
  max-width:940px;
  margin:50px auto 0!important;
  color:#d5d5d5!important;
  font-family:Georgia,serif;
  font-size:clamp(25px,3.2vw,46px)!important;
  line-height:1.35;
}
.final-invitation-button{
  margin-top:40px;
  min-height:62px;
  padding:20px 32px;
  font-size:13px;
  letter-spacing:.06em;
}
.final-invitation .ending-contact{
  margin-top:52px;
  font-size:14px;
  letter-spacing:.04em;
}
@media(max-width:700px){
  .final-invitation{padding:92px 5vw 72px}
  .final-invitation h2{font-size:clamp(54px,16vw,84px)}
  .final-truths{margin-top:40px;padding:31px 0}
  .final-truths p{font-size:clamp(23px,7vw,34px)}
  .final-chapter{margin-top:38px!important}
  .final-invitation-button{width:100%;padding:18px 16px}
  .final-invitation .ending-contact{display:grid;gap:8px}
  .final-invitation .ending-contact span{display:none}
}

/* Final photo framing refinement: show more students while preserving a full-screen section.
   Uses only the original photograph: a softly filled backdrop plus a wider, clear foreground. */
.single-truth-photo{
  background:url('assets/hope-kneeling.jpg') center/cover no-repeat;
  overflow:hidden;
  isolation:isolate;
}
.single-truth-photo::before{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:0;
  background:url('assets/hope-kneeling.jpg') center/cover no-repeat;
  filter:blur(18px) brightness(.62) saturate(.88);
  transform:scale(1.06);
}
.single-truth-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:url('assets/hope-kneeling.jpg') center center/contain no-repeat;
  transform:scale(.92);
  transform-origin:center;
}
@media(max-width:900px){
  .single-truth-photo::after{
    background-position:center center;
    transform:scale(.96);
  }
}
@media(max-width:600px){
  .single-truth-photo::after{
    background-size:contain;
    transform:scale(.98);
  }
}


/* Experience Ryan — personal photo journey. All other site sections remain unchanged. */
.ryan-experience{background:#000;scroll-behavior:smooth}
.ryan-experience .close-button{position:fixed;z-index:50}
.ryan-scene{position:relative;min-height:100vh;overflow:hidden;background:#030303}
.ryan-scene img{display:block;width:100%;height:100%;object-fit:cover}
.ryan-scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.25) 60%,rgba(0,0,0,.45)),linear-gradient(to top,rgba(0,0,0,.82),transparent 58%)}
.ryan-scene-copy{position:absolute;z-index:2;left:7vw;bottom:10vh;width:min(720px,82vw)}
.ryan-scene-copy h2,.ryan-story-copy h2,.ryan-wisdom-copy h2,.ryan-closing h2{font-size:clamp(48px,7vw,104px);line-height:.92;text-transform:uppercase;margin:12px 0 26px}
.ryan-scene-copy h2 span,.ryan-story-copy h2 span,.ryan-full-photo h2 span,.ryan-closing h2 span{color:var(--red)}
.ryan-scene-copy p,.ryan-story-copy p,.ryan-wisdom-copy p,.ryan-closing p{font-size:clamp(18px,1.8vw,27px);line-height:1.62;color:#ddd;max-width:760px}
.ryan-experience-hero img{position:absolute;inset:0;object-position:center 24%}
.ryan-experience-hero .ryan-scene-shade{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.18) 75%),linear-gradient(to top,rgba(0,0,0,.88),transparent 55%)}
.ryan-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.ryan-split>img{height:100vh;object-position:center}
.ryan-story-copy{padding:100px 7vw;display:flex;flex-direction:column;justify-content:center}
.ryan-split.image-right .ryan-story-copy{order:1}.ryan-split.image-right>img{order:2}
.ryan-declaration{font-size:clamp(36px,5vw,72px)!important;font-weight:1000;line-height:1.02!important;text-transform:uppercase;color:#fff!important;margin-top:36px}
.ryan-declaration span{color:var(--red)}
.ryan-declaration.quote{font-family:Georgia,serif;text-transform:none;color:var(--red)!important}
.ryan-full-photo img,.ryan-father img{position:absolute;inset:0}
.ryan-full-photo .ryan-scene-shade{background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.48) 55%,rgba(0,0,0,.25))}
.ryan-scene-copy.centered{left:50%;bottom:8vh;transform:translateX(-50%);width:min(1050px,88vw);text-align:center}
.ryan-scene-copy.centered h2{font-size:clamp(52px,8vw,118px)}
.ryan-wisdom{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.ryan-wisdom-photo{min-height:100vh}.ryan-wisdom-photo img{height:100vh;object-position:center}
.ryan-wisdom-copy{padding:95px 7vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 30%,rgba(181,9,18,.15),transparent 34%),#050505}
.ryan-wisdom-copy blockquote{font-family:Georgia,serif;font-size:clamp(30px,4vw,60px);line-height:1.18;color:#fff;margin:34px 0;padding-left:28px;border-left:3px solid var(--red)}
.ryan-wisdom-copy h2{font-size:clamp(40px,5vw,72px);color:var(--red)}
.ryan-final-line strong{color:#fff;font-size:1.15em}
.ryan-father img{object-position:center 28%}
.ryan-father .ryan-scene-shade{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.3) 62%),linear-gradient(to top,rgba(0,0,0,.9),transparent 60%)}
.father-copy h2{font-family:Georgia,serif;text-transform:none;font-size:clamp(38px,5.6vw,82px);line-height:1.08;max-width:1050px}
.ryan-closing{display:grid;place-items:center;text-align:center;padding:100px 7vw;background:radial-gradient(circle at 50% 40%,rgba(181,9,18,.17),transparent 34%),#020202}
.ryan-closing>div{max-width:1000px}.ryan-closing .btn{margin-top:34px}
@media(max-width:900px){
  .ryan-split,.ryan-wisdom{grid-template-columns:1fr}
  .ryan-split>img,.ryan-wisdom-photo,.ryan-wisdom-photo img{height:58vh;min-height:58vh}
  .ryan-split.image-right .ryan-story-copy{order:2}.ryan-split.image-right>img{order:1}
  .ryan-story-copy,.ryan-wisdom-copy{padding:70px 7vw;min-height:62vh}
  .ryan-experience-hero img{object-position:55% center}
  .ryan-experience-hero .ryan-scene-copy{bottom:7vh}
  .ryan-full-photo img{object-position:center}
  .ryan-father img{object-position:55% center}
  .father-copy{width:86vw;left:7vw;bottom:7vh}
}
@media(max-width:600px){
  .ryan-scene-copy h2,.ryan-story-copy h2,.ryan-closing h2{font-size:clamp(42px,13vw,66px)}
  .ryan-scene-copy{left:6vw;width:88vw}
  .ryan-scene-copy p,.ryan-story-copy p,.ryan-wisdom-copy p,.ryan-closing p{font-size:18px}
  .ryan-scene-copy.centered{width:90vw}
}

/* Experience Ryan return button fix */
.ryan-return-button{background:var(--red)!important;color:#fff!important;border:2px solid var(--red)!important;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 30px rgba(181,9,18,.28);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.ryan-return-button:hover,.ryan-return-button:focus-visible{filter:brightness(1.18);transform:translateY(-2px);box-shadow:0 14px 38px rgba(181,9,18,.42);outline:2px solid #fff;outline-offset:3px}

/* Approved Ryan image placement updates */
.homepage-ryan-quote{background:#000!important}
.homepage-ryan-quote .ryan-quote-shade{background:radial-gradient(circle at center,rgba(181,9,18,.08),transparent 42%),linear-gradient(to bottom,#000,#050505)}

/* Final Ryan photo and film corrections */
.ryan-love-words{background:radial-gradient(circle at 50% 42%,rgba(181,9,18,.16),transparent 32%),linear-gradient(135deg,#020202,#0a0a0a 48%,#020202);min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden}
.ryan-love-words:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.74) 82%),linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%);pointer-events:none}
.ryan-love-words .ryan-scene-shade{background:linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.58))}
.ryan-love-words .ryan-scene-copy{max-width:980px}
.ryan-love-words h2{font-size:clamp(58px,8vw,122px)}
.ryan-love-words p{font-size:clamp(20px,2.2vw,32px);line-height:1.65}
.film-chapter{overflow:hidden;background:#020203}
.film-background:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 64%,rgba(255,126,45,.15),transparent 26%);animation:filmGlow 5s ease-in-out infinite}
.film-copy h2 span{color:var(--red)}
.film-button{box-shadow:0 0 0 12px rgba(255,255,255,.025),0 0 65px rgba(181,9,18,.24);backdrop-filter:blur(6px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.film-button:hover{transform:scale(1.045);border-color:rgba(255,255,255,.72);box-shadow:0 0 0 12px rgba(255,255,255,.04),0 0 85px rgba(181,9,18,.38)}
@keyframes filmGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}

/* MBC Legacy Archive — added without changing the existing featured testimony sections */
.legacy-archive{margin:72px auto 10px;padding:48px 0 0;border-top:1px solid var(--line)}
.archive-heading{max-width:980px;margin:0 auto 34px;text-align:center}
.archive-heading h3{font-size:clamp(34px,5vw,66px);line-height:1;text-transform:uppercase;margin:10px 0 18px}
.archive-heading>p:last-of-type{color:#bbb;font-size:18px;line-height:1.7}
.archive-index-link{display:inline-block;margin-top:12px;border-bottom:2px solid var(--red);padding:10px 0;text-transform:uppercase;font-size:11px;font-weight:1000;letter-spacing:.08em}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.archive-grid a{min-height:132px;padding:24px;background:#080808;border:1px solid var(--line);border-left:4px solid var(--red);display:flex;flex-direction:column;justify-content:center;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.archive-grid a:hover{transform:translateY(-3px);border-color:var(--red);background:#0d0d0d}
.archive-grid strong{font-size:22px;text-transform:uppercase;line-height:1.05}
.archive-grid span{color:#aaa;margin-top:9px;font-size:13px}
@media(max-width:1000px){.archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.archive-grid{grid-template-columns:1fr}.legacy-archive{margin-top:48px}.archive-grid a{min-height:112px}}


/* Lived Story film section — built only from authentic MBC photographs */
.film-chapter{min-height:100vh;isolation:isolate;overflow:hidden;background:#020203}
.film-background{background-image:url('assets/film-lived-story-background.jpg');background-position:center;background-size:cover;filter:none;transform:scale(1.015);animation:livedStoryDrift 24s ease-in-out infinite alternate}
.film-shade{background:radial-gradient(ellipse at 50% 54%,rgba(0,0,0,.88) 0%,rgba(0,0,0,.74) 22%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.58) 100%),linear-gradient(to bottom,rgba(0,0,0,.58),transparent 28%,transparent 68%,rgba(0,0,0,.88))}
.film-copy{width:min(1180px,92vw);padding:120px 5vw;display:grid;justify-items:center}
.film-copy h2{max-width:1120px;margin:0;font-size:clamp(48px,7vw,102px);line-height:.94;letter-spacing:-.06em;text-shadow:0 3px 28px rgba(0,0,0,.95)}
.film-copy h2 span{color:#fff}
.film-copy h2 em{color:#c8101e;font-style:normal;text-shadow:0 0 26px rgba(200,16,30,.28)}
.film-subline{margin:30px 0 4px;font-family:Georgia,serif;font-style:italic;font-size:clamp(21px,2.3vw,34px);line-height:1.35;color:rgba(255,255,255,.88);text-shadow:0 2px 18px #000}
.film-button{width:190px;height:190px;margin-top:46px;background:rgba(0,0,0,.67);border:1px solid rgba(255,255,255,.56);box-shadow:0 0 0 12px rgba(255,255,255,.025),0 0 75px rgba(181,9,18,.28)}
.film-button b,.film-button span strong{color:#c8101e}
.film-button span{text-transform:uppercase;font-size:14px;font-weight:1000;letter-spacing:.08em;color:#fff}
.film-button span strong{font:inherit}
@keyframes livedStoryDrift{from{transform:scale(1.015) translate3d(-.25%,0,0)}to{transform:scale(1.045) translate3d(.25%,-.25%,0)}}
@media (prefers-reduced-motion:reduce){.film-background{animation:none}}
@media(max-width:700px){.film-chapter{min-height:92vh}.film-copy{padding:105px 6vw}.film-copy h2{font-size:clamp(42px,12vw,68px)}.film-subline{margin-top:24px}.film-button{width:158px;height:158px;margin-top:30px}}

/* =========================================================
   FINAL CRAFTSMANSHIP REFINEMENT
   Preserves all wording, photographs, section order, flow,
   interactions, and emotional full-screen moments.
   ========================================================= */
:root{
  --section-space:clamp(78px,7vw,108px);
  --section-space-tight:clamp(58px,5.5vw,84px);
  --content-width:min(1420px,92vw);
}

/* A more consistent reading rhythm without altering hierarchy. */
.eyebrow{margin-bottom:12px;line-height:1.35}
.section-heading{max-width:940px;margin-bottom:38px}
.section-heading h2{margin-bottom:20px}
.final-match h2,.stories-copy h2,.film-copy h2,.evidence-teaser h2,.support h2,
.ending h2,.panel-heading h2,.ryan-intro h2,.family-faith h2{margin-bottom:20px}
.final-match-copy p,.stories-copy p,.evidence-teaser p,.support p,.panel-heading p,
.ryan-intro p,.family-faith p{line-height:1.62}
.btn{min-height:52px;padding:15px 22px;letter-spacing:.045em}

/* Tighten only excess space; the full-screen story moments remain full-screen. */
.truths,.bring,.trusted-schools{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.final-match-copy,.stories-copy{padding-top:var(--section-space-tight);padding-bottom:var(--section-space-tight)}
.evidence-teaser,.support{min-height:74vh;padding-top:var(--section-space);padding-bottom:var(--section-space)}
.final-invitation{padding-top:clamp(92px,8vw,116px);padding-bottom:clamp(72px,6vw,92px)}

/* Preserve the Heartbeat itself while making its visual construction cleaner. */
.truth-grid{width:var(--content-width);gap:16px}
.truth-card{min-height:470px}
.truth-card>div,.door>div{padding:28px}
.truth-card h3{margin:10px 0}
.truth-card p{margin:0;line-height:1.55}
.truth-card.wide{min-height:560px}

/* Cleaner transitions and more disciplined spacing. */
.stories-teaser{min-height:80vh}
.stories-copy .btn{margin-top:8px}
.trust-heading{margin-bottom:44px}
.trust-heading>h2{margin-bottom:26px}
.trust-declaration{gap:42px;padding-top:28px}
.trust-proof-strip{margin-bottom:22px}
.recommendation-grid{gap:16px;width:var(--content-width)}
.recommendation-card{min-height:390px;padding:29px}
.recommendation-card blockquote{margin:24px 0 16px}
.recommendation-card p{line-height:1.62;margin-top:0}
.recommendation-card a{padding-top:22px}
.trust-transition{margin-top:50px;padding-top:30px}

/* The Adrian story retains its dramatic scale with less unused distance. */
.lives-changed-copy{padding:92px 0}
.lives-changed h2{margin-bottom:24px}
.lives-changed blockquote{margin:32px 0}
.story-actions{margin-top:28px}
.story-close{margin-top:44px;padding-top:22px}

/* Film remains cinematic; only internal spacing is refined. */
.film-copy{padding-top:100px;padding-bottom:100px}
.film-button{margin-top:36px}

/* Invitation cards and closing sections. */
.door-grid{gap:16px;width:var(--content-width)}
.door{min-height:430px}
.support p{max-width:840px;margin-left:auto;margin-right:auto}
.final-truths{margin-top:44px;padding:34px 0}
.final-chapter{margin-top:40px!important}
.final-invitation-button{margin-top:32px}
.final-invitation .ending-contact{margin-top:42px}

/* Archive polish. */
.legacy-archive{margin-top:58px;padding-top:40px}
.archive-heading{margin-bottom:28px}
.archive-grid{gap:12px}
.archive-grid a{min-height:120px;padding:21px}

/* Tablet and mobile: retain the existing sequence and readability. */
@media(max-width:1000px){
  .truth-card{min-height:430px}
  .recommendation-card{min-height:auto}
  .trust-declaration{gap:30px}
}
@media(max-width:700px){
  :root{--section-space:72px;--section-space-tight:58px}
  .hero-content{padding-bottom:52px}
  .section-heading{margin-bottom:30px}
  .truth-grid,.recommendation-grid,.door-grid{gap:12px}
  .truth-card,.truth-card.wide{min-height:68vh}
  .truth-card>div,.door>div{padding:23px}
  .stories-teaser{min-height:auto}
  .stories-photo{min-height:58vh}
  .stories-copy{padding:58px 7vw 64px}
  .trusted-schools{padding-left:5vw;padding-right:5vw}
  .trust-heading{margin-bottom:34px}
  .trust-declaration{padding-top:22px}
  .recommendation-card{padding:25px}
  .trust-transition{margin-top:38px;padding-top:24px}
  .lives-changed-copy{padding:78px 0}
  .story-close{margin-top:36px}
  .film-copy{padding-top:88px;padding-bottom:88px}
  .bring{padding-left:5vw;padding-right:5vw}
  .door{min-height:62vh}
  .final-truths{margin-top:36px;padding:28px 0}
  .final-invitation .ending-contact{margin-top:36px}
}

/* The Story That Says It All — Hailee testimony refinement */
.lives-changed.hailee-story{
  background-image:url('assets/hailee-testimony-embrace.jpg');
  background-position:center center;
}
.hailee-story .story-kicker{
  margin:0 0 18px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(22px,2.1vw,32px);
  font-style:italic;
  letter-spacing:.01em;
}
.hailee-story .script-red{
  color:var(--red);
  font-family:Georgia,serif;
  font-style:italic;
  font-weight:700;
}
.hailee-story .testimony-line{
  margin-top:22px;
  color:#e7e7e7 !important;
  font-family:Georgia,serif;
  font-size:clamp(20px,1.75vw,27px) !important;
  line-height:1.55 !important;
  max-width:780px !important;
}
@media(max-width:1000px){
  .lives-changed.hailee-story{background-position:52% center}
}
@media(max-width:650px){
  .lives-changed.hailee-story{background-position:56% center}
}

/* Hailee story photo visibility refinement — original photograph only, no AI.
   The embrace is revealed more clearly while a controlled left-side shade protects the testimony. */
.hailee-story .lives-changed-shade{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.91) 0%,
      rgba(0,0,0,.82) 38%,
      rgba(0,0,0,.50) 62%,
      rgba(0,0,0,.20) 82%,
      rgba(0,0,0,.10) 100%),
    linear-gradient(to top,rgba(0,0,0,.68) 0%,transparent 56%),
    radial-gradient(circle at 54% 43%,transparent 0%,rgba(0,0,0,.10) 54%,rgba(0,0,0,.30) 100%);
}
.hailee-story .lives-changed-copy{
  text-shadow:0 2px 18px rgba(0,0,0,.78);
}
@media(max-width:1000px){
  .hailee-story .lives-changed-shade{
    background:
      linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.84) 48%,rgba(0,0,0,.24) 100%),
      radial-gradient(circle at 52% 30%,transparent 0%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.34) 100%);
  }
}


/* Experience Ryan closing refinement */
.ryan-love-closing .ryan-scene-copy.centered{
  left:50%;
  right:auto;
  bottom:9vh;
  transform:translateX(-50%);
  width:min(1040px,88vw);
  max-width:none;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ryan-love-closing .ryan-scene-copy h2,
.ryan-love-closing .ryan-scene-copy p{
  width:100%;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ryan-love-closing .ryan-scene-copy p{margin-top:5px;margin-bottom:5px}
.ryan-love-closing .red-script{
  color:var(--red);
  font-family:Georgia,serif;
  font-style:italic;
  font-weight:700;
}
.ryan-closing>div{
  width:min(980px,88vw);
  margin:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ryan-closing .eyebrow,
.ryan-closing h2,
.ryan-closing p{text-align:center;margin-left:auto;margin-right:auto}
@media(max-width:900px){
  .ryan-love-closing .ryan-scene-copy.centered{bottom:7vh;width:90vw}
  .ryan-love-closing .red-script{display:inline}
}

/* Final refinement: quiet, attributable proof placed at three decision points. */
.hero-proof{
  width:min(760px,100%);
  margin-top:clamp(26px,4vh,46px);
  padding-top:clamp(18px,2.4vh,28px);
  border-top:1px solid rgba(255,255,255,.22);
}
.hero-proof-rotator{
  position:relative;
  min-height:clamp(108px,13vh,136px);
}
.hero-proof-quote{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .85s ease,transform .85s ease;
  pointer-events:none;
}
.hero-proof-quote.is-active{
  opacity:1;
  transform:translateY(0);
}
.hero-proof-quote blockquote{
  margin:0;
  max-width:720px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(16px,1.55vw,22px);
  font-style:italic;
  line-height:1.45;
  text-shadow:0 2px 14px rgba(0,0,0,.72);
}
.hero-proof-quote figcaption{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline}
.hero-proof-quote figcaption strong{color:#fff;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.hero-proof-quote figcaption span{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.03em}
.hero-trust-line{
  margin:8px 0 0;
  color:rgba(255,255,255,.88);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.proof-moment{
  position:relative;
  padding:clamp(62px,9vw,118px) 7vw;
  background:#080808;
  color:#fff;
  text-align:center;
  overflow:hidden;
}
.proof-moment:before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:70px;
  height:2px;
  transform:translateX(-50%);
  background:var(--red);
}
.proof-moment-inner{position:relative;z-index:1;width:min(980px,100%);margin:auto}
.proof-label{
  margin:0 0 22px;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.proof-moment blockquote{
  margin:0 auto;
  max-width:900px;
  font-family:Georgia,serif;
  font-size:clamp(28px,4.1vw,58px);
  font-style:italic;
  line-height:1.2;
  letter-spacing:-.025em;
}
.proof-person{margin:24px 0 0;display:flex;flex-direction:column;gap:5px}
.proof-person strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.proof-person span{color:rgba(255,255,255,.58);font-size:13px}
.student-proof{background:linear-gradient(145deg,#090909 0%,#121212 55%,#080808 100%)}
.educator-proof{background:linear-gradient(180deg,#080808 0%,#101010 100%);padding-bottom:clamp(68px,8vw,104px)}
.educator-proof blockquote{max-width:1020px;font-size:clamp(26px,3.5vw,50px)}
@media(max-width:700px){
  .hero-proof{margin-top:22px;padding-top:16px}
  .hero-proof-rotator{min-height:132px}
  .hero-proof-quote figcaption{display:block}
  .hero-proof-quote figcaption span{display:block;margin-top:4px}
  .hero-trust-line{font-size:10px;letter-spacing:.13em}
  .proof-moment{padding-left:8vw;padding-right:8vw}
}
@media(prefers-reduced-motion:reduce){
  .hero-proof-quote{transition:none}
}


/* Consistent on-page reader for every original letter */
.document-reader{
  position:fixed;inset:0;z-index:2000;padding:clamp(10px,2vw,26px);
  background:rgba(0,0,0,.88);backdrop-filter:blur(10px);
  display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;
}
.document-reader[hidden]{display:none}
.document-reader.open{opacity:1;visibility:visible}
.document-reader-shell{
  width:min(1120px,100%);height:min(92vh,940px);background:#111;border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 80px rgba(0,0,0,.6);display:grid;grid-template-rows:auto 1fr;overflow:hidden;
}
.document-reader-bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px 14px 22px;
  background:#0b0b0b;border-bottom:1px solid rgba(255,255,255,.12);
}
.document-reader-bar .eyebrow{margin:0 0 4px;color:var(--red);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.document-reader-bar h2{margin:0;color:#fff;font-size:clamp(16px,2vw,24px);line-height:1.2}
.document-reader-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.document-reader-actions a{color:#fff;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px}
.document-reader-actions button{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.document-reader-frame-wrap{position:relative;min-height:0;background:#d8d8d8}
.document-reader-frame-wrap iframe{position:relative;z-index:2;width:100%;height:100%;border:0;background:#fff}
.document-reader-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:#222}
@media(max-width:700px){
  .document-reader{padding:0}
  .document-reader-shell{height:100dvh;border:0}
  .document-reader-bar{padding:12px 10px 12px 15px;gap:10px}
  .document-reader-actions a{font-size:10px}
  .document-reader-actions button{width:38px;height:38px}
}

/* In-site invitation forms — simple, personal, and consistent with the MBC experience. */
button.door{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}
.door-action{display:inline-block;margin-top:16px;color:#fff;font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--red);padding-bottom:7px}
.contact-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);opacity:0;transition:opacity .2s ease}
.contact-modal.open{opacity:1}
.contact-modal-shell{position:relative;width:min(900px,96vw);max-height:94vh;overflow:auto;background:linear-gradient(145deg,#0b0b0b,#030303);border:1px solid var(--line);border-top:4px solid var(--red);padding:clamp(28px,5vw,58px);box-shadow:0 30px 90px rgba(0,0,0,.7)}
.contact-modal-close{position:absolute;top:15px;right:17px;width:44px;height:44px;border-radius:50%;border:1px solid var(--red);background:#050505;color:#fff;font-size:27px;cursor:pointer}
.contact-modal-intro{max-width:720px;padding-right:44px}
.contact-modal-intro h2,.contact-success h2{margin:0 0 16px;font-size:clamp(38px,6vw,72px);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}
.contact-modal-intro>p:last-child,.contact-success>p{color:#aaa;font-size:17px;line-height:1.65}
.contact-form{margin-top:34px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px}
.contact-form label>span{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:#ddd}
.contact-field-wide{grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #323232;background:#050505;color:#fff;padding:15px 16px;font:inherit;border-radius:0;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(181,9,18,.18)}
.contact-form textarea{resize:vertical;min-height:118px}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.contact-form-footer p{margin:0;color:#777;font-size:12px;line-height:1.5;max-width:420px}
.contact-form-status{min-height:24px;margin-top:15px;color:#ddd;font-size:14px}
.contact-form-status.error{color:#ff8d8d}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-success{text-align:center;padding:60px 0 30px}
.contact-success .btn{margin-top:22px}
@media(max-width:700px){
  .contact-modal{padding:8px;align-items:end}
  .contact-modal-shell{width:100%;max-height:96vh;padding:34px 22px 26px}
  .contact-form-grid{grid-template-columns:1fr;gap:14px}
  .contact-field-wide{grid-column:auto}
  .contact-form-footer{align-items:stretch;flex-direction:column}
  .contact-form-footer .btn{width:100%}
  .contact-modal-intro{padding-right:34px}
}


/* V5 polishing refinements */
.hero-trust-line{letter-spacing:normal;display:flex;align-items:baseline;gap:.38em;flex-wrap:wrap}
.hero-trust-line span,.hero-trust-line strong{letter-spacing:.08em}
.hero-trust-line strong{font-weight:800}

.heartbeat-student-voice{max-width:980px;margin:clamp(58px,8vw,100px) auto 0;padding:clamp(30px,5vw,58px);background:linear-gradient(145deg,rgba(27,27,27,.96),rgba(11,11,11,.96));border:1px solid rgba(255,255,255,.18);border-left:5px solid var(--red);box-shadow:0 22px 65px rgba(0,0,0,.38)}
.heartbeat-student-voice blockquote{margin:22px 0 0;padding:0;border:0;color:#f0f0f0;font-family:Georgia,serif;font-size:clamp(18px,1.65vw,24px);line-height:1.72}
.heartbeat-student-voice blockquote p{margin:0 0 1.05em}
.heartbeat-student-voice blockquote p:last-child{margin-bottom:0}
.heartbeat-student-voice .proof-person{margin-top:26px}

.contact-modal{background:rgba(0,0,0,.72)}
.contact-modal-shell{background:linear-gradient(145deg,#272727 0%,#171717 58%,#101010 100%);border:1px solid rgba(255,255,255,.26);border-top:4px solid var(--red);box-shadow:0 30px 90px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.05)}
.contact-modal-intro>p:last-child,.contact-success>p{color:#d3d3d3}
.contact-form label>span{color:#fff}
.contact-form input,.contact-form textarea{background:#2a2a2a;color:#fff;border:1px solid #666}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa}
.contact-form-footer p{color:#c2c2c2}
.contact-modal-close{background:#252525}
@media(max-width:650px){.hero-trust-line{gap:.3em}.hero-trust-line span,.hero-trust-line strong{letter-spacing:.055em}.heartbeat-student-voice{padding:28px 22px}}


/* V5.1 correction: bright, welcoming in-site contact form. */
.contact-modal{background:rgba(0,0,0,.76)}
.contact-modal-shell{background:#fff;border:1px solid rgba(181,9,18,.32);border-top:5px solid var(--red);box-shadow:0 30px 90px rgba(0,0,0,.72);color:#171717}
.contact-modal-intro .eyebrow{color:var(--red)}
.contact-modal-intro h2,.contact-success h2{color:var(--red)}
.contact-modal-intro>p:last-child,.contact-success>p{color:#3e3e3e}
.contact-form label>span{color:var(--red)}
.contact-form input,.contact-form textarea{background:#fff;color:#171717;border:1px solid #c9c9c9;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#777}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(181,9,18,.13)}
.contact-form-footer p{color:#555}
.contact-form-status{color:#333}
.contact-form-status.error{color:#a00008}
.contact-modal-close{background:#fff;color:var(--red);border:2px solid var(--red)}
.contact-modal-close:hover{background:var(--red);color:#fff}
.contact-success{color:#171717}

/* V5.2 correction — restore original popup colors and original story CTA glass treatment. */
.contact-modal{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.contact-modal-shell{background:linear-gradient(145deg,#0b0b0b,#030303);border:1px solid var(--line);border-top:4px solid var(--red);box-shadow:0 30px 90px rgba(0,0,0,.7);color:#fff}
.contact-modal-intro .eyebrow{color:var(--bright)}
.contact-modal-intro h2,.contact-success h2{color:#fff}
.contact-modal-intro>p:last-child,.contact-success>p{color:#aaa}
.contact-form label>span{color:#ddd}
.contact-form input,.contact-form textarea{background:#050505;color:#fff;border:1px solid #323232;box-shadow:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#777}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(181,9,18,.18)}
.contact-form-footer p{color:#777}
.contact-form-status{color:#ddd}
.contact-form-status.error{color:#ff8d8d}
.contact-modal-close{background:#050505;color:#fff;border:1px solid var(--red)}
.contact-modal-close:hover{background:var(--red);color:#fff}
.contact-success{color:#fff}

.hailee-story .story-actions .contact-form-trigger{
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));
  color:#fff;
  border:1px solid rgba(255,255,255,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.hailee-story .story-actions .contact-form-trigger:hover{
  background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.11));
  border-color:#fff;
}

/* Experience Ryan — real-life photo story */
.ryan-life-gallery{
  height:100vh;
  min-height:720px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:1.15fr 1fr 1fr;
  gap:8px;
  padding:8px;
  background:#080808;
}
.ryan-life-gallery img{
  width:100%;
  height:100%;
  min-width:0;
  object-fit:cover;
  object-position:center;
  border-radius:3px;
}
.ryan-life-gallery .gallery-feature{
  grid-column:1 / -1;
  object-position:center 42%;
}
.ryan-real-life .ryan-story-copy{
  background:radial-gradient(circle at 70% 30%,rgba(135,0,0,.13),transparent 44%),#030303;
}

@media (max-width:900px){
  .ryan-life-gallery{
    order:1;
    height:auto;
    min-height:0;
    grid-template-rows:58vw 45vw 45vw;
  }
  .ryan-real-life .ryan-story-copy{order:2}
}

@media (max-width:560px){
  .ryan-life-gallery{
    gap:5px;
    padding:5px;
    grid-template-rows:64vw 53vw 53vw;
  }
}

/* V5.6 — Experience Ryan: ten-photo life journey */
.ryan-opening-script{
  max-width:720px;
  margin:18px auto 24px;
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(1.65rem,3vw,2.75rem);
  line-height:1.18;
  color:#fff;
  text-shadow:0 3px 18px rgba(0,0,0,.8);
}
.ryan-life-journey{
  min-height:auto;
  display:block;
  padding:clamp(70px,9vw,130px) clamp(20px,6vw,90px);
  background:radial-gradient(circle at 70% 20%,rgba(135,0,0,.13),transparent 42%),#030303;
}
.ryan-life-intro{
  width:min(820px,100%);
  margin:0 auto clamp(44px,7vw,90px);
  text-align:center;
}
.ryan-life-intro h2{margin:.35em 0 .55em}
.ryan-life-intro p:not(.eyebrow):not(.ryan-declaration){max-width:720px;margin:12px auto;color:#c8c8c8}
.ryan-life-timeline{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,36px);
}
.life-moment{
  margin:0;
  overflow:hidden;
  border-radius:5px;
  background:#090909;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 55px rgba(0,0,0,.42);
}
.life-moment-wide{grid-column:1 / -1}
.life-moment img{
  display:block;
  width:100%;
  height:clamp(360px,46vw,620px);
  object-fit:cover;
  object-position:center;
}
.life-moment-wide img{height:clamp(420px,55vw,720px)}
.life-moment figcaption{
  padding:18px 22px 21px;
  color:#c9c9c9;
  font-size:clamp(.95rem,1.35vw,1.08rem);
  line-height:1.55;
  text-align:center;
}
.ryan-continuing-story{
  max-width:760px;
  margin:28px auto 34px!important;
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(1.45rem,2.6vw,2.2rem)!important;
  line-height:1.3;
  color:#fff!important;
}
@media (max-width:720px){
  .ryan-life-timeline{grid-template-columns:1fr}
  .life-moment-wide{grid-column:auto}
  .life-moment img,.life-moment-wide img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#050505}
  .ryan-life-journey{padding-left:14px;padding-right:14px}
}

/* V5.8 precise photo-pair correction: cap photo left, thumbs-up photo right */
.life-photo-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(8px,1.2vw,16px);
  padding:clamp(8px,1.2vw,16px);
  background:#050505;
}
.life-moment-pair .life-photo-pair img{
  width:100%;
  height:clamp(360px,42vw,620px);
  object-fit:cover;
  object-position:center;
}
@media(max-width:720px){
  .life-photo-pair{grid-template-columns:1fr 1fr;gap:6px;padding:6px}
  .life-moment-pair .life-photo-pair img{height:58vw;object-fit:cover}
}


/* Experience Ryan opening reflection — preserves the established black, white and red treatment */
.ryan-life-declaration{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(14px,2vw,24px);
  margin:clamp(24px,4vw,42px) auto 0;
  font-size:clamp(25px,3.25vw,48px)!important;
  line-height:1.12!important;
  letter-spacing:.01em;
  text-transform:none;
}
.ryan-life-declaration > span{display:block}
.ryan-life-declaration .declaration-reflection{
  color:#fff;
  font-weight:650;
}
.ryan-life-declaration .declaration-choices{
  color:#fff;
  font-size:.72em;
  font-weight:700;
  line-height:1.3;
}
.ryan-life-declaration .declaration-choices em{
  color:var(--red);
  font-style:normal;
  font-weight:900;
}
.ryan-life-declaration .declaration-truth{
  color:#fff;
  font-size:1.08em;
  line-height:1.04;
}
.ryan-life-declaration .declaration-truth strong:last-child{color:var(--red)}
@media(max-width:600px){
  .ryan-life-declaration{font-size:clamp(24px,8.6vw,38px)!important}
  .ryan-life-declaration .declaration-choices{font-size:.68em}
}


/* V5.10 — four approved Experience Ryan finishing adjustments only */
.ryan-experience-hero .ryan-dates{line-height:1.45;margin-bottom:14px}
.ryan-experience-hero .ryan-dates strong{font-size:1.18em;color:#fff}
.ryan-experience-hero .ryan-dates span{color:#fff;letter-spacing:.12em}
.ryan-experience-hero .ryan-dates em{color:var(--red);font-style:normal}
.ryan-experience-hero .ryan-dates b{color:var(--red);font-size:1.08em}
.football-moment img{object-fit:contain;background:#050505;object-position:center}
.ryan-father img{object-fit:contain;object-position:center;background:#050505}
.ryan-embraced-caption{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(1.65rem,3vw,2.65rem)!important;color:#fff!important;line-height:1.18!important}
.ryan-embraced-caption span{color:var(--red);font-weight:700}


/* V5.11 — Experience Ryan opening title refinement only */
.ryan-opening-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.22em;
  margin:0 0 34px;
  line-height:1;
}
.ryan-opening-title strong{
  color:#fff;
  font-size:clamp(42px,5.8vw,86px);
  font-weight:900;
  letter-spacing:-.035em;
  text-transform:none;
  text-shadow:0 3px 24px rgba(0,0,0,.72);
}
.ryan-opening-dates{
  color:#f2f2f2;
  font-size:clamp(20px,2.2vw,32px);
  font-weight:700;
  letter-spacing:.09em;
}
.ryan-opening-dates em{
  color:var(--red);
  font-style:normal;
  font-weight:900;
  letter-spacing:.02em;
  padding:0 .12em;
}
.ryan-opening-title b{
  color:var(--red);
  font-size:clamp(25px,3vw,43px);
  font-weight:900;
  letter-spacing:.04em;
  text-shadow:0 0 28px rgba(181,9,18,.28);
}
.ryan-opening-thanks{
  color:#fff!important;
  font-size:clamp(20px,2vw,29px)!important;
  font-weight:700;
  margin-bottom:10px;
}
@media(max-width:600px){
  .ryan-opening-title{margin-bottom:25px;gap:.3em}
  .ryan-opening-title strong{font-size:clamp(38px,12vw,56px)}
  .ryan-opening-dates{font-size:clamp(17px,5.2vw,24px);letter-spacing:.05em}
  .ryan-opening-title b{font-size:clamp(23px,7vw,32px)}
}


/* Why We Exist — protect the photograph and place the message in the quiet upper-left space. */
#why{
  place-items:start;
  text-align:left;
}
#why .single-truth-shade{
  background:
    linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.48) 32%,rgba(0,0,0,.08) 58%,transparent 76%),
    linear-gradient(180deg,rgba(0,0,0,.60) 0%,rgba(0,0,0,.12) 38%,transparent 64%);
}
#why .single-truth-copy{
  width:min(590px,44vw);
  max-width:none;
  padding:clamp(120px,15vh,180px) 0 0 clamp(28px,5vw,82px);
}
#why .eyebrow{
  color:var(--red);
  font-size:clamp(14px,1.2vw,19px);
  margin-bottom:18px;
}
#why h2{
  font-size:clamp(38px,4.6vw,70px);
  line-height:1.01;
  letter-spacing:-.045em;
  text-wrap:balance;
}
#why .why-red{color:var(--red)}
@media(max-width:900px){
  #why{align-items:start}
  #why .single-truth-copy{
    width:min(88vw,620px);
    padding:120px 6vw 0;
  }
  #why .single-truth-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 30%,rgba(0,0,0,.08) 58%,transparent 74%);
  }
  #why h2{font-size:clamp(36px,8vw,62px)}
}


/* V5.15 — complete invitation pathway using real MBC photography. */
.door.church{background-image:url('assets/hope-prayer-wide.jpg')}
.door.volunteer{background-image:url('assets/crowd-panorama.JPG')}
.door.share-story{background-image:url('assets/hailee-testimony-embrace.jpg')}
.door.talk{background-image:url('assets/hope-school-care.jpg');grid-column:2}
.door{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.door:hover,.door:focus-visible{transform:translateY(-5px);border-color:var(--bright);box-shadow:0 20px 55px rgba(0,0,0,.48),0 0 0 1px rgba(181,9,18,.28)}
.door:focus-visible{outline:2px solid #fff;outline-offset:4px}
.contact-modal-shell{padding-top:clamp(245px,33vw,330px)}
.contact-modal-visual{position:absolute;inset:0 0 auto;height:clamp(210px,28vw,285px);background-position:center;background-size:cover;border-bottom:3px solid var(--red)}
.contact-modal-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#080808 0%,transparent 55%)}
@media(max-width:900px){.door.talk{grid-column:auto}}
@media(max-width:700px){.contact-modal-shell{padding-top:230px}.contact-modal-visual{height:205px}}

/* V5.16 — compact invitation pathway with a unique authentic MBC image for every card */
.bring .door-grid{
  width:min(1480px,96vw);
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
}
.bring .door{
  min-height:330px;
}
.bring .door>div{
  padding:24px;
}
.bring .door h3{
  font-size:clamp(25px,2.35vw,40px);
  line-height:.96;
}
.bring .door p{
  font-size:15px;
  margin-bottom:10px;
}
.bring .door.school,
.bring .door.church,
.bring .door.community,
.bring .door.donate{
  grid-column:span 3;
}
.bring .door.volunteer,
.bring .door.share-story,
.bring .door.talk{
  grid-column:span 4;
}
.bring .door.church{background-image:url('assets/hope-auditorium.jpg')}
.bring .door.volunteer{background-image:url('assets/door-volunteer-mbc.jpg')}
.bring .door.share-story{background-image:url('assets/door-share-story-mbc.jpg')}
.bring .door.talk{background-image:url('assets/door-talk-mbc.jpg')}

@media(max-width:1050px){
  .bring .door-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bring .door.school,
  .bring .door.church,
  .bring .door.community,
  .bring .door.donate,
  .bring .door.volunteer,
  .bring .door.share-story,
  .bring .door.talk{grid-column:auto}
  .bring .door.talk{grid-column:1/-1}
}
@media(max-width:650px){
  .bring .door-grid{grid-template-columns:1fr}
  .bring .door,
  .bring .door.talk{grid-column:auto;min-height:360px}
}

/* V5.18 — approved invitation-card photo replacements */
.bring .door.church{background-image:url('assets/door-church-red-auditorium.jpg')}
.bring .door.community{background-image:url('assets/door-community-holding-hands.jpg')}

/* V5.20 — slightly wider image framing for Volunteer With MBC and Share My Story. */
.bring .door.volunteer,
.bring .door.share-story{background-position:center center}


/* V5.21 — featured Pay It Forward invitation */
.bring .pay-it-forward-card{
  isolation:isolate;
  animation:payItForwardPulse 4.8s ease-in-out infinite;
}
.bring .pay-it-forward-card:hover,
.bring .pay-it-forward-card:focus-visible{
  animation-duration:2.8s;
  border-color:#ef3944;
}
.pay-it-forward-badge{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  padding:8px 12px 7px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(181,9,18,.94);
  color:#fff;
  box-shadow:0 7px 20px rgba(0,0,0,.42);
  font-size:10px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
@keyframes payItForwardPulse{
  0%,100%{
    border-color:var(--red);
    box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 10px rgba(181,9,18,.24),0 0 0 1px rgba(181,9,18,.16);
  }
  50%{
    border-color:#e12b35;
    box-shadow:0 18px 46px rgba(0,0,0,.5),0 0 25px rgba(181,9,18,.58),0 0 0 2px rgba(230,74,81,.28);
  }
}
@media(prefers-reduced-motion:reduce){
  .bring .pay-it-forward-card{animation:none;box-shadow:0 16px 42px rgba(0,0,0,.48),0 0 18px rgba(181,9,18,.38)}
}
@media(max-width:650px){
  .pay-it-forward-badge{top:12px;right:12px;font-size:9px;padding:7px 10px 6px}
}

/* V5.22 — graceful contact, social, and legal closing after the existing final invitation. */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%,rgba(181,9,18,.13),transparent 38%),
    linear-gradient(180deg,#080808 0%,#030303 100%);
  color:#fff;
  padding:0 clamp(22px,5vw,78px) clamp(44px,7vw,90px);
}
.site-footer:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.025) 42%,transparent 67%);
}
.footer-divider{
  width:min(1180px,88vw);
  height:1px;
  margin:0 auto clamp(52px,7vw,88px);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),var(--red),rgba(255,255,255,.42),transparent);
  box-shadow:0 0 22px rgba(181,9,18,.32);
}
.footer-inner{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto}
.footer-heading{text-align:center;max-width:760px;margin:0 auto clamp(42px,6vw,68px)}
.footer-heading .eyebrow{color:var(--red);margin-bottom:13px}
.footer-heading h2{margin:0 0 18px;font-size:clamp(42px,5.6vw,76px);line-height:.98;letter-spacing:-.045em}
.footer-heading h2 span{color:var(--red)}
.footer-heading>p:last-child{margin:0 auto;color:#c9c9c9;font-size:clamp(16px,1.5vw,20px);line-height:1.65}
.footer-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.footer-contact-card{min-height:170px;padding:28px;border:1px solid rgba(255,255,255,.13);border-top:2px solid rgba(181,9,18,.9);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 18px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;justify-content:center}
.footer-contact-label{display:block;margin-bottom:14px;color:#aaa;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.footer-contact-card address{font-style:normal;color:#fff;font-size:17px;line-height:1.65}
.footer-contact-card a{color:#fff;text-decoration:none;font-size:clamp(16px,1.35vw,20px);font-weight:800;line-height:1.45;overflow-wrap:anywhere;transition:color .2s ease,text-shadow .2s ease}
.footer-contact-card a:hover,.footer-contact-card a:focus-visible{color:#ff4a54;text-shadow:0 0 18px rgba(181,9,18,.55)}
.footer-contact-inline{margin:0;display:flex;align-items:baseline;justify-content:flex-start;gap:8px;flex-wrap:nowrap;white-space:nowrap}
.footer-contact-inline .footer-contact-label{display:inline;margin:0;flex:0 0 auto}
.footer-contact-inline a{overflow-wrap:normal;word-break:normal}

.footer-phone{font-size:clamp(24px,2.2vw,34px)!important;letter-spacing:.02em}
.footer-social{text-align:center;margin:clamp(42px,6vw,68px) 0}
.footer-social>p{margin:0 0 20px;color:#cfcfcf;font-weight:800;letter-spacing:.04em}
.footer-social-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.footer-social-links a{display:inline-flex;align-items:center;gap:11px;min-width:150px;justify-content:center;padding:13px 20px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.045);color:#fff;text-decoration:none;font-weight:850;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
.footer-social-links svg{width:20px;height:20px;fill:currentColor}
.footer-social-links a:hover,.footer-social-links a:focus-visible{transform:translateY(-3px);border-color:var(--red);background:rgba(181,9,18,.14);box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 18px rgba(181,9,18,.25)}
.footer-closing{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding-top:clamp(38px,5vw,58px)}
.footer-closing img{display:block;width:min(190px,46vw);height:auto;margin:0 auto 22px;filter:drop-shadow(0 0 18px rgba(181,9,18,.18))}
.footer-mission-line{margin:0 0 26px;font-size:clamp(18px,2vw,26px);font-weight:900;letter-spacing:-.015em}
.footer-mission-line span{color:var(--red)}
.footer-copyright{margin:0 0 12px;color:#c7c7c7;font-size:13px;font-weight:800;letter-spacing:.04em}
.footer-legal{max-width:900px;margin:0 auto;color:#777;font-size:11px;line-height:1.75}
@media(max-width:820px){
  .footer-contact-grid{grid-template-columns:1fr}
  .footer-contact-card{min-height:0;text-align:center;align-items:center;padding:25px 20px}
  .footer-contact-inline{justify-content:center;gap:6px;font-size:clamp(12px,3.2vw,16px)}
  .footer-contact-inline a{font-size:inherit}

}
@media(max-width:520px){
  .site-footer{padding-left:18px;padding-right:18px}
  .footer-heading h2{font-size:clamp(38px,12vw,56px)}
  .footer-social-links{flex-direction:column;align-items:stretch}
  .footer-social-links a{width:100%}
}

/* V5.24 — equal-size contact cards with a clean one-line email. */
.site-footer .footer-inner{width:min(1280px,100%)}
.site-footer .footer-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}
.site-footer .footer-contact-card{box-sizing:border-box;width:100%;height:100%;min-height:180px;padding:26px 22px;min-width:0}
.site-footer .footer-email-card{overflow:hidden}
.site-footer .footer-contact-inline{width:100%;min-width:0;justify-content:center;gap:7px}
.site-footer .footer-contact-inline .footer-contact-label{font-size:10px;letter-spacing:.12em;white-space:nowrap}
.site-footer .footer-contact-inline a{min-width:0;font-size:clamp(14px,1.2vw,18px);white-space:nowrap}

@media(max-width:900px){
  .site-footer .footer-contact-grid{grid-template-columns:1fr;grid-auto-rows:1fr}
  .site-footer .footer-contact-card{min-height:160px}
  .site-footer .footer-contact-inline a{font-size:clamp(14px,3.4vw,18px)}
}


/* V5.25 — 2026–2027 school invitation placed immediately before the emotional final page. */
.school-invitation{
  position:relative;
  overflow:hidden;
  min-height:clamp(560px,72vh,780px);
  display:grid;
  place-items:center;
  padding:clamp(78px,10vw,132px) clamp(22px,6vw,84px);
  background:
    radial-gradient(circle at 50% 35%,rgba(181,9,18,.18),transparent 34%),
    linear-gradient(180deg,#070707 0%,#111 52%,#050505 100%);
  color:#fff;
  text-align:center;
}
.school-invitation:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent),
    radial-gradient(circle at 50% 100%,rgba(255,255,255,.055),transparent 38%);
}
.school-invitation:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(680px,72vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),var(--red),rgba(255,255,255,.35),transparent);
  box-shadow:0 0 22px rgba(181,9,18,.4);
}
.school-invitation-inner{position:relative;z-index:1;width:min(920px,100%);margin:0 auto}
.school-invitation .eyebrow{margin:0 0 18px;color:var(--red)}
.school-invitation h2{margin:0;font-size:clamp(46px,7vw,92px);line-height:.96;letter-spacing:-.05em}
.school-invitation h2 span{color:var(--red)}
.school-invitation-status{margin:30px auto 0;color:#ededed;font-size:clamp(17px,2vw,23px);font-weight:850;letter-spacing:.01em}
.school-invitation-message{max-width:790px;margin:22px auto 34px;color:#c9c9c9;font-size:clamp(18px,2.1vw,27px);line-height:1.5}
.school-invitation-message strong{color:#fff;font-weight:950}
.school-invitation-button{min-width:min(100%,430px);padding-left:28px;padding-right:28px}
@media(max-width:560px){
  .school-invitation{min-height:0;padding-top:82px;padding-bottom:92px}
  .school-invitation h2{font-size:clamp(42px,13vw,62px)}
  .school-invitation-status{margin-top:24px}
  .school-invitation-button{width:100%;min-width:0;white-space:normal;line-height:1.25}
}

/* V5.27 — protect the emotional focal points in the two hope photographs */
.hope-one,
.hope-two{
  place-items:stretch;
}
.hope-one>div,
.hope-two>div{
  width:100%;
  min-height:100vh;
  display:flex;
  position:relative;
  z-index:2;
  pointer-events:none;
}
.hope-one>div{
  align-items:flex-start;
  justify-content:flex-start;
  padding:9vh 5vw;
}
.hope-one h2{
  width:min(620px,43vw);
  margin:0;
  text-align:left;
  font-size:clamp(42px,5.4vw,82px);
  text-shadow:0 4px 26px rgba(0,0,0,.98);
}
.hope-one:before{
  background:
    linear-gradient(135deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.58) 25%,transparent 53%),
    linear-gradient(to top,rgba(0,0,0,.44),transparent 48%);
}
.hope-two>div{
  align-items:flex-end;
  justify-content:flex-end;
  padding:8vh 4.5vw;
}
.hope-two h2{
  width:min(650px,43vw);
  margin:0;
  text-align:right;
  font-size:clamp(42px,5.2vw,80px);
  text-shadow:0 4px 26px rgba(0,0,0,.98);
}
.hope-two:before{
  background:
    linear-gradient(315deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 28%,transparent 56%),
    linear-gradient(to top,rgba(0,0,0,.52),transparent 52%);
}
@media(max-width:700px){
  .hope-one>div,
  .hope-two>div{
    align-items:flex-end;
    justify-content:center;
    padding:0 5vw 7vh;
  }
  .hope-one h2,
  .hope-two h2{
    width:100%;
    max-width:560px;
    text-align:center;
    font-size:clamp(36px,10.5vw,58px);
  }
  .hope-one:before,
  .hope-two:before{
    background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.7) 24%,transparent 58%);
  }
  .hope-one:after{background-position:52% center}
  .hope-two{background-position:50% center}
}


/* Rollout readiness: prevent narrow-screen horizontal page breaks without changing approved design. */
@media(max-width:700px){
  .truth-card>div,.door>div{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
  .truth-card h3,.truth-card p{max-width:100%;overflow-wrap:anywhere}
  .film-background{transform:none!important;animation:none!important}
}
/* Keep the document locked to the viewport on every device. */
html,body{max-width:100%;overflow-x:clip}
