.home[data-astro-cid-j7pv25f6]{max-width:1100px;margin-inline:auto;padding-inline:var(--gutter)}.topbar[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:clamp(1rem,2vw,1.5rem);font-weight:var(--fw-black);font-size:var(--fs-100)}.topbar[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:hover{color:var(--c-accent)}.hero[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,4vw,3rem);padding-block:clamp(1rem,3vw,3rem)}.hero__title[data-astro-cid-j7pv25f6]{font-size:var(--fs-800);line-height:.96;text-transform:lowercase}.hero__tag[data-astro-cid-j7pv25f6]{font-size:var(--fs-400);font-weight:var(--fw-black);text-transform:lowercase;margin-top:.7rem}.hero__photo[data-astro-cid-j7pv25f6]{width:clamp(150px,24vw,280px);aspect-ratio:1;border-radius:50%;object-fit:cover;flex-shrink:0}.facts[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem 2rem;border-top:2px solid var(--c-text);padding-top:1.25rem;margin-top:clamp(.5rem,2vw,1.5rem)}.facts[data-astro-cid-j7pv25f6] div[data-astro-cid-j7pv25f6]{display:grid;gap:.25rem;align-content:start}.facts__k[data-astro-cid-j7pv25f6]{text-transform:uppercase;color:var(--c-accent);font-weight:var(--fw-black);font-size:var(--fs-100)}.facts__v[data-astro-cid-j7pv25f6]{font-size:var(--fs-200)}.resume[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.5rem,5vw,4rem);padding-block:clamp(2rem,5vw,3.5rem);align-items:start}.resume__h[data-astro-cid-j7pv25f6]{font-size:var(--fs-400);text-transform:lowercase;margin-bottom:1.5rem}.exp[data-astro-cid-j7pv25f6]{display:grid;gap:1.6rem}.exp__item[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:minmax(96px,.32fr) 1fr;gap:.5rem 1.25rem;border-top:1.5px solid rgba(255,255,255,.14);padding-top:1rem}.exp__years[data-astro-cid-j7pv25f6]{color:var(--c-muted);font-weight:var(--fw-black);font-size:var(--fs-100)}.exp__body[data-astro-cid-j7pv25f6]{display:grid;gap:.35rem}.exp__role[data-astro-cid-j7pv25f6]{text-transform:uppercase;font-weight:var(--fw-black);font-size:var(--fs-300)}.exp__org[data-astro-cid-j7pv25f6]{font-size:var(--fs-100)}.exp__pos[data-astro-cid-j7pv25f6]{font-size:var(--fs-100);color:var(--c-accent);font-weight:var(--fw-black);text-transform:lowercase}.exp__desc[data-astro-cid-j7pv25f6]{font-size:var(--fs-100);color:var(--c-muted);margin-top:.15rem}.stack[data-astro-cid-j7pv25f6]{display:grid;gap:1.05rem}.tool[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.25rem)}.tool__bar[data-astro-cid-j7pv25f6]{flex:1 1 auto;min-width:60px;height:14px;border-radius:var(--r-pill);background:#ffffff1a;overflow:hidden}.tool__bar[data-astro-cid-j7pv25f6] i[data-astro-cid-j7pv25f6]{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,#d8b48c,#b7885f)}.tool__name[data-astro-cid-j7pv25f6]{flex:0 0 auto;width:clamp(120px,13vw,160px);text-align:left;font-weight:var(--fw-black);text-transform:uppercase;font-size:var(--fs-200)}.skills[data-astro-cid-j7pv25f6]{padding-block:clamp(1rem,3vw,2rem)}.skills__grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1.25rem,3vw,2rem);margin-top:1.5rem}.skill[data-astro-cid-j7pv25f6]{border-top:1.5px solid rgba(255,255,255,.14);padding-top:1rem}.skill__name[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:.5rem;text-transform:uppercase;font-size:var(--fs-300);margin-bottom:.6rem}.skill__star[data-astro-cid-j7pv25f6]{width:1.15em;height:1.15em;flex-shrink:0;overflow:visible}.skill__desc[data-astro-cid-j7pv25f6]{font-size:var(--fs-100);color:var(--c-muted);line-height:var(--lh-body)}.cta[data-astro-cid-j7pv25f6]{text-align:center;font-size:var(--fs-800);font-weight:var(--fw-black);text-transform:lowercase;letter-spacing:var(--ls-tight);padding-block:clamp(2.5rem,7vw,5rem)}.home__projects[data-astro-cid-j7pv25f6]{padding-bottom:clamp(1.5rem,4vw,3rem)}.cards[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,2vw,1.25rem)}.card[data-astro-cid-j7pv25f6]{position:relative;display:grid;place-items:center;text-align:center;aspect-ratio:542 / 534;border-radius:var(--r-lg);padding:1.5rem;overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--wide[data-astro-cid-j7pv25f6]{grid-column:1 / -1;aspect-ratio:1105 / 360}.card__label[data-astro-cid-j7pv25f6]{color:#fff;font-weight:var(--fw-black);font-size:var(--fs-400);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);text-transform:lowercase;text-shadow:0 2px 18px rgba(0,0,0,.22)}.card[data-astro-cid-j7pv25f6]:hover{transform:translateY(-3px);box-shadow:0 14px 40px #0006}.home__contacts[data-astro-cid-j7pv25f6]{padding-block:clamp(2.5rem,6vw,5rem)}.home__h2[data-astro-cid-j7pv25f6]{font-size:var(--fs-700);text-transform:lowercase;background:linear-gradient(90deg,var(--c-accent),#ef9ac2);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:clamp(1.25rem,3vw,2rem)}.contacts[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 2rem}.contacts[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{display:grid;gap:.25rem;padding:1rem 0;border-top:1.5px solid rgba(255,255,255,.14)}.contacts__sub[data-astro-cid-j7pv25f6]{color:var(--c-accent);text-transform:uppercase;font-weight:var(--fw-black);font-size:var(--fs-100)}.contacts__val[data-astro-cid-j7pv25f6]{font-size:var(--fs-300);font-weight:var(--fw-black)}.contacts[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:hover .contacts__val[data-astro-cid-j7pv25f6]{color:var(--c-accent)}@media (max-width: 760px){.resume[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 620px){.hero[data-astro-cid-j7pv25f6]{flex-direction:column-reverse;align-items:flex-start;gap:1.5rem}.hero__photo[data-astro-cid-j7pv25f6]{width:clamp(120px,38vw,180px)}.cards[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.card[data-astro-cid-j7pv25f6],.card--wide[data-astro-cid-j7pv25f6]{aspect-ratio:327 / 200}.exp__item[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:.3rem}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(1){order:1}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(2){order:2}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(3){order:6}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(4){order:4}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(5){order:5}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(6){order:3}.cards[data-astro-cid-j7pv25f6]>[data-astro-cid-j7pv25f6]:nth-child(7){order:7}}
@media (max-width: 620px){.card--wide[data-astro-cid-j7pv25f6]{aspect-ratio:327 / 200}}/* Выравнивание главной по макету (фигма, ширина 1280: контент 108..1172).
   Дописано поверх сборки Astro, поэтому селекторы с тем же cid. */
/* контент по макету: 108…1172 при ширине 1280 */
.home[data-astro-cid-j7pv25f6]{ max-width: 1280px; padding-inline: clamp(20px, 8.44vw, 108px); }
.topbar[data-astro-cid-j7pv25f6]{ padding-block: clamp(18px, 3.75vw, 48px) 0; font-size: clamp(13px, 1.72vw, 22px); }
.hero[data-astro-cid-j7pv25f6]{ padding-top: clamp(30px, 6.6vw, 84px); }

/* ── герой: фото по центру, имя слева поверх него, подпись справа снизу ── */
.hero[data-astro-cid-j7pv25f6]{ position: relative; display: block; min-height: clamp(330px, 50vw, 640px); }
.hero__text[data-astro-cid-j7pv25f6]{ position: relative; z-index: 2; padding-top: clamp(40px, 7.8vw, 100px); }
.hero__title[data-astro-cid-j7pv25f6]{ font-size: clamp(38px, 5.63vw, 72px); line-height: 1.01; }
.hero__photo[data-astro-cid-j7pv25f6]{
  position: absolute; z-index: 1; top: clamp(30px, 6.8vw, 87px); left: 50%; transform: translateX(-50%);
  width: clamp(190px, 30.4vw, 389px); height: auto; aspect-ratio: 1; opacity: .95;
}
.hero__tag[data-astro-cid-j7pv25f6]{
  position: absolute; z-index: 2; right: clamp(0px, 4.4vw, 56px); top: clamp(120px, 20.8vw, 266px); margin: 0;
  width: max-content; text-align: left; color: var(--c-accent);
  font-size: clamp(30px, 5.63vw, 72px); line-height: 1.01; letter-spacing: var(--ls-tight);
}

/* ── факты: три строки слева, город с точкой справа ── */
.facts[data-astro-cid-j7pv25f6]{
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 3vw, 40px);
  border-top: 0; padding-top: clamp(34px, 6.9vw, 89px); margin-top: 0;
}
.facts[data-astro-cid-j7pv25f6] > div{ display: grid; gap: 0; }
.facts__k[data-astro-cid-j7pv25f6],
.facts__v[data-astro-cid-j7pv25f6]{
  color: var(--c-text); text-transform: none; letter-spacing: 0;
  font-weight: var(--fw-black); font-size: clamp(14px, 1.72vw, 22px); line-height: 1.55;
}
.facts__v--accent[data-astro-cid-j7pv25f6]{ color: var(--c-accent); }
.facts__v--dot[data-astro-cid-j7pv25f6]{ position: relative; }
.facts__v--dot[data-astro-cid-j7pv25f6]::before{
  content: ""; position: absolute; left: -.75em; top: .62em;
  width: .4em; height: .4em; border-radius: 50%; background: var(--c-red);
}

/* ── опыт и стэк: колонки как в макете (лево 108…630, право 758…1172) ── */
.resume[data-astro-cid-j7pv25f6]{
  grid-template-columns: minmax(0, 522fr) minmax(0, 414fr); gap: clamp(24px, 9.9vw, 128px);
  padding-top: clamp(24px, 4.1vw, 52px);
}

/* ── софт-скиллы: один столбец, звезда слева ── */
.skills__grid[data-astro-cid-j7pv25f6]{ grid-template-columns: 1fr; gap: clamp(16px, 2.2vw, 28px); }
.skills[data-astro-cid-j7pv25f6]{ padding-block: clamp(18px, 3.5vw, 45px) 0; }
.skill[data-astro-cid-j7pv25f6]{ display: grid; grid-template-columns: 1fr; }
.skill__name[data-astro-cid-j7pv25f6]{ font-size: clamp(15px, 1.56vw, 20px); gap: .7em; }
.skill__star[data-astro-cid-j7pv25f6]{ width: clamp(26px, 3.4vw, 44px); height: auto; }
.skill__desc[data-astro-cid-j7pv25f6]{ font-size: clamp(13px, 1.29vw, 17px); max-width: 74ch; line-height: 1.5; }

/* ── призыв: по центру, крупно ── */
.cta[data-astro-cid-j7pv25f6]{
  text-align: center; color: var(--c-accent); font-size: clamp(30px, 5.63vw, 72px);
  line-height: 1.01; padding-block: clamp(40px, 6.3vw, 80px) clamp(44px, 7.8vw, 100px);
}

/* ── карточки: первые две ниже остальных, как в макете ── */
/* все карточки квадратные, широкая — растянутая */
.cards[data-astro-cid-j7pv25f6]{ gap: clamp(10px, 1.56vw, 20px); }
.card--wide[data-astro-cid-j7pv25f6]{ aspect-ratio: 1104 / 534; }

/* ── контакты и футер: две колонки, интервалы вместо жёсткой сетки ── */
.contacts__caption[data-astro-cid-j7pv25f6]{
  display: block; font-weight: var(--fw-black); font-size: clamp(14px, 1.56vw, 20px);
  padding-bottom: clamp(14px, 2vw, 26px);
}
.home__h2[data-astro-cid-j7pv25f6]{
  color: var(--c-accent); font-size: clamp(30px, 5.63vw, 72px); line-height: 1.05;
  padding-bottom: clamp(30px, 4.7vw, 60px);
}
.contacts[data-astro-cid-j7pv25f6]{
  display: grid; grid-template-columns: repeat(2, minmax(0, 434px));
  gap: clamp(26px, 3.6vw, 46px) 0; justify-content: start; max-width: 868px;
}
.contacts[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{
  border-top: 0; padding: 0; gap: .35em;
}
.contacts__sub[data-astro-cid-j7pv25f6]{
  color: var(--c-text); text-transform: none; font-size: clamp(14px, 1.72vw, 22px);
}
.contacts__val[data-astro-cid-j7pv25f6]{
  font-size: clamp(14px, 1.72vw, 22px); font-weight: var(--fw-medium);
}
.home__foot[data-astro-cid-j7pv25f6]{
  display: flex; justify-content: space-between; align-items: center;
  padding-block: clamp(40px, 6.2vw, 79px) clamp(30px, 4vw, 52px);
}
.foot-btn[data-astro-cid-j7pv25f6]{
  display: inline-flex; align-items: center; gap: .7em; padding: .5em 1.15em;
  border: 1.5px solid var(--c-text); border-radius: var(--r-pill);
  font-size: clamp(12px, 1.17vw, 15px); font-weight: var(--fw-medium);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.foot-btn[data-astro-cid-j7pv25f6]:hover{ background: var(--c-text); color: var(--c-bg); }
.foot-btn[data-astro-cid-j7pv25f6] svg[data-astro-cid-j7pv25f6]{ width: 1.5em; height: 1.5em; flex: none; }

@media (max-width: 760px){
  .hero[data-astro-cid-j7pv25f6]{ display: flex; flex-direction: column; align-items: center;
    min-height: 0; gap: 0; padding-top: 18px; }
  .hero__photo[data-astro-cid-j7pv25f6]{ position: static; transform: none; order: 1;
    width: min(62vw, 300px); margin: 0 auto; }
  .hero__text[data-astro-cid-j7pv25f6]{ order: 2; width: 100%; padding-top: 14px; }
  .hero__tag[data-astro-cid-j7pv25f6]{ position: static; margin-top: .25em; }
  .facts[data-astro-cid-j7pv25f6], .contacts[data-astro-cid-j7pv25f6]{ grid-template-columns: 1fr; }
  .resume[data-astro-cid-j7pv25f6]{ grid-template-columns: 1fr; }
}

/* стэк: в макете между полосками 82px */
.resume[data-astro-cid-j7pv25f6] .stack[data-astro-cid-j7pv25f6]{ gap: clamp(16px, 4.2vw, 54px); }
/* скиллы: в макете блок компактнее и текст шире */
.skill__desc[data-astro-cid-j7pv25f6]{ font-size: clamp(13px, 1.25vw, 16px); line-height: 1.45; max-width: none; }
.skills__grid[data-astro-cid-j7pv25f6]{ gap: clamp(18px, 2.7vw, 34px); }
/* карточки шире текстовой колонки на 20px с каждой стороны, как в макете */
@media (min-width: 1000px){ .home__projects[data-astro-cid-j7pv25f6]{ margin-inline: -20px; } }

/* интервалы в нижней части: контакты и кнопки — по расстояниям макета */
.home__contacts[data-astro-cid-j7pv25f6]{ padding-block: clamp(20px, 3.4vw, 44px) clamp(56px, 7.8vw, 100px); }
.home__h2[data-astro-cid-j7pv25f6]{ padding-bottom: clamp(26px, 3.9vw, 50px); margin-bottom: 0;
  white-space: nowrap; font-size: clamp(28px, 5.2vw, 66px); }
.home__foot[data-astro-cid-j7pv25f6]{ padding-block: clamp(38px, 5.5vw, 70px) clamp(30px, 4vw, 52px);
  max-width: min(100%, 997px); }

/* опыт: колонка лет и колонка описания как в макете (годы 108…, текст 255…630) */
.exp__item[data-astro-cid-j7pv25f6]{ grid-template-columns: minmax(0, 147px) minmax(0, 1fr); }
.exp__body[data-astro-cid-j7pv25f6], .exp__desc[data-astro-cid-j7pv25f6]{ max-width: 42ch; }
.exp__years[data-astro-cid-j7pv25f6]{ white-space: nowrap; }

/* на узком экране порядок карточек шёл вразнобой от старых правил — возвращаем порядок макета */
@media (max-width: 620px){
  .cards[data-astro-cid-j7pv25f6] > *{ order: 0 !important; }
}

/* мобильные правки: шапка не липнет, годы над должностью */
@media (max-width: 620px){
  .topbar[data-astro-cid-j7pv25f6]{ font-size: 13px; gap: 10px; }
  .exp__item[data-astro-cid-j7pv25f6]{ grid-template-columns: 1fr; gap: .35rem; }
  .exp__years[data-astro-cid-j7pv25f6]{ padding-top: 0; }
  .home__foot[data-astro-cid-j7pv25f6]{ padding-block: clamp(30px, 8vw, 44px) 28px; }
}

/* карточки: подпись такого же кегля, как в макете */
.card__label[data-astro-cid-j7pv25f6]{ font-size: clamp(20px, 5.05vw, 64px); line-height: 1.05; }
/* призыв — в две строки по центру */
.cta[data-astro-cid-j7pv25f6]{ font-size: clamp(28px, 5.63vw, 72px); }
/* софт-скиллы: без линеек, звезда крупнее, строка не растягивается на всю ширину */
.skill[data-astro-cid-j7pv25f6]{ border-top: 0 !important; padding-top: 0; }
.skill__name[data-astro-cid-j7pv25f6]{ font-size: clamp(15px, 1.56vw, 20px); gap: .55em; align-items: center; }
.skill__star[data-astro-cid-j7pv25f6]{ width: clamp(28px, 4.1vw, 52px); height: auto; }
.skill__desc[data-astro-cid-j7pv25f6]{ max-width: 864px; margin-top: .35em; line-height: 1.32; }

/* факты: правая колонка встаёт по вертикали «стэка» и начинается со второй строки, как в макете */
.facts[data-astro-cid-j7pv25f6]{ grid-template-columns: minmax(0, 650fr) minmax(0, 414fr); gap: 0; }
.facts[data-astro-cid-j7pv25f6] > div:nth-child(2){ padding-top: calc(1em * 1.55); }
