/* ============================================================
   GN Design — three design directions (concepts)
   1 · Редакция   editorial high-contrast serif
   2 · Воздух     soft minimal sans, rounded, airy
   3 · Галерея    architectural roman caps, sharp, framed
   ============================================================ */

/* ---------- 1 · Редакция (base reinforced) ---------- */
[data-concept="1"] {
  --font-display: "Playfair Display", Georgia, serif;
  --font-eyebrow: "Forum", Georgia, serif;
  --font-body: "Golos Text", system-ui, sans-serif;
  --display-weight: 500;
  --display-spacing: -0.012em;
  --img-radius: 4px;
  --btn-radius: 2px;
}

/* ---------- 2 · Воздух — soft minimal sans ---------- */
[data-concept="2"] {
  --font-display: "Onest", system-ui, sans-serif;
  --font-eyebrow: "Onest", system-ui, sans-serif;
  --font-body: "Onest", system-ui, sans-serif;
  --display-weight: 300;
  --display-spacing: -0.03em;
  --img-radius: 22px;
  --btn-radius: 100px;
  --shadow-soft: 0 30px 80px -40px rgba(60,48,30,.40);
  --shadow-card: 0 22px 60px -36px rgba(60,48,30,.34);
}
[data-concept="2"] body { letter-spacing: 0; }
[data-concept="2"] .eyebrow { letter-spacing: .24em; font-weight: 600; font-size: 12px; }
[data-concept="2"] .eyebrow::before { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
[data-concept="2"] .display, [data-concept="2"] .hero h1 { line-height: 1.04; }
[data-concept="2"] .hero h1 em, [data-concept="2"] .about-statement em, [data-concept="2"] .quote-band blockquote { font-style: normal; font-weight: 500; }
[data-concept="2"] .quote-band blockquote { color: var(--ink); }
[data-concept="2"] .h2 { font-weight: 300; }
[data-concept="2"] .btn { font-weight: 600; padding: 15px 32px; }
[data-concept="2"] .svc-card, [data-concept="2"] .form-card { border-radius: 22px; }
[data-concept="2"] .svc-card .ic { border-radius: 16px; }
[data-concept="2"] .process-item:hover { border-radius: 16px; }
[data-concept="2"] .story-copy p.first::first-letter { font-weight: 500; }
[data-concept="2"] .head { align-items: start; }

/* ---------- 3 · Галерея — architectural roman caps ---------- */
[data-concept="3"] {
  --font-display: "Forum", Georgia, serif;
  --font-eyebrow: "Golos Text", system-ui, sans-serif;
  --font-body: "Golos Text", system-ui, sans-serif;
  --display-weight: 400;
  --display-spacing: .01em;
  --img-radius: 0px;
  --btn-radius: 0px;
}
[data-concept="3"] .display, [data-concept="3"] .hero h1, [data-concept="3"] .h2,
[data-concept="3"] .about-statement {
  text-transform: uppercase; letter-spacing: .04em; line-height: 1.08;
}
[data-concept="3"] .display, [data-concept="3"] .hero h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); }
[data-concept="3"] .hero h1 em, [data-concept="3"] .about-statement em { font-style: normal; color: var(--accent-deep); }
[data-concept="3"] .eyebrow { font-weight: 600; letter-spacing: .3em; font-size: 11.5px; }
[data-concept="3"] .h3, [data-concept="3"] .svc-card h3, [data-concept="3"] .why-item h3,
[data-concept="3"] .process-item h3 { text-transform: uppercase; letter-spacing: .03em; font-size: 1.15rem; }
[data-concept="3"] .quote-band blockquote { font-style: normal; text-transform: uppercase; letter-spacing: .02em; line-height: 1.2; }
[data-concept="3"] .story-copy p.first::first-letter { font-size: 3.6rem; }
/* gold hairline frame treatment on media + cards */
[data-concept="3"] .hero-media .frame, [data-concept="3"] .about-media img,
[data-concept="3"] .story-media img { outline: 1px solid var(--accent); outline-offset: 12px; }
[data-concept="3"] .svc-card { background: transparent; border-color: var(--line-strong); }
[data-concept="3"] .svc-card:hover { background: var(--paper); }
[data-concept="3"] .btn--ghost { border-color: var(--ink); }
[data-concept="3"] .hero-media .tagchip { border: 1px solid var(--accent); box-shadow: none; }

/* concept transitions feel intentional */
[data-concept] .display, [data-concept] .hero h1, [data-concept] .h2, [data-concept] h3,
[data-concept] .btn, [data-concept] .svc-card, [data-concept] .eyebrow {
  transition: font-family .01s, letter-spacing .5s var(--ease), border-radius .5s var(--ease);
}
