/* ============ КОРКА — ремесленная пекарня ============ */
:root {
  --paper: #f8f5ef;
  --cream: #f1e9da;
  --tan: #e6d7bf;
  --ink: #26201a;
  --crust: #b3602c;
  --ember: #e2822c;
  --bran: #7f6a4c;
  --disp: 'Amatic SC', 'Comic Sans MS', cursive;
  --hand: 'Caveat', cursive;
  --body: 'Bitter', Georgia, serif;
  --bounce: cubic-bezier(0.2, 1.5, 0.35, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }

body {
  font-family: var(--body);
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  position: relative;
}

/* мучная пыль */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 60;
  opacity: 0.55;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='sRGB' values='0 0 0 0 0.5 0 0 0 0 0.42 0 0 0 0 0.3 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
ul, ol, dl { list-style: none; }
:focus-visible { outline: 2.5px dashed var(--crust); outline-offset: 4px; }

/* ---------- stamp-появление ---------- */
.stamp-in {
  opacity: 0;
  transform: scale(1.45) rotate(-7deg);
  transition: opacity 0.45s ease, transform 0.65s var(--bounce);
}
.stamp-in.is-in { opacity: 1; transform: scale(1) rotate(var(--set, 0deg)); }
.tilt-l { --set: -1.3deg; }
.tilt-r { --set: 1.2deg; }

.disp {
  font-family: var(--disp);
  font-weight: 700;
  font-size: clamp(3rem, 6.4vw, 5.4rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  margin-bottom: 34px;
}
.disp em { font-style: normal; color: var(--crust); }
.disp.big { font-size: clamp(3.4rem, 8vw, 7rem); }
.disp.light { color: var(--paper); }
.body-text { max-width: 62ch; }
.body-text + .body-text { margin-top: 18px; }

.chip {
  display: inline-block;
  font-family: var(--body);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  border: 1.6px solid var(--ink);
  border-radius: 999px;
  padding: 7px 18px;
  margin-bottom: 26px;
  background: var(--paper);
  box-shadow: 3px 3px 0 rgba(38, 32, 26, 0.18);
}
.chip-light { background: transparent; border-color: var(--cream); color: var(--cream); }

.hand-note {
  font-family: var(--hand);
  font-size: 1.55rem;
  line-height: 1.35;
  color: var(--bran);
  margin-top: 30px;
}
.hand-note i { display: block; font-size: 1.15rem; font-style: normal; color: var(--crust); }

/* ---------- интро: топка ---------- */
.oven-intro {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: var(--ink);
  display: grid;
  place-items: center;
  transition: transform 0.85s cubic-bezier(0.7, 0, 0.3, 1);
}
.oven-intro.open { transform: translateY(-102%); }
.oven-intro.done { display: none; }
.oven-mouth {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(560px, 72vw);
  height: min(360px, 44vh);
  transform: translate(-50%, -46%) scaleX(0.06);
  border-radius: 50% 50% 10px 10px / 62% 62% 10px 10px;
  background: radial-gradient(ellipse at 50% 78%, #f5a54c 0%, var(--ember) 26%, var(--crust) 52%, #4a2a14 82%, var(--ink) 100%);
  box-shadow: 0 0 120px 30px rgba(226, 130, 44, 0.35);
  transition: transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.oven-intro.lit .oven-mouth { transform: translate(-50%, -46%) scaleX(1); }
.oven-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 90%, rgba(255, 220, 150, 0.75), transparent 60%);
  animation: ember-breathe 1.6s ease-in-out infinite;
}
@keyframes ember-breathe { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
.oven-word {
  position: relative;
  font-family: var(--hand);
  font-size: clamp(2rem, 5vw, 3.4rem);
  color: var(--paper);
  text-shadow: 0 2px 24px rgba(226, 130, 44, 0.8);
  opacity: 0;
  transform: scale(1.6) rotate(-6deg);
  transition: opacity 0.35s ease, transform 0.5s var(--bounce);
}
.oven-intro.lit .oven-word { opacity: 1; transform: scale(1) rotate(-2deg); }

/* ---------- шапка-лента ---------- */
.top-strip {
  position: sticky;
  top: 0;
  z-index: 70;
  background: rgba(248, 245, 239, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 2px dashed rgba(38, 32, 26, 0.35);
  transition: transform 0.5s cubic-bezier(0.6, 0, 0.3, 1), visibility 0s;
}
.top-strip.is-end {
  transform: translateY(-115%);
  visibility: hidden;
  transition: transform 0.5s cubic-bezier(0.6, 0, 0.3, 1), visibility 0s linear 0.5s;
}
.strip-in {
  width: min(1280px, 94vw);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 12px 0;
}
.logo { display: flex; align-items: center; gap: 14px; }
.seal { width: 58px; height: 58px; flex: none; animation: seal-spin 24s linear infinite; }
@keyframes seal-spin { to { transform: rotate(360deg); } }
.seal-ring { stroke: var(--crust); stroke-width: 2; fill: none; }
.seal-ring.inner { stroke-dasharray: 3 5; }
.seal-text { font-family: var(--body); font-size: 11.5px; font-weight: 700; letter-spacing: 1.6px; fill: var(--ink); }
.seal-core { font-family: var(--disp); font-weight: 700; font-size: 30px; fill: var(--crust); }
.logo-word {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 0.9;
  display: flex;
  flex-direction: column;
}
.logo-word small {
  font-family: var(--body);
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bran);
  margin-top: 5px;
}
.strip-nav { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.strip-nav span { color: var(--crust); font-size: 10px; }
.strip-nav a {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: lowercase;
  border-bottom: 2px dotted transparent;
  transition: border-color 0.25s ease, transform 0.25s var(--bounce);
  display: inline-block;
}
.strip-nav a:hover { border-bottom-color: var(--crust); transform: rotate(-2deg) translateY(-1px); }
.strip-note {
  font-family: var(--hand);
  font-size: 1.35rem;
  color: var(--crust);
  transform: rotate(-2deg);
}
.strip-note i { font-style: normal; margin-left: 6px; display: inline-block; animation: bob 2.2s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@media (max-width: 1080px) { .strip-note { display: none; } }
@media (max-width: 860px) {
  .strip-in { flex-wrap: wrap; gap: 8px 16px; }
  .strip-nav { order: 2; width: 100%; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .strip-nav::-webkit-scrollbar { display: none; }
}

/* ---------- герой ---------- */
.hero {
  position: relative;
  padding: clamp(40px, 7vh, 80px) 0 clamp(30px, 5vh, 60px);
  background:
    radial-gradient(circle 3px at 12% 22%, rgba(127, 106, 76, 0.35) 0 2px, transparent 3px),
    radial-gradient(circle 2px at 78% 12%, rgba(127, 106, 76, 0.3) 0 2px, transparent 3px),
    radial-gradient(circle 2px at 30% 80%, rgba(127, 106, 76, 0.25) 0 2px, transparent 3px),
    var(--paper);
}
.hero-in {
  width: min(1280px, 94vw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
}
.hero-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  font-family: var(--disp);
  font-weight: 700;
  font-size: clamp(1.4rem, 4.6vw, 1.9rem);
  letter-spacing: 0.3em;
  color: var(--bran);
  margin-bottom: 10px;
}
.hero-kicker i { color: var(--crust); font-style: normal; }
.hero-title {
  font-family: var(--disp);
  font-weight: 700;
  font-size: clamp(3.2rem, 8.4vw, 7.6rem);
  line-height: 0.92;
  max-width: 15ch;
}
.hero-title span { display: block; }
.hero-title .ht-2 { color: var(--crust); }
.hero-sub { max-width: 52ch; margin-top: 30px; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 18px; margin: 38px 0 10px; }

.tag-btn {
  position: relative;
  display: inline-block;
  padding: 15px 30px 15px 38px;
  background: var(--ink);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%);
  transition: transform 0.3s var(--bounce), background 0.3s ease;
}
.tag-btn:hover { transform: rotate(-1.5deg) translateY(-3px); background: var(--crust); }
.tag-btn.alt { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.tag-btn.alt:hover { color: var(--paper); box-shadow: inset 0 0 0 60px var(--crust); }

.hero-breads { width: 100%; margin: 0; }
.bread-art { width: 100%; height: auto; }
@media (max-width: 900px) {
  .hero-in { grid-template-columns: 1fr; }
  .hero-breads { max-width: 520px; margin: 26px auto 0; }
}
.crust { stroke: var(--ink); stroke-width: 3.2; fill: var(--tan); stroke-linecap: round; stroke-linejoin: round; }
.crust-line { stroke: var(--ink); stroke-width: 2.6; fill: none; stroke-linecap: round; }
.score { stroke: var(--ink); stroke-width: 2.4; fill: none; stroke-linecap: round; }
.seed { fill: var(--bran); }
.crumbs circle { fill: var(--bran); }
.ba { transform-origin: center; }
.ba-loaf { animation: float-a 6s ease-in-out infinite; }
.ba-baguette { animation: float-b 7.2s ease-in-out infinite; }
.ba-bagel { animation: float-a 5.4s ease-in-out 0.8s infinite; }
.ba-wheat { animation: sway 8s ease-in-out infinite; transform-origin: 110px 400px; }
@keyframes float-a { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes float-b { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-6px) rotate(-1deg); } }
@keyframes sway { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(1.6deg); } }

.torn {
  display: block;
  width: 100%;
  height: 42px;
  margin-top: -1px;
  position: relative;
  z-index: 2;
}
.torn path { fill: var(--paper); }

/* ---------- история про закваску ---------- */
.story { background: var(--cream); padding: clamp(60px, 9vh, 110px) 0 0; }
.story-in {
  width: min(1280px, 94vw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(36px, 6vw, 90px);
}
.story-left h2 { margin-top: 6px; }
.story-rules { align-self: center; }
.story-rules li {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  align-items: baseline;
  padding: 20px 4px;
  border-bottom: 2px dotted rgba(38, 32, 26, 0.35);
}
.story-rules li:first-child { border-top: 2px dotted rgba(38, 32, 26, 0.35); }
.story-rules b {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--crust);
  white-space: nowrap;
}
.story-rules span { font-size: 15px; }
@media (max-width: 900px) { .story-in { grid-template-columns: 1fr; } }

/* ---------- полоса-прилавок ---------- */
.counter-band { padding: clamp(40px, 6vh, 70px) 0 0; }
.counter-frame {
  width: min(1080px, 92vw);
  margin-inline: auto;
  border: 1.6px solid var(--ink);
  background: var(--paper);
  padding: 12px;
  box-shadow: 10px 12px 0 rgba(38, 32, 26, 0.16);
  --set: -0.8deg;
}
.counter-frame img {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--tan), #cdb48c);
}
.counter-frame figcaption {
  font-family: var(--hand);
  font-size: 1.35rem;
  text-align: center;
  color: var(--bran);
  padding-top: 10px;
}

/* ---------- прилавок ---------- */
.goods { padding: clamp(60px, 9vh, 110px) 0 0; }
.goods-in { width: min(1280px, 94vw); margin-inline: auto; }
.goods-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px);
  margin-top: 44px;
}
.loaf-card {
  position: relative;
  background: var(--cream);
  border: 1.6px solid rgba(38, 32, 26, 0.5);
  padding: 26px 24px 24px;
  transition: transform 0.4s var(--bounce), box-shadow 0.4s ease, background 0.4s ease;
}
.loaf-card:hover {
  transform: rotate(0deg) translateY(-7px) !important;
  box-shadow: 8px 12px 0 rgba(38, 32, 26, 0.14);
  background: #f6efe1;
  z-index: 3;
}
.loaf-art { width: 100%; height: auto; margin-bottom: 10px; }
.loaf-card h3 {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 2.3rem;
  line-height: 1;
}
.loaf-meta { font-size: 13.5px; color: var(--bran); margin-top: 6px; }
.loaf-price {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 1.9rem;
  color: var(--crust);
  margin-top: 10px;
}
.loaf-price small { font-family: var(--body); font-size: 11px; font-weight: 400; color: var(--bran); margin-left: 6px; }
.crack path {
  stroke: var(--crust);
  stroke-width: 2.6;
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 70;
  stroke-dashoffset: 70;
  transition: stroke-dashoffset 0.55s ease 0.1s;
}
.loaf-card:hover .crack path { stroke-dashoffset: 0; }
.corner-stamp {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  text-align: center;
  font-family: var(--hand);
  font-size: 1rem;
  line-height: 1.05;
  color: var(--crust);
  border: 2px solid var(--crust);
  border-radius: 50%;
  transform: rotate(-14deg);
  opacity: 0.85;
  padding: 8px;
}
.corner-stamp::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px dashed var(--crust);
  border-radius: 50%;
}
.corner-stamp.hot { color: var(--ember); border-color: var(--ember); }
.corner-stamp.hot::before { border-color: var(--ember); }
.goods-note { margin-top: 44px; }
@media (max-width: 980px) { .goods-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .goods-grid { grid-template-columns: 1fr; } }

/* ---------- график печи ---------- */
.oven {
  background: var(--ink);
  color: var(--cream);
  padding: clamp(60px, 9vh, 110px) 0 0;
  position: relative;
}
.oven .torn path { fill: var(--ink); }
.oven-in { width: min(1280px, 94vw); margin-inline: auto; }
.oven-now {
  font-family: var(--hand);
  font-size: 1.7rem;
  color: var(--ember);
  margin: -12px 0 40px;
}
.oven-now b { font-family: var(--body); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.06em; color: var(--cream); }
.oven-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  border-top: 2px solid rgba(241, 233, 218, 0.35);
  border-bottom: 2px solid rgba(241, 233, 218, 0.35);
  padding: 26px 0;
  overflow: hidden;
}
.oven-track::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 2px), rgba(241, 233, 218, 0.25) calc(12.5% - 2px) 12.5%);
  pointer-events: none;
}
.oven-heat {
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: 0;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(179, 96, 44, 0.5) 30%, rgba(245, 165, 76, 0.75) 50%, rgba(179, 96, 44, 0.5) 70%, transparent);
  filter: blur(6px);
  animation: heat-run 12s linear infinite;
  pointer-events: none;
}
@keyframes heat-run {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(330%); }
}
.slot {
  position: relative;
  padding: 10px 14px 12px;
  border-right: 2px dotted rgba(241, 233, 218, 0.3);
  animation: slot-warm 12s ease-in-out infinite;
}
.slot:nth-child(2) { animation-delay: 0s; }
.slot:nth-child(3) { animation-delay: 1.5s; }
.slot:nth-child(4) { animation-delay: 3s; }
.slot:nth-child(5) { animation-delay: 4.5s; }
.slot:nth-child(6) { animation-delay: 6s; }
.slot:nth-child(7) { animation-delay: 7.5s; }
.slot:nth-child(8) { animation-delay: 9s; }
.slot:nth-child(9) { animation-delay: 10.5s; }
@keyframes slot-warm {
  0%, 14%, 100% { background: transparent; }
  5%, 9% { background: rgba(226, 130, 44, 0.22); }
}
.slot:last-child { border-right: 0; }
.slot time {
  display: block;
  font-family: var(--disp);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  color: var(--ember);
}
.slot b { display: block; font-size: 13.5px; font-weight: 700; margin-top: 8px; line-height: 1.35; }
.slot span { display: block; font-family: var(--hand); font-size: 1.05rem; color: rgba(241, 233, 218, 0.7); margin-top: 4px; }
.slot.is-now { background: rgba(226, 130, 44, 0.16); outline: 2px dashed var(--ember); outline-offset: -2px; }
.slot.is-now::after {
  content: 'сейчас';
  position: absolute;
  top: -11px;
  right: 8px;
  font-family: var(--body);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--ember);
  padding: 2px 8px;
  border-radius: 999px;
}
.oven-legend {
  font-size: 13px;
  color: rgba(241, 233, 218, 0.55);
  margin: 22px 0 clamp(50px, 8vh, 90px);
  max-width: 66ch;
}
@media (max-width: 1080px) {
  .oven-track { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; row-gap: 18px; }
  .slot { border-right: 0; }
}
@media (max-width: 640px) {
  .oven-track { grid-template-columns: 1fr 1fr; }
  .oven-heat { display: none; }
}

/* ---------- состав ---------- */
.sostav { padding: clamp(60px, 9vh, 110px) 0 0; }
.sostav-in {
  width: min(1280px, 94vw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: start;
}
.sostav-head { position: sticky; top: 130px; }
.sostav-list { border-top: 2px solid var(--ink); }
.s-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  padding: 24px 4px;
  border-bottom: 2px dotted rgba(38, 32, 26, 0.35);
}
.s-row dt {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1;
  color: var(--crust);
}
.s-row dd { font-size: 15.5px; }
@media (max-width: 900px) {
  .sostav-in { grid-template-columns: 1fr; }
  .sostav-head { position: static; }
  .s-row { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- витрина ---------- */
.showcase { background: var(--cream); padding: clamp(60px, 9vh, 110px) 0 0; }
.showcase .torn path { fill: var(--cream); }
.show-in {
  width: min(1280px, 94vw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: center;
}
.show-frame {
  position: relative;
  border: 1.6px solid var(--ink);
  padding: 12px;
  background: var(--paper);
  box-shadow: 10px 12px 0 rgba(38, 32, 26, 0.14);
  transform: rotate(-1.6deg);
}
.show-frame img {
  aspect-ratio: 1 / 1;
  background:
    radial-gradient(circle at 30% 30%, rgba(226, 130, 44, 0.25), transparent 60%),
    linear-gradient(135deg, var(--tan), #d9c19c);
}
.show-frame figcaption {
  font-family: var(--hand);
  font-size: 1.3rem;
  color: var(--bran);
  padding-top: 10px;
  text-align: center;
}
.cafe { margin: 26px 0 30px; }
.cafe li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 11px 2px;
  font-size: 15.5px;
}
.cafe .dots { flex: 1; border-bottom: 2px dotted rgba(38, 32, 26, 0.4); transform: translateY(-5px); }
.cafe b { font-weight: 700; white-space: nowrap; }
@media (max-width: 900px) { .show-in { grid-template-columns: 1fr; } }

/* ---------- записки гостей ---------- */
.guests { padding: clamp(60px, 9vh, 110px) 0 clamp(70px, 10vh, 120px); }
.guests-in { width: min(1280px, 94vw); margin-inline: auto; }
.notes-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 48px);
  margin-top: 40px;
}
.note {
  position: relative;
  background: #fdfbf5;
  border: 1.6px solid rgba(38, 32, 26, 0.4);
  padding: 30px 28px 24px;
  box-shadow: 6px 8px 0 rgba(38, 32, 26, 0.12);
  transition: transform 0.4s var(--bounce), box-shadow 0.4s ease;
}
.note:hover { transform: rotate(0deg) scale(1.015) !important; box-shadow: 10px 14px 0 rgba(38, 32, 26, 0.16); }
.note p { font-family: var(--hand); font-weight: 600; font-size: 1.5rem; line-height: 1.4; }
.note footer { margin-top: 14px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bran); }
.pin {
  position: absolute;
  top: -9px;
  left: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #e07a4a, var(--crust) 70%);
  box-shadow: 0 3px 5px rgba(38, 32, 26, 0.4);
  transform: translateX(-50%);
}
@media (max-width: 800px) { .notes-board { grid-template-columns: 1fr; } }

/* ---------- адрес ---------- */
.adres { background: var(--tan); padding: clamp(60px, 9vh, 110px) 0 clamp(70px, 10vh, 120px); }
.adres-in { width: min(1280px, 94vw); margin-inline: auto; }
.adres-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 40px);
  margin-top: 20px;
}
.a-cell {
  background: var(--paper);
  border: 1.6px solid var(--ink);
  padding: 24px 22px;
  box-shadow: 5px 6px 0 rgba(38, 32, 26, 0.2);
}
.a-cell h3 {
  font-family: var(--disp);
  font-weight: 700;
  font-size: 1.9rem;
  color: var(--crust);
  margin-bottom: 12px;
}
.a-cell p { font-size: 14.5px; }
.a-cell a { border-bottom: 2px dotted var(--crust); transition: color 0.25s ease; }
.a-cell a:hover { color: var(--crust); }
@media (max-width: 1000px) { .adres-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .adres-grid { grid-template-columns: 1fr; } }

/* ---------- футер ---------- */
.foot { background: var(--ink); color: var(--cream); padding: clamp(50px, 8vh, 90px) 0 26px; text-align: center; }
.foot-in { width: min(1080px, 92vw); margin-inline: auto; display: grid; justify-items: center; }
.foot-seal svg { width: 96px; height: 96px; animation: seal-spin 30s linear infinite reverse; }
.seal-text.light { fill: var(--ember); font-size: 12.5px; }
.light-art { stroke: var(--ember); fill: rgba(179, 96, 44, 0.25); }
.foot-word {
  font-family: var(--disp);
  font-weight: 700;
  font-size: clamp(4rem, 12vw, 9rem);
  line-height: 0.95;
  letter-spacing: 0.06em;
  color: var(--cream);
  margin: 6px 0 26px;
}
.foot-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  text-align: center;
  width: 100%;
  border-top: 2px dotted rgba(241, 233, 218, 0.3);
  padding-top: 30px;
}
.foot-cols p { font-size: 13.5px; line-height: 1.8; }
.foot-cols a { border-bottom: 1px dotted rgba(241, 233, 218, 0.5); transition: color 0.25s ease, border-color 0.25s ease; }
.foot-cols a:hover { color: var(--ember); border-color: var(--ember); }
.foot-bottom { margin-top: 34px; font-size: 11.5px; letter-spacing: 0.12em; color: rgba(241, 233, 218, 0.45); }
@media (max-width: 760px) { .foot-cols { grid-template-columns: 1fr; } }

/* ---------- prefers-reduced-motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
  .stamp-in { opacity: 1; transform: rotate(var(--set, 0deg)); }
  .oven-intro { display: none; }
  .oven-heat { display: none; }
  .crack path { stroke-dashoffset: 0; }
}
