@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&family=Prata&display=swap');

:root {
  --bg: #f7f3ed;
  --paper: #fffdf9;
  --text: #3d352f;
  --muted: #776d65;
  --line: #ded4c9;
  --accent: #71543e;
  --accent-dark: #553d2d;
  --soft: #eee5da;
  --max: 1240px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: "Manrope", Arial, sans-serif;
  line-height: 1.65;
}

img { max-width: 100%; display: block; }

a { color: inherit; }

h1, h2, h3, .brand, .date-main {
  font-family: "Prata", Georgia, serif;
  font-weight: 400;
  line-height: 1.15;
  margin-top: 0;
}

h1 { font-size: clamp(2.7rem, 6vw, 5.8rem); margin-bottom: 28px; }
h2 { font-size: clamp(2rem, 4vw, 3.6rem); margin-bottom: 24px; }
h3 { font-size: 1.35rem; margin-bottom: 10px; }

p { margin-top: 0; }

.container {
  width: min(calc(100% - 40px), var(--max));
  margin: 0 auto;
}

.narrow { max-width: 840px; }
.centered { text-align: center; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 253, 249, .94);
  border-bottom: 1px solid rgba(222, 212, 201, .7);
  backdrop-filter: blur(12px);
}

.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.brand {
  text-decoration: none;
  font-size: 1.18rem;
  white-space: nowrap;
}

.main-nav {
  display: flex;
  gap: 28px;
  font-size: .9rem;
}

.main-nav a {
  text-decoration: none;
  color: var(--muted);
  border-bottom: 1px solid transparent;
}

.main-nav a:hover,
.main-nav a.active {
  color: var(--text);
  border-color: var(--accent);
}

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--accent);
  text-decoration: none;
  transition: .2s ease;
}

.button-primary {
  color: #fff;
  background: var(--accent);
}

.button-primary:hover { background: var(--accent-dark); }

.button-outline { background: transparent; }

.button-outline:hover { background: var(--soft); }

.text-link {
  text-underline-offset: 5px;
  color: var(--accent-dark);
}

.eyebrow {
  margin-bottom: 14px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
}

.lead {
  max-width: 760px;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  color: #5e554e;
}

.section {
  padding: 110px 0;
  border-top: 1px solid var(--line);
}

.section-heading { margin-bottom: 46px; }

.hero-rassvety {
  position: relative;
  min-height: min(760px, 86vh);
  display: grid;
  align-items: center;
  overflow: hidden;
  background: var(--bg);
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(247,243,237,.98) 0%, rgba(247,243,237,.88) 38%, rgba(247,243,237,.12) 75%);
}

.hero-content { position: relative; z-index: 2; }

.hero-copy {
  max-width: 650px;
  padding: 80px 0;
}

.hero-actions {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 36px;
}

.split-layout {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 80px;
  align-items: center;
}

.split-layout.reverse {
  grid-template-columns: .9fr 1.1fr;
}

.photo-triptych {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.placeholder {
  position: relative;
  min-height: 260px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(113,84,62,.09), rgba(113,84,62,.02)),
    #ece5dc;
  border: 1px dashed #b9a99b;
  color: #796a5d;
  text-align: center;
  font-size: .85rem;
}

.placeholder span {
  position: relative;
  z-index: 3;
  padding: 12px;
  background: rgba(255,253,249,.82);
}

.placeholder.portrait { aspect-ratio: 3 / 4.7; }
.placeholder.landscape { aspect-ratio: 3 / 2; }
.placeholder.host-photo { aspect-ratio: 3 / 2.1; }
.placeholder.cat-photo { aspect-ratio: 4 / 5; }
.placeholder.vk-shot { aspect-ratio: 4 / 5; }

.prose p {
  max-width: 650px;
  color: #5f554e;
}

.timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 9%;
  right: 9%;
  border-top: 1px dashed #b7a89c;
}

.timeline-item {
  position: relative;
  text-align: center;
}

.step-icon {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  margin: 0 auto 22px;
  display: grid;
  place-items: center;
  border: 1px solid #bca894;
  border-radius: 50%;
  background: var(--paper);
  font-family: "Prata", Georgia, serif;
}

.timeline-item p {
  color: var(--muted);
  font-size: .92rem;
}

.practical-section { background: var(--bg); }

.facts-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.fact {
  min-height: 190px;
  padding: 30px 22px;
  text-align: center;
  border-right: 1px solid var(--line);
}

.fact:last-child { border-right: 0; }

.fact-icon {
  min-height: 38px;
  margin-bottom: 15px;
  color: var(--accent);
  font-size: 1.5rem;
}

.fact h3 {
  font-family: "Manrope", Arial, sans-serif;
  font-size: .86rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.fact p { color: var(--muted); font-size: .9rem; }

.notice {
  margin: 28px auto 0;
  max-width: 1000px;
  color: var(--muted);
  font-size: .9rem;
  text-align: center;
}

.two-columns {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 70px;
}

.dates-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.date-card {
  padding: 28px 20px;
  border: 1px solid var(--line);
  text-align: center;
}

.date-main { margin-bottom: 8px; font-size: 1.4rem; }
.date-time { color: var(--muted); font-size: 1.1rem; }
.date-card a { font-size: .8rem; }

.vk-posts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.vk-post-card {
  padding: 14px;
  background: var(--bg);
  border: 1px solid var(--line);
}

.vk-post-card p {
  margin: 16px 4px 8px;
  color: var(--muted);
  font-size: .9rem;
}

.vk-post-card a {
  font-size: .82rem;
  color: var(--accent-dark);
}

.host-layout {
  display: grid;
  grid-template-columns: 1.25fr .9fr .55fr;
  gap: 42px;
  align-items: center;
}

.cat-note p {
  margin-top: 16px;
  color: var(--muted);
  font-family: "Prata", Georgia, serif;
  font-size: 1.05rem;
}

.final-cta {
  padding: 110px 0;
  background:
    linear-gradient(rgba(247,243,237,.93), rgba(247,243,237,.93)),
    radial-gradient(circle at 20% 90%, #dfd2c4 0, transparent 32%),
    radial-gradient(circle at 80% 100%, #e9ddcf 0, transparent 34%);
}

.final-cta p { color: var(--muted); }
.final-cta .button { margin-top: 20px; }

.home-intro {
  padding: 150px 0 120px;
  background: var(--bg);
}

.program-card {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  border: 1px solid var(--line);
}

.program-card-image {
  border: 0;
  border-right: 1px solid var(--line);
  min-height: 460px;
}

.program-card-content {
  padding: 60px;
  align-self: center;
}

.site-footer {
  padding: 34px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .85rem;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}

@media (max-width: 980px) {
  .main-nav { display: none; }
  .facts-grid { grid-template-columns: repeat(3, 1fr); }
  .fact:nth-child(3) { border-right: 0; }
  .fact:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .timeline { grid-template-columns: 1fr; gap: 26px; }
  .timeline::before { display: none; }
  .timeline-item { text-align: left; padding-left: 70px; }
  .step-icon { position: absolute; left: 0; top: 0; }
  .split-layout,
  .split-layout.reverse,
  .two-columns,
  .host-layout,
  .program-card { grid-template-columns: 1fr; }
  .program-card-image { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 28px), var(--max)); }
  .site-header .button { display: none; }
  .header-inner { min-height: 64px; }
  .section { padding: 76px 0; }
  .hero-rassvety { min-height: 760px; align-items: end; }
  .hero-image::after {
    background: linear-gradient(0deg, rgba(247,243,237,.98) 0%, rgba(247,243,237,.82) 48%, rgba(247,243,237,.10) 80%);
  }
  .hero-copy { padding: 330px 0 56px; }
  .photo-triptych { gap: 7px; }
  .facts-grid { grid-template-columns: repeat(2, 1fr); }
  .fact { border-bottom: 1px solid var(--line); }
  .fact:nth-child(odd) { border-right: 1px solid var(--line); }
  .fact:nth-child(even) { border-right: 0; }
  .dates-grid,
  .vk-posts { grid-template-columns: 1fr; }
  .program-card-content { padding: 34px 24px; }
  .footer-inner { flex-direction: column; text-align: center; }
}

/* ===== СТРАНИЦА РАССВЕТОВ V2 ===== */
.media{display:block;width:100%;height:100%;object-fit:cover;background:#ece5dc}.media.portrait{aspect-ratio:3/4.7}.media.landscape{aspect-ratio:3/2}.lead-small{max-width:740px;font-size:1.12rem;color:#5e554e}.join-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:80px;align-items:start}.join-main{max-width:760px}.join-main .button{margin-top:22px}.join-note{padding:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.individual-section{background:var(--bg)}.individual-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:80px;align-items:center}.individual-photo{aspect-ratio:4/3}.stories-section{overflow:hidden}.stories-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.section-intro{max-width:760px;color:var(--muted)}.carousel-controls{display:flex;gap:10px;padding-bottom:46px}.carousel-button{width:48px;height:48px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:1.25rem;cursor:pointer}.carousel-button:hover{background:var(--soft)}.carousel-button:disabled{opacity:.35;cursor:default}.stories-viewport{overflow:hidden}.stories-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:8px}.stories-track::-webkit-scrollbar{display:none}.story-card{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start;border:1px solid var(--line);background:var(--bg)}.story-image-button{width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.story-image-button img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:#ece5dc}.story-card-body{padding:22px}.story-card-body p{min-height:52px;margin-bottom:12px;color:var(--muted);font-size:.92rem}.story-card-body a{font-size:.82rem;color:var(--accent-dark);text-underline-offset:4px}.stories-note{margin-top:24px;color:var(--muted);font-size:.82rem}.story-modal{width:min(92vw,920px);max-height:92vh;padding:0;border:0;background:transparent}.story-modal::backdrop{background:rgba(24,20,17,.82)}.story-modal img{display:block;max-width:100%;max-height:90vh;margin:auto;object-fit:contain;background:#fff}.story-modal-close{position:fixed;top:18px;right:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(40,34,30,.66);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.final-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:24px}
@media(max-width:980px){.join-layout,.individual-layout{grid-template-columns:1fr;gap:48px}.story-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:720px){.stories-heading{display:block}.carousel-controls{padding-bottom:24px}.story-card{flex-basis:86%}.join-note{padding:24px 0}.final-actions{flex-direction:column}.final-actions .button{width:100%}}
