/* ==========================================================================
   Tokens
   ========================================================================== */
:root{
  --ink:#222222;
  --ink-soft:#636363;
  --ink-dim:#848484;
  --ink-dim-2:#727272;
  --label:#60645f;
  --period:#797979;
  --company:#4c4c4c;
  --bg-card:#f7f7f7;
  --bg-card-2:#f3f3f3;
  --bg-page:#ffffff;
  --bg-hero:#e9e9e9;
  --green:#10b981;
  --green-bg:rgba(16,185,129,.08);
  --blue:#429be5;
  --white:#ffffff;
  --border:#e5e5e2;

  --font:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --container-w:1920px;
  --container-pad:30px;
  --narrow-w:843px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-smooth:cubic-bezier(.22,1,.36,1);
}

/* ==========================================================================
   Reset
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg-page);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,p{margin:0;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
.skip-link{
  position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:12px 18px;z-index:999;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;}

.container{
  max-width:var(--container-w);
  margin:0 auto;
  padding:0 var(--container-pad);
}
.container--narrow{max-width:calc(var(--narrow-w) + var(--container-pad)*2);}

/* ==========================================================================
   Typography helpers
   ========================================================================== */
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:500;font-size:12px;letter-spacing:-0.04em;text-transform:uppercase;
  color:var(--label);
  margin:0 0 18px;
}
.section-label__dot{
  width:7px;height:7px;border-radius:50%;background:var(--green);flex:none;
}
.badge-tag{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 15px;border-radius:40px;
  background:var(--green-bg);color:var(--green);
  font-weight:500;font-size:14px;letter-spacing:.03em;text-transform:uppercase;
  white-space:nowrap;
}
.badge-tag--on-color{background:rgba(243,243,243,.14);color:#fff;}
.badge-company{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 15px;border-radius:40px;background:var(--bg-card-2);
  color:var(--company);font-weight:500;font-size:18px;letter-spacing:.03em;text-transform:uppercase;
  white-space:nowrap;
}
.dim{color:var(--ink-dim);}
.accent{color:var(--ink);}

/* ==========================================================================
   Reveal-on-scroll
   ========================================================================== */
[data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
[data-reveal].is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  width:100%;
  height:100vh;
  height:100dvh;
  background:var(--bg-hero);
  overflow:hidden;
  color:#fff;
}
.hero__bg{position:absolute;left:12.49%;top:0;width:75.02%;height:100%;mix-blend-mode:darken;overflow:hidden;}
.hero__photo{width:100%;height:100%;object-fit:cover;object-position:50% 0%;}

.hero__topbar{
  position:absolute;top:0;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25% 1.56%;
  z-index:5;
}
.hero__logo img{height:clamp(22px,2.6vw,50px);width:auto;}

.hero__nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.hero__nav-menu{display:flex;align-items:center;gap:11px;}
.nav-pill{
  display:inline-flex;align-items:center;gap:9px;
  height:clamp(34px,2.6vw,50px);
  padding:2px 14px 2px 2px;
  border-radius:16px;
  background:#fff;color:var(--ink);
  font-weight:500;font-size:clamp(13px,.94vw,18px);letter-spacing:-.06em;
  white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.nav-pill:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12);}
.nav-pill__icon{
  width:clamp(30px,2.4vw,46px);height:clamp(30px,2.4vw,46px);
  border-radius:14px;overflow:hidden;flex:none;
  background:#d9d9d9;
}
.nav-pill__icon img{width:100%;height:100%;object-fit:cover;}
.nav-pill__icon--photo img{filter:brightness(.92);}
.nav-pill__icon--badge img{width:100%;height:100%;object-fit:contain;}
.nav-pill--menu{display:none;}

.hero__social{display:flex;gap:8px;}
.icon-btn{
  height:clamp(34px,2.6vw,50px);
  min-width:clamp(34px,2.6vw,50px);
  border-radius:14px;background:#fff;
  display:inline-flex;align-items:center;justify-content:flex-start;
  overflow:hidden;white-space:nowrap;
  padding:0 clamp(7px,.55vw,10px);
  transition:min-width .5s var(--ease-smooth), padding .5s var(--ease-smooth);
}
.icon-btn__icon{
  width:clamp(20.4px,1.56vw,30px);height:clamp(20.4px,1.56vw,30px);
  flex:none;display:flex;align-items:center;justify-content:center;
}
.icon-btn__icon img{width:100%;height:100%;}
.icon-btn--telegram .icon-btn__icon img{width:83.33%;height:83.33%;}
.icon-btn__label{
  max-width:0;opacity:0;margin-left:0;flex:none;
  font-weight:500;font-size:14px;letter-spacing:-.02em;color:var(--ink);
  transition:max-width .5s var(--ease-smooth), opacity .4s var(--ease-smooth), margin-left .5s var(--ease-smooth);
}
.icon-btn:hover{padding:0 15px 0 16px;}
.icon-btn:hover .icon-btn__label{opacity:1;margin-left:6px;}
.icon-btn--telegram:hover{min-width:168px;}
.icon-btn--telegram:hover .icon-btn__label{max-width:101px;}
.icon-btn--email:hover{min-width:231px;}
.icon-btn--email:hover .icon-btn__label{max-width:164px;}

.hero__content{
  position:absolute;left:1.56%;right:1.56%;bottom:6%;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.hero__intro{display:flex;flex-direction:column;gap:clamp(10px,1.1vw,21px);max-width:490px;}
.badge-availability{
  display:inline-flex;align-items:center;gap:9px;
  font-weight:400;font-size:clamp(13px,.94vw,18px);letter-spacing:-.04em;color:var(--green);
  margin:0;
}
.badge-availability img{width:6px;height:6px;}
.hero__heading{
  margin:0;font-weight:400;font-size:clamp(24px,2.08vw,40px);letter-spacing:-.06em;line-height:1.1;
}
.hero__heading-muted{display:block;color:#b9b9b9;}
.hero__heading-main{display:block;color:#222222;}
.hero__heading-main strong{font-weight:500;}

.btn-invite{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;color:var(--ink);
  border-radius:16px;padding:2px 2px 2px 14px;
  font-weight:500;font-size:clamp(13px,.94vw,18px);letter-spacing:-.06em;
  transition:box-shadow .25s var(--ease), margin-top .25s var(--ease);
  flex:none;
}
.hero__invite{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:2;}
.btn-invite:hover{margin-top:-2px;box-shadow:0 10px 24px rgba(0,0,0,.18);}
.btn-invite__icon{
  width:clamp(22px,1.93vw,37px);height:clamp(29px,2.55vw,49px);
  background:#f7f7f7;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  flex:none;
}
.btn-invite__icon-slide{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .3s cubic-bezier(.25,.25,0,1), transform .3s cubic-bezier(.25,.25,0,1);
}
.btn-invite__icon-slide img{width:clamp(14px,1.25vw,24px);height:clamp(14px,1.25vw,24px);transform:rotate(-90deg);}
.btn-invite__icon-slide--dbl{
  position:absolute;left:50%;top:50%;
  opacity:0;
  transform:translate(-150%,-50%);
}
@media (hover:hover) and (pointer:fine){
  .btn-invite:hover .btn-invite__icon-slide:not(.btn-invite__icon-slide--dbl){
    opacity:0;transform:translate(150%);
  }
  .btn-invite:hover .btn-invite__icon-slide--dbl{
    opacity:1;transform:translate(-50%,-50%);
  }
}
@media (prefers-reduced-motion: reduce){
  .btn-invite__icon-slide{transition:none;}
}

.featured-card{
  display:flex;align-items:center;gap:8px;
  background:rgba(34,34,34,.92);
  backdrop-filter:blur(6px);
  border-radius:24px;padding:8px;
  width:clamp(220px,19.6vw,377px);
  transition:transform .25s var(--ease);
}
.featured-card:hover{transform:translateY(-4px);}
.featured-card__photo{
  width:clamp(74px,6.6vw,128px);height:clamp(75px,6.7vw,129px);
  border-radius:18px;overflow:hidden;flex:none;background:#fff;
}
.featured-card__photo img{width:100%;height:100%;object-fit:cover;}
.featured-card__body{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;padding:5px 6px;min-width:0;}
.badge-new{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:500;font-size:12px;letter-spacing:-.04em;text-transform:uppercase;color:#fff;
}
.badge-new img{width:7px;height:7px;}
.featured-card__text{
  color:#fff;font-weight:400;font-size:clamp(12px,.9vw,16px);letter-spacing:-.04em;line-height:1.25;
}

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about{padding:clamp(60px,6.6vw,127px) 0 0;}
.about__top{position:relative;}
.about__top .section-label{
  position:absolute;left:0;top:0;margin:0;
  height:calc(clamp(24px,1.67vw,32px) * 1.2);
  display:inline-flex;align-items:center;
}
.about__content{
  display:flex;flex-direction:column;gap:28px;
  margin-left:clamp(0px,41.3vw,793px);
  max-width:650px;
}
.about__heading{
  font-weight:500;font-size:clamp(24px,1.67vw,32px);letter-spacing:-.06em;line-height:1.2;color:var(--ink);
}
.about__description{
  font-weight:500;font-size:clamp(15px,.94vw,18px);letter-spacing:-.04em;line-height:1.3;color:var(--ink-soft);
  max-width:399px;
}
.about-highlights{
  display:flex;flex-wrap:wrap;gap:clamp(28px,4.1vw,79px);
  margin-left:clamp(0px,41.3vw,793px);
  max-width:1127px;
  margin-top:clamp(36px,2.7vw,52px);
}
.about-highlights__item{display:flex;flex-direction:column;gap:18px;flex:none;width:clamp(150px,10.47vw,201px);}
.about-highlights__item:nth-child(2){width:clamp(180px,12.71vw,244px);}
.about-highlights__icon{
  width:49px;height:49px;border-radius:14px;background:var(--bg-card);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.about-highlights__icon img{width:30px;height:30px;}
.about-highlights__item p{font-weight:500;font-size:18px;letter-spacing:-.02em;line-height:1.1;}

/* ==========================================================================
   COLLAGE (decorative, scaled proportionally)
   ========================================================================== */
.collage{
  margin-top:clamp(40px,6vw,115px);
  width:100%;
  overflow:hidden;
}
.collage__stage{
  position:relative;
  width:100%;
  aspect-ratio:1920/1232;
  max-width:1920px;
  margin:0 auto;
}
.collage__item{
  position:absolute;
  object-fit:cover;
  border-radius:1.2%;
}
.collage__item--p01{left:7.76%;top:3.98%;width:34.58%;aspect-ratio:664/408;border-radius:0;z-index:1;}
.collage__item--p02{left:2.92%;top:39.61%;width:17.97%;aspect-ratio:345/465;border-radius:2.5%;z-index:2;}
.collage__item--p03{left:77.45%;top:16.31%;width:17.19%;aspect-ratio:330/468;border-radius:0;z-index:3;}
.collage__item--p04{left:59.58%;top:55.52%;width:28.75%;aspect-ratio:552/311;border-radius:0;z-index:4;}
.collage__item--phone{
  left:39.11%;top:11.36%;width:21.72%;aspect-ratio:417/867;
  position:absolute;border-radius:0;z-index:5;
}
.collage__item--phone img{width:100%;height:100%;object-fit:contain;}
.collage__item--p05{left:13.28%;top:66.88%;width:33.65%;aspect-ratio:646/407;border-radius:3%;z-index:6;}
.collage__item--p06{left:57.71%;top:0%;width:22.45%;aspect-ratio:431/316;z-index:7;}

/* ==========================================================================
   PROJECTS
   ========================================================================== */
.projects{padding:clamp(70px,8.3vw,160px) 0 0;}
.projects__top{position:relative;}
.projects__top .section-label{
  position:absolute;left:0;top:0;margin:0;
  height:calc(clamp(28px,2.8vw,54px) * 1.15);
  display:inline-flex;align-items:center;
}
.projects__heading{
  font-weight:500;font-size:clamp(28px,2.8vw,54px);letter-spacing:-.06em;line-height:1.15;
  max-width:950px;margin:0 0 clamp(40px,4.2vw,80px);
  margin-left:clamp(0px,14.01vw,269px);
}
.projects__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding-bottom:clamp(60px,6.6vw,127px);
}
.project-card{
  position:relative;
  border-radius:32px;
  overflow:hidden;
  background:var(--bg-card);
  padding:clamp(22px,2.1vw,40px);
  display:flex;flex-direction:column;justify-content:flex-start;
  min-height:420px;
}
.project-card--web{
  grid-column:1 / -1;
  background:var(--blue);
  aspect-ratio:1860/723;
  min-height:360px;
  overflow:visible;
  container-type:inline-size;
}
.project-card--square{
  container-type:inline-size;
  padding-bottom:0;
}
.project-card--square .project-card__decor{
  position:relative;inset:auto;
  margin-top:5.2825cqw;width:100%;height:60.0240cqw;
}
.project-card__decor{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible;}
.project-card--web .project-card__decor{overflow:visible;border-radius:32px;}
.project-card__decor-img{position:absolute;object-fit:contain;}
.project-card--web .project-card__decor-item{position:absolute;}
.project-card--web .project-card__decor-item .project-card__decor-img{position:absolute;inset:0;width:100%;height:100%;}

/* Декоративное изображение (повёрнутое фото) */
.project-card--web .project-card__decor-item--circle{left:58.36%;top:-28.38%;width:38.56%;height:94.88%;}
.project-card--web .project-card__decor-img--circle{
  object-fit:cover;
  transform:rotate(148.92deg) scaleY(-1);
}
/* Карточка статьи */
.project-card--web .project-card__decor-item--article{left:48.02%;top:41.63%;width:20.54%;height:53.39%;}
.project-card--web .project-card__decor-img--article{
  object-fit:cover;border-radius:24px;
  transform:rotate(3.39deg);
}
/* Карточка интервью */
.project-card--web .project-card__decor-item--interview{left:46.29%;top:5.45%;width:20.54%;height:36.10%;}
.project-card--web .project-card__decor-img--interview{
  object-fit:cover;border-radius:24px;
  box-shadow:0 0 41px rgba(0,8,38,.11);
  transform:rotate(-3.19deg);
}
/* Карточка документа */
.project-card--web .project-card__decor-item--document{left:66.71%;top:61.81%;width:20.86%;height:29.18%;}
.project-card--web .project-card__decor-img--document{
  object-fit:cover;border-radius:32px;
  box-shadow:0 0 41px rgba(0,8,38,.11);
  transform:rotate(6.01deg);
}

@media (hover:hover) and (pointer:fine){
  .project-card--web .project-card__decor-item,
  .project-card--web .project-card__decor-img{transition:transform .6s var(--ease-smooth);}

  .project-card--web:hover .project-card__decor-item--circle{transform:translate(5.5323cqw,-3.6903cqw);}
  .project-card--web:hover .project-card__decor-img--circle{transform:rotate(166.23deg) scaleY(-1);}

  .project-card--web:hover .project-card__decor-item--article{transform:translate(-7.9387cqw,.2274cqw);}
  .project-card--web:hover .project-card__decor-img--article{transform:rotate(-6.44deg);}

  .project-card--web:hover .project-card__decor-item--interview{transform:translate(-6.5430cqw,-1.7414cqw);}
  .project-card--web:hover .project-card__decor-img--interview{transform:rotate(-14.26deg);}

  .project-card--web:hover .project-card__decor-item--document{transform:translate(4.9344cqw,.5559cqw);}
  .project-card--web:hover .project-card__decor-img--document{transform:rotate(14.04deg);}
}
@media (prefers-reduced-motion: reduce){
  .project-card--web .project-card__decor-item,
  .project-card--web .project-card__decor-img{transition:none;}
}
.project-card__decor--bellini img,
.project-card__decor--lemma-mobile img,
.project-card__decor--bookme img{
  position:absolute;left:7%;width:86%;top:0;height:100%;object-fit:cover;border-radius:16px;
}

.project-card__header{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;max-width:88%;min-width:0;}
.project-card--web .project-card__header{max-width:41.4%;gap:clamp(100px,19.9vw,382px);}
.project-card__header > *{min-width:0;}
.project-card__desc{display:flex;flex-direction:column;gap:24px;min-width:0;}
.project-card--web .project-card__desc{gap:clamp(18px,1.67vw,32px);}
.project-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.project-card__period{font-weight:500;font-size:clamp(14px,.94vw,18px);letter-spacing:-.04em;color:rgba(34,34,34,.66);}
.project-card__period--on-color{color:rgba(255,255,255,.66);}
.project-card__title{
  font-weight:500;font-size:clamp(20px,2.08vw,40px);letter-spacing:-.06em;line-height:1.15;color:var(--ink);
  text-wrap:balance;
}
.project-card__title--on-color{color:#fff;}
.project-card__summary{font-weight:500;font-size:clamp(14px,.94vw,18px);letter-spacing:-.04em;color:rgba(34,34,34,.55);max-width:34em;}
.project-card__summary--on-color{color:rgba(255,255,255,.55);}

.project-card--square .project-card__header{max-width:83.8%;}
.project-card--square .project-card__title{
  font-size:clamp(20px,2.08vw,32px);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.project-card--square .project-card__summary{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ==========================================================================
   EXPERIENCE
   ========================================================================== */
.experience{padding:clamp(70px,8.3vw,160px) 0;}
.exp-role{margin-bottom:42px;}
.exp-role__header{display:flex;flex-direction:column;gap:22px;margin-bottom:22px;}
.exp-role__title{font-weight:500;font-size:clamp(26px,2.8vw,54px);letter-spacing:-.06em;line-height:1.1;}
.exp-role__meta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;}
.exp-role__period{font-weight:500;font-size:14px;letter-spacing:-.04em;color:var(--period);}
.exp-role__list{display:flex;flex-direction:column;gap:10px;font-weight:500;font-size:16px;letter-spacing:-.04em;line-height:1.4;}
.exp-role__list li{text-wrap:balance;}
.exp-role__list li::before{content:"– ";}

.accordion{display:flex;flex-direction:column;gap:10px;}
.accordion__item{background:var(--bg-card);border-radius:24px;overflow:hidden;}
.accordion__trigger{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:31px 28px;text-align:left;
}
.accordion__title{font-weight:500;font-size:clamp(18px,1.25vw,24px);letter-spacing:-.04em;line-height:1.25;}
.accordion__icon{width:30px;height:30px;flex:none;transform:rotate(180deg);transition:transform .3s var(--ease);}
.accordion__item.is-open .accordion__icon{transform:rotate(0deg);}
.accordion__panel{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .35s var(--ease);
}
.accordion__item.is-open .accordion__panel{grid-template-rows:1fr;}
.accordion__panel-inner{overflow:hidden;}
.accordion__list{
  display:flex;flex-direction:column;gap:10px;
  padding:0 28px 0;
  font-weight:500;font-size:16px;letter-spacing:-.04em;line-height:1.4;
}
.accordion__list li{text-wrap:balance;}
.accordion__list li::before{content:"– ";}
.accordion__item.is-open .accordion__panel .accordion__list{padding-bottom:14px;}

.accordion__list--first{padding-bottom:31px;transition:padding-bottom .35s var(--ease);}
.accordion__list--first li{display:block;white-space:nowrap;overflow:hidden;}
.accordion__item.is-open .accordion__list--first{padding-bottom:10px;}
.accordion__item.is-open .accordion__list--first li{white-space:normal;overflow:visible;}
.accordion__link{
  display:inline-block;margin:0 28px 31px;
  color:var(--green);font-weight:400;font-size:18px;letter-spacing:-.06em;text-decoration:underline;
}

.divider{border:0;border-top:1px solid var(--border);margin:52px 0;}

.info-card{background:var(--bg-card);border-radius:24px;padding:31px 28px;margin-bottom:10px;}
.info-card__title{font-weight:500;font-size:32px;letter-spacing:-.04em;margin-bottom:14px;}
.info-card__text{font-weight:500;font-size:16px;letter-spacing:-.04em;line-height:1.4;}
.tag-list{display:flex;flex-wrap:wrap;gap:14px;}

/* ==========================================================================
   PERSONAL QUALITIES
   ========================================================================== */
.qualities{padding:0 0 clamp(60px,8vw,160px);}
.qualities__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.quality-card{
  background:var(--bg-card);border-radius:24px;padding:20px 24px;
  display:flex;flex-direction:column;justify-content:space-between;gap:12px;
  min-height:339px;
}
.quality-card--team{justify-content:space-between;}
.quality-card__icon{display:flex;align-items:flex-start;}
.quality-card__icon img{height:clamp(120px,8.7vw,167px);width:auto;max-width:100%;}
.quality-card__content{display:flex;flex-direction:column;gap:12px;}
.quality-card h3{font-weight:500;font-size:24px;letter-spacing:-.06em;}
.quality-card p{font-weight:500;font-size:16px;letter-spacing:-.02em;line-height:1.3;color:var(--ink-dim-2);}
.quality-card--team p .dim{color:var(--ink-dim-2);}
.quality-card--team p{color:var(--ink);}

.avatar-group{display:flex;align-items:center;}
.avatar-group__item{
  width:54px;height:54px;border-radius:50%;margin-right:-11px;
  border:2px solid var(--bg-card);background:#d9d9d9;object-fit:cover;
}
.avatar-group__overflow{
  width:54px;height:54px;border-radius:50%;background:#e4e4e4;
  display:flex;align-items:center;justify-content:center;
  font-weight:500;font-size:20px;letter-spacing:-.06em;color:#000;
}

/* ==========================================================================
   CONTACT / FOOTER
   ========================================================================== */
.contact{background:var(--bg-page);padding:clamp(60px,8vw,160px) 0 60px;}
.contact__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(30px,3.8vw,72px);}
.contact__heading{font-weight:500;font-size:clamp(30px,2.8vw,54px);letter-spacing:-.06em;}
.contact__links{display:flex;flex-direction:column;gap:8px;align-items:center;}
.contact-link{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  background:var(--bg-card);border-radius:14px;height:50px;padding:0 16px;
  font-weight:500;font-size:14px;letter-spacing:-.02em;min-width:151px;
  transition:transform .25s var(--ease);
}
.contact-link:hover{transform:translateY(-2px);}
.contact-link img{width:30px;height:30px;}
.contact-link--telegram img{width:25px;height:25px;}
.contact-link--resume{border-radius:16px;padding:2px 14px 2px 2px;gap:9px;font-size:18px;letter-spacing:-.06em;justify-content:flex-start;min-width:0;}
.contact-link__badge{width:46px;height:46px;flex:none;}
.contact-link__badge img{width:100%;height:100%;}
.contact__bottom{display:flex;flex-direction:column;gap:6px;align-items:center;margin-top:12px;}
.contact__copyright{font-weight:500;font-size:14px;letter-spacing:-.02em;color:var(--ink);}
.contact__privacy{font-weight:500;font-size:14px;letter-spacing:-.02em;color:var(--ink);text-decoration:underline;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1440px){
  .about__content,.about-highlights{margin-left:clamp(0px,35vw,560px);}
}

@media (max-width:1024px){
  :root{--container-pad:24px;}
  .hero{display:flex;flex-direction:column;}
  .hero__nav{position:static;transform:none;}
  .hero__topbar{position:relative;flex-wrap:wrap;gap:10px;padding:16px 20px;}
  .hero__nav-menu{gap:8px;flex-wrap:wrap;}
  .hero__content{position:relative;left:0;right:0;bottom:0;margin-top:auto;padding:16px 20px 24px;flex-direction:column;align-items:stretch;gap:18px;}
  .hero__intro{gap:8px;max-width:none;}
  .hero__invite{position:static;left:auto;top:auto;transform:none;align-self:flex-start;}
  .btn-invite:hover{margin-top:-2px;}
  .featured-card{width:100%;max-width:377px;}
  .hero__photo{position:absolute;inset:0;}

  .about__top .section-label{position:static;height:auto;margin-bottom:12px;}
  .about__content{margin-left:0;max-width:none;gap:16px;}
  .about-highlights{margin-left:0;max-width:none;gap:32px;}

  .projects__top .section-label{position:static;height:auto;margin-bottom:12px;}
  .projects__heading{margin-left:0;}

  .collage__stage{aspect-ratio:1920/1500;}

  .projects__grid{grid-template-columns:1fr 1fr;}
  .project-card--web .project-card__header{max-width:78%;}

  .qualities__grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:768px){
  :root{--container-pad:20px;}
  .hero__logo img{height:28px;}
  .hero__nav-menu{width:100%;justify-content:center;}
  .nav-pill{flex:0 1 auto;}
  .hero__heading{font-size:28px;}

  .about{padding-top:70px;}
  .about-highlights{flex-direction:column;gap:24px;}
  .about-highlights__item,.about-highlights__item:nth-child(2){width:100%;max-width:340px;}

  .collage__stage{aspect-ratio:1/1.5;}
  .collage__item--phone{display:none;}
  .collage__item--p06{left:50%;top:0;width:46%;}
  .collage__item--p01{left:2%;top:0;width:46%;}
  .collage__item--p03{left:52%;top:28%;width:46%;}
  .collage__item--p04{left:2%;top:28%;width:46%;}
  .collage__item--p02{left:2%;top:56%;width:46%;}
  .collage__item--p05{left:52%;top:56%;width:46%;}

  .projects__grid{grid-template-columns:1fr;}
  .project-card--web .project-card__header{max-width:100%;}
  .project-card--web .project-card__decor-item--circle{left:40%;top:-20%;width:55%;height:70%;}
  .project-card--web,
  .project-card--web .project-card__decor{overflow:hidden;}
  .project-card--web{aspect-ratio:auto;min-height:520px;}
  .project-card--square{aspect-ratio:auto;min-height:420px;}
  .project-card--square .project-card__header{max-width:100%;}
  .project-card__decor--bellini img,
  .project-card__decor--lemma-mobile img,
  .project-card__decor--bookme img{
    position:absolute;left:0;width:100%;top:auto;bottom:0;height:auto;aspect-ratio:919/501;object-fit:cover;
  }

  .exp-role__title{font-size:30px;}
  .accordion__trigger{padding:22px 20px;}
  .accordion__list--first{padding-bottom:22px;}
  .accordion__list{padding:0 20px;}
  .accordion__link{margin:0 20px 22px;}

  .qualities__grid{grid-template-columns:1fr;}
  .quality-card{min-height:260px;}

  .contact-link{min-width:0;width:100%;max-width:320px;}
}

@media (max-width:480px){
  .hero__heading{font-size:24px;}
  .btn-invite{font-size:14px;}
  .hero__content{gap:18px;}
  .about__heading{font-size:22px;}
  .projects__heading{font-size:26px;}
  .exp-role__title{font-size:26px;}
  .contact__heading{font-size:28px;}
}

@media (max-width:360px){
  :root{--container-pad:16px;}
  .hero__heading{font-size:21px;}
}

@media (max-width:420px){
  .hero__topbar{align-items:flex-start;}
  .hero__nav{width:auto;}
  .nav-pill--menu{display:inline-flex;}
  .hero__nav-menu{
    display:none;
    position:absolute;top:calc(100% + 10px);left:0;
    flex-direction:column;align-items:stretch;gap:8px;
    background:#fff;border-radius:16px;padding:8px;
    box-shadow:0 16px 40px rgba(0,0,0,.18);
    min-width:180px;
  }
  .hero__nav-menu.is-open{display:flex;}
  .hero__nav-menu .nav-pill{width:100%;}
}

/* ==========================================================================
   CASE STUDY PAGE (шаблон для страниц кейсов проектов)
   ========================================================================== */
.case-hero{
  position:relative;width:100%;
  aspect-ratio:1920/1080;min-height:600px;
  overflow:hidden;color:#fff;background:#000;
}
.case-hero__bg{position:absolute;inset:0;pointer-events:none;}
.case-hero__bg-base{position:absolute;inset:0;background:var(--bg-hero);}
.case-hero__bg-blend{position:absolute;inset:0;mix-blend-mode:darken;overflow:hidden;}
.case-hero__bg-photo{width:100%;height:100%;object-fit:cover;object-position:50% 0%;}
.case-hero__bg-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.case-hero__bg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.44);}

.case-hero__back{
  position:absolute;left:1.56%;top:11.02%;z-index:2;
  font-size:14px;color:#fff;opacity:.9;
  transition:opacity .25s var(--ease);
}
.case-hero__back:hover{opacity:1;}

.case-hero__meta{
  position:absolute;left:1.56%;top:64.72%;z-index:2;
  display:flex;align-items:center;gap:8px;
  font-weight:500;font-size:clamp(10px,.625vw,12px);letter-spacing:.02em;text-transform:uppercase;color:#fff;
}
.case-hero__meta-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;}

.case-hero__title{
  position:absolute;left:24.43%;top:66.3%;transform:translateX(-50%);z-index:2;
  margin:0;font-weight:500;font-size:clamp(48px,6.51vw,125px);letter-spacing:-.06em;text-transform:uppercase;
  color:#fff;white-space:nowrap;
}
.case-hero__desc{
  position:absolute;left:1.56%;top:80.28%;z-index:2;
  max-width:545px;margin:0;
  font-weight:500;font-size:clamp(15px,1.25vw,24px);letter-spacing:-.06em;line-height:1.3;
  color:rgba(255,255,255,.71);
}
.case-hero__invite{position:absolute;left:7.47%;top:90.09%;transform:translateX(-50%);z-index:2;}
.case-hero__cta-row{position:absolute;left:1.56%;top:90.09%;z-index:2;display:flex;align-items:center;gap:12px;}
.btn-invite--glass{background:rgba(255,255,255,.24);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:#fff;}
.btn-invite--glass .btn-invite__icon{background:rgba(247,247,247,.21);}

.case{padding:clamp(60px,6.5vw,125px) 0 clamp(40px,4.2vw,80px);}
.case__layout{display:flex;align-items:flex-start;gap:clamp(40px,12vw,230px);}

.case-toc{
  position:sticky;top:40px;
  display:flex;flex-direction:column;gap:17px;
  flex:none;width:190px;
  font-size:13px;
}
.case-toc__link{
  color:var(--ink-dim-2);
  transition:color .2s var(--ease);
}
.case-toc__link:hover{color:var(--ink);}
.case-toc__link.is-active{color:var(--green);}
.case-toc__link--disabled{
  color:#c7c7c7;cursor:default;pointer-events:none;
}

.case__content{flex:1;min-width:0;max-width:1020px;}
.case-section{padding:43.5px 0;}
#case-context .case-card{margin-top:40px;}
.case-section:first-child{padding-top:0;}
.case-section + .case-section{border-top:1px solid var(--border);}
.case-section > .section-label + *{margin-top:24px;}

.case-block{display:flex;flex-direction:column;gap:20px;margin-top:32px;width:100%;}
.case-block--narrow{max-width:760px;gap:16px;}
.case-block--gap24{gap:24px;}
.case-block__title{
  margin:0;font-weight:500;font-size:clamp(26px,2.08vw,40px);letter-spacing:-.04em;line-height:1.12;color:var(--ink);
}
.case-block__subtitle{
  margin:32px 0 0;font-weight:500;font-size:clamp(20px,1.46vw,28px);letter-spacing:-.04em;line-height:1.12;color:var(--ink);
  max-width:526px;
}
.case-block__subtitle:first-child{margin-top:0;}
.case-block__text{
  margin:0;font-size:clamp(15px,.94vw,18px);line-height:1.5;color:rgba(39,39,39,.68);
}

.case-card{
  margin-top:32px;width:100%;
  background:var(--bg-card);border-radius:24px;padding:28px;
  display:flex;flex-direction:column;align-items:flex-start;gap:20px;
}
.case-card__illustration{width:150px;height:144px;}
.case-card__illustration img{width:100%;height:100%;object-fit:contain;}
.case-card__title{
  margin:0;font-weight:500;font-size:clamp(18px,1.25vw,24px);letter-spacing:-.04em;line-height:1.12;color:var(--ink);
}
.case-card__text{margin:0;font-size:clamp(15px,.94vw,18px);line-height:1.5;color:rgba(39,39,39,.68);}
.case-card__shot{width:100%;border-radius:17px;overflow:hidden;}
.case-card__shot img{width:100%;height:auto;display:block;}
.case-card__shot--banner{aspect-ratio:1102/168;}
.case-card__shot--banner img{width:100%;height:100%;object-fit:cover;}
.case-card--notes{gap:18px;padding:24px;}
.case-card--notes .case-card__shot{border-radius:12px;}
.case-card__caption{margin:0;font-size:14px;color:rgba(0,0,0,.32);letter-spacing:-.02em;}
.case-card__text strong{font-weight:600;color:var(--ink);}

.case-tasks{display:flex;gap:32px;width:100%;}
.case-tasks__col{display:flex;flex-direction:column;gap:16px;flex:1;min-width:0;}
.case-tasks__col li{display:flex;gap:14px;align-items:center;}
.case-tasks__num{flex:none;font-size:14px;color:var(--green);}
.case-tasks__col li span:last-child{font-size:18px;line-height:1.4;color:var(--ink);}

.case-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;}
.case-tags__item{
  padding:10px 18px;border-radius:40px;background:var(--green-bg);
  font-size:14px;color:var(--ink);
}

.case-grid-2{display:flex;gap:16px;margin-top:32px;width:100%;}
.case-grid-2 + .case-grid-2{margin-top:16px;}
.case-mini-card{
  flex:1;min-width:0;background:var(--bg-card);border-radius:24px;padding:24px;
  display:flex;flex-direction:column;gap:16px;
}
.case-mini-card__kicker{margin:0;font-size:12px;text-transform:uppercase;color:var(--ink-dim-2);}
.case-mini-card__title{margin:0;font-weight:500;font-size:24px;letter-spacing:-.04em;line-height:1.12;color:var(--ink);}
.case-mini-card__text{margin:0;font-size:18px;line-height:1.5;color:rgba(39,39,39,.68);}
.case-mini-card--tall{gap:16px;}
.case-grid-2--stack{flex-direction:column;gap:2px;}
.case-mini-card--metric{background:#f4f4f4;border-radius:20px;padding:32px;gap:16px;}
.case-mini-card--metric .case-mini-card__kicker{font-size:13px;letter-spacing:.06em;color:rgba(26,26,26,.5);}
.case-mini-card--metric .case-mini-card__title{font-size:30px;letter-spacing:-.02em;color:#1a1a1a;}
.case-mini-card__divider{height:1px;width:100%;background:rgba(26,26,26,.12);}
.case-mini-card--metric .case-mini-card__list{color:rgba(26,26,26,.85);}
.case-mini-card--metric .case-mini-card__list li::before{color:rgba(26,26,26,.35);}


.case-callout{
  margin-top:16px;width:100%;background:var(--green-bg);border-radius:24px;padding:24px;
}
.case-callout p{margin:0;font-size:18px;line-height:1.5;color:rgba(39,39,39,.68);}
.case-callout--plain{background:none;padding:24px 0;}
.case-callout--plain p{color:#222222;font-weight:500;}

.case-architecture{display:flex;gap:20px;margin-top:32px;width:100%;}
.case-architecture[hidden]{display:none;}
.case-architecture__before{
  flex:none;width:290px;background:var(--bg-card);border-radius:24px;padding:24px;
  display:flex;flex-direction:column;gap:18px;
}
.case-architecture__kicker{margin:0;font-size:12px;text-transform:uppercase;color:var(--ink-dim-2);}
.case-architecture__item{margin:0;font-size:18px;color:var(--ink);}
.case-architecture__after{
  flex:1;min-width:0;background:var(--green-bg);border-radius:24px;padding:24px;
  display:flex;flex-direction:column;gap:24px;
}
.case-architecture__group h4{margin:0 0 10px;font-weight:500;font-size:24px;letter-spacing:-.04em;color:var(--ink);}
.case-architecture__group p{margin:0;font-size:18px;line-height:1.5;color:rgba(39,39,39,.68);}

.case-figure{margin:32px 0 0;width:100%;}
.case-figure img{width:100%;height:auto;border-radius:12px;display:block;}
.case-figure figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);}

.case-compare{margin-top:32px;width:100%;display:flex;flex-direction:column;gap:32px;}
.case-compare--gap16{gap:16px;}
.case-compare__switcher{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;}
.case-compare__switch{display:flex;gap:12px;justify-content:center;}
.case-compare__tab{
  padding:6px 14px 8px;border-radius:49px;border:1px solid rgba(39,39,39,.1);background:#fff;
  font-size:18px;letter-spacing:-.02em;color:#7b7b7b;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.case-compare__tab.is-active{background:var(--green-bg);border-color:transparent;color:var(--green);}
.case-compare__hint{
  align-self:center;width:420px;max-width:100%;padding:16px;border-radius:16px;
  display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;
}
.case-compare__hint[hidden]{display:none;}
.case-compare__hint-title{margin:0;font-weight:500;font-size:14px;letter-spacing:-.02em;color:var(--ink);}
.case-compare__hint-text{margin:0;font-size:14px;line-height:1.3;color:rgba(39,39,39,.68);}
.case-compare__stage{position:relative;width:100%;border-radius:12px;overflow:hidden;background:var(--bg-card);}
.case-compare__img{
  display:block;width:100%;height:auto;
  position:relative;
}
.case-compare__img:not(.is-active){display:none;}

@media (max-width:1024px){
  .case-hero__title{font-size:9vw;}
  .case__layout{flex-direction:column;gap:32px;}
  .case-toc{
    position:static;flex-direction:row;flex-wrap:wrap;width:100%;gap:10px 20px;
    padding-bottom:16px;border-bottom:1px solid var(--border);
  }
  .case-tasks{flex-direction:column;gap:16px;}
  .case-grid-2{flex-direction:column;}
  .case-architecture{flex-direction:column;}
  .case-architecture__before{width:100%;}
  .case-compare__stage--group{flex-direction:column;height:auto;}
  .case-reg-old__item{height:auto;}
  .case-reg-old__item img{height:auto !important;aspect-ratio:1/1;flex:none;}
}
@media (max-width:768px){
  .case__content{width:100%;}
  .case-hero__title{left:1.56%;top:66.3%;transform:none;font-size:11vw;letter-spacing:-.04em;}
  .case-hero__invite{left:1.56%;transform:none;}
  .case-hero__cta-row{flex-wrap:wrap;}
  .case-hero__desc{max-width:80%;}
}

/* ---- case: доп. компоненты (карточки-примеры, 2-й блок До/После, кабинет) ---- */
.case-callout--tight{display:flex;flex-direction:column;gap:16px;margin-top:32px;}
.case-callout__title{margin:0;font-weight:500;font-size:24px;letter-spacing:-.04em;line-height:1.12;color:var(--ink);}

.case-cards-row{display:flex;gap:20px;margin-top:32px;width:100%;}
.case-cards-row--half .case-cards-row__item{flex:1;}
.case-cards-row__item{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0;margin:0;}
.case-cards-row__item img{width:100%;height:auto;border-radius:12px;display:block;}
.case-cards-row__item figcaption{font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);}
.case-cards-row__doc{border-radius:32px;}

.case-compare__stage--group{
  display:flex;gap:11px;height:441px;padding:19px 12px 12px;
  background:var(--bg-card);border-radius:24px;
}
.case-compare__stage--group[hidden]{display:none;}
.case-reg-old__item{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;margin:0;}
.case-reg-old__item figcaption{font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);text-align:center;}
.case-reg-old__item img{width:100%;flex:none;object-fit:cover;border-radius:12px;display:block;}
.case-reg-old__item:nth-child(1) img{height:289px;}
.case-reg-old__item:nth-child(2) img{height:290px;}
.case-reg-old__item:nth-child(3) img{height:328.647px;}

.case-cabinet-block{display:flex;gap:28px;margin-top:32px;width:100%;background:var(--bg-card);border-radius:24px;padding:20px;}
.case-cabinet-block__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px;padding:12px;}
.case-cabinet-block__title{margin:0;font-weight:500;font-size:28px;letter-spacing:-.04em;line-height:1.12;color:var(--ink);}
.case-cabinet-block__desc{margin:0;font-size:18px;line-height:1.5;color:rgba(39,39,39,.68);}

.case-cabinet{
  flex:none;width:626px;max-width:100%;background:#fff;border-radius:24px;padding:28px;
  display:flex;flex-direction:column;gap:24px;
}
.case-cabinet--shot{padding:0;overflow:hidden;}
.case-cabinet--shot img{width:100%;height:auto;display:block;}

/* ---- case: рассылка / мобильная версия / дизайн-система / итоги ---- */
.case-subscribe-demo{margin-top:32px;width:100%;display:flex;justify-content:center;}
.case-subscribe-demo__card{
  margin:0;background:var(--bg-card);border-radius:24px;padding:12px;
  display:flex;flex-direction:column;gap:12px;max-width:100%;
}
.case-subscribe-demo__card img{width:100%;max-width:630px;border-radius:12px;display:block;}
.case-subscribe-demo__card figcaption{font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);}

.case-compare__stage--card{
  width:auto;align-self:center;background:var(--bg-card);border-radius:24px;padding:20px;
  display:flex;justify-content:center;
}
.case-compare__stage--card img{max-width:534px;width:100%;border-radius:12px;display:block;}

.case-mobile-shots{
  margin-top:24px;width:100%;
  display:flex;gap:40px;justify-content:center;flex-wrap:wrap;
}
.case-mobile-shots__item{margin:0;display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.case-mobile-shots__item figcaption{font-size:13px;color:var(--ink-dim-2);text-transform:uppercase;}
.case-mobile-shots__item img{width:306px;max-width:100%;border-radius:24px;display:block;}

.case-ds-shots{
  margin-top:32px;width:100%;height:607px;background:var(--bg-card);border-radius:24px;
  padding:0;display:flex;gap:16px;justify-content:center;align-items:flex-start;overflow:hidden;
}
.case-ds-shots img{height:100%;width:auto;max-width:none;object-fit:cover;border-radius:8px;}

.case-mini-card__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px;font-size:18px;line-height:1.5;color:rgba(39,39,39,.68);}
.case-mini-card__list li{padding-left:16px;position:relative;}
.case-mini-card__list li::before{content:"—";position:absolute;left:0;}

/* ---- case: тёмная обложка (мокапы вместо фото) — вариант case-hero для мобильных/продуктовых кейсов ---- */
.case-hero__bg--mockups{background:#1a1a1a;}
.case-hero__bg-mockup{position:absolute;top:20.19%;width:39.9%;height:106.85%;object-fit:cover;border-radius:12px;}
.case-hero__bg-mockup--1{left:17.76%;}
.case-hero__bg-mockup--2{left:45.99%;}

/* ---- case: статистика (число + подпись), переиспользуется в нескольких разделах ---- */
.case-stat{display:flex;flex-direction:column;gap:6px;margin-top:32px;flex:1;min-width:0;}
.case-stat__value{margin:0;font-weight:500;font-size:clamp(40px,4.2vw,64px);letter-spacing:-.04em;line-height:1;color:var(--ink);}
.case-stat__label{margin:0;font-size:16px;line-height:1.4;color:rgba(39,39,39,.68);max-width:280px;}

/* ---- case: горизontальные бары (напр. разбор отзывов по темам) ---- */
.case-bar-list{display:flex;flex-direction:column;gap:18px;margin-top:24px;width:100%;}
.case-bar-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr 24px;align-items:center;gap:14px;}
.case-bar-row__label{font-size:15px;color:var(--ink);}
.case-bar-row__track{height:12px;border-radius:6px;background:var(--border);overflow:hidden;}
.case-bar-row__fill{height:100%;border-radius:6px;background:var(--green);}
.case-bar-row__count{font-size:15px;color:var(--ink-dim-2);text-align:right;}

/* ---- case: табличное сравнение (конкуренты, время сборки экрана) ---- */
.case-table-wrap{margin-top:32px;width:100%;overflow-x:auto;}
.case-table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;}
.case-table th,.case-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
.case-table th{font-weight:500;color:var(--ink-dim-2);font-size:13px;text-transform:uppercase;letter-spacing:.02em;}
.case-table td{color:var(--ink);}
.case-table th:not(:first-child),.case-table td:not(:first-child){text-align:center;}
.case-table tfoot td{font-weight:500;border-bottom:none;}
.case-table__legend{margin:12px 0 0;font-size:13px;color:rgba(39,39,39,.5);}

/* ---- case: структура ИА было/стало — группы колонок внутри case-architecture ---- */
.case-architecture--ia .case-architecture__before{width:auto;flex:1;flex-direction:row;flex-wrap:wrap;gap:24px;}
.case-architecture--ia .case-architecture__after{flex:1.4;flex-direction:row;flex-wrap:wrap;gap:24px;}
.case-architecture--ia .case-architecture__before .case-architecture__group,
.case-architecture--ia .case-architecture__after .case-architecture__group{flex:1;min-width:130px;}
.case-architecture--ia .case-architecture__group h4{font-size:16px;margin-bottom:10px;}
.case-architecture--ia .case-architecture__group p{font-size:14px;line-height:1.6;margin:0 0 4px;}
.case-architecture__heading{margin:0 0 20px;font-weight:500;font-size:20px;letter-spacing:-.02em;color:var(--ink);}

/* ---- case: блок "Решение N" (большие экраны "Стало" + список изменений + карточка "Было") ---- */
.case-solution{margin-top:32px;width:100%;display:flex;flex-direction:column;gap:28px;}
.case-solution__shots{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.case-solution__shots[hidden]{display:none;}
.case-solution__shots img{height:min(630px,32.8125vw);width:auto;max-width:100%;border-radius:20px;display:block;}
.case-solution__bottom{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;}
.case-solution__changes{flex:1;min-width:260px;display:flex;flex-direction:column;gap:14px;}
.case-solution__kicker{margin:0;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-dim-2);}
.case-solution__changes .case-mini-card__list{gap:12px;font-size:16px;}
.case-solution__before{flex:1;min-width:260px;max-width:420px;background:var(--bg-card);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:14px;}
.case-solution__before-badge{align-self:flex-start;padding:5px 12px;border-radius:100px;background:#ffeceb;color:#c8372d;font-size:13px;font-weight:500;}
.case-solution__before-shots{display:flex;gap:10px;}
.case-solution__before-shots img{width:50%;border-radius:12px;display:block;}
.case-solution__before-text{margin:0;font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);}

/* ---- Следующие кейсы (полноширинный блок, свой .container) ---- */
.case-next{padding:64px 0 clamp(60px,6.6vw,127px);}
.case-next__top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;}
.case-next__heading{margin:0;font-weight:500;font-size:clamp(24px,1.67vw,32px);letter-spacing:-.04em;color:var(--ink);}
.case-next__all{
  display:inline-flex;align-items:center;height:42px;padding:9px 16px;
  border:1px solid rgba(0,0,0,.16);border-radius:14px;background:#fff;
  font-weight:500;font-size:13px;color:rgba(0,0,0,.8);white-space:nowrap;
}
.case-next__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

/* Loose inter-group spacing (60px) — always wins over any component's own margin-top */
.gap-loose{margin-top:60px;}

@media (max-width:1024px){
  .case-cards-row,.case-cabinet-block{flex-direction:column;}
  .case-cabinet{width:100%;}
  .case-mobile-shots{flex-direction:column;align-items:center;padding:24px;}
  .case-ds-shots{flex-direction:column;height:auto;padding:24px;align-items:center;}
  .case-ds-shots img{height:auto;width:100%;max-width:420px;}
  .case-next__grid{grid-template-columns:1fr;}
  .case-architecture--ia{flex-direction:column;}
  .case-architecture--ia .case-architecture__before,
  .case-architecture--ia .case-architecture__after{flex:none;width:100%;}
  .case-bar-row{grid-template-columns:110px 1fr 22px;gap:10px;}
}

/* ---- case: Amaty ---- */
.case-hero--amaty .case-hero__title{left:1.56%;transform:none;}
.case-hero--amaty .case-hero__bg-overlay{background:rgba(0,0,0,.2);}

.case-icon-figure{margin:32px 0 0;width:100%;}
.case-icon-figure img{width:100%;height:auto;display:block;}

.case-card__row{display:flex;gap:18px;width:100%;}
.case-card__row img{flex:1;min-width:0;width:100%;height:auto;display:block;object-fit:cover;}

.case-process-shots{margin-top:24px;width:100%;}
.case-process-shots__caption{margin:0 0 16px;font-size:14px;line-height:1.5;color:rgba(39,39,39,.68);}
.case-process-shots img{width:100%;height:auto;display:block;}
.case-process-shots + .case-process-shots{margin-top:67px;}

.case-block__text strong{color:var(--ink);font-weight:600;}
.case-table__mark{font-size:22px;}
.case-table__mark--ok{color:#2e9b4f;}
.case-table__mark--mid{color:#8a8a8a;}
.case-table__mark--bad{color:#c8372d;}

.case-table--dark-head{border-radius:20px 20px 0 0;overflow:hidden;font-size:18px;}
.case-table--dark-head thead{background:#1a1a1a;}
.case-table--dark-head th{color:#fff;font-size:16px;text-transform:none;letter-spacing:0;white-space:nowrap;}
.case-table--dark-head th,.case-table--dark-head td{border-bottom:none;padding:14px 12px;}
.case-table--dark-head th:first-child,.case-table--dark-head td:first-child{padding-left:32px;text-align:left;}
.case-table--dark-head tbody tr:nth-child(odd){background:#fff;}
.case-table--dark-head tbody tr:nth-child(even){background:#f4f4f4;}

.case-table__mark--na{color:#a6a8ad;}

/* ---- case: BookMe ---- */
.case-hero--bookme .case-hero__title{left:1.56%;transform:none;}

.case-table--bookme{border-radius:18px;overflow:hidden;}
.case-table--bookme thead{background:#17171c;}
.case-table--bookme th{color:#fff;font-weight:700;font-size:13.5px;text-align:center;text-transform:none;letter-spacing:0;white-space:nowrap;}
.case-table--bookme th:first-child{text-align:left;font-size:14px;}
.case-table--bookme th,.case-table--bookme td{border-bottom:none;padding:19px 12px;}
.case-table--bookme td{font-weight:700;font-size:18px;text-align:center;color:var(--ink);}
.case-table--bookme td:first-child{padding-left:13px;text-align:left;font-weight:400;font-size:14px;color:#1a1a1f;}
.case-table--bookme tbody tr:nth-child(odd) td{background:#fff;}
.case-table--bookme tbody tr:nth-child(even) td{background:#f6f6f9;}
.case-table--bookme tbody tr:nth-child(odd) td:last-child{background:#e5f5d9;}
.case-table--bookme tbody tr:nth-child(even) td:last-child{background:#d9edc2;}
.case-table--bookme .case-table__mark--ok{color:#33994d;}
.case-table--bookme .case-table__mark--mid{color:#8c8033;}
.case-table--bookme .case-table__mark--bad{color:#bf3333;}

@media (max-width:768px){
  .case-card__row{flex-direction:column;}
}

/* ---- case: Bellini (редизайн) ---- */
.case-hero--bellini .case-hero__bg-base{background:#1a1a1a;}
.case-hero--bellini .case-hero__title{left:1.56%;transform:none;}

.case-stats-row{display:flex;gap:80px;flex-wrap:wrap;margin-top:40px;}
.case-stat--bellini{gap:6px;margin-top:0;flex:none;}
.case-stat--bellini .case-stat__value{font-size:52px;line-height:1.1;letter-spacing:-.02em;}
.case-stat--bellini .case-stat__label{font-size:16px;line-height:1.35;color:rgba(26,26,26,.6);max-width:none;}

.case-compare-row{display:flex;gap:2px;width:100%;margin-top:32px;}
.case-compare-card{flex:1;min-width:0;height:635px;background:#f7f7f7;border-radius:20px;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;gap:24px;overflow:hidden;}
.case-compare-card__media{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.case-compare-card__media img{width:auto;height:320px;max-width:100%;max-height:100%;object-fit:contain;}
.case-compare-card__head{display:flex;gap:17px;align-items:center;}
.case-compare-card__title{margin:0;font-weight:500;font-size:30px;letter-spacing:-.02em;line-height:1.35;color:#1a1a1a;}
.case-compare-card__pill{background:#fff;border-radius:20px;padding:7px 10px 6px;font-weight:500;font-size:13px;letter-spacing:.06em;color:rgba(26,26,26,.5);}

.case-feature-row{display:flex;gap:2px;width:100%;margin-top:32px;}
.case-feature-card{flex:1;min-width:0;background:#f7f7f7;border-radius:20px;padding:44px 24px;display:flex;flex-direction:column;gap:22px;}
.case-feature-card--full{width:100%;margin-top:2px;}
.case-feature-card--dark{background:#1a1a1a;}
.case-feature-card__title{margin:0;font-weight:500;font-size:30px;letter-spacing:-.02em;line-height:1.35;color:#1a1a1a;}
.case-feature-card--dark .case-feature-card__title{color:rgba(255,255,255,.9);}
.case-feature-card__divider{height:1px;width:100%;background:rgba(26,26,26,.12);}
.case-feature-card--dark .case-feature-card__divider{background:rgba(255,255,255,.15);}
.case-feature-card__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;font-size:18px;line-height:1.5;color:rgba(26,26,26,.85);}
.case-feature-card__list li{padding-left:27px;position:relative;}
.case-feature-card__list li::before{content:"—";position:absolute;left:0;color:rgba(26,26,26,.35);}
.case-feature-card--dark .case-feature-card__list{color:rgba(255,255,255,.85);}
.case-feature-card--dark .case-feature-card__list li::before{color:rgba(255,255,255,.9);}

.case-big-stat{margin-top:32px;display:flex;flex-direction:column;gap:6px;}
.case-big-stat__value{margin:0;font-weight:500;font-size:72px;line-height:1.1;letter-spacing:-.02em;color:#1a1a1a;}
.case-big-stat__label{margin:0;font-size:19px;line-height:1.3;color:rgba(26,26,26,.8);max-width:457px;}

.case-bar-list{background:#f7f7f7;border-radius:20px;padding:36px;gap:18px;margin-top:40px;}
.case-bar-list__kicker{margin:0;font-weight:500;font-size:13px;letter-spacing:.06em;color:rgba(26,26,26,.5);}
.case-bar-row{grid-template-columns:min(330px,42%) 1fr 24px;gap:16px;}
.case-bar-row__label{font-size:18px;color:rgba(26,26,26,.85);}
.case-bar-row__track{height:14px;border-radius:7px;background:rgba(26,26,26,.06);}
.case-bar-row__fill{display:block;background:rgba(26,26,26,.25);}
.case-bar-row__count{font-size:18px;color:rgba(26,26,26,.5);text-align:left;}
.case-bar-row--active .case-bar-row__label,
.case-bar-row--active .case-bar-row__count{color:#1a1a1a;font-weight:500;}
.case-bar-row--active .case-bar-row__fill{background:#bee000;}

.case-persona-row{display:flex;gap:2px;width:100%;margin-top:32px;}
.case-persona-card{flex:1;min-width:0;background:#f7f7f7;border-radius:20px;padding:36px 20px;display:flex;flex-direction:column;gap:32px;}
.case-persona-card__head{display:flex;flex-direction:column;gap:16px;}
.case-persona-card__name{margin:0;font-weight:500;font-size:24px;letter-spacing:-.02em;line-height:1.35;color:#1a1a1a;}
.case-persona-card__role{margin:0;font-size:17px;line-height:1.3;color:rgba(26,26,26,.6);}
.case-persona-card__divider{height:1px;width:100%;background:rgba(26,26,26,.12);}
.case-persona-card__quote{margin:0;font-weight:500;font-size:20px;letter-spacing:-.02em;line-height:1.3;color:#1a1a1a;}
.case-persona-card__kicker{margin:0;font-weight:500;font-size:13px;letter-spacing:.06em;color:rgba(26,26,26,.5);}

.case-quote-row{display:flex;gap:2px;width:100%;margin-top:3px;}
.case-quote-card{flex:1;min-width:0;background:#f7f7f7;border-radius:20px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;}
.case-quote-card__text{margin:0;font-size:16px;line-height:1.5;color:#1a1a1a;}
.case-quote-card__meta{display:flex;flex-direction:column;gap:12px;}
.case-quote-card__source{margin:0;font-size:15px;color:rgba(26,26,26,.45);}
.case-quote-card__tag{align-self:flex-start;padding:5px 10px;border-radius:100px;background:rgba(190,224,0,.1);color:#aecd00;font-weight:500;font-size:14px;}

.case-table--bellini{table-layout:fixed;min-width:0;}
.case-table--bellini thead{background:#1a1a1a;}
.case-table--bellini th{color:#fff;font-weight:500;font-size:16px;text-align:center;text-transform:none;letter-spacing:0;white-space:normal;}
.case-table--bellini th:first-child{text-align:left;}
.case-table--bellini th,.case-table--bellini td{border-bottom:none;padding:8px 12px;height:62px;white-space:normal;}
.case-table--bellini thead th{height:60px;}
.case-table--bellini td:first-child,.case-table--bellini th:first-child{padding-left:32px;text-align:left;width:30%;}
.case-table--bellini td{font-weight:500;font-size:24px;text-align:center;}
.case-table--bellini td:first-child{font-weight:400;font-size:18px;color:rgba(26,26,26,.85);}
.case-table--bellini tbody tr:nth-child(odd) td{background:#fff;}
.case-table--bellini tbody tr:nth-child(even) td{background:#f4f4f4;}
.case-table--bellini tbody tr td:last-child{background:rgba(190,224,0,.18) !important;}
.case-table--bellini .case-table__mark--ok{color:#2e9b4f;}
.case-table--bellini .case-table__mark--bad{color:#c8372d;}
.case-table--bellini .case-table__mark--mid{color:#8a8a8a;}

.case-ia{background:#fff;border-radius:20px 20px 0 0;padding:8px 32px;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;}
.case-ia[hidden]{display:none;}
.case-ia__title{margin:0;font-weight:500;font-size:30px;letter-spacing:-.02em;color:#1a1a1a;font-family:'Onest',sans-serif;}
.case-ia__columns{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;justify-content:center;}
.case-ia__col{display:flex;flex-direction:column;gap:8px;width:216px;}
.case-ia--4col .case-ia__col{width:226px;}
.case-ia__item{border-radius:12px;padding:12px 12px 12px 14px;font-size:17px;line-height:1.35;color:rgba(26,26,26,.8);font-family:'Onest',sans-serif;background:rgba(26,26,26,.05);box-sizing:border-box;}
.case-ia__item--head{height:52px;padding:14px;display:flex;align-items:center;font-weight:500;font-size:18px;color:#1a1a1a;background:#e7e6e2;}
.case-ia__item--head.is-active{background:#1a1a1a;color:#fff;}

.case-proof-card{background:#f4f4f4;border-radius:20px;padding:32px;margin-top:60px;}
.case-proof-card .case-block{margin-top:0;}
.case-proof-card .case-table-wrap{margin-top:16px;}

@media (max-width:768px){
  .case-compare-row,.case-feature-row,.case-quote-row,.case-persona-row,.case-ia__columns{flex-direction:column;}
  .case-compare-card{height:auto;}
  .case-ia__col{width:100%;}
}
