/* Shared navigation and the shorter homepage. Existing product sections stay intact. */
.site-header { position: relative; z-index: 15; }
.site-header-shell { background: #050505; }
/* Keep text rasterization steady when the keyhole releases the live hero. */
.home-page .hero-copy { transform: translateZ(0); }
.cinema.is-keyhole ~ .back-to-top.over-intro { bottom: calc(18px + env(safe-area-inset-bottom)); }
.site-header .desktop-nav { gap: clamp(18px, 2.2vw, 32px); }
.site-header nav a, .site-menu summary { font: var(--type-button); }
.site-header nav a[aria-current="page"] { color: #dcff77; }
.site-menu { display: none; }
.site-footer-full { display: grid; grid-template-columns: 1.1fr 1fr 1fr; align-items: start; gap: 48px; }
.site-footer-full .wordmark { display: inline-block; }
.site-footer-full p { margin-top: 22px; font: var(--type-h6); }
.site-footer-full nav, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer-full nav a, .footer-contact > a { padding-block: 7px; }
.site-footer-full nav a { display: flex; align-items: center; min-height: 44px; }
.footer-contact > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 12px; min-height: 44px; }
.footer-contact > a > .arrow-icon { display: block; }
.footer-contact > a > span { display: block; grid-column: 1 / -1; color: #adb4b3; }
.footer-contact > span { color: #adb4b3; margin-top: 14px; }
.site-next { padding-block: var(--section-space); background: #dcff77; color: #20251d; }
.site-next > .wrap { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 64px; }
.site-next h2 { margin-top: var(--text-space); }
.site-next p { max-width: 470px; }
.site-next .button { margin-top: var(--text-space); }
.site-overview { padding-block: var(--section-space); background: #10170f; color: #f5f7ef; --ring: #dcff77; }
.site-overview-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: var(--content-space); }
.site-overview-heading .eyebrow { color: #dcff77; margin-bottom: var(--text-space); }
.site-overview-heading > p { max-width: 360px; color: #bec7b4; }
.site-feature-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.site-feature-link { display: flex; flex-direction: column; padding: 36px; border-radius: 24px; overflow: hidden; background: #e3ebf0; color: #20251d; transition: transform .25s; }
.site-feature-link:nth-child(2) { background: #eaf2d7; }
.site-feature-link h3 { margin: 16px 0; }
.site-feature-link p { max-width: 440px; }
.site-link-label { display: flex; justify-content: space-between; align-items: center; gap: 16px; font: var(--type-button); }
.site-link-label .arrow-icon { width: 25px; height: 25px; }
.site-preview { height: 260px; margin: 36px -36px -36px; padding: 28px 36px 0; overflow: hidden; }
.site-preview img { width: 100%; height: auto; display: block; border: 7px solid #253223; border-radius: 15px; transform: rotate(-3deg); transition: transform .3s; }
.site-preview-booking { display: flex; justify-content: center; gap: 28px; }
.site-preview-booking img { width: 38%; align-self: flex-start; }
.site-preview-booking img + img { margin-top: 45px; transform: rotate(6deg); }
.site-feature-link:hover { transform: translateY(-5px); }
.site-feature-link:hover img { transform: rotate(0); }
.site-directory { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: var(--content-space); }
.site-directory a { border-top: 1px solid #4c5944; padding-top: 24px; }
.site-directory h3 { font: var(--type-h4); letter-spacing: -.02em; margin-bottom: 12px; }
.site-directory p { color: #bec7b4; }
.site-directory a:hover .site-link-label { color: #dcff77; }
.detail-page main > section:first-child h1 { font: var(--type-h2); letter-spacing: -.03em; margin-block: var(--text-space); }
.page-how-it-works .section-heading h1 { max-width: 72%; }
.page-how-it-works .section-heading h1 span { color: #768264; }
.page-dashboard h1 span { color: #dcff77; }
.detail-page .back-to-top { display: none; }
.detail-page .skip-link { z-index: 30; }
.page-faq .faq-heading h1 span { color: #50682a; }
.page-faq .faq-section { padding-bottom: 0; }
.faq-list p a { text-decoration: underline; text-underline-offset: 3px; }
.venue-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border: 0; }
.venue-index-card { border: 1px solid #536246; border-radius: 20px; padding: 32px; background: #293321; }
.venue-index-card-heading { display: flex; align-items: baseline; gap: 16px; margin-bottom: 24px; }
.venue-index-card h2 { font: var(--type-h3); margin: 0; }
.venue-index-card .venue-index-number { padding: 0; font: var(--type-h6); }
.venue-index-card .venue-index-answer { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.venue-index-card .venue-index-answer > div { justify-content: flex-start; }
.venue-index-card .venue-index-answer > p { max-width: none; }
.venue-index-card-other { grid-column: 1 / -1; background: #dcff77; color: #20251d; border-color: #dcff77; }
.venue-index-card-other .venue-index-answer, .venue-index-card-other .venue-index-number { color: #38432c; }
.venue-index-card-other .venue-index-answer > a { color: #20251d; align-items: center; }
.spaces-fit { padding-block: var(--section-space); }
.spaces-fit-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; list-style: none; padding: 0; margin-block: var(--content-space); }
.spaces-fit-list li { border-top: 1px solid #adb99d; padding-top: 24px; }
.spaces-fit-list h3 { font: var(--type-h4); margin-bottom: 16px; }
.spaces-fit-list p { color: #5d6357; }
.spaces-fit-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.detail-page .how-section, .detail-page .operator-section, .detail-page .setup-runway { padding-top: var(--section-space); }
.module-feature { gap: 20px; }
.module-feature .module-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: #dcff77; }
.module-mark .icon { width: 28px; height: 28px; }
.module-feature h3, .module-feature p { margin: 0; }
.module-feature h3 { font: var(--type-h3); }
.module-feature ul { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 12px; }
.module-feature .button { align-self: flex-start; margin-top: auto; }
.module-next { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: var(--content-space); }
.module-next p { max-width: 650px; color: #bec7b4; }
.module-next strong { color: #f5f7ef; }
.module-next .button { flex-shrink: 0; }
.module-disclosure { color: #bec7b4; margin-top: 24px; }
@media (max-width: 1050px) {
  .site-header .desktop-nav { gap: 16px; }
  .site-header .nav-contact { padding-inline: 15px; }
  .site-feature-link { padding: 28px; }
  .site-preview { margin-inline: -28px; margin-bottom: -28px; }
  .site-footer-full { gap: 30px; }
}
@media (max-width: 900px) {
  .site-header .desktop-nav { display: none; }
  .site-menu { display: block; }
  .site-menu summary { display: flex; align-items: center; gap: 14px; list-style: none; cursor: pointer; padding: 14px 20px; min-height: 48px; border: 1px solid #424a46; border-radius: 28px; }
  .site-menu summary::-webkit-details-marker { display: none; }
  .site-menu summary span { width: 14px; height: 8px; border-block: 1.5px solid currentColor; }
  .site-menu summary:focus-visible { outline: 3px solid #dcff77; outline-offset: 4px; }
  .site-menu[open] summary { background: #dcff77; color: #20251d; }
  .site-menu nav { position: absolute; top: calc(100% - 5px); left: 0; right: 0; display: grid; gap: 4px; padding: 16px; border: 1px solid #424a46; background: #10170f; border-radius: 20px; box-shadow: 0 20px 40px #0004; }
  .site-menu nav > a { display: block; padding: 14px 18px; min-height: 48px; }
  .site-menu .nav-contact { border: 0; border-radius: 8px; }
  .site-menu nav a[aria-current="page"] { background: #24311e; border-radius: 8px; }
  .site-overview-heading { display: block; }
  .site-overview-heading > p { margin-top: var(--text-space); max-width: 520px; }
  .site-next > .wrap { gap: 32px; }
}
@media (max-width: 700px) {
  .module-next { align-items: flex-start; flex-direction: column; }
  .venue-card-grid, .spaces-fit-list { grid-template-columns: 1fr; }
  .venue-index-card { padding: 24px; }
  .site-feature-links, .site-directory, .site-next > .wrap { grid-template-columns: 1fr; }
  .site-feature-link { padding: 26px; }
  .site-preview { margin-inline: -26px; margin-bottom: -26px; height: 235px; }
  .site-directory { gap: 28px; }
  .site-footer-full { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .site-footer-full > div:first-child { grid-column: 1 / -1; }
  .site-footer-full nav > a { display: flex; }
  .site-footer-full nav { gap: 0; }
  .page-how-it-works .section-heading h1 { max-width: none; }
  .detail-page .back-to-top:not([hidden]) { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 40; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #24351d; border-radius: 50%; background: #dcff77; color: #24351d; box-shadow: 0 4px 18px #0003; }
}
@media (prefers-reduced-motion: reduce) {
  .site-feature-link, .site-preview img { transition: none; }
}
