/* =========================================================
   Nadezhda Kazakova — Mental Health Specialist
   styles.css  (lightweight, no frameworks)
   ---------------------------------------------------------
   Цветовые темы переключаются атрибутом на <html>:
     data-theme="navy"   (по умолчанию, точно по скрину)
     data-theme="green"
     data-theme="pink"
   ========================================================= */

/* ---------- 1. ТЕКУЩИЙ ДИЗАЙН (NAVY) — по скрину ---------- */
:root,
[data-theme="navy"] {
  --c-bg:            #F3F1ED; /* основной фон страницы */
  --c-surface:       #FDFDFB; /* белые карточки */
  --c-primary:       #012967; /* тёмно-синий (баннер/футер) */
  --c-primary-2:     #01366B; /* синий футера */
  --c-heading:       #002D64; /* цвет заголовков */
  --c-accent:        #EFC065; /* горчично-жёлтый (кнопки) */
  --c-accent-ink:    #2B2410; /* текст на жёлтой кнопке */
  --c-text:          #16222A; /* основной тёмный текст */
  --c-muted:         #647078; /* серый второстепенный текст */
  --c-on-primary:    #F3F1ED; /* текст на синем фоне */
  --c-border:        #E2DFD8; /* линии-разделители */
}

/* ---------- 2. ЗЕЛЁНАЯ ГАММА ---------- */
[data-theme="green"] {
  --c-bg:            #EEF2EC;
  --c-surface:       #FBFDFA;
  --c-primary:       #16412B;
  --c-primary-2:     #1C4E33;
  --c-heading:       #1B5236;
  --c-accent:        #8FBF73;
  --c-accent-ink:    #16291A;
  --c-text:          #1A2A20;
  --c-muted:         #5E7064;
  --c-on-primary:    #EEF2EC;
  --c-border:        #D8E2D6;
}

/* ---------- 3. РОЗОВАЯ ГАММА ---------- */
[data-theme="pink"] {
  --c-bg:            #F7EFF0;
  --c-surface:       #FFFBFC;
  --c-primary:       #6A1F3D;
  --c-primary-2:     #7A2547;
  --c-heading:       #8A2B52;
  --c-accent:        #E89BB4;
  --c-accent-ink:    #341019;
  --c-text:          #2A1A20;
  --c-muted:         #7E6770;
  --c-on-primary:    #F7EFF0;
  --c-border:        #ECDCE0;
}

/* ---------------------- RESET ---------------------- */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--c-text);
  background: var(--c-bg);
  line-height: 1.6;
  font-size: 16px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
h1,h2,h3 {
  font-family: Georgia, "Times New Roman", "Cormorant Garamond", serif;
  color: var(--c-heading);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .5px;
  margin: 0 0 .5em;
}

/* ---------------------- LAYOUT ---------------------- */
.container { width: min(1180px, 92%); margin-inline: auto; }
.section { padding: 64px 0; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--c-muted); font-weight: 600; margin-bottom: 18px;
}
.eyebrow::before {
  content: ""; width: 22px; height: 12px;
  background: var(--c-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M12 0C5 0 1 6 1 6s4 6 11 6 11-6 11-6S19 0 12 0zm0 9a3 3 0 110-6 3 3 0 010 6z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M12 0C5 0 1 6 1 6s4 6 11 6 11-6 11-6S19 0 12 0zm0 9a3 3 0 110-6 3 3 0 010 6z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.section-title { font-size: clamp(26px, 4vw, 40px); text-transform: uppercase; }

/* ---------------------- BUTTONS ---------------------- */
.btn {
  display: inline-block; cursor: pointer; border: none;
  font: inherit; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; font-size: 13px;
  padding: 16px 34px; border-radius: 8px;
  transition: transform .15s ease, filter .15s ease;
}
.btn:hover { filter: brightness(.96); transform: translateY(-1px); }
.btn--accent { background: var(--c-accent); color: var(--c-accent-ink); }
.btn--block { display: block; width: 100%; text-align: center; }
.btn--outline {
  background: transparent; color: var(--c-heading);
  border: 1.5px solid var(--c-heading);
}

/* ---------------------- HEADER ---------------------- */
.header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--c-bg) 88%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--c-border);
}
.header__inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand__mark { width: 34px; height: 34px; }
.brand__name {
  font-family: Georgia, serif; font-weight: 700; color: var(--c-heading);
  font-size: 14px; letter-spacing: 1px; line-height: 1.1;
}
.nav { display: flex; align-items: center; gap: 28px; }
.nav a {
  font-size: 13px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--c-heading); font-weight: 600;
}
.nav a:hover { color: var(--c-accent); }
.lang { border: 1px solid var(--c-border); border-radius: 6px; padding: 4px 10px; }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--c-heading); margin: 5px 0; transition: .3s; }

/* ---------------------- HERO ---------------------- */
.hero { padding: 56px 0 40px; }
.hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.hero__name { font-size: 14px; letter-spacing: 3px; text-transform: uppercase; color: var(--c-heading); margin-bottom: 16px; }
.hero__title { font-size: clamp(30px, 5vw, 54px); text-transform: uppercase; }
.hero__text { color: var(--c-muted); max-width: 46ch; margin: 22px 0 32px; }
.hero__img { border-radius: 6px; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,.12); }
.hero__img img { width: 100%; aspect-ratio: 4/4.4; object-fit: cover; }

/* ABOUT strip under hero */
.about-strip { display: grid; grid-template-columns: 200px 1fr 1fr; gap: 36px; padding-top: 36px; border-top: 1px solid var(--c-border); margin-top: 40px; }
.about-strip p { color: var(--c-muted); font-size: 14px; margin: 0; }

/* ---------------------- NAVY VALUES BANNER ---------------------- */
.banner {
  background: var(--c-primary); color: var(--c-on-primary);
  position: relative; overflow: hidden;
}
.banner__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; min-height: 300px; padding: 64px 0; }
.banner p { max-width: 40ch; color: var(--c-on-primary); }
.banner__art { justify-self: end; width: 100%; max-width: 460px; color: var(--c-on-primary); }
.banner__art svg { width: 100%; height: auto; }

/* ---------------------- SERVICES ---------------------- */
.services__grid { display: grid; grid-template-columns: 320px 1fr; gap: 48px; align-items: start; }
.services__img img { border-radius: 6px; aspect-ratio: 3/4; object-fit: cover; width: 100%; }
.svc-list li {
  display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center;
  padding: 18px 0; border-bottom: 1px solid var(--c-border);
}
.svc-list .num { color: var(--c-accent); font-size: 13px; font-weight: 700; }
.svc-list .txt { color: var(--c-heading); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.services__cta { margin-top: 30px; }

/* ---------------------- EDUCATION ---------------------- */
.edu__card { background: var(--c-surface); border-radius: 10px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--c-border); margin-bottom: 28px; }
.tab { background: none; border: none; font: inherit; cursor: pointer; padding: 10px 0; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: var(--c-muted); border-bottom: 2px solid transparent; }
.tab[aria-selected="true"] { color: var(--c-heading); border-color: var(--c-accent); }
.edu__body { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: center; }
.edu__art { color: var(--c-heading); }
.edu__art svg { width: 100%; max-width: 240px; margin-inline: auto; }
.edu__item { margin-bottom: 22px; }
.edu__item strong { color: var(--c-heading); display: block; }
.edu__item span { color: var(--c-muted); font-size: 14px; }
.tabpanel[hidden] { display: none; }

/* ---------------------- METHODS ---------------------- */
.methods__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.method-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 10px; padding: 28px; }
.method-card .num { color: var(--c-muted); font-size: 13px; }
.method-card h3 { font-size: 18px; text-transform: uppercase; margin-top: 14px; }

/* ---------------------- WHY ME ---------------------- */
.why__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; }
.why h3 { font-family: "Inter", sans-serif; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--c-heading); }
.why p { color: var(--c-muted); font-size: 14px; }

/* ---------------------- FINAL CTA ---------------------- */
.final { background: var(--c-primary-2); color: var(--c-on-primary); }
.final__inner { padding: 80px 0; }
.final h2 { color: var(--c-on-primary); font-size: clamp(28px, 4.5vw, 48px); text-transform: uppercase; max-width: 18ch; }
.final p { color: var(--c-on-primary); opacity: .85; letter-spacing: 1px; text-transform: uppercase; font-size: 14px; margin-bottom: 28px; }

/* ---------------------- FOOTER ---------------------- */
.footer { background: var(--c-primary); color: var(--c-on-primary); padding: 48px 0 28px; }
.footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 32px; }
.footer a:hover { color: var(--c-accent); }
.footer__bottom { border-top: 1px solid rgba(255,255,255,.15); margin-top: 32px; padding-top: 18px; font-size: 12px; opacity: .8; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.footer h4 { color: var(--c-on-primary); font-size: 13px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 14px; }

/* theme switcher (demo) */
.theme-switch { position: fixed; right: 16px; bottom: 16px; z-index: 60; display: flex; gap: 8px; background: var(--c-surface); padding: 8px; border-radius: 30px; box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.theme-switch button { width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; cursor: pointer; }
.theme-switch [data-set="navy"]  { background: #012967; }
.theme-switch [data-set="green"] { background: #16412B; }
.theme-switch [data-set="pink"]  { background: #6A1F3D; }

/* ---------------------- RESPONSIVE ---------------------- */
@media (max-width: 900px) {
  .nav { position: fixed; inset: 0 0 0 30%; background: var(--c-bg); flex-direction: column; justify-content: center; gap: 26px; transform: translateX(100%); transition: transform .3s ease; box-shadow: -10px 0 30px rgba(0,0,0,.1); }
  .nav.open { transform: translateX(0); }
  .nav-toggle { display: block; z-index: 60; }
  .hero__grid, .banner__inner, .services__grid, .edu__body, .about-strip { grid-template-columns: 1fr; }
  .about-strip { gap: 20px; }
  .methods__grid, .why__grid, .footer__grid { grid-template-columns: 1fr; }
  .banner__art { max-width: 320px; justify-self: center; }
  .hero__img { order: -1; }
}
@media (max-width: 560px) {
  .section { padding: 44px 0; }
  .edu__card { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}
