@font-face {
  font-family: 'FH Lecturis Rounded';
  src: url('assets/fonts/FHLecturisRoundedTest-Regular.woff2') format('woff2');
  font-style: normal; font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'FH Lecturis Rounded';
  src: url('assets/fonts/FHLecturisRoundedTest-Light.woff2') format('woff2');
  font-style: normal; font-weight: 300; font-display: swap;
}
:root { --secondary: 'FH Lecturis Rounded', 'Helvetica Neue', sans-serif; }
.wordmark { display: inline-flex; align-items: center; gap: 12px; }
.brand-icon { display: block; width: 34px; height: 34px; flex: 0 0 auto; object-fit: contain; }
.brand-name { display: inline-block; }
.brand-dot { vertical-align: top; }
.floating-nav, .header-note, .eyebrow, .slogan, .explore-link,
.journey-index, .journey-caption, .flight-copy p, .section-coordinate,
.card-kicker, .card-description, .contact-lead, .contact-links,
.footer-bottom, .contact-eyebrow, .contact-cta { font-family: var(--secondary); }
.floating-nav { gap: 21px; padding: 8px 10px 8px 24px; font-size: 14px; min-height: 58px; border-color: rgba(255,255,255,.19); background: rgba(24,25,28,.68); }
.floating-nav a { display: inline-flex; min-height: 38px; align-items: center; }
.floating-nav .nav-project { min-height: 40px; padding: 0 18px; border-radius: 99px; color: #17191b; background: #e7e6e0; gap: 13px; }
.floating-nav .nav-project:hover { opacity: 1; background: #fff; }
.nav-project span { padding-left: 0 !important; }
.header-note { display: none; }
.mobile-menu { display: none; }
.hero-eyebrow { font-size: 12px; letter-spacing: .12em; }
h1 { font-size: clamp(76px, 8.9vw, 162px); }
.slogan { font-size: 13px; letter-spacing: .12em; }
.explore-link { font-size: 13px; }
.flight-copy { width: 39vw; }
.flight-copy h2 { font-size: clamp(48px, 5.1vw, 96px); }
.flight-copy p { max-width: 28ch; font-size: clamp(14px, 1.15vw, 19px); color: #bbbcc0; }
.journey-index, .journey-caption { font-size: 12px; }
.section-intro h2, .section-coordinate { font-family: var(--secondary); font-size: clamp(12px, .9vw, 16px); letter-spacing: .13em; color: #a0a1a6; }
.card-kicker { font-size: clamp(11px, .87vw, 15px); letter-spacing: .17em; color: #adaeb3; }
.card-copy h3 { font-size: clamp(32px, 3.15vw, 68px); }
.card-description { margin-top: 16px; min-height: 2.9em; font-size: clamp(14px, 1.08vw, 21px); line-height: 1.45; color: #bbbcc1; }
.contact-section { position: relative; z-index: 2; margin-top: clamp(20px, 4vw, 70px); padding: 110px var(--gutter) 94px; border-top: 1px solid rgba(255,255,255,.11); overflow: hidden; }
.contact-section::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(circle, rgba(210,214,225,.16) .65px, transparent .85px); background-size: 28px 28px; mask-image: linear-gradient(90deg, transparent 4%, #000 95%); -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 95%); pointer-events: none; }
.contact-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #a8a9ad; letter-spacing: .12em; margin-bottom: 42px; }
.contact-eyebrow::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #dbd6c7; box-shadow: 0 0 12px rgba(235,224,202,.5); }
.contact-row { display: flex; justify-content: space-between; align-items: end; gap: 48px; }
.contact-title { font-size: clamp(54px, 7.2vw, 136px); font-weight: 300; letter-spacing: -.06em; line-height: 1.03; }
.contact-title span { color: #9b9ca2; }
.contact-detail { max-width: 300px; flex: 0 1 300px; padding-bottom: 8px; }
.contact-lead { font-size: clamp(16px, 1.25vw, 20px); color: #a9aab0; line-height: 1.55; }
.contact-cta { display: inline-flex; align-items: center; justify-content: space-between; width: 100%; gap: 30px; padding: 21px 0 15px; margin-top: 28px; border-bottom: 1px solid #67686d; font-size: 20px; }
.contact-cta span { display: inline-block; transition: transform .25s ease; }
.contact-cta:hover span { transform: translate(3px,-3px); }
.contact-links { display: flex; flex-wrap: wrap; gap: 20px 42px; margin-top: 65px; font-size: 15px; color: #a0a1a7; }
.contact-links a { padding: 8px 0; transition: color .2s; }
.contact-links a:hover { color: #fff; }
.site-footer { border-top: 1px solid rgba(255,255,255,.1); padding-top: 32px; padding-bottom: 32px; }
.site-footer .footer-bottom { display: flex; gap: 25px; align-items: center; color: #909197; font-size: 12px; }
.site-footer > a { font-family: var(--secondary); font-size: 13px; }
.site-footer .slogan { font-size: 11px; color: #929398; }
@media (min-width: 761px) and (max-width: 1150px) {
  .floating-nav { left: auto; right: var(--gutter); transform: scale(calc(1 - .06 * var(--nav-progress))); gap: 16px; }
  .floating-nav .nav-film { display: none; }
  .floating-nav .nav-divider { display: none; }
  .flight-copy { width: 43vw; }
  .flight-copy h2 { font-size: clamp(43px, 5.2vw, 60px); }
  .card-copy { left: 19px; right: 19px; bottom: 25px; }
  .card-kicker { margin-bottom: 9px; }
  .card-description { font-size: 13px; margin-top: 12px; min-height: 4.35em; }
  .contact-row { align-items: start; gap: 28px; }
  .contact-detail { max-width: 245px; }
}
@media (max-width: 760px) {
  .wordmark { gap: 9px; }
  .brand-icon { width: 29px; height: 29px; }
  .floating-nav { padding: 0; min-height: 44px; gap: 0; border-radius: 23px; font-size: 13px; }
  .floating-nav > a, .floating-nav > .nav-divider { display: none; }
  .mobile-menu { display: block; position: relative; }
  .mobile-menu summary { display: flex; align-items: center; gap: 22px; padding: 14px 17px; cursor: pointer; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary::after { content: '+'; font-family: sans-serif; font-size: 17px; line-height: 1; }
  .mobile-menu[open] summary::after { content: '−'; }
  .mobile-menu summary:focus-visible { outline: 2px solid #fff; border-radius: 25px; outline-offset: 4px; }
  .mobile-menu-panel { position: absolute; top: 53px; right: 0; min-width: 235px; padding: 12px; border: 1px solid #3b3c41; border-radius: 20px; background: rgba(20,21,25,.97); backdrop-filter: blur(18px); }
  .mobile-menu-panel a { display: flex; min-height: 48px; padding: 0 12px; }
  .floating-nav .mobile-menu-panel .nav-project { margin-top: 6px; justify-content: space-between; padding: 0 15px; }
  .hero-eyebrow { font-size: 10px; }
  h1 { font-size: clamp(54px, 13.2vw, 96px); }
  .slogan { font-size: 10px; letter-spacing: .085em; }
  .explore-link { font-size: 12px; }
  .flight-copy { width: 57vw; bottom: 13%; max-width: 360px; }
  .flight-copy h2 { font-size: clamp(31px, 7.7vw, 50px); }
  .flight-copy p { font-size: 12px; max-width: 22ch; margin-top: 16px; }
  .journey-index, .journey-caption { font-size: 11px; }
  .journey-marker { gap: 12px; }
  .journey-track { width: 50px; }
  .section-intro h2, .section-coordinate { font-size: 10px; letter-spacing: .08em; }
  .card-copy { left: 25px; right: 25px; bottom: 30px; }
  .card-kicker { font-size: 11px; }
  .card-copy h3 { font-size: clamp(38px, 10vw, 54px); }
  .card-description { font-size: 16px; line-height: 1.45; }
  .contact-section { padding: 65px var(--gutter) 50px; }
  .contact-eyebrow { font-size: 10px; margin-bottom: 30px; }
  .contact-row { display: block; }
  .contact-title { font-size: clamp(50px, 12vw, 85px); }
  .contact-detail { max-width: 340px; margin-top: 40px; }
  .contact-lead { font-size: 17px; }
  .contact-links { display: grid; gap: 7px; margin-top: 35px; font-size: 14px; }
  .site-footer { gap: 25px; flex-wrap: wrap; padding-bottom: 32px; }
  .site-footer .footer-bottom { font-size: 11px; flex-wrap: wrap; gap: 12px; }
  .site-footer .slogan { font-size: 10px; max-width: none; }
  .site-footer > a { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-cta span, .floating-nav a { transition: none; }
}

.site-footer .footer-version { display:inline-block; margin-left:10px; padding:2px 7px; border:1px solid #ffffff25; border-radius:5px; color:#bec3c8; font-size:10px; line-height:1.4; vertical-align:middle; }
