@font-face {
  font-family: "LT Helvetica Bold";
  src: url("../fonts/HELVETICA-BOLD.TTF") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "LT IBM Plex Mono";
  src: url("../fonts/IBMPlexMono-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "LT VCR OSD Mono";
  src: url("../fonts/VCR-OSD-mono.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --lt-beige: #eedfc4;
  --lt-charcoal: #0f1110;
  --lt-mid: #796f5b;
  --vt-videotools: #44e07a;
  --lt-home-split-angle: 164deg;
  --lt-nav-height: 82px;
  --lt-font-display: "LT Helvetica Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --lt-font-mono: "LT IBM Plex Mono", "IBM Plex Mono", "Courier New", Courier, monospace;
  --lt-font-vcr: "LT VCR OSD Mono", "VCR OSD Mono", "Courier New", Courier, monospace;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  background-color: var(--lt-charcoal);
  color: var(--lt-beige);
  font-family: var(--lt-font-display);
}

.lt-page {
  min-height: 100vh;
}

html.lt-page-leaving .lt-page {
  opacity: 0;
  transition: opacity 140ms ease;
}

.lt-mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1050;
  pointer-events: none;
}

.lt-mobile-nav-inner {
  display: flex;
  justify-content: flex-end;
  padding: 1rem;
  pointer-events: auto;
}

.lt-menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1px solid var(--lt-mid);
  border-radius: 0.5rem;
  background: var(--lt-charcoal);
}

.lt-menu-button .navbar-toggler-icon {
  display: block;
  width: 1.85rem;
  height: 1.85rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23eedfc4' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  filter: none;
}

.lt-menu-button:focus {
  box-shadow: 0 0 0 0.18rem var(--lt-mid);
}

.lt-menu-panel {
  background-color: var(--lt-charcoal);
  color: var(--lt-beige);
  border-top: 1px solid var(--lt-mid);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.lt-menu-panel .offcanvas-header {
  border-bottom: 1px solid var(--lt-mid);
}

.offcanvas.offcanvas-bottom.lt-menu-panel {
  height: min(64vh, 420px);
}

.lt-menu-panel .offcanvas-body {
  overflow-y: hidden;
}

.lt-menu-list .list-group-item {
  background: transparent;
  border-color: var(--lt-mid);
  color: var(--lt-beige);
  font-family: var(--lt-font-display);
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.95rem 1rem;
}

.lt-menu-list .list-group-item.active {
  background: var(--lt-mid);
  color: var(--lt-beige);
}

.lt-hero {
  min-height: 100vh;
  background: linear-gradient(77deg, var(--lt-beige) 0 49.5%, var(--lt-charcoal) 49.5% 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.lt-hero-inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: var(--lt-nav-height);
}

.lt-hero-home {
  position: relative;
  background: linear-gradient(
    var(--lt-home-split-angle),
    var(--lt-beige) 49.95%,
    var(--lt-charcoal) 50.05%
  );
  isolation: isolate;
  padding: 0;
  overflow: hidden;
}

.lt-hero.lt-hero-home {
  background: linear-gradient(
    var(--lt-home-split-angle),
    var(--lt-beige) 49.95%,
    var(--lt-charcoal) 50.05%
  );
}

.lt-hero-home::before {
  content: none;
}

.lt-hero-home .lt-hero-inner {
  position: relative;
  z-index: 1;
  align-items: center;
  justify-content: center;
}

.lt-home-mark-stack {
  position: relative;
  width: min(980px, 78vw);
  aspect-ratio: 533 / 164;
  margin-inline: auto;
}

.lt-home-mark {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  display: block;
}

.lt-home-mark-fill {
  z-index: 1;
  background-color: var(--lt-beige);
  background-image: url("../logos/VT_logo_nobg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  -webkit-mask-image: url("../img/lt-logo_LEAK.svg");
  mask-image: url("../img/lt-logo_LEAK.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.lt-home-mark-dark {
  z-index: 2;
}

.lt-logo {
  width: min(560px, 64vw);
  height: auto;
}

.lt-bottom-nav {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
  min-height: var(--lt-nav-height);
  background: var(--lt-beige);
  border-top: 1px solid var(--lt-mid);
}

.lt-bottom-nav .nav {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: var(--lt-beige);
}

.lt-bottom-nav .nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--lt-nav-height);
  color: var(--lt-charcoal);
  background: transparent;
  font-family: var(--lt-font-display);
  font-size: clamp(1rem, 0.72vw + 0.78rem, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.lt-nav-hover-plate {
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
  border: 0;
  border-radius: 0;
  background: var(--lt-charcoal);
  opacity: 0;
  will-change: left, width, opacity;
  transition: left 0.22s cubic-bezier(0.2, 0.75, 0.2, 1), width 0.22s cubic-bezier(0.2, 0.75, 0.2, 1),
    opacity 0.14s ease;
}

.lt-nav-active-plate {
  position: absolute;
  top: 0;
  z-index: 0;
  pointer-events: none;
  border: 0;
  border-radius: 0;
  background: var(--lt-mid);
  transition: left 0.22s cubic-bezier(0.2, 0.75, 0.2, 1), width 0.22s cubic-bezier(0.2, 0.75, 0.2, 1);
}

.lt-bottom-nav .nav-item,
.lt-bottom-nav .nav-link {
  position: relative;
  z-index: 2;
}

.lt-bottom-nav .nav-link.active,
.lt-bottom-nav .nav-link[aria-current="page"] {
  color: var(--lt-beige) !important;
}

.lt-bottom-nav.nav-hovering .lt-nav-hover-plate {
  opacity: 1;
}

.lt-bottom-nav.nav-hovering .nav-link.is-hovered {
  color: var(--lt-beige);
}

.lt-bottom-nav.nav-hovering .nav-link.is-hovered[href$="videotools.html"] {
  color: var(--vt-videotools);
}

.lt-inner-page {
  min-height: calc(100vh - var(--lt-nav-height));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 1.25rem calc(var(--lt-nav-height) + 2.5rem);
  background-color: var(--lt-charcoal);
}

.lt-inner-panel {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.lt-inner-panel h1 {
  font-family: var(--lt-font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: 0.01em;
}

.lt-inner-panel p {
  font-family: var(--lt-font-display);
  font-size: clamp(1rem, 1.7vw, 1.25rem);
  margin: 0;
  color: var(--lt-beige);
}

.lt-inner-panel a {
  color: var(--lt-beige);
  text-decoration: none;
  border-bottom: 1px solid var(--lt-mid);
}

.lt-inner-panel a:hover {
  color: var(--lt-beige);
  border-bottom-color: var(--lt-beige);
}

.page-videotools .lt-inner-panel p {
  font-family: var(--lt-font-mono);
}

.lt-relief {
  font-family: var(--lt-font-mono);
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.lt-inline-flag {
  width: 1.2em;
  height: auto;
  display: inline-block;
  vertical-align: -0.12em;
  margin-left: 0.2em;
}

.lt-project-list {
  width: min(760px, 100%);
  margin: 1.5rem auto 0;
  text-align: left;
}

.lt-project-item {
  padding: 1rem 0;
  border-bottom: 1px solid var(--lt-mid);
}

.lt-project-item h2 {
  margin: 0 0 0.3rem;
  font-size: clamp(1.4rem, 2vw, 2rem);
}

.lt-project-item p {
  margin: 0;
}

.lt-project-links {
  margin-top: 0.65rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  align-items: baseline;
}

.lt-project-links a {
  color: var(--lt-beige);
  text-decoration: none;
  border-bottom: 1px solid var(--lt-mid);
}

.lt-project-links a:hover {
  color: var(--lt-beige);
  border-bottom-color: var(--lt-beige);
}

.page-videotools {
  --vt-bg: #040d1d;
  --vt-text: #c2d4e4;
  --vt-home: #6f45bf;
  --vt-projects: #2f8f3f;
  --vt-videotools: #44e07a;
  --vt-docs: #c2186a;
  --vt-support: #4358b8;
  --vt-mirror: #f17b00;
  --vt-link: #e7c86b;
  --vt-release-link: #73a7ff;
}

.page-videotools,
.page-videotools .lt-inner-page {
  background-color: var(--vt-bg);
}

.page-videotools .lt-inner-panel {
  width: min(980px, 100%);
  text-align: left;
  font-family: var(--lt-font-mono);
}

.page-videotools .lt-inner-panel h1 {
  font-family: var(--lt-font-mono);
  color: var(--vt-videotools);
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin-bottom: 0.65rem;
}

.page-videotools .lt-inner-panel p {
  color: var(--vt-text);
  font-family: var(--lt-font-mono);
}

.page-videotools .lt-bottom-nav {
  background-color: var(--vt-bg);
  border-top-color: #1b2c46;
}

.page-videotools .lt-bottom-nav .nav {
  background: linear-gradient(
    to right,
    var(--vt-home) 0 20%,
    var(--vt-projects) 20% 40%,
    #1d2638 40% 60%,
    var(--vt-docs) 60% 80%,
    var(--vt-support) 80% 100%
  );
}

.page-videotools .lt-bottom-nav .nav-link {
  font-family: var(--lt-font-mono);
  font-size: clamp(0.95rem, 0.5vw + 0.82rem, 1.2rem);
  letter-spacing: 0;
  background: transparent;
  color: #f7f4ee;
}

.page-videotools .lt-bottom-nav .nav-link[href$="videotools.html"] {
  color: var(--vt-videotools);
}

.page-videotools .lt-bottom-nav .nav-link[href$="videotools.html"].active,
.page-videotools .lt-bottom-nav .nav-link[href$="videotools.html"][aria-current="page"] {
  color: var(--vt-videotools) !important;
}

.page-videotools .lt-nav-active-plate {
  display: none;
}

.page-videotools .lt-nav-hover-plate {
  background: #041228;
}

.page-videotools .lt-bottom-nav.nav-hovering .nav-link.is-hovered {
  color: #f7f4ee;
}

.page-videotools .lt-bottom-nav.nav-hovering .nav-link.is-hovered[href$="videotools.html"] {
  color: var(--vt-videotools);
}

.page-videotools .lt-menu-list .list-group-item,
.page-videotools .offcanvas-title {
  font-family: var(--lt-font-mono);
}

.page-videotools .lt-menu-panel {
  background-color: var(--vt-bg);
  border-top-color: #1b2c46;
}

.page-videotools .lt-menu-button {
  background: #041228;
  border-color: #1b2c46;
}

.page-videotools .lt-menu-button:focus {
  box-shadow: 0 0 0 0.18rem #1b2c46;
}

.page-videotools .lt-menu-button .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2339e57a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.page-videotools .lt-menu-panel .offcanvas-header {
  border-bottom-color: #1b2c46;
}

.page-videotools .lt-menu-list .list-group-item {
  color: #f7f4ee;
  border-color: #1b2c46;
}

.page-videotools .lt-menu-list .list-group-item:nth-child(1) {
  background: var(--vt-home);
}

.page-videotools .lt-menu-list .list-group-item:nth-child(2) {
  background: var(--vt-projects);
}

.page-videotools .lt-menu-list .list-group-item:nth-child(3) {
  background: #1d2638;
  color: var(--vt-videotools);
}

.page-videotools .lt-menu-list .list-group-item:nth-child(4) {
  background: var(--vt-docs);
}

.page-videotools .lt-menu-list .list-group-item:nth-child(5) {
  background: var(--vt-support);
}

.page-videotools .lt-menu-list .list-group-item.active {
  filter: brightness(1.06);
}

.page-about .lt-inner-panel {
  width: min(980px, 100%);
  text-align: left;
}

.page-about .lt-inner-panel h1 {
  margin-bottom: 0.45rem;
}

.page-about .lt-about-header {
  margin: 0.35rem 0 0.6rem;
}

.page-about .lt-about-logo {
  width: min(360px, 62vw);
  height: auto;
  display: block;
  margin: 0 auto 0.1rem;
}

.page-about .lt-inner-panel > p {
  margin-bottom: 1.1rem;
}

.page-about .lt-source-block p {
  margin: 0 0 1rem;
  line-height: 1.45;
}

.page-about .lt-source-block p:last-child {
  margin-bottom: 0;
}

.page-about .lt-inner-page {
  padding-bottom: calc(var(--lt-nav-height) + 17px + 2.5rem);
}

.lt-about-bottom-strip {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1029;
  height: 13px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lt-about-bottom-blue {
  background: #000080;
}

.lt-about-bottom-yellow {
  background: #ffff00;
}

.lt-about-bottom-red {
  background: #ff0000;
}

@media (min-width: 768px) {
  .lt-about-bottom-strip {
    bottom: var(--lt-nav-height);
  }
}

@media (max-width: 767.98px) {
  .page-about .lt-inner-page {
    padding-bottom: calc(13px + 2.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.lt-page-leaving .lt-page {
    transition: none !important;
  }
}

.page-source .lt-inner-panel {
  width: min(980px, 100%);
  text-align: left;
}

.page-source .lt-inner-panel h1 {
  margin-bottom: 0.45rem;
}

.page-source .lt-inner-panel > p {
  margin-bottom: 1.1rem;
}

.lt-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lt-source-grid-single {
  grid-template-columns: 1fr;
}

.lt-source-block {
  border: 1px solid var(--lt-mid);
  border-radius: 0.5rem;
  padding: 1rem;
  background: #151615;
}

.lt-source-block h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.2rem, 1.6vw, 1.6rem);
}

.lt-source-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.lt-source-list li {
  display: grid;
  gap: 0.2rem;
}

.lt-source-label {
  color: var(--lt-beige);
  font-size: 0.98rem;
}

.lt-source-note {
  color: #b6a98f;
  font-family: var(--lt-font-mono);
  font-size: 0.95rem;
}

.page-projects .lt-inner-panel {
  width: min(980px, 100%);
  text-align: left;
}

.page-projects .lt-inner-panel h1 {
  margin-bottom: 0.45rem;
}

.page-projects .lt-inner-panel > p {
  margin-bottom: 1.1rem;
}

.page-projects .lt-project-list {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.page-projects .lt-project-item {
  border: 1px solid var(--lt-mid);
  border-radius: 0.5rem;
  background: #151615;
  padding: 1rem;
}

.page-projects .lt-project-item h2 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.2rem, 1.6vw, 1.6rem);
}

.page-projects .lt-project-title-line {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.page-projects .lt-project-platforms {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
}

.page-projects .lt-platform-icon {
  width: 0.78em;
  height: 0.78em;
  object-fit: contain;
  vertical-align: middle;
  filter: brightness(0) saturate(100%) invert(85%) sepia(19%) saturate(315%) hue-rotate(347deg) brightness(95%) contrast(93%);
}

.page-projects .lt-project-item p {
  margin: 0 0 0.7rem;
}

.page-projects .lt-project-links {
  margin-top: 0.35rem;
}

.vt-panel {
  width: min(980px, 100%);
}

.vt-intro {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

.vt-logo-wrap {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.vt-logo {
  height: clamp(100px, 11vw, 150px);
  width: auto;
  object-fit: contain;
  display: block;
}

.vt-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.vt-title-line {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.vt-title-icons {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.vt-os-icon {
  width: 0.72em;
  height: 0.72em;
  object-fit: contain;
  vertical-align: middle;
  filter: brightness(0) saturate(100%) invert(97%) sepia(8%) saturate(267%) hue-rotate(339deg) brightness(102%) contrast(94%);
}

.vt-os-linux {
  filter: brightness(0) saturate(100%) invert(97%) sepia(8%) saturate(267%) hue-rotate(339deg) brightness(102%) contrast(94%);
}

.vt-os-windows {
  filter: brightness(0) saturate(100%) invert(97%) sepia(8%) saturate(267%) hue-rotate(339deg) brightness(102%) contrast(94%);
}

.page-videotools .vt-os-icon,
.page-videotools .vt-os-linux,
.page-videotools .vt-os-windows {
  filter: brightness(0) saturate(100%) invert(100%) !important;
}

.vt-modules {
  margin-top: 1.6rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.vt-module {
  border: 1px solid #1b2c46;
  background: #0b1528;
  border-radius: 0.5rem;
  padding: 0.9rem 0.95rem;
}

.vt-module h2 {
  margin: 0 0 0.25rem;
  font-family: var(--lt-font-mono);
  font-size: 1.08rem;
}

.vt-module p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.4;
}

.vt-module-ingest h2 {
  color: var(--vt-home);
}

.vt-module-inspect h2 {
  color: var(--vt-projects);
}

.vt-module-convert h2 {
  color: var(--vt-videotools);
}

.vt-module-audio h2 {
  color: var(--vt-docs);
}

.vt-module-rip h2 {
  color: var(--vt-support);
}

.vt-module-upscale h2 {
  color: var(--vt-mirror);
}

.vt-build-links {
  margin-top: 0.9rem;
  display: grid;
  gap: 0.45rem;
}

.vt-build-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 0.9rem;
}

.vt-build-label {
  color: var(--vt-docs);
  font-family: var(--lt-font-mono);
}

.vt-build-row a {
  color: var(--vt-link);
  text-decoration: none;
  border-bottom: 1px solid #1b2c46;
}

.vt-build-row a:hover {
  color: var(--lt-beige);
  border-bottom-color: var(--vt-link);
}

.vt-build-row a.vt-release-link {
  color: var(--vt-release-link);
  border-bottom-color: var(--vt-release-link);
}

.vt-build-row a.vt-release-link:hover {
  color: var(--lt-beige);
  border-bottom-color: var(--vt-release-link);
}

.vt-release-time {
  color: var(--vt-videotools);
  font-family: var(--lt-font-mono);
  font-size: 0.95em;
  white-space: nowrap;
}

/* 404 page */
.lt-404-page {
  padding: 0;
  background-color: var(--lt-charcoal);
}

/* Wrap carries the explicit viewport height — nothing depends on parent height */
.lt-404-wrap {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--lt-nav-height));
  height: calc(100dvh - var(--lt-nav-height));
  overflow: hidden;
}

/* Colour bars stretch to fill the full window at any resolution or orientation */
.lt-404-bars {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Text banners: HTML elements positioned at the same relative vertical positions
   as the original SVG design (title ~17%, error ~56% from top).
   Font scales with viewport width so text is always readable. */
.lt-404-banner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: #101010;
  color: #ebebeb;
  font-family: var(--lt-font-vcr);
  font-size: clamp(0.85rem, 4.5vw, 3.2rem);
  padding: 0.3em 0.65em;
  text-decoration: none;
  white-space: nowrap;
  display: block;
}

.lt-404-banner-title {
  top: 17%;
  transform: translate(-50%, -50%);
}

.lt-404-banner-error {
  top: 56%;
  transform: translate(-50%, -50%);
}

/* 404 page */
.lt-404-page {
  height: calc(100vh - var(--lt-nav-height));
  min-height: unset;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
}

.lt-404-wrap {
  position: absolute;
  inset: 0;
}

/* Colour bars stretch to fill the full window at any resolution or orientation */
.lt-404-bars {
  display: block;
  width: 100%;
  height: 100%;
}

/* Text banners are HTML elements positioned at the same relative vertical
   positions as the original SVG design (title ~17%, error ~56% from top).
   Font scales with viewport width so text always fits. */
.lt-404-banner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: #101010;
  color: #ebebeb;
  font-family: var(--lt-font-vcr);
  font-size: clamp(0.85rem, 4.5vw, 3.2rem);
  padding: 0.3em 0.65em;
  text-decoration: none;
  white-space: nowrap;
  display: block;
}

.lt-404-banner-title {
  top: 17%;
  transform: translate(-50%, -50%);
}

.lt-404-banner-error {
  top: 56%;
  transform: translate(-50%, -50%);
}

@media (max-width: 767.98px) {
  :root {
    --lt-nav-height: 0px;
    --lt-home-split-angle: 164deg;
  }

  .lt-hero {
    min-height: 100vh;
    background: linear-gradient(64deg, var(--lt-beige) 0 57%, var(--lt-charcoal) 57% 100%);
    padding-top: 5.25rem;
  }

  .lt-hero-inner {
    padding-bottom: 2rem;
  }

  .lt-hero-home {
    background: var(--lt-beige);
    padding-top: 0;
  }

  .lt-hero-home .lt-hero-inner {
    padding: 0 0.6rem;
    align-items: center;
    justify-content: center;
  }

  .lt-home-mark {
    width: 100%;
  }

  .lt-home-mark-stack {
    width: min(88vw, 620px);
  }

  .lt-logo {
    width: min(420px, 82vw);
  }

  .lt-inner-page {
    min-height: 100vh;
    padding: 6.5rem 1.25rem 2.5rem;
    align-items: flex-start;
  }

  .lt-bottom-nav {
    display: none;
  }

  .vt-modules {
    grid-template-columns: 1fr;
  }

  .vt-intro {
    gap: 0.75rem;
  }

  .vt-logo {
    height: clamp(72px, 20vw, 108px);
  }

  .vt-title-line {
    gap: 0.45rem;
  }

  .vt-title-icons {
    gap: 0.32rem;
  }

  .lt-source-grid {
    grid-template-columns: 1fr;
  }

  .page-projects .lt-project-list {
    grid-template-columns: 1fr;
  }

  .lt-404-wrap {
    height: 100vh;
    height: 100dvh;
  }
}
