/* ============================================================
     ABOUT ME — reuses dark.css tokens, nav, cursor, loader, footer.
     ============================================================ */

  /* hide translatable text until the language is applied (prevents EN→RU flash) */
  html:not(.i18n-ready) [data-i18n],
  html:not(.i18n-ready) [data-i18n-html] { visibility: hidden; }

  /* ---------- ATMOSPHERE (photo backdrop) ---------- */
  html { background: var(--bg); }
  body { background: transparent; }
  .atmosphere { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
  .atmo-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; filter: saturate(0.92) contrast(1.02); transition: opacity 1.8s ease; }
  .atmo-slide.is-on { opacity: 0.16; }
  .atmosphere::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(from var(--bg) r g b / 0.92) 0%, rgb(from var(--bg) r g b / 0.78) 30%, rgb(from var(--bg) r g b / 0.74) 60%, rgb(from var(--bg) r g b / 0.95) 100%); }

  .wrap { max-width: none; margin: 0; padding: 0 var(--pad-x); }
  a:hover { color: var(--ink); }

  /* ---------- BACK LINK ---------- */
  .backbar { padding: 122px var(--pad-x) 0; }
  .backbar .wrap { padding: 0; }
  .back { position: relative; display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-family: 'Rubik', sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0; transition: color .35s ease; }
  .back .bk-txt { position: relative; }
  .back .bk-txt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--easing); }
  .back:hover .bk-txt::after { transform: scaleX(1); }
  .back .ar { display: inline-flex; align-items: center; color: var(--red); transition: transform .4s var(--easing); }
  .back .ar svg { width: 18px; height: 18px; display: block; }
  .back:hover { color: var(--ink); }
  .back:hover .ar { transform: translateX(-5px); }

  /* ---------- HERO (split: text + portrait) ---------- */
  .hero { padding: 30px var(--pad-x) 0; }
  .hero .wrap { padding: 0; display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 64px; align-items: start; }
  .hero .eyebrow { display: flex; align-items: baseline; gap: 12px; color: var(--ink); margin-bottom: 22px; font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; }
  .hero .eyebrow .ey-cat { color: var(--red); }
  .hero .eyebrow .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--line); align-self: center; }
  .hero .eyebrow .ey-sub { color: var(--ink); }
  .hero h1 { font-family: 'Rubik', sans-serif; font-weight: 800; font-size: clamp(46px, 6.2vw, 100px); line-height: 0.92; letter-spacing: -0.05em; color: var(--ink); }
  .hero h1 .row { display: block; overflow: hidden; padding: 0.04em 0 0.16em; }
  .hero h1 .row > span { display: inline-block; transform: translateY(110%); will-change: transform; }
  .hero h1 .dot { color: var(--red); }
  .hero .lede { color: var(--ink-soft); font-size: 16.5px; line-height: 1.62; max-width: 560px; margin-top: 24px; }
  .hero .lede b { color: var(--ink); font-weight: 500; }

  .facts { margin-top: 34px; max-width: 560px; }
  .fact { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
  .fact:first-child { border-top: 1px solid var(--line); }
  .fact .fk { color: var(--fg-dim); }
  .fact .fv { color: var(--ink); font-size: 15px; font-weight: 500; text-align: right; }

  .portrait { width: 100%; max-width: 470px; aspect-ratio: 4 / 5; justify-self: end; border-radius: 14px; overflow: hidden; background: var(--bg-2); box-shadow: 0 36px 84px -42px rgba(0,0,0,0.9); position: relative; }
  .portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; filter: saturate(0.95); }

  /* ---------- SECTION SCAFFOLD ---------- */
  .section { padding: 100px var(--pad-x) 0; }
  .section .wrap { padding: 0; }
  .sec-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 34px; }
  .sec-head .num { color: var(--red); font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0.06em; }
  .sec-head .htxt { font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
  .sec-head .rule { flex: 1; height: 1px; background: var(--line); align-self: center; }

  /* ---------- BIO ---------- */
  .bio { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; max-width: 1160px; }
  .bio p { color: var(--ink-soft); font-size: 16.5px; line-height: 1.66; }
  .bio p b { color: var(--ink); font-weight: 600; }

  /* ---------- HOW WE WORK ---------- */
  .hw { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
  .hwc { border-top: 1px solid var(--line); padding-top: 22px; display: flex; flex-direction: column; gap: 10px; }
  .hwc .hw-n { color: var(--red); }
  .hwc .hw-t { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -0.015em; color: var(--ink); }
  .hwc .hw-b { color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; }
  .tlink { display: inline-flex; align-items: center; gap: 9px; margin-top: 2px; color: var(--ink); font-size: 14px; font-weight: 500; width: fit-content; }
  .tlink .tl-txt { position: relative; }
  .tlink .tl-txt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--easing); }
  .tlink:hover .tl-txt::after { transform: scaleX(1); }
  .tlink .ar { display: inline-flex; align-items: center; color: var(--red); transition: transform .4s var(--easing); }
  .tlink .ar svg { width: 18px; height: 18px; display: block; }
  .tlink:hover { color: var(--ink); }
  .tlink:hover .ar { transform: translateX(5px); }

  /* ---------- PRICING ---------- */
  .pay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; max-width: 1160px; }
  .s-lead { color: var(--ink-soft); font-size: 16.5px; line-height: 1.62; }
  .blist { margin-top: 10px; list-style: none; display: flex; flex-direction: column; }
  .blist li { display: block; position: relative; padding: 12px 0 12px 30px; border-bottom: 1px solid var(--line-soft); color: var(--ink-soft); font-size: 15px; line-height: 1.58; }
  .blist li:last-child { border-bottom: none; }
  .blist li::before { content: "—"; position: absolute; left: 0; color: var(--red); font-weight: 600; }
  .blist b { color: var(--ink); font-weight: 600; }
  .panel { border: 1px solid var(--line); border-radius: 12px; padding: 24px 26px; background: rgb(from var(--bg-2) r g b / 0.6); }
  .panel-k { display: block; margin-bottom: 12px; color: var(--red); }
  .panel p { color: var(--ink-soft); font-size: 15px; line-height: 1.66; }
  .panel p b { color: var(--ink); font-weight: 600; }

  /* ---------- PAY TG LINK (styled like project's back link) ---------- */
  .pay-tg { margin-top: 18px; display: inline-flex; align-items: center; gap: 9px; width: fit-content; font-size: 14px; font-weight: 500; color: var(--ink); }
  .pay-tg .pt-txt { position: relative; }
  .pay-tg .pt-txt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--easing); }
  .pay-tg:hover .pt-txt::after { transform: scaleX(1); }
  .pay-tg .ar { display: inline-flex; align-items: center; color: var(--red); transition: transform .4s var(--easing); }
  .pay-tg .ar svg { width: 18px; height: 18px; display: block; }
  .pay-tg:hover { color: var(--ink); }
  .pay-tg:hover .ar { transform: translateX(5px); }

  /* ---------- PREP CTA BANNER ---------- */
  .prep-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; border-top: 1px solid var(--line); padding: 22px 0 0; }
  .prep-cta .pc-row { display: inline-flex; align-items: center; gap: 16px; }
  .prep-cta .pc-k { color: var(--ink-soft); display: block; }
  .prep-cta .pc-t { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: clamp(20px, 2.2vw, 30px); letter-spacing: -0.02em; color: var(--ink); transition: color .35s ease; }
  .prep-cta .pc-row:hover .pc-t { color: var(--red); }
  .prep-cta .pc-ar { display: inline-flex; align-items: center; margin-top: 3px; color: var(--red); }
  .prep-cta .pc-ar svg { width: 26px; height: 26px; display: block; transition: transform .4s var(--easing); }
  .prep-cta .pc-row:hover .pc-ar svg { transform: translateX(8px); }

  /* ---------- FOOTER ---------- */
  footer.site-footer { margin-top: 110px; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1000px) {
    .hero .wrap { grid-template-columns: 1fr; gap: 44px; }
    .portrait { justify-self: start; }
    .hw { grid-template-columns: 1fr 1fr; }
    .bio { grid-template-columns: 1fr; gap: 20px; }
    .pay-grid { grid-template-columns: 1fr; gap: 30px; }
  }
  @media (max-width: 760px) {
    .backbar { padding-top: 100px; }
    .hero { padding-top: 26px; }
    .hw { grid-template-columns: 1fr; }
    .prep-cta .pc-t { font-size: 20px; }
  }
