/* Apex world: daylight above, quiet graphite below. */
:root { --night: #080d12; --surface: #111a23; --ink: #f1f5f8; --muted: #a8b6c3; --line: #33414e; --accent: #b6d6ee; }
.brand { font-size: 29px; font-weight: 650; letter-spacing: -.075em; gap: 0; }
.brand .brand-dot { color: var(--accent); font-weight: inherit; }
.masthead { min-height: 96px; }
.nav { gap: 44px; }
.nav a { color: #c4ced7; }
.footer { padding-top: 44px; }
.footer .brand { font-size: 44px; }
.reading-trail { display: none; }
.weather-layer { opacity: .7; }
body[data-page="index"] .masthead { position: absolute; inset: 0 0 auto; background: transparent; color: #f1f5f8; }
body[data-page="index"] .brand .brand-dot { color: #f1f5f8; }
body[data-page="index"] .nav a { color: #f1f5f8; }
body[data-page="index"] .masthead a:focus-visible, body[data-page="index"] .masthead summary:focus-visible { outline-color: #f1f5f8; }
.world-hero { position: relative; display: flex; flex-direction: column; min-height: max(800px, 100svh); isolation: isolate; overflow: hidden; background: #8bacc9; }
.alpine-world { position: absolute; inset: 0; overflow: hidden; isolation: isolate; }
.world-terrain { position: absolute; inset: -1.5%; transform: translate3d(var(--world-x,0px),var(--world-y,0px),0) scale(1.015); }
.world-terrain img { width: 100%; height: 100%; object-fit: cover; object-position: 59% 55%; }
.world-air { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .8; pointer-events: none; }
.world-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,rgba(4,16,29,.76),transparent 26%),linear-gradient(90deg,rgba(4,16,29,.78),rgba(4,16,29,.65) 40%,rgba(4,16,29,.38) 55%,transparent 70%); }
.world-hero::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(0deg,rgba(5,16,27,.97),rgba(5,16,27,.88) 18%,rgba(5,16,27,.68) 33%,transparent 52%); }
.world-heading { position: relative; z-index: 2; padding-top: 122px; color: #f1f5f8; }
.world-coordinate { font-size: 13px; letter-spacing: .03em; }
.world-heading h1 { font-size: clamp(160px,22vw,280px); line-height: .9; font-weight: 600; letter-spacing: -.085em; margin: 28px 0 0 -0.035em; width: fit-content; max-width: 100%; }
.world-period { display: inline-block; color: #f1f5f8; }
.world-side { width: fit-content; font-size: 14px; line-height: 1.7; margin-top: 24px; }
.world-bottom { position: relative; z-index: 7; margin-top: auto; padding-top: 96px; padding-bottom: 82px; display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.world-copy h2 { font-size: clamp(32px,3.4vw,50px); line-height: 1.12; letter-spacing: -.045em; }
.world-copy>p { font-size: 16px; line-height: 1.7; margin-top: 18px; color: #d4e0e9; max-width: 46ch; }
.world-link { display: inline-flex; align-items: center; gap: 42px; min-height: 48px; border-bottom: 1px solid #9eb3c3; font-size: 15px; margin-top: 24px; }
.world-link span { font-size: 20px; }
.world-link:hover { color: var(--accent); }
.world-current { display: flex; flex-direction: column; min-height: 80px; border-top: 1px solid #91a5b7; padding-top: 14px; max-width: 300px; }
.world-current>span { font-size: 13px; color: #d4e0e9; }
.world-current strong { font-size: 25px; font-weight: 450; letter-spacing: -.035em; display: flex; justify-content: space-between; margin: 6px 0; }
.world-current:hover strong { color: var(--accent); }
.brand-intro { padding-block: 140px; }
.brand-intro .intro-copy { font-size: 18px; }
.brand-process { padding-block: 140px; }
.horizon-spread { position: relative; min-height: 620px; display: flex; align-items: end; isolation: isolate; overflow: hidden; background: #233d59; }
.horizon-spread>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 20% 65%; transform: scale(1.04); }
.horizon-spread::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg,rgba(8,20,32,.98),rgba(8,20,32,.9) 45%,rgba(8,20,32,.3)); }
.horizon-spread .rest-caption { padding-block: 64px; }
.rest-caption>p:last-child { margin-top: 28px; color: #d4e0e9; font-size: 15px; }
.apex-mark { letter-spacing: -.09em; font-weight: 550; font-size: clamp(100px,13vw,180px); }
.apex-mark span { font-size: 11px; letter-spacing: .02em; }
.founder-role { margin-top: 22px; color: var(--muted); font-size: 13px; }
.availability .text-link { margin-top: 28px; }
.availability>p:not(.eyebrow) { max-width: 57ch; margin-top: 30px; font-size: 18px; color: var(--muted); }
.lab-world { position: relative; height: 65svh; min-height: 430px; }
@media (max-width:1024px) {
  .world-side { top: 148px; }
  .world-current { max-width: 240px; }
}
@media (max-width:767px) {
  .masthead { min-height: 76px; }
  .brand { font-size: 27px; }
  body[data-page="index"] .mobile-menu[open] summary { color: #f1f5f8; }
  body[data-page="index"] .mobile-menu nav { color: var(--ink); }
  .world-hero { min-height: max(820px, 100svh); }
  .world-heading { padding-top: 108px; }
  .world-heading h1 { font-size: clamp(150px,33vw,255px); margin-top: 24px; }
  .world-coordinate { font-size: 12px; }
  .world-side { position: static; font-size: 13px; margin-top: 24px; }
  .world-terrain img { object-position: 54% 50%; }
  .world-hero::before { background: linear-gradient(180deg,rgba(4,16,29,.86),rgba(4,16,29,.72) 36%,transparent 58%); }
  .world-hero::after { background: linear-gradient(0deg,rgba(5,16,27,.98),rgba(5,16,27,.95) 28%,rgba(5,16,27,.75) 42%,transparent 58%); }
  .world-bottom { display: block; padding-top: 64px; padding-bottom: 84px; }
  .world-copy h2 { font-size: 34px; }
  .world-copy>p { font-size: 16px; max-width: 34ch; margin-top: 14px; }
  .desktop-break { display: none; }
  .world-link { margin-top: 16px; font-size: 15px; }
  .world-current { max-width: none; margin-top: 30px; padding-top: 12px; min-height: 0; }
  .world-current>span:last-child { display: none; }
  .world-current strong { font-size: 23px; margin-bottom: 0; }
  .brand-intro,.brand-process { padding-block: 86px; }
  .horizon-spread { min-height: 460px; }
  .horizon-spread .rest-caption { padding-block: 44px; }
  .horizon-spread .rest-caption h2 { font-size: 44px; }
  .apex-mark { font-size: 120px; }
}
@media (max-width:359px) {
  .world-heading h1 { font-size: 145px; }
  .world-copy h2 { font-size: 30px; }
  .world-side { max-width: 13ch; }
  .world-copy>p { max-width: 29ch; }
}

/* Brand catalog uses typography only; each product reveals its own style after entry. */
.brand-products { padding-top: 0; }
.product-entry { display: grid; grid-template-columns: 50px 1.1fr 1fr; gap: 30px; padding-block: 46px; border-block: 1px solid var(--line); }
.product-number { color: var(--accent); font-size: 12px; padding-top: 4px; }
.product-entry-title .eyebrow { margin-bottom: 20px; }
.product-entry-title :is(h2,h3) { font-size: clamp(38px,4.5vw,62px); }
.product-entry-title h2 a:hover,.product-entry-title h3 a:hover { color: var(--accent); }
.product-status { color: var(--muted); font-size: 14px; margin-top: 22px; }
.product-entry-copy { padding-top: 36px; }
.product-entry-copy>p { max-width: 34ch; font-size: 18px; color: var(--muted); }
.product-entry-copy .text-link { margin-top: 24px; }
.catalog-note { color: var(--muted); max-width: 52ch; font-size: 14px; margin-top: 28px; }
@media (max-width:767px) {
  .product-entry { grid-template-columns: 26px 1fr; gap: 18px; padding-block: 32px; }
  .product-entry-copy { grid-column: 2; padding-top: 4px; }
  .product-entry-copy>p { font-size: 17px; }
  .product-entry-title :is(h2,h3) { font-size: 40px; }
  .product-status { font-size: 13px; margin-top: 18px; }
  .product-entry-title .eyebrow { font-size: 13px; margin-bottom: 16px; }
}
