/* ░░░ TOKENS ░░░ */
:root{
  --bg:        #0c0a09;
  --bg-2:      #14110f;
  --bg-3:      #1c1815;
  --ink:       #f5efe6;
  --ink-2:     #cbc1b3;
  --ink-3:     #7c7268;
  --line:      rgba(245,239,230,.10);
  --line-2:    rgba(245,239,230,.18);
  --accent:    #ff8a3d;       /* фирменный оранжевый «совы» */
  --accent-2:  #ffb27a;
  --accent-deep:#c25a16;
  --font-sans: "Inter", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-disp: "Fraunces", "Playfair Display", Georgia, serif;
  --radius:    18px;
  --radius-sm: 10px;
  --shadow-1:  0 1px 0 rgba(255,255,255,.04) inset, 0 10px 30px rgba(0,0,0,.35);
  --shadow-2:  0 20px 60px rgba(0,0,0,.5);
}

/* ░░░ RESET ░░░ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font:400 16px/1.55 var(--font-sans);
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* подгружаем шрифты ненавязчиво */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,700;9..144,900&family=Inter:wght@400;500;600;700&display=swap');

/* ░░░ ЗЕРНО ░░░ */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:90;mix-blend-mode:overlay;opacity:.38;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.45 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ░░░ COMMON ░░░ */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font:600 12px/1 var(--font-sans);
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent);display:inline-block}
h2{
  font:700 clamp(32px,4.6vw,58px)/1.05 var(--font-disp);
  letter-spacing:-.02em;color:var(--ink);
}
.lead{color:var(--ink-2);max-width:60ch;margin-top:14px;font-size:17px;line-height:1.55}

/* ░░░ BUTTONS ░░░ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  padding:14px 26px;border-radius:999px;
  font:600 15px/1 var(--font-sans);letter-spacing:.01em;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  will-change:transform;
}
.btn--primary{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);
  color:#1a1108;
  box-shadow:0 10px 28px -10px rgba(255,138,61,.65), 0 2px 0 rgba(255,255,255,.18) inset;
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px -12px rgba(255,138,61,.7)}
.btn--ghost{
  color:var(--ink);border:1px solid var(--line-2);background:rgba(255,255,255,.02);
  backdrop-filter:blur(6px);
}
.btn--ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.32)}
.btn--lg{padding:18px 34px;font-size:16px}

/* ░░░ NAV ░░░ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;gap:24px;
  padding:16px 32px;
  background:linear-gradient(180deg,rgba(12,10,9,.85) 0%,rgba(12,10,9,0) 100%);
  backdrop-filter:blur(10px);
}
.nav__brand{display:flex;align-items:center;gap:10px}
.nav__logo{width:38px;height:38px;border-radius:50%;object-fit:cover}
.nav__word{
  font:900 18px/1 var(--font-disp);letter-spacing:.18em;color:var(--ink);
}
.nav__menu{display:flex;gap:28px;margin-left:auto;font-size:14px;color:var(--ink-2)}
.nav__menu a{position:relative;padding:6px 0;transition:color .2s}
.nav__menu a:hover{color:var(--ink)}
.nav__menu a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--accent);
  transition:width .3s ease;
}
.nav__menu a:hover::after{width:100%}
.nav__cta{
  font:600 14px/1 var(--font-sans);color:var(--ink);
  padding:11px 18px;border-radius:999px;border:1px solid var(--line-2);
  transition:all .25s;
}
.nav__cta:hover{background:var(--accent);color:#1a1108;border-color:var(--accent)}

@media (max-width:880px){
  .nav{padding:12px 18px;gap:12px}
  .nav__menu{display:none}
  .nav__cta{font-size:13px;padding:9px 14px}
}

/* ░░░ HERO ░░░ */
.hero{
  position:relative;min-height:100vh;min-height:100dvh;
  display:grid;place-items:end stretch;
  padding:140px 6vw 80px;
  overflow:hidden;
  isolation:isolate;
}
.hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero__img{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
  transform:scale(1.08);
  animation:slowzoom 20s ease-in-out infinite alternate;
  filter:saturate(1.05) contrast(1.05);
}
@keyframes slowzoom{from{transform:scale(1.08) translateY(0)}to{transform:scale(1.18) translateY(-2%)}}
.hero__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(60% 70% at 30% 60%, rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 60%, rgba(0,0,0,.9) 100%),
    linear-gradient(180deg, rgba(12,10,9,.5) 0%, rgba(12,10,9,0) 30%, rgba(12,10,9,.95) 100%);
}
.hero__content{
  position:relative;max-width:760px;
  animation:floatup 1.4s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes floatup{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.hero__kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid var(--line-2);
  font:500 13px/1 var(--font-sans);letter-spacing:.04em;color:var(--ink-2);
  backdrop-filter:blur(8px);
}
.dot{width:7px;height:7px;border-radius:50%;background:#3bd672;box-shadow:0 0 0 4px rgba(59,214,114,.18)}
.hero__title{
  font:900 clamp(46px,8vw,108px)/1 var(--font-disp);
  letter-spacing:-.025em;margin:22px 0 22px;color:var(--ink);
}
.hero__title-accent{
  background:linear-gradient(135deg,var(--accent) 10%,var(--accent-2) 60%,#ffe8c8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-style:italic;
}
.hero__lead{font-size:18px;color:var(--ink-2);max-width:46ch;margin-bottom:34px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}
.hero__stats{
  display:flex;gap:48px;flex-wrap:wrap;
  padding-top:32px;border-top:1px solid var(--line);
  max-width:600px;
}
.hero__stats div{display:flex;flex-direction:column;gap:6px}
.hero__stats b{
  font:700 36px/1 var(--font-disp);color:var(--ink);letter-spacing:-.02em;
}
.hero__stats span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.hero__scroll{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  width:24px;height:38px;border:1.5px solid var(--ink-3);border-radius:999px;
  display:grid;place-items:start center;padding-top:6px;
}
.hero__scroll span{
  width:3px;height:8px;background:var(--ink-2);border-radius:2px;
  animation:wheel 1.8s ease-in-out infinite;
}
@keyframes wheel{0%{transform:translateY(0);opacity:1}80%{transform:translateY(14px);opacity:0}100%{opacity:0}}

@media (max-width:680px){
  .hero{padding:120px 5vw 60px}
  .hero__stats{gap:28px}
  .hero__stats b{font-size:28px}
}

/* ░░░ MARQUEE ░░░ */
.marquee{
  background:var(--accent);color:#1a1108;
  border-block:1px solid rgba(0,0,0,.12);
  overflow:hidden;padding:18px 0;
}
.marquee__track{
  display:flex;gap:32px;white-space:nowrap;
  font:700 18px/1 var(--font-disp);letter-spacing:.01em;
  animation:slide 28s linear infinite;will-change:transform;
}
.marquee__track span{flex:0 0 auto}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ░░░ ABOUT ░░░ */
.about{padding:120px 6vw;background:var(--bg)}
.about__head{margin-bottom:60px;max-width:780px}
.about__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.about__video{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-2);background-size:cover;background-position:center;min-height:300px;aspect-ratio:8/5}
.about__vid{width:100%;height:auto;display:block;background:#000}
.about__vidframe{
  position:absolute;inset:0;border-radius:var(--radius);pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.about__text p{font-size:18px;color:var(--ink-2);margin-bottom:24px;line-height:1.65}
.about__points{list-style:none;display:grid;gap:14px}
.about__points li{
  padding:14px 18px;border-radius:var(--radius-sm);
  background:var(--bg-2);border:1px solid var(--line);
  font-size:15px;color:var(--ink-2);line-height:1.55;
}
.about__points b{color:var(--ink);font-weight:600;margin-right:4px}

@media (max-width:900px){
  .about__grid{grid-template-columns:1fr;gap:36px}
  .about{padding:80px 5vw}
}

/* ░░░ MENU ░░░ */
.menu{padding:120px 6vw;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
.menu__head{margin-bottom:60px}
.menu__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{
  position:relative;border-radius:var(--radius);overflow:hidden;
  background:var(--bg-3);border:1px solid var(--line);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  isolation:isolate;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);border-color:var(--line-2)}
.card__img{
  width:100%;aspect-ratio:4/3;
  background-size:cover;background-position:center;
  transition:transform .8s ease;
}
.card:hover .card__img{transform:scale(1.06)}
.card__body{padding:22px 22px 26px;position:relative}
.card__price{
  position:absolute;top:-18px;right:18px;
  background:var(--accent);color:#1a1108;
  padding:7px 14px;border-radius:999px;
  font:700 13px/1 var(--font-sans);letter-spacing:.02em;
  box-shadow:0 8px 18px -6px rgba(255,138,61,.6);
}
.card h3{
  font:700 22px/1.2 var(--font-disp);letter-spacing:-.01em;
  color:var(--ink);margin-bottom:8px;
}
.card p{color:var(--ink-2);font-size:14.5px;line-height:1.5}

@media (max-width:900px){.menu__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.menu__grid{grid-template-columns:1fr}.menu{padding:80px 5vw}}

/* ░░░ GALLERY ░░░ */
.gallery{padding:120px 6vw;background:var(--bg-2)}
.gallery__head{margin-bottom:50px}
.gallery__grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px;
}
.g{
  border-radius:14px;background-size:cover;background-position:center;
  transition:transform .6s ease, filter .6s ease;
  filter:saturate(.95) brightness(.95);
  box-shadow:0 12px 30px -16px rgba(0,0,0,.6);
}
.g:hover{transform:scale(1.02);filter:saturate(1.1) brightness(1.05)}
.g--tall{grid-row:span 2}
.g--wide{grid-column:span 2}

@media (max-width:900px){
  .gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .gallery{padding:80px 5vw}
}

/* ░░░ REVIEWS ░░░ */
.reviews{padding:120px 6vw;background:var(--bg)}
.reviews__head{margin-bottom:50px}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{
  padding:30px;border-radius:var(--radius);
  background:var(--bg-2);border:1px solid var(--line);
}
.quote__stars{color:var(--accent);font-size:18px;letter-spacing:.18em;margin-bottom:14px}
.quote p{font-size:16px;color:var(--ink);line-height:1.55;margin-bottom:18px;font-style:italic}
.quote footer{color:var(--ink-3);font-size:13px;letter-spacing:.04em}

@media (max-width:900px){.reviews__grid{grid-template-columns:1fr}.reviews{padding:80px 5vw}}

/* ░░░ LOCATIONS ░░░ */
.locations{padding:120px 6vw;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
.locations__head{margin-bottom:60px;max-width:780px}
.locations__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.loc{
  display:flex;gap:22px;align-items:flex-start;
  padding:28px 26px;border-radius:var(--radius);
  background:var(--bg-3);border:1px solid var(--line);
  transition:all .3s ease;
}
.loc:hover{background:var(--bg-2);border-color:var(--accent);transform:translateY(-4px)}
.loc__num{
  font:700 32px/1 var(--font-disp);color:var(--accent);letter-spacing:-.02em;
  min-width:48px;
}
.loc__body h3{
  font:700 19px/1.2 var(--font-disp);color:var(--ink);margin-bottom:6px;letter-spacing:-.005em;
}
.loc__body p{color:var(--ink-2);font-size:14px;line-height:1.5;margin-bottom:10px}
.loc__hours{
  display:inline-block;padding:4px 10px;border-radius:999px;
  background:rgba(255,138,61,.12);color:var(--accent);
  font:600 12px/1 var(--font-sans);letter-spacing:.04em;
}

@media (max-width:900px){.locations__grid{grid-template-columns:1fr}.locations{padding:80px 5vw}}

/* ░░░ CTA ░░░ */
.cta{
  padding:140px 6vw;
  background:
    radial-gradient(60% 80% at 50% 0%, rgba(255,138,61,.18) 0%, rgba(255,138,61,0) 70%),
    linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%);
  text-align:center;position:relative;overflow:hidden;
}
.cta__inner{max-width:680px;margin:0 auto}
.cta__logo{width:120px;height:120px;border-radius:50%;margin:0 auto 30px;display:block;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));
  animation:bob 4s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.cta h2{margin-bottom:18px}
.cta p{color:var(--ink-2);font-size:18px;margin-bottom:36px}

/* ░░░ FOOTER ░░░ */
.footer{padding:30px 6vw 40px;background:var(--bg);border-top:1px solid var(--line)}
.footer__row{
  display:flex;justify-content:space-between;align-items:center;
  color:var(--ink-3);font-size:13px;letter-spacing:.02em;flex-wrap:wrap;gap:12px;
}

/* ░░░ REVEAL ░░░ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:translateY(0)}

/* ░░░ MOTION RESPECT ░░░ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
