  /* ============ TOKENS ============ */
  :root{
    --obsidian:#08080a;
    --graphite:#141417;
    --graphite-2:#1c1c20;
    --stone:#b6b0a6;
    --champagne:#f7f1e4;
    --gold:#c9a25d;
    --gold-soft:#e3c78a;
    --gold-dim: rgba(201,162,93,0.35);
    --line: rgba(233,220,196,0.1);
    --glass: rgba(255,255,255,0.045);
    --glass-border: rgba(255,255,255,0.1);

    --f-display:'Playfair Display', serif;
    --f-body:'Inter', sans-serif;

    --ease: cubic-bezier(.16,.84,.44,1);
    --container: 1240px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
  ::selection{background:var(--gold-dim);color:var(--champagne);}

  body{
    background:var(--obsidian);
    color:var(--champagne);
    font-family:var(--f-body);
    font-weight:400;
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
    max-width:100%;
    width:100%;
    position:relative;
    cursor:none;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }

  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  video{max-width:100%;}
  button{font-family:inherit;border:none;background:none;cursor:none;}
  ul{list-style:none;}

  .wrap{max-width:var(--container);margin:0 auto;padding:0 40px;width:100%;}

  ::-webkit-scrollbar{width:6px;}
  ::-webkit-scrollbar-track{background:var(--obsidian);}
  ::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:10px;}

  @media (hover:hover){
    body{cursor:none;}
  }
  @media (hover:none){
    body{cursor:auto;}
    .cursor-core,.cursor-ring{display:none;}
  }

  /* ============ CUSTOM CURSOR ============ */
  .cursor-core{
    position:fixed;top:0;left:0;
    width:6px;height:6px;border-radius:50%;
    background:var(--gold-soft);
    pointer-events:none;
    z-index:9999;
    transform:translate(-50%,-50%);
    box-shadow:0 0 8px 2px rgba(227,199,138,0.7);
    transition:width .25s var(--ease), height .25s var(--ease), background .25s var(--ease);
  }
  .cursor-ring{
    position:fixed;top:0;left:0;
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--gold-dim);
    background:radial-gradient(circle, rgba(201,162,93,0.10) 0%, rgba(201,162,93,0) 70%);
    filter:blur(0.4px);
    pointer-events:none;
    z-index:9998;
    transform:translate(-50%,-50%);
    transition:width .35s var(--ease), height .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
  }
  .cursor-core.hover{width:10px;height:10px;background:var(--champagne);}
  .cursor-ring.hover{width:70px;height:70px;border-color:var(--gold-soft);background:radial-gradient(circle, rgba(201,162,93,0.16) 0%, rgba(201,162,93,0) 70%);}
  .cursor-ring.click{width:30px;height:30px;}

  /* ============ SCROLL PROGRESS THREAD (signature element) ============ */
  .thread{
    position:fixed;
    top:0; left:0;
    width:3px; height:100vh;
    z-index:60;
    pointer-events:none;
  }
  .thread svg{width:100%;height:100%;overflow:visible;}
  .thread-line{
    fill:none;
    stroke:url(#threadGrad);
    stroke-width:2;
    stroke-dasharray:1;
    stroke-dashoffset:1;
    pathLength:1;
  }

  /* ============ NAV ============ */
  /* Header завжди понад усім контентом сторінки (виправлення накладення) */
  header{
    position:fixed;top:0;left:0;width:100%;
    z-index:1000;
    padding:26px 0;
    transition:padding .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
    border-bottom:1px solid transparent;
    opacity:0;
    transform:translateY(-16px);
  }
  header.header-in{
    opacity:1;
    transform:translateY(0);
    transition:opacity .9s var(--ease), transform .9s var(--ease);
  }
  header.scrolled{
    padding:16px 0;
    background:rgba(8,8,10,0.78);
    backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 40px rgba(0,0,0,0.35);
  }
  /* Резерв простору під фіксований header, щоб заголовки секцій ніколи не заходили під меню */
  section, .hero{scroll-margin-top:100px;}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1001;}
  .logo{
    font-family:var(--f-display);
    font-size:26px;
    letter-spacing:0.12em;
    font-weight:500;
    color:var(--champagne);
  }
  .logo span{color:var(--gold);}
  nav ul{display:flex;gap:48px;}
  nav a{
    font-size:12px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    white-space:nowrap;
    color:var(--stone);
    position:relative;
    padding-bottom:4px;
    transition:color .35s var(--ease), text-shadow .35s var(--ease);
  }
  nav a::after{
    content:'';
    position:absolute;left:0;bottom:0;
    width:0;height:1px;
    background:var(--gold);
    box-shadow:0 0 8px 1px var(--gold-dim);
    transition:width .4s var(--ease);
  }
  nav a:hover{color:var(--champagne);text-shadow:0 0 14px rgba(201,162,93,0.45);}
  nav a:hover::after{width:100%;}
  /* Активний пункт меню під час прокрутки */
  nav a.active{color:var(--gold-soft);text-shadow:0 0 16px rgba(201,162,93,0.5);}
  nav a.active::after{width:100%;}

  .nav-cta{
    position:relative;
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    padding:13px 26px;
    border:1px solid var(--gold-dim);
    border-radius:2px;
    color:var(--champagne);
    transition:all .4s var(--ease), box-shadow .4s var(--ease);
    box-shadow:0 0 0 rgba(201,162,93,0);
    white-space:nowrap;
  }
  .nav-cta .cta-short{display:none;}
  .nav-cta:hover{
    background:var(--gold);border-color:var(--gold);color:var(--obsidian);
    box-shadow:0 0 24px 4px rgba(201,162,93,0.45), 0 8px 30px rgba(201,162,93,0.25);
  }
  .nav-toggle{display:none;}

  /* ============ HERO ============ */
  .hero{
    position:relative;
    height:100vh;
    min-height:640px;
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero-media{
    position:absolute;inset:0;
    z-index:0;
  }
  .hero-media video{
    position:absolute;top:50%;left:50%;
    width:100%;height:100%;
    min-width:100%;min-height:100%;
    object-fit:cover;
    transform:translate(-50%,-50%);
    filter:saturate(0.85) brightness(0.75);
  }
  .hero-overlay{
    position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(8,8,10,0.6) 0%, rgba(8,8,10,0.42) 42%, rgba(8,8,10,0.6) 68%, rgba(8,8,10,0.92) 100%),
      radial-gradient(ellipse at 50% 42%, rgba(201,162,93,0.10), transparent 60%);
    z-index:1;
  }
  .hero-grain{
    position:absolute;inset:0;
    opacity:0.05;
    z-index:2;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .hero-content{
    position:relative;z-index:3;
    width:100%;
    padding:64px 0 0;
  }
  .hero-eyebrow{
    display:flex;align-items:center;gap:16px;
    font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:26px;
    opacity:0;
    text-shadow:0 2px 14px rgba(0,0,0,0.55);
  }
  .hero-eyebrow::before{
    content:'';width:40px;height:1px;background:var(--gold);
  }
  .hero h1{
    font-family:var(--f-display);
    font-weight:600;
    font-size:clamp(44px, 7.6vw, 108px);
    line-height:1.05;
    letter-spacing:-0.005em;
    max-width:920px;
    color:var(--champagne);
    text-shadow:0 4px 26px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.4);
  }
  .hero h1 em{font-style:italic;color:var(--gold-soft);font-weight:500;}
  .hero-line{overflow:hidden;}
  .hero-line span{display:inline-block;transform:translateY(110%);}

  .hero-sub{
    margin-top:28px;
    font-size:19px;
    font-weight:400;
    letter-spacing:0.02em;
    line-height:1.65;
    color:var(--champagne);
    max-width:440px;
    opacity:0;
    text-shadow:0 2px 16px rgba(0,0,0,0.55);
  }

  .hero-cta-group{display:flex;align-items:center;gap:28px;opacity:0;margin-top:52px;flex-wrap:wrap;}

  .btn-primary{
    position:relative;
    display:inline-flex;align-items:center;gap:12px;
    padding:19px 38px;
    font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--obsidian);
    background:var(--gold);
    border-radius:2px;
    overflow:hidden;
    isolation:isolate;
    box-shadow:0 0 0 rgba(201,162,93,0), 0 10px 30px rgba(201,162,93,0.14);
    transition:box-shadow .5s var(--ease), transform .5s var(--ease);
  }
  .btn-primary span{position:relative;z-index:2;}
  .btn-primary::before{
    content:'';position:absolute;inset:0;
    background:var(--gold-soft);
    transform:translateX(-101%);
    transition:transform .5s var(--ease);
    z-index:1;
  }
  .btn-primary:hover::before{transform:translateX(0);}
  .btn-primary:hover{
    box-shadow:0 0 30px 6px rgba(201,162,93,0.5), 0 14px 40px rgba(201,162,93,0.28);
    transform:translateY(-2px);
  }

  .btn-ghost{
    display:inline-flex;align-items:center;gap:12px;
    font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--champagne);
    padding-bottom:4px;
    border-bottom:1px solid var(--line);
    transition:border-color .3s var(--ease), color .3s var(--ease), gap .3s var(--ease), text-shadow .3s var(--ease);
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);gap:18px;text-shadow:0 0 14px rgba(201,162,93,0.4);}
  .btn-ghost svg{width:16px;height:16px;transition:transform .3s var(--ease);}
  .btn-ghost:hover svg{transform:translateX(4px);}

  /* Підказка "Прокрутіть", зафіксована в нижньому правому куті Hero */
  .hero-scroll{
    position:absolute;
    right:40px;bottom:40px;
    z-index:4;
    display:flex;flex-direction:column;align-items:center;gap:14px;
    opacity:0;
  }
  .hero-scroll span{
    font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--stone);
    writing-mode:vertical-rl;
  }
  .scroll-line{
    width:1px;height:64px;
    background:linear-gradient(180deg, var(--gold) 0%, transparent 100%);
    position:relative;
    overflow:hidden;
  }
  .scroll-line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
    background:var(--champagne);
    animation:scrollDrop 2.2s ease-in-out infinite;
  }
  @keyframes scrollDrop{
    0%{top:-100%;}
    60%{top:100%;}
    100%{top:100%;}
  }

  /* ============ HERO DOT INDICATORS (преміальні буліти) ============ */
  .hero-dots{
    position:absolute;
    left:0;right:0;bottom:44px;
    z-index:4;
    display:flex;align-items:center;justify-content:center;
    gap:16px;
    opacity:0;
  }
  .hero-dot{
    width:7px;height:7px;border-radius:50%;
    background:rgba(233,220,196,0.28);
    border:1px solid transparent;
    cursor:none;
    transition:width .55s var(--ease), background .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  }
  .hero-dot:hover{background:rgba(233,220,196,0.55);}
  .hero-dot.active{
    width:30px;border-radius:5px;
    background:var(--gold);
    box-shadow:0 0 16px 3px rgba(201,162,93,0.55);
    border-color:rgba(233,220,196,0.35);
  }

  /* ============ SECTION GENERICS ============ */
  section{position:relative;padding:170px 0;}
  .eyebrow{
    display:flex;align-items:center;gap:16px;
    font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
    color:var(--gold-soft);margin-bottom:22px;
  }
  .eyebrow::before{content:'';width:40px;height:1px;background:var(--gold);}
  h2{
    font-family:var(--f-display);
    font-weight:600;
    font-size:clamp(36px, 4.8vw, 60px);
    line-height:1.12;
    letter-spacing:0.005em;
    color:var(--champagne);
  }
  h2 em{font-style:italic;font-weight:500;color:var(--gold-soft);}
  .section-sub{
    margin-top:20px;
    font-size:17px;line-height:1.85;
    color:var(--stone);
    max-width:520px;
  }
  .reveal{opacity:0;transform:translateY(46px);}
  .reveal-scale{opacity:0;transform:scale(0.92);}

  /* ============ ABOUT ============ */
  .about{
    background:linear-gradient(180deg, var(--obsidian), var(--graphite) 60%, var(--obsidian));
  }
  .about-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:90px;
    align-items:center;
  }
  .about-media{
    position:relative;
    border-radius:4px;
    overflow:hidden;
    aspect-ratio:4/5;
  }
  .about-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.8) brightness(0.85);}
  .about-media::after{
    content:'';position:absolute;inset:0;
    border:1px solid var(--glass-border);
    box-shadow:inset 0 0 80px rgba(0,0,0,0.5);
  }
  .about-frame{
    position:absolute;
    top:-22px;right:-22px;
    width:70%;height:70%;
    border:1px solid var(--gold-dim);
    border-radius:4px;
    z-index:-1;
  }
  .about-text .lead{
    font-family:var(--f-display);
    font-size:clamp(24px,2.6vw,32px);
    font-weight:500;
    line-height:1.55;
    color:var(--champagne);
    margin:26px 0 34px;
  }
  .about-text .lead em{color:var(--gold-soft);font-style:italic;font-weight:500;}
  .about-stats{
    display:flex;gap:48px;
    margin-top:48px;
    padding-top:40px;
    border-top:1px solid var(--line);
  }
  .stat-num{
    font-family:var(--f-display);
    font-size:44px;font-weight:400;color:var(--gold-soft);
  }
  .stat-label{
    font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone);
    margin-top:8px;
  }

  /* ============ SERVICES ============ */
  .services{background:var(--obsidian);}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    margin-bottom:80px;gap:40px;flex-wrap:wrap;
  }
  .services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .service-card{
    position:relative;
    background:var(--obsidian);
    padding:48px 32px 40px;
    min-height:420px;
    display:flex;flex-direction:column;
    overflow:hidden;
    transition:background .5s var(--ease), box-shadow .5s var(--ease);
  }
  .service-card::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 50% 0%, rgba(201,162,93,0.14), transparent 65%);
    opacity:0;
    transition:opacity .5s var(--ease);
  }
  .service-card:hover::before{opacity:1;}
  .service-card:hover{
    background:var(--graphite);
    box-shadow:inset 0 1px 0 rgba(201,162,93,0.25), 0 30px 60px -20px rgba(201,162,93,0.22);
    z-index:2;
  }
  .service-icon{
    width:52px;height:52px;
    margin-bottom:36px;
    color:var(--gold-soft);
    transition:transform .5s var(--ease), filter .5s var(--ease);
  }
  .service-card:hover .service-icon{transform:translateY(-6px) scale(1.06);filter:drop-shadow(0 0 12px rgba(201,162,93,0.55));}
  .service-num{
    position:absolute;top:36px;right:32px;
    font-family:var(--f-display);font-style:italic;
    font-size:14px;color:var(--stone);
  }
  .service-card h3{
    font-family:var(--f-display);font-weight:600;
    font-size:27px;color:var(--champagne);margin-bottom:14px;
    letter-spacing:0.005em;
  }
  .service-card p{
    font-size:15px;line-height:1.8;color:var(--stone);
    flex:1;
  }
  .service-price{
    margin-top:28px;padding-top:22px;
    border-top:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;
  }
  .service-price .price{font-family:var(--f-display);font-size:22px;color:var(--gold-soft);}
  .service-price .dur{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);}
  .service-arrow{
    width:34px;height:34px;border-radius:50%;
    border:1px solid var(--gold-dim);
    display:flex;align-items:center;justify-content:center;
    transition:all .4s var(--ease);
  }
  .service-card:hover .service-arrow{background:var(--gold);border-color:var(--gold);transform:rotate(45deg);}
  .service-arrow svg{width:14px;height:14px;color:var(--gold-soft);transition:color .3s;}
  .service-card:hover .service-arrow svg{color:var(--obsidian);}

  /* ============ GALLERY ============ */
  .gallery{background:linear-gradient(180deg, var(--obsidian), var(--graphite) 50%, var(--obsidian));}
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    /* Явна висота кожного ряду — останній ряд навмисно вищий під "банерне" фото */
    grid-template-rows:180px 180px 260px;
    gap:14px;
  }
  .g-item{
    position:relative;
    overflow:hidden;
    border-radius:3px;
    cursor:none;
    isolation:isolate;
  }
  .g-item img{
    display:block;
    width:100%;height:100%;object-fit:cover;
    filter:saturate(0.85) brightness(0.82);
    transition:transform 1s var(--ease), filter .6s var(--ease);
  }
  .g-item:hover img{transform:scale(1.12);filter:saturate(1) brightness(0.95);}
  .g-item::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(8,8,10,0.85) 100%);
    opacity:0;transition:opacity .5s var(--ease);
    pointer-events:none;
  }
  .g-item:hover::after{opacity:1;}
  .g-caption{
    position:absolute;left:20px;right:20px;bottom:16px;
    font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--champagne);
    opacity:0;transform:translateY(10px);
    transition:all .5s var(--ease);
    z-index:2;
    line-height:1.5;
  }
  .g-item:hover .g-caption{opacity:1;transform:translateY(0);}

  /* Кожна плитка розміщена явно за координатами — без авто-розстановки браузера,
     тому сітка завжди заповнює прямокутник 4×3 повністю, без порожніх зон */
  .gallery-grid .g-item:nth-child(1){grid-column:1; grid-row:1 / span 2;}
  .gallery-grid .g-item:nth-child(2){grid-column:2 / span 2; grid-row:1;}
  .gallery-grid .g-item:nth-child(3){grid-column:4; grid-row:1;}
  .gallery-grid .g-item:nth-child(4){grid-column:2; grid-row:2;}
  .gallery-grid .g-item:nth-child(5){grid-column:3 / span 2; grid-row:2;}
  .gallery-grid .g-item:nth-child(6){grid-column:1 / -1; grid-row:3;}

  /* ============ BENEFITS ============ */
  .benefits{background:var(--obsidian);}
  .benefits-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:2px;
    background:var(--line);border:1px solid var(--line);
    margin-top:80px;
  }
  .benefit{
    background:var(--obsidian);
    padding:52px 40px;
    transition:background .5s var(--ease), box-shadow .5s var(--ease);
    position:relative;
  }
  .benefit:hover{
    background:var(--graphite);
    box-shadow:inset 0 1px 0 rgba(201,162,93,0.22), 0 24px 50px -18px rgba(201,162,93,0.2);
    z-index:2;
  }
  .benefit-icon{width:38px;height:38px;color:var(--gold-soft);margin-bottom:26px;transition:filter .5s var(--ease);}
  .benefit:hover .benefit-icon{filter:drop-shadow(0 0 10px rgba(201,162,93,0.5));}
  .benefit h4{font-family:var(--f-display);font-size:22px;font-weight:600;color:var(--champagne);margin-bottom:12px;}
  .benefit p{font-size:15px;line-height:1.8;color:var(--stone);}

  /* ============ TESTIMONIALS ============ */
  .testimonials{
    background:radial-gradient(ellipse at 50% 0%, rgba(201,162,93,0.06), transparent 60%), var(--graphite);
  }
  .t-track-wrap{overflow:hidden;margin-top:80px;}
  .t-track{
    display:flex;gap:28px;
    transition:transform .7s var(--ease);
  }
  .t-card{
    flex:0 0 calc(33.333% - 19px);
    background:var(--glass);
    border:1px solid var(--glass-border);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-radius:6px;
    padding:44px 38px;
    display:flex;flex-direction:column;
    transition:border-color .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease);
  }
  .t-card:hover{
    border-color:var(--gold-dim);
    box-shadow:0 30px 60px -24px rgba(201,162,93,0.28), 0 0 40px -10px rgba(201,162,93,0.18);
    transform:translateY(-4px);
  }
  .t-stars{display:flex;gap:5px;margin-bottom:24px;}
  .t-stars svg{width:15px;height:15px;color:var(--gold-soft);}
  .t-card p{font-size:16.5px;line-height:1.85;color:var(--champagne);font-weight:400;flex:1;}
  .t-author{display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}
  .t-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:saturate(0.8);}
  .t-name{font-size:14px;color:var(--champagne);letter-spacing:0.02em;}
  .t-role{font-size:11px;color:var(--stone);letter-spacing:0.06em;margin-top:2px;}
  .t-controls{display:flex;gap:14px;margin-top:48px;justify-content:center;}
  .t-dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:all .4s var(--ease);cursor:none;}
  .t-dot.active{background:var(--gold);width:26px;border-radius:4px;box-shadow:0 0 12px 2px rgba(201,162,93,0.55);}
  .t-dot:hover{background:var(--gold-dim);}

  /* ============ BOOKING ============ */
  .booking{background:var(--obsidian);}
  .booking-panel{
    display:grid;grid-template-columns:1fr 1fr;
    background:var(--graphite);
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    transition:box-shadow .6s var(--ease), border-color .6s var(--ease);
  }
  .booking-panel:hover{
    border-color:var(--gold-dim);
    box-shadow:0 40px 90px -30px rgba(201,162,93,0.22);
  }
  .booking-info{
    padding:70px 60px;
    background:
      linear-gradient(160deg, rgba(201,162,93,0.10), transparent 60%),
      var(--graphite-2);
    display:flex;flex-direction:column;justify-content:center;
    position:relative;
  }
  .booking-info h2{margin-bottom:22px;}
  .booking-info p{color:var(--stone);font-size:15.5px;line-height:1.85;margin-bottom:40px;max-width:380px;}
  .booking-list li{
    display:flex;align-items:center;gap:14px;
    font-size:14px;color:var(--champagne);
    padding:14px 0;border-top:1px solid var(--line);
  }
  .booking-list li:last-child{border-bottom:1px solid var(--line);}
  .booking-list svg{width:16px;height:16px;color:var(--gold-soft);flex-shrink:0;}

  .booking-form{padding:70px 60px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .field{margin-bottom:24px;position:relative;}
  .field label{
    display:block;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--stone);margin-bottom:10px;
  }
  .field input, .field textarea, .field select{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid var(--line);
    padding:12px 2px;
    font-family:var(--f-body);
    font-size:15px;font-weight:300;
    color:var(--champagne);
    transition:border-color .4s var(--ease);
  }
  .field select option{background:var(--graphite);}
  .field input:focus, .field textarea:focus, .field select:focus{
    outline:none;border-color:var(--gold);
    box-shadow:0 6px 16px -8px rgba(201,162,93,0.5);
  }
  .field textarea{resize:none;min-height:90px;}
  .field input::placeholder, .field textarea::placeholder{color:#5c5852;}
  .submit-row{display:flex;align-items:center;gap:22px;margin-top:12px;}
  .form-note{font-size:12px;color:var(--stone);}
  .btn-primary[type="submit"]{width:100%;justify-content:center;}
  .form-success{
    margin-top:18px;font-size:13px;color:var(--gold-soft);
    display:none;letter-spacing:0.04em;
  }
  .form-success.show{display:block;}

  /* ============ CONTACT ============ */
  .contact{background:linear-gradient(180deg, var(--obsidian), var(--graphite) 100%);}
  .contact-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:2px;background:var(--line);border:1px solid var(--line);
    margin-top:70px;
  }
  .contact-card{background:var(--obsidian);padding:44px 38px;}
  .contact-card svg{width:26px;height:26px;color:var(--gold-soft);margin-bottom:22px;}
  .contact-card h4{font-family:var(--f-display);font-size:20px;font-weight:500;color:var(--champagne);margin-bottom:10px;}
  .contact-card p{font-size:15px;color:var(--stone);line-height:1.75;}
  .map-strip{
    margin-top:2px;
    height:340px;
    background:
      linear-gradient(180deg, rgba(8,8,10,0.3), rgba(8,8,10,0.75)),
      repeating-linear-gradient(45deg, #131316 0 2px, #0c0c0e 2px 40px);
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);position:relative;overflow:hidden;
  }
  .map-pin{
    display:flex;flex-direction:column;align-items:center;gap:14px;
  }
  .map-pin .pin-dot{
    width:16px;height:16px;border-radius:50%;background:var(--gold);
    box-shadow:0 0 0 8px rgba(201,162,93,0.15), 0 0 30px rgba(201,162,93,0.5);
    animation:pinPulse 2.4s ease-in-out infinite;
  }
  @keyframes pinPulse{0%,100%{box-shadow:0 0 0 8px rgba(201,162,93,0.15),0 0 30px rgba(201,162,93,0.5);}50%{box-shadow:0 0 0 14px rgba(201,162,93,0.06),0 0 40px rgba(201,162,93,0.7);}}
  .map-pin span{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone);}

  /* ============ FOOTER ============ */
  footer{background:var(--obsidian);border-top:1px solid var(--line);padding:90px 0 30px;}
  .footer-top{
    display:grid;grid-template-columns:1.4fr 0.8fr 0.8fr 1fr;
    gap:60px;padding-bottom:70px;
  }
  .footer-logo{font-family:var(--f-display);font-size:30px;color:var(--champagne);margin-bottom:20px;}
  .footer-logo span{color:var(--gold);}
  .footer-top p{font-size:15px;color:var(--stone);line-height:1.85;max-width:280px;}
  .footer-col h5{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:22px;}
  .footer-col ul li{margin-bottom:14px;}
  .footer-col a{font-size:15px;color:var(--stone);transition:color .3s var(--ease);}
  .footer-col a:hover{color:var(--champagne);}
  .footer-social{display:flex;gap:14px;margin-top:24px;}
  .footer-social a{
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    transition:all .35s var(--ease);
  }
  .footer-social a:hover{border-color:var(--gold);background:var(--gold);}
  .footer-social a:hover svg{color:var(--obsidian);}
  .footer-social svg{width:15px;height:15px;color:var(--stone);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:32px;border-top:1px solid var(--line);
    font-size:12px;color:var(--stone);flex-wrap:wrap;gap:14px;
  }
  .footer-bottom a{color:var(--stone);}
  .footer-bottom a:hover{color:var(--gold-soft);}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1024px){
    nav ul{display:none;}
    .nav-toggle{display:block;width:26px;height:18px;position:relative;}
    .nav-toggle span{position:absolute;left:0;width:100%;height:1px;background:var(--champagne);}
    .nav-toggle span:nth-child(1){top:0;}
    .nav-toggle span:nth-child(2){top:8px;width:70%;}
    .nav-toggle span:nth-child(3){top:16px;}
  }
  @media (max-width:1080px){
    .about-grid{grid-template-columns:1fr;gap:60px;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .benefits-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr 1fr;row-gap:50px;}
    .gallery-grid{
      grid-template-columns:repeat(3,1fr);
      grid-template-rows:170px 170px 220px;
    }
    .gallery-grid .g-item:nth-child(1){grid-column:1; grid-row:1 / span 2;}
    .gallery-grid .g-item:nth-child(2){grid-column:2; grid-row:1;}
    .gallery-grid .g-item:nth-child(3){grid-column:3; grid-row:1;}
    .gallery-grid .g-item:nth-child(4){grid-column:2; grid-row:2;}
    .gallery-grid .g-item:nth-child(5){grid-column:3; grid-row:2;}
    .gallery-grid .g-item:nth-child(6){grid-column:1 / -1; grid-row:3;}
    .t-card{flex:0 0 calc(50% - 14px);}
  }
  @media (max-width:760px){
    .wrap{padding:0 22px;}
    nav ul{display:none;}
    .nav-toggle{display:block;width:26px;height:18px;position:relative;}
    .nav-toggle span{position:absolute;left:0;width:100%;height:1px;background:var(--champagne);}
    .nav-toggle span:nth-child(1){top:0;}
    .nav-toggle span:nth-child(2){top:8px;width:70%;}
    .nav-toggle span:nth-child(3){top:16px;}
    .logo{font-size:21px;}
    .nav-cta{padding:11px 16px;font-size:9.5px;}
    .nav-cta .cta-full{display:none;}
    .nav-cta .cta-short{display:inline;}
    .hero-content{padding-top:44px;}
    .hero-cta-group{gap:20px;}
    .hero-scroll{display:none;}
    .hero-dots{bottom:28px;gap:12px;}
    .about-frame{top:-12px;right:-12px;width:60%;height:60%;}
    .about-stats{gap:28px;flex-wrap:wrap;}
    .g-caption{left:14px;right:14px;bottom:12px;font-size:10px;letter-spacing:0.08em;}
    .services-grid{grid-template-columns:1fr;}
    .gallery-grid{
      grid-template-columns:repeat(2,1fr);
      grid-template-rows:150px 150px 150px 190px;
    }
    .gallery-grid .g-item:nth-child(1){grid-column:1; grid-row:1 / span 2;}
    .gallery-grid .g-item:nth-child(2){grid-column:2; grid-row:1;}
    .gallery-grid .g-item:nth-child(3){grid-column:2; grid-row:2;}
    .gallery-grid .g-item:nth-child(4){grid-column:1; grid-row:3;}
    .gallery-grid .g-item:nth-child(5){grid-column:2; grid-row:3;}
    .gallery-grid .g-item:nth-child(6){grid-column:1 / -1; grid-row:4;}
    .booking-panel{grid-template-columns:1fr;}
    .booking-info,.booking-form{padding:48px 28px;}
    .form-row{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr;gap:40px;}
    section{padding:110px 0;}
    .t-card{flex:0 0 100%;}
    .thread{display:none;}
  }
