/* =========================================================
   ТЮРДЕ АРТ — творческая мастерская
   Фирменный стиль: кремовая бумага, рисованные элементы,
   декоративный заголовочный шрифт + Rubik + Caveat.
   ========================================================= */

:root{
  /* Фирменная палитра (точные HEX из брендбука) */
  --pink:    #FEBAED;
  --orange:  #FF6C1F;
  --olive:   #AEA343;
  --mustard: #FDB52A;
  --blue:    #76B3D0;
  --paper:   #FFF3E2;  /* кремовый фон */

  /* Производные */
  --paper-2: #FFFBF2;  /* поверхность светлых карточек */
  --ink:     #2C2A26;  /* почти чёрный, тёплый — текст */
  --ink-soft:#6E685C;  /* приглушённый текст */
  --orange-d:#E15400;  /* тёмный оранжевый для контраста на кремовом */
  --olive-d: #7E7630;
  --blue-d:  #3E84A6;

  --shadow-card: 0 16px 34px -20px rgba(44,42,38,.5);
  --shadow-soft: 0 8px 18px -12px rgba(44,42,38,.42);
  --line: rgba(44,42,38,.14);

  --font-display: "Yeseva One", "Times New Roman", serif; /* декоративные заголовки */
  --font-body: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-hand: "Caveat", "Segoe Script", cursive;          /* редкие пометки */

  --maxw: 1180px;
}

.c-pink{ color: var(--pink); }
.c-orange{ color: var(--orange); }
.c-olive{ color: var(--olive); }
.c-mustard{ color: var(--mustard); }
.c-blue{ color: var(--blue); }

/* ---------- База ---------- */
*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--ink);
  background-color: var(--paper);
  background-image: radial-gradient(rgba(44,42,38,.028) 1px, transparent 1.4px);
  background-size: 24px 24px;
  line-height: 1.65;
  font-size: clamp(16px, 1.02vw, 17.5px);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; }

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute; left:8px; top:-48px; z-index:200;
  background: var(--ink); color: var(--paper); padding:.5em 1em; border-radius:10px;
  transition: top .2s;
}
.skip-link:focus{ top:8px; }
:focus-visible{ outline: 3px solid var(--blue-d); outline-offset: 3px; border-radius: 6px; }

/* ---------- Рисованные элементы ---------- */
.doodle{ position:absolute; pointer-events:none; }
.doodle use, .scribble use, .ic use{ fill: currentColor; }
.ic{ width:1em; height:1em; vertical-align:-.12em; display:inline-block; }
.scribble{ display:block; width:100%; height:.5em; margin-top:-.05em; }

/* Фирменные наклейки (растровые, вырезаны из брендбука) */
.sticker{ position:absolute; pointer-events:none; z-index:0; filter: drop-shadow(0 6px 8px rgba(44,42,38,.10)); }

/* ---------- Кнопки-пилюли (как в брендбуке) ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em;
  font-family: var(--font-body); font-weight:600; font-size:1rem;
  color: var(--ink); text-decoration:none; cursor:pointer;
  padding:.72em 1.5em; border:none; border-radius:999px;
  box-shadow: var(--shadow-soft);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.btn:hover,.btn:focus-visible{ transform: translateY(-2px); box-shadow: 0 12px 22px -12px rgba(44,42,38,.5); filter: saturate(1.06); }
.btn:active{ transform: translateY(0); }
.btn__i{ width:1.05em; height:1.05em; }
.btn__i use{ fill: currentColor; }
.btn--pink{ background: var(--pink); }
.btn--orange{ background: var(--orange); color:#fff; }
.btn--olive{ background: var(--olive); color:#fff; }
.btn--mustard{ background: var(--mustard); }
.btn--blue{ background: var(--blue); color:#fff; }
.btn--full{ display:flex; width:100%; justify-content:center; font-size:1.08rem; }

/* ---------- Заголовки ---------- */
.eyebrow{
  font-family: var(--font-body); font-weight:600; text-transform: uppercase;
  letter-spacing:.08em; font-size:.82rem; color: var(--ink-soft); margin:0 0 .7em;
  display:inline-flex; align-items:center; gap:.5em;
}
.section-title{
  font-family: var(--font-display); font-weight:400;
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  line-height: 1.08; margin: 0 0 .3em; color: var(--ink); position: relative;
}
.section-title--sm{ font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
.section-title .scribble{ width: 64%; color: var(--orange); }

.section-head{ max-width: 740px; margin: 0 auto clamp(28px,4vw,46px); text-align:center; position:relative; }
.section-head .section-title .scribble{ margin-inline:auto; }
.section-sub{ font-family: var(--font-hand); font-size:1.35rem; color: var(--ink-soft); margin:0; }
.section-head--row{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap: 1.5rem; flex-wrap: wrap; text-align: left; max-width: var(--maxw);
}

.lead{ font-size: 1.06rem; color: var(--ink); margin: 0 0 1.1em; max-width: 52ch; }
.text-link{
  font-family: var(--font-body); font-weight:600; color: var(--orange-d); text-decoration: none;
  white-space: nowrap;
}
.text-link:hover{ text-decoration: underline; text-underline-offset: 4px; }

.ticks{ list-style:none; padding:0; margin:0 0 1.4em; display:grid; gap:.5em; }
.ticks li{ position:relative; padding-left: 1.7em; color: var(--ink); }
.ticks li::before{ content:"✿"; position:absolute; left:0; top:0; color: var(--pink); font-size:1.05em; }

/* ---------- Фото со скотчем ---------- */
.photo{ margin:0; position:relative; }
.photo img{ border-radius: 6px; }
.photo--tape{
  background:#fff; padding: 12px 12px 14px; border-radius: 8px;
  box-shadow: var(--shadow-card); border: 1px solid rgba(44,42,38,.06);
}
.photo--tape::before{
  content:""; position:absolute; top:-13px; left:50%; transform: translateX(-50%) rotate(-3deg);
  width: 92px; height: 28px; background: rgba(253,181,42,.6);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); border-radius: 2px;
}
.photo figcaption{
  font-family: var(--font-hand); text-align:center; color: var(--ink-soft);
  font-size: 1.15rem; padding-top: .4em;
}

/* =========================================================
   ШАПКА
   ========================================================= */
.site-header{
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; gap: 1.2rem;
  padding: .55rem clamp(16px, 4vw, 40px);
  background: rgba(255,243,226,.88);
  backdrop-filter: blur(8px);
  border-bottom: 1px dashed var(--line);
}
.brand{ display:flex; align-items:center; gap:.55rem; text-decoration:none; }
.brand__badge{ width: 46px; height: 46px; flex:none; }
.brand__wordmark{ height: 30px; width:auto; }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__sub{ font-family: var(--font-body); font-weight:500; font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; color: var(--ink-soft); margin-top:.35em; }

.site-nav{ display:flex; gap: .15rem; margin-left:auto; flex-wrap:wrap; }
.site-nav a{
  text-decoration:none; color: var(--ink); font-weight:500; font-size:.9rem;
  padding:.4em .7em; border-radius: 999px; transition: background .15s, color .15s;
}
.site-nav a:hover{ background: var(--pink); color: var(--ink); }

.site-header__city{ font-family: var(--font-body); font-weight:500; font-size:.85rem; color: var(--ink-soft); white-space:nowrap; }
.site-header__city .pin{ color: var(--orange); }
.nav-toggle{ display:none; }

/* =========================================================
   ГЕРОЙ
   ========================================================= */
.hero{
  position: relative; max-width: var(--maxw);
  margin: clamp(20px,4vw,46px) auto clamp(40px,6vw,86px);
  padding: 0 clamp(16px,4vw,40px);
  display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(20px,4vw,56px); align-items: center;
}
.hero__decor{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.hero__lede{ position: relative; z-index: 2; }

.hero__title{ margin: .1em 0 .2em; }
.hero__wordmark{ width: min(100%, 460px); height:auto; }

.hero__tagline{
  font-family: var(--font-hand); font-size: clamp(1.7rem, 3.6vw, 2.5rem);
  color: var(--blue-d); margin:.1em 0 .5em; line-height:1.05;
}
.hero__tagline em{ color: var(--orange-d); font-style: normal; }
.hero__text{ max-width: 42ch; margin: 0 0 1.6em; color: var(--ink); }
.hero__cta{ display:flex; flex-wrap:wrap; gap: .8rem; }

.hero__art{ position: relative; z-index: 1; }
.photo--hero{ transform: rotate(2.2deg); max-width: 410px; margin-inline:auto; }
.photo--hero img{ aspect-ratio: 853/1160; object-fit: cover; object-position: center 42%; }

.note{
  font-family: var(--font-hand); display:inline-block; padding:.4em .8em; line-height:1.15;
  background: var(--mustard); color: var(--ink); box-shadow: var(--shadow-soft); border-radius: 4px;
  font-size: 1.4rem;
}
.note--paper{ background: var(--paper-2); border:1px dashed var(--line); }
.note-img{ position:absolute; width: 150px; z-index:4; }
.note--hero{ top: -16px; left: -14px; transform: rotate(-6deg); }

/* Наклейки в герое */
.s-hero-flower{ width: 78px; top: 2%; left: 40%; }
.s-hero-daisy{ width: 70px; top: -2%; right: 4%; }
.s-hero-leaf{ width: 74px; top: 30%; left: -10px; transform: rotate(-8deg); }
.s-hero-star{ width: 40px; top: 50%; left: 44%; }
.s-hero-swirl{ width: 150px; bottom: 2%; left: 0; }
.s-hero-sparkle{ width: 38px; bottom: 14%; right: -6px; z-index:3; }
.s-hero-heart{ width: 46px; bottom: 2%; right: 8%; z-index:3; }

/* =========================================================
   НАПРАВЛЕНИЯ
   ========================================================= */
.directions{ position:relative; max-width: var(--maxw); margin: 0 auto; padding: clamp(40px,6vw,80px) clamp(16px,4vw,40px); }
.s-dir-sprig{ width: 84px; top: 6%; right: 4%; }
.s-dir-star{ width: 50px; top: 10%; left: 3%; }
.dir-grid{
  list-style:none; margin:0; padding:0; display:grid; gap: 1.1rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.dir-card{ transform: rotate(var(--r, -1deg)); transition: transform .18s ease; }
.dir-card:nth-child(even){ --r: 1.2deg; }
.dir-card:nth-child(3n){ --r: -1.5deg; }
.dir-card a{
  display:block; height:100%; text-decoration:none; color: var(--ink);
  padding: 1.2rem 1.2rem 1.3rem; border-radius: 18px;
  box-shadow: var(--shadow-card); background: var(--paper-2);
  border: 1px solid rgba(44,42,38,.06);
}
.dir-card:hover{ transform: rotate(0deg) translateY(-4px); }
.dir-card__kicker{ font-family: var(--font-display); font-size:1.5rem; opacity:.5; display:block; }
.dir-card h3{ font-family: var(--font-body); font-weight:600; font-size:1.15rem; margin:.1em 0 .35em; line-height:1.1; }
.dir-card p{ margin:0; font-size:.94rem; color: var(--ink-soft); }
.dir-card--pink a{ background: var(--pink); }
.dir-card--orange a{ background: var(--orange); color:#fff; } .dir-card--orange p{ color: rgba(255,255,255,.92); } .dir-card--orange .dir-card__kicker{ color:#fff; }
.dir-card--olive a{ background: var(--olive); color:#fff; } .dir-card--olive p{ color: rgba(255,255,255,.92); } .dir-card--olive .dir-card__kicker{ color:#fff; }
.dir-card--mustard a{ background: var(--mustard); }
.dir-card--blue a{ background: var(--blue); color:#fff; } .dir-card--blue p{ color: rgba(255,255,255,.92); } .dir-card--blue .dir-card__kicker{ color:#fff; }
.dir-card--ink a{ background: var(--ink); color: var(--paper); } .dir-card--ink p{ color: rgba(255,243,226,.8); } .dir-card--ink .dir-card__kicker{ color: var(--mustard); }
.dir-card--paper a{ background: var(--paper-2); }

/* =========================================================
   БРОНИРОВАНИЕ
   ========================================================= */
.booking{
  max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px);
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px,4vw,56px); align-items:start;
}
.booking__intro .photo--booking{ max-width: 320px; margin-top: 1.6rem; transform: rotate(-2deg); }
.photo--booking img{ aspect-ratio: 4/3; object-fit: cover; object-position: center 60%; }

.card-paper{
  background: var(--paper-2); border: 1px solid rgba(44,42,38,.08);
  border-radius: 22px; box-shadow: var(--shadow-card);
  padding: clamp(1.4rem, 3vw, 2.2rem); position: relative;
}
.booking__form{ transform: rotate(.5deg); }
.form-title{ font-family: var(--font-display); font-weight:400; font-size:1.7rem; margin:0 0 .15em; }
.form-hint{ font-family: var(--font-hand); font-size:1.2rem; color: var(--ink-soft); margin:0 0 1.1em; }

.field{ margin-bottom: 1rem; }
.field label{ display:block; font-weight:600; font-size:.88rem; margin-bottom:.35em; }
.field input, .field textarea{
  width:100%; font: inherit; color: var(--ink); padding:.7em .9em; border-radius: 14px;
  border: 2px solid var(--line); background:#fff; transition: border-color .15s, box-shadow .15s;
}
.field input:focus, .field textarea:focus{ outline:none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(118,179,208,.22); }
.field textarea{ resize: vertical; }
.field-row{ display:flex; gap: .9rem; }
.field-row .field{ flex:1; }
.field--narrow{ max-width: 100px; }

.form-status{ margin:.9em 0 0; font-family: var(--font-hand); font-size:1.2rem; min-height: 1.2em; }
.form-status.is-ok{ color: var(--olive-d); }
.form-status.is-err{ color: var(--orange-d); }

/* =========================================================
   РАСПИСАНИЕ
   ========================================================= */
.schedule{ position:relative; max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px); }
.s-sched-star{ width: 52px; top: 8%; right: 2%; }
.mc-grid{ list-style:none; margin:1.4rem 0 0; padding:0; display:grid; gap:1.2rem; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); }
.mc-card{
  background: var(--paper-2); border:1px solid rgba(44,42,38,.07); border-radius: 18px;
  padding:1.3rem; box-shadow: var(--shadow-card); transform: rotate(var(--r,-.8deg)); transition: transform .18s;
}
.mc-card:nth-child(even){ --r:.9deg; }
.mc-card:hover{ transform: rotate(0) translateY(-3px); }
.date-chip{ display:inline-flex; flex-direction:column; align-items:center; line-height:1; padding:.55em .8em; border-radius: 14px; color: var(--ink); margin-bottom:.8em; }
.date-chip b{ font-family: var(--font-display); font-size:1.6rem; }
.date-chip span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.date-chip i{ font-style:normal; font-size:.72rem; opacity:.92; margin-top:.25em; }
.date-chip--orange{ background: var(--orange); color:#fff; }
.date-chip--pink{ background: var(--pink); }
.date-chip--blue{ background: var(--blue); color:#fff; }
.date-chip--olive{ background: var(--olive); color:#fff; }
.mc-card h3{ font-family:var(--font-body); font-weight:600; margin:.1em 0 .3em; font-size:1.18rem; }
.mc-card p{ margin:0 0 .4em; color: var(--ink-soft); font-size:.94rem; }
.mc-meta{ color: var(--ink)!important; }
.mc-meta b{ color: var(--orange-d); }

/* =========================================================
   КИНОКЛУБ
   ========================================================= */
.cinema{
  max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px);
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px,4vw,56px); align-items:center;
}
.ticket{
  position:relative; display:flex; background: var(--ink); color: var(--paper);
  border-radius: 18px; overflow:hidden; box-shadow: var(--shadow-card); transform: rotate(-1.5deg); max-width: 460px;
}
.ticket__main{ padding: 1.6rem 1.4rem; flex:1; }
.ticket__label{ font-family: var(--font-body); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color: var(--mustard); margin:0 0 .5em; }
.ticket__film{ font-family: var(--font-display); font-size: 2rem; margin:0; line-height:1; }
.ticket__date{ font-size:1.05rem; margin:.45em 0; font-weight:600; }
.ticket__note{ margin:0; font-size:.86rem; color: rgba(255,243,226,.7); }
.ticket__stub{ width: 92px; flex:none; border-left: 3px dashed rgba(255,243,226,.4); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6em; text-align:center; padding:.6em; }
.ticket__stub span{ font-size:.68rem; letter-spacing:.12em; transform: rotate(90deg); white-space:nowrap; font-weight:500; }
.ticket__no{ color: var(--mustard); }

/* =========================================================
   ДУЭТ (каллиграфия + нейрогимнастика)
   ========================================================= */
.duo{ max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px); display:grid; grid-template-columns: 1fr 1fr; gap: clamp(20px,3vw,36px); }
.duo__card{ position:relative; overflow:hidden; border-radius: 24px; padding: clamp(1.6rem,3vw,2.4rem); box-shadow: var(--shadow-card); border:1px solid rgba(44,42,38,.07); }
.duo__card--calli{ background: linear-gradient(135deg, #FFF6E2, #FCEAC2); transform: rotate(-1deg); }
.duo__card--neuro{ background: linear-gradient(135deg, #E7F2F7, #D7E9F1); transform: rotate(1deg); }
.duo__sticker{ position:absolute; top:-8px; right:-6px; width: 84px; opacity:.9; pointer-events:none; }
.next-up{ font-family: var(--font-hand); font-size:1.25rem; margin:.4em 0 .9em; }
.next-up b{ color: var(--orange-d); }
.dot{ display:inline-block; width:.7em; height:.7em; border-radius:50%; margin-right:.4em; vertical-align:middle; }
.dot--olive{ background: var(--olive); }
.dot--blue{ background: var(--blue); }

/* =========================================================
   АРТ-ОСТАНОВКА
   ========================================================= */
.artstop{ max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px); display:grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,4vw,56px); align-items:center; }
.artstop__cards{ position:relative; min-height: 470px; }
.postcard{ position:absolute; width: 46%; max-width: 250px; }
.postcard img{ width:100%; height:auto; object-fit: cover; }
.postcard--a{ top: 4%; left: 2%; transform: rotate(-5deg); z-index:2; }
.postcard--a img{ aspect-ratio: 3/4; }
.postcard--b{ width: 50%; max-width: 280px; bottom: 4%; right: 0; transform: rotate(4deg); z-index:1; }
.postcard--b img{ aspect-ratio: 4/3; }
.note--artstop{ position:absolute; top: 2%; right: 4%; transform: rotate(6deg); z-index:3; }
.s-artstop-flower{ width: 64px; bottom: 6%; left: 0; z-index:3; }

/* =========================================================
   КАТАЛОГ
   ========================================================= */
.catalog{ position:relative; max-width: var(--maxw); margin: 0 auto; padding: clamp(30px,5vw,70px) clamp(16px,4vw,40px); }
.s-cat-crown{ width: 62px; top: 7%; right: 3%; }
.cat-grid{ list-style:none; margin:1.4rem 0 0; padding:0; display:grid; gap:1.4rem; grid-template-columns: repeat(auto-fit, minmax(210px,1fr)); }
.cat-card{ background: var(--paper-2); border:1px solid rgba(44,42,38,.07); border-radius: 18px; overflow:hidden; box-shadow: var(--shadow-card); transform: rotate(var(--r,-.8deg)); transition: transform .18s; }
.cat-card:nth-child(even){ --r:.8deg; }
.cat-card:hover{ transform: rotate(0) translateY(-4px); }
.cat-card .photo{ aspect-ratio: 1/1; overflow:hidden; }
.cat-card .photo img{ width:100%; height:100%; object-fit: cover; border-radius:0; }
.cat-card__body{ padding: .9rem 1rem 1.1rem; }
.cat-card h3{ font-family:var(--font-body); font-weight:600; margin:0 0 .25em; font-size:1.02rem; line-height:1.15; }
.price{ font-family: var(--font-display); font-size:1.4rem; color: var(--orange-d); margin:0; }

/* =========================================================
   ПРИЗЫВ + ПОДПИСКА
   ========================================================= */
.joy{
  position:relative; overflow:hidden; max-width: calc(var(--maxw) - 40px); margin: clamp(30px,5vw,70px) auto;
  padding: clamp(2.6rem,5vw,4.2rem) clamp(1.4rem,4vw,3rem); text-align:center; border-radius: 30px;
  background: var(--pink);
  border: 3px dashed rgba(255,255,255,.55);
}
.joy__title{ font-family: var(--font-display); font-weight:400; font-size: clamp(2.1rem,5.5vw,3.6rem); margin:0 0 .15em; color: var(--ink); }
.joy__text{ font-family: var(--font-hand); font-size:1.5rem; color: var(--ink); margin:0 auto 1.3em; max-width: 40ch; }
.joy .sticker{ z-index:1; }
.s-joy-flower{ width: 70px; top: 12%; left: 6%; }
.s-joy-heart{ width: 44px; bottom: 14%; right: 9%; }
.s-joy-sparkle{ width: 46px; top: 18%; right: 12%; }

.subscribe{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; align-items:center; position:relative; z-index:2; }
.subscribe input{ font: inherit; padding:.8em 1.1em; border-radius: 999px; border:2px solid rgba(44,42,38,.16); background:#fff; min-width: 240px; }
.subscribe input:focus{ outline:none; border-color: var(--orange); box-shadow:0 0 0 4px rgba(255,108,31,.22); }
.subscribe .form-status{ flex-basis:100%; text-align:center; color: var(--ink); }

/* =========================================================
   ПОДВАЛ
   ========================================================= */
.site-footer{
  background: var(--ink); color: var(--paper); margin-top: clamp(30px,5vw,60px);
  padding: clamp(2.4rem,5vw,3.4rem) clamp(16px,4vw,40px) 1.6rem;
  display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2rem; max-width: 100%;
}
.site-footer__brand{ display:flex; flex-direction:column; gap:.5em; align-items:flex-start; }
.site-footer__brand .brand__badge{ width: 56px; height:56px; }
.footer-name{ font-family: var(--font-display); font-size:1.7rem; color: var(--paper); line-height:1; }
.footer-sub{ font-family: var(--font-body); font-weight:500; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color: rgba(255,243,226,.7); }
.site-footer__col h3{ font-family: var(--font-display); font-weight:400; font-size:1.4rem; margin:0 0 .6em; color: var(--mustard); }
.site-footer__col p{ margin:.2em 0; color: rgba(255,243,226,.85); }
.site-footer__col a{ color: rgba(255,243,226,.85); text-decoration:none; }
.site-footer__col a:hover{ color: var(--mustard); text-decoration: underline; text-underline-offset:3px; }
.site-footer__col nav{ display:flex; flex-direction:column; gap:.3em; }
.socials{ display:flex; gap:.6em; }
.socials a{ background: rgba(255,243,226,.12); padding:.3em .65em; border-radius:999px; font-weight:500; font-size:.85rem; }
.muted{ color: rgba(255,243,226,.6)!important; font-size:.88rem; }
.site-footer__copy{ grid-column:1/-1; border-top:1px dashed rgba(255,243,226,.25); margin:1rem 0 0; padding-top:1rem; font-size:.86rem; color: rgba(255,243,226,.7); text-align:center; }

/* =========================================================
   АНИМАЦИЯ ПОЯВЛЕНИЯ
   ========================================================= */
.reveal{ opacity:0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* =========================================================
   АДАПТИВ
   ========================================================= */
@media (max-width: 900px){
  .hero{ grid-template-columns: 1fr; }
  .hero__art{ order:-1; }
  .hero__decor{ display:none; }
  .photo--hero{ max-width: 330px; }
  .booking, .cinema, .artstop, .duo{ grid-template-columns: 1fr; }
  .booking__intro .photo--booking{ margin-inline:auto; }
  .ticket{ margin-inline:auto; }
  .artstop__cards{ min-height: 430px; justify-self: stretch; }
  .postcard--a{ width: 56%; left: 4%; }
  .postcard--b{ width: 60%; }

  .nav-toggle{ display:flex; flex-direction:column; gap:5px; margin-left:auto; background:none; border:none; cursor:pointer; padding:8px; }
  .nav-toggle span{ width:26px; height:3px; background: var(--ink); border-radius:3px; transition: transform .2s, opacity .2s; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }
  .site-header__city{ display:none; }
  .site-nav{ position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background: var(--paper); border-bottom:1px solid var(--line); padding:.5rem clamp(16px,4vw,40px) 1rem; box-shadow: var(--shadow-card); display:none; }
  .site-nav.is-open{ display:flex; }
  .site-nav a{ padding:.7em .4em; border-bottom:1px dashed var(--line); border-radius:0; }
}
@media (max-width: 560px){
  .field-row{ flex-direction:column; }
  .field--narrow{ max-width:none; }
  .section-head--row{ flex-direction:column; align-items:flex-start; }
  .photo--hero{ transform: rotate(1.5deg); }
  .brand__sub{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .reveal{ opacity:1; transform:none; }
}
