@keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes floatingGlow {
      0%,100% { transform: translateY(0px); }
      50% { transform: translateY(-12px); }
    }
    :root {
      --bg: #d8cfc4;
      --bg-soft: #eee6db;
      --surface: rgba(255,255,255,.34);
      --surface-strong: rgba(255,255,255,.52);
      --surface-dark: rgba(54,45,42,.78);
      --wine: #7f4054;
      --wine-deep: #4b2432;
      --gold: #b78946;
      --gold-soft: #d2b37b;
      --ink: #211b17;
      --text: #211b17;
      --text-on-dark: #fffaf3;
      --muted: #655d54;
      --muted-on-dark: rgba(255,250,243,.74);
      --line: rgba(45,35,28,.16);
      --line-light: rgba(255,250,243,.18);
      --glass: rgba(255,255,255,.22);
      --shadow: 0 28px 90px rgba(50,38,30,.22);
      --max: 1280px;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: Inter, 'Noto Sans Georgian', system-ui, sans-serif;
      background: linear-gradient(180deg, #eee6db 0%, #d4cabd 52%, #c9bdb0 100%);
      color: var(--text);
      overflow-x: hidden;
      cursor: default;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
      background-size: 4px 4px;
      opacity: .08;
      pointer-events: none;
      z-index: 999;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .site-header {
      position: fixed;
      inset: 0 0 auto 0;
      height: 76px;
      z-index: 50;
      display: flex;
      align-items: center;
      background: rgba(238,230,219,.72);
      backdrop-filter: blur(22px);
      border-bottom: 1px solid rgba(148,163,184,.12);
    }
    .nav-wrap {
      width: min(var(--max), calc(100% - 48px));
      margin: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
    }
    .logo {
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      color: var(--text);
      letter-spacing: .18em;
      font-size: 24px;
      white-space: nowrap;
      position: relative;
    }
    .logo::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -8px;
      width: 52px;
      height: 2px;
      background: linear-gradient(90deg, var(--wine), var(--gold));
    }
    .nav {
      display: flex;
      align-items: center;
      gap: 34px;
      color: rgba(33,27,23,.64);
      text-transform: uppercase;
      letter-spacing: .22em;
      font-size: 13px;
      font-weight: 700;
    }
    .nav a:hover { color: var(--text); }
    .socials { display: flex; align-items: center; gap: 18px; font-size: 20px; color: rgba(33,27,23,.66); }
    .mobile-sound,
    .mobile-lang {
      display: none;
      position: fixed;
      right: 18px;
      z-index: 120;
    }
    .mobile-sound { bottom: 18px; }
    .mobile-lang { bottom: 70px; }
    .lang-toggle {
      border: 1px solid var(--line);
      background: transparent;
      color: var(--text);
      padding: 9px 12px;
      cursor: pointer;
      letter-spacing: .1em;
      font-weight: 800;
    }
    .sound-toggle {
      border: 1px solid rgba(212,176,106,.36);
      background: rgba(255,255,255,.28);
      color: var(--gold);
      padding: 9px 13px;
      cursor: pointer;
      letter-spacing: .12em;
      font-weight: 900;
      font-size: 11px;
      text-transform: uppercase;
      transition: .25s ease;
    }
    .sound-toggle:hover,
    .sound-toggle.is-playing {
      background: var(--gold);
      color: #211b17;
    }
    .burger { display: none; background: none; border: 0; color: var(--text-on-dark); font-size: 28px; }

    .hero {
      min-height: 100vh;
      position: relative;
      display: flex;
      align-items: center;
      padding-top: 72px;
      overflow: hidden;
      background:
        radial-gradient(circle at 80% 20%, rgba(212,176,106,.18), transparent 24%),
        radial-gradient(circle at 15% 80%, rgba(111,16,45,.4), transparent 30%),
        linear-gradient(110deg, rgba(242,235,225,.92) 0%, rgba(226,215,202,.72) 45%, rgba(70,48,42,.18) 100%),
        url('https://images.unsplash.com/photo-1507874457470-272b3c8d8ee2?q=80&w=2400&auto=format&fit=crop') center/cover;
    }

    .hero::before {
      content: 'GEORGIA • WORLD TOUR • 2026';
      position: absolute;
      right: -120px;
      top: 180px;
      transform: rotate(90deg);
      letter-spacing: .45em;
      font-size: 11px;
      color: rgba(255,255,255,.22);
    }
    .hero::after {
      content: 'DM';
      position: absolute;
      right: -3vw;
      bottom: -8vw;
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(260px, 34vw, 580px);
      color: rgba(255,255,255,.03);
      line-height: .8;
      letter-spacing: -.04em;
      pointer-events: none;
      animation: floatingGlow 7s ease-in-out infinite;
    }
    .container { width: min(var(--max), calc(100% - 48px)); margin: auto; position: relative; z-index: 2; }
    .hero-layout {
      display: grid;
      grid-template-columns: 1.05fr .75fr;
      gap: 70px;
      align-items: center;
    }
    .hero-content { position: relative; z-index: 2; }
    .portrait-frame {
      position: relative;
      min-height: 560px;
      border: 1px solid rgba(212,176,106,.28);
      border-radius: 42px 42px 6px 42px;
      background:
        linear-gradient(180deg, rgba(5,5,7,.08), rgba(5,5,7,.78)),
        linear-gradient(135deg, rgba(212,176,106,.12), rgba(111,16,45,.18)),
        url('davit.jpg') center top/cover;
      box-shadow: 0 35px 110px rgba(0,0,0,.42);
      overflow: hidden;
      animation: fadeUp 1s ease .18s both;
    }
    .portrait-frame::before {
      content: "DAVIT MESTVIRISHVILI";
      position: absolute;
      left: 24px;
      top: 24px;
      font-size: 11px;
      letter-spacing: .24em;
      font-weight: 900;
      color: var(--muted-on-dark);
      z-index: 2;
    }
    .portrait-frame::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(0deg, rgba(5,5,7,.7), transparent 45%);
    }
    .portrait-caption {
      position: absolute;
      left: 28px;
      right: 28px;
      bottom: 28px;
      z-index: 3;
      color: var(--text);
    }
    .portrait-caption strong {
      display: block;
      font-family: 'Bebas Neue', sans-serif;
      font-size: 42px;
      line-height: .9;
      color: var(--gold);
    }
    .portrait-caption span {
      color: var(--muted-on-dark);
      font-size: 13px;
      letter-spacing: .18em;
      text-transform: uppercase;
      font-weight: 800;
    }
    .eyebrow {
      color: var(--gold);
      text-transform: uppercase;
      letter-spacing: .34em;
      font-weight: 800;
      font-size: 14px;
      margin-bottom: 24px;
      animation: fadeUp .7s ease both;
    }
    .hero h1 {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(90px, 12vw, 210px);
      line-height: .78;
      letter-spacing: .01em;
      max-width: 820px;
      border-left: 5px solid var(--gold);
      padding-left: 28px;
      animation: fadeUp .9s ease both;
    }
    .accent { color: var(--gold); }
    .hero p {
      color: rgba(33,27,23,.82);
      max-width: 620px;
      margin: 38px 0 34px;
      line-height: 1.9;
      font-size: 20px;
      border-left: 1px solid rgba(255,255,255,.16);
      padding-left: 28px;
    }
    .outline-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 240px;
      min-height: 60px;
      border: 1px solid rgba(212,176,106,.45);
      color: var(--gold);
      background: rgba(255,255,255,.03);
      backdrop-filter: blur(12px);
      text-transform: uppercase;
      letter-spacing: .24em;
      font-size: 12px;
      font-weight: 800;
      transition: .3s ease;
    }
    .outline-btn:hover {
      background: var(--gold);
      color: #211b17;
      transform: translateY(-4px);
      box-shadow: 0 20px 60px rgba(212,176,106,.25);
    }

    section { padding: 120px 0; }
    .pink-section {
      background:
        radial-gradient(circle at 85% 20%, rgba(212,176,106,.16), transparent 22%),
        linear-gradient(135deg, #efe5d8 0%, #d6c8ba 48%, #bda99a 100%);
      color: var(--text-on-dark);
      text-align: left;
      position: relative;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.22);
      border-bottom: 1px solid rgba(255,255,255,.22);
    }
    .section-kicker {
      text-transform: uppercase;
      letter-spacing: .34em;
      font-size: 14px;
      font-weight: 900;
      margin-bottom: 28px;
    }
    .display-title {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(54px, 6vw, 96px);
      line-height: .92;
      letter-spacing: .01em;
    }
    .pink-section p {
      max-width: 760px;
      margin: 44px 0 34px;
      line-height: 1.9;
      font-size: 20px;
      font-weight: 500;
      color: rgba(33,27,23,.82);
    }
    .dark-btn {
      display: inline-flex;
      padding: 18px 42px;
      border: 1px solid rgba(255,255,255,.28);
      color: var(--text-on-dark);
      letter-spacing: .16em;
      font-weight: 800;
      text-transform: uppercase;
      background: rgba(255,255,255,.28);
      backdrop-filter: blur(12px);
      transition: .25s ease;
    }
    .dark-btn:hover { background: white; color: #211b17; transform: translateY(-2px); }

    .festival-strip {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin: 50px 0 60px;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,.28);
    }
    .festival-strip div {
      padding: 24px;
      border-right: 1px solid var(--line);
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: 12px;
      font-weight: 800;
    }
    .festival-strip div:last-child { border-right: 0; }
    .festival-strip strong {
      display: block;
      font-size: 32px;
      font-family: 'Bebas Neue', sans-serif;
      color: var(--gold);
      letter-spacing: .04em;
      margin-bottom: 6px;
    }
    .artist-quote {
      margin-top: 80px;
      padding: 54px;
      border: 1px solid var(--line);
      border-radius: 34px;
      background: linear-gradient(135deg, rgba(212,176,106,.08), rgba(255,255,255,.02));
      position: relative;
      overflow: hidden;
    }
    .artist-quote::after {
      content: "საქართველო";
      position: absolute;
      right: -20px;
      bottom: -22px;
      font-size: clamp(64px, 10vw, 150px);
      font-weight: 900;
      color: rgba(255,255,255,.035);
    }
    .artist-quote blockquote {
      font-size: clamp(42px,6vw,86px);
      font-family: 'Bebas Neue', sans-serif;
      line-height: .95;
      max-width: 900px;
      position: relative;
      z-index: 2;
    }
    .artist-quote span {
      display: block;
      margin-top: 24px;
      color: var(--gold);
      letter-spacing: .22em;
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
      position: relative;
      z-index: 2;
    }

    .gradient-section {
      background:
        radial-gradient(circle at 10% 0%, rgba(127,64,84,.18), transparent 24%),
        radial-gradient(circle at 90% 20%, rgba(183,137,70,.18), transparent 22%),
        linear-gradient(180deg, #d8cfc4 0%, #c6b8aa 100%);
    }
    .split {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 90px;
      align-items: start;
    }
    .about-name {
      white-space: pre-line;
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(54px, 5vw, 82px);
      line-height: .95;
      margin-bottom: 48px;
    }
    .about-text p {
      color: rgba(33,27,23,.82);
      line-height: 1.95;
      font-size: 19px;
      margin-bottom: 28px;
    }
    .stats { display: grid; gap: 28px; }
    .stat {
      border: 1px solid var(--line);
      padding: 28px;
      border-radius: 24px;
      background: rgba(255,255,255,.28);
    }
    .stat strong {
      display: block;
      font-family: 'Bebas Neue', sans-serif;
      color: var(--wine);
      font-size: 86px;
      line-height: .9;
    }
    .stat span {
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: .16em;
      font-weight: 800;
      font-size: 13px;
    }

    .concert-row {
      display: grid;
      grid-template-columns: 90px 1fr 160px;
      gap: 30px;
      align-items: center;
      padding: 28px 32px;
      margin-bottom: 16px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255,255,255,.28);
      transition: .3s ease;
    }
    .concert-row:hover {
      transform: translateX(8px);
      background: rgba(127,64,84,.14);
      border-color: rgba(127,64,84,.5);
      box-shadow: 0 22px 60px rgba(0,0,0,.22);
    }
    .month { color: rgba(255,255,255,.55); font-family: 'Bebas Neue'; font-size: 44px; margin: 60px 0 10px; }
    .day { font-family: 'Bebas Neue'; font-size: 38px; color: #cfa6be; }
    .ticket {
      justify-self: end;
      color: var(--text-on-dark);
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: .16em;
      font-size: 12px;
      font-weight: 900;
      padding: 12px 16px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 999px;
      transition: .25s ease;
    }
    .ticket:hover { background: var(--gold); color: #211b17; border-color: var(--gold); }
    .city { font-size: 21px; font-weight: 700; }

    .cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 56px;
    }
    .card {
      min-height: 270px;
      padding: 34px;
      background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 26px;
      backdrop-filter: blur(10px);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      transition: .3s ease;
      position: relative;
      overflow: hidden;
    }
    .card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(212,176,106,.14), transparent 60%);
      opacity: 0;
      transition: .3s ease;
    }
    .card:hover::before { opacity: 1; }
    .card:hover {
      transform: translateY(-8px);
      background: rgba(255,255,255,.22);
      border-color: rgba(183,137,70,.35);
      box-shadow: 0 24px 70px rgba(0,0,0,.28);
    }
    .card h3 { font-family: 'Bebas Neue'; font-size: 42px; margin-bottom: 12px; position: relative; z-index: 2; }
    .cover-card {
      min-height: 390px;
      justify-content: space-between;
    }
    .album-cover {
      height: 170px;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.1);
      background:
        radial-gradient(circle at 30% 20%, rgba(212,176,106,.32), transparent 28%),
        linear-gradient(135deg, rgba(111,16,45,.9), rgba(5,5,7,.88)),
        url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?q=80&w=900&auto=format&fit=crop') center/cover;
      margin-bottom: 28px;
      position: relative;
      z-index: 2;
      overflow: hidden;
    }
    .album-cover::after {
      content: "PLAY";
      position: absolute;
      right: 16px;
      bottom: 14px;
      color: var(--gold);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .18em;
    }
    .card:nth-child(2) .album-cover { background-image: radial-gradient(circle at 70% 25%, rgba(212,176,106,.25), transparent 24%), linear-gradient(135deg, rgba(5,5,7,.85), rgba(111,16,45,.65)), url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?q=80&w=900&auto=format&fit=crop'); }
    .card:nth-child(3) .album-cover { background-image: radial-gradient(circle at 40% 60%, rgba(212,176,106,.22), transparent 25%), linear-gradient(135deg, rgba(111,16,45,.72), rgba(5,5,7,.9)), url('https://images.unsplash.com/photo-1506157786151-b8491531f063?q=80&w=900&auto=format&fit=crop'); }
    .card p { color: var(--muted); line-height: 1.7; position: relative; z-index: 2; }
    .card a {
      margin-top: 24px;
      color: var(--gold);
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .16em;
      font-size: 11px;
      position: relative;
      z-index: 2;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 220px;
      gap: 18px;
      margin-top: 56px;
    }
    .gallery-item {
      min-height: 220px;
      background: linear-gradient(135deg, rgba(127,64,84,.45), rgba(255,255,255,.05)), url('https://images.unsplash.com/photo-1516280440614-37939bbacd81?q=80&w=1200&auto=format&fit=crop') center/cover;
      border: 1px solid var(--line);
      border-radius: 22px;
      overflow: hidden;
      transition: .3s ease;
    }
    .gallery-item:hover {
      transform: scale(.985);
      filter: brightness(1.08);
    }
    .lightbox {
      position: fixed;
      inset: 0;
      z-index: 300;
      background: rgba(26,26,36,.9);
      backdrop-filter: blur(16px);
      display: grid;
      place-items: center;
      opacity: 0;
      visibility: hidden;
      transition: .35s ease;
      padding: 24px;
    }
    .lightbox.is-open {
      opacity: 1;
      visibility: visible;
    }
    .lightbox img {
      max-width: min(1100px, 100%);
      max-height: 86vh;
      border-radius: 24px;
      object-fit: cover;
      box-shadow: 0 40px 120px rgba(0,0,0,.5);
    }
    .lightbox-close {
      position: absolute;
      top: 24px;
      right: 24px;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.04);
      color: var(--text-on-dark);
      font-size: 20px;
      cursor: pointer;
    }
    .timeline {
      position: relative;
      margin-top: 80px;
      padding-left: 34px;
    }
    .timeline::before {
      content: "";
      position: absolute;
      left: 6px;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(var(--gold), transparent);
    }
    .timeline-item {
      position: relative;
      padding-bottom: 42px;
    }
    .timeline-item::before {
      content: "";
      position: absolute;
      left: -33px;
      top: 10px;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 18px rgba(212,176,106,.5);
    }
    .timeline-year {
      color: var(--gold);
      font-size: 13px;
      letter-spacing: .24em;
      text-transform: uppercase;
      font-weight: 900;
      margin-bottom: 8px;
    }
    .timeline-item h4 {
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: 42px;
      margin-bottom: 10px;
    }
    .video-layer {
      position: absolute;
      inset: 0;
      overflow: hidden;
      opacity: .18;
      mix-blend-mode: screen;
    }
    .video-layer::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(5,5,7,.2), rgba(5,5,7,.8));
    }
    .video-layer video {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .spotlight {
      position: fixed;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(212,176,106,.09), transparent 70%);
      pointer-events: none;
      z-index: 0;
      transform: translate(-50%, -50%);
      transition: transform .06s linear;
    }
    .gallery-item:nth-child(1) {
      grid-column: span 2;
      grid-row: span 2;
      min-height: auto;
    }
    .gallery-item:nth-child(2) { background-image: linear-gradient(135deg, rgba(127,64,84,.38), rgba(0,0,0,.12)), url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?q=80&w=1200&auto=format&fit=crop'); }
    .gallery-item:nth-child(3) { background-image: linear-gradient(135deg, rgba(14,165,233,.32), rgba(0,0,0,.12)), url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?q=80&w=1200&auto=format&fit=crop'); }
    .gallery-item:nth-child(4) { background-image: linear-gradient(135deg, rgba(127,64,84,.35), rgba(0,0,0,.12)), url('https://images.unsplash.com/photo-1506157786151-b8491531f063?q=80&w=1200&auto=format&fit=crop'); }
    .gallery-item:nth-child(5) { background-image: linear-gradient(135deg, rgba(14,165,233,.28), rgba(0,0,0,.12)), url('https://images.unsplash.com/photo-1501612780327-45045538702b?q=80&w=1200&auto=format&fit=crop'); }

    .contact {
      background: radial-gradient(circle at 85% 20%, rgba(127,64,84,.18), transparent 32%), linear-gradient(135deg, #d6cabe, #bca999);
      border-top: 1px solid var(--line);
    }
    .contact-box {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
      padding: 60px;
      border: 1px solid var(--line);
      border-radius: 34px;
      background: linear-gradient(135deg, rgba(127,64,84,.13), rgba(183,137,70,.055));
      box-shadow: 0 30px 90px rgba(0,0,0,.26);
    }
    .contact-box p { color: var(--muted); line-height: 1.8; margin-top: 24px; font-size: 18px; }
    form { display: grid; gap: 16px; }
    input, textarea {
      width: 100%;
      background: rgba(15,23,42,.72);
      border: 1px solid rgba(148,163,184,.22);
      color: var(--text-on-dark);
      padding: 17px 18px;
      outline: none;
      font: inherit;
      border-radius: 16px;
      transition: .25s ease;
    }
    input:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(183,137,70,.08); }
    textarea { min-height: 132px; resize: vertical; }
    .submit {
      background: linear-gradient(135deg, var(--wine), var(--gold));
      color: var(--text-on-dark);
      border: 0;
      padding: 18px;
      text-transform: uppercase;
      letter-spacing: .18em;
      font-weight: 900;
      cursor: pointer;
      border-radius: 16px;
      transition: .25s ease;
    }
    .submit:hover { transform: translateY(-2px); filter: brightness(1.08); }
    footer { padding: 38px 0; color: rgba(255,255,255,.48); text-align: center; border-top: 1px solid var(--line); }

    html[lang="ka"] body {
      font-family: 'Noto Sans Georgian', Inter, system-ui, sans-serif;
    }
    html[lang="ka"] .logo,
    html[lang="ka"] .hero h1,
    html[lang="ka"] .display-title,
    html[lang="ka"] .about-name,
    html[lang="ka"] .card h3,
    html[lang="ka"] .month,
    html[lang="ka"] .day,
    html[lang="ka"] .festival-strip strong,
    html[lang="ka"] .portrait-caption strong,
    html[lang="ka"] .artist-quote blockquote {
      font-family: 'Noto Sans Georgian', Inter, system-ui, sans-serif;
      letter-spacing: -0.03em;
    }
    html[lang="ka"] .hero h1 {
      font-size: clamp(58px, 9vw, 132px);
      line-height: 1.02;
      max-width: 860px;
    }
    html[lang="ka"] .display-title {
      font-size: clamp(40px, 5vw, 76px);
      line-height: 1.15;
    }
    html[lang="ka"] .about-name {
      font-size: clamp(40px, 4vw, 66px);
      line-height: 1.12;
    }
    html[lang="ka"] .eyebrow,
    html[lang="ka"] .section-kicker,
    html[lang="ka"] .nav,
    html[lang="ka"] .ticket,
    html[lang="ka"] .outline-btn,
    html[lang="ka"] .dark-btn,
    html[lang="ka"] .sound-toggle,
    html[lang="ka"] .lang-toggle,
    html[lang="ka"] .stat span,
    html[lang="ka"] .portrait-caption span,
    html[lang="ka"] .artist-quote span,
    html[lang="ka"] .card a {
      letter-spacing: .04em;
      text-transform: none;
    }
    html[lang="ka"] .eyebrow,
    html[lang="ka"] .section-kicker {
      font-size: 13px;
      line-height: 1.8;
    }
    html[lang="ka"] .hero p,
    html[lang="ka"] .pink-section p,
    html[lang="ka"] .about-text p,
    html[lang="ka"] .card p,
    html[lang="ka"] .contact-box p {
      line-height: 1.85;
      font-size: 18px;
    }
    html[lang="ka"] .card h3 {
      font-size: 32px;
      line-height: 1.2;
    }
    html[lang="ka"] .artist-quote blockquote {
      font-size: clamp(32px, 4.5vw, 64px);
      line-height: 1.22;
    }
    html[lang="ka"] .festival-strip strong {
      font-size: 24px;
      line-height: 1.25;
    }
    html[lang="ka"] .portrait-frame::before {
      letter-spacing: .08em;
    }
    .to-top {
      position: fixed;
      right: 28px;
      bottom: 24px;
      color: var(--gold);
      font-size: 30px;
      z-index: 40;
    }

    @media (max-width: 900px) {
      .nav, .socials { display: none; }
      .mobile-sound, .mobile-lang { display: inline-flex; }
      .burger { display: block; }
      .mobile-open .nav {
        display: flex;
        position: fixed;
        left: 0; right: 0; top: 72px;
        background: #332823;
        flex-direction: column;
        padding: 30px;
        border-bottom: 1px solid var(--line);
      }
      .hero-layout, .split, .contact-box { grid-template-columns: 1fr; }
      .portrait-frame { min-height: 430px; order: -1; }
      .festival-strip { grid-template-columns: 1fr 1fr; }
      .cards { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
      .gallery-item:nth-child(1) { min-height: 360px; }
      .concert-row { grid-template-columns: 64px 1fr; padding: 22px; }
      .concert-row .ticket { grid-column: 2; justify-self: start; margin-top: 8px; }
      .concert-row .city { grid-column: 2; }
      section { padding: 80px 0; }
    }
  
    .loader {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: grid;
      place-items: center;
      background: #1d1d27;
      transition: opacity .7s ease, visibility .7s ease;
    }
    .loader.is-hidden { opacity: 0; visibility: hidden; }
    .loader-title {
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: clamp(58px, 10vw, 150px);
      line-height: .8;
      color: var(--gold);
      letter-spacing: .04em;
      text-align: center;
    }
    .loader-title span {
      display: block;
      color: var(--text);
      font-size: .55em;
      letter-spacing: .2em;
      margin-top: 18px;
    }
    .cursor-dot, .cursor-ring {
      position: fixed;
      left: 0;
      top: 0;
      pointer-events: none;
      z-index: 1001;
      transform: translate(-50%, -50%);
      display: none;
    }
    .cursor-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gold);
    }
    .cursor-ring {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      border: 1px solid rgba(212,176,106,.55);
      transition: width .2s ease, height .2s ease, border-color .2s ease;
    }
    body.cursor-hover .cursor-ring {
      width: 58px;
      height: 58px;
      border-color: rgba(212,176,106,.9);
    }
    @media (hover:hover) and (pointer:fine) {
      .cursor-dot, .cursor-ring { display: block; }
      a, button { cursor: none; }
    }
    .reveal {
      opacity: 0;
      transform: translateY(36px);
      transition: opacity .85s ease, transform .85s ease;
    }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    .mini-player {
      position: fixed;
      left: 24px;
      bottom: 24px;
      z-index: 110;
      display: flex;
      align-items: center;
      gap: 14px;
      width: min(360px, calc(100% - 48px));
      padding: 14px 16px;
      border: 1px solid rgba(212,176,106,.28);
      border-radius: 22px;
      background: rgba(42,42,54,.72);
      backdrop-filter: blur(18px);
      box-shadow: 0 20px 70px rgba(0,0,0,.32);
    }
    .player-btn {
      width: 44px;
      height: 44px;
      border: 1px solid rgba(212,176,106,.4);
      border-radius: 50%;
      background: rgba(212,176,106,.12);
      color: var(--gold);
      font-weight: 900;
      cursor: pointer;
    }
    .player-meta { flex: 1; min-width: 0; }
    .player-meta strong {
      display: block;
      font-size: 13px;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .player-meta span {
      display: block;
      margin-top: 3px;
      font-size: 11px;
      color: var(--muted);
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .progress {
      height: 3px;
      margin-top: 9px;
      background: rgba(255,255,255,.13);
      border-radius: 99px;
      overflow: hidden;
    }
    .progress-bar {
      width: 0%;
      height: 100%;
      background: linear-gradient(90deg, var(--wine), var(--gold));
    }
    .wave {
      display: flex;
      gap: 3px;
      align-items: end;
      height: 26px;
    }
    .wave i {
      width: 3px;
      height: 8px;
      display: block;
      background: var(--gold);
      opacity: .45;
      border-radius: 99px;
    }
    .mini-player.is-playing .wave i { animation: equalize .8s ease-in-out infinite alternate; }
    .mini-player.is-playing .wave i:nth-child(2) { animation-delay: .1s; }
    .mini-player.is-playing .wave i:nth-child(3) { animation-delay: .2s; }
    .mini-player.is-playing .wave i:nth-child(4) { animation-delay: .3s; }
    @keyframes equalize { to { height: 24px; opacity: 1; } }
    .gallery-item:nth-child(1) { background-image: linear-gradient(135deg, rgba(5,5,7,.18), rgba(5,5,7,.45)), url('./davit.jpg'); }
    .site-footer {
      padding: 90px 0 42px;
      background: #d2c7bb;
      border-top: 1px solid var(--line);
      overflow: hidden;
    }
    .footer-title {
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: clamp(70px, 14vw, 210px);
      line-height: .8;
      color: rgba(245,241,234,.08);
      letter-spacing: .02em;
      text-align: center;
      margin-bottom: 48px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 28px;
      align-items: center;
      color: var(--muted);
    }
    .footer-links { display: flex; gap: 18px; justify-content: center; color: var(--gold); font-weight: 800; }
    .footer-copy { text-align: right; }
    @media (max-width: 900px) {
      .mini-player { left: 14px; bottom: 14px; width: calc(100% - 96px); padding: 12px; }
      .mobile-sound { bottom: 88px; }
      .mobile-lang { bottom: 140px; }
      .footer-grid { grid-template-columns: 1fr; text-align: center; }
      .footer-copy { text-align: center; }
      .footer-title { font-size: clamp(54px, 18vw, 100px); }
    }
  
    /* Senior UI/UX refinement layer */
    body {
      color: var(--ink);
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    body::before {
      background-image: radial-gradient(rgba(33,27,23,.18) 1px, transparent 1px);
      opacity: .055;
    }

    .site-header {
      box-shadow: 0 10px 35px rgba(45,35,28,.08);
    }

    .logo,
    .nav a,
    .socials a,
    .burger {
      color: var(--ink);
    }

    .logo::after {
      background: linear-gradient(90deg, var(--wine), var(--gold));
    }

    .lang-toggle {
      background: rgba(255,255,255,.28);
      color: var(--ink);
      border-color: rgba(33,27,23,.18);
      border-radius: 999px;
    }

    .sound-toggle {
      border-color: rgba(127,64,84,.26);
      background: rgba(255,255,255,.32);
      color: var(--wine-deep);
      border-radius: 999px;
    }

    .sound-toggle:hover,
    .sound-toggle.is-playing {
      background: var(--wine-deep);
      color: var(--text-on-dark);
    }

    .hero {
      box-shadow: inset 0 -90px 120px rgba(113,91,75,.22);
    }

    .hero::before {
      color: rgba(33,27,23,.32);
    }

    .hero::after {
      color: rgba(33,27,23,.045);
    }

    .eyebrow,
    .section-kicker {
      color: var(--wine-deep);
    }

    .hero h1,
    .display-title,
    .about-name {
      color: var(--ink);
    }

    .hero p {
      color: rgba(33,27,23,.76);
      border-left-color: rgba(33,27,23,.18);
    }

    .accent,
    .portrait-caption strong,
    .festival-strip strong,
    .day,
    .month,
    .timeline-year {
      color: var(--wine);
    }

    .outline-btn,
    .dark-btn,
    .ticket,
    .card a {
      border-radius: 999px;
    }

    .outline-btn {
      color: var(--wine-deep);
      border-color: rgba(127,64,84,.34);
      background: rgba(255,255,255,.28);
      box-shadow: 0 18px 50px rgba(70,50,35,.08);
    }

    .outline-btn:hover {
      background: var(--wine-deep);
      color: var(--text-on-dark);
      box-shadow: 0 22px 70px rgba(75,36,50,.24);
    }

    .portrait-frame {
      border-color: rgba(127,64,84,.22);
      box-shadow: var(--shadow);
    }

    .portrait-frame::after {
      background: linear-gradient(0deg, rgba(35,25,23,.76), transparent 50%);
    }

    .pink-section,
    .gradient-section,
    .contact {
      color: var(--ink);
    }

    .pink-section p,
    .about-text p,
    .card p,
    .contact-box p,
    .timeline-item p {
      color: rgba(33,27,23,.72);
    }

    .festival-strip,
    .stat,
    .card,
    .concert-row,
    .artist-quote,
    .contact-box,
    .mini-player {
      background: var(--surface);
      border-color: rgba(33,27,23,.13);
      box-shadow: 0 18px 60px rgba(55,42,34,.10);
    }

    .festival-strip div {
      border-right-color: rgba(33,27,23,.12);
      color: var(--muted);
    }

    .stat strong {
      color: var(--wine);
    }

    .stat span {
      color: var(--muted);
    }

    .concert-row:hover,
    .card:hover {
      background: var(--surface-strong);
      border-color: rgba(127,64,84,.28);
      box-shadow: 0 24px 80px rgba(60,42,34,.18);
    }

    .city,
    .card h3,
    .artist-quote blockquote,
    .timeline-item h4 {
      color: var(--ink);
    }

    .artist-quote::after {
      color: rgba(33,27,23,.055);
    }

    .ticket {
      color: var(--wine-deep);
      border-color: rgba(127,64,84,.22);
      background: rgba(255,255,255,.18);
    }

    .ticket:hover,
    .dark-btn:hover {
      background: var(--wine-deep);
      color: var(--text-on-dark);
      border-color: var(--wine-deep);
    }

    .gallery-item {
      border-color: rgba(33,27,23,.14);
      box-shadow: 0 18px 60px rgba(55,42,34,.12);
    }

    .contact-box {
      background: linear-gradient(135deg, rgba(255,255,255,.38), rgba(127,64,84,.08));
    }

    input, textarea {
      background: rgba(255,255,255,.46);
      border-color: rgba(33,27,23,.16);
      color: var(--ink);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
    }

    input::placeholder,
    textarea::placeholder {
      color: rgba(33,27,23,.48);
    }

    input:focus, textarea:focus {
      border-color: rgba(127,64,84,.55);
      box-shadow: 0 0 0 4px rgba(127,64,84,.10);
    }

    .submit {
      background: linear-gradient(135deg, var(--wine-deep), var(--gold));
      color: var(--text-on-dark);
      border-radius: 999px;
    }

    .site-footer {
      background: linear-gradient(180deg, #c7baac, #b9aa9a);
      color: rgba(33,27,23,.66);
    }

    .footer-title {
      color: rgba(33,27,23,.10);
    }

    .footer-links {
      color: var(--wine-deep);
    }

    .to-top {
      color: var(--wine-deep);
      background: rgba(255,255,255,.38);
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      border: 1px solid rgba(33,27,23,.12);
      box-shadow: 0 14px 42px rgba(45,35,28,.14);
    }

    .loader {
      background: #d8cfc4;
    }

    .loader-title {
      color: var(--wine-deep);
    }

    .loader-title span {
      color: var(--ink);
    }

    .cursor-dot {
      background: var(--wine-deep);
    }

    .cursor-ring {
      border-color: rgba(75,36,50,.42);
    }

    .spotlight {
      background: radial-gradient(circle, rgba(255,255,255,.24), transparent 70%);
    }

    .player-btn {
      border-color: rgba(127,64,84,.28);
      background: rgba(127,64,84,.12);
      color: var(--wine-deep);
    }

    .player-meta strong {
      color: var(--ink);
    }

    .player-meta span {
      color: var(--muted);
    }

    .progress {
      background: rgba(33,27,23,.12);
    }

    .wave i {
      background: var(--wine-deep);
    }

    .lightbox {
      background: rgba(33,27,23,.78);
    }

    @media (max-width: 900px) {
      .mobile-open .nav {
        background: rgba(238,230,219,.97);
        box-shadow: 0 18px 60px rgba(45,35,28,.14);
      }

      .hero h1 {
        border-left-width: 3px;
        padding-left: 18px;
      }

      .hero p {
        padding-left: 18px;
        margin-top: 26px;
      }

      .portrait-frame {
        min-height: 390px;
        border-radius: 28px 28px 6px 28px;
      }

      .mini-player {
        width: calc(100% - 108px);
      }
    }

  
    /* Premium invitation section */
    .invitation-section {
      position: relative;
      overflow: hidden;
      padding: 130px 0;
      background:
        radial-gradient(circle at 8% 10%, rgba(127,64,84,.18), transparent 28%),
        radial-gradient(circle at 92% 78%, rgba(183,137,70,.20), transparent 26%),
        linear-gradient(135deg, #e9ded1 0%, #d1c0b1 52%, #a99284 100%);
      border-top: 1px solid rgba(33,27,23,.12);
      border-bottom: 1px solid rgba(33,27,23,.12);
    }

    .invitation-section::before {
      content: "";
      position: absolute;
      inset: 28px;
      border: 1px solid rgba(75,36,50,.12);
      border-radius: 42px;
      pointer-events: none;
    }

    .invitation-section::after {
      content: "INVITATION";
      position: absolute;
      left: -2vw;
      bottom: -4vw;
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: clamp(120px, 18vw, 280px);
      line-height: .8;
      color: rgba(33,27,23,.055);
      letter-spacing: .02em;
      pointer-events: none;
    }

    .invitation-layout {
      display: grid;
      grid-template-columns: .88fr 1.12fr;
      gap: 76px;
      align-items: center;
    }

    .invitation-copy {
      position: relative;
      z-index: 2;
    }

    .invitation-copy p {
      max-width: 560px;
      margin: 30px 0 34px;
      color: rgba(33,27,23,.76);
      font-size: 19px;
      line-height: 1.9;
    }

    .invitation-actions {
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
    }

    .invite-download {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 54px;
      padding: 0 24px;
      border: 1px solid rgba(33,27,23,.16);
      border-radius: 999px;
      color: var(--wine-deep, #4b2432);
      background: rgba(255,255,255,.22);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
      transition: .25s ease;
    }

    .invite-download:hover {
      background: rgba(255,255,255,.42);
      transform: translateY(-2px);
      box-shadow: 0 18px 52px rgba(55,42,34,.14);
    }

    .invitation-card {
      position: relative;
      z-index: 2;
      min-height: 690px;
      padding: 18px;
      border-radius: 38px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.64), rgba(255,255,255,.20)),
        radial-gradient(circle at 35% 20%, rgba(183,137,70,.22), transparent 28%),
        linear-gradient(145deg, #f1e6d8 0%, #d7c4b2 54%, #8f7468 100%);
      border: 1px solid rgba(75,36,50,.18);
      box-shadow: 0 36px 110px rgba(65,45,35,.28);
      overflow: hidden;
    }

    .invitation-card::before {
      content: "";
      position: absolute;
      inset: 18px;
      border: 1px solid rgba(75,36,50,.18);
      border-radius: 28px;
      pointer-events: none;
      z-index: 2;
    }

    .invitation-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(120deg, transparent 0%, rgba(255,255,255,.34) 38%, transparent 68%),
        radial-gradient(circle at 80% 18%, rgba(75,36,50,.16), transparent 22%);
      pointer-events: none;
    }

    .invite-card-inner {
      position: relative;
      z-index: 3;
      min-height: 654px;
      padding: clamp(34px, 5vw, 58px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-radius: 26px;
      background:
        linear-gradient(180deg, rgba(255,250,243,.52), rgba(255,250,243,.20)),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.34), transparent 42%);
      backdrop-filter: blur(8px);
    }

    .invite-label {
      color: var(--wine-deep, #4b2432);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .24em;
      text-transform: uppercase;
      margin-bottom: 34px;
    }

    .invite-artist {
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: clamp(44px, 6vw, 86px);
      line-height: .86;
      color: var(--wine-deep, #4b2432);
      letter-spacing: .02em;
      max-width: 620px;
    }

    .invitation-card h3 {
      margin-top: 24px;
      font-family: 'Bebas Neue', 'Noto Sans Georgian', sans-serif;
      font-size: clamp(54px, 7vw, 112px);
      line-height: .86;
      color: var(--ink, #211b17);
      letter-spacing: .01em;
    }

    .invite-description {
      max-width: 620px;
      margin: 34px 0;
      color: rgba(33,27,23,.72);
      font-size: 18px;
      line-height: 1.85;
    }

    .invite-details {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin: 24px 0 34px;
    }

    .invite-details div {
      padding: 18px;
      border-radius: 18px;
      background: rgba(255,255,255,.30);
      border: 1px solid rgba(33,27,23,.12);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
    }

    .invite-details span {
      display: block;
      margin-bottom: 8px;
      color: rgba(33,27,23,.52);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .invite-details strong {
      display: block;
      color: var(--ink, #211b17);
      font-size: 15px;
      line-height: 1.35;
    }

    .invite-rsvp {
      align-self: flex-start;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 58px;
      padding: 0 34px;
      border-radius: 999px;
      background: linear-gradient(135deg, var(--wine-deep, #4b2432), var(--gold, #b78946));
      color: var(--text-on-dark, #fffaf3);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
      box-shadow: 0 22px 64px rgba(75,36,50,.24);
      transition: .25s ease;
    }

    .invite-rsvp:hover {
      transform: translateY(-3px);
      filter: brightness(1.05);
      box-shadow: 0 28px 84px rgba(75,36,50,.32);
    }

    .invite-footer {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      margin-top: 44px;
      padding-top: 22px;
      border-top: 1px solid rgba(33,27,23,.13);
      color: rgba(33,27,23,.58);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .invite-ornament {
      position: absolute;
      width: 180px;
      height: 180px;
      border: 1px solid rgba(75,36,50,.16);
      border-radius: 50%;
      z-index: 1;
    }

    .invite-ornament::before,
    .invite-ornament::after {
      content: "";
      position: absolute;
      inset: 24px;
      border: 1px solid rgba(183,137,70,.28);
      border-radius: 50%;
    }

    .invite-ornament::after {
      inset: 52px;
      border-color: rgba(75,36,50,.18);
    }

    .invite-ornament-top {
      right: -58px;
      top: -58px;
    }

    .invite-ornament-bottom {
      left: -70px;
      bottom: -70px;
    }

    html[lang="ka"] .invite-label,
    html[lang="ka"] .invite-download,
    html[lang="ka"] .invite-details span,
    html[lang="ka"] .invite-rsvp,
    html[lang="ka"] .invite-footer {
      letter-spacing: .04em;
      text-transform: none;
    }

    html[lang="ka"] .invite-artist {
      font-size: clamp(34px, 5vw, 68px);
      line-height: 1.08;
    }

    html[lang="ka"] .invitation-card h3 {
      font-size: clamp(40px, 5.8vw, 82px);
      line-height: 1.08;
    }

    @media print {
      body * {
        visibility: hidden;
      }

      .invitation-card,
      .invitation-card * {
        visibility: visible;
      }

      .invitation-card {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        min-height: 100vh;
        box-shadow: none;
        border-radius: 0;
      }

      .invite-rsvp {
        display: none;
      }
    }

    @media (max-width: 900px) {
      .invitation-section {
        padding: 92px 0;
      }

      .invitation-section::before {
        inset: 14px;
        border-radius: 28px;
      }

      .invitation-layout {
        grid-template-columns: 1fr;
        gap: 42px;
      }

      .invitation-card {
        min-height: auto;
        border-radius: 28px;
        padding: 12px;
      }

      .invite-card-inner {
        min-height: auto;
        padding: 32px 24px;
      }

      .invite-label {
        margin-bottom: 26px;
      }

      .invite-details {
        grid-template-columns: 1fr;
      }

      .invite-footer {
        flex-direction: column;
        gap: 10px;
      }
    }

  



/* Static news polishing */
.news-date {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--wine-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
.news-card .album-cover {
  background-image: radial-gradient(circle at 30% 20%, rgba(183,137,70,.28), transparent 28%), linear-gradient(135deg, rgba(127,64,84,.72), rgba(33,27,23,.55)), url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?q=80&w=1200&auto=format&fit=crop');
}
.news-card:nth-child(2) .album-cover {
  background-image: radial-gradient(circle at 70% 25%, rgba(183,137,70,.25), transparent 24%), linear-gradient(135deg, rgba(33,27,23,.58), rgba(127,64,84,.52)), url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?q=80&w=1200&auto=format&fit=crop');
}
.news-card:nth-child(3) .album-cover {
  background-image: radial-gradient(circle at 40% 60%, rgba(183,137,70,.22), transparent 25%), linear-gradient(135deg, rgba(127,64,84,.55), rgba(33,27,23,.62)), url('https://images.unsplash.com/photo-1506157786151-b8491531f063?q=80&w=1200&auto=format&fit=crop');
}
/* MOBILE POLISH FIX */
@media (max-width: 768px) {
  .container,
  .nav-wrap {
    width: calc(100% - 28px);
  }

  .site-header {
    height: 66px;
  }

  .logo {
    font-size: 15px;
    letter-spacing: .08em;
    max-width: 210px;
    white-space: normal;
    line-height: 1.2;
  }

  .hero {
    min-height: auto;
    padding: 95px 0 55px;
  }

  .hero-layout {
    gap: 28px;
  }

  .portrait-frame {
    min-height: 430px;
    border-radius: 28px;
    background-position: center top;
  }

  .portrait-frame::before {
    font-size: 10px;
    left: 18px;
    top: 18px;
    letter-spacing: .16em;
  }

  .portrait-caption {
    left: 20px;
    right: 20px;
    bottom: 22px;
  }

  .portrait-caption strong {
    font-size: 34px;
    line-height: 1;
  }

  .portrait-caption span {
    font-size: 12px;
    line-height: 1.5;
  }

  .hero h1 {
    font-size: 46px !important;
    line-height: 1.08 !important;
    padding-left: 16px;
    max-width: 100%;
  }

  .hero p {
    font-size: 16px !important;
    line-height: 1.75;
    margin: 22px 0 24px;
    padding-left: 16px;
  }

  .eyebrow,
  .section-kicker {
    font-size: 11px !important;
    letter-spacing: .04em !important;
  }

  .display-title {
    font-size: 38px !important;
    line-height: 1.12 !important;
  }

  section {
    padding: 64px 0;
  }

  .cards {
    gap: 18px;
    margin-top: 34px;
  }

  .card {
    min-height: auto;
    padding: 24px;
    border-radius: 22px;
  }

  .cover-card {
    min-height: auto;
  }

  .album-cover {
    height: 190px;
  }

  .contact-box {
    padding: 26px;
    border-radius: 24px;
  }

  .mini-player {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
  }

  .to-top {
    display: none;
  }
}
/* =========================================================
   PROFESSIONAL MOBILE-FIRST OVERRIDE — 10/10 PHONE POLISH
   Put this block at the very end of mtavari.css
   ========================================================= */
@media (max-width: 820px) {
  :root {
    --mobile-gutter: 18px;
    --mobile-radius: 24px;
  }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    background: linear-gradient(180deg, #efe7dc 0%, #d9ccbd 48%, #c7b6a5 100%);
  }

  body::before,
  .cursor-dot,
  .cursor-ring,
  .spotlight,
  .hero::before,
  .hero::after,
  .video-layer,
  .invitation-section::after {
    display: none !important;
  }

  .container,
  .nav-wrap {
    width: calc(100% - (var(--mobile-gutter) * 2)) !important;
    max-width: none;
  }

  .site-header {
    height: 68px;
    background: rgba(239, 231, 220, .86);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 10px 34px rgba(45, 35, 28, .10);
  }

  .nav-wrap {
    gap: 12px;
  }

  .logo {
    max-width: 230px;
    font-size: 15px !important;
    line-height: 1.15;
    letter-spacing: .08em !important;
    white-space: normal;
  }

  .logo::after {
    width: 42px;
    bottom: -7px;
  }

  .burger {
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .34);
    border: 1px solid rgba(33, 27, 23, .12);
    color: var(--wine-deep) !important;
    font-size: 24px;
    line-height: 1;
    flex: 0 0 auto;
  }

  .nav,
  .socials {
    display: none !important;
  }

  .mobile-open .nav {
    display: flex !important;
    position: fixed;
    left: var(--mobile-gutter);
    right: var(--mobile-gutter);
    top: 78px;
    z-index: 200;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    border-radius: 24px;
    background: rgba(250, 244, 236, .96) !important;
    border: 1px solid rgba(33, 27, 23, .12);
    box-shadow: 0 24px 80px rgba(45, 35, 28, .18);
  }

  .mobile-open .nav a {
    width: 100%;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .34);
    color: var(--ink);
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .03em !important;
    text-transform: none;
  }

  .hero {
    min-height: auto !important;
    padding: 92px 0 54px !important;
    display: block;
    background:
      radial-gradient(circle at 80% 8%, rgba(127, 64, 84, .16), transparent 30%),
      radial-gradient(circle at 8% 76%, rgba(183, 137, 70, .18), transparent 34%),
      linear-gradient(180deg, #f0e7db 0%, #dbcdbd 52%, #c8b8a8 100%) !important;
    box-shadow: none !important;
  }

  .hero-layout,
  .split,
  .contact-box,
  .invitation-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .portrait-frame {
    order: -1;
    min-height: clamp(390px, 108vw, 520px) !important;
    width: 100%;
    border-radius: 30px 30px 10px 30px !important;
    background-position: center top !important;
    box-shadow: 0 26px 70px rgba(45, 35, 28, .26) !important;
  }

  .portrait-frame::before {
    left: 18px;
    top: 18px;
    font-size: 9px;
    letter-spacing: .12em !important;
    color: rgba(255, 250, 243, .76);
  }

  .portrait-caption {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .portrait-caption strong {
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  .portrait-caption span {
    display: block;
    margin-top: 6px;
    font-size: 11px !important;
    line-height: 1.45;
    letter-spacing: .05em !important;
  }

  .hero-content {
    padding-top: 4px;
  }

  .eyebrow,
  .section-kicker {
    margin-bottom: 14px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    letter-spacing: .055em !important;
    text-transform: none !important;
  }

  .hero h1 {
    max-width: 100% !important;
    padding-left: 14px !important;
    border-left-width: 3px !important;
    font-size: clamp(44px, 14vw, 64px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }

  .hero p {
    max-width: 100% !important;
    margin: 22px 0 24px !important;
    padding-left: 14px !important;
    font-size: 15.5px !important;
    line-height: 1.75 !important;
    border-left-color: rgba(33, 27, 23, .14) !important;
  }

  .outline-btn,
  .dark-btn,
  .invite-rsvp,
  .invite-download,
  .submit {
    width: 100%;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.2;
    letter-spacing: .055em !important;
    text-align: center;
  }

  section,
  .invitation-section {
    padding: 66px 0 !important;
  }

  .display-title {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.04em !important;
  }

  .pink-section,
  .gradient-section,
  .contact,
  .invitation-section {
    background:
      radial-gradient(circle at 8% 0%, rgba(127, 64, 84, .13), transparent 30%),
      radial-gradient(circle at 95% 24%, rgba(183, 137, 70, .15), transparent 28%),
      linear-gradient(180deg, #e9ded1 0%, #d2c2b2 100%) !important;
  }

  .pink-section p,
  .about-text p,
  .card p,
  .contact-box p,
  .timeline-item p,
  .invitation-copy p,
  .invite-description {
    font-size: 15.5px !important;
    line-height: 1.78 !important;
    margin-top: 18px;
  }

  .festival-strip {
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin: 28px 0 34px !important;
    padding: 10px;
    border: 0 !important;
    border-radius: 24px;
    background: rgba(255, 255, 255, .28) !important;
  }

  .festival-strip div {
    border-right: 0 !important;
    border: 1px solid rgba(33, 27, 23, .10);
    border-radius: 18px;
    padding: 16px !important;
    background: rgba(255, 255, 255, .26);
  }

  .festival-strip strong {
    font-size: 24px !important;
  }

  .month {
    margin: 36px 0 12px !important;
    font-size: 32px !important;
    color: var(--wine) !important;
  }

  .concert-row {
    grid-template-columns: 52px 1fr !important;
    gap: 10px 14px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
    transform: none !important;
  }

  .day {
    font-size: 30px !important;
    line-height: 1;
  }

  .city {
    grid-column: 2 !important;
    grid-row: 1 !important;
    font-size: 16px !important;
    line-height: 1.35;
  }

  .ticket {
    grid-column: 2 !important;
    justify-self: start !important;
    padding: 9px 13px !important;
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }

  .cards {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 30px !important;
  }

  .card,
  .stat,
  .artist-quote,
  .contact-box,
  .invitation-card {
    border-radius: var(--mobile-radius) !important;
    box-shadow: 0 18px 52px rgba(55, 42, 34, .12) !important;
  }

  .card {
    min-height: auto !important;
    padding: 22px !important;
  }

  .cover-card {
    min-height: auto !important;
    gap: 18px;
  }

  .album-cover {
    height: 210px !important;
    margin-bottom: 18px !important;
    border-radius: 20px !important;
  }

  .card h3 {
    font-size: 29px !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
  }

  .card a,
  .news-date {
    font-size: 10px !important;
    letter-spacing: .05em !important;
  }

  .about-name {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.15 !important;
    margin-bottom: 24px !important;
  }

  .stats {
    gap: 14px !important;
  }

  .stat {
    padding: 22px !important;
  }

  .stat strong {
    font-size: 58px !important;
  }

  .stat span {
    font-size: 11px !important;
    line-height: 1.45;
    letter-spacing: .04em !important;
  }

  .artist-quote {
    margin-top: 34px !important;
    padding: 26px !important;
  }

  .artist-quote blockquote {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.2 !important;
  }

  .artist-quote span {
    margin-top: 16px !important;
    font-size: 10px !important;
    line-height: 1.5;
    letter-spacing: .045em !important;
  }

  .timeline {
    margin-top: 42px !important;
    padding-left: 24px !important;
  }

  .timeline-item {
    padding-bottom: 28px !important;
  }

  .timeline-item::before {
    left: -25px !important;
  }

  .timeline-item h4 {
    font-size: 28px !important;
    line-height: 1.2;
  }

  .gallery-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 14px !important;
    margin-top: 30px !important;
  }

  .gallery-item,
  .gallery-item:nth-child(1) {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 260px !important;
    border-radius: 22px !important;
  }

  .invitation-section::before {
    inset: 12px !important;
    border-radius: 28px !important;
  }

  .invitation-copy p {
    max-width: 100%;
  }

  .invitation-actions {
    gap: 12px !important;
  }

  .invitation-card {
    min-height: auto !important;
    padding: 10px !important;
  }

  .invitation-card::before {
    inset: 10px !important;
    border-radius: 20px !important;
  }

  .invite-card-inner {
    min-height: auto !important;
    padding: 26px 20px !important;
    border-radius: 18px !important;
  }

  .invite-label {
    margin-bottom: 18px !important;
    font-size: 10px !important;
    line-height: 1.5;
    letter-spacing: .05em !important;
  }

  .invite-artist {
    font-size: clamp(32px, 10vw, 46px) !important;
    line-height: 1.12 !important;
  }

  .invitation-card h3 {
    margin-top: 16px !important;
    font-size: clamp(36px, 12vw, 54px) !important;
    line-height: 1.06 !important;
  }

  .invite-details {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 20px 0 22px !important;
  }

  .invite-details div {
    padding: 15px !important;
    border-radius: 16px !important;
  }

  .invite-footer {
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 24px !important;
    padding-top: 16px !important;
    font-size: 10px !important;
    line-height: 1.45;
    letter-spacing: .04em !important;
  }

  .contact-box {
    padding: 24px !important;
  }

  input,
  textarea {
    min-height: 52px;
    padding: 15px 16px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }

  textarea {
    min-height: 118px;
  }

  .site-footer {
    padding: 58px 0 118px !important;
  }

  .footer-title {
    font-size: clamp(44px, 17vw, 74px) !important;
    line-height: .9 !important;
    margin-bottom: 28px !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center;
    font-size: 13px;
    line-height: 1.6;
  }

  .footer-links {
    flex-wrap: wrap;
  }

  .footer-copy {
    text-align: center !important;
  }

  .to-top {
    display: none !important;
  }

  .mobile-lang {
    display: inline-flex !important;
    right: 14px;
    bottom: 88px !important;
    z-index: 160;
    min-height: 40px;
    padding: 0 13px;
    align-items: center;
    justify-content: center;
  }

  .mini-player {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
    padding: 10px 12px !important;
    gap: 10px !important;
    border-radius: 18px !important;
    background: rgba(248, 241, 232, .90) !important;
    border-color: rgba(33, 27, 23, .12) !important;
    box-shadow: 0 12px 44px rgba(45, 35, 28, .18) !important;
  }

  .player-btn {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px;
  }

  .player-meta strong {
    font-size: 12px !important;
    color: var(--ink) !important;
  }

  .player-meta span {
    font-size: 9px !important;
    letter-spacing: .05em !important;
  }

  .wave {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .logo {
    max-width: 190px;
    font-size: 13px !important;
  }

  .hero h1 {
    font-size: 40px !important;
  }

  .portrait-frame {
    min-height: 360px !important;
  }

  .album-cover {
    height: 178px !important;
  }

  .display-title {
    font-size: 32px !important;
  }
}
