#z0-splash-overlay.z0-splash-root {
    background: #0d0b09;
    font-family: 'Cormorant Garamond', Georgia, serif;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
  }

  #z0-splash-overlay .stage {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  #z0-splash-overlay .grain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.5;
    pointer-events: none;
    z-index: 1;
  }

  #z0-splash-overlay .sweep {
    position: absolute;
    top: 0; left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(190,148,90,0.04), transparent);
    animation: z0sp_sweep 7s ease-in-out infinite;
    z-index: 2;
  }

  @keyframes z0sp_sweep {
    0% { left: -60%; }
    100% { left: 160%; }
  }

  #z0-splash-overlay .horizon {
    position: absolute;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #BE945A, transparent);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: z0sp_expand-line 2.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
    z-index: 3;
  }

  @keyframes z0sp_expand-line {
    to { width: 360px; }
  }

  #z0-splash-overlay .vline-left, #z0-splash-overlay .vline-right {
    position: absolute;
    width: 1px;
    height: 0;
    background: linear-gradient(180deg, transparent, rgba(190,148,90,0.55), transparent);
    top: 50%;
    animation: z0sp_expand-vline 1.8s cubic-bezier(0.16, 1, 0.3, 1) 2.2s forwards;
    transform: translateY(-50%);
    z-index: 3;
  }
  #z0-splash-overlay .vline-left { left: calc(50% - 180px); }
  #z0-splash-overlay .vline-right { right: calc(50% - 180px); }

  @keyframes z0sp_expand-vline {
    to { height: 220px; }
  }

  #z0-splash-overlay .ornament {
    position: absolute;
    width: 22px;
    height: 22px;
    border-color: rgba(190,148,90,0.45);
    border-style: solid;
    opacity: 0;
    animation: z0sp_fade-ornament 1s ease 3.2s forwards;
    z-index: 4;
  }
  #z0-splash-overlay .ornament.tl { top: calc(50% - 110px); left: calc(50% - 180px); border-width: 1px 0 0 1px; }
  #z0-splash-overlay .ornament.tr { top: calc(50% - 110px); right: calc(50% - 180px); border-width: 1px 1px 0 0; }
  #z0-splash-overlay .ornament.bl { bottom: calc(50% - 110px); left: calc(50% - 180px); border-width: 0 0 1px 1px; }
  #z0-splash-overlay .ornament.br { bottom: calc(50% - 110px); right: calc(50% - 180px); border-width: 0 1px 1px 0; }

  @keyframes z0sp_fade-ornament {
    to { opacity: 1; }
  }

  #z0-splash-overlay .content {
    position: relative;
    z-index: 10;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #z0-splash-overlay .pre-tag {
    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 9px;
    letter-spacing: 6px;
    color: #BE945A;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(10px);
    animation: z0sp_rise 1.2s cubic-bezier(0.16, 1, 0.3, 1) 1.2s forwards;
    margin-bottom: 32px;
  }

  #z0-splash-overlay .logo-wrap {
    position: relative;
    line-height: 1;
    overflow: hidden;
  }

  #z0-splash-overlay .logo {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(80px, 16vw, 130px);
    font-weight: 400;
    letter-spacing: 0.18em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(190,148,90,0.8);
    opacity: 0;
    animation: z0sp_reveal-logo 2s cubic-bezier(0.16, 1, 0.3, 1) 1.8s forwards;
    display: block;
  }

  #z0-splash-overlay .logo-fill {
    position: absolute;
    inset: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(80px, 16vw, 130px);
    font-weight: 400;
    letter-spacing: 0.18em;
    color: #BE945A;
    clip-path: inset(100% 0 0 0);
    animation: z0sp_fill-logo 2.8s cubic-bezier(0.16, 1, 0.3, 1) 2.4s forwards;
    display: block;
  }

  @keyframes z0sp_reveal-logo {
    to { opacity: 1; }
  }

  @keyframes z0sp_fill-logo {
    to { clip-path: inset(0% 0 0 0); }
  }

  #z0-splash-overlay .dot-divider {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #BE945A;
    margin: 26px 0;
    opacity: 0;
    transform: scale(0);
    animation: z0sp_pop-dot 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 3.4s forwards;
  }

  @keyframes z0sp_pop-dot {
    to { opacity: 1; transform: scale(1); }
  }

  #z0-splash-overlay .tagline {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(13px, 2vw, 17px);
    letter-spacing: 0.18em;
    color: rgba(190,148,90,0.7);
    font-style: italic;
    opacity: 0;
    transform: translateY(8px);
    animation: z0sp_rise 1.4s cubic-bezier(0.16, 1, 0.3, 1) 3.7s forwards;
  }

  #z0-splash-overlay .sub-tagline {
    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 8px;
    letter-spacing: 5px;
    color: rgba(190,148,90,0.35);
    text-transform: uppercase;
    margin-top: 20px;
    opacity: 0;
    animation: z0sp_rise 1s ease 4.8s forwards;
  }

  #z0-splash-overlay a.cta {
    display: inline-block;
    margin-top: 52px;
    padding: 15px 52px;
    border: 1px solid rgba(190,148,90,0.35);
    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 8px;
    letter-spacing: 5px;
    color: rgba(190,148,90,0.65);
    text-transform: uppercase;
    cursor: pointer;
    background: transparent;
    opacity: 0;
    transform: translateY(12px);
    animation: z0sp_rise 1.2s cubic-bezier(0.16, 1, 0.3, 1) 5.3s forwards;
    transition: background 0.5s, color 0.5s, border-color 0.5s;
    position: relative;
    overflow: hidden;
    text-decoration: none;
  }

  #z0-splash-overlay a.cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #BE945A;
    transform: translateX(-101%);
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: -1;
  }

  #z0-splash-overlay a.cta:hover::before { transform: translateX(0); }
  #z0-splash-overlay a.cta:hover { color: #0d0b09; border-color: #BE945A; }

  @keyframes z0sp_rise {
    to { opacity: 1; transform: translateY(0); }
  }

  #z0-splash-overlay .particles {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }

  #z0-splash-overlay .particle {
    position: absolute;
    border-radius: 50%;
    background: rgba(190,148,90,0.55);
    animation: z0sp_float-particle linear infinite;
  }

  @keyframes z0sp_float-particle {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 0.5; }
    100% { transform: translateY(-90px) translateX(var(--dx)); opacity: 0; }
  }

  #z0-splash-overlay .atmo {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(190,148,90,0.04);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    animation: z0sp_breathe 9s ease-in-out infinite;
  }

  @keyframes z0sp_breathe {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.4; }
    50% { transform: translate(-50%, -50%) scale(1.04); opacity: 1; }
  }

  #z0-splash-overlay a.location {
    display: block;
  }
  #z0-splash-overlay .location {
    position: absolute;
    bottom: 44px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
    font-size: 7px;
    letter-spacing: 4px;
    color: rgba(190,148,90,0.28);
    text-transform: uppercase;
    opacity: 0;
    animation: z0sp_rise 1s ease 6s forwards;
    z-index: 10;
    white-space: nowrap;
  }

  #z0-splash-overlay .scroll-hint {
    position: absolute;
    bottom: 30px;
    right: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: 0;
    animation: z0sp_rise 1s ease 6.5s forwards;
    z-index: 10;
  }

  #z0-splash-overlay .scroll-hint span {
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
    font-size: 7px;
    letter-spacing: 3px;
    color: rgba(190,148,90,0.22);
    text-transform: uppercase;
    writing-mode: vertical-rl;
  }

  #z0-splash-overlay .scroll-line {
    width: 1px;
    height: 44px;
    background: linear-gradient(180deg, rgba(190,148,90,0.35), transparent);
    animation: z0sp_pulse-line 2.5s ease-in-out 7s infinite;
  }

  @keyframes z0sp_pulse-line {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
  }

  #z0-splash-overlay .replay-btn {
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 20;
    background: transparent;
    border: 1px solid rgba(190,148,90,0.18);
    color: rgba(190,148,90,0.35);
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
    font-size: 7px;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 8px 16px;
    cursor: pointer;
    transition: all 0.3s;
    opacity: 0;
    animation: z0sp_rise 1s ease 7s forwards;
  }
  #z0-splash-overlay .replay-btn:hover { border-color: rgba(190,148,90,0.55); color: rgba(190,148,90,0.75); }

  #z0-splash-overlay .estate-tag {
    position: absolute;
    top: 32px;
    left: 32px;
    z-index: 10;
    opacity: 0;
    animation: z0sp_rise 1s ease 6.8s forwards;
  }
  #z0-splash-overlay .estate-tag span {
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
    font-size: 7px;
    letter-spacing: 3px;
    color: rgba(190,148,90,0.3);
    text-transform: uppercase;
  }
html.z0-no-splash #z0-splash-overlay{display:none!important}
html.z0-no-splash #z0-splash-skip{display:none!important}
html.z0-splash-lock .dot,html.z0-splash-lock .ring{display:none!important}
#z0-splash-overlay.z0-splash-root{position:fixed;inset:0;z-index:100000;box-sizing:border-box}
#z0-splash-skip{position:fixed;top:12px;left:12px;z-index:100001;padding:8px 12px;font:11px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgba(190,148,90,.9);background:rgba(13,11,9,.75);border:1px solid rgba(190,148,90,.25);text-decoration:none;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
#z0-splash-skip:focus{clip:auto;width:auto;height:auto;outline:2px solid #BE945A}
