/* ============================================================
   RETHINK CHRISTIANITY — Campus Tour Landing Page
   Brand: Fortis Institute / Rethink Christianity campus visits
   Type:  Display + body = League Spartan, eyebrow = Bitter,
          share buttons = Merriweather
   ============================================================ */

:root{
  --rc-navy:#02203D;
  --rc-ink:#0C2538;
  --rc-slate:#253952;
  --rc-gold:#BC8810;
  --rc-gold-muted:#A97E2B;
  --rc-grey:#D0D0D0;
  --rc-white:#FFFFFF;
  --rc-black:#0F0F0F;
  --rc-display:"League Spartan",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --rc-eyebrow:"Bitter",Georgia,serif;
  --rc-button:"Merriweather",Georgia,serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--rc-white);
  color:var(--rc-ink);
  font-family:var(--rc-display);
  font-size:20px;
  line-height:1.35;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.rc-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 40px;position:relative;z-index:1}
.rc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* two-tone section title: "PREVIOUS DATES", "ABOUT FORTIS" ... */
.rc-title{
  font-family:var(--rc-display);
  font-weight:700;
  font-size:clamp(44px,6.4vw,96px);
  line-height:1;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:var(--rc-slate);
  margin:0;
}
.rc-title span{color:var(--rc-gold-muted)}

/* decorative Fortis tree icons scattered over a section */
.rc-decor{position:relative;isolation:isolate}
.rc-decor::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--rc-decor-image) top center/contain no-repeat;
  opacity:var(--rc-decor-opacity,.4);
  pointer-events:none;
  z-index:0;
}

/* ---------- HERO ---------- */
.rc-hero{
  position:relative;
  overflow:hidden;
  background:#f4f4f4 url("images/white-brick-wall-1.webp") center/cover no-repeat;
  padding:80px 0 0;
}
.rc-hero .rc-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:end;
  gap:24px;
  max-width:1440px;
  padding:0 80px;
}
.rc-hero-copy{padding:40px 0 180px;position:relative;z-index:2}
.rc-eyebrow{
  font-family:var(--rc-eyebrow);
  font-weight:500;
  font-size:clamp(18px,2.3vw,34px);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rc-ink);
  margin:0 0 18px;
}
.rc-hero h1{
  font-family:var(--rc-display);
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:.88;
  margin:0 0 44px;
}
.rc-hero h1 span{display:block}
.rc-hero .rc-h1-top{font-weight:700;font-size:clamp(54px,8.6vw,124px);color:var(--rc-gold)}
.rc-hero .rc-h1-bottom{font-weight:800;font-size:clamp(54px,8.6vw,124px);color:var(--rc-ink);margin-top:8px}
.rc-hero-tag{
  font-family:var(--rc-display);
  font-weight:600;
  font-size:clamp(26px,3.4vw,50px);
  line-height:1;
  text-transform:uppercase;
  margin:0;
  color:var(--rc-ink);
}
.rc-hero-tag span{display:block;color:var(--rc-gold)}

.rc-hero-media{position:relative;align-self:stretch;min-height:640px}
.rc-hero-media img{position:absolute;bottom:0;height:auto}
.rc-hero-todd{left:50%;transform:translateX(-50%);width:min(96%,640px);z-index:3}
.rc-hero-media .rc-hero-student-left{left:-4%;width:min(46%,340px);transform:rotate(-4deg);transform-origin:bottom center;bottom:-40px;z-index:1}
.rc-hero-media .rc-hero-student-right{right:-10%;width:min(46%,340px);transform:rotate(4deg);transform-origin:bottom center;bottom:-40px;z-index:1}

.rc-play{
  position:absolute;
  top:70px;
  right:10vw;
  z-index:5;
  width:clamp(90px,11vw,170px);
  aspect-ratio:1;
  border:0;
  padding:0;
  background:none;
  cursor:pointer;
  border-radius:50%;
  transition:transform .2s ease;
}
.rc-play img{width:100%;height:100%}
.rc-play:hover{transform:scale(1.06)}
.rc-play:focus-visible{outline:3px solid var(--rc-ink);outline-offset:4px}

/* ---------- PREVIOUS DATES ---------- */
.rc-dates{
  --rc-decor-image:url("images/logos-signs.webp");
  --rc-decor-opacity:.5;
  background:#ecebe7 url("images/campus-visits-osu-bg.webp") top center/contain repeat;
  padding:100px 0 130px;
  text-align:center;
}
.rc-events{
  list-style:none;
  margin:40px auto 0;
  padding:0;
  max-width:1100px;
  display:grid;
  gap:130px;
  text-align:left;
}
.rc-event{
  --rc-event-bg:#000;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,36%) minmax(0,1fr);
  align-items:center;
  min-height:300px;
  padding:28px 28px 20px 28px;
  border-radius:150px 30px 30px 150px;
  background:var(--rc-event-bg);
  color:var(--rc-white);
}
.rc-event-logo{align-self:stretch;position:relative}
.rc-event-logo img{
  position:absolute;
  left:-4%;
  top:50%;
  transform:translateY(-50%);
  width:100%;
  max-width:340px;
  max-height:calc(100% + 120px);
  object-fit:contain;
}
.rc-event-body{padding:10px 0 50px}
.rc-event h3{
  font-family:var(--rc-display);
  font-weight:900;
  font-size:clamp(28px,3.2vw,45px);
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.rc-event-subtitle{font-size:clamp(17px,1.7vw,22px);font-weight:500;margin:0 0 20px;color:var(--rc-grey)}
.rc-event ul{margin:0;padding-left:1.4em;list-style:disc;font-size:clamp(16px,1.6vw,21px);line-height:1.15;color:var(--rc-grey)}
.rc-event li strong{color:var(--rc-white);font-weight:700}
.rc-event-date{
  position:absolute;
  right:28px;
  bottom:22px;
  margin:0;
  font-weight:700;
  font-size:clamp(14px,1.3vw,18px);
}
.rc-event--osu,.rc-event--ksu{--rc-event-bg:#000000}
.rc-event--ou{--rc-event-bg:#841617}
.rc-event--ung{--rc-event-bg:#FFB81C}
.rc-event--ou .rc-event-subtitle,.rc-event--ou ul,
.rc-event--ung .rc-event-subtitle,.rc-event--ung ul{color:var(--rc-white)}

/* ---------- ABOUT THE EVENT ---------- */
.rc-event-info{
  --rc-decor-image:url("images/logos-sign-bg2-1.webp");
  --rc-decor-opacity:.39;
  background:var(--rc-navy);
  color:var(--rc-grey);
  padding:100px 0;
}
.rc-event-info .rc-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px;
  align-items:center;
}
.rc-event-info .rc-logo{width:100%;max-width:560px;margin:0 0 28px}
.rc-copy p{margin:0 0 26px;font-size:clamp(18px,1.7vw,24px);line-height:1.1;font-weight:500}
.rc-copy p:last-child{margin-bottom:0}
.rc-copy strong{font-weight:700;color:inherit}
.rc-event-info .rc-photo{width:100%;max-width:560px}

/* ---------- MEET TODD FRIEL ---------- */
.rc-meet{
  --rc-decor-image:url("images/logos-sign-bg2-1.webp");
  --rc-decor-opacity:.2;
  background:var(--rc-navy);
  padding:60px 0 100px;
}
.rc-meet-inner{position:relative;max-width:620px;margin:0 auto;text-align:center}
.rc-meet-photo{width:80%;margin:0 auto}
.rc-meet-signature{position:absolute;left:-22%;top:80px;width:24%;min-width:110px}
.rc-meet-card{
  position:relative;
  margin:-1px auto 0;
  background:var(--rc-white);
  border-radius:40px;
  padding:clamp(28px,3vw,44px);
  text-align:left;
  color:var(--rc-black);
}
.rc-meet-card .rc-title{font-size:clamp(30px,3vw,46px);text-align:center;margin-bottom:30px;color:var(--rc-ink)}
.rc-meet-card p{margin:0 0 24px;font-size:clamp(17px,1.6vw,22px);line-height:1.15;font-weight:500}
.rc-meet-card p:last-child{margin-bottom:0}

/* ---------- ABOUT FORTIS ---------- */
.rc-about{background:var(--rc-white);padding:100px 0}
.rc-about .rc-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
}
.rc-about .rc-title{margin-bottom:44px;text-align:center}
.rc-about .rc-copy p{color:var(--rc-black)}
.rc-about-logo{width:100%;max-width:420px;margin:0 auto}

/* ---------- SHARE ---------- */
.rc-share{position:relative;background:var(--rc-navy);padding:80px 0 100px;text-align:center}
.rc-share::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-45px;
  height:46px;
  background:var(--rc-navy);
  clip-path:ellipse(60% 100% at 50% 100%);
}
.rc-share .rc-title{color:var(--rc-white);margin:0 0 70px;font-size:clamp(38px,5vw,76px)}
.rc-share .rc-title span{color:var(--rc-gold-muted)}
.rc-share-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:36px;
  align-items:start;
}
.rc-share-grid > img{width:100%;aspect-ratio:2/3;object-fit:cover}
.rc-share-center{display:flex;flex-direction:column;align-items:center;gap:80px}
.rc-share-center img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rc-share-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rc-share-buttons a{
  display:inline-block;
  font-family:var(--rc-button);
  font-weight:700;
  font-size:16px;
  line-height:1;
  color:var(--rc-white);
  background:var(--rc-gold-muted);
  text-decoration:none;
  padding:15px 18px;
  border-radius:999px;
  transition:background-color .18s ease;
}
.rc-share-buttons a:hover,.rc-share-buttons a:focus{background:var(--rc-gold)}
.rc-share-buttons a:focus-visible{outline:3px solid var(--rc-white);outline-offset:3px}

/* ---------- VIDEO MODAL ---------- */
/* Positioned explicitly: the theme's "* { margin:0 }" reset removes the native dialog centering. */
.rc-video-modal{
  position:fixed;
  inset:auto;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  margin:0;
  width:min(92vw,1100px);
  height:auto;
  max-width:none;
  max-height:none;
  padding:0;
  border:0;
  background:#000;
  overflow:visible;
}
.rc-video-modal::backdrop{background:rgba(2,32,61,.85)}
html.rc-scroll-locked,html.rc-scroll-locked body{overflow:hidden}
html.rc-scroll-locked body{padding-right:var(--rc-scrollbar-width,0)}
.rc-video-modal video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:85vh;object-fit:contain;background:#000}
.rc-video-close{
  position:absolute;
  top:-48px;
  right:0;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--rc-white);
  color:var(--rc-navy);
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.rc-video-close svg{display:block;width:16px;height:16px;transition:transform .18s ease}
.rc-video-close:hover{background:var(--rc-gold);color:var(--rc-white)}
.rc-video-close:hover svg{transform:rotate(90deg)}
.rc-video-close:focus-visible{outline:3px solid var(--rc-gold);outline-offset:3px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .rc-hero .rc-wrap{padding:0 50px}
  .rc-play{right:5vw;top:40px}
  .rc-event-info .rc-wrap,.rc-about .rc-wrap{gap:40px}
  .rc-meet-signature{left:-6%;top:-10px}
}
@media (max-width:860px){
  .rc-wrap{padding:0 24px}
  .rc-hero{padding-top:140px}
  .rc-hero .rc-wrap{grid-template-columns:1fr;padding:0 24px}
  .rc-hero-copy{padding-bottom:0}
  .rc-hero h1{margin-bottom:28px}
  .rc-hero-media{min-height:420px;margin-top:10px}
  .rc-play{top:30px;right:24px;width:90px}
  .rc-events{gap:120px;margin-top:90px}
  .rc-event{
    grid-template-columns:1fr;
    border-radius:30px;
    min-height:200px;
    padding:90px 24px 24px;
  }
  .rc-event-logo{position:absolute;left:0;right:0;top:-95px;height:170px}
  .rc-event-logo img{left:50%;top:0;transform:translateX(-50%);width:auto;height:100%;max-height:none}
  .rc-event-body{padding-bottom:40px}
  .rc-event-date{right:24px;bottom:18px}
  .rc-event-info .rc-wrap,.rc-about .rc-wrap{grid-template-columns:1fr}
  .rc-event-info .rc-logo,.rc-event-info .rc-photo{margin-left:auto;margin-right:auto}
  .rc-meet-signature{left:0;top:-20px;width:30%}
  .rc-share-grid{grid-template-columns:1fr 1fr;gap:20px}
  .rc-share-center{grid-column:1 / -1;order:-1;gap:30px}
}
@media (max-width:520px){
  body{font-size:18px}
  .rc-hero-media{min-height:340px}
  .rc-hero-media .rc-hero-student-left,.rc-hero-media .rc-hero-student-right{width:44%}
  .rc-hero{padding-top:120px}
  .rc-play{width:76px}
  .rc-dates,.rc-event-info,.rc-about{padding:70px 0}
  .rc-event-logo{height:140px;top:-80px}
  .rc-event{padding-top:75px}
  .rc-share{padding:60px 0 70px}
  .rc-share .rc-title{margin-bottom:40px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rc-play,.rc-share-buttons a,.rc-video-close,.rc-video-close svg{transition:none}
  .rc-video-close:hover svg{transform:none}
}
