
  :root{
    --cream:#f8f3ea;
    --stone:#ece3d3;
    --ink:#1d1815;
    --wine:#6c2b35;
    --wine-dark:#4a1d24;
    --gold:#b8944f;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--cream); color:var(--ink); font-family:'Jost',sans-serif; font-size:16px; line-height:1.65; overflow-x:hidden;}
  h1,h2,h3,.serif{font-family:'Bodoni Moda',serif;}
  a{color:inherit; text-decoration:none;}
  .container{max-width:1120px; margin:0 auto; padding:0 24px;}
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:none;}

  /* NAV */
  nav{position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:20px 24px; transition:background .3s ease, padding .3s ease, box-shadow .3s ease;}
  nav.scrolled{background:rgba(29,24,21,0.94); backdrop-filter:blur(8px); padding:13px 24px; box-shadow:0 6px 24px rgba(0,0,0,.18);}
  .logo{font-family:'Bodoni Moda',serif; font-weight:700; font-size:26px; letter-spacing:.3px; color:var(--cream); text-shadow:0 0 14px rgba(233,201,143,.5), 0 0 34px rgba(233,201,143,.25);}
  .logo em{font-style:italic; font-weight:600; color:#e9c98f;}
  .logo--footer{font-size:20px;}
  /* тач-таргет ссылки-логотипа в шапке — не меньше 44px по высоте */
  nav .logo{min-height:44px; line-height:44px;}
  .nav-links{display:flex; gap:26px; align-items:center;}
  .nav-links a.nl{color:var(--cream); font-size:13.5px; font-weight:500; letter-spacing:.3px; opacity:.85;}
  .lang-toggle{display:flex; border:1px solid rgba(248,243,234,.35); border-radius:20px; overflow:hidden; font-size:11px; font-weight:700;}
  .lang-toggle button{background:none; border:none; color:var(--cream); padding:6px 10px; cursor:pointer; font-family:'Jost',sans-serif; font-weight:700; opacity:.6; letter-spacing:.4px; white-space:nowrap;}
  .lang-toggle button.active{background:#e9c98f; opacity:1; color:var(--ink);}
  .cta-tg{background:var(--wine); color:#fff; padding:11px 22px; border-radius:30px; font-weight:600; font-size:13px; letter-spacing:.2px; display:inline-flex; align-items:center; gap:8px; transition:transform .2s ease, background .2s ease;}
  .cta-tg:hover{background:var(--wine-dark); transform:translateY(-1px);}
  .burger{display:none;}

  /* HERO */
  .hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; background:
      radial-gradient(ellipse at 75% 15%, rgba(184,148,79,.25), transparent 55%),
      linear-gradient(180deg, #2a201d 0%, var(--ink) 55%, #120d0b 100%);
    color:var(--cream); padding-top:110px;}
  .hero::before{content:''; position:absolute; inset:0; background-image:
      repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 90px);
    mix-blend-mode:overlay;}
  .hero-inner{position:relative; z-index:2; padding-bottom:56px; width:100%;}
  .badge{display:inline-flex; align-items:center; gap:10px; background:rgba(248,243,234,.08); border:1px solid rgba(248,243,234,.2); padding:9px 18px; border-radius:30px; font-size:12.5px; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:28px; color:#e9c98f;}
  .badge .dot{width:6px; height:6px; border-radius:50%; background:#e9c98f;}
  .hero h1{font-size:clamp(36px,6.6vw,64px); font-weight:500; line-height:1.08; max-width:760px;}
  .hero h1 i{font-style:italic; color:#e9c98f; font-weight:500;}
  .hero p.sub{margin-top:22px; max-width:480px; font-size:16.5px; color:rgba(248,243,234,.72);}
  .stat-row{display:flex; gap:36px; margin-top:44px; flex-wrap:wrap;}
  .stat-row div b{display:block; font-family:'Bodoni Moda',serif; font-size:30px; font-weight:500; color:#e9c98f;}
  .stat-row div span{font-size:12.5px; color:rgba(248,243,234,.6); letter-spacing:.2px;}
  .hero-ctas{margin-top:40px; display:flex; gap:14px; flex-wrap:wrap;}
  .btn-solid{background:#e9c98f; color:var(--ink); padding:15px 28px; border-radius:32px; font-weight:600; font-size:14px; transition:transform .2s ease;}
  .btn-solid:hover{transform:translateY(-2px);}
  .btn-line{border:1px solid rgba(248,243,234,.4); color:var(--cream); padding:15px 28px; border-radius:32px; font-weight:500; font-size:14px;}

  /* PROMO / COUNTDOWN STRIP */
  .promo{background:var(--wine); color:#fff;}
  .promo-inner{display:flex; align-items:center; justify-content:space-between; gap:30px; padding:34px 24px; flex-wrap:wrap;}
  .promo-text .eyebrow{font-size:12px; text-transform:uppercase; letter-spacing:1.5px; color:#e9c98f; margin-bottom:8px; font-weight:600;}
  .promo-text h3{font-family:'Bodoni Moda',serif; font-size:24px; font-weight:500; max-width:380px;}
  .timer-block{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .timer{display:flex; gap:10px;}
  .timer .chip{background:var(--ink); border-radius:10px; padding:12px 14px; min-width:62px; text-align:center;}
  .timer .chip b{display:block; font-family:'Bodoni Moda',serif; font-size:24px; font-weight:600;}
  .timer .chip span{font-size:10px; letter-spacing:.5px; text-transform:uppercase; color:rgba(248,243,234,.6);}

  /* SECTION generic */
  section{padding:96px 0;}
  .section-head{max-width:600px; margin-bottom:52px;}
  .eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:12.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--wine); margin-bottom:16px; font-weight:600;}
  .eyebrow::before{content:''; width:26px; height:1px; background:var(--gold);}
  .section-head h2{font-size:clamp(28px,4vw,42px); font-weight:500; color:var(--ink);}

  /* ABOUT */
  .about-grid{display:grid; grid-template-columns:1fr; max-width:720px;}
  .about p{color:#4a423b; font-size:16px; margin-bottom:16px;}

  /* SERVICES */
  .services{background:var(--ink); color:var(--cream);}
  .services .eyebrow{color:#e9c98f;}
  .services .section-head h2{color:var(--cream);}
  .svc-tabs{display:flex; gap:10px; margin-bottom:40px; flex-wrap:wrap;}
  .svc-tab{padding:10px 20px; border:1px solid rgba(248,243,234,.25); border-radius:30px; font-size:13px; font-weight:500; cursor:pointer; opacity:.65; transition:all .2s ease;}
  .svc-tab.active{background:#e9c98f; color:var(--ink); border-color:#e9c98f; opacity:1;}
  .svc-panel{display:none;}
  .svc-panel.active{display:block; animation:fadeIn .4s ease;}
  @keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
  .svc-row{display:flex; justify-content:space-between; align-items:baseline; padding:20px 0; border-bottom:1px solid rgba(248,243,234,.12); gap:20px;}
  .svc-row .name{font-family:'Bodoni Moda',serif; font-size:19px; font-weight:500;}
  .svc-row .desc{font-size:13px; color:rgba(248,243,234,.5); margin-top:4px; max-width:460px;}
  .svc-row .price{font-weight:600; color:#e9c98f; white-space:nowrap; font-size:15px;}

  /* LEAD FORM */
  .form-section{background:var(--wine-dark); color:#fff;}
  .form-section .eyebrow{color:#e9c98f; justify-content:center;}
  .form-section h2{font-size:clamp(26px,4vw,40px); font-weight:500; max-width:640px; margin:0 auto 10px; text-align:center;}
  .form-section .lead{color:rgba(248,243,234,.72); max-width:470px; margin:0 auto 34px; text-align:center; font-size:15.5px;}
  .form-card{background:var(--cream); color:var(--ink); border-radius:10px; padding:30px; max-width:540px; margin:0 auto; box-shadow:0 18px 44px rgba(0,0,0,.22);}
  .form-row{margin-bottom:15px;}
  .form-row label{display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; color:#5a5148; letter-spacing:.2px;}
  .form-row input, .form-row select{width:100%; padding:13px 14px; border:1px solid #ddd2bf; border-radius:8px; font-family:'Jost',sans-serif; font-size:15px; background:#fff; color:var(--ink);}
  .form-row input:focus, .form-row select:focus{outline:2px solid var(--wine); outline-offset:1px; border-color:var(--wine);}
  .form-submit{width:100%; background:var(--wine); color:#fff; border:none; padding:16px; border-radius:32px; font-family:'Jost',sans-serif; font-weight:700; font-size:15px; cursor:pointer; transition:background .2s ease; margin-top:6px;}
  .form-submit:hover{background:#5a2229;}
  .form-submit:disabled{opacity:.6; cursor:default;}
  .form-note{font-size:11.5px; color:#7a7167; margin-top:13px; text-align:center; line-height:1.5;}
  .form-note a{text-decoration:underline;}
  .form-alt{text-align:center; margin-top:26px; font-size:14px; color:rgba(248,243,234,.65);}
  .form-alt a{color:#e9c98f; text-decoration:underline;}
  .form-ok{display:none; text-align:center; padding:26px 6px;}
  .form-ok b{display:block; font-family:'Bodoni Moda',serif; font-size:23px; font-weight:500; margin-bottom:10px;}
  .form-ok span{font-size:14.5px; color:#4a423b;}
  .form-err{display:none; margin-top:12px; font-size:13px; color:#a3282f; text-align:center;}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

  /* AWARDS */
  .awards{display:flex; align-items:center; gap:34px; background:#fff; border:1px solid #e7dccb; border-radius:8px; padding:26px 30px; margin-bottom:30px; flex-wrap:wrap;}
  .award-badge{height:170px; width:auto; flex-shrink:0; filter:drop-shadow(0 8px 20px rgba(29,24,21,.16));}
  .awards-text{flex:1; min-width:230px;}
  .awards-text b{display:block; font-family:'Bodoni Moda',serif; font-size:21px; font-weight:500; color:var(--ink); margin-bottom:8px;}
  .awards-text p{font-size:14px; color:#4a423b; margin-bottom:16px;}
  .rating-badges{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
  /* both badges are natively 150x50; scaled up equally so they match in size */
  .rating-badge{width:195px; height:65px; overflow:hidden; border-radius:8px; flex-shrink:0;}
  .rating-badge iframe{width:150px; height:50px; border:0; display:block; transform:scale(1.3); transform-origin:0 0;}

  /* 2GIS WIDGET */
  .gis-widget{width:100%; max-width:528px; border-radius:8px; overflow:hidden; border:1px solid rgba(29,24,21,.12); background:#fff;}
  .gis-widget iframe{display:block; width:100%; max-width:528px; height:824px; border:0;}

  /* REVIEWS */
  .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .review-card{background:#fff; border:1px solid #e7dccb; border-radius:6px; padding:26px; transition:transform .25s ease, box-shadow .25s ease;}
  .review-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(29,24,21,.08);}
  .stars{color:var(--gold); letter-spacing:2px; margin-bottom:12px; font-size:14px;}
  .review-card p{font-size:14px; color:#4a423b;}
  .review-card .who{margin-top:14px; font-weight:600; font-size:13px; color:var(--ink);}

  /* LOCATION */
  .location{background:var(--stone);}
  .loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .loc-item{display:flex; gap:16px; margin-bottom:24px; align-items:flex-start;}
  .loc-item .ico{width:36px; height:36px; border-radius:50%; border:1px solid var(--wine); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--wine); font-size:15px;}
  .loc-item b{display:block; font-size:15px;}
  .loc-item span{font-size:13.5px; color:#5a5148;}
  .map-links{display:flex; gap:10px; margin-top:8px; flex-wrap:wrap;}
  .map-links a{border:1px solid rgba(29,24,21,.25); padding:9px 18px; border-radius:24px; font-size:12.5px;}
  .map-frame{border-radius:6px; overflow:hidden; min-height:340px; border:1px solid rgba(29,24,21,.1); position:relative; background:linear-gradient(150deg,#efe2c9 0%, #d9b98a 60%, #6c2b35 140%); display:flex; align-items:center; justify-content:center;}
  .map-frame::before{content:''; position:absolute; inset:0; background-image:
      linear-gradient(rgba(29,24,21,.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(29,24,21,.08) 1px, transparent 1px);
    background-size:34px 34px;}
  .map-pin{position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; padding:24px;}
  .map-pin .pin-ico{width:52px; height:52px; border-radius:50%; background:var(--ink); color:#e9c98f; display:flex; align-items:center; justify-content:center; font-size:22px;}
  .map-pin b{font-family:'Bodoni Moda',serif; font-size:19px; font-weight:500; color:var(--ink);}
  .map-pin span{font-size:13px; color:#4a423b;}
  .map-pin .map-links{justify-content:center; margin-top:6px;}
  .map-pin .map-links a{background:rgba(248,243,234,.55); border-color:rgba(29,24,21,.2);}

  /* CTA / FOOTER */
  .cta-section{background:var(--wine-dark); color:#fff; text-align:center;}
  .cta-section h2{font-size:clamp(28px,4.6vw,46px); font-weight:500; max-width:680px; margin:0 auto 12px;}
  .cta-section p{color:rgba(248,243,234,.7); max-width:460px; margin:0 auto;}
  .contact-row{display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap;}
  footer{background:var(--ink); color:rgba(248,243,234,.62); padding:32px 0; font-size:12.5px;}
  .foot-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
  .foot-grid a{opacity:.92;} .foot-grid a:hover{opacity:1;}

  @media(max-width:820px){
    .about-grid, .loc-grid{grid-template-columns:1fr;}
    .review-grid{grid-template-columns:1fr;}
    .nav-links{position:fixed; top:0; right:-100%; height:100vh; width:78%; background:var(--ink); flex-direction:column; justify-content:center; transition:right .35s ease;}
    .nav-links.open{right:0;}
    .nav-links a.nl{color:var(--cream) !important; display:block; width:100%; text-align:center; padding:14px 20px; font-size:17px; opacity:.95;}
    .nav-links{gap:4px;}
    .nav-links .cta-tg{margin-top:12px; padding:15px 26px; font-size:15px;}
    .lang-toggle{margin-top:10px;}
    .lang-toggle button{padding:11px 16px; font-size:13px;}
    .burger{display:block; background:none; border:none; color:var(--cream); font-size:26px; line-height:1; cursor:pointer; z-index:200; padding:8px 10px; margin:-8px -10px;}
    .promo-inner{flex-direction:column; align-items:flex-start;}
    .gis-widget iframe{height:420px;}
  }
  @media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }
