/* =========================================================================
   Room to Care — /expansion
   Scoped under .rtc so nothing leaks into the rest of the theme.
   Uses the theme's global fonts (Tex Gyre Termes / Cabin) and brand colors.
   ========================================================================= */

.rtc{
  --navy:#1B224D;
  --blue:#2E3D92;
  --red:#BC1E24;
  --red-dark:#a51920;
  --cream:#FAF8F3;
  --ink:#20202E;
  --ink-soft:#4A4A5A;
  --pill-bg:#EEF0F9;
  --pill-br:#E0E3F4;
  --serif:"Tex Gyre Termes",Georgia,serif;
  --sans:"Cabin",system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  overflow-x:hidden;
}
.rtc *{box-sizing:border-box;}
.rtc img{max-width:100%;display:block;}

/* Beat the theme's global `#page-content a` link styling (ID specificity). */
#page-content.rtc a{text-decoration:none;}
#page-content.rtc a.rtc-btn--primary,
#page-content.rtc a.rtc-btn--ghost{color:#fff;}
#page-content.rtc a.rtc-btn--light,
#page-content.rtc a.rtc-next__link{color:var(--blue);}
#page-content.rtc a.rtc-btn--light:hover{color:var(--blue);}
/* Beat the theme's global `#page-content button` sizing so custom buttons keep their shape. */
#page-content.rtc .rtc-video__play{width:92px;height:92px;min-width:0;padding:0;flex:none;border-radius:50%;aspect-ratio:1/1;}
#page-content.rtc .rtc-card__gallery{width:auto;min-width:0;}

/* Play triangle (replaces the ▶ glyph that renders as a blue OS emoji). */
.rtc-tri{display:block;fill:currentColor;}
.rtc-btn__play .rtc-tri{width:9px;height:11px;margin-left:1px;}
.rtc-video__play .rtc-tri{width:28px;height:34px;margin-left:4px;}
.rtc .wrap{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px;}
.rtc .eyebrow{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0;}
.rtc h1,.rtc h2,.rtc h3{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.05;color:var(--navy);margin:0;}
.rtc em{font-style:italic;}
.rtc .reveal{opacity:0;transform:translateY(24px);}
.rtc.is-ready .reveal{transition:opacity .7s ease,transform .7s ease;}

/* ---- Hero ------------------------------------------------------------- */
.rtc-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;}
.rtc-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;}
.rtc-hero__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,21,52,.34) 0%,rgba(20,21,52,.18) 38%,rgba(28,22,30,.80) 100%),
             linear-gradient(90deg,rgba(35,37,99,.55) 0%,rgba(35,37,99,0) 55%);}
.rtc-hero__inner{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:0 28px 72px;}
.rtc-hero__col{max-width:680px;}
.rtc-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-weight:700;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;padding:7px 15px;border-radius:999px;}
.rtc-badge__dot{width:7px;height:7px;border-radius:50%;background:#E0414C;box-shadow:0 0 0 4px rgba(224,65,76,.3);}
.rtc-hero h1{color:#fff;font-size:84px;line-height:.98;letter-spacing:-.05em;margin:22px 0 0;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.rtc-hero__sub{color:rgba(255,255,255,.94);font-size:21px;line-height:1.5;max-width:560px;margin:22px 0 0;text-shadow:0 1px 16px rgba(0,0,0,.35);}
.rtc-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}

/* ---- Buttons ---------------------------------------------------------- */
.rtc-btn{cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;gap:11px;font-weight:700;font-size:16px;
  padding:15px 26px;border-radius:999px;text-decoration:none;border:none;transition:background .2s ease,color .2s ease;}
.rtc-btn--primary{background:var(--red);color:#fff;box-shadow:0 8px 24px rgba(188,30,36,.34);}
.rtc-btn--primary:hover{background:var(--red-dark);color:#fff;}
.rtc-btn--ghost{background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.55);color:#fff;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.rtc-btn--ghost:hover{background:rgba(255,255,255,.24);color:#fff;}
.rtc-btn__play{display:inline-flex;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);align-items:center;justify-content:center;font-size:11px;}

/* ---- Why we're growing ------------------------------------------------ */
.rtc-why{padding:96px 0 88px;}
.rtc-why__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
.rtc-why h2{font-size:46px;margin:16px 0 0;}
.rtc-why__rule{margin-top:28px;height:4px;width:64px;background:var(--blue);border-radius:2px;}
.rtc-why p{font-size:20.5px;line-height:1.62;color:#33333F;margin:0;}
.rtc-why p + p{margin-top:24px;}
.rtc-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.rtc-pill{font-size:14.5px;font-weight:600;color:var(--blue);background:var(--pill-bg);border:1px solid var(--pill-br);padding:8px 15px;border-radius:999px;}

/* ---- Watch it rise (video) ------------------------------------------- */
.rtc-video{background:var(--navy);background-image:radial-gradient(900px 500px at 80% -10%,rgba(188,30,36,.22),transparent 60%);padding:92px 28px;}
.rtc-video__inner{max-width:1080px;margin:0 auto;text-align:center;}
.rtc-video .eyebrow{color:#FF8A8F;}
.rtc-video h2{color:#fff;font-size:52px;margin:14px 0 0;}
.rtc-video__sub{font-size:20px;line-height:1.55;color:rgba(255,255,255,.78);max-width:620px;margin:18px auto 0;}
.rtc-video__frame{margin-top:42px;position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.1);}
.rtc-video__media{position:relative;width:100%;aspect-ratio:16/9;background-size:cover;background-position:center 40%;background-color:#0d1230;}
.rtc-video__media video,.rtc-video__media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;}
.rtc-video__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,29,58,.25),rgba(28,29,58,.55));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;cursor:pointer;}
.rtc-video__play{border:none;width:92px;height:92px;border-radius:50%;background:var(--red);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px rgba(188,30,36,.5);padding-left:6px;cursor:pointer;transition:background .2s;}
.rtc-video__play:hover{background:var(--red-dark);}
.rtc-video__tag{display:inline-flex;align-items:center;gap:9px;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-weight:600;font-size:14.5px;padding:8px 16px;border-radius:999px;}
.rtc-video__soon{color:rgba(255,255,255,.85);font-weight:600;font-size:15px;}

/* ---- Progress timeline ------------------------------------------------ */
.rtc-tl{max-width:1080px;margin:0 auto;padding:100px 28px 96px;}
.rtc-tl__head{text-align:center;max-width:680px;margin:0 auto;}
.rtc-tl__head h2{font-size:52px;margin:14px 0 0;}
.rtc-tl__head p{font-size:19.5px;line-height:1.55;color:#55556A;margin:16px 0 0;}
.rtc-tl__badge{display:inline-flex;align-items:center;gap:9px;margin-top:22px;background:var(--pill-bg);border:1px solid var(--pill-br);color:var(--blue);font-weight:600;font-size:14px;padding:8px 16px;border-radius:999px;}
.rtc-tl__badge span{width:8px;height:8px;border-radius:50%;background:var(--blue);}
.rtc-tl__list{position:relative;margin-top:60px;}
/* rail centered on the node center (nodes are 56px wide → center at 28px) */
.rtc-tl__rail{position:absolute;left:28px;margin-left:-1.5px;top:14px;bottom:42px;width:3px;background:linear-gradient(180deg,var(--red) 0%,var(--blue) 16%,#C9CCE4 100%);border-radius:2px;}

.rtc-row{position:relative;display:flex;gap:30px;align-items:flex-start;margin-bottom:34px;}
.rtc-row__node{position:relative;z-index:2;flex:none;width:56px;display:flex;justify-content:center;padding-top:4px;}
.rtc-dot{width:26px;height:26px;border-radius:50%;background:var(--blue);border:3px solid var(--cream);display:flex;align-items:center;justify-content:center;}
.rtc-dot i{width:8px;height:8px;border-radius:50%;background:#fff;}
.rtc-row--latest .rtc-dot{background:var(--red);animation:rtcPulse 2.4s ease-out infinite;}
@keyframes rtcPulse{0%{box-shadow:0 0 0 0 rgba(188,30,36,.45);}70%{box-shadow:0 0 0 12px rgba(188,30,36,0);}100%{box-shadow:0 0 0 0 rgba(188,30,36,0);}}

.rtc-card{flex:1;background:#fff;border:1px solid #ECEAE3;border-radius:20px;overflow:hidden;box-shadow:0 6px 22px rgba(28,29,58,.06);display:grid;grid-template-columns:1fr 1fr;}
.rtc-card__photo{position:relative;min-height:248px;overflow:hidden;background:#EDEBF4;}
.rtc-card__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.rtc-row:hover .rtc-card__photo img{transform:scale(1.04);}
.rtc-card__ph{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#E7E5F1,#E7E5F1 13px,#DEDCEC 13px,#DEDCEC 26px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#9092AC;}
.rtc-card__ph b{font-size:30px;opacity:.7;font-weight:400;}
.rtc-card__ph span{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8587A4;}
.rtc-card__datepill{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.95);color:var(--navy);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.rtc-card__latest{position:absolute;top:14px;right:14px;background:var(--red);color:#fff;font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(188,30,36,.4);}
.rtc-card__body{padding:30px 32px;display:flex;flex-direction:column;justify-content:center;}
.rtc-card__eyebrow{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}
.rtc-card__body h3{font-size:29px;margin:8px 0 0;}
.rtc-card__body p{font-size:17px;line-height:1.55;color:var(--ink-soft);margin:13px 0 0;}

/* next-update dashed slot */
.rtc-next{position:relative;display:flex;gap:30px;align-items:flex-start;margin-bottom:38px;}
.rtc-next__node{position:relative;z-index:2;flex:none;width:56px;display:flex;justify-content:center;padding-top:4px;}
.rtc-next__ring{width:24px;height:24px;border-radius:50%;background:var(--cream);border:2.5px dashed #B7B9CC;}
.rtc-next__card{flex:1;border:2px dashed #CFD1E0;border-radius:18px;padding:22px 26px;background:repeating-linear-gradient(135deg,#FBFAF6,#FBFAF6 11px,#F4F2EC 11px,#F4F2EC 22px);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.rtc-next__card b{display:block;font-weight:700;font-size:15px;color:#7A7C90;}
.rtc-next__card span{display:block;font-size:15.5px;color:#8A8C9E;margin-top:3px;}
.rtc-next__link{flex:none;font-weight:700;font-size:14px;color:var(--blue);background:#fff;border:1px solid #DEE0EF;padding:10px 18px;border-radius:999px;text-decoration:none;}
.rtc-next__link:hover{background:var(--pill-bg);}
.rtc-origin{position:relative;display:flex;gap:30px;align-items:center;}
.rtc-origin__node{flex:none;width:56px;display:flex;justify-content:center;}
.rtc-origin__node i{width:14px;height:14px;border-radius:50%;background:#C9CCE4;}
.rtc-origin b{font-weight:600;font-size:15px;color:#9092AC;}

/* ---- Value cards ------------------------------------------------------ */
.rtc-values{background:#F2F1F8;padding:96px 28px;}
.rtc-values__inner{max-width:1180px;margin:0 auto;}
.rtc-values__head{text-align:center;max-width:640px;margin:0 auto 52px;}
.rtc-values__head h2{font-size:48px;margin:14px 0 0;}
.rtc-values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.rtc-value{background:#fff;border:1px solid #E6E4EF;border-radius:22px;padding:38px 34px;box-shadow:0 8px 26px rgba(28,29,58,.05);position:relative;overflow:hidden;}
.rtc-value__bar{position:absolute;top:0;left:0;right:0;height:5px;}
.rtc-value__num{font-family:var(--serif);font-size:34px;color:#D4D5E6;}
.rtc-value h3{font-size:25px;margin:14px 0 0;}
.rtc-value p{font-size:17px;line-height:1.55;color:var(--ink-soft);margin:11px 0 0;}

/* ---- Stay connected CTA ---------------------------------------------- */
.rtc-cta{padding:100px 28px;}
.rtc-cta__panel{max-width:1080px;margin:0 auto;position:relative;border-radius:28px;overflow:hidden;background:var(--blue);
  background-image:radial-gradient(700px 400px at 88% 0%,rgba(188,30,36,.5),transparent 62%);box-shadow:0 30px 70px rgba(46,48,146,.28);}
.rtc-cta__body{position:relative;padding:72px 56px;text-align:center;}
.rtc-cta .eyebrow{color:#FFB3B6;}
.rtc-cta h2{color:#fff;font-size:50px;margin:14px auto 0;max-width:680px;}
.rtc-cta__sub{font-size:20px;line-height:1.55;color:rgba(255,255,255,.86);max-width:620px;margin:20px auto 0;}
.rtc-cta__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px;}
.rtc-btn--light{background:#fff;color:var(--blue);box-shadow:0 8px 24px rgba(0,0,0,.2);}
.rtc-btn--light:hover{background:#F0F0FA;color:var(--blue);}

/* ---- Gallery button on cards ----------------------------------------- */
.rtc-card__gallery{position:absolute;bottom:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.95);color:var(--navy);font-family:var(--sans);font-weight:700;font-size:12.5px;
  padding:8px 14px;border:none;border-radius:999px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.16);transition:background .15s,transform .15s;}
.rtc-card__gallery:hover{background:#fff;transform:translateY(-1px);}
.rtc-card__gallery svg{width:15px;height:15px;}
.rtc-card__media{display:none;}

/* ---- Lightbox --------------------------------------------------------- */
.rtc-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;}
.rtc-lb[hidden]{display:none;}
.rtc-lb__backdrop{position:absolute;inset:0;background:rgba(11,13,28,.93);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.rtc-lb__stage{position:relative;z-index:1;margin:0;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center;}
.rtc-lb__stage img,.rtc-lb__stage video{max-width:92vw;max-height:86vh;width:auto;height:auto;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55);background:#000;}
.rtc-lb__close{position:absolute;top:18px;right:24px;z-index:3;width:auto;min-width:0;background:none;border:none;box-shadow:none;color:#fff;font-size:38px;line-height:1;cursor:pointer;opacity:.85;padding:4px 8px;}
.rtc-lb__close:hover,.rtc-lb__close:focus{opacity:1;background:none;box-shadow:none;outline:none;}
.rtc-lb__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);
  color:#fff;width:54px;height:54px;min-width:0;padding:0;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.rtc-lb__nav:hover{background:rgba(255,255,255,.28);}
.rtc-lb__prev{left:24px;}
.rtc-lb__next{right:24px;}
.rtc-lb__counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.9);
  font-family:"Cabin",system-ui,sans-serif;font-weight:600;font-size:13.5px;background:rgba(0,0,0,.45);padding:6px 14px;border-radius:999px;}

/* ---- Responsive ------------------------------------------------------- */
@media (max-width:820px){
  .rtc-why__grid{grid-template-columns:1fr;gap:26px;}
  .rtc-values__grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .rtc-hero{min-height:560px;}
  .rtc-hero h1{font-size:48px;}
  .rtc-why h2,.rtc-video h2,.rtc-tl__head h2,.rtc-values__head h2,.rtc-cta h2{font-size:32px;}
  .rtc-card{grid-template-columns:1fr;}
  .rtc-card__photo{min-height:200px;}
  .rtc-tl__rail{left:12px;}  /* mobile nodes are 24px wide → center at 12px */
  .rtc-row,.rtc-next,.rtc-origin{gap:16px;}
  .rtc-row__node,.rtc-next__node,.rtc-origin__node{width:24px;}
  .rtc-dot{width:22px;height:22px;}
  .rtc-cta__body{padding:56px 26px;}
  .rtc-card__gallery{bottom:12px;right:12px;font-size:12px;padding:7px 12px;}
  .rtc-lb__nav{width:44px;height:44px;font-size:24px;}
  .rtc-lb__prev{left:10px;}
  .rtc-lb__next{right:10px;}
  .rtc-lb__close{top:10px;right:14px;font-size:32px;}
}
