/* ---------- page sections (hero, approach, science, visit shells) ---------- */
.regenred-hero,
.hero{
  min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;padding-top:var(--header-total, 102px);padding-bottom:0;
  background:var(--ink);
}
.regenred-hero::before,
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 50% at 18% 40%, rgba(179,19,41,.22), transparent 62%),
    radial-gradient(ellipse 40% 40% at 8% 90%, rgba(255,77,94,.08), transparent 60%);
  pointer-events:none;
  z-index:0;
}

.hero-split{
  position:relative;z-index:2;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  align-items:stretch;
  min-height:calc(100svh - var(--header-total, 102px) - 118px);
  flex:1;
  width:100%;
}
.hero-split.e-con,
.e-con.hero-split{
  display:grid !important;
  --flex-direction:row;
}
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:48px 40px 36px max(24px, calc((100vw - var(--max, 1180px)) / 2 + 24px));
  max-width:none;
}
.hero-copy .kicker{margin-bottom:22px}
.hero-copy h1,
.regenred-hero h1,
.hero h1,
.elementor-widget-heading.regenred-h1 .elementor-heading-title{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(40px, 5.6vw, 78px);line-height:1.04;letter-spacing:-.015em;
  max-width:13ch;color:var(--bone);
}
.hero-copy h1 em,
.regenred-hero h1 em,
.hero h1 em,
.elementor-widget-heading.regenred-h1 .elementor-heading-title em{font-style:italic;color:var(--oxygen)}
.hero-copy .lede,
.hero p.lede,
.regenred-lede{
  margin-top:22px;max-width:46ch;font-size:17.5px;color:var(--bone-dim);line-height:1.65;
}
.hero-cta{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap}
.hero-cta-wrap .hero-cta{margin-top:34px}

.hero-visual{
  position:relative;
  min-height:520px;
  margin-right:0;
  background:var(--ink-2);
  overflow:hidden;
}
.hero-visual .elementor-widget-image,
.hero-visual .elementor-widget-container,
.hero-visual .elementor-image,
.hero-visual-image{
  height:100%;
  margin:0;
}
.hero-visual .elementor-widget-image,
.hero-visual .elementor-widget-container{
  position:absolute;
  inset:0;
}
.hero-visual .elementor-image img,
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(21,10,13,.22) 0%, transparent 28%);
  pointer-events:none;
  z-index:1;
}

/* Legacy custom hero-banner widget support */
.hero-split--square .hero-visual-frame{
  clip-path:none !important;
  -webkit-clip-path:none !important;
  border-radius:0;
}
.hero-split--square .hero-visual-stroke{display:none}
.hero-clip-defs{position:absolute;width:0;height:0;overflow:hidden}
.hero-visual-frame{
  position:absolute;inset:0;
  background:var(--ink-2);
  overflow:hidden;
}
.hero-visual-frame img{
  width:100%;height:100%;object-fit:cover;object-position:62% 40%;
  display:block;
  filter:saturate(.92) contrast(1.05);
}
.hero-visual-frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(21,10,13,.28) 0%, transparent 28%);
  pointer-events:none;
}
.hero-visual-stroke{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:2;
  color:rgba(245,239,233,.78);
}

.hero-stats-wrap{
  position:relative;z-index:3;
  max-width:var(--max);margin:0 auto;padding:0 24px 28px;
  width:100%;
}

section.regenred-section,
.regenred-section{padding:110px 0}
.sec-head{margin-bottom:64px;max-width:760px}
.sec-head .kicker{margin-bottom:18px}
.sec-head h2,
h2.regenred-h2,
.elementor-widget-heading.regenred-h2 .elementor-heading-title{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(34px,4.6vw,56px);line-height:1.08;color:inherit;
}
.sec-head h2 em,
h2.regenred-h2 em{font-style:italic;color:var(--oxygen)}
.sec-head p{margin-top:18px;color:var(--bone-dim);font-size:18px}

#services,
.regenred-services-section{
  background:var(--bone);color:var(--ink);
}
#services .kicker,
.regenred-services-section .kicker{color:var(--arterial)}
#services .kicker::before,
.regenred-services-section .kicker::before{background:var(--arterial)}
#services .sec-head p,
.regenred-services-section .sec-head p{color:#5d5450}

#programs,
.regenred-programs-section{
  background:#1A0C10;
}

.science,
.regenred-science{
  background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.science-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.science blockquote,
.regenred-quote{
  font-family:'Instrument Serif',serif;font-size:clamp(24px,3vw,34px);line-height:1.3;font-style:italic;
}
.science blockquote span,
.regenred-quote span{color:var(--oxygen)}
.science .attrib,
.regenred-attrib{margin-top:22px;font-size:13px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}

.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.visit-info h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;margin-bottom:10px;color:var(--oxygen)}
.visit-info .block{margin-bottom:36px}
.visit-info p{color:var(--bone-dim)}

/* ---------- Gallery page ---------- */
.regenred-gallery-page{
  background:var(--ink);
  color:var(--bone);
}
.regenred-gallery-banner.e-con,
.e-con.regenred-gallery-banner{
  position:relative;
  overflow:hidden;
  min-height:200px !important;
  width:100% !important;
}
.regenred-gallery-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(21,10,13,.55) 0%, rgba(21,10,13,.72) 100%);
  pointer-events:none;
  z-index:1;
}
.regenred-gallery-banner-inner,
.regenred-gallery-banner .regenred-gallery-banner-inner{
  position:relative;
  z-index:2;
  width:100%;
}
.regenred-gallery-title{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:clamp(36px,5vw,56px);
  margin:0 0 10px;
  color:var(--bone);
}
.regenred-gallery-lede{
  margin:0;
  max-width:42ch;
  color:var(--bone-dim);
  font-size:15px;
  line-height:1.55;
}
.regenred-gallery-videos-title{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:clamp(28px,3.5vw,40px);
  margin:48px 0 24px;
  color:var(--bone);
}
.regenred-gallery-grid.e-con,
.e-con.regenred-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:20px !important;
  align-items:stretch;
  width:100% !important;
  --flex-direction:row;
}
.regenred-gallery-grid.e-con > .e-con,
.e-con.regenred-gallery-grid > .e-con,
.regenred-gallery-grid.e-con > .elementor-element,
.e-con.regenred-gallery-grid > .elementor-element{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
  margin:0 !important;
}
.regenred-gallery-cell img,
.regenred-gallery-grid img,
.regenred-gallery-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:6px;
}
.regenred-gallery-videos.e-con,
.e-con.regenred-gallery-videos{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:20px !important;
  align-items:stretch;
  width:100% !important;
  --flex-direction:row;
}
.regenred-gallery-videos.e-con > .e-con,
.e-con.regenred-gallery-videos > .e-con,
.regenred-gallery-videos.e-con > .elementor-element,
.e-con.regenred-gallery-videos > .elementor-element{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
  margin:0 !important;
}
.regenred-gallery-video{
  width:100%;
  border-radius:6px;
  overflow:hidden;
  background:#0a0507;
  aspect-ratio:16 / 9;
}
.regenred-gallery-video video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  vertical-align:middle;
}
@media (max-width:900px){
  .regenred-gallery-videos.e-con,
  .e-con.regenred-gallery-videos{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:767px){
  .regenred-gallery-grid.e-con,
  .e-con.regenred-gallery-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .regenred-gallery-videos-title{margin-top:36px}
  .regenred-gallery-banner.e-con,
  .e-con.regenred-gallery-banner{
    min-height:160px !important;
  }
}

/* ---------- About Us page ---------- */
.regenred-about-page{
  background:var(--ink);
  color:var(--bone);
}
.regenred-about-banner.e-con,
.e-con.regenred-about-banner{
  position:relative;
  overflow:hidden;
  min-height:220px !important;
  width:100% !important;
}
.regenred-about-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(21,10,13,.5) 0%, rgba(21,10,13,.78) 100%);
  pointer-events:none;
  z-index:1;
}
.regenred-about-banner-inner,
.regenred-about-banner .regenred-about-banner-inner{
  position:relative;
  z-index:2;
  width:100%;
}
.regenred-about-title{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:clamp(36px,5vw,56px);
  margin:0;
  color:var(--bone);
}
.regenred-about-wrap{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.regenred-about-card.e-con,
.e-con.regenred-about-card{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:8px;
  padding:32px 30px !important;
  width:100% !important;
}
.regenred-about-card-title{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  font-size:clamp(24px,3vw,32px);
  margin:0 0 16px;
  color:var(--oxygen);
}
.regenred-about-card p{
  color:var(--bone-dim);
  margin:0 0 14px;
  line-height:1.65;
  font-size:16px;
}
.regenred-about-card p:last-child{margin-bottom:0}
.regenred-about-quote{
  margin:0;
  padding:0;
  border:0;
}
.regenred-about-quote p{
  font-family:'Instrument Serif',serif;
  font-style:italic;
  font-size:clamp(18px,2.2vw,22px);
  line-height:1.5;
  color:var(--bone);
  margin:0 0 18px;
}
.regenred-about-quote cite{
  display:block;
  font-style:normal;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mute);
}
.regenred-about-contact.e-con,
.e-con.regenred-about-contact{
  margin-top:12px;
  padding:36px 30px !important;
  border:1px solid rgba(255,77,94,.35);
  border-radius:8px;
  background:linear-gradient(145deg, rgba(179,19,41,.18), rgba(21,10,13,.4));
  text-align:center;
}
.regenred-about-contact-kicker{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--oxygen);
}
.regenred-about-contact-name{
  margin:0 0 12px;
  font-size:18px;
  color:var(--bone);
}
.regenred-about-contact-phone{
  margin:0;
}
.regenred-about-contact-phone a{
  color:var(--bone);
  text-decoration:none;
  font-size:20px;
  font-family:'Instrument Serif',serif;
}
.regenred-about-contact-phone a:hover{
  color:var(--oxygen);
}
.regenred-policy-list{
  margin:0 0 16px;
  padding-left:1.15em;
  color:var(--bone-dim);
}
.regenred-policy-list li{
  margin:0 0 10px;
  line-height:1.6;
}
.regenred-policy-list li:last-child{margin-bottom:0}
.regenred-policy-list strong{color:var(--bone)}
.regenred-policy-list em{color:var(--oxygen);font-style:normal}
@media (max-width:767px){
  .regenred-about-banner.e-con,
  .e-con.regenred-about-banner{
    min-height:160px !important;
  }
  .regenred-about-card.e-con,
  .e-con.regenred-about-card{
    padding:24px 20px !important;
  }
}
