:root {
  --si-black: #080b0a;
  --si-black-soft: #111614;
  --si-white: #ffffff;
  --si-paper: #f7f8f6;
  --si-mist: #edf0ed;
  --si-graphite: #58605c;
  --si-line: rgba(8, 11, 10, .14);
  --si-line-dark: rgba(255, 255, 255, .16);
  --si-green: #00b957;
  --si-green-dark: #008c42;
  --si-amber: #ffbf00;
  --si-red: #ff1d25;
  --si-font-display: "Semaforo Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --si-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --si-radius: 18px;
  --si-shell: min(1280px, calc(100vw - 64px));
  --si-transition: 180ms cubic-bezier(.2, .8, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--si-paper);
  color: var(--si-black);
  font-family: var(--si-font-body);
  font-size: 16px;
  line-height: 1.62;
  margin: 0;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { height: auto; max-width: 100%; }
figure { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--si-green); color: var(--si-black); }
:focus-visible { outline: 3px solid var(--si-green); outline-offset: 4px; }
[hidden] { display: none !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--si-font-display);
  font-kerning: normal;
  font-synthesis: none;
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .98;
  margin: 0;
}
p { margin: 0 0 1.25rem; }
.shell { margin-inline: auto; width: var(--si-shell); }
.shell--narrow { max-width: 860px; }
.skip-link {
  background: var(--si-white);
  color: var(--si-black);
  font-size: 13px;
  font-weight: 800;
  left: 16px;
  padding: 12px 18px;
  position: fixed;
  top: -100px;
  z-index: 99999;
}
.skip-link:focus { top: 16px; }

.marble-white {
  background-color: var(--si-paper);
  background-image: linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72)), url("../images/marble-white.webp");
  background-position: center;
  background-size: 780px auto;
}
.marble-black {
  background-color: var(--si-black);
  background-image: linear-gradient(rgba(3,5,4,.76), rgba(3,5,4,.76)), url("../images/marble-black.webp");
  background-position: center;
  background-size: 860px auto;
  color: var(--si-white);
}

.eyebrow, .micro-label {
  align-items: center;
  color: var(--si-graphite);
  display: flex;
  font-size: 10px;
  font-weight: 800;
  gap: 10px;
  letter-spacing: .14em;
  margin: 0 0 20px;
  text-transform: uppercase;
}
.eyebrow > span { background: var(--si-green); display: inline-block; height: 2px; width: 22px; }
.eyebrow--light { color: rgba(255,255,255,.66); }
.micro-label { display: block; margin-bottom: 12px; }

.button {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  gap: 34px;
  justify-content: center;
  letter-spacing: .07em;
  min-height: 52px;
  padding: 0 20px;
  text-transform: uppercase;
  transition: background var(--si-transition), border-color var(--si-transition), color var(--si-transition), transform var(--si-transition);
}
.button:hover { transform: translateY(-2px); }
.button--signal { background: var(--si-green); color: var(--si-black); }
.button--signal:hover { background: #12d66b; }
.button--dark { background: var(--si-black); color: var(--si-white); }
.button--dark:hover { background: var(--si-green); color: var(--si-black); }
.button--ghost-light { border-color: rgba(255,255,255,.38); color: var(--si-white); }
.button--ghost-light:hover { border-color: var(--si-white); }
.button-row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.text-link {
  align-items: center;
  border-bottom: 1px solid var(--si-line);
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  gap: 22px;
  letter-spacing: .06em;
  padding: 8px 0;
  text-transform: uppercase;
}
.text-link span { transition: transform var(--si-transition); }
.text-link:hover span { transform: translate(3px, -3px); }
.text-link--light { border-color: var(--si-line-dark); color: var(--si-white); }

/* Header */
.site-header {
  border-bottom: 1px solid var(--si-line);
  height: 86px;
  position: sticky;
  top: 0;
  transition: background var(--si-transition), box-shadow var(--si-transition), border-color var(--si-transition);
  z-index: 1000;
}
.has-transparent-header .site-header {
  border-color: var(--si-line-dark);
  color: var(--si-white);
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.site-header.is-sticky {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: rgba(247,248,246,.9);
  border-color: var(--si-line);
  box-shadow: 0 8px 34px rgba(8,11,10,.07);
  color: var(--si-black);
}
.has-transparent-header .site-header.is-sticky {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}
.site-header__inner {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  height: 100%;
  margin-inline: auto;
  width: var(--si-shell);
}
.site-brand { display: inline-flex; justify-self: start; }
.wordmark { align-items: center; display: inline-flex; gap: 11px; }
.wordmark__symbol { height: 42px; object-fit: contain; width: 42px; }
.wordmark__text { display: flex; flex-direction: column; line-height: 1; }
.wordmark__text strong { font-family: var(--si-font-display); font-size: 16px; font-weight: 750; letter-spacing: .17em; }
.wordmark__text small { font-size: 8px; font-weight: 700; letter-spacing: .48em; margin-top: 7px; }
.has-transparent-header .site-header:not(.is-sticky) .wordmark__text { color: var(--si-white); }
.has-transparent-header .site-header:not(.is-sticky) .wordmark__symbol { filter: drop-shadow(0 0 1px rgba(255,255,255,.5)); }
.site-navigation { justify-self: center; }
.primary-menu, .footer-menu, .legal-menu { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
.primary-menu a { font-size: 11px; font-weight: 750; letter-spacing: .04em; padding: 12px 0; position: relative; }
.primary-menu a::after { background: var(--si-green); bottom: 3px; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform var(--si-transition); width: 100%; }
.primary-menu a:hover::after, .primary-menu .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.header-account { align-items: center; display: inline-flex; font-size: 10px; font-weight: 800; gap: 14px; justify-self: end; letter-spacing: .08em; text-transform: uppercase; }
.header-account span { color: var(--si-green); font-size: 16px; }
.menu-toggle { background: transparent; border: 0; cursor: pointer; display: none; padding: 8px; }
.menu-toggle__label { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.menu-toggle__lines { display: grid; gap: 5px; margin-left: 10px; }
.menu-toggle__lines i { background: currentColor; display: block; height: 1px; transition: transform var(--si-transition); width: 22px; }

/* Hero */
.hero { min-height: 820px; overflow: hidden; padding: 180px 0 0; position: relative; }
.hero::after { background: linear-gradient(90deg, transparent, rgba(0,185,87,.08), transparent); content: ""; height: 1px; left: 0; position: absolute; top: 55%; width: 100%; }
.hero__market-line { bottom: 35px; left: 5%; max-width: none; opacity: .11; pointer-events: none; position: absolute; width: 105%; }
.hero__grid { align-items: center; display: grid; gap: 9vw; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .55fr); }
.hero__copy { position: relative; z-index: 1; }
.hero h1 { font-size: clamp(58px, 7.2vw, 112px); max-width: 930px; }
.hero__lead { color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.65; margin: 34px 0 36px; max-width: 640px; }
.hero__brand-card { border: 1px solid rgba(255,255,255,.17); max-width: 390px; padding: 12px; transform: rotate(1.5deg); }
.hero__brand-card-inner { background: rgba(255,255,255,.95); color: var(--si-black); min-height: 480px; padding: 44px; position: relative; }
.hero__brand-card-inner::after { border: 1px solid var(--si-line); bottom: 14px; content: ""; left: 14px; pointer-events: none; position: absolute; right: 14px; top: 14px; }
.hero__brand-card .brand-logo--symbol { display: block; margin: 20px auto 70px; position: relative; width: 190px; z-index: 1; }
.hero__brand-card .micro-label { position: relative; z-index: 1; }
.signal-stack { border-top: 1px solid var(--si-line); display: grid; position: relative; z-index: 1; }
.signal-stack span { align-items: center; border-bottom: 1px solid var(--si-line); display: flex; font-size: 10px; font-weight: 800; gap: 10px; letter-spacing: .07em; min-height: 46px; text-transform: uppercase; }
.dot { border-radius: 50%; display: inline-block; height: 8px; width: 8px; }
.dot--green { background: var(--si-green); }
.dot--amber { background: var(--si-amber); }
.dot--red { background: var(--si-red); }
.market-strip { align-items: center; border-top: 1px solid var(--si-line-dark); bottom: 0; color: rgba(255,255,255,.46); display: flex; font-size: 9px; font-weight: 800; height: 62px; justify-content: space-between; letter-spacing: .12em; position: absolute; text-transform: uppercase; }

.proof-bar { background: var(--si-white); border-bottom: 1px solid var(--si-line); }
.proof-bar__grid { align-items: stretch; display: grid; grid-template-columns: repeat(3, .55fr) 1.4fr; }
.proof-bar__grid > div, .proof-bar__grid > p { align-items: center; border-left: 1px solid var(--si-line); display: flex; min-height: 128px; padding: 24px 30px; }
.proof-bar__grid > div:first-child { border-left: 0; }
.proof-bar strong { font-family: var(--si-font-display); font-size: 34px; letter-spacing: -.04em; }
.proof-bar span { color: var(--si-graphite); font-size: 9px; font-weight: 800; letter-spacing: .07em; margin-left: 14px; text-transform: uppercase; }
.proof-bar p { color: var(--si-graphite); font-size: 13px; line-height: 1.55; margin: 0; }

/* Shared sections */
.section-grid { align-items: end; display: grid; gap: 70px; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr); }
.section-intro h2, .section-heading h2 { font-size: clamp(46px, 5.4vw, 84px); }
.section-copy { color: var(--si-graphite); font-size: 15px; }
.section-copy p:last-child { margin-bottom: 0; }
.section-heading { align-items: end; display: flex; justify-content: space-between; }
.section-heading > div { max-width: 920px; }
.section-heading--light h2 { color: var(--si-white); }

.method { padding: 128px 0; }
.method-steps { border-bottom: 1px solid var(--si-line); border-top: 1px solid var(--si-line); display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 76px; }
.method-steps article { border-left: 1px solid var(--si-line); min-height: 360px; padding: 28px; position: relative; }
.method-steps article:first-child { border-left: 0; }
.method-steps article > span { color: var(--si-green-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.method-icon { border: 1px solid var(--si-line); display: block; height: 58px; margin: 70px 0 48px; position: relative; width: 58px; }
.method-icon::before, .method-icon::after { content: ""; position: absolute; }
.method-icon--universe::before { border: 1px solid var(--si-black); border-radius: 50%; inset: 13px; }
.method-icon--universe::after { background: var(--si-green); height: 1px; left: 8px; top: 28px; width: 40px; }
.method-icon--quality::before { border-bottom: 2px solid var(--si-green); border-right: 2px solid var(--si-green); height: 22px; left: 20px; top: 13px; transform: rotate(42deg); width: 11px; }
.method-icon--verify::before { border: 1px solid var(--si-black); height: 28px; left: 14px; top: 12px; width: 24px; }
.method-icon--verify::after { background: var(--si-green); box-shadow: 0 7px 0 var(--si-green), 0 14px 0 var(--si-green); height: 1px; left: 21px; top: 21px; width: 17px; }
.method-icon--value::before { border-bottom: 1px solid var(--si-green); border-left: 1px solid var(--si-green); height: 26px; left: 14px; top: 13px; width: 30px; }
.method-icon--value::after { border-right: 2px solid var(--si-green); border-top: 2px solid var(--si-green); height: 8px; right: 12px; top: 11px; width: 8px; }
.method-steps h3 { font-size: 25px; letter-spacing: -.04em; }
.method-steps p { color: var(--si-graphite); font-size: 12px; line-height: 1.6; margin: 17px 0 0; }

.latest-analyses { overflow: hidden; padding: 128px 0; }
.analysis-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 60px; background: var(--si-line-dark); border: 1px solid var(--si-line-dark); }
.analysis-grid--light { background: var(--si-line); border-color: var(--si-line); margin-top: 0; }
.analysis-card { background: var(--si-black-soft); color: var(--si-white); min-height: 430px; padding: 30px; position: relative; transition: background var(--si-transition), transform var(--si-transition); }
.analysis-grid--light .analysis-card { background: var(--si-white); color: var(--si-black); }
.analysis-card:hover { background: #18201d; transform: translateY(-4px); z-index: 1; }
.analysis-grid--light .analysis-card:hover { background: #f1f4f1; }
.analysis-card__link { inset: 0; position: absolute; z-index: 1; }
.analysis-card__meta { align-items: center; color: rgba(255,255,255,.48); display: flex; font-size: 9px; font-weight: 800; justify-content: space-between; letter-spacing: .1em; text-transform: uppercase; }
.analysis-grid--light .analysis-card__meta { color: var(--si-graphite); }
.member-badge { border: 1px solid rgba(255,255,255,.28); padding: 5px 7px; }
.analysis-grid--light .member-badge { border-color: var(--si-line); }
.analysis-card h3 { font-size: 37px; margin: 70px 0 30px; }
.analysis-card__signals { display: flex; flex-wrap: wrap; gap: 8px; }
.signal-pill { align-items: center; border: 1px solid currentColor; display: inline-flex; font-size: 8px; font-weight: 850; gap: 7px; letter-spacing: .08em; min-height: 29px; padding: 0 9px; text-transform: uppercase; }
.signal-pill i { background: currentColor; border-radius: 50%; height: 6px; width: 6px; }
.signal-pill--green { color: var(--si-green); }
.signal-pill--amber,
.signal-pill--yellow { color: var(--si-amber); }
.signal-pill--red { color: var(--si-red); }
.signal-pill--locked { color: #929b96; }
.analysis-card__footer { align-items: end; border-top: 1px solid var(--si-line-dark); bottom: 30px; display: flex; justify-content: space-between; left: 30px; padding-top: 18px; position: absolute; right: 30px; }
.analysis-grid--light .analysis-card__footer { border-color: var(--si-line); }
.analysis-card__footer small { color: rgba(255,255,255,.48); display: block; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.analysis-grid--light .analysis-card__footer small { color: var(--si-graphite); }
.analysis-card__footer strong { display: block; font-family: var(--si-font-display); font-size: 30px; letter-spacing: -.03em; margin-top: 5px; }
.analysis-card__footer > span { color: var(--si-green); font-size: 24px; }
.analysis-empty { align-items: center; background: var(--si-black-soft); color: var(--si-white); display: grid; gap: 50px; grid-column: 1 / -1; grid-template-columns: auto 1fr; min-height: 300px; padding: 55px; }
.analysis-empty__signal { align-items: end; display: flex; gap: 8px; }
.analysis-empty__signal i { background: var(--si-red); display: block; height: 42px; width: 16px; }
.analysis-empty__signal i:nth-child(2) { background: var(--si-green); height: 70px; }
.analysis-empty__signal i:nth-child(3) { background: var(--si-amber); height: 50px; }
.analysis-empty h3 { font-size: 42px; margin-bottom: 15px; }
.analysis-empty p:last-child { color: rgba(255,255,255,.58); margin: 0; }

.dual-signal { background: var(--si-paper); padding: 128px 0; }
.dual-signal__grid { border-bottom: 1px solid var(--si-line); border-top: 1px solid var(--si-line); display: grid; grid-template-columns: 1fr 1fr; margin-top: 76px; }
.signal-card { min-height: 410px; padding: 46px; }
.signal-card + .signal-card { border-left: 1px solid var(--si-line); }
.signal-card__top { align-items: center; display: flex; justify-content: space-between; }
.signal-card__top > span { color: var(--si-graphite); font-family: var(--si-font-display); font-size: 20px; }
.signal-card h3 { font-size: clamp(38px, 4vw, 60px); margin: 145px 0 22px; }
.signal-card p { color: var(--si-graphite); font-size: 13px; max-width: 520px; }

.membership-cta { overflow: hidden; padding: 130px 0; position: relative; }
.membership-cta__line { bottom: -120px; opacity: .12; pointer-events: none; position: absolute; right: -7%; width: 80%; }
.membership-cta__inner { align-items: end; display: grid; gap: 90px; grid-template-columns: 1.4fr .6fr; position: relative; }
.membership-cta h2 { font-size: clamp(54px, 7vw, 108px); max-width: 880px; }
.membership-cta__inner > div:last-child { color: var(--si-graphite); }
.membership-cta .button { margin-top: 18px; }

/* Internal pages */
.breadcrumbs { align-items: center; color: var(--si-graphite); display: flex; flex-wrap: wrap; font-size: 9px; font-weight: 800; gap: 8px; letter-spacing: .06em; margin-bottom: 50px; text-transform: uppercase; }
.marble-black .breadcrumbs { color: rgba(255,255,255,.54); }
.breadcrumbs a:hover { color: var(--si-green); }
.page-hero { padding: 90px 0 100px; }
.page-hero h1 { font-size: clamp(56px, 7vw, 108px); max-width: 1050px; }
.page-hero > .shell > p:not(.eyebrow):not(.micro-label) { color: inherit; font-size: 17px; margin: 30px 0 0; max-width: 680px; opacity: .65; }
.archive-analysis__content, .content-archive > .post-grid { padding-bottom: 110px; padding-top: 76px; }
.content-archive .post-grid { display: grid; gap: 30px; grid-template-columns: repeat(3, 1fr); }
.post-card { border-top: 1px solid var(--si-line); padding: 28px 0 10px; }
.post-card__image { aspect-ratio: 16 / 10; background: var(--si-mist); display: block; margin-bottom: 25px; overflow: hidden; }
.post-card__image img { height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.8,.2,1); width: 100%; }
.post-card:hover .post-card__image img { transform: scale(1.035); }
.post-card h2 { font-size: 31px; margin-bottom: 17px; }
.post-card > p:not(.micro-label) { color: var(--si-graphite); font-size: 13px; }
.pagination-wrap { padding-bottom: 100px; }
.nav-links { align-items: center; display: flex; gap: 8px; }
.page-numbers { align-items: center; border: 1px solid var(--si-line); display: inline-flex; height: 40px; justify-content: center; min-width: 40px; }
.page-numbers.current, .page-numbers:hover { background: var(--si-black); color: var(--si-white); }
.entry-content { padding-bottom: 120px; padding-top: 70px; }
.featured-image { margin-top: 60px; }
.featured-image img { width: 100%; }
.prose { color: #252b28; font-size: 17px; }
.prose > * { max-width: 100%; }
.prose h2 { font-size: clamp(34px, 4vw, 52px); margin: 2.2em 0 .7em; }
.prose h3 { font-size: 28px; margin: 2em 0 .7em; }
.prose a { border-bottom: 1px solid var(--si-green); }
.prose blockquote { border-left: 3px solid var(--si-green); font-family: var(--si-font-display); font-size: 28px; letter-spacing: -.03em; margin: 2em 0; padding: 10px 0 10px 28px; }
.prose img { border-radius: 3px; }
.content-none { grid-column: 1 / -1; padding: 70px 0; }
.content-none h2 { font-size: 44px; }
.search-form { display: flex; margin-top: 30px; max-width: 580px; }
.search-field { border: 1px solid var(--si-line); min-height: 52px; padding: 0 16px; width: 100%; }
.search-submit { background: var(--si-black); border: 0; color: var(--si-white); cursor: pointer; font-size: 10px; font-weight: 800; padding: 0 20px; text-transform: uppercase; }
.error-page { align-items: center; display: flex; min-height: 78vh; padding: 130px 0; }
.error-page h1 { font-size: clamp(56px, 8vw, 112px); }
.error-page p:not(.eyebrow) { color: rgba(255,255,255,.62); font-size: 17px; margin: 30px 0; }

/* Analysis detail */
.analysis-hero { padding: 70px 0 0; }
.analysis-hero__grid { align-items: end; display: grid; gap: 70px; grid-template-columns: 1fr auto; }
.analysis-hero h1 { font-size: clamp(60px, 8vw, 120px); }
.analysis-hero__date { color: var(--si-graphite); font-size: 11px; font-weight: 700; letter-spacing: .04em; margin: 22px 0 0; text-transform: uppercase; }
.analysis-hero__taxonomy { color: var(--si-graphite); display: flex; flex-wrap: wrap; font-size: 10px; font-weight: 800; gap: 10px; letter-spacing: .06em; margin-top: 12px; text-transform: uppercase; }
.analysis-hero__taxonomy span + span::before { content: "·"; margin-right: 10px; }
.analysis-hero__taxonomy a:hover { color: var(--si-green-dark); }
.analysis-hero__signals { display: flex; gap: 30px; }
.analysis-hero__signals > div { display: grid; gap: 9px; }
.analysis-hero__signals small, .valuation-strip small { color: var(--si-graphite); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.valuation-strip { background: rgba(255,255,255,.72); border: 1px solid var(--si-line); display: grid; grid-template-columns: 1.4fr 1fr 1fr; margin-top: 70px; }
.valuation-strip > div { min-height: 142px; padding: 27px; }
.valuation-strip > div + div { border-left: 1px solid var(--si-line); }
.valuation-strip strong { display: block; font-family: var(--si-font-display); font-size: 35px; letter-spacing: -.04em; margin-top: 18px; }
.valuation-strip span { color: var(--si-graphite); display: block; font-size: 9px; margin-top: 6px; }
.valuation-strip a { color: var(--si-green-dark); font-weight: 800; }
.analysis-body { padding-bottom: 120px; padding-top: 90px; }
.analysis-body__content > section { border-top: 1px solid var(--si-line); display: grid; grid-template-columns: .45fr 1fr; padding: 70px 0; }
.analysis-body__content > section > h2, .analysis-body__content > section > .prose { grid-column: 2; }
.analysis-body__content > section > .micro-label { grid-column: 1; grid-row: 1 / 3; }
.analysis-body__content > section h2 { font-size: 50px; margin-bottom: 28px; }
.thesis-grid { display: grid; grid-template-columns: 1fr 1fr; }
.thesis-grid section { min-height: 400px; padding: 45px; }
.risk-panel { background: var(--si-black); color: var(--si-white); }
.risk-panel p:not(.micro-label) { color: rgba(255,255,255,.64); }
.risk-panel .micro-label { color: var(--si-red); }
.catalyst-panel { background: var(--si-green); }
.thesis-grid h2 { font-size: 40px; margin: 70px 0 22px; }
.paywall-panel { padding: clamp(40px, 7vw, 90px); }
.paywall-panel h2 { font-size: clamp(50px, 6vw, 88px); max-width: 930px; }
.paywall-panel > p:not(.eyebrow) { color: rgba(255,255,255,.66); font-size: 16px; max-width: 680px; }
.paywall-panel ul { border-bottom: 1px solid var(--si-line-dark); border-top: 1px solid var(--si-line-dark); display: grid; grid-template-columns: repeat(3,1fr); list-style: none; margin: 50px 0; padding: 0; }
.paywall-panel li { min-height: 80px; padding: 28px; }
.paywall-panel li + li { border-left: 1px solid var(--si-line-dark); }

/* Footer */
.site-footer { background: var(--si-black); color: var(--si-white); padding: 90px 0 28px; }
.site-footer__top, .site-footer__bottom { margin-inline: auto; width: var(--si-shell); }
.site-footer__top { display: grid; gap: 70px; grid-template-columns: 1.2fr .7fr 1fr; min-height: 260px; }
.footer-brand .wordmark__symbol { height: 58px; width: 58px; }
.footer-brand .wordmark__text strong { font-size: 21px; }
.footer-brand p { color: rgba(255,255,255,.46); font-size: 12px; margin: 22px 0 0; }
.footer-label { color: rgba(255,255,255,.4); font-size: 9px; font-weight: 800; letter-spacing: .1em; margin-bottom: 22px; text-transform: uppercase; }
.footer-menu { align-items: flex-start; flex-direction: column; gap: 10px; }
.footer-menu a { font-size: 13px; }
.footer-principle > p:last-child { font-family: var(--si-font-display); font-size: 28px; letter-spacing: -.04em; line-height: 1.08; max-width: 380px; }
.site-footer__bottom { align-items: center; border-top: 1px solid var(--si-line-dark); color: rgba(255,255,255,.4); display: flex; font-size: 8px; font-weight: 700; justify-content: space-between; letter-spacing: .06em; padding-top: 27px; text-transform: uppercase; }
.site-footer__bottom p { margin: 0; }
.legal-menu { gap: 20px; }
.legal-menu a:hover { color: var(--si-white); }

/* Reveal effects progressively enhance; content remains visible without JS. */
.js [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 600ms cubic-bezier(.2,.8,.2,1), transform 600ms cubic-bezier(.2,.8,.2,1); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1040px) {
  :root { --si-shell: min(100% - 40px, 1280px); }
  .site-header__inner { grid-template-columns: 1fr auto auto; }
  .menu-toggle { grid-column: 2; }
  .site-navigation {
    background: var(--si-black);
    color: var(--si-white);
	display: block;
	left: 0;
	overflow-x: auto;
	padding: 0 20px;
	position: absolute;
	right: 0;
	top: 100%;
  }
  .site-navigation .primary-menu { flex-wrap: nowrap; gap: 24px; justify-content: center; min-width: max-content; }
  .site-navigation .primary-menu a { display: block; padding: 14px 0; }
  .js .menu-toggle { align-items: center; display: flex; }
  .js .site-navigation { display: none; inset: 86px 0 auto; min-height: calc(100vh - 86px); overflow-x: visible; padding: 40px 20px; position: fixed; }
  .js .site-navigation.is-open { display: block; }
  .js .site-navigation .primary-menu { align-items: flex-start; flex-direction: column; gap: 0; margin-inline: auto; max-width: 720px; min-width: 0; }
  .js .site-navigation .primary-menu li { border-bottom: 1px solid var(--si-line-dark); width: 100%; }
  .js .site-navigation .primary-menu a { display: block; font-family: var(--si-font-display); font-size: clamp(34px,7vw,60px); letter-spacing: -.04em; padding: 22px 0; }
  .header-account { grid-column: 3; margin-left: 18px; }
  .hero { min-height: 880px; }
  .hero__grid { gap: 50px; grid-template-columns: 1fr .45fr; }
  .hero__brand-card-inner { min-height: 420px; padding: 32px; }
  .hero__brand-card .brand-logo--symbol { margin-bottom: 45px; width: 150px; }
  .proof-bar__grid { grid-template-columns: repeat(3,1fr); }
  .proof-bar__grid > p { border-left: 0; border-top: 1px solid var(--si-line); grid-column: 1 / -1; min-height: 80px; }
  .method-steps { grid-template-columns: 1fr 1fr; }
  .method-steps article:nth-child(3) { border-left: 0; border-top: 1px solid var(--si-line); }
  .method-steps article:nth-child(4) { border-top: 1px solid var(--si-line); }
  .analysis-grid { grid-template-columns: 1fr 1fr; }
  .analysis-card:nth-child(3) { grid-column: 1 / -1; }
  .membership-cta__inner { grid-template-columns: 1fr 1fr; }
  .content-archive .post-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  :root { --si-shell: calc(100% - 32px); --si-radius: 12px; }
  .site-header { height: 74px; }
  .js .site-navigation { inset-block-start: 74px; min-height: calc(100vh - 74px); }
  .wordmark__symbol { height: 36px; width: 36px; }
  .wordmark__text strong { font-size: 13px; }
  .wordmark__text small { font-size: 7px; }
  .header-account { font-size: 0; gap: 0; margin-left: 8px; }
  .header-account span { font-size: 19px; }
  .hero { min-height: auto; padding: 140px 0 82px; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(49px, 14vw, 72px); }
  .hero__lead { font-size: 15px; }
  .hero__brand-card { display: none; }
  .market-strip { display: none; }
  .hero__market-line { bottom: -20px; width: 170%; }
  .proof-bar__grid { grid-template-columns: 1fr 1fr; }
  .proof-bar__grid > div { border-bottom: 1px solid var(--si-line); min-height: 105px; padding: 18px; }
  .proof-bar__grid > div:nth-child(3) { border-left: 0; grid-column: 1 / -1; }
  .proof-bar__grid > p { grid-column: 1 / -1; }
  .section-grid { align-items: start; gap: 28px; grid-template-columns: 1fr; }
  .section-intro h2, .section-heading h2 { font-size: clamp(42px, 12vw, 62px); }
  .method, .latest-analyses, .dual-signal, .membership-cta { padding: 86px 0; }
  .method-steps { grid-template-columns: 1fr; margin-top: 48px; }
  .method-steps article, .method-steps article:nth-child(4) { border-left: 0; border-top: 1px solid var(--si-line); min-height: 275px; }
  .method-steps article:first-child { border-top: 0; }
  .method-icon { margin: 45px 0 36px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 28px; }
  .analysis-grid { grid-template-columns: 1fr; margin-top: 40px; }
  .analysis-card, .analysis-card:nth-child(3) { grid-column: auto; min-height: 390px; }
  .analysis-empty { gap: 28px; grid-template-columns: 1fr; padding: 34px 24px; }
  .dual-signal__grid { grid-template-columns: 1fr; margin-top: 48px; }
  .signal-card { min-height: 340px; padding: 30px 22px; }
  .signal-card + .signal-card { border-left: 0; border-top: 1px solid var(--si-line); }
  .signal-card h3 { margin-top: 100px; }
  .membership-cta__inner { align-items: start; gap: 36px; grid-template-columns: 1fr; }
  .membership-cta h2 { font-size: clamp(48px, 14vw, 70px); }
  .page-hero { padding: 58px 0 70px; }
  .page-hero h1 { font-size: clamp(48px, 14vw, 72px); }
  .content-archive .post-grid { grid-template-columns: 1fr; }
  .analysis-hero__grid { align-items: start; gap: 38px; grid-template-columns: 1fr; }
  .analysis-hero__signals { flex-wrap: wrap; }
  .valuation-strip { grid-template-columns: 1fr; }
  .valuation-strip > div + div { border-left: 0; border-top: 1px solid var(--si-line); }
  .analysis-body__content > section { display: block; padding: 55px 0; }
  .analysis-body__content > section h2 { font-size: 40px; margin-top: 30px; }
  .thesis-grid { grid-template-columns: 1fr; }
  .thesis-grid section { min-height: 330px; padding: 32px 24px; }
  .paywall-panel ul { grid-template-columns: 1fr; }
  .paywall-panel li + li { border-left: 0; border-top: 1px solid var(--si-line-dark); }
  .site-footer__top { gap: 46px; grid-template-columns: 1fr; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}

@media print {
  .site-header, .site-footer, .button, .menu-toggle { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .marble-black, .marble-white { background: none !important; color: #000 !important; }
  a { text-decoration: underline; }
}
