/**
 * FSE shell only — visual type/spacing must match lep-redesign / Cloudflare.
 * Do not invent fonts or rem scales here; lep-sample.css owns that.
 */

/* Kill TT3/block layout extras that PHP front-page never has */
body.lep-redesign.lep-redesign--fse {
  --wp--style--block-gap: 0;
}

body.lep-redesign.lep-redesign--fse .wp-site-blocks {
  padding: 0 !important;
  margin: 0 !important;
}

body.lep-redesign.lep-redesign--fse .wp-site-blocks > * {
  margin-block: 0 !important;
}

.lep-redesign .is-layout-flow > * + *,
.lep-redesign .is-layout-constrained > * + * {
  margin-block-start: 0 !important;
}

.lep-redesign .is-layout-flow,
.lep-redesign .is-layout-constrained,
.lep-redesign .is-layout-flex {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
}

.lep-redesign .wp-block-group {
  margin-block: 0;
}

/* Group class hooks keep sample geometry */
.lep-redesign .wp-block-group.section {
  padding: var(--section-y) 0;
  max-width: none;
}

.lep-redesign .wp-block-group.wrap {
  width: min(100% - clamp(1.5rem, 4vw, 2.5rem), var(--content));
  margin-inline: auto;
  max-width: none;
}

.lep-redesign .wp-block-group.wrap--narrow {
  width: min(100% - clamp(1.5rem, 4vw, 2.5rem), var(--content-narrow));
  margin-inline: auto;
  max-width: none;
}

.lep-redesign .wp-block-group.hero {
  position: relative;
  margin: 0;
  padding: 0;
  max-width: none;
}

.lep-redesign .wp-block-group.hero__content,
.lep-redesign .wp-block-group.wrap.hero__content {
  /* Same as Cloudflare: centered block, left-aligned text */
  width: min(100%, 40rem);
  max-width: 40rem;
  margin-inline: auto !important;
  text-align: left !important;
}

.lep-redesign .hero,
.lep-redesign .hero__content,
.lep-redesign .hero h1,
.lep-redesign .hero .wp-block-heading,
.lep-redesign .hero__lede,
.lep-redesign .hero .btn {
  text-align: left !important;
}

/* Headings: same Newsreader locks as production (include .wp-block-heading) */
.lep-redesign h1,
.lep-redesign h2,
.lep-redesign h3,
.lep-redesign h1.wp-block-heading,
.lep-redesign h2.wp-block-heading,
.lep-redesign h3.wp-block-heading,
.lep-redesign .wp-block-heading {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-optical-sizing: auto;
}

.lep-redesign .hero h1,
.lep-redesign .hero h1.wp-block-heading {
  margin: 0 0 1rem !important;
  font-size: clamp(2.1rem, 4.5vw, 3.35rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  font-variation-settings: "opsz" 72;
}

.lep-redesign .section h2,
.lep-redesign .section h2.wp-block-heading {
  margin: 0 0 1rem !important;
  font-size: var(--fs-h2) !important;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-variation-settings: "opsz" 48;
}

.lep-redesign .pillar h3,
.lep-redesign .pillar h3.wp-block-heading,
.lep-redesign .team-card__body h3,
.lep-redesign .team-card__body h3.wp-block-heading {
  font-variation-settings: "opsz" 36;
}

.lep-redesign p,
.lep-redesign li,
.lep-redesign .lede,
.lep-redesign .hero__lede,
.lep-redesign .btn,
.lep-redesign .eyebrow,
.lep-redesign .role,
.lep-redesign .nav-links {
  font-family: var(--font-body) !important;
}

.lep-redesign p.hero__lede {
  margin: 0 0 1.75rem !important;
  font-size: 1.125rem !important;
  color: var(--muted) !important;
}

.lep-redesign p.eyebrow {
  margin: 0 0 0.75rem;
}

.lep-redesign p.lede {
  margin: 0;
}

.lep-redesign .lep-btn-wrap {
  margin: 0;
}

.lep-redesign .lep-btn-wrap a.btn {
  display: inline-flex;
}

/* Media logos */
.lep-redesign figure.hero__logo,
.lep-redesign .wp-block-image.hero__logo {
  width: min(100%, 360px);
  margin: 0 0 1.75rem;
  display: block;
}

.lep-redesign figure.hero__logo img,
.lep-redesign .wp-block-image.hero__logo img {
  width: 100%;
  height: auto;
  display: block;
  animation: rise 0.9s ease both, logo-soft 10s ease-in-out infinite alternate;
}

.lep-redesign .site-header figure.lep-logo-image,
.lep-redesign .site-header .wp-block-image.lep-logo-image {
  margin: 0;
  display: block;
}

.lep-redesign .site-header figure.lep-logo-image img,
.lep-redesign .site-header .logo img,
.lep-redesign .site-header a.logo img {
  width: auto;
  height: 60px;
  display: block;
}

/* Thesis / pillars grids when wrapped as groups */
.lep-redesign .wp-block-group.thesis-grid {
  display: grid;
  gap: 2rem 2.5rem;
  margin-top: 2.5rem;
  max-width: none;
}

@media (min-width: 860px) {
  .lep-redesign .wp-block-group.thesis-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
    gap: 2.5rem 3rem;
    align-items: start;
  }
}

.lep-redesign .wp-block-group.pillars {
  display: grid;
  gap: 2rem 1.75rem;
  margin-top: 2.75rem;
  max-width: none;
}

.lep-redesign .pillar p.pillar__num {
  color: var(--lep-blue);
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.lep-redesign .section--ink .pillar p.pillar__num {
  color: var(--white);
}

.lep-redesign .thesis-stat p {
  margin: 0;
}

.lep-redesign .wp-block-list.invest-list,
.lep-redesign ul.invest-list {
  list-style: none;
  padding-left: 0;
  margin: 2.25rem 0 0;
}

/* Team scroller geometry */
.lep-redesign .wp-block-group.team-scroller {
  position: relative;
  margin-top: 2.75rem;
  overflow: hidden;
  max-width: none;
}

.lep-redesign .wp-block-group.team-scroller__track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0;
  scrollbar-width: none;
  max-width: none;
}

.lep-redesign .wp-block-group.team-scroller__track::-webkit-scrollbar {
  display: none;
}

.lep-redesign article.wp-block-group.team-card,
.lep-redesign .wp-block-group.team-card {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.lep-redesign .team-card .wp-block-image.team-card__photo,
.lep-redesign .team-card figure.team-card__photo {
  margin: 0;
  overflow: hidden;
  background: var(--mist);
  width: 200px;
  height: 200px;
  max-width: 100%;
}

.lep-redesign .team-card .wp-block-image.team-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
  display: block;
}

.lep-redesign footer.wp-block-group.site-footer {
  margin: 0;
  padding: 0;
}

/* Bigger nav ribbon than default CF/sample (editable request) */
.lep-redesign header.wp-block-group.site-header,
.lep-redesign .site-header {
  margin: 0;
  padding: 1.2rem 0;
}

.lep-redesign .site-header .nav,
.lep-redesign .site-header .wrap.nav {
  gap: 1.35rem 1.75rem;
}

.lep-redesign .site-header ul.nav-links,
.lep-redesign .site-header ul.wp-block-list.nav-links {
  font-size: 1.02rem;
  gap: 0.45rem 1.4rem;
}

.lep-redesign .site-header ul.nav-links a,
.lep-redesign .site-header ul.wp-block-list.nav-links a {
  font-size: inherit;
  letter-spacing: 0.01em;
}

/* Hide leftover “Email” CTA / mailto headers from older Site Editor saves */
.lep-redesign .site-header a[href^="mailto:"],
.lep-redesign .cta .actions a[href^="mailto:"],
.lep-redesign .cta .lep-btn-wrap a[href^="mailto:"],
.lep-redesign .cta a.btn[href^="mailto:"] {
  display: none !important;
}


.lep-redesign .site-header ul.wp-block-list.nav-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Internships JD lists keep visible bullets in FSE markup */
.lep-redesign ul.intern-list,
.lep-redesign ul.wp-block-list.intern-list {
  list-style: disc;
  padding-left: 1.15rem;
}

/* Internships apply-by-email (role inbox is intentionally public) */
.lep-redesign .intern-intro a[href^="mailto:"],
body.lep-redesign .intern-intro a[href^="mailto:"] {
  display: inline !important;
  color: var(--sea);
  font-weight: 600;
  text-decoration: none;
}
.lep-redesign .intern-intro a[href^="mailto:"]:hover,
body.lep-redesign .intern-intro a[href^="mailto:"]:hover {
  text-decoration: underline;
}

/* CTA / hero buttons: flush left edge with copy (match Cloudflare) */
.lep-redesign .cta .actions,
.lep-redesign .cta .wp-block-group.actions,
body.lep-redesign .cta .actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  gap: 0.85rem !important;
}

.lep-redesign .cta .lep-btn-wrap,
.lep-redesign .cta .actions > p,
body.lep-redesign .cta .lep-btn-wrap {
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
}

.lep-redesign .cta .btn,
.lep-redesign .cta a.btn,
.lep-redesign .hero .btn,
.lep-redesign .hero a.btn,
body.lep-redesign .cta .btn,
body.lep-redesign .hero .btn {
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
}

/* Core Buttons → LEP ghost look.
 * Only the <a class="btn"> gets a border. Wrapper .wp-block-button must be borderless
 * or the front shows a double box. */
.lep-redesign .hero .wp-block-buttons.lep-btn-wrap,
.lep-redesign .cta .wp-block-buttons.lep-btn-wrap,
.lep-redesign .cta .actions .wp-block-buttons {
  margin: 0 !important;
  gap: 0 !important;
}

.lep-redesign .hero .wp-block-button,
.lep-redesign .cta .wp-block-button,
.lep-redesign .hero .wp-block-button.btn,
.lep-redesign .cta .wp-block-button.btn,
.lep-redesign .hero .wp-block-button.btn--ghost,
.lep-redesign .cta .wp-block-button.btn--ghost,
.lep-redesign .hero .wp-block-button.lep-btn-ghost,
.lep-redesign .cta .wp-block-button.lep-btn-ghost {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: inherit !important;
}

.lep-redesign .hero .wp-block-button__link.btn,
.lep-redesign .cta .wp-block-button__link.btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* —— Team via Getwid Content Slider —— */
.lep-pattern--team .lep-team-carousel.wp-block-getwid-content-slider {
  margin-top: 2.75rem;
  position: relative;
}

.lep-pattern--team .lep-team-carousel .wp-block-getwid-content-slider__wrapper {
  margin: 0;
}

.lep-pattern--team .lep-team-carousel .wp-block-getwid-content-slider-slide__wrapper {
  outline: none;
}

.lep-pattern--team .lep-team-carousel .team-card {
  margin: 0;
  height: 100%;
  /* Keep photo | bio side-by-side from lep-sample grid — do not stack */
  display: grid;
  gap: 1.15rem 1.35rem;
  align-items: center;
}

@media (min-width: 720px) {
  .lep-pattern--team .lep-team-carousel .team-card {
    grid-template-columns: 200px minmax(0, 1fr);
    column-gap: 1.5rem;
  }
}

/* Equal slide height = tallest member card (adaptiveHeight off) */
.lep-pattern--team .lep-team-carousel .slick-track {
  display: flex !important;
  align-items: stretch;
}

.lep-pattern--team .lep-team-carousel .slick-slide {
  height: auto;
  display: flex !important;
}

.lep-pattern--team .lep-team-carousel .slick-slide > div,
.lep-pattern--team .lep-team-carousel .wp-block-getwid-content-slider-slide,
.lep-pattern--team .lep-team-carousel .wp-block-getwid-content-slider-slide__wrapper {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 100%;
}

.lep-pattern--team .lep-team-carousel .team-card__body {
  min-width: 0;
}

/* Soften Slick chrome to LEP palette + center glyphs in the circle */
.lep-pattern--team .lep-team-carousel .slick-prev,
.lep-pattern--team .lep-team-carousel .slick-next {
  width: 2.75rem;
  height: 2.75rem;
  z-index: 2;
  padding: 0 !important;
  border: 1px solid rgba(18, 58, 92, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 6px 20px rgba(13, 47, 79, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

/* CSS chevrons — optically centered (Slick font arrows sit off-center) */
.lep-pattern--team .lep-team-carousel .slick-prev:before,
.lep-pattern--team .lep-team-carousel .slick-next:before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 0.55rem !important;
  height: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 2.5px solid var(--navy) !important;
  border-bottom: 2.5px solid var(--navy) !important;
  background: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  opacity: 0.9 !important;
  box-shadow: none !important;
}

.lep-pattern--team .lep-team-carousel .slick-prev:before {
  transform: rotate(135deg);
  margin-left: 0.15rem !important;
}

.lep-pattern--team .lep-team-carousel .slick-next:before {
  transform: rotate(-45deg);
  margin-right: 0.15rem !important;
}

/* End of list: hide arrows completely */
.lep-pattern--team .lep-team-carousel .slick-prev.slick-disabled,
.lep-pattern--team .lep-team-carousel .slick-next.slick-disabled,
.lep-pattern--team .lep-team-carousel.is-at-start .slick-prev,
.lep-pattern--team .lep-team-carousel.is-at-end .slick-next {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.lep-pattern--team .lep-team-carousel .slick-dots li button:before {
  color: var(--navy);
  opacity: 0.35;
  font-size: 10px;
}

.lep-pattern--team .lep-team-carousel .slick-dots li.slick-active button:before {
  color: var(--navy);
  opacity: 1;
}

.lep-pattern--team .lep-team-carousel.has-arrows-outside .slick-prev {
  left: -0.25rem;
}

.lep-pattern--team .lep-team-carousel.has-arrows-outside .slick-next {
  right: -0.25rem;
}

@media (max-width: 820px) {
  .lep-pattern--team .lep-team-carousel.has-arrows-outside .slick-prev {
    left: 0;
  }
  .lep-pattern--team .lep-team-carousel.has-arrows-outside .slick-next {
    right: 0;
  }
}

/* Valid core/button: classes on wrapper; link painted like sample .btn / .btn--ghost */
.lep-redesign .lep-btn-ghost > .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.9rem 1.4rem !important;
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  max-width: 100%;
  text-align: center;
  min-height: 0 !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

/* Hero sits on light copy — ink ghost (matches lep-sample .hero .btn--ghost) */
.lep-redesign .hero .lep-btn-ghost > .wp-block-button__link {
  border-color: rgba(18, 58, 92, 0.28) !important;
  color: var(--ink) !important;
}

.lep-redesign .hero .lep-btn-ghost > .wp-block-button__link:hover {
  border-color: var(--ink) !important;
  color: var(--ink) !important;
  transform: translateY(-1px);
}

/* CTA / ink sections — white ghost (matches lep-sample .section--ink .btn--ghost) */
.lep-redesign .section--ink .lep-btn-ghost > .wp-block-button__link,
.lep-redesign .cta .lep-btn-ghost > .wp-block-button__link {
  border-color: rgba(255, 255, 255, 0.55) !important;
  color: var(--white) !important;
}

.lep-redesign .section--ink .lep-btn-ghost > .wp-block-button__link:hover,
.lep-redesign .cta .lep-btn-ghost > .wp-block-button__link:hover {
  border-color: var(--white) !important;
  color: var(--white) !important;
  transform: translateY(-1px);
}

/* LEP 1.5.22 hero/CTA button visibility */
/*
 * Hero CTA was invisible when WP button colors / prior white-ghost rules won.
 * Paint ink ghost on light hero; white ghost on navy CTA — regardless of whether
 * the link still has .btn or only lives under .lep-btn-ghost.
 */
.lep-redesign .hero .wp-block-buttons .wp-block-button__link,
.lep-redesign .hero .lep-btn-ghost > .wp-block-button__link,
.lep-redesign .hero a.btn.btn--ghost,
.lep-redesign .hero .wp-block-button__link.btn,
.lep-redesign .hero .wp-block-button__link.btn--ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.9rem 1.4rem !important;
  border: 1px solid rgba(18, 58, 92, 0.28) !important;
  border-radius: 2px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ink, #123a5c) !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

.lep-redesign .hero .wp-block-buttons .wp-block-button__link:hover,
.lep-redesign .hero .lep-btn-ghost > .wp-block-button__link:hover,
.lep-redesign .hero a.btn.btn--ghost:hover {
  border-color: var(--ink, #123a5c) !important;
  color: var(--ink, #123a5c) !important;
  transform: translateY(-1px);
}

.lep-redesign .cta .wp-block-buttons .wp-block-button__link,
.lep-redesign .cta .lep-btn-ghost > .wp-block-button__link,
.lep-redesign .section--ink .lep-btn-ghost > .wp-block-button__link,
.lep-redesign .cta a.btn.btn--ghost,
.lep-redesign .section--ink a.btn.btn--ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.9rem 1.4rem !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 2px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

.lep-redesign .cta .wp-block-buttons .wp-block-button__link:hover,
.lep-redesign .section--ink .lep-btn-ghost > .wp-block-button__link:hover {
  border-color: #fff !important;
  color: #fff !important;
  transform: translateY(-1px);
}
