/* ============================================================
   МАЯК — клуб владельцев ветеринарных клиник
   Палитра: глубокий морской синий + тёплый янтарный акцент
   ============================================================ */

:root, [data-theme="light"] {
  /* Surfaces — тёплая кремовая база */
  --color-bg: #f5f0e6;
  --color-surface: #fbf7ee;
  --color-surface-2: #ffffff;
  --color-surface-offset: #ede5d3;
  --color-surface-offset-2: #e3d9c3;
  --color-divider: #d6ccb6;
  --color-border: #c7bda5;

  /* Text */
  --color-text: #16232e;
  --color-text-muted: #4f5a66;
  --color-text-faint: #8b8776;
  --color-text-inverse: #fbf7ee;

  /* Primary — Deep Ocean */
  --color-primary: #0f2a3d;
  --color-primary-hover: #1a3b54;
  --color-primary-active: #0a1d2d;
  --color-primary-highlight: #d2dae2;

  /* Accent — Amber Beacon */
  --color-accent: #c67a1e;
  --color-accent-hover: #a6641a;
  --color-accent-active: #804b10;
  --color-accent-highlight: #f2e3cc;

  /* Radius */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1.25rem;
  --radius-full: 9999px;

  /* Transitions */
  --transition-interactive: 220ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Shadows */
  --shadow-sm: 0 1px 2px oklch(0.2 0.02 230 / 0.06);
  --shadow-md: 0 6px 20px oklch(0.2 0.02 230 / 0.1);
  --shadow-lg: 0 20px 50px oklch(0.15 0.03 230 / 0.18);

  /* Widths */
  --content-narrow: 680px;
  --content-default: 1040px;
  --content-wide: 1240px;

  /* Typography */
  --font-body: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Fraunces", "Playfair Display", Georgia, serif;

  /* Type scale */
  --text-xs:   clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.82rem + 0.25vw, 0.95rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem + 0.6vw, 1.35rem);
  --text-xl:   clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem);
  --text-2xl:  clamp(2rem, 1.4rem + 2.2vw, 3.2rem);
  --text-3xl:  clamp(2.6rem, 1.4rem + 4vw, 4.8rem);
  --text-hero: clamp(2.2rem, 0.5rem + 7vw, 6.5rem);

  /* Spacing */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem; --space-32: 8rem;
}

[data-theme="dark"] {
  --color-bg: #0a1520;
  --color-surface: #10202e;
  --color-surface-2: #162a3b;
  --color-surface-offset: #13293a;
  --color-surface-offset-2: #1b344a;
  --color-divider: #1f3a52;
  --color-border: #2a4763;
  --color-text: #e9e2d2;
  --color-text-muted: #9aa8b6;
  --color-text-faint: #5a6a79;
  --color-text-inverse: #0a1520;
  --color-primary: #e9e2d2;
  --color-primary-hover: #fbf7ee;
  --color-primary-active: #c7bda5;
  --color-primary-highlight: #1b344a;
  --color-accent: #e8a048;
  --color-accent-hover: #f3b56a;
  --color-accent-active: #c67a1e;
  --color-accent-highlight: #3b2a16;
  --shadow-sm: 0 1px 2px oklch(0 0 0 / 0.4);
  --shadow-md: 0 6px 20px oklch(0 0 0 / 0.5);
  --shadow-lg: 0 20px 50px oklch(0 0 0 / 0.6);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg: #0a1520;
    --color-surface: #10202e;
    --color-surface-2: #162a3b;
    --color-surface-offset: #13293a;
    --color-surface-offset-2: #1b344a;
    --color-divider: #1f3a52;
    --color-border: #2a4763;
    --color-text: #e9e2d2;
    --color-text-muted: #9aa8b6;
    --color-text-faint: #5a6a79;
    --color-text-inverse: #0a1520;
    --color-primary: #e9e2d2;
    --color-primary-hover: #fbf7ee;
    --color-primary-active: #c7bda5;
    --color-primary-highlight: #1b344a;
    --color-accent: #e8a048;
    --color-accent-hover: #f3b56a;
    --color-accent-active: #c67a1e;
    --color-accent-highlight: #3b2a16;
  }
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);overflow-x:hidden}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
ul[role="list"],ol[role="list"]{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.1;font-family:var(--font-display);font-weight:500;letter-spacing:-0.015em}
p,li{text-wrap:pretty}
a{color:inherit;text-decoration:none}
button{cursor:pointer;background:none;border:none}
::selection{background:var(--color-accent-highlight);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}
a,button{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),opacity var(--transition-interactive),transform var(--transition-interactive)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- layout ---------- */
.container{width:100%;max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}
.container-narrow{max-width:var(--content-narrow)}
.container-default{max-width:var(--content-default)}
section{padding-block:clamp(1.5rem,3vw,3rem)}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in oklab, var(--color-bg) 88%, transparent);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition: border-color var(--transition-interactive);
}
.site-header.scrolled{border-bottom-color:var(--color-divider)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-4)}
.logo{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0.04em;font-weight:500;color:var(--color-text)}
.logo svg{color:var(--color-accent)}
.logo-mark{font-variant:small-caps;letter-spacing:0.12em}

.nav{display:none;gap:var(--space-8);font-size:var(--text-sm);color:var(--color-text-muted)}
.nav a{position:relative;padding-block:var(--space-2)}
.nav a:hover{color:var(--color-text)}
.nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--transition-interactive)}
.nav a:hover::after{width:100%}
@media (min-width: 900px){ .nav{display:flex} }

.header-actions{display:flex;align-items:center;gap:var(--space-3)}
.theme-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-muted)}
.theme-toggle:hover{color:var(--color-text);border-color:var(--color-text)}

/* ---------- мобильное меню (бургер + выпадающая панель) ---------- */
/* CTA в шапке прячем на узких экранах — он переезжает в выпадающее меню */
.header-actions .header-cta{display:none}
@media (min-width: 900px){ .header-actions .header-cta{display:inline-flex} }

.nav-toggle{
  width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text);
  background:transparent;cursor:pointer;transition:border-color var(--transition-interactive);
}
.nav-toggle:hover{border-color:var(--color-text)}
.nav-toggle__bars{position:relative;width:18px;height:14px;display:block}
.nav-toggle__bars span{
  position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;
  transition:transform .3s cubic-bezier(.16,1,.3,1), opacity .2s ease, top .3s cubic-bezier(.16,1,.3,1);
}
.nav-toggle__bars span:nth-child(1){top:0}
.nav-toggle__bars span:nth-child(2){top:6px}
.nav-toggle__bars span:nth-child(3){top:12px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1){top:6px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3){top:6px;transform:rotate(-45deg)}
@media (min-width: 900px){ .nav-toggle{display:none} }

.mobile-nav{
  overflow:hidden;max-height:0;opacity:0;visibility:hidden;
  border-top:1px solid transparent;
  background:color-mix(in oklab, var(--color-bg) 96%, transparent);
  backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  transition:max-height .35s cubic-bezier(.16,1,.3,1), opacity .25s ease, visibility .35s, border-color .25s ease;
}
.mobile-nav.is-open{max-height:min(80vh,520px);opacity:1;visibility:visible;overflow-y:auto;border-top-color:var(--color-divider)}
.mobile-nav__inner{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-4) var(--space-6)}
.mobile-nav__inner a{
  padding:var(--space-3) var(--space-2);font-size:var(--text-base);color:var(--color-text);
  border-bottom:1px solid var(--color-divider);transition:color var(--transition-interactive);
}
.mobile-nav__inner a:hover{color:var(--color-accent)}
.mobile-nav__lenta{color:var(--color-accent);font-weight:600}
.mobile-nav__cta{margin-top:var(--space-4);border-bottom:0;justify-content:center}
.mobile-nav__inner a.mobile-nav__cta{color:var(--color-text-inverse)}
[data-theme="dark"] .mobile-nav__inner a.mobile-nav__cta{color:#0a1520}
@media (min-width: 900px){ .mobile-nav{display:none} }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  padding:0.875rem 1.5rem;font-size:var(--text-sm);font-weight:600;letter-spacing:0.02em;
  border-radius:var(--radius-full);white-space:nowrap;
}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-accent{background:var(--color-accent);color:#fff}
.btn-accent:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}
[data-theme="dark"] .btn-primary{background:var(--color-accent);color:#0a1520}
[data-theme="dark"] .btn-primary:hover{background:var(--color-accent-hover)}
.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}
.btn-ghost:hover{border-color:var(--color-text);background:var(--color-surface)}
.btn-lg{padding:1.1rem 2rem;font-size:var(--text-base)}

/* ---------- hero ---------- */
.hero{
  position:relative;padding-block:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,2.5vw,2.25rem);
  overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background-image: url("../assets/hero-lighthouse.webp");
  background-size:cover;background-position:center 30%;
}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,
      color-mix(in oklab, var(--color-bg) 20%, transparent) 0%,
      color-mix(in oklab, var(--color-bg) 55%, transparent) 40%,
      color-mix(in oklab, var(--color-bg) 95%, transparent) 100%),
    linear-gradient(90deg,
      color-mix(in oklab, var(--color-bg) 70%, transparent) 0%,
      transparent 60%);
}
[data-theme="dark"] .hero__bg::after{
  background:
    linear-gradient(180deg, rgba(10,21,32,.2) 0%, rgba(10,21,32,.55) 45%, rgba(10,21,32,.97) 100%),
    linear-gradient(90deg, rgba(10,21,32,.75) 0%, transparent 65%);
}
.hero__inner{position:relative;z-index:1}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;
  color:var(--color-accent);font-weight:600;
  margin-bottom:var(--space-6);
}
.hero__eyebrow::before{content:"";width:28px;height:1px;background:var(--color-accent)}
.hero h1{
  font-size:var(--text-hero);
  line-height:0.95;letter-spacing:-0.025em;
  font-weight:400;
  max-width:16ch;
  margin-bottom:var(--space-8);
}
.hero h1 em{font-style:italic;color:var(--color-accent);font-weight:400}
.hero__lede{
  font-size:var(--text-lg);color:var(--color-text-muted);
  max-width:58ch;margin-bottom:var(--space-10);line-height:1.55;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.hero__meta{
  margin-top:var(--space-12);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:480px;padding-top:var(--space-8);border-top:1px solid var(--color-border)
}
.hero__meta-item{padding:var(--space-6)}
/* разделители-крест между четырьмя ячейками */
.hero__meta-item:nth-child(-n+2){padding-top:0;border-bottom:1px solid color-mix(in oklab, var(--color-text) 22%, transparent)}
.hero__meta-item:nth-child(n+3){padding-bottom:0}
.hero__meta-item:nth-child(odd){padding-left:0;border-right:1px solid color-mix(in oklab, var(--color-text) 22%, transparent)}
.hero__meta-item:nth-child(even){padding-right:0}
.hero__meta-item strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);line-height:1.05;margin-bottom:var(--space-2)}
.hero__meta-item span{font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-muted)}
@media (max-width:430px){
  .hero__meta{max-width:none}
  .hero__meta-item{padding:var(--space-4)}
  .hero__meta-item strong{font-size:var(--text-lg)}
  .hero__meta-item span{letter-spacing:0.05em}
}

/* ---------- section eyebrow ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-3);
  font-size:var(--text-xs);letter-spacing:0.22em;text-transform:uppercase;
  color:var(--color-accent);font-weight:600;margin-bottom:var(--space-6);
}
.eyebrow__num{
  font-family:var(--font-display);font-size:var(--text-sm);
  color:var(--color-accent);
  width:28px;height:28px;border:1px solid var(--color-accent);
  border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;
  letter-spacing:0;
}
.section-title{
  font-size:var(--text-2xl);font-weight:400;letter-spacing:-0.02em;
  max-width:22ch;margin-bottom:var(--space-6);
}
.section-title em{color:var(--color-accent);font-style:italic}
.section-lede{font-size:var(--text-lg);color:var(--color-text-muted);max-width:62ch;line-height:1.55}

/* ---------- about section (о клубе) ---------- */
.about-section{background:var(--color-surface)}
.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:start}
@media (min-width:900px){ .about-grid{grid-template-columns: 1.05fr 1fr;gap:var(--space-20)} }
.about-copy p{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-4);max-width:54ch}
.about-copy p strong{color:var(--color-text);font-weight:600}
.about-figure{position:relative}
.about-figure img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover}
.about-figure::after{
  content:"";position:absolute;inset:auto -8px -8px auto;
  width:60%;height:60%;z-index:-1;
  border:1px solid var(--color-accent);border-radius:var(--radius-lg);
}

/* ---------- audience ---------- */
.audience-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-12)}
@media (min-width:700px){ .audience-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1100px){ .audience-grid{grid-template-columns:repeat(3,1fr)} }
.audience-card{
  background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  padding:var(--space-8) var(--space-6);
  transition:transform var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive);
}
.audience-card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:var(--shadow-md)}
.audience-card__num{
  font-family:var(--font-display);font-style:italic;
  color:var(--color-accent);font-size:var(--text-xl);
  display:block;margin-bottom:var(--space-4);line-height:1;
}
.audience-card h3{font-size:var(--text-lg);font-weight:600;font-family:var(--font-body);letter-spacing:-0.01em;margin-bottom:var(--space-3);color:var(--color-text)}
.audience-card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}

/* ---------- about-me ---------- */
.aboutme{background:var(--color-surface-offset)}
[data-theme="dark"] .aboutme{background:var(--color-surface-2)}
.aboutme-grid{display:grid;grid-template-columns:1fr;gap:var(--space-10);align-items:center}
@media (min-width:900px){.aboutme-grid{grid-template-columns:1fr 1.3fr;gap:var(--space-16)}}
.aboutme-portrait{
  aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;position:relative;
  background:linear-gradient(135deg, var(--color-primary), var(--color-accent));
  box-shadow:var(--shadow-lg);
}
.aboutme-portrait img{width:100%;height:100%;object-fit:cover}
.aboutme h2{font-size:var(--text-2xl);margin-bottom:var(--space-6);font-weight:400}
.aboutme h2 em{font-style:italic;color:var(--color-accent)}
.aboutme p{color:var(--color-text-muted);margin-bottom:var(--space-4);max-width:58ch}
.aboutme p strong{color:var(--color-text);font-weight:600}
.aboutme-sig{
  margin-top:var(--space-6);font-family:var(--font-display);font-style:italic;
  font-size:var(--text-lg);color:var(--color-text);
}

/* ---------- about-me: lead + mission ---------- */
.aboutme-lead{
  font-family:var(--font-display);
  font-size:var(--text-xl);font-weight:500;
  line-height:1.3;letter-spacing:-0.015em;
  color:var(--color-text) !important;
  margin-bottom:var(--space-6) !important;
  max-width:28ch;
}
.aboutme-lead strong{color:var(--color-accent);font-weight:500}

.aboutme-mission{
  font-family:var(--font-display);
  font-size:var(--text-lg);line-height:1.4;
  color:var(--color-text) !important;
  margin-bottom:var(--space-4) !important;
  padding-left:var(--space-4);
  border-left:2px solid var(--color-accent);
}
.aboutme-mission em{font-style:italic;color:var(--color-accent)}

/* ---------- credentials-section (books + conferences) ---------- */
.credentials-section{padding:var(--space-16) 0;background:var(--color-surface-2)}
[data-theme="dark"] .credentials-section{background:var(--color-surface)}
.credentials-header{text-align:center;max-width:680px;margin:0 auto var(--space-12)}
.credentials-grid{
  display:grid;grid-template-columns:1fr;gap:var(--space-6);
  max-width:var(--content-default);margin:0 auto;
}
@media (min-width:800px){.credentials-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}}
.cred-card{
  padding:var(--space-8);border-radius:var(--radius-lg);
  background:var(--color-surface);border:1px solid var(--color-border);
  display:flex;flex-direction:column;gap:var(--space-4);
}
.cred-card__icon{
  width:3rem;height:3rem;border-radius:var(--radius-full);
  background:var(--color-accent-highlight);color:var(--color-accent-active);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
[data-theme="dark"] .cred-card__icon{color:var(--color-accent)}
.cred-card h3{
  font-family:var(--font-display);font-weight:500;
  font-size:var(--text-xl);line-height:1.2;color:var(--color-text);
  margin:0;
}
.cred-card__sub{
  font-family:var(--font-body);font-size:var(--text-xs);
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--color-accent);margin:0;
}
[data-theme="dark"] .cred-card__sub{color:var(--color-accent)}
.cred-card ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0}
.cred-card li{
  font-size:var(--text-sm);color:var(--color-text);line-height:1.5;
  padding-left:var(--space-4);position:relative;
}
.cred-card li::before{
  content:"";position:absolute;left:0;top:.75em;
  width:10px;height:1px;background:var(--color-accent);
}

/* ---------- offduty-section ---------- */
.offduty-section{padding:var(--space-16) 0}
.offduty-header{text-align:center;max-width:680px;margin:0 auto var(--space-12)}
.offduty-grid{
  display:grid;grid-template-columns:1fr;gap:var(--space-5);
  max-width:var(--content-default);margin:0 auto;
}
@media (min-width:640px){.offduty-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.offduty-grid{grid-template-columns:repeat(4,1fr)}}
.offduty-card{
  padding:var(--space-6);border-radius:var(--radius-lg);
  background:var(--color-surface);border:1px solid var(--color-border);
  display:flex;flex-direction:column;gap:var(--space-3);
  transition:transform var(--transition-interactive);
}
.offduty-card:hover{transform:translateY(-2px)}
.offduty-card__icon{
  width:2.5rem;height:2.5rem;border-radius:var(--radius-full);
  background:var(--color-accent-highlight);color:var(--color-accent-active);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
[data-theme="dark"] .offduty-card__icon{color:var(--color-accent)}
.offduty-card h3{
  font-family:var(--font-display);font-weight:500;
  font-size:var(--text-lg);line-height:1.25;color:var(--color-text);
  margin:0;
}
.offduty-card p{
  font-size:var(--text-sm);color:var(--color-text-muted);
  line-height:1.5;margin:0;
}

/* ---------- formats ---------- */
.formats{position:relative}
.formats-header{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-12)}
@media (min-width:900px){.formats-header{grid-template-columns:1fr 1fr}}
.formats-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}
@media (min-width:700px){.formats-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.formats-grid{grid-template-columns:repeat(3,1fr)}}

.format-card{
  position:relative;padding:var(--space-8);border-radius:var(--radius-lg);
  background:var(--color-surface);border:1px solid var(--color-border);
  display:flex;flex-direction:column;gap:var(--space-4);
  min-height:260px;overflow:hidden;
  transition:transform var(--transition-interactive), box-shadow var(--transition-interactive);
}
.format-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.format-card--feature{
  grid-column:span 1;
  background:#0f2a3d;color:#f5f0e6;
  border-color:transparent;
}
[data-theme="dark"] .format-card--feature{
  background:linear-gradient(160deg,#14304a 0%,#0c1f2e 100%);
  color:#f5f0e6;
  border:1px solid var(--color-border);
}
.format-card--feature::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 85% 15%, rgba(198,122,30,.35) 0%, transparent 55%);
  pointer-events:none;
}
@media (min-width:1100px){
  .format-card--feature{grid-column:span 2;grid-row:span 2;min-height:540px}
}
.format-card__num{
  font-family:var(--font-display);font-style:italic;
  color:var(--color-accent);font-size:var(--text-lg);
}
.format-card--feature .format-card__num{color:var(--color-accent)}
.format-card h3{
  font-family:var(--font-display);font-weight:500;
  font-size:var(--text-lg);line-height:1.2;letter-spacing:-0.01em;
  color:var(--color-text);
}
.format-card--feature h3{color:#f5f0e6;font-size:var(--text-xl)}
.format-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}
.format-card--feature p{color:rgba(245,240,230,.78)}
.format-card ul{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);list-style:none}
.format-card li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-5);position:relative}
.format-card--feature li{color:rgba(245,240,230,.78)}
.format-card li::before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--color-accent)}

/* ---------- pricing ---------- */
.pricing{background:var(--color-surface)}
.pricing-header{text-align:center;margin-bottom:var(--space-16)}
.pricing-header .section-title,.pricing-header .section-lede{margin-inline:auto}
.pricing-grid{
  display:grid;grid-template-columns:1fr;gap:var(--space-6);
  max-width:920px;margin-inline:auto;
}
@media (min-width:780px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}

.plan{
  position:relative;padding:var(--space-10) var(--space-8);
  background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  display:flex;flex-direction:column;gap:var(--space-4);
  transition:transform var(--transition-interactive), box-shadow var(--transition-interactive);
}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
[data-theme="dark"] .plan{background:var(--color-surface-2)}

.plan--featured{border-color:var(--color-accent);box-shadow:var(--shadow-md)}
.plan--featured::after{
  content:"рекомендуем";position:absolute;top:var(--space-4);right:var(--space-4);
  font-size:var(--text-xs);letter-spacing:0.12em;text-transform:uppercase;
  color:#fff;background:var(--color-accent);
  padding:.3rem .7rem;border-radius:var(--radius-full);font-weight:600;
}
.plan__badge{
  font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;
  color:var(--color-text-muted);font-weight:600;
}
.plan__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-0.01em;color:var(--color-text)}
.plan__price{
  display:flex;align-items:baseline;gap:var(--space-2);
  font-family:var(--font-display);
  margin-block:var(--space-2) var(--space-4);
}
.plan__price-value{font-size:var(--text-3xl);font-weight:500;letter-spacing:-0.025em;color:var(--color-text);line-height:1}
.plan__price-currency{font-size:var(--text-xl);color:var(--color-text-muted)}
.plan__price-period{font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-muted);letter-spacing:0}
.plan__saving{
  display:inline-block;align-self:flex-start;
  background:var(--color-accent-highlight);color:var(--color-accent-active);
  padding:.3rem .7rem;border-radius:var(--radius-full);
  font-size:var(--text-xs);font-weight:600;letter-spacing:0.05em;
  margin-bottom:var(--space-2);
}
[data-theme="dark"] .plan__saving{background:var(--color-accent-highlight);color:var(--color-accent-hover)}
.plan__desc{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}
.plan__features{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}
.plan__features li{font-size:var(--text-sm);color:var(--color-text);padding-left:1.75rem;position:relative;line-height:1.5}
.plan__features li::before{
  content:"";position:absolute;left:0;top:.45em;
  width:16px;height:16px;border-radius:50%;
  background: var(--color-accent-highlight);
  box-shadow: inset 0 0 0 1px var(--color-accent);
}
.plan__features li::after{
  content:"";position:absolute;left:4px;top:.7em;
  width:8px;height:4px;border-left:1.5px solid var(--color-accent);border-bottom:1.5px solid var(--color-accent);
  transform:rotate(-45deg);
}
.plan .btn{margin-top:auto;width:100%}

.pricing-note{
  margin-top:var(--space-10);text-align:center;
  color:var(--color-text-muted);font-size:var(--text-sm);max-width:58ch;margin-inline:auto
}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
@media (min-width:900px){.faq-grid{grid-template-columns:1fr 1.5fr;gap:var(--space-16)}}
.faq-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--color-divider)}
.faq-item{border-bottom:1px solid var(--color-divider)}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:var(--space-6) var(--space-2) var(--space-6) 0;
  display:flex;align-items:start;justify-content:space-between;gap:var(--space-6);
  font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;
  color:var(--color-text);letter-spacing:-0.01em;line-height:1.3;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";font-family:var(--font-body);font-weight:300;font-size:1.6rem;line-height:1;
  color:var(--color-accent);transition:transform var(--transition-interactive);
  flex-shrink:0;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 var(--space-8) var(--space-6) 0;color:var(--color-text-muted);font-size:var(--text-base)}

/* ---------- final cta ---------- */
.final-cta{
  position:relative;overflow:hidden;color:#fff;
  isolation:isolate;
}
.final-cta__bg{position:absolute;inset:0;z-index:-1;background-image:url("../assets/footer-horizon.webp");background-size:cover;background-position:center}
.final-cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,21,32,.5) 0%, rgba(10,21,32,.78) 100%)}
.final-cta .container{text-align:center;padding-block:clamp(5rem,10vw,8rem)}
.final-cta h2{font-size:var(--text-2xl);color:#fff;max-width:20ch;margin:0 auto var(--space-6);font-weight:400}
.final-cta h2 em{color:var(--color-accent);font-style:italic}
.final-cta p{color:rgba(255,255,255,.78);max-width:54ch;margin:0 auto var(--space-10);font-size:var(--text-lg)}

/* ---------- footer ---------- */
.site-footer{background:var(--color-surface);padding-block:var(--space-16) var(--space-8);border-top:1px solid var(--color-divider)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-10)}
@media (min-width:700px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
.footer-col h4{font-size:var(--text-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4);font-family:var(--font-body);font-weight:600}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.footer-col a{font-size:var(--text-sm);color:var(--color-text)}
.footer-col a:hover{color:var(--color-accent)}
.footer-col p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:42ch;margin-top:var(--space-3)}
.footer-bottom{
  margin-top:var(--space-12);padding-top:var(--space-6);
  border-top:1px solid var(--color-divider);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);
  font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:0.03em;
}

/* ---------- reveal animation ---------- */
/* Initial state applied only when JS enables it, to keep content visible for no-JS and crawlers */
html.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1)}
html.js-enabled .reveal.in{opacity:1;transform:translateY(0)}
html.js-enabled .reveal:nth-child(2){transition-delay:.08s}
html.js-enabled .reveal:nth-child(3){transition-delay:.16s}
html.js-enabled .reveal:nth-child(4){transition-delay:.24s}
@media (prefers-reduced-motion: reduce){html.js-enabled .reveal{opacity:1!important;transform:none!important}}

/* ---------- utility ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.accent-text{color:var(--color-accent)}

/* ───────── Миссия Маяка ───────── */
.mission{background:var(--color-surface-offset);border-block:1px solid var(--color-border);padding-block:0}
.mission__inner{max-width:64ch;margin-inline:auto;text-align:center;padding-block:clamp(1.5rem,2.5vw,2.5rem)}
.mission__eyebrow{justify-content:center}
.mission__eyebrow::after{content:"";width:28px;height:1px;background:var(--color-accent)}
.mission__lead{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);line-height:1.22;letter-spacing:-0.01em;color:var(--color-text);margin:var(--space-5) 0 var(--space-6)}
.mission__lead em{color:var(--color-accent);font-style:italic}
.mission__body{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.62;margin:0 auto var(--space-8);max-width:58ch}
.mission__punch{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:var(--text-xl);color:var(--color-accent);margin:0}
/* ============================================================
   ЛЕНТА СООБЩЕСТВА + СТРАНИЦА ПОСТА  (раздел «Свет Маяка»)
   ============================================================ */

/* --- лента: герой --- */
.lenta-hero{background:var(--color-surface-offset)}
[data-theme="dark"] .lenta-hero{background:var(--color-surface-2)}
.lenta-hero .section-lede{margin-top:var(--space-5)}

/* --- лента: список карточек --- */
.lenta-list{
  display:grid;grid-template-columns:1fr;gap:var(--space-6);
}
@media (min-width:760px){.lenta-list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.lenta-list{grid-template-columns:1fr 1fr 1fr}}

.post-card{
  display:flex;flex-direction:column;
  background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);
  transition:transform var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive);
}
.post-card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:var(--shadow-md)}
.post-card__meta{
  font-family:var(--font-body);font-size:var(--text-sm);
  color:var(--color-text-faint);letter-spacing:0.02em;margin-bottom:var(--space-3);
}
.post-card__title{
  font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;
  line-height:1.2;letter-spacing:-0.01em;margin-bottom:var(--space-3);
}
.post-card__title a{color:var(--color-text);transition:color var(--transition-interactive)}
.post-card__title a:hover{color:var(--color-accent)}
.post-card__excerpt{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;flex:1}
.post-card__more{
  margin-top:var(--space-5);align-self:flex-start;
  font-size:var(--text-sm);font-weight:600;color:var(--color-accent);
}
.post-card__more:hover{color:var(--color-accent-hover)}
.lenta-empty{color:var(--color-text-muted);font-size:var(--text-lg);text-align:center;padding-block:var(--space-16)}

/* --- страница поста --- */
.post{padding-block:clamp(3.5rem,8vw,6rem)}
.post__inner{max-width:var(--content-narrow);margin-inline:auto}
.post__back{
  display:inline-block;margin-bottom:var(--space-8);
  font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);
}
.post__back:hover{color:var(--color-accent)}
.post__meta{
  font-family:var(--font-body);font-size:var(--text-sm);
  color:var(--color-text-faint);letter-spacing:0.02em;margin-bottom:var(--space-4);
}
.post__title{
  font-family:var(--font-display);font-weight:500;letter-spacing:-0.02em;
  font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin-bottom:var(--space-5);
}
.post__lede{
  font-size:var(--text-lg);color:var(--color-text-muted);
  line-height:1.55;margin-bottom:var(--space-10);
}

/* проза поста */
.post__body{color:var(--color-text);line-height:1.7;font-size:var(--text-md, 1.0625rem)}
.post__body > * + *{margin-top:var(--space-5)}
.post__body h2{
  font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em;
  font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.25;
  margin-top:var(--space-12);color:var(--color-text);
}
.post__body h3{
  font-family:var(--font-body);font-weight:700;font-size:var(--text-lg);
  margin-top:var(--space-10);color:var(--color-text);
}
.post__body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
.post__body a:hover{color:var(--color-accent-hover)}
.post__body strong{color:var(--color-text);font-weight:700}
.post__body ul,.post__body ol{padding-left:1.4em}
.post__body li + li{margin-top:var(--space-2)}
.post__body blockquote{
  border-left:3px solid var(--color-accent);
  padding:var(--space-3) var(--space-6);margin-block:var(--space-8);
  background:var(--color-surface-offset);border-radius:0 var(--radius-md) var(--radius-md) 0;
  font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);
  color:var(--color-text-muted);
}
[data-theme="dark"] .post__body blockquote{background:var(--color-surface-2)}
.post__body hr,.post__rule{
  border:none;border-top:1px solid var(--color-divider);margin-block:var(--space-12);
}
.post__cta{
  text-align:center;color:var(--color-text-muted);font-size:var(--text-lg);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-5);
}

/* ---------- «Ещё из ленты» (перелинковка постов) ---------- */
.post-related{margin-top:var(--space-16);padding-top:var(--space-10);border-top:1px solid var(--color-divider)}
.post-related__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}
.post-related__title{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-0.01em;margin:0}
.post-related__all{font-size:var(--text-sm);color:var(--color-accent);white-space:nowrap}
.post-related__all:hover{text-decoration:underline}
.post-related__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
@media (min-width:700px){.post-related__grid{grid-template-columns:1fr 1fr}}
.post-related__card{
  display:flex;flex-direction:column;gap:var(--space-2);
  padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);
  background:var(--color-surface);
  transition:border-color var(--transition-interactive),transform var(--transition-interactive),box-shadow var(--transition-interactive);
}
.post-related__card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.post-related__meta{font-size:var(--text-xs);letter-spacing:0.04em;color:var(--color-text-muted)}
.post-related__name{font-family:var(--font-display);font-size:var(--text-base);line-height:1.3;color:var(--color-text)}

/* ---------- спикеры эфира ---------- */
.speakers{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-10);margin-block:var(--space-8) var(--space-10)}
.speaker{display:flex;align-items:center;gap:var(--space-4)}
.speaker__avatar{
  width:56px;height:56px;flex:none;border-radius:var(--radius-full);
  display:grid;place-items:center;font-family:var(--font-display);
  font-size:var(--text-lg);font-weight:600;letter-spacing:0.02em;
  color:var(--color-text-inverse);background:var(--color-primary);
  border:2px solid var(--color-accent);
}
.speaker__photo{width:56px;height:56px;flex:none;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-accent)}
.speaker__text{display:flex;flex-direction:column;line-height:1.3}
.speaker__name{font-weight:700;color:var(--color-text)}
.speaker__role{font-size:var(--text-sm);color:var(--color-text-muted)}

/* ---------- карусель карточек ---------- */
.carousel-wrap{margin-block:var(--space-12)}
.carousel{
  display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding-bottom:var(--space-4);
  scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;
}
.carousel::-webkit-scrollbar{height:6px}
.carousel::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}
.carousel__item{
  flex:0 0 auto;width:min(340px,78vw);aspect-ratio:4/5;scroll-snap-align:center;
  margin:0;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--color-border);box-shadow:var(--shadow-md);
}
.carousel__item img{width:100%;height:100%;object-fit:cover;display:block}
.carousel__controls{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-5)}
.carousel__btn{
  width:44px;height:44px;border-radius:var(--radius-full);
  border:1px solid var(--color-border);background:var(--color-surface);
  color:var(--color-text);font-size:var(--text-lg);cursor:pointer;
  display:grid;place-items:center;
  transition:border-color var(--transition-interactive),background var(--transition-interactive),transform var(--transition-interactive);
}
.carousel__btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
.carousel__btn:active{transform:scale(0.94)}
.carousel__counter{font-size:var(--text-sm);color:var(--color-text-muted);min-width:48px;text-align:center;font-variant-numeric:tabular-nums}

/* ---------- видеоклипы ---------- */
.clips{margin-top:var(--space-16)}
.clips__title{
  font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em;
  font-size:clamp(1.4rem,3vw,1.85rem);margin-bottom:var(--space-6);
}
.clips__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media (min-width:680px){.clips__grid{grid-template-columns:1fr 1fr}}
.clip{margin:0}
.clip__video{width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#000;display:block;aspect-ratio:16/9}
.clip__cap{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}
.clip__cap strong{color:var(--color-text)}

/* якорные переходы с других страниц (/#about и т.п.) — не прятать заголовок под липкую шапку */
:target, section[id], [id^="about"], #mission, #about, #audience, #founder, #formats, #pricing, #faq { scroll-margin-top: 84px; }

/* ---------- раскрываемая биография спикера ---------- */
.speaker-bio{
  margin:calc(var(--space-6) * -1) 0 var(--space-10);
  border:1px solid var(--color-border);border-radius:var(--radius-lg);
  background:var(--color-surface);overflow:hidden;
}
.speaker-bio__summary{
  cursor:pointer;list-style:none;padding:var(--space-4) var(--space-6);
  font-weight:600;font-size:var(--text-sm);color:var(--color-accent);
  display:flex;align-items:center;gap:var(--space-2);
}
.speaker-bio__summary::-webkit-details-marker{display:none}
.speaker-bio__summary::before{content:"+";font-size:1.1em;line-height:1;color:var(--color-accent)}
.speaker-bio[open] .speaker-bio__summary::before{content:"–"}
.speaker-bio__summary:hover{color:var(--color-accent-hover)}
.speaker-bio__list{
  margin:0;padding:0 var(--space-6) var(--space-6) calc(var(--space-6) + 1.1em);
  display:flex;flex-direction:column;gap:var(--space-3);
  color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.55;
}
.speaker-bio__list li{list-style:disc}
.speaker-bio__list li::marker{color:var(--color-accent)}
