@font-face {
  font-family: Inter;
  src: url('/assets/inter-400.ttf');
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('/assets/inter-600.ttf');
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --ink: #0b0c0b;
  --paper: #eeeae2;
  --gold: #c9b58e;
  --muted: #a3a397;
  --line: #bbaa872b;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font: 14px/1.6 Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }
a:hover { color: #e5d3af; }
.frame { width: min(1360px, calc(100% - 112px)); margin-inline: auto; }
.header {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 15px;
  letter-spacing: .24em;
  line-height: 1.2;
}
.brand small {
  display: block;
  margin-top: 7px;
  font-size: 9px;
  letter-spacing: .24em;
  color: #bdb9ad;
}
/* The supplied artwork is displayed without recoloring or redrawing. */
.brand-logo { display: block; width: 61px; height: 40px; object-fit: contain; }
.nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  min-height: 44px;
  font-size: 11px;
  letter-spacing: .08em;
  color: #c3bfb1;
}
.nav-link span { color: var(--gold); font-size: 20px; }
h1, h2 { font-weight: 400; letter-spacing: -.055em; margin: 0; line-height: 1.04; }
em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: #d9c9aa; }
.index-label { font-size: 10px; letter-spacing: .2em; color: var(--gold); }
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  align-items: center;
  column-gap: 40px;
  min-height: clamp(640px, calc(100svh - 112px), 860px);
  padding-top: 48px;
}
.hero-heading { position: relative; z-index: 1; padding-bottom: 28px; }
.hero h1 { font-size: clamp(66px, 7.4vw, 112px); margin: 30px 0 32px; }
.hero h1 em { white-space: nowrap; }
.hero-signature { font-size: 10px; letter-spacing: .23em; color: var(--muted); }
.hero-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 600px;
  justify-self: end;
  padding-block: 12px 36px;
  isolation: isolate;
}
.hero-art::before {
  content: '';
  position: absolute;
  inset: 8%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(ellipse, #bda36a0c, transparent 70%);
}
.hero-art img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
 
  animation: reveal 1.2s ease both;
}
.hero-baseline {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0 28px;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: .13em;
  color: var(--muted);
}
.scroll-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #c9c4b5; }
.scroll-link span { font-size: 9px; }
.scroll-link b {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #c9b58e55;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 400;
  transition: border-color .25s, transform .25s;
}
.scroll-link:hover b { border-color: var(--gold); transform: translateY(3px); }
.coordinate { text-align: right; color: #b5a98f; }
.portfolio { padding-top: 64px; border-top: 1px solid var(--line); }
.portfolio-heading { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 36px; }
.portfolio-count { font-size: 11px; letter-spacing: .12em; color: var(--muted); }
.venture-row {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 200px 48px;
  align-items: center;
  column-gap: 24px;
  padding: 38px 12px 38px 0;
  border-top: 1px solid var(--line);
  isolation: isolate;
}
.venture-row:last-of-type { border-bottom: 1px solid var(--line); }
.venture-row::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, transparent, #c9b58e09 65%, #c9b58e04);
  opacity: 0;
  transition: opacity .3s;
}
.venture-row:hover::before, .venture-row:focus-visible::before { opacity: 1; }
.venture-index { font-size: 11px; color: var(--muted); align-self: start; padding-top: 12px; }
.venture-row h2 { min-width: 0; font-size: clamp(32px, 3.5vw, 52px); letter-spacing: -.035em; line-height: 1.15; }
.venture-row.vitaflex-intelligence-corp h2 em { display: block; }
.venture-category { font-size: 10px; line-height: 1.8; letter-spacing: .1em; color: var(--muted); }
.venture-arrow {
  display: grid;
  place-items: center;
  justify-self: end;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 23px;
  color: var(--gold);
  transition: transform .3s, border-color .3s;
}
.venture-row:hover .venture-arrow, .venture-row:focus-visible .venture-arrow { transform: translate(2px, -2px); border-color: #c9b58e88; }
.portfolio-end { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 78px 0; font-size: 9px; letter-spacing: .18em; color: var(--muted); }
.horizon-mark { width: 34px; height: 1px; background: var(--gold); }
.footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); padding-block: 22px; font-size: 9px; letter-spacing: .07em; color: var(--muted); }
.footer a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-motto { color: #bbae91; }
.skip { position: absolute; top: -100px; left: 20px; z-index: 20; background: var(--gold); color: #111; padding: 12px; }
.skip:focus { top: 12px; }
.venture-detail { padding-block: 32px 80px; min-height: calc(100svh - 200px); }
.back-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 10px; letter-spacing: .13em; color: var(--muted); }
.detail-label { margin-top: 48px; display: flex; justify-content: space-between; gap: 24px; color: var(--muted); font-size: 11px; }
.venture-detail h1 { font-size: clamp(48px, 7vw, 104px); line-height: 1.12; margin: 24px 0 40px; text-wrap: balance; }
.detail-art { min-height: 260px; display: grid; place-items: center; border-block: 1px solid var(--line); background: radial-gradient(ellipse, #b9a87609, transparent 70%); padding: 30px; }
.detail-art img { width: 260px; height: auto; max-width: 100%; }
.venture-wordmark { font: clamp(28px, 4vw, 48px)/1.3 Georgia, serif; color: #d6c7a9; text-align: center; max-width: 100%; text-wrap: balance; }
.venture-wordmark em { font-size: inherit; }
.detail-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 24px; }
.availability { font-size: 10px; letter-spacing: .12em; color: var(--muted); text-transform: uppercase; }
.explore { display: inline-flex; align-items: center; min-height: 44px; gap: 30px; font-size: 13px; color: #ddc8a0; }
@keyframes reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1050px) {
  .frame { width: calc(100% - 72px); }
  .hero { column-gap: 24px; min-height: 650px; }
  .hero h1 { font-size: clamp(58px, 7.2vw, 78px); }
  .venture-row { grid-template-columns: 32px minmax(0, 1fr) 160px 44px; gap: 18px; }
  .venture-category { font-size: 9px; }
}
@media (max-width: 820px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 60px; }
  .hero-heading { text-align: center; padding: 0; }
  .hero h1 { font-size: clamp(56px, 10vw, 82px); margin: 24px 0; }
  .hero-art { width: min(100%, 440px); justify-self: center; padding-block: 32px; }
  .hero-baseline { border-top: 1px solid var(--line); }
  .coordinate { display: none; }
  .venture-row { grid-template-columns: 30px minmax(0, 1fr) 44px; row-gap: 10px; padding-block: 30px; }
  .venture-row h2 { font-size: clamp(30px, 4.9vw, 42px); }
  .venture-category { grid-column: 2; grid-row: 2; }
  .venture-arrow { grid-column: 3; grid-row: 1 / 3; }
  .venture-index { padding-top: 6px; }
}
@media (max-width: 500px) {
  .frame { width: calc(100% - 40px); }
  .header { min-height: 94px; gap: 14px; }
  .brand { gap: 10px; font-size: 12px; letter-spacing: .18em; }
  .brand small { font-size: 8px; letter-spacing: .17em; }
  .brand-logo { width: 46px; height: 30px; }
  .nav-link { font-size: 10px; gap: 12px; }
  .hero { padding-top: 44px; }
  .hero h1 { font-size: clamp(46px, 12vw, 60px); }
  .hero-signature { font-size: 9px; letter-spacing: .14em; }
  .hero-art { width: min(100%, 350px); padding-block: 28px; }
  .hero-baseline { font-size: 9px; letter-spacing: .06em; gap: 18px; padding-block: 20px; }
  .scroll-link { gap: 12px; }
  .scroll-link span { font-size: 8px; }
  .portfolio { padding-top: 40px; }
  .portfolio-heading { margin-bottom: 26px; }
  .venture-row { grid-template-columns: 22px minmax(0, 1fr) 40px; column-gap: 12px; padding-right: 0; }
  .venture-row h2 { font-size: clamp(27px, 7.2vw, 34px); }
  .venture-index { font-size: 10px; }
  .venture-arrow { width: 40px; height: 40px; font-size: 21px; }
  .venture-category { font-size: 9px; letter-spacing: .05em; }
  .portfolio-end { padding-block: 54px; font-size: 8px; letter-spacing: .1em; gap: 14px; }
  .footer { font-size: 8px; gap: 16px; }
  .footer-motto { display: none; }
  .detail-label { flex-direction: column; gap: 12px; margin-top: 30px; }
  .venture-detail { padding-block: 20px 56px; }
  .venture-detail h1 { font-size: clamp(40px, 10vw, 50px); margin-bottom: 30px; }
  .detail-art { min-height: 230px; padding: 24px 12px; }
  .detail-bottom { flex-wrap: wrap; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
