/* A quieter, more deliberate visual system for Exodus Industries. */
:root {
  --ink: #090a0e;
  --ink-raised: #121319;
  --paper: #f2f1ed;
  --paper-alt: #e8e7e2;
  --text: #f5f4f1;
  --ink-text: #17171c;
  --muted: #b8b5c0;
  --muted-dark: #62616a;
  --violet: #8354b8;
  --violet-light: #c2a8e2;
  --line-dark: rgba(235, 230, 255, .13);
  --line-light: rgba(16, 16, 20, .16);
  --display: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --body: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

body {
  font-size: 1rem;
  line-height: 1.72;
  letter-spacing: -.008em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body[class] :is(h1, h2, h3) {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  line-height: 1.04 !important;
  text-transform: none !important;
  text-wrap: balance;
}

.eyebrow,
.step-index,
.step-index span {
  font-size: .62rem;
  letter-spacing: .09em;
}

.site-header {
  border-bottom-color: rgba(235, 230, 255, .1);
  background: rgba(9, 10, 14, .86);
  backdrop-filter: blur(20px);
}

.nav-shell { min-height: 5.1rem; }
.primary-navigation { gap: clamp(1.1rem, 2.3vw, 2.25rem); }
.primary-navigation > a {
  color: #d0cdd4;
  font-family: var(--body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .075em;
}
.primary-navigation .nav-contact {
  min-height: 2.7rem;
  border-color: rgba(194, 168, 226, .36);
  border-radius: 2px;
}

.hero {
  min-height: clamp(720px, 92svh, 990px);
}
.home-page .hero { min-height: clamp(720px, 92svh, 990px); }
.home-page .hero h1 {
  max-width: 10ch;
  font-size: clamp(3.2rem, 6.1vw, 6.9rem);
  line-height: 1.01 !important;
  letter-spacing: -.045em !important;
}
.home-page .hero h1 .hero-gradient {
  background: linear-gradient(110deg, #d8c4f2 0%, #a985d1 82%);
  background-clip: text;
  -webkit-background-clip: text;
}
.home-page .hero-lede {
  max-width: 34rem;
  color: #d0ced6;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.72;
}
.home-page .hero-art {
  overflow: hidden;
  border: 1px solid rgba(210, 203, 223, .14);
  border-radius: 2px;
  background: #090a0e;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .32);
}
.home-page .hero-art img { width: 100%; }
.button { border-radius: 2px; font-family: var(--body); letter-spacing: .07em; }
.button-primary {
  border-color: #8354b8;
  background: #7447a6;
  color: #fff;
}
.button-primary:hover { border-color: #9165c0; background: #8354b8; }
.button-text { font-family: var(--body); }
.text-link, .email-link { font-family: var(--body); letter-spacing: .075em; }

.section-topline { padding-bottom: 1.4rem; }
.home-intro,
.home-research,
.focus-section,
.home-vision,
.partner-cta { scroll-margin-top: 5.5rem; }
.intro-copy p,
.research-feature-copy > p:not(.eyebrow),
.vision-copy > p,
.partner-copy p { line-height: 1.78; }
.home-page .focus-tab { border-color: rgba(235, 230, 255, .14); }
.focus-panel p:last-child { line-height: 1.75; }
.research-signature { color: #aaa4b2; letter-spacing: .08em; }

.page-hero { min-height: 620px; padding-top: 9.5rem; }
.page-hero h1 {
  max-width: 15ch;
  font-size: clamp(3.25rem, 6.5vw, 6.5rem);
  letter-spacing: -.045em !important;
  line-height: 1.02 !important;
}
.page-hero .page-lede { color: #d0ced6; line-height: 1.75; }
.page-main,
.mission,
.approach-preview { scroll-margin-top: 5rem; }
.approach-card,
.public-card,
.step-card { transition: background-color .25s ease, border-color .25s ease; }
.approach-card:hover,
.public-card:hover,
.step-card:hover { background-color: rgba(255, 255, 255, .025); }
.contact-note {
  border-radius: 2px;
  background: linear-gradient(145deg, #eae8ee, #f4f2f4 72%);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .12);
}
.social-list a { font-family: var(--body); font-size: .78rem; }

.leadership-hero { padding-top: clamp(7.5rem, 10vw, 9rem); }
.leadership-layout { gap: clamp(3rem, 7vw, 7rem); }
.founder-details h1 {
  font-size: clamp(4rem, 7.3vw, 7rem);
  line-height: .98 !important;
}
.founder-details h1 span,
.leadership-contact h2 span { color: #c2a8e2; }
.founder-statement { font-size: clamp(1.2rem, 1.8vw, 1.5rem); }
.founder-bio { color: #c1bec8; line-height: 1.78; }
.founder-portrait-link { border-color: rgba(194, 168, 226, .2); border-radius: 2px; }

.site-footer { border-top: 1px solid rgba(235, 230, 255, .08); }
.footer-links a { font-family: var(--body); letter-spacing: .015em; }
.footer-bottom { letter-spacing: .075em; }

:focus-visible { outline-offset: 4px; }

.venture-disclosure {
  position: absolute;
  z-index: 19;
  inset: 5.6rem 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: .25rem 1rem;
  padding: .52rem var(--gutter, 1.4rem);
  border-bottom: 1px solid rgba(194, 168, 226, .24);
  background: rgba(12, 12, 17, .9);
  color: #d0cbd8;
  font-size: .78rem;
  letter-spacing: .01em;
  line-height: 1.5;
  text-align: center;
  backdrop-filter: blur(14px);
}
.venture-disclosure span:first-child {
  color: #d7b9f5;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 1000px) {
  .home-page .hero h1 { font-size: clamp(3.1rem, 7vw, 5.8rem); }
}

@media (max-width: 760px) {
  .venture-disclosure {
    inset-block-start: 4.8rem;
    align-items: flex-start;
    flex-direction: column;
    gap: .08rem;
    padding: .42rem var(--gutter, 1.1rem);
    text-align: left;
    font-size: .69rem;
  }
  .venture-disclosure span:first-child { font-size: .6rem; }
}

@media (max-width: 760px) {
  .nav-shell { min-height: 4.6rem; }
  .primary-navigation { font-family: var(--body); }
  .menu-toggle { border-radius: 2px; }
  .home-page .hero { min-height: 0; }
  .home-page .hero h1 { max-width: 12ch; font-size: clamp(2.8rem, 10.5vw, 4.6rem); }
  .home-page .hero-layout { padding-top: 7.6rem; padding-bottom: 5.2rem; }
  .home-page .hero-brand-stage { margin-top: 2rem; }
  .hero-rail .eyebrow { letter-spacing: .055em; }
  .page-hero { min-height: 520px; padding-top: 8.2rem; }
  .page-hero h1 { font-size: clamp(2.8rem, 10vw, 4.7rem); }
  .leadership-hero { padding-top: 7rem; }
  .founder-details h1 { font-size: clamp(3.8rem, 14vw, 5.7rem); }
}

@media (prefers-reduced-motion: reduce) {
  .approach-card,
  .public-card,
  .step-card { transition: none; }
}

/* Use the supplied full wordmark as the compact site signature. */
.site-header .brand {
  width: 210px;
  height: 76px;
  flex: 0 0 auto;
}
.site-header .brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: screen;
}

/* Give the message room and let the atmosphere carry the visual weight. */
.home-page .hero { min-height: clamp(780px, 100svh, 1040px); }
.home-page .hero-grid { background: none; }
.home-page .hero-layout {
  grid-template-columns: minmax(0, 1fr);
  padding-top: 7rem;
  padding-bottom: 9rem;
}
.home-page .hero-copy { max-width: 820px; }
.home-page .hero h1 {
  max-width: 12ch;
  font-size: clamp(3.3rem, 7.4vw, 7.2rem);
  line-height: 1.12 !important;
}
.home-page .headline-line {
  overflow: visible;
  padding-bottom: .14em;
  margin-bottom: -.14em;
}
.home-page .hero-brand-stage { display: none !important; }

@media (max-width: 1000px) {
  .site-header .brand { width: 174px; height: 63px; }
  .home-page .hero-layout { padding-top: 7rem; padding-bottom: 9rem; }
}

@media (max-width: 760px) {
  .site-header .brand { width: 150px; height: 54px; }
  .home-page .hero-layout { padding-top: 7.3rem; padding-bottom: 5.5rem; }
  .home-page .hero h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 10.5vw, 4.7rem);
    line-height: 1.13 !important;
  }
}

/* Keep the front-page message clear of the new legal-status disclosure. */
.venture-disclosure { inset-block-start: 5.1rem; }
.home-page .hero-layout { padding-top: 9.4rem; }
@media (max-width: 760px) {
  .venture-disclosure { inset-block-start: 4.6rem; }
  .home-page .hero-layout { padding-top: 9.4rem; }
  .leadership-hero { padding-top: 8.8rem; }
}
/* Give large type enough line-box room so descenders remain visible at every viewport. */
h1,h2,h3{overflow:visible}
.home-page .hero h1,.page-hero h1,.research-hero-copy h1,.about-hero h1,.inquiry-intro h1,.founder-details h1{line-height:1.12!important;padding-block-end:.1em}
.home-page .headline-line{line-height:1.12;padding-bottom:.14em;margin-bottom:-.14em}
.editorial-heading,.editorial-split h2,.philosophy-heading h2,.about-vision h2,.inquiry-direct h2,.status-editorial-layout h2,.research-outlook h2,.leadership-contact h2,.partner-cta h2{line-height:1.12!important;padding-block-end:.08em}

.footer-visual-note{padding:1rem 0 1.1rem;color:#aaa2b3;font:400 .7rem/1.65 var(--sans);}
.footer-visual-note p{max-width:70rem;margin:0;}
.footer-visual-note a{color:#d4c0ed;text-decoration:underline;text-underline-offset:3px;}
.footer-visual-note a:hover{color:#fff;}
@media(max-width:760px){.footer-visual-note{font-size:.67rem;}}
