.landing-page {
  background: #091c18;
  color: var(--text-inverse);
}
.landing-shell {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  min-height: 100svh;
  overflow: clip;
}
.landing-scene {
  position: absolute;
  z-index: -1;
  inset: -10px;
  overflow: hidden;
  pointer-events: none;
  background: #102d24;
  transform: translate3d(var(--scene-x, 0px), var(--scene-y, 0px), 0);
}
.landing-photo, .landing-photo img, .terrain-shade, #terrain-canvas, .landing-atmosphere {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.landing-photo img { object-fit: cover; object-position: 66% 50%; }
.terrain-shade {
  opacity: 0;
  background: linear-gradient(100deg, transparent 44%, rgba(6,29,23,.15) 63%, rgba(5,26,22,.75) 91%, #091e19 110%);
  transition: opacity 1.2s ease;
}
.terrain-ready .terrain-shade { opacity: 1; }
#terrain-canvas { opacity: .86; }
.landing-atmosphere {
  background:
    linear-gradient(90deg, rgba(6,24,19,.90), rgba(7,28,22,.70) 35%, rgba(7,25,21,.22) 69%, rgba(7,25,21,.08)),
    linear-gradient(0deg, rgba(7,23,19,.96), rgba(7,23,19,.12) 33%, transparent 69%, rgba(7,23,19,.50));
}
.landing-header, .landing-footer, .landing-main { padding-left: clamp(24px, 5vw, 100px); padding-right: clamp(24px, 5vw, 100px); }
.landing-header { display: flex; align-items: center; justify-content: space-between; padding-top: 34px; padding-bottom: 22px; gap: 24px; }
.landing-brand { display: inline-flex; border-radius: 3px; }
.landing-brand img { display: block; width: 188px; height: auto; }
.landing-header .languages { gap: 5px; }
.landing-header .languages a {
  position: relative;
  display: grid;
  place-items: center;
  width: 43px;
  min-height: 44px;
  padding: 10px 8px;
  background: transparent;
  color: rgba(255,255,255,.64);
  border-radius: 4px;
  font-size: 11px;
  letter-spacing: .05em;
  transition: color .2s ease, background .2s ease;
}
.landing-header .languages a[aria-current] { color: white; background: rgba(255,255,255,.09); }
.landing-header .languages a:hover { color: white; background: rgba(255,255,255,.13); }
.landing-page a:focus-visible, .landing-page button:focus-visible { outline-color: var(--palette-steppe); outline-offset: 5px; }
.landing-page .skip { color: var(--brand-primary); }
.landing-main { position: relative; display: flex; align-items: center; padding-top: clamp(70px, 10svh, 145px); padding-bottom: clamp(80px, 12svh, 160px); }
.landing-main:focus { outline: none; }
.landing-copy { width: 100%; max-width: 1120px; }
.landing-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 30px; color: var(--palette-sage); font-size: 10px; font-weight: 550; text-transform: uppercase; letter-spacing: .21em; }
.landing-eyebrow span { width: 32px; height: 1px; background: var(--palette-steppe); }
.landing-title { margin: 0 0 32px; max-width: 940px; font-size: clamp(76px, 7.7vw, 128px); line-height: 1.045; font-weight: 450; letter-spacing: -.064em; text-wrap: balance; }
.landing-intro { max-width: 540px; margin: 0 0 33px; font-size: 15px; line-height: 1.9; color: rgba(247,248,245,.83); }
.landing-cta {
  min-height: 58px;
  padding: 0 0 0 24px;
  gap: 24px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,.52);
  font-size: 13px;
  font-weight: 550;
  box-shadow: 0 8px 28px rgba(0,0,0,.09);
  transition: background .24s ease, transform .2s ease, box-shadow .24s ease;
}
.landing-cta-arrow { align-self: stretch; display: grid; place-items: center; width: 59px; border-left: 1px solid rgba(255,255,255,.17); overflow: hidden; }
.landing-cta-arrow svg { width: 20px; transition: transform .25s ease; }
.landing-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.landing-cta:hover svg { transform: translateX(4px); }
.landing-cta:active { transform: translateY(0) scale(.985); }
.landing-scene-mark { display: flex; align-items: center; gap: 15px; position: absolute; right: clamp(24px,5vw,100px); bottom: 75px; color: rgba(255,255,255,.5); }
.landing-scene-mark span { width: 30px; height: 1px; background: rgba(255,255,255,.3); }
.landing-scene-mark b { font-weight: 400; font-size: 9px; letter-spacing: .22em; }
.landing-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 14px; padding-bottom: 25px; color: rgba(255,255,255,.60); font-size: 10px; letter-spacing: .025em; }
.landing-motion { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 0 10px 14px; background: transparent; color: rgba(255,255,255,.67); font-size: 10px; border: 0; border-radius: 3px; transition: color .2s ease; }
.landing-motion:hover { color: white; }
.landing-motion svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.landing-motion .motion-play { display: none; }
.landing-motion[data-state="paused"] .motion-pause { display: none; }
.landing-motion[data-state="paused"] .motion-play { display: block; }
.landing-enter .landing-reveal { animation: landing-arrive .8s cubic-bezier(.2,.7,.2,1) backwards; }
.landing-enter .landing-eyebrow { animation-delay: .04s; }
.landing-enter .landing-title { animation-delay: .12s; }
.landing-enter .landing-intro { animation-delay: .23s; }
.landing-enter .landing-cta { animation-delay: .33s; }
@keyframes landing-arrive { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1800px) { .landing-title { max-width: 1100px; } .landing-intro { font-size: 16px; max-width: 575px; } }
@media (max-width: 1100px) { .landing-title { max-width: 810px; font-size: clamp(68px, 8.1vw, 90px); } .landing-intro { max-width: 485px; } .landing-main { padding-top: 75px; padding-bottom: 105px; } .landing-atmosphere { background: linear-gradient(90deg,rgba(6,24,19,.91),rgba(7,28,22,.6) 61%,rgba(7,25,21,.18)),linear-gradient(0deg,#071713,transparent 64%,rgba(7,23,19,.4)); } }
@media (max-width: 700px) {
  .landing-scene { inset: -5px; }
  .landing-photo img { object-position: 50% 50%; }
  .landing-header { padding-top: 25px; padding-bottom: 18px; gap: 14px; }
  .landing-brand img { width: 151px; }
  .landing-header .languages { gap: 0; }
  .landing-header .languages a { width: 34px; font-size: 10px; }
  .landing-main { align-items: center; padding-top: clamp(80px,13svh,135px); padding-bottom: 100px; }
  .landing-eyebrow { font-size: 9px; letter-spacing: .16em; margin-bottom: 24px; }
  .landing-title { font-size: clamp(48px,9.4vw,66px); line-height: 1.06; letter-spacing: -.059em; margin-bottom: 28px; max-width: 570px; text-wrap: balance; }
  .landing-intro { font-size: 13px; line-height: 1.85; max-width: 440px; margin-bottom: 30px; }
  .landing-cta { min-height: 55px; font-size: 12px; padding-left: 20px; }
  .landing-cta-arrow { width: 53px; }
  .landing-atmosphere { background: linear-gradient(90deg,rgba(6,24,19,.66),rgba(7,28,22,.28)),linear-gradient(0deg,#071713,rgba(7,23,19,.77) 30%,rgba(7,23,19,.23) 78%,rgba(7,23,19,.48)); }
  .terrain-shade { background: linear-gradient(110deg,transparent 30%,rgba(7,28,22,.1) 65%,rgba(7,28,22,.7)); }
  #terrain-canvas { opacity: .68; }
  .landing-scene-mark { display: none; }
  .landing-footer { align-items: center; gap: 8px; padding-bottom: 15px; font-size: 8px; }
  .landing-motion { font-size: 9px; gap: 7px; padding-left: 8px; }
}
@media (max-width: 360px) { .landing-header,.landing-footer,.landing-main { padding-left: 19px; padding-right: 19px; } .landing-brand img { width: 129px; } .landing-title { font-size: 44px; } .landing-motion { font-size: 8px; } }
@media (prefers-reduced-motion: reduce) { .landing-page *, .landing-page *::before, .landing-page *::after { animation: none !important; transition: none !important; } .landing-scene { transform: none; } .landing-cta:hover, .landing-cta:hover svg, .landing-cta:active { transform: none; } }
