:root {
        --cream: #f2f2e8;
        --ink: #1c1716;
        --wine: #5e2120;
        --green: #b3c0a4;
        --marengo: #505168;
        --gold: #c9a46a;
        --white: #fff;
        --line: rgba(28, 23, 22, 0.14);
        --shadow: 0 30px 80px rgba(16, 13, 12, 0.16);
        --serif: "Cormorant Garamond", Georgia, serif;
        --sans: "Manrope", Arial, sans-serif;
      }
      html[lang="hy"] {
        --serif: "Noto Serif Armenian", serif;
        --sans: "Noto Sans Armenian", Arial, sans-serif;
      }
      * {
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        margin: 0;
        background: var(--cream);
        color: var(--ink);
        font-family: var(--sans);
        overflow-x: hidden;
      }
      body.modal-open {
        overflow: hidden;
      }
      a {
        text-decoration: none;
        color: inherit;
      }
      button,
      input,
      select,
      textarea {
        font: inherit;
      }
      img {
        display: block;
        max-width: 100%;
      }
      .wrap {
        width: min(1220px, calc(100% - 48px));
        margin: auto;
      }
      .section {
        padding: 108px 0;
      }
      .eyebrow {
        font-size: 12px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--wine);
      }
      h1,
      h2,
      h3,
      p {
        margin-top: 0;
      }
      h1,
      h2,
      h3 {
        font-family: var(--serif);
        font-weight: 600;
      }
      h1 {
        font-size: clamp(62px, 7.6vw, 112px);
        letter-spacing: -0.045em;
        line-height: 0.82;
        margin-bottom: 28px;
      }
      h2 {
        font-size: clamp(44px, 5.2vw, 76px);
        letter-spacing: -0.035em;
        line-height: 0.94;
        margin-bottom: 24px;
      }
      h3 {
        font-size: 30px;
        line-height: 1.02;
        margin-bottom: 12px;
      }
      .lead {
        font-size: clamp(18px, 1.8vw, 24px);
        line-height: 1.58;
        color: rgba(28, 23, 22, 0.7);
      }
      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 54px;
        padding: 0 25px;
        border: 1px solid transparent;
        border-radius: 999px;
        font-weight: 700;
        cursor: pointer;
        transition: 0.25s ease;
      }
      .btn:hover {
        transform: translateY(-2px);
      }
      .btn.wine {
        background: var(--wine);
        color: var(--cream);
        box-shadow: 0 14px 34px rgba(94, 33, 32, 0.25);
      }
      .btn.cream {
        background: var(--cream);
        color: var(--ink);
      }
      .btn.ghost {
        border-color: rgba(242, 242, 232, 0.42);
        color: var(--cream);
        backdrop-filter: blur(12px);
        background: rgba(242, 242, 232, 0.07);
      }
      .btn.outline {
        border-color: var(--line);
        color: var(--ink);
        background: transparent;
      }
      .arrow {
        font-size: 20px;
      }
      .header {
        position: absolute;
        z-index: 30;
        top: 0;
        left: 0;
        width: 100%;
        padding: 18px 0;
      }
      .header.fixed {
        position: fixed;
        background: rgba(28, 23, 22, 0.82);
        backdrop-filter: blur(18px);
        animation: down 0.3s ease;
      }
      @keyframes down {
        from {
          transform: translateY(-100%);
        }
        to {
          transform: none;
        }
      }
      .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 22px;
      }
      .logo-shell {
        width: 190px;
        padding: 8px 12px;
        border-radius: 18px;
        background: rgba(242, 242, 232, 0.18);
        border: 1px solid rgba(255, 255, 255, 0.25);
        backdrop-filter: blur(10px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      }
      .logo {
        width: 100%;
        height: auto;
        filter: drop-shadow(0 2px 9px rgba(255, 255, 255, 0.55));
      }
      .nav {
        display: flex;
        gap: 24px;
        color: var(--cream);
        font-size: 13px;
        font-weight: 700;
      }
      .nav a {
        opacity: 0.78;
      }
      .nav a:hover {
        opacity: 1;
      }
      .head-actions {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .langs {
        display: flex;
        border: 1px solid rgba(242, 242, 232, 0.28);
        border-radius: 999px;
        padding: 3px;
      }
      .langs button {
        background: none;
        border: 0;
        color: var(--cream);
        padding: 8px 10px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
      }
      .langs button.active {
        background: var(--cream);
        color: var(--ink);
      }
      .menu-btn {
        display: none;
        border: 0;
        background: none;
        color: var(--cream);
        font-size: 26px;
      }
      .mobile-panel {
        display: none;
      }
      .hero {
        position: relative;
        min-height: 100svh;
        background-image:
          linear-gradient(
            90deg,
            rgba(20, 16, 15, 0.8) 0%,
            rgba(20, 16, 15, 0.44) 48%,
            rgba(20, 16, 15, 0.1) 100%
          ),
          linear-gradient(
            0deg,
            rgba(20, 16, 15, 0.56),
            rgba(20, 16, 15, 0.04) 60%
          ),
          url("assets/hero.jpg");
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        color: var(--cream);
        overflow: hidden;
        padding: 135px 0 58px;
      }
      .hero:after {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(
          circle at 82% 14%,
          rgba(255, 255, 255, 0.18),
          transparent 35%
        );
      }
      .hero-grid {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(330px, 420px);
        gap: 50px;
        align-items: start;
      }
      .hero-copy {
        padding-top: 70px;
        max-width: 790px;
      }
      .hero .eyebrow {
        color: var(--cream);
        opacity: 0.86;
        margin-bottom: 24px;
      }
      .hero p {
        max-width: 720px;
        font-size: clamp(18px, 1.7vw, 24px);
        line-height: 1.55;
        color: rgba(242, 242, 232, 0.88);
      }
      .micro {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 20px;
        padding: 11px 15px;
        border-radius: 999px;
        border: 1px solid rgba(242, 242, 232, 0.22);
        background: rgba(242, 242, 232, 0.08);
        backdrop-filter: blur(12px);
        font-size: 13px;
      }
      .hero-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 28px;
      }
      .hero-card {
        align-self: start;
        margin-top: 82px;
        padding: 16px;
        border-radius: 28px;
        border: 1px solid rgba(242, 242, 232, 0.24);
        background: linear-gradient(
          180deg,
          rgba(242, 242, 232, 0.18),
          rgba(242, 242, 232, 0.08)
        );
        backdrop-filter: blur(18px);
        box-shadow: 0 26px 60px rgba(0, 0, 0, 0.2);
      }
      .hero-card-title {
        padding: 8px 12px 12px;
        font-size: 11px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: rgba(242, 242, 232, 0.64);
      }
      .hero-stat {
        padding: 20px;
        border-radius: 18px;
        background: rgba(28, 23, 22, 0.28);
        border: 1px solid rgba(242, 242, 232, 0.17);
        font-family: var(--serif);
        font-size: 28px;
        font-weight: 600;
        margin-top: 10px;
      }
      .scroll-hint {
        position: absolute;
        right: 32px;
        bottom: 48px;
        z-index: 4;
        writing-mode: vertical-rl;
        font-size: 11px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgba(242, 242, 232, 0.68);
      }
      .loader {
        position: fixed;
        inset: 0;
        z-index: 100;
        background: #120c0c;
        display: grid;
        place-items: center;
        transition: 0.65s;
      }
      .loader.hidden {
        opacity: 0;
        visibility: hidden;
      }
      .loader-inner {
        width: 210px;
        height: 210px;
        position: relative;
        display: grid;
        place-items: center;
      }
      .loader-inner img {
        width: 80px;
        filter: invert(1);
      }
      .loader-ring {
        position: absolute;
        inset: 0;
        animation: spin 12s linear infinite;
      }
      @keyframes spin {
        to {
          transform: rotate(360deg);
        }
      }
      .split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 54px;
        align-items: center;
      }
      .photo-pair {
        display: grid;
        grid-template-columns: 0.8fr 1.2fr;
        gap: 18px;
        align-items: end;
      }
      .photo-pair img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 26px;
        box-shadow: var(--shadow);
      }
      .photo-pair img:first-child {
        height: 440px;
        transform: translateY(30px);
      }
      .photo-pair img:last-child {
        height: 590px;
      }
      .quote {
        margin-top: 28px;
        padding: 22px 26px;
        border-left: 3px solid var(--gold);
        background: #fff;
        border-radius: 18px;
        box-shadow: 0 16px 30px rgba(0, 0, 0, 0.05);
        font-family: var(--serif);
        font-size: 30px;
        line-height: 1.2;
      }
      .calm {
        background: var(--ink);
        color: var(--cream);
      }
      .calm .eyebrow {
        color: var(--gold);
      }
      .calm .lead {
        color: rgba(242, 242, 232, 0.72);
      }
      .guarantees {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        margin-top: 38px;
      }
      .guarantee {
        padding: 26px;
        border-radius: 24px;
        background: rgba(242, 242, 232, 0.06);
        border: 1px solid rgba(242, 242, 232, 0.12);
      }
      .guarantee h3 {
        font-size: 27px;
      }
      .guarantee p {
        color: rgba(242, 242, 232, 0.68);
      }
      .benefit-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 14px;
        margin-top: 36px;
      }
      .benefit {
        padding: 26px;
        border-radius: 24px;
        background: #fff;
        border: 1px solid var(--line);
        box-shadow: 0 16px 34px rgba(20, 16, 15, 0.05);
      }
      .benefit b {
        display: block;
        color: var(--wine);
        font-family: var(--serif);
        font-size: 34px;
        margin-bottom: 12px;
      }
      .benefit p {
        line-height: 1.62;
        color: rgba(28, 23, 22, 0.7);
      }
      .hall {
        background: #ece6db;
      }
      .hall-head {
        display: grid;
        grid-template-columns: 1.05fr 0.95fr;
        gap: 60px;
        align-items: end;
        margin-bottom: 46px;
      }
      .hall-gallery {
        display: grid;
        grid-template-columns: 1.35fr 0.65fr;
        gap: 16px;
      }
      .hall-main {
        height: 660px;
        border-radius: 28px;
        overflow: hidden;
        position: relative;
      }
      .hall-main img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .hall-side {
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 16px;
      }
      .hall-side img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 28px;
      }
      .hall-cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-top: 18px;
      }
      .hall-card {
        padding: 24px;
        border-radius: 22px;
        background: var(--cream);
        border: 1px solid var(--line);
      }
      .hall-card p {
        color: rgba(28, 23, 22, 0.66);
      }
      .menu-section {
        background: var(--cream);
      }
      .menu-layout {
        display: grid;
        grid-template-columns: 0.92fr 1.08fr;
        gap: 24px;
        align-items: stretch;
      }
      .menu-copy {
        padding: 38px;
        border-radius: 28px;
        background: #fff;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }
      .menu-tags {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        margin: 24px 0 28px;
      }
      .tag {
        padding: 11px 14px;
        border-radius: 999px;
        background: #f4eee5;
        border: 1px solid rgba(201, 164, 106, 0.34);
        font-size: 13px;
      }
      .menu-photo {
        position: relative;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        min-height: 620px;
      }
      .menu-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .menu-badge {
        position: absolute;
        left: 22px;
        bottom: 22px;
        padding: 15px 18px;
        border-radius: 18px;
        background: rgba(242, 242, 232, 0.88);
        backdrop-filter: blur(12px);
        font-weight: 700;
      }
      .gallery-section {
        background: #15100f;
        color: var(--cream);
      }
      .gallery-section .eyebrow {
        color: var(--gold);
      }
      .gallery-section .lead {
        color: rgba(242, 242, 232, 0.7);
      }
      .gallery-grid {
        display: grid;
        grid-template-columns: 1.2fr 0.8fr 0.8fr;
        grid-template-rows: 270px 270px;
        gap: 15px;
        margin-top: 36px;
      }
      .gallery-item {
        position: relative;
        overflow: hidden;
        border-radius: 24px;
        cursor: zoom-in;
        background: #2a2220;
      }
      .gallery-item.big {
        grid-row: span 2;
      }
      .gallery-item img,
      .gallery-item video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: 0.45s ease;
      }
      .gallery-item:hover img {
        transform: scale(1.035);
      }
      .gallery-item.video:after {
        content: "";
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        font-size: 42px;
        color: #fff;
        text-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
        pointer-events: none;
      }
      .review-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        align-items: center;
      }
      .review-card {
        padding: 36px;
        border-radius: 28px;
        background: linear-gradient(145deg, #fff, #f4eee5);
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }
      .review-placeholder {
        font-family: var(--serif);
        font-size: 30px;
        line-height: 1.22;
        margin: 28px 0;
      }
      .review-meta {
        font-size: 13px;
        color: rgba(28, 23, 22, 0.55);
      }
      .quiz {
        background: linear-gradient(180deg, #f8f4ed, #e9e1d4);
      }
      .quiz-card {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 35px;
        align-items: center;
        padding: 44px;
        border-radius: 32px;
        background: var(--wine);
        color: var(--cream);
        box-shadow: 0 26px 60px rgba(94, 33, 32, 0.2);
      }
      .quiz-card .eyebrow {
        color: var(--gold);
      }
      .quiz-card .lead {
        color: rgba(242, 242, 232, 0.78);
      }
      .location-card {
        display: grid;
        grid-template-columns: 0.9fr 1.1fr;
        border-radius: 30px;
        overflow: hidden;
        background: #fff;
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }
      .location-copy {
        padding: 48px;
      }
      .location-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 28px;
      }
      .map {
        min-height: 480px;
        border: 0;
        width: 100%;
      }
      .final {
        padding: 80px 0;
        background: var(--ink);
        color: var(--cream);
      }
      .final-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
      }
      .final h2 {
        margin-bottom: 8px;
      }
      .footer {
        padding: 42px 0;
        background: #0f0a0a;
        color: rgba(242, 242, 232, 0.72);
      }
      .footer-row {
        display: flex;
        justify-content: space-between;
        gap: 25px;
        align-items: center;
      }
      .footer-logo {
        width: 160px;
        filter: invert(1);
      }
      .modal {
        position: fixed;
        inset: 0;
        z-index: 80;
        background: rgba(15, 10, 10, 0.82);
        backdrop-filter: blur(14px);
        display: grid;
        place-items: center;
        padding: 22px;
        opacity: 0;
        visibility: hidden;
        transition: 0.25s;
      }
      .modal.open {
        opacity: 1;
        visibility: visible;
      }
      .modal-card {
        position: relative;
        width: min(760px, 100%);
        max-height: 92vh;
        overflow: auto;
        background: var(--cream);
        border-radius: 30px;
        padding: 48px 58px;
        box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
      }
      .modal-close {
        position: absolute;
        right: 18px;
        top: 18px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid var(--line);
        background: #fff;
        font-size: 22px;
        cursor: pointer;
      }
      .modal h2 {
        font-size: 52px;
        margin-bottom: 28px;
      }
      .form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .field {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .field.full {
        grid-column: 1/-1;
      }
      .field label {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 700;
      }
      .field input,
      .field select,
      .field textarea {
        width: 100%;
        padding: 16px 18px;
        border-radius: 16px;
        border: 1px solid rgba(28, 23, 22, 0.17);
        background: #fff;
      }
      .field textarea {
        min-height: 100px;
        resize: vertical;
      }
      .form-note {
        font-size: 12px;
        color: rgba(28, 23, 22, 0.45);
        margin: 14px 0 0;
      }
      .modal .btn {
        width: 100%;
        margin-top: 18px;
      }
      .lightbox {
        position: fixed;
        inset: 0;
        z-index: 90;
        background: rgba(10, 7, 7, 0.88);
        display: grid;
        place-items: center;
        opacity: 0;
        visibility: hidden;
        transition: 0.25s;
        padding: 24px;
      }
      .lightbox.open {
        opacity: 1;
        visibility: visible;
      }
      .lightbox img {
        max-width: min(92vw, 1200px);
        max-height: 88vh;
        border-radius: 20px;
      }
      .lightbox button {
        position: absolute;
        right: 22px;
        top: 18px;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        border: 0;
        background: rgba(255, 255, 255, 0.15);
        color: #fff;
        font-size: 22px;
        cursor: pointer;
      }
      @media (max-width: 1050px) {
        .nav,
        .head-actions > .btn {
          display: none;
        }
        .menu-btn {
          display: block;
        }
        .mobile-panel {
          position: fixed;
          z-index: 70;
          display: flex;
          flex-direction: column;
          gap: 12px;
          top: 80px;
          left: 18px;
          right: 18px;
          padding: 20px;
          border-radius: 24px;
          background: rgba(28, 23, 22, 0.95);
          color: var(--cream);
          opacity: 0;
          pointer-events: none;
          transform: translateY(-12px);
          transition: 0.2s;
        }
        .mobile-panel.open {
          opacity: 1;
          pointer-events: auto;
          transform: none;
        }
        .hero-grid,
        .split,
        .hall-head,
        .menu-layout,
        .review-layout,
        .location-card {
          grid-template-columns: 1fr;
        }
        .hero-copy {
          padding-top: 40px;
        }
        .hero-card {
          margin-top: 0;
          max-width: 560px;
        }
        .guarantees {
          grid-template-columns: 1fr 1fr;
        }
        .benefit-grid {
          grid-template-columns: 1fr 1fr;
        }
        .hall-gallery {
          grid-template-columns: 1fr;
        }
        .hall-side {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: none;
        }
        .hall-side img {
          height: 280px;
        }
        .gallery-grid {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 250px 250px 250px;
        }
        .gallery-item.big {
          grid-column: span 2;
          grid-row: span 1;
        }
        .quiz-card {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 700px) {
        .wrap {
          width: min(100% - 28px, 1220px);
        }
        .section {
          padding: 76px 0;
        }
        .logo-shell {
          width: 150px;
        }
        .hero {
          padding-top: 110px;
          align-items: flex-end;
        }
        .hero-copy {
          padding-top: 0;
        }
        h1 {
          font-size: 48px;
          line-height: 0.9;
        }
        h2 {
          font-size: 38px;
        }
        .hero-card {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 8px;
          padding: 10px;
        }
        .hero-card-title {
          grid-column: 1/-1;
        }
        .hero-stat {
          font-size: 20px;
          margin: 0;
          padding: 16px;
        }
        .guarantees,
        .benefit-grid,
        .hall-cards,
        .form-grid {
          grid-template-columns: 1fr;
        }
        .photo-pair {
          grid-template-columns: 1fr 1fr;
        }
        .photo-pair img:first-child {
          height: 300px;
          transform: none;
        }
        .photo-pair img:last-child {
          height: 380px;
        }
        .hall-main {
          height: 430px;
        }
        .hall-side {
          grid-template-columns: 1fr;
        }
        .gallery-grid {
          grid-template-columns: 1fr;
          grid-template-rows: none;
        }
        .gallery-item,
        .gallery-item.big {
          height: 300px;
          grid-column: auto;
          grid-row: auto;
        }
        .quiz-card {
          padding: 28px;
        }
        .location-copy {
          padding: 32px;
        }
        .final-inner,
        .footer-row {
          flex-direction: column;
          align-items: flex-start;
        }
        .modal-card {
          padding: 42px 24px 28px;
        }
        .modal h2 {
          font-size: 42px;
        }
        .field.full {
          grid-column: auto;
        }
      }

      .review-card-stack {
        display: grid;
        gap: 18px;
      }
      .review-item .review-quote {
        font-family: var(--serif);
        font-size: 24px;
        line-height: 1.34;
        margin: 0 0 12px;
      }
      .review-item .review-meta {
        font-size: 14px;
        color: rgba(28, 23, 22, 0.62);
        font-weight: 600;
      }
      .footer-copy {
        max-width: 520px;
      }
      .socials {
        display: flex;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
      }
      .social-link {
        width: 46px;
        height: 46px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.18);
        background: rgba(255, 255, 255, 0.04);
        color: #f2f2e8;
        transition:
          transform 0.2s ease,
          background 0.2s ease,
          border-color 0.2s ease;
      }
      .social-link:hover {
        transform: translateY(-2px);
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.28);
      }
      .social-link svg {
        width: 20px;
        height: 20px;
        display: block;
        fill: currentColor;
      }
      @media (max-width: 1050px) {
        .review-card-stack {
          grid-template-columns: 1fr;
        }
        .socials {
          margin-top: 8px;
        }
      }

      /* v11: concise conversion-focused layout */
      .cta-glow {
        position: relative;
        box-shadow:
          0 0 0 1px rgba(244, 222, 176, 0.32),
          0 0 26px rgba(222, 176, 93, 0.42),
          0 14px 32px rgba(0, 0, 0, 0.22);
        animation: ctaPulse 2.3s ease-in-out infinite;
      }
      .cta-glow:hover {
        box-shadow:
          0 0 0 2px rgba(244, 222, 176, 0.5),
          0 0 38px rgba(222, 176, 93, 0.62),
          0 18px 38px rgba(0, 0, 0, 0.28);
      }
      @keyframes ctaPulse {
        0%,
        100% {
          transform: translateY(0);
          box-shadow:
            0 0 0 1px rgba(244, 222, 176, 0.28),
            0 0 22px rgba(222, 176, 93, 0.32),
            0 14px 32px rgba(0, 0, 0, 0.22);
        }
        50% {
          transform: translateY(-1px);
          box-shadow:
            0 0 0 1px rgba(244, 222, 176, 0.46),
            0 0 34px rgba(222, 176, 93, 0.58),
            0 18px 38px rgba(0, 0, 0, 0.26);
        }
      }
      .hero-copy p {
        max-width: 680px;
      }
      .calm .wrap {
        display: grid;
        gap: 22px;
      }
      .calm .guarantees {
        margin-top: 0;
      }
      .calm .guarantee {
        min-height: 126px;
        display: flex;
        align-items: center;
        padding: 24px;
      }
      .calm .guarantee h3 {
        margin: 0;
        font-size: 27px;
        line-height: 1.05;
      }
      .calm-cta,
      .hall-cta,
      .gallery-cta {
        margin-top: 24px;
      }
      .about-cta {
        margin-top: 24px;
        display: inline-flex;
      }
      #hall .hall-head .lead {
        max-width: 560px;
      }
      #menu .menu-tags {
        margin: 18px 0 24px;
      }
      #menu .menu-copy .lead {
        max-width: 620px;
      }
      .menu-modal-grid-single {
        display: block !important;
      }
      .menu-single-list {
        columns: 2;
        column-gap: 46px;
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .menu-single-list li {
        break-inside: avoid;
        padding: 11px 0;
        border-bottom: 1px solid rgba(28, 23, 22, 0.1);
        font-size: 18px;
        line-height: 1.4;
      }
      .menu-modal-food {
        display: none !important;
      }
      .contact-readable {
        font-family: Manrope, Arial, sans-serif !important;
        font-weight: 600 !important;
        letter-spacing: -0.035em !important;
        line-height: 1.05 !important;
      }
      .footer-contact {
        display: flex;
        flex-direction: column;
        gap: 3px;
        min-width: 160px;
      }
      .footer-phone-label {
        font-size: 11px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        opacity: 0.56;
      }
      .footer-phone {
        color: #f2f2e8;
        font-weight: 700;
        font-size: 17px;
      }
      #benefits {
        display: none !important;
      }
      @media (max-width: 800px) {
        .menu-single-list {
          columns: 1;
        }
        .calm .guarantee {
          min-height: 90px;
        }
        .calm .guarantee h3 {
          font-size: 23px;
        }
        .footer-contact {
          margin-top: 6px;
        }
      }

      .back-to-top-row {
        display: flex;
        justify-content: flex-end;
        margin-top: 30px;
        padding-top: 22px;
        border-top: 1px solid rgba(242, 242, 232, 0.12);
      }
      .back-to-top {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        color: #f2f2e8;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.01em;
        transition:
          opacity 0.2s ease,
          transform 0.2s ease;
      }
      .back-to-top:hover {
        opacity: 0.78;
        transform: translateY(-2px);
      }
      .back-to-top-arrow {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        border: 1px solid rgba(242, 242, 232, 0.24);
        display: grid;
        place-items: center;
        font-size: 18px;
      }
      @media (max-width: 700px) {
        .back-to-top-row {
          justify-content: flex-start;
        }
      }

      .contact-address {
        font-size: 18px !important;
        line-height: 1.45 !important;
        letter-spacing: -0.01em;
        white-space: nowrap;
        max-width: none !important;
      }
      @media (max-width: 700px) {
        .contact-address {
          font-size: 16px !important;
          white-space: normal;
        }
      }

      /* v16: exact Lori Peak menu PDFs embedded as page images */
      .menu-modal-dialog {
        width: min(900px, 95vw);
      }
      .menu-modal-head {
        padding-bottom: 16px;
      }
      .menu-pdf-pages {
        display: flex;
        flex-direction: column;
        gap: 22px;
        align-items: center;
      }
      .menu-pdf-page {
        width: min(100%, 760px);
        height: auto;
        border-radius: 14px;
        box-shadow: 0 16px 45px rgba(28, 23, 22, 0.14);
        background: #f7f3ea;
        border: 1px solid rgba(28, 23, 22, 0.1);
      }
      .menu-modal-scroll {
        background: #e9e4da;
        padding-top: 28px;
      }
      @media (max-width: 700px) {
        .menu-pdf-page {
          border-radius: 8px;
        }
        .menu-modal-scroll {
          padding: 14px 12px 28px;
        }
        .menu-modal-head {
          padding-left: 22px;
          padding-right: 70px;
        }
      }

      .privacy-consent {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 14px 0 16px;
        padding: 12px 14px;
        border-radius: 14px;
        background: rgba(94, 33, 32, 0.055);
        border: 1px solid rgba(94, 33, 32, 0.12);
        color: rgba(28, 23, 22, 0.72);
        font-size: 12px;
        line-height: 1.45;
        cursor: pointer;
      }
      .privacy-consent input {
        width: 16px;
        height: 16px;
        margin-top: 2px;
        accent-color: var(--wine);
        flex: 0 0 auto;
      }
      .venue-extras {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin-top: 14px;
      }
      .venue-extra {
        display: flex;
        gap: 0;
        align-items: flex-start;
        padding: 22px 24px;
        border-radius: 22px;
        background: linear-gradient(145deg, #fff, #f5efe6);
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
      }
      .venue-extra-num {
        color: var(--gold);
        font-family: var(--serif);
        font-size: 28px;
        line-height: 1;
        flex: 0 0 auto;
      }
      .venue-extra h3 {
        margin: 0 0 6px;
        font-size: 23px;
        line-height: 1.05;
      }
      .venue-extra p {
        margin: 0;
        color: rgba(28, 23, 22, 0.62);
        font-size: 14px;
        line-height: 1.45;
      }
      @media (max-width: 700px) {
        .venue-extras {
          grid-template-columns: 1fr;
        }
        .venue-extra {
          padding: 19px 20px;
        }
      }

.hero-card-title:empty {
        display: none;
      }
      .hero-card {
        padding-top: 18px;
      }
      .hall-gallery-balanced {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .hall-gallery-balanced .hall-shot {
        margin: 0;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        background: #eee7db;
        min-height: 320px;
      }
      .hall-gallery-balanced .hall-shot img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
      }
      .menu-layout-updated {
        grid-template-columns: 0.98fr 1.02fr;
        align-items: start;
      }
      .menu-copy-expanded {
        padding-bottom: 30px;
      }
      .menu-categories {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-top: 8px;
      }
      .menu-block {
        padding: 18px 18px 16px;
        border-radius: 22px;
        background: #f8f5ee;
        border: 1px solid var(--line);
      }
      .menu-block h3 {
        margin: 0 0 10px;
        font-family: var(--serif);
        font-size: 24px;
        line-height: 1.05;
      }
      .menu-block ul {
        margin: 0;
        padding-left: 18px;
        color: var(--ink);
      }
      .menu-block li {
        margin: 0 0 7px;
        line-height: 1.45;
        color: rgba(28, 23, 22, 0.82);
      }
      .menu-actions {
        margin-top: 24px;
      }
      .menu-visuals {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .menu-visual {
        margin: 0;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        background: #eee7db;
        min-height: 260px;
      }
      .menu-visual img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
      }
      @media (max-width: 1050px) {
        .hall-gallery-balanced,
        .menu-visuals,
        .menu-categories {
          grid-template-columns: 1fr;
        }
        .hall-gallery-balanced .hall-shot,
        .menu-visual {
          min-height: 280px;
        }
      }

/* v6 refinements */
      .hero-card {
        padding-top: 18px;
      }
      .hall-carousel-wrap {
        position: relative;
        margin-top: 32px;
      }
      .hall-carousel {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 2px 2px 10px;
      }
      .hall-carousel::-webkit-scrollbar {
        display: none;
      }
      .hall-slide {
        flex: 0 0 min(760px, 72vw);
        height: 480px;
        margin: 0;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        scroll-snap-align: start;
        background: #e9e1d5;
      }
      .hall-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.45s ease;
      }
      .hall-slide:hover img {
        transform: scale(1.02);
      }
      .hall-arrow {
        position: absolute;
        top: 50%;
        z-index: 5;
        transform: translateY(-50%);
        width: 52px;
        height: 52px;
        border-radius: 50%;
        border: 1px solid rgba(28, 23, 22, 0.13);
        background: rgba(242, 242, 232, 0.9);
        backdrop-filter: blur(10px);
        color: var(--ink);
        font-size: 34px;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        opacity: 0.88;
        transition: 0.2s;
      }
      .hall-arrow:hover {
        opacity: 1;
        transform: translateY(-50%) scale(1.05);
      }
      .hall-prev {
        left: -18px;
      }
      .hall-next {
        right: -18px;
      }
      .menu-layout-updated {
        align-items: start;
      }
      .menu-copy-expanded {
        position: sticky;
        top: 96px;
      }
      .menu-actions {
        margin-top: 28px;
      }
      .menu-visuals {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .menu-visual {
        min-height: 260px;
      }
      .map-preview {
        position: relative;
        display: block;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        min-height: 390px;
        background: #e8e7df;
      }
      .map-preview img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 390px;
        object-fit: cover;
      }
      .map-preview-badge {
        position: absolute;
        right: 18px;
        bottom: 18px;
        padding: 13px 17px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.92);
        color: var(--ink);
        font-weight: 700;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
      }
      .menu-modal {
        position: fixed;
        inset: 0;
        z-index: 120;
        background: rgba(15, 10, 9, 0.78);
        backdrop-filter: blur(10px);
        display: grid;
        place-items: center;
        padding: 24px;
        opacity: 0;
        visibility: hidden;
        transition: 0.25s;
      }
      .menu-modal.open {
        opacity: 1;
        visibility: visible;
      }
      .menu-modal-dialog {
        position: relative;
        width: min(980px, 94vw);
        max-height: 90vh;
        background: var(--cream);
        border-radius: 30px;
        box-shadow: 0 35px 90px rgba(0, 0, 0, 0.32);
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      .menu-modal-close {
        position: absolute;
        right: 22px;
        top: 20px;
        z-index: 3;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        border: 1px solid var(--line);
        background: #fff;
        color: var(--ink);
        font-size: 26px;
        cursor: pointer;
      }
      .menu-modal-head {
        padding: 46px 58px 22px;
        padding-right: 90px;
        border-bottom: 1px solid var(--line);
      }
      .menu-modal-head h2 {
        font-size: clamp(38px, 5vw, 62px);
        margin-bottom: 12px;
      }
      .menu-modal-head .lead {
        font-size: 17px;
      }
      .menu-modal-scroll {
        overflow-y: auto;
        padding: 26px 58px 54px;
      }
      .menu-modal-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .menu-modal-block {
        padding: 22px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid var(--line);
      }
      .menu-modal-block h3 {
        margin: 0 0 12px;
        font-family: var(--serif);
        font-size: 28px;
        line-height: 1.05;
      }
      .menu-modal-block ul {
        margin: 0;
        padding-left: 20px;
      }
      .menu-modal-block li {
        margin: 7px 0;
        line-height: 1.45;
      }
      .menu-modal-food {
        margin-top: 30px;
      }
      .menu-modal-food-title {
        font-family: var(--serif);
        font-size: 30px;
        margin-bottom: 16px;
      }
      .menu-modal-food-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
      }
      .menu-modal-food-grid img {
        width: 100%;
        height: 280px;
        object-fit: cover;
        border-radius: 22px;
      }
      @media (max-width: 1050px) {
        .menu-copy-expanded {
          position: static;
        }
        .hall-slide {
          flex-basis: 88vw;
          height: 390px;
        }
        .hall-prev {
          left: 8px;
        }
        .hall-next {
          right: 8px;
        }
        .menu-modal-grid,
        .menu-modal-food-grid {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 700px) {
        .hall-slide {
          height: 300px;
        }
        .menu-modal {
          padding: 10px;
        }
        .menu-modal-dialog {
          width: 100%;
          max-height: 94vh;
          border-radius: 24px;
        }
        .menu-modal-head {
          padding: 34px 24px 18px;
          padding-right: 74px;
        }
        .menu-modal-scroll {
          padding: 20px 24px 34px;
        }
        .menu-modal-food-grid img {
          height: 230px;
        }
        .map-preview,
        .map-preview img {
          min-height: 290px;
        }
      }

.map-live {
        position: relative;
        min-height: 430px;
        border-radius: 28px;
        overflow: hidden;
        box-shadow: var(--shadow);
        background: #e9e5dc;
        border: 1px solid var(--line);
      }
      .map-live iframe {
        display: block;
        width: 100%;
        height: 430px;
        border: 0;
        filter: saturate(0.92) contrast(1.02);
      }
      .map-open-live {
        position: absolute;
        right: 18px;
        bottom: 18px;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 13px 17px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.94);
        color: var(--ink);
        font-weight: 700;
        box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16);
        backdrop-filter: blur(10px);
      }
      .map-open-live:hover {
        transform: translateY(-2px);
      }
      @media (max-width: 700px) {
        .map-live,
        .map-live iframe {
          min-height: 330px;
          height: 330px;
        }
        .map-open-live {
          left: 16px;
          right: auto;
          bottom: 16px;
        }
      }

/* v9 map: fill the entire right side of the contact card */
      .location-card {
        align-items: stretch;
      }
      .map-live {
        position: relative;
        height: 100%;
        min-height: 100%;
        border-radius: 0;
        border: 0;
        box-shadow: none;
        background: #e9e5dc;
        overflow: hidden;
      }
      .map-live iframe {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        min-height: 100%;
        border: 0;
        filter: saturate(0.95) contrast(1.03);
      }
      .map-open-live {
        z-index: 2;
      }
      /* Reviews */
      .review-card-stack {
        display: grid;
        gap: 16px;
      }
      .review-item {
        padding: 28px 30px;
      }
      .review-item .review-quote {
        font-family: var(--serif);
        font-size: 22px;
        line-height: 1.45;
        margin: 0 0 16px;
        color: var(--ink);
      }
      .review-item .review-meta {
        font-size: 13px;
        color: rgba(28, 23, 22, 0.6);
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        align-items: center;
      }
      .review-source {
        text-decoration: underline;
        text-underline-offset: 3px;
        color: var(--wine);
      }
      .review-source:hover {
        opacity: 0.72;
      }
      @media (max-width: 1050px) {
        .map-live {
          height: 420px;
          min-height: 420px;
          border-radius: 0 0 28px 28px;
        }
        .map-live iframe {
          height: 100%;
          min-height: 100%;
        }
      }
      @media (max-width: 700px) {
        .map-live {
          height: 360px;
          min-height: 360px;
        }
        .map-live iframe {
          height: 100%;
          min-height: 100%;
        }
      }

#hall .hall-head {
        grid-template-columns: 1fr;
        max-width: 760px;
      }
      .event-types-section {
        background: #181312;
        color: var(--cream);
      }
      .event-types-section .event-eyebrow {
        color: var(--gold);
      }
      .event-types-section .event-title {
        max-width: 900px;
        margin-bottom: 34px;
      }
      .event-types {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
      }
      .event-type-card {
        min-height: 150px;
        padding: 24px;
        border-radius: 24px;
        border: 1px solid rgba(242, 242, 232, 0.14);
        background: rgba(242, 242, 232, 0.055);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        transition: 0.22s ease;
      }
      .event-type-card:hover {
        transform: translateY(-3px);
        border-color: rgba(201, 164, 106, 0.55);
        background: rgba(242, 242, 232, 0.08);
      }
      .event-type-card span {
        font-size: 12px;
        letter-spacing: 0.16em;
        color: var(--gold);
        font-weight: 700;
      }
      .event-type-card h3 {
        font-family: var(--serif);
        font-size: 27px;
        line-height: 1.05;
        margin: 18px 0 0;
        color: var(--cream);
        font-weight: 600;
      }
      .event-types-section .calm-cta {
        margin-top: 28px;
      }
      @media (max-width: 900px) {
        .event-types {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 620px) {
        .event-types {
          grid-template-columns: 1fr;
        }
        .event-type-card {
          min-height: 118px;
        }
      }

/* v13 — immersive editorial polish */
      .scroll-progress {
        position: fixed;
        top: 0;
        left: 0;
        height: 2px;
        width: 0;
        background: linear-gradient(90deg, var(--gold), #f6e0b7);
        z-index: 120;
        box-shadow: 0 0 12px rgba(201, 164, 106, 0.75);
        pointer-events: none;
      }
      .contact-readable.contact-editorial {
        font-family:
          "Playfair Display", "Cormorant Garamond", Georgia, serif !important;
        font-weight: 500 !important;
        letter-spacing: -0.045em !important;
        line-height: 0.98 !important;
        max-width: 620px;
      }
      html[lang="hy"] .contact-readable.contact-editorial {
        font-family: "Noto Serif Armenian", serif !important;
        letter-spacing: -0.025em !important;
        line-height: 1.05 !important;
      }
      .experience-strip {
        background: #100c0b;
        color: var(--cream);
        padding: 92px 0 38px;
        overflow: hidden;
      }
      .experience-head {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: end;
        gap: 24px;
        margin-bottom: 34px;
      }
      .experience-head .experience-eyebrow {
        grid-column: 1/-1;
        color: var(--gold);
      }
      .experience-head h2 {
        font-size: clamp(48px, 6vw, 86px);
        max-width: 900px;
        margin: 0;
        color: var(--cream);
        line-height: 0.9;
      }
      .experience-inline-cta {
        align-self: end;
        border: 0;
        background: none;
        color: var(--cream);
        font: 600 14px var(--sans);
        padding: 14px 0;
        border-bottom: 1px solid rgba(242, 242, 232, 0.35);
        display: flex;
        gap: 28px;
        cursor: pointer;
        transition: 0.2s ease;
      }
      .experience-inline-cta:hover {
        color: var(--gold);
        border-color: var(--gold);
      }
      .experience-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
        width: 100%;
        padding: 0 4px;
      }
      .experience-card {
        height: min(62vh, 670px);
        min-height: 460px;
        margin: 0;
        position: relative;
        overflow: hidden;
        background: #201918;
      }
      .experience-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: saturate(0.88) brightness(0.82);
        transition:
          transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
          filter 0.5s ease;
      }
      .experience-card:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          180deg,
          rgba(15, 10, 9, 0.03) 40%,
          rgba(15, 10, 9, 0.72) 100%
        );
      }
      .experience-card:hover img {
        transform: scale(1.045);
        filter: saturate(1) brightness(0.92);
      }
      .experience-overlay {
        position: absolute;
        left: 24px;
        right: 24px;
        bottom: 22px;
        z-index: 2;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 12px;
      }
      .experience-overlay span {
        font: 600 11px var(--sans);
        letter-spacing: 0.18em;
        color: rgba(242, 242, 232, 0.64);
      }
      .experience-overlay strong {
        font: 500 clamp(30px, 3vw, 48px) var(--serif);
        color: #fff;
        line-height: 1;
      }
      html[lang="hy"] .experience-overlay strong {
        font-family: "Noto Serif Armenian", serif;
      }
      .experience-quote {
        padding-top: 34px;
        padding-bottom: 14px;
        display: flex;
        justify-content: flex-end;
      }
      .experience-quote p {
        font: 500 clamp(24px, 2.5vw, 38px) / 1.2 var(--serif);
        max-width: 760px;
        margin: 0;
        text-align: right;
        color: rgba(242, 242, 232, 0.9);
      }
      html[lang="hy"] .experience-quote p {
        font-family: "Noto Serif Armenian", serif;
      }
      .floating-book {
        position: fixed;
        right: 24px;
        bottom: 24px;
        z-index: 58;
        border: 1px solid rgba(255, 255, 255, 0.28);
        background: rgba(94, 33, 32, 0.88);
        color: #fff;
        backdrop-filter: blur(16px);
        box-shadow:
          0 14px 40px rgba(42, 10, 10, 0.28),
          0 0 0 1px rgba(201, 164, 106, 0.12) inset;
        border-radius: 999px;
        padding: 15px 18px 15px 22px;
        display: flex;
        gap: 22px;
        align-items: center;
        font: 700 13px var(--sans);
        cursor: pointer;
        transition:
          transform 0.22s ease,
          box-shadow 0.22s ease,
          background 0.22s ease;
      }
      .floating-book b {
        font-size: 17px;
        font-weight: 500;
      }
      .floating-book:hover {
        transform: translateY(-3px);
        background: rgba(112, 38, 36, 0.96);
        box-shadow:
          0 20px 46px rgba(42, 10, 10, 0.36),
          0 0 24px rgba(201, 164, 106, 0.18);
      }
      /* Taian-like clean reservation hierarchy */
      .header .btn,
      .hero-actions .btn,
      .final .btn {
        letter-spacing: 0.01em;
      }
      .header.fixed {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      }
      .section h2 {
        max-width: 930px;
      }
      @media (max-width: 900px) {
        .experience-head {
          grid-template-columns: 1fr;
        }
        .experience-inline-cta {
          justify-self: start;
        }
        .experience-grid {
          display: flex;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          gap: 8px;
          padding: 0 14px 8px;
        }
        .experience-card {
          flex: 0 0 78vw;
          height: 64vh;
          scroll-snap-align: center;
        }
        .experience-quote p {
          text-align: left;
        }
        .floating-book {
          right: 14px;
          bottom: 14px;
        }
      }
      @media (max-width: 700px) {
        .contact-readable.contact-editorial {
          font-size: 42px !important;
          line-height: 1.02 !important;
        }
        .experience-strip {
          padding-top: 70px;
        }
        .experience-head h2 {
          font-size: 46px;
        }
        .experience-card {
          min-height: 420px;
        }
        .floating-book {
          padding: 13px 15px 13px 18px;
          font-size: 12px;
        }
      }

/* v19 — phone-first conversion for Armenia */
      .hero-phone-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 14px;
        color: var(--cream);
        font-weight: 800;
        font-size: 16px;
        text-decoration: none;
        border-bottom: 1px solid rgba(242, 242, 232, 0.48);
        padding-bottom: 3px;
      }
      .hero-phone-link:hover {
        border-bottom-color: var(--cream);
      }
      .phone-direct {
        white-space: nowrap;
      }
      .phone-direct strong {
        font-weight: 800;
      }
      @media (max-width: 700px) {
        .hero-phone-link {
          font-size: 15px;
        }
        .location-actions .phone-direct {
          width: 100%;
          justify-content: center;
        }
      }

/* =========================================================
   Lori Peak v20 — full-site mobile conversion layer
   Desktop remains unchanged. All rules below <= 700px.
   ========================================================= */
      @media (max-width: 700px) {
        html {
          scroll-padding-top: 82px;
        }
        body {
          padding-bottom: 78px;
          overflow-x: hidden;
        }
        .wrap {
          width: calc(100% - 30px) !important;
        }
        .section {
          padding: 58px 0 !important;
        }
        h1 {
          font-size: clamp(44px, 12.5vw, 58px) !important;
          line-height: 0.92 !important;
          letter-spacing: -0.045em !important;
        }
        h2 {
          font-size: clamp(34px, 9.6vw, 44px) !important;
          line-height: 0.98 !important;
          letter-spacing: -0.035em !important;
        }
        .lead {
          font-size: 16px !important;
          line-height: 1.48 !important;
        }
        .eyebrow {
          font-size: 11px !important;
          letter-spacing: 0.13em !important;
        }
        .btn {
          min-height: 52px !important;
          padding: 14px 17px !important;
          border-radius: 16px !important;
        }

        /* Header: compact, keep language + phone-first CTA */
        .header {
          height: 74px !important;
          padding: 10px 14px !important;
        }
        .header .wrap {
          width: 100% !important;
        }
        .logo-shell {
          width: 126px !important;
        }
        .header.fixed {
          background: rgba(19, 13, 12, 0.92) !important;
          backdrop-filter: blur(18px) !important;
        }
        .head-actions {
          gap: 7px !important;
        }
        .head-actions .phone-direct {
          display: inline-flex !important;
          min-width: 46px !important;
          width: 46px !important;
          height: 46px !important;
          padding: 0 !important;
          border-radius: 999px !important;
          font-size: 0 !important;
        }
        .head-actions .phone-direct:before {
          content: "";
          font-size: 18px;
        }
        .menu-btn {
          width: 46px !important;
          height: 46px !important;
          border-radius: 999px !important;
        }
        .langs {
          transform: scale(0.94);
          transform-origin: right center;
        }

        /* Hero: one clear story, phone first */
        .hero {
          min-height: 720px !important;
          padding-top: 94px !important;
        }
        .hero-grid {
          display: block !important;
        }
        .hero-copy {
          max-width: none !important;
          padding: 0 0 30px !important;
        }
        .hero-copy p {
          max-width: 92% !important;
          font-size: 17px !important;
          line-height: 1.42 !important;
        }
        .hero-actions {
          display: grid !important;
          grid-template-columns: 1fr 1fr !important;
          gap: 9px !important;
          margin-top: 22px !important;
        }
        .hero-actions .btn {
          width: 100% !important;
          justify-content: center !important;
        }
        .hero-phone-link {
          font-size: 14px !important;
          margin-top: 14px !important;
        }
        .hero-card {
          display: grid !important;
          grid-template-columns: repeat(3, 1fr) !important;
          gap: 7px !important;
          padding: 8px !important;
          border-radius: 20px !important;
          max-width: none !important;
          margin-top: 8px !important;
        }
        .hero-card-title {
          display: none !important;
        }
        .hero-stat {
          min-height: 82px !important;
          padding: 12px 8px !important;
          margin: 0 !important;
          font-size: 14px !important;
          line-height: 1.18 !important;
          text-align: center !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
          border-radius: 14px !important;
        }
        .scroll-hint {
          display: none !important;
        }

        /* About: text first, then horizontal image swipe */
        #about .split {
          display: block !important;
        }
        #about .about-cta {
          width: 100% !important;
          justify-content: center !important;
          margin-top: 18px !important;
        }
        .photo-pair {
          display: flex !important;
          overflow-x: auto !important;
          scroll-snap-type: x mandatory !important;
          gap: 10px !important;
          margin-top: 28px !important;
          padding: 0 0 8px !important;
          scrollbar-width: none !important;
        }
        .photo-pair::-webkit-scrollbar {
          display: none;
        }
        .photo-pair img {
          flex: 0 0 86% !important;
          height: 410px !important;
          transform: none !important;
          object-fit: cover !important;
          scroll-snap-align: start !important;
          border-radius: 22px !important;
        }

        /* Experience cards — deliberately swipeable */
        .experience-strip {
          padding: 58px 0 !important;
        }
        .experience-head {
          display: block !important;
          padding-inline: 15px !important;
        }
        .experience-head h2 {
          font-size: 42px !important;
          margin-bottom: 18px !important;
        }
        .experience-inline-cta {
          width: 100% !important;
          justify-content: center !important;
        }
        .experience-grid {
          display: flex !important;
          overflow-x: auto !important;
          scroll-snap-type: x mandatory !important;
          gap: 10px !important;
          padding: 0 15px 10px !important;
          scrollbar-width: none !important;
        }
        .experience-grid::-webkit-scrollbar {
          display: none;
        }
        .experience-card {
          flex: 0 0 82% !important;
          height: 470px !important;
          min-height: 470px !important;
          scroll-snap-align: start !important;
          border-radius: 22px !important;
        }
        .experience-overlay {
          left: 18px !important;
          right: 18px !important;
          bottom: 18px !important;
        }
        .experience-overlay strong {
          font-size: 34px !important;
        }
        .experience-quote {
          padding: 26px 15px 0 !important;
        }
        .experience-quote p {
          font-size: 23px !important;
          text-align: left !important;
        }

        /* Event types: useful compact grid, no endless vertical cards */
        .event-types {
          grid-template-columns: 1fr 1fr !important;
          gap: 9px !important;
          margin-top: 24px !important;
        }
        .event-type-card {
          min-height: 112px !important;
          padding: 17px 14px !important;
          border-radius: 18px !important;
        }
        .event-type-card span {
          font-size: 10px !important;
        }
        .event-type-card h3 {
          font-size: 18px !important;
          line-height: 1.08 !important;
        }
        .calm-cta .event-cta {
          width: 100% !important;
          justify-content: center !important;
        }

        /* Hall: full width image carousel, smaller metadata cards */
        #hall .hall-head {
          display: block !important;
        }
        .hall-carousel-wrap {
          margin-top: 22px !important;
        }
        .hall-carousel {
          border-radius: 22px !important;
        }
        .hall-slide {
          min-width: 100% !important;
        }
        .hall-slide img {
          height: 440px !important;
          object-fit: cover !important;
        }
        .hall-arrow {
          width: 44px !important;
          height: 44px !important;
          background: rgba(28, 23, 22, 0.72) !important;
          color: #fff !important;
          border-color: rgba(255, 255, 255, 0.24) !important;
        }
        .hall-prev {
          left: 8px !important;
        }
        .hall-next {
          right: 8px !important;
        }
        .hall-cards {
          grid-template-columns: 1fr 1fr !important;
          gap: 9px !important;
        }
        .hall-card {
          padding: 17px !important;
          border-radius: 18px !important;
        }
        .hall-card h3 {
          font-size: 18px !important;
        }
        .hall-card p {
          font-size: 13px !important;
        }
        .hall-cta .btn,
        .hall-cta button {
          width: 100% !important;
          justify-content: center !important;
        }

        /* MENU — the main mobile fix */
        #menu .menu-layout {
          display: block !important;
        }
        #menu .menu-copy {
          padding: 26px 20px !important;
          border-radius: 22px !important;
          margin-bottom: 18px !important;
        }
        #menu .menu-tags {
          gap: 7px !important;
          margin: 15px 0 20px !important;
        }
        #menu .tag {
          font-size: 11px !important;
          padding: 9px 10px !important;
        }
        #menu .menu-actions .btn {
          width: 100% !important;
          justify-content: center !important;
        }

        /* Food photos become a proper horizontal swipe.
     Entire plates stay visible instead of hard crop. */
        #menu .menu-visuals {
          display: flex !important;
          overflow-x: auto !important;
          scroll-snap-type: x mandatory !important;
          gap: 10px !important;
          padding: 0 1px 10px !important;
          scrollbar-width: none !important;
        }
        #menu .menu-visuals::-webkit-scrollbar {
          display: none;
        }
        #menu .menu-visual {
          flex: 0 0 84% !important;
          min-height: 330px !important;
          height: 330px !important;
          border-radius: 22px !important;
          scroll-snap-align: start !important;
          overflow: hidden !important;
          background: #f4efe7 !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
        }
        #menu .menu-visual img {
          width: 100% !important;
          height: 100% !important;
          object-fit: contain !important;
          object-position: center !important;
          background: #f4efe7 !important;
        }

        /* Hide PDF-page images on phones. Native menu is injected by JS. */
        #menuModal .menu-modal-dialog {
          width: 100% !important;
          height: 100dvh !important;
          max-height: none !important;
          border-radius: 0 !important;
          margin: 0 !important;
        }
        #menuModal .menu-modal-head {
          position: sticky !important;
          top: 0 !important;
          z-index: 4 !important;
          background: rgba(242, 242, 232, 0.96) !important;
          backdrop-filter: blur(14px) !important;
          padding: 22px 58px 16px 18px !important;
          border-bottom: 1px solid rgba(28, 23, 22, 0.1) !important;
        }
        #menuModal .menu-modal-head h2 {
          font-size: 31px !important;
          margin: 4px 0 8px !important;
        }
        #menuModal .menu-modal-head .lead {
          font-size: 14px !important;
          margin-bottom: 0 !important;
        }
        #menuModal .menu-modal-close {
          position: fixed !important;
          right: 12px !important;
          top: 12px !important;
          z-index: 8 !important;
          width: 42px !important;
          height: 42px !important;
        }
        #menuModal .menu-modal-scroll {
          background: #f7f3eb !important;
          padding: 0 16px 110px !important;
          overflow: auto !important;
        }
        #menuModal .menu-pdf-page {
          display: none !important;
        }
        .mobile-native-menu {
          display: block !important;
          padding: 10px 0 0 !important;
        }
        .mobile-menu-group {
          border-bottom: 1px solid rgba(28, 23, 22, 0.12);
        }
        .mobile-menu-toggle {
          width: 100%;
          border: 0;
          background: transparent;
          padding: 18px 2px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          color: #1c1716;
          font-weight: 800;
          text-align: left;
          font-size: 16px;
        }
        .mobile-menu-toggle b {
          font:
            500 25px/1 Georgia,
            serif;
          color: #5e2120;
        }
        .mobile-menu-items {
          display: none;
          list-style: none;
          margin: 0;
          padding: 0 0 16px;
        }
        .mobile-menu-group.open .mobile-menu-items {
          display: grid;
          gap: 9px;
        }
        .mobile-menu-group.open .mobile-menu-toggle b {
          transform: rotate(45deg);
        }
        .mobile-menu-items li {
          font-size: 15px;
          line-height: 1.35;
          color: rgba(28, 23, 22, 0.7);
          padding-left: 14px;
          position: relative;
        }
        .mobile-menu-items li:before {
          content: "";
          position: absolute;
          left: 0;
          top: 0.58em;
          width: 4px;
          height: 4px;
          border-radius: 50%;
          background: #b39455;
        }
        .mobile-menu-contact {
          position: sticky;
          bottom: 0;
          z-index: 5;
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 8px;
          background: rgba(247, 243, 235, 0.96);
          backdrop-filter: blur(14px);
          padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
        }
        .mobile-menu-contact a {
          min-height: 50px;
          border-radius: 15px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: 800;
        }
        .mobile-menu-contact .m-call {
          background: #5e2120;
          color: white;
        }
        .mobile-menu-contact .m-wa {
          background: #fff;
          border: 1px solid rgba(28, 23, 22, 0.14);
        }

        /* Gallery: horizontal editorial carousel on mobile */
        .gallery-grid {
          display: flex !important;
          overflow-x: auto !important;
          scroll-snap-type: x mandatory !important;
          gap: 10px !important;
          margin-top: 24px !important;
          padding-bottom: 10px !important;
          scrollbar-width: none !important;
        }
        .gallery-grid::-webkit-scrollbar {
          display: none;
        }
        .gallery-item,
        .gallery-item.big {
          flex: 0 0 84% !important;
          height: 390px !important;
          grid-column: auto !important;
          grid-row: auto !important;
          border-radius: 22px !important;
          scroll-snap-align: start !important;
        }
        .gallery-cta .btn,
        .gallery-cta button {
          width: 100% !important;
          justify-content: center !important;
        }

        /* Reviews: one-card horizontal swipe if multiple */
        .review-card-stack {
          display: flex !important;
          overflow-x: auto !important;
          scroll-snap-type: x mandatory !important;
          gap: 10px !important;
          scrollbar-width: none !important;
        }
        .review-card-stack::-webkit-scrollbar {
          display: none;
        }
        .review-item {
          flex: 0 0 88% !important;
          scroll-snap-align: start !important;
          padding: 23px !important;
          border-radius: 20px !important;
        }
        .review-item .review-quote {
          font-size: 20px !important;
        }

        /* Calculation block */
        .quiz-card {
          display: block !important;
          padding: 26px 20px !important;
          border-radius: 22px !important;
        }
        .quiz-card .btn {
          width: 100% !important;
          justify-content: center !important;
          margin-top: 18px !important;
        }

        /* Location/contact */
        .location-card {
          display: block !important;
          border-radius: 22px !important;
        }
        .location-copy {
          padding: 26px 20px !important;
        }
        .location-actions {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 8px !important;
        }
        .location-actions .btn,
        .location-actions a,
        .location-actions button {
          width: 100% !important;
          justify-content: center !important;
        }
        .map,
        .map-live iframe {
          min-height: 350px !important;
          height: 350px !important;
        }
        .contact-address {
          font-size: 16px !important;
          line-height: 1.4 !important;
        }

        /* Final CTA and footer */
        .final {
          padding: 52px 0 44px !important;
        }
        .final-inner {
          display: block !important;
        }
        .final-inner .btn {
          width: 100% !important;
          justify-content: center !important;
          margin-top: 18px !important;
        }
        .footer {
          padding: 34px 0 98px !important;
        }
        .footer-row {
          gap: 18px !important;
        }
        .footer-logo {
          width: 125px !important;
        }

        /* Existing floating CTA is replaced by the mobile bottom bar */
        .floating-book {
          display: none !important;
        }

        /* Booking modal: mobile sheet-like full height */
        #modal {
          padding: 0 !important;
          align-items: end !important;
        }
        #modal .modal-card {
          width: 100% !important;
          max-height: 94dvh !important;
          border-radius: 26px 26px 0 0 !important;
          padding: 28px 18px calc(26px + env(safe-area-inset-bottom)) !important;
        }
        #modal .modal-card h2 {
          font-size: 34px !important;
          padding-right: 46px !important;
        }
        #modal .form-grid {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 11px !important;
        }
        #modal .field input,
        #modal .field select,
        #modal .field textarea {
          font-size: 16px !important;
          padding: 14px 15px !important;
        }
        .privacy-consent {
          font-size: 11px !important;
          padding: 10px 11px !important;
        }

        /* New global conversion rail */
        .lp-mobile-rail {
          position: fixed;
          left: 0;
          right: 0;
          bottom: 0;
          z-index: 75;
          display: grid !important;
          grid-template-columns: 1.15fr 0.85fr;
          gap: 7px;
          padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
          background: rgba(250, 247, 241, 0.96);
          backdrop-filter: blur(18px);
          border-top: 1px solid rgba(28, 23, 22, 0.12);
          box-shadow: 0 -10px 30px rgba(28, 23, 22, 0.08);
        }
        .lp-mobile-rail a {
          min-height: 50px;
          border-radius: 15px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: 800;
          font-size: 13px;
        }
        .lp-mobile-rail-call {
          background: #5e2120;
          color: white;
        }
        .lp-mobile-rail-wa {
          background: #fff;
          color: #1c1716;
          border: 1px solid rgba(28, 23, 22, 0.14);
        }

        /* Mobile-only microcopy */
        .lp-swipe-hint {
          display: block !important;
          font-size: 11px;
          color: rgba(28, 23, 22, 0.5);
          margin: 7px 0 0;
          letter-spacing: 0.02em;
        }
        .gallery-section .lp-swipe-hint,
        .dark .lp-swipe-hint {
          color: rgba(242, 242, 232, 0.55);
        }
      }

      /* Hidden on desktop */
      @media (min-width: 701px) {
        .lp-mobile-rail,
        .mobile-native-menu,
        .mobile-menu-contact,
        .lp-swipe-hint {
          display: none !important;
        }
      }

@media (max-width: 700px) {
        /* Softer section transitions on mobile: no hard black/white cuts */
        .section,
        .experience-strip,
        .gallery-section,
        .final,
        .menu-section,
        .calm-section,
        .hall,
        #contacts {
          position: relative;
          isolation: isolate;
        }

        /* Light sections get a warm ivory tone instead of stark white */
        .section:not(.gallery-section):not(.dark),
        .menu-section,
        #contacts {
          background: linear-gradient(
            180deg,
            #f4f0e7 0%,
            #f8f4ec 48%,
            #efe9df 100%
          ) !important;
        }

        /* Dark sections move from espresso to softer brown-black */
        .gallery-section,
        .dark,
        .experience-strip,
        .final {
          background: linear-gradient(
            180deg,
            #1d1715 0%,
            #17110f 55%,
            #211815 100%
          ) !important;
        }

        /* Gentle transition bands between sections */
        .gallery-section::before,
        .dark::before,
        .experience-strip::before,
        .final::before {
          content: "";
          position: absolute;
          top: -34px;
          left: 0;
          right: 0;
          height: 34px;
          z-index: -1;
          pointer-events: none;
          background: linear-gradient(
            180deg,
            rgba(239, 233, 223, 0) 0%,
            rgba(54, 42, 37, 0.45) 55%,
            #1d1715 100%
          );
        }

        .gallery-section::after,
        .dark::after,
        .experience-strip::after {
          content: "";
          position: absolute;
          bottom: -34px;
          left: 0;
          right: 0;
          height: 34px;
          z-index: 2;
          pointer-events: none;
          background: linear-gradient(
            180deg,
            #211815 0%,
            rgba(97, 76, 67, 0.3) 45%,
            rgba(239, 233, 223, 0) 100%
          );
        }

        /* Light blocks after dark sections start with a muted beige wash */
        .gallery-section + .section,
        .dark + .section,
        .experience-strip + .section {
          background: linear-gradient(
            180deg,
            #e7ddd1 0%,
            #f4f0e7 52px,
            #f8f4ec 100%
          ) !important;
        }

        /* Remove any visual jump caused by section edges */
        .section {
          border-top: 0 !important;
          border-bottom: 0 !important;
        }

        /* Keep fixed conversion rail visually separated but soft */
        .lp-mobile-rail {
          background: rgba(247, 243, 235, 0.96) !important;
          border-top: 1px solid rgba(28, 23, 22, 0.08) !important;
          box-shadow: 0 -12px 32px rgba(28, 23, 22, 0.07) !important;
        }
      }

:root {
        --phone-wine: #4b1a19;
      }

      /* BOTH DESKTOP + MOBILE: no artificial play glyph on the gallery video */
      .gallery-item.video:after {
        content: none !important;
        display: none !important;
      }

      /* Phone CTA uses the exact requested burgundy */
      a.phone-direct,
      .lp-mobile-rail-call,
      .mobile-menu-contact .m-call,
      .location-actions .phone-direct {
        background: var(--phone-wine) !important;
        color: #f2f2e8 !important;
        border-color: var(--phone-wine) !important;
      }

      /* Phone number itself uses the requested tone, with enough contrast on dark surfaces */
      .hero-phone-link {
        color: var(--phone-wine) !important;
        background: rgba(242, 242, 232, 0.94) !important;
        border: 1px solid rgba(242, 242, 232, 0.68) !important;
        border-radius: 999px !important;
        padding: 8px 12px !important;
        width: max-content !important;
        text-decoration: none !important;
      }
      .footer-phone {
        color: var(--phone-wine) !important;
        background: #f2f2e8 !important;
        border-radius: 999px !important;
        padding: 7px 11px !important;
        width: max-content !important;
      }

      /* The menu follows the language of the whole site — no redundant explanation */
      #menuModal .menu-modal-head .lead[data-i18n="menuModalIntro"] {
        display: none !important;
      }

      @media (max-width: 700px) {
        /* Remove the tiny phone icon from the header — persistent bottom CTA is enough */
        .head-actions .phone-direct {
          display: none !important;
        }
        .head-actions .phone-direct:before {
          content: none !important;
        }

        /* Restore the event-formats section: v22 made the section light while its typography stayed cream */
        .event-types-section {
          background: linear-gradient(
            180deg,
            #2a201d 0%,
            #1f1816 18%,
            #191311 82%,
            #2a201d 100%
          ) !important;
          color: #f2f2e8 !important;
        }
        .event-types-section .event-title,
        .event-types-section .event-type-card h3 {
          color: #f2f2e8 !important;
          opacity: 1 !important;
        }
        .event-types-section .event-type-card {
          background: linear-gradient(
            145deg,
            rgba(242, 242, 232, 0.075),
            rgba(242, 242, 232, 0.025)
          ) !important;
          border-color: rgba(242, 242, 232, 0.16) !important;
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
        }

        /* Food cards: no rigid empty top/bottom fields. Use the image as the card itself. */
        #menu .menu-visuals {
          align-items: flex-start !important;
        }
        #menu .menu-visual {
          flex: 0 0 84% !important;
          min-height: 0 !important;
          height: auto !important;
          aspect-ratio: 4/3 !important;
          padding: 0 !important;
          background: transparent !important;
          border-radius: 22px !important;
          overflow: hidden !important;
        }
        #menu .menu-visual img {
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
          object-position: center !important;
          background: transparent !important;
        }

        /* Much softer thematic transitions: long gradient bridges instead of a hard color cut */
        .section,
        .experience-strip,
        .event-types-section,
        .gallery-section,
        .final,
        .menu-section,
        .calm-section,
        #contacts {
          border: 0 !important;
          position: relative !important;
          isolation: isolate !important;
        }
        .gallery-section::before,
        .dark::before,
        .experience-strip::before,
        .event-types-section::before,
        .final::before {
          content: "" !important;
          position: absolute !important;
          top: -96px !important;
          left: 0 !important;
          right: 0 !important;
          height: 97px !important;
          z-index: 0 !important;
          pointer-events: none !important;
          background: linear-gradient(
            180deg,
            rgba(239, 233, 223, 0) 0%,
            rgba(119, 95, 82, 0.1) 26%,
            rgba(56, 43, 38, 0.5) 68%,
            rgba(29, 23, 21, 0.98) 100%
          ) !important;
        }
        .gallery-section::after,
        .dark::after,
        .experience-strip::after,
        .event-types-section::after {
          content: "" !important;
          position: absolute !important;
          bottom: -96px !important;
          left: 0 !important;
          right: 0 !important;
          height: 97px !important;
          z-index: 0 !important;
          pointer-events: none !important;
          background: linear-gradient(
            180deg,
            rgba(29, 23, 21, 0.98) 0%,
            rgba(78, 61, 54, 0.44) 45%,
            rgba(199, 185, 169, 0.16) 72%,
            rgba(244, 240, 231, 0) 100%
          ) !important;
        }
        .gallery-section > .wrap,
        .dark > .wrap,
        .experience-strip > .wrap,
        .event-types-section > .wrap,
        .final > .wrap {
          position: relative !important;
          z-index: 1 !important;
        }

        /* Prevent v22 from washing the event cards into a pale page */
        .section:not(.gallery-section):not(.dark):not(.event-types-section) {
          background: linear-gradient(
            180deg,
            #f3eee5 0%,
            #f7f3eb 52%,
            #eee7dd 100%
          ) !important;
        }

        /* Final screen will get the same mountain image as the hero via JS below. */
        .final {
          color: #f2f2e8 !important;
          background-color: #1b1513 !important;
          background-size: cover !important;
          background-position: center 58% !important;
          overflow: hidden !important;
          padding-top: 94px !important;
          padding-bottom: 92px !important;
        }
        .final:after {
          content: "" !important;
          position: absolute !important;
          inset: 0 !important;
          z-index: 0 !important;
          pointer-events: none !important;
          background: linear-gradient(
            180deg,
            rgba(26, 19, 17, 0.74) 0%,
            rgba(26, 19, 17, 0.58) 48%,
            rgba(20, 14, 13, 0.92) 100%
          ) !important;
        }
        .final .final-inner {
          position: relative !important;
          z-index: 1 !important;
        }
        .final .lead {
          color: rgba(242, 242, 232, 0.82) !important;
        }

        /* Smoothly merge the final mountain screen into the footer */
        .final + .footer {
          position: relative !important;
          background: #120d0c !important;
        }
        .final + .footer:before {
          content: "";
          position: absolute;
          top: -90px;
          left: 0;
          right: 0;
          height: 90px;
          pointer-events: none;
          background: linear-gradient(180deg, rgba(18, 13, 12, 0), #120d0c 92%);
        }

        /* Requested phone tone in persistent mobile CTA, no emoji */
        .lp-mobile-rail-call {
          background: var(--phone-wine) !important;
          color: #f2f2e8 !important;
        }
        .lp-mobile-rail-call:before {
          content: none !important;
        }
        .hero-phone-link {
          font-size: 14px !important;
        }
      }

@media (max-width: 700px) {
        /* Bottom rail: no empty side gutters */
        .lp-mobile-rail {
          grid-template-columns: 1fr 1fr !important;
          gap: 8px !important;
          padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) !important;
          border-top: 1px solid rgba(242, 242, 232, 0.14) !important;
          background: transparent !important;
          box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.12) !important;
          overflow: hidden !important;
        }
        .lp-mobile-rail a {
          min-height: 56px !important;
          border-radius: 18px !important;
          font-size: 14px !important;
        }
        .lp-mobile-rail-call {
          margin-left: 0 !important;
        }
        .lp-mobile-rail-wa {
          margin-right: 0 !important;
          background: rgba(247, 243, 235, 0.96) !important;
        }

        /* Gallery: remove visible side empty fields on mobile */
        .gallery-section .wrap {
          width: 100% !important;
          max-width: none !important;
        }
        .gallery-section .eyebrow,
        .gallery-section h2,
        .gallery-section .lead,
        .gallery-section .lp-swipe-hint,
        .gallery-cta {
          width: min(100% - 28px, 1220px) !important;
          margin-left: auto !important;
          margin-right: auto !important;
        }
        .gallery-grid {
          gap: 12px !important;
          padding: 0 0 10px 0 !important;
          margin-top: 24px !important;
          margin-left: 0 !important;
          margin-right: 0 !important;
          scroll-padding-inline: 14px !important;
        }
        .gallery-item,
        .gallery-item.big {
          flex: 0 0 calc(100vw - 28px) !important;
          height: 390px !important;
        }

        /* Footer area keeps the same mountain mood as the first screen */
        .footer {
          position: relative !important;
          overflow: hidden !important;
        }
        .footer:before {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(
            180deg,
            rgba(20, 16, 15, 0.12) 0%,
            rgba(20, 16, 15, 0.58) 35%,
            rgba(20, 16, 15, 0.88) 100%
          );
          pointer-events: none;
        }
        .footer > .wrap {
          position: relative;
          z-index: 1;
        }

        /* Phone link + number in the requested dark wine tone */
        .footer-phone,
        .hero-phone-link {
          background: var(--phone-wine) !important;
          color: #f2f2e8 !important;
          border: 1px solid rgba(242, 242, 232, 0.18) !important;
        }
        .footer-phone-label {
          color: rgba(242, 242, 232, 0.56) !important;
        }
      }

:root {
        --phone-wine: #4b1a19;
      }

      /* remove "real" wording in visible review copy when it appears literally */
      @media (max-width: 700px) {
        /* consistent button hierarchy: primary = one wine tone, secondary = cream */
        .btn.wine,
        .location-actions .btn.wine,
        .location-actions .phone-direct,
        .final .phone-direct,
        .lp-mobile-rail-call,
        .mobile-menu-contact .m-call {
          background: var(--phone-wine) !important;
          border-color: var(--phone-wine) !important;
          color: #f2f2e8 !important;
          box-shadow: none !important;
        }
        .location-actions .btn.outline[href*="wa.me"],
        .lp-mobile-rail-wa {
          background: #f2f2e8 !important;
          color: #1c1716 !important;
          border-color: rgba(28, 23, 22, 0.14) !important;
        }

        /* menu is information only; global mobile CTA is already always available */
        #menuModal .mobile-menu-contact {
          display: none !important;
        }
        #menuModal .menu-modal-scroll {
          padding-bottom: 28px !important;
        }

        /* gallery: remove the large redundant CTA / empty white field under photos */
        .gallery-section .gallery-cta {
          display: none !important;
        }
        .gallery-section {
          padding-bottom: 58px !important;
        }

        /* event formats: make the images explicit and visible */
        .event-types-section {
          background: linear-gradient(
            180deg,
            #211916 0%,
            #17110f 100%
          ) !important;
          color: #f2f2e8 !important;
        }
        .event-types-section .event-title {
          color: #f2f2e8 !important;
          opacity: 1 !important;
        }
        .event-types {
          grid-template-columns: 1fr 1fr !important;
          gap: 10px !important;
        }
        .event-type-card {
          position: relative !important;
          overflow: hidden !important;
          min-height: 188px !important;
          padding: 16px !important;
          border-radius: 20px !important;
          border: 1px solid rgba(242, 242, 232, 0.18) !important;
          background: #211916 !important;
          opacity: 1 !important;
          transform: none !important;
          isolation: isolate !important;
          justify-content: space-between !important;
        }
        .event-type-card::after {
          content: "" !important;
          position: absolute !important;
          inset: 0 !important;
          z-index: 1 !important;
          background: linear-gradient(
            180deg,
            rgba(17, 12, 11, 0.18) 0%,
            rgba(17, 12, 11, 0.2) 35%,
            rgba(17, 12, 11, 0.84) 100%
          ) !important;
          pointer-events: none !important;
        }
        .event-type-card .event-type-bg {
          position: absolute !important;
          inset: 0 !important;
          z-index: 0 !important;
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
          object-position: center !important;
        }
        .event-type-card span,
        .event-type-card h3 {
          position: relative !important;
          z-index: 2 !important;
          color: #f2f2e8 !important;
          opacity: 1 !important;
          text-shadow: 0 2px 12px rgba(0, 0, 0, 0.36) !important;
        }
        .event-type-card span {
          color: #d2ad6d !important;
        }
        .event-type-card h3 {
          font-size: 19px !important;
          line-height: 1.05 !important;
          margin-top: auto !important;
        }
        .event-types-section .calm-cta {
          margin-top: 20px !important;
        }
        .event-types-section .event-cta {
          background: #f2f2e8 !important;
          color: #1c1716 !important;
          border-color: #f2f2e8 !important;
          box-shadow: none !important;
        }

        /* no separate final/footer backgrounds: one shared mountain layer sits behind both */
        .final,
        .footer {
          background: transparent !important;
          background-image: none !important;
        }
        .final:after,
        .footer:before,
        .final + .footer:before {
          display: none !important;
        }
        .final,
        .footer {
          position: relative !important;
          z-index: 2 !important;
        }
        .lp-final-footer-bg {
          position: absolute !important;
          left: 0 !important;
          right: 0 !important;
          z-index: 0 !important;
          background-size: cover !important;
          background-position: center bottom !important;
          background-repeat: no-repeat !important;
          pointer-events: none !important;
        }
        .lp-final-footer-bg:after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(
            180deg,
            rgba(24, 17, 15, 0.58) 0%,
            rgba(20, 14, 13, 0.66) 42%,
            rgba(15, 10, 9, 0.9) 100%
          );
        }
        body {
          position: relative !important;
        }

        /* gallery fills the mobile canvas cleanly, without pale side gutters */
        .gallery-section .gallery-grid {
          padding-inline: 0 !important;
        }
        .gallery-section .gallery-item,
        .gallery-section .gallery-item.big {
          flex-basis: calc(100vw - 24px) !important;
        }
      }

/* Restore desktop-only event cards without photo overlays; keep mobile behavior intact */
      @media (min-width: 701px) {
        .gallery-item,
        .gallery-item.big {
          padding: 0 !important;
          background: transparent !important;
          border: 0 !important;
          box-shadow: none !important;
        }
        .gallery-item img,
        .gallery-item video {
          display: block !important;
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
          border-radius: 24px !important;
        }
      }

      /* Final CTA + footer use the same mountain background as the hero on all breakpoints */
      .final,
      .footer {
        background: transparent !important;
        background-image: none !important;
      }
      .final:after,
      .footer:before,
      .final + .footer:before {
        display: none !important;
      }
      .final,
      .footer {
        position: relative !important;
        z-index: 2 !important;
      }
      .lp-final-footer-bg {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 0 !important;
        background-size: cover !important;
        background-position: center bottom !important;
        background-repeat: no-repeat !important;
        pointer-events: none !important;
      }
      .lp-final-footer-bg:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          180deg,
          rgba(24, 17, 15, 0.56) 0%,
          rgba(20, 14, 13, 0.66) 42%,
          rgba(15, 10, 9, 0.9) 100%
        );
      }
      body {
        position: relative !important;
      }

@media (max-width: 700px) {
        /* Fix 1: remove the huge empty gap in the event formats block */
        .event-types-section {
          background: #f3efe7 !important;
          color: #1c1716 !important;
          padding-top: 48px !important;
          padding-bottom: 64px !important;
        }
        .event-types-section .event-eyebrow {
          margin-bottom: 10px !important;
        }
        .event-types-section .event-title {
          display: block !important;
          color: #1c1716 !important;
          opacity: 1 !important;
          font-size: 34px !important;
          line-height: 1.02 !important;
          margin: 0 0 18px !important;
          max-width: 100% !important;
        }
        .event-types {
          margin-top: 0 !important;
          align-items: start !important;
          gap: 10px !important;
        }

        /* Keep the photo cards compact and readable */
        .event-type-card {
          min-height: 184px !important;
        }

        /* Fix 2: remove side empty windows in the gallery block */
        .gallery-section .wrap {
          width: min(100% - 28px, 1220px) !important;
          max-width: none !important;
        }
        .gallery-section .eyebrow,
        .gallery-section h2,
        .gallery-section .lead,
        .gallery-section .lp-swipe-hint,
        .gallery-section .gallery-cta {
          width: 100% !important;
          margin-left: 0 !important;
          margin-right: 0 !important;
        }
        .gallery-grid {
          display: grid !important;
          grid-template-columns: 1fr !important;
          overflow: visible !important;
          gap: 12px !important;
          margin-top: 22px !important;
          padding: 0 !important;
          scroll-snap-type: none !important;
        }
        .gallery-item,
        .gallery-item.big {
          flex: none !important;
          width: 100% !important;
          max-width: 100% !important;
          height: 320px !important;
          border-radius: 22px !important;
          scroll-snap-align: none !important;
        }
        .gallery-grid::-webkit-scrollbar {
          display: none !important;
        }
      }

@media (max-width: 700px) {
        /* HERO: primary call button uses the same Lori Peak burgundy */
        .hero-primary,
        .hero-primary.btn.cream,
        .hero-primary[data-phone-cta="1"] {
          background: #4b1a19 !important;
          color: #f2f2e8 !important;
          border-color: #4b1a19 !important;
          box-shadow: none !important;
        }

        /* HERO PHONE: same transparent/glass treatment as the Gallery button */
        .hero-phone-link {
          background: rgba(242, 242, 232, 0.07) !important;
          color: #f2f2e8 !important;
          border: 1px solid rgba(242, 242, 232, 0.42) !important;
          backdrop-filter: blur(12px) !important;
          -webkit-backdrop-filter: blur(12px) !important;
          border-radius: 999px !important;
          padding: 10px 14px !important;
          box-shadow: none !important;
        }

        /* GALLERY: swipe again, but one image per screen — no side empty windows/peeks */
        .gallery-section .wrap {
          width: min(100% - 28px, 1220px) !important;
          max-width: none !important;
        }
        .gallery-grid {
          display: flex !important;
          flex-wrap: nowrap !important;
          overflow-x: auto !important;
          overflow-y: hidden !important;
          scroll-snap-type: x mandatory !important;
          scroll-behavior: smooth !important;
          gap: 12px !important;
          margin-top: 22px !important;
          padding: 0 0 10px !important;
          scrollbar-width: none !important;
          -webkit-overflow-scrolling: touch !important;
        }
        .gallery-grid::-webkit-scrollbar {
          display: none !important;
        }
        .gallery-item,
        .gallery-item.big {
          flex: 0 0 100% !important;
          width: 100% !important;
          max-width: 100% !important;
          height: 390px !important;
          border-radius: 22px !important;
          scroll-snap-align: start !important;
          scroll-snap-stop: always !important;
          grid-column: auto !important;
          grid-row: auto !important;
        }
        .gallery-item img,
        .gallery-item video {
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
        }
      }

.policy-link {
        color: var(--wine);
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 2px;
        cursor: pointer;
      }
      .policy-link:hover {
        opacity: 0.8;
      }
      .policy-text {
        max-width: 760px;
        margin: 0 auto;
        padding: 6px 0 12px;
      }
      .policy-text h3 {
        font-family: var(--serif);
        font-size: 22px;
        margin: 26px 0 10px;
      }
      .policy-text h3:first-child {
        margin-top: 0;
      }
      .policy-text p,
      .policy-text li {
        font-size: 15px;
        line-height: 1.6;
        color: rgba(28, 23, 22, 0.82);
        margin: 0 0 12px;
      }
      .policy-text ul {
        margin: 0 0 12px;
        padding-left: 20px;
      }
      .policy-text .policy-meta {
        font-size: 13px;
        color: rgba(28, 23, 22, 0.5);
        margin-top: 24px;
        padding-top: 16px;
        border-top: 1px solid rgba(28, 23, 22, 0.12);
      }
      @media (max-width: 700px) {
        .policy-text {
          padding: 2px 4px 8px;
        }
      }
