:root{
  --ink:#150A0D;
  --ink-2:#1E1013;
  --bone:#F5EFE9;
  --bone-dim:#D8CFC7;
  --mute:#8C7F7A;
  --arterial:#B31329;
  --oxygen:#FF4D5E;
  --line:rgba(245,239,233,.14);
  --line-dark:rgba(21,10,13,.14);
  --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--bone);
  font-family:'Instrument Sans',sans-serif;
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--arterial);color:var(--bone)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.serif{font-family:'Instrument Serif',serif;font-weight:400}
.mono{font-family:'IBM Plex Mono',monospace}

.btn{
  display:inline-block;padding:12px 26px;border-radius:100px;
  font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  background:var(--arterial);color:var(--bone);
  transition:background .25s, transform .25s;
  border:none;cursor:pointer;
}
.btn:hover{background:var(--oxygen);transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--bone)}
.btn.ghost:hover{border-color:var(--oxygen);color:var(--oxygen);background:transparent}
.btn.small{padding:9px 20px;font-size:12.5px}

.kicker{
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--oxygen);margin-bottom:26px;
  display:flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:34px;height:1px;background:var(--oxygen)}
.kicker--dark{color:var(--arterial)}
.kicker--dark::before{background:var(--arterial)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .pulse-svg,.pulse-svg path.glow{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* Elementor resets scoped to Regenred pages */
.elementor-page body,
body.elementor-page{
  background:var(--ink);
  color:var(--bone);
}
.elementor-widget-container > .btn{text-decoration:none}

/* Headings from Elementor Heading widget */
.elementor-heading-title{
  font-family:'Instrument Serif',serif;
  font-weight:400;
  color:inherit;
}
.elementor-heading-title em{
  font-style:italic;
  color:var(--oxygen);
}
.elementor-widget-heading.regenred-h1 .elementor-heading-title{
  font-size:clamp(46px, 7.4vw, 96px);
  line-height:1.02;
  letter-spacing:-.01em;
  max-width:14ch;
  color:var(--bone);
}
.elementor-widget-heading.regenred-h2 .elementor-heading-title{
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.08;
}

/* Neutralize Elementor Text Editor chrome */
.elementor-widget-text-editor,
.elementor-widget-text-editor p{
  margin:0;
  color:inherit;
}
.elementor-widget-text-editor .lede,
.elementor-widget-text-editor .regenred-lede{
  margin-top:28px;max-width:52ch;font-size:19px;color:var(--bone-dim);
}
.sec-head .elementor-widget-text-editor p{
  margin-top:18px;color:var(--bone-dim);font-size:18px;
}

/* HTML widget CTAs */
.elementor-widget-html .btn{margin-right:0}
.elementor-widget-html .btn + .btn{margin-left:16px}

.elementor-widget-regenred-hero-banner,
.elementor-widget-regenred-hero-banner > .elementor-widget-container{
  width:100%;
}
.elementor-widget-regenred-hero-banner > .elementor-widget-container{
  padding:0;
}

/* Science / visit grids: CSS grid wins over Elementor flex when class present */
.science-grid.e-con,
.e-con.science-grid{display:grid !important;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.visit-grid.e-con,
.e-con.visit-grid{display:grid !important;grid-template-columns:1fr 1fr;gap:70px}

@media (max-width:960px){
  .science-grid.e-con,
  .e-con.science-grid,
  .visit-grid.e-con,
  .e-con.visit-grid{grid-template-columns:1fr;gap:44px}
}
