    @font-face {
      font-family: KasraSerif;
      src: local("Georgia");
      font-display: swap;
    }

    :root {
      --bg: #f6f0e6;
      --bg-2: #efe4d3;
      --surface: rgba(255, 250, 241, 0.72);
      --surface-solid: #fff9ef;
      --surface-raised: #fffdf7;
      --text: #231a12;
      --muted: #746653;
      --line: rgba(74, 54, 32, 0.16);
      --gold: #b3842f;
      --gold-2: #e4c16a;
      --clay: #bb765b;
      --stone: #d7c4a8;
      --shadow: 0 24px 70px rgba(65, 43, 20, 0.18);
      --soft-shadow: 0 14px 40px rgba(65, 43, 20, 0.12);
      --radius-xl: 34px;
      --radius-lg: 24px;
      --radius-md: 16px;
      --container: min(1180px, calc(100vw - 40px));
      --ease: cubic-bezier(.16, 1, .3, 1);
    }

    :root[data-theme="dark"] {
      --bg: #100f0d;
      --bg-2: #17130f;
      --surface: rgba(28, 24, 19, 0.66);
      --surface-solid: #1c1813;
      --surface-raised: #251f18;
      --text: #f7ead3;
      --muted: #bba98d;
      --line: rgba(241, 213, 163, 0.16);
      --gold: #d8aa4c;
      --gold-2: #ffe39a;
      --clay: #d19174;
      --stone: #3b3024;
      --shadow: 0 28px 90px rgba(0, 0, 0, 0.46);
      --soft-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
    }

    * { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      background: var(--bg);
    }
    body {
      margin: 0;
      min-height: 100dvh;
      color: var(--text);
      background:
        radial-gradient(circle at 15% 12%, rgba(228, 193, 106, .22), transparent 28rem),
        radial-gradient(circle at 92% 18%, rgba(187, 118, 91, .18), transparent 26rem),
        linear-gradient(135deg, var(--bg), var(--bg-2));
      font-family: "Josefin Sans", "Vazirmatn", "Segoe UI", Tahoma, sans-serif;
      overflow-x: hidden;
    }

    body.modal-open { overflow: hidden; }

    a { color: inherit; text-decoration: none; }
    button, input {
      font: inherit;
    }
    button {
      border: 0;
      cursor: pointer;
    }
    img {
      max-width: 100%;
      display: block;
    }
    ::selection {
      background: var(--gold);
      color: #14100b;
    }
    ::-webkit-scrollbar { width: 10px; }
    ::-webkit-scrollbar-track { background: var(--bg-2); }
    ::-webkit-scrollbar-thumb {
      background: linear-gradient(var(--gold-2), var(--gold));
      border: 3px solid var(--bg-2);
      border-radius: 999px;
    }

    .skip-link {
      position: fixed;
      top: 14px;
      right: 14px;
      z-index: 1000;
      padding: 12px 16px;
      border-radius: 999px;
      background: var(--text);
      color: var(--bg);
      transform: translateY(-140%);
      transition: transform .25s var(--ease);
    }
    .skip-link:focus { transform: translateY(0); }

    .site-shell {
      position: relative;
      isolation: isolate;
    }

    .grain {
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      opacity: .13;
      background-image:
        linear-gradient(90deg, rgba(128,128,128,.16) 1px, transparent 1px),
        linear-gradient(rgba(128,128,128,.10) 1px, transparent 1px);
      background-size: 58px 58px;
      mask-image: radial-gradient(circle at center, #000, transparent 78%);
    }

    .aurora {
      position: fixed;
      inset: auto -10vw -28vh -10vw;
      z-index: -1;
      height: 55vh;
      pointer-events: none;
      background:
        radial-gradient(circle at 35% 35%, rgba(216, 170, 76, .24), transparent 28rem),
        radial-gradient(circle at 65% 30%, rgba(187, 118, 91, .20), transparent 24rem);
      filter: blur(28px);
      transform: translate3d(0, var(--scroll-glow, 0px), 0);
    }

    .nav {
      position: fixed;
      inset: 18px 20px auto;
      z-index: 50;
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: min(1240px, calc(100vw - 40px));
      margin-inline: auto;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: color-mix(in srgb, var(--surface) 88%, transparent);
      box-shadow: var(--soft-shadow);
      backdrop-filter: blur(24px) saturate(135%);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding-inline: 10px 18px;
      min-height: 48px;
    }
    .brand-mark {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      color: #17110a;
      background: conic-gradient(from 30deg, var(--gold-2), var(--gold), var(--clay), var(--gold-2));
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.34), 0 12px 26px rgba(179,132,47,.28);
      font-family: KasraSerif, Georgia, serif;
      font-size: 21px;
      font-weight: 700;
      letter-spacing: -.08em;
    }
    .brand-text {
      display: flex;
      flex-direction: column;
      gap: 1px;
      line-height: 1;
    }
    .brand-text strong {
      font-family: KasraSerif, Georgia, serif;
      font-size: 17px;
      letter-spacing: .12em;
    }
    .brand-text span {
      color: var(--muted);
      font-size: 12px;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 4px;
      color: var(--muted);
      font-size: 14px;
    }
    .nav-links a {
      min-height: 44px;
      padding: 13px 15px;
      border-radius: 999px;
      transition: color .25s var(--ease), background .25s var(--ease);
    }
    .nav-links a:hover,
    .nav-links a:focus-visible {
      color: var(--text);
      background: color-mix(in srgb, var(--gold) 14%, transparent);
      outline: none;
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .icon-button,
    .primary-button,
    .ghost-button {
      min-height: 44px;
      border-radius: 999px;
      transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
    }
    .icon-button {
      width: 44px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      background: color-mix(in srgb, var(--surface-raised) 76%, transparent);
      color: var(--text);
    }
    .primary-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 20px;
      color: #17110a;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      box-shadow: 0 15px 34px rgba(179,132,47,.26);
      font-weight: 800;
      white-space: nowrap;
    }
    .ghost-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 18px;
      border: 1px solid var(--line);
      background: transparent;
      color: var(--text);
      font-weight: 700;
    }
    .primary-button:hover,
    .ghost-button:hover,
    .icon-button:hover {
      transform: translateY(-2px);
      box-shadow: var(--soft-shadow);
    }
    .primary-button:active,
    .ghost-button:active,
    .icon-button:active {
      transform: scale(.97);
    }
    :focus-visible {
      outline: 3px solid color-mix(in srgb, var(--gold) 78%, white);
      outline-offset: 4px;
    }

    .hero {
      min-height: 100dvh;
      padding: 124px 0 86px;
      display: grid;
      align-items: center;
    }
    .hero-grid {
      width: var(--container);
      margin: auto;
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
      gap: clamp(28px, 5vw, 70px);
      align-items: center;
      perspective: 1400px;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: fit-content;
      padding: 8px 12px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: color-mix(in srgb, var(--surface) 82%, transparent);
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .03em;
    }
    .eyebrow::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 18px var(--gold);
    }
    h1, h2, h3, p { margin: 0; }
    .hero-title {
      margin-top: 24px;
      font-family: KasraSerif, Georgia, serif;
      font-size: clamp(1.95rem, 3.8vw, 3.55rem);
      line-height: 1.08;
      letter-spacing: -.03em;
    }
    .hero-title span {
      display: block;
      color: transparent;
      background: linear-gradient(100deg, var(--gold-2), var(--clay) 54%, var(--gold));
      -webkit-background-clip: text;
      background-clip: text;
    }
    .hero-copy {
      margin-top: 28px;
      max-width: 610px;
      color: var(--muted);
      font-size: clamp(17px, 1.55vw, 22px);
      line-height: 1.9;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;
    }
    .hero-actions .primary-button,
    .hero-actions .ghost-button {
      min-height: 56px;
      padding-inline: 26px;
    }
    .hero-proof {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 36px;
      max-width: 680px;
    }
    .proof-card {
      position: relative;
      overflow: hidden;
      padding: 18px;
      min-height: 112px;
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      background: color-mix(in srgb, var(--surface) 76%, transparent);
      backdrop-filter: blur(18px);
    }
    .proof-card strong {
      display: block;
      font-family: KasraSerif, Georgia, serif;
      font-size: 32px;
      line-height: 1;
    }
    .proof-card span {
      display: block;
      margin-top: 10px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
    }

    .visual-stage {
      position: relative;
      min-height: 680px;
      transform-style: preserve-3d;
    }
    .image-card {
      position: absolute;
      inset: 32px 0 0 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 44px;
      background: var(--surface-solid);
      box-shadow: var(--shadow);
      transform: rotateY(-10deg) rotateX(4deg) translateZ(18px);
      transition: transform .45s var(--ease);
    }
    .image-card:hover {
      transform: rotateY(-4deg) rotateX(2deg) translateZ(34px) translateY(-8px);
    }
    .image-card img {
      width: 100%;
      height: 100%;
      min-height: 620px;
      object-fit: cover;
      transform: scale(1.08);
      filter: saturate(.92) contrast(1.04);
    }
    .image-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(0deg, rgba(0,0,0,.52), transparent 44%),
        radial-gradient(circle at 72% 15%, rgba(255, 225, 154, .26), transparent 20rem);
      pointer-events: none;
    }
    .floating-ticket {
      position: absolute;
      right: -10px;
      bottom: 42px;
      z-index: 2;
      width: min(340px, 80%);
      padding: 18px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 24px;
      color: #fff8e8;
      background: rgba(24, 18, 12, .58);
      box-shadow: 0 24px 60px rgba(0,0,0,.28);
      backdrop-filter: blur(20px);
      transform: translateZ(95px);
    }
    .floating-ticket b {
      display: block;
      font-size: 17px;
      margin-bottom: 6px;
    }
    .floating-ticket span {
      color: rgba(255,248,232,.76);
      font-size: 13px;
      line-height: 1.8;
    }
    .orbit {
      position: absolute;
      left: 0;
      top: 0;
      width: 190px;
      height: 190px;
      border: 1px solid var(--line);
      border-radius: 50%;
      transform: translateZ(70px);
      animation: orbit 12s linear infinite;
    }
    .orbit::before {
      content: "";
      position: absolute;
      top: 22px;
      right: 22px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--gold-2);
      box-shadow: 0 0 28px var(--gold);
    }

    .mobile-preview {
      display: none;
      position: relative;
      width: var(--container);
      margin: -48px auto 80px;
      border: 1px solid var(--line);
      border-radius: 32px;
      background: var(--surface);
      box-shadow: var(--soft-shadow);
      backdrop-filter: blur(20px);
      overflow: hidden;
    }

    .section {
      width: var(--container);
      margin: 0 auto;
      padding: clamp(70px, 10vw, 130px) 0;
    }
    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 34px;
    }
    .section-kicker {
      color: var(--gold);
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: 12px;
    }
    .section-title {
      margin-top: 10px;
      font-family: KasraSerif, Georgia, serif;
      font-size: clamp(34px, 5vw, 68px);
      line-height: 1.05;
      letter-spacing: -.04em;
    }
    .section-note {
      max-width: 420px;
      color: var(--muted);
      line-height: 1.85;
    }

    .scroll-rail {
      position: relative;
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 24px;
      perspective: 1200px;
    }
    .rail-card {
      min-height: 340px;
      padding: 28px;
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      background: var(--surface);
      box-shadow: var(--soft-shadow);
      backdrop-filter: blur(18px);
      transform: translateY(36px) rotateX(10deg);
      opacity: 0;
      transition: opacity .75s var(--ease), transform .75s var(--ease);
    }
    .rail-card.in-view {
      opacity: 1;
      transform: translateY(0) rotateX(0);
    }
    .rail-card.large {
      grid-row: span 2;
      min-height: 704px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background:
        linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 82%, transparent), color-mix(in srgb, var(--gold) 10%, transparent)),
        var(--surface);
    }
    .feature-icon {
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      border-radius: 18px;
      color: #17110a;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      box-shadow: 0 18px 34px rgba(179,132,47,.22);
    }
    .feature-icon svg { width: 27px; height: 27px; }
    .rail-card h3 {
      margin-top: 24px;
      font-size: clamp(24px, 3vw, 38px);
      line-height: 1.2;
      font-family: KasraSerif, Georgia, serif;
    }
    .rail-card p {
      margin-top: 14px;
      color: var(--muted);
      line-height: 1.85;
    }
    .spec-list {
      display: grid;
      gap: 12px;
      margin-top: 28px;
    }
    .spec-row {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
      color: var(--muted);
    }
    .spec-row strong { color: var(--text); }

    .gallery {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 24px;
      align-items: stretch;
    }
    .gallery-main,
    .location-card {
      overflow: hidden;
      min-height: 560px;
      border: 1px solid var(--line);
      border-radius: 42px;
      box-shadow: var(--shadow);
      background: var(--surface-solid);
    }
    .gallery-main {
      position: relative;
    }
    .gallery-main img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.03);
    }
    .gallery-main::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(0deg, rgba(0,0,0,.64), transparent 48%);
    }
    .gallery-caption {
      position: absolute;
      z-index: 2;
      right: 28px;
      bottom: 28px;
      max-width: 520px;
      color: #fff8e8;
    }
    .gallery-caption h3 {
      font-family: KasraSerif, Georgia, serif;
      font-size: clamp(28px, 4vw, 56px);
      line-height: 1.05;
    }
    .gallery-caption p {
      margin-top: 12px;
      color: rgba(255,248,232,.76);
      line-height: 1.8;
    }
    .location-card {
      display: grid;
      grid-template-rows: 1fr auto;
    }
    .location-card img {
      width: 100%;
      height: 100%;
      min-height: 330px;
      object-fit: cover;
      filter: saturate(.9) contrast(1.03);
    }
    .location-copy {
      padding: 24px;
    }
    .location-copy h3 {
      font-size: 28px;
      font-family: KasraSerif, Georgia, serif;
    }
    .location-copy p {
      margin-top: 10px;
      color: var(--muted);
      line-height: 1.8;
    }

    .cta-panel {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 28px;
      align-items: center;
      padding: clamp(28px, 5vw, 58px);
      border: 1px solid var(--line);
      border-radius: 44px;
      background:
        radial-gradient(circle at 12% 20%, rgba(228,193,106,.26), transparent 22rem),
        linear-gradient(135deg, var(--surface-raised), color-mix(in srgb, var(--surface-solid) 70%, var(--gold) 10%));
      box-shadow: var(--shadow);
    }
    .cta-panel h2 {
      font-family: KasraSerif, Georgia, serif;
      font-size: clamp(34px, 5vw, 70px);
      line-height: 1.02;
      letter-spacing: -.045em;
    }
    .cta-panel p {
      max-width: 620px;
      margin-top: 16px;
      color: var(--muted);
      line-height: 1.85;
    }
    .cta-panel .primary-button {
      min-height: 58px;
      padding-inline: 28px;
    }

    .footer {
      width: var(--container);
      margin: 0 auto;
      padding: 34px 0 96px;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 14px;
    }

    .bottom-nav {
      display: none;
      position: fixed;
      inset: auto 14px 14px;
      z-index: 45;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: var(--surface);
      box-shadow: var(--shadow);
      backdrop-filter: blur(22px);
    }
    .bottom-nav-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 4px;
    }
    .bottom-nav a,
    .bottom-nav button {
      min-height: 48px;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--muted);
      background: transparent;
      font-size: 12px;
      font-weight: 800;
    }
    .bottom-nav .active {
      color: #17110a;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
    }

    .modal {
      position: fixed;
      inset: 0;
      z-index: 100;
      display: none;
      place-items: center;
      padding: 20px;
    }
    .modal.is-open { display: grid; }
    .modal-scrim {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,.58);
      backdrop-filter: blur(12px);
    }
    .login-card {
      position: relative;
      z-index: 1;
      width: min(980px, 100%);
      max-height: min(760px, calc(100dvh - 40px));
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.20);
      border-radius: 38px;
      background: var(--surface-solid);
      box-shadow: 0 40px 120px rgba(0,0,0,.46);
      animation: modalIn .42s var(--ease);
    }
    .login-visual {
      position: relative;
      min-height: 580px;
      overflow: hidden;
      background: #1b130d;
    }
    .login-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.85) contrast(1.03);
    }
    .login-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(0deg, rgba(0,0,0,.74), transparent 62%),
        radial-gradient(circle at 65% 16%, rgba(255,227,154,.24), transparent 18rem);
    }
    .login-visual-copy {
      position: absolute;
      z-index: 1;
      right: 24px;
      left: 24px;
      bottom: 24px;
      color: #fff8e8;
    }
    .login-visual-copy strong {
      display: block;
      font-family: KasraSerif, Georgia, serif;
      font-size: 34px;
      line-height: 1.1;
    }
    .login-visual-copy span {
      display: block;
      margin-top: 10px;
      color: rgba(255,248,232,.72);
      line-height: 1.75;
    }
    .login-form-wrap {
      overflow: auto;
      padding: clamp(24px, 4vw, 44px);
    }
    .modal-top {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: center;
      margin-bottom: 30px;
    }
    .modal-top h2 {
      font-family: KasraSerif, Georgia, serif;
      font-size: 38px;
      line-height: 1.05;
    }
    .close-modal {
      flex: 0 0 auto;
    }
    .tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      padding: 6px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: color-mix(in srgb, var(--bg) 72%, transparent);
      margin-bottom: 28px;
    }
    .tab-button {
      min-height: 44px;
      border-radius: 999px;
      background: transparent;
      color: var(--muted);
      font-weight: 900;
    }
    .tab-button.active {
      color: #17110a;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      box-shadow: 0 12px 24px rgba(179,132,47,.18);
    }
    .auth-form {
      display: none;
      gap: 18px;
    }
    .auth-form.active {
      display: grid;
    }
    .field {
      display: grid;
      gap: 8px;
    }
    .field label {
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
    }
    .field input {
      min-height: 52px;
      width: 100%;
      padding: 0 16px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: color-mix(in srgb, var(--surface-raised) 86%, transparent);
      color: var(--text);
      outline: none;
      transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
    }
    .field input:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--gold) 20%, transparent);
    }
    .form-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      color: var(--muted);
      font-size: 14px;
    }
    .check {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .check input {
      width: 18px;
      height: 18px;
      accent-color: var(--gold);
    }
    .form-row a { color: var(--gold); font-weight: 900; }
    .submit-button {
      min-height: 54px;
      margin-top: 4px;
      border-radius: 18px;
      color: #17110a;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      font-weight: 950;
      box-shadow: 0 16px 34px rgba(179,132,47,.22);
    }
    .auth-note {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
    }
    .toast {
      position: fixed;
      right: 20px;
      bottom: 22px;
      z-index: 130;
      display: none;
      max-width: 360px;
      padding: 14px 16px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: var(--surface-solid);
      color: var(--text);
      box-shadow: var(--shadow);
    }
    .toast.show { display: block; }

    .reveal {
      opacity: 0;
      transform: translate3d(0, 42px, 0) scale(.98);
      transition: opacity .75s var(--ease), transform .75s var(--ease);
      transition-delay: var(--delay, 0ms);
    }
    .reveal.in-view {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
    .parallax {
      transform: translate3d(0, calc(var(--parallax, 0) * -1px), 0);
    }

    @keyframes orbit {
      to { rotate: 360deg; }
    }
    @keyframes modalIn {
      from { opacity: 0; transform: translateY(22px) scale(.96); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    @media (max-width: 960px) {
      .nav {
        inset: 12px 12px auto;
        width: calc(100vw - 24px);
      }
      .nav-links,
      .nav .primary-button {
        display: none;
      }
      .brand-text span { display: none; }
      .hero {
        min-height: auto;
        padding: 106px 0 74px;
      }
      .hero-grid {
        grid-template-columns: 1fr;
      }
      .hero-content { order: 2; }
      .visual-stage {
        order: 1;
        min-height: 470px;
      }
      .image-card {
        inset: 0;
        border-radius: 34px;
        transform: rotateY(0) rotateX(0);
      }
      .image-card img {
        min-height: 470px;
      }
      .floating-ticket {
        right: 16px;
        bottom: 16px;
      }
      .orbit { display: none; }
      .hero-proof {
        grid-template-columns: 1fr;
      }
      .mobile-preview {
        display: block;
      }
      .mobile-preview-inner {
        padding: 18px;
        display: grid;
        gap: 12px;
      }
      .mobile-sheet {
        padding: 18px;
        border-radius: 24px;
        background: color-mix(in srgb, var(--surface-raised) 80%, transparent);
      }
      .mobile-sheet strong {
        display: block;
        font-family: KasraSerif, Georgia, serif;
        font-size: 24px;
      }
      .mobile-sheet span {
        display: block;
        margin-top: 6px;
        color: var(--muted);
        line-height: 1.7;
      }
      .section-head,
      .scroll-rail,
      .gallery,
      .cta-panel,
      .footer {
        grid-template-columns: 1fr;
      }
      .scroll-rail {
        display: grid;
      }
      .rail-card.large {
        min-height: 420px;
      }
      .gallery-main,
      .location-card {
        min-height: 420px;
        border-radius: 32px;
      }
      .login-card {
        grid-template-columns: 1fr;
      }
      .login-visual {
        display: none;
      }
      .bottom-nav {
        display: block;
      }
      .footer {
        display: grid;
        padding-bottom: 118px;
      }
    }

    @media (max-width: 560px) {
      :root { --container: min(100vw - 28px, 1180px); }
      .brand {
        padding-inline: 4px 8px;
      }
      .brand-mark {
        width: 40px;
        height: 40px;
      }
      .brand-text strong {
        font-size: 14px;
      }
      .icon-button { width: 42px; }
      .hero-title {
        font-size: clamp(1.7rem, 7.2vw, 2.55rem);
      }
      .hero-actions {
        display: grid;
      }
      .hero-actions .primary-button,
      .hero-actions .ghost-button {
        width: 100%;
      }
      .visual-stage { min-height: 390px; }
      .image-card img { min-height: 390px; }
      .floating-ticket {
        width: calc(100% - 32px);
      }
      .proof-card {
        min-height: auto;
      }
      .section {
        padding: 68px 0;
      }
      .rail-card {
        min-height: auto;
        padding: 22px;
        border-radius: 26px;
      }
      .gallery-caption {
        right: 20px;
        left: 20px;
        bottom: 20px;
      }
      .cta-panel {
        border-radius: 30px;
      }
      .login-form-wrap {
        padding: 22px;
      }
      .modal {
        padding: 10px;
      }
      .login-card {
        border-radius: 28px;
        max-height: calc(100dvh - 20px);
      }
      .form-row {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
      .parallax,
      .aurora {
        transform: none !important;
      }
    }


    .landing-beta-splash {
      position: fixed;
      inset: 0;
      z-index: 1200;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: rgba(20, 16, 11, .44);
      backdrop-filter: blur(30px) saturate(140%);
      -webkit-backdrop-filter: blur(30px) saturate(140%);
      transition: opacity .42s var(--ease), visibility .42s var(--ease);
      animation: landingSplashFadeIn .55s var(--ease);
    }

    .landing-beta-splash.is-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .landing-beta-splash.is-closing .landing-beta-splash__panel {
      animation: landingSplashPanelOut .32s var(--ease) forwards;
    }

    .landing-beta-splash__panel {
      min-width: min(560px, 100%);
      padding: 36px 30px;
      border: 1px solid color-mix(in srgb, var(--line) 84%, white 16%);
      border-radius: 30px;
      background: color-mix(in srgb, var(--surface-raised) 78%, transparent);
      box-shadow: 0 30px 90px rgba(0, 0, 0, .22), var(--shadow);
      text-align: center;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }

    .landing-beta-splash__eyebrow {
      display: block;
      margin-bottom: 10px;
      color: var(--muted);
      font-size: .9rem;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .landing-beta-splash__version {
      display: block;
      font-family: KasraSerif, Georgia, serif;
      font-size: clamp(2.2rem, 7vw, 4.8rem);
      color: var(--text);
      letter-spacing: .08em;
    }


    .landing-beta-splash__panel {
      animation: landingSplashPanelIn .72s cubic-bezier(.18, .9, .2, 1.08);
    }

    .landing-beta-splash__copy {
      margin: 14px 0 0;
      color: var(--muted);
      font-size: 1rem;
      line-height: 1.9;
    }

    .landing-beta-splash__button {
      min-height: 46px;
      margin-top: 20px;
      padding: 0 22px;
      border-radius: 999px;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      color: #17110a;
      font-weight: 800;
      box-shadow: 0 15px 34px rgba(179,132,47,.26);
      transition: transform .25s var(--ease), box-shadow .25s var(--ease);
    }

    .landing-beta-splash__button:hover,
    .landing-beta-splash__button:focus {
      transform: translateY(-2px);
      box-shadow: var(--soft-shadow);
    }

    @keyframes landingSplashFadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    @keyframes landingSplashPanelIn {
      0% {
        opacity: 0;
        transform: translateY(42px) scale(.88);
      }
      65% {
        opacity: 1;
        transform: translateY(-6px) scale(1.02);
      }
      100% {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    @keyframes landingSplashPanelOut {
      from {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
      to {
        opacity: 0;
        transform: translateY(14px) scale(.96);
      }
    }
