:root{
  --blue:#143fff;
  --blue2:#1b45ff;
  --dark:#002147;
  --ink:#0b1f33;
  --light:#fafcff;
  --gray:#ebebeb;
  --page-bg:#f5f7fb;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--page-bg);
  color:var(--dark);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.dorm-page{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  overflow:hidden;
  background:#fff;
}

.container{
  width:min(1200px,calc(100% - 40px));
  margin:0 auto;
}

/* HERO */
.hero{
  position:relative;
  height:576px;
  overflow:hidden;
  color:#fff;
  background:var(--blue);
}
.hero__mascot{
  position:absolute;
  top:0;
  left:303px;
  width:570px;
  height:570px;
  object-fit:contain;
  z-index:0;
}
.hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(20,63,255,.40),#143fff);
  z-index:1;
}
.hero__top{
  position:absolute;
  z-index:3;
  top:21px;
  left:90px;
  right:93px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hero__logo{width:60px;height:57px;object-fit:contain}
.menu-button{
  width:78px;height:78px;border:0;border-radius:50%;
  background:rgba(23,66,255,.5);
  display:grid;place-content:center;gap:7px;
}
.menu-button span{display:block;width:38px;height:4px;background:#fff}

.hero__content{
  position:relative;
  z-index:2;
  height:100%;
  display:grid;
  grid-template-columns:700px 500px;
  align-items:center;
  padding-top:65px;
}
.hero h1{
  margin:0;
  padding-left:20px;
  font-size:46px;
  line-height:53.82px;
  font-weight:700;
}
.hero-contacts{
  padding:0 20px;
  display:flex;
  flex-direction:column;
  gap:24px;
  font-size:20px;
  line-height:1.2;
}
.hero-contact{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:35px;
  align-items:center;
}
.hero-contact__icon{
  width:40px;height:42px;display:grid;place-items:center;
}
.hero-contact__icon--large{width:46px;height:50px}

/* NOTE */
.note-section{padding:60px 0 53px}
.note{
  margin:0 20px;
  padding:30px 20px 28px 16px;
  display:flex;
  align-items:flex-start;
  gap:18px;
  background:var(--gray);
  font-size:20px;
  line-height:31px;
}
.note img{width:24px;height:28px;flex:none;margin-top:4px}
.note p{margin:0}

/* SOCIAL */
.social-band{
  height:190px;
  color:#fff;
  background:linear-gradient(to bottom,rgba(20,63,255,.6),#143fff);
}
.social-band__inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
}
.social-band h2{
  margin:0;
  font-size:46px;
  line-height:50px;
  letter-spacing:.39px;
}
.socials{display:flex;align-items:center;gap:12px}
.social{
  width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;position:relative;
}
.social::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background-image:url("assets/a04b062e-669d-438d-a0d9-38709346af7a.svg");
  background-size:100% 100%;background-repeat:no-repeat;
}
.social>img,.social>span{position:relative;z-index:1}
.social>img{max-width:36px;max-height:38px}
.social--ok>img{width:24px}
.social--rutube span{width:35px;height:32px;position:relative}
.social--rutube span img:first-child{position:absolute;inset:5px 0 0 0;width:34px;height:27px}
.social--rutube span img:last-child{position:absolute;right:0;top:0;width:5px}

/* SECTION HEADINGS */
.section-heading{
  min-height:208px;
  display:flex;
  align-items:center;
  color:#fff;
  background:linear-gradient(to top,#143fff,rgba(27,69,255,.6));
}
.section-heading .container{text-align:center}
.section-heading h2{
  margin:0 0 4px;
  font-size:36px;
  line-height:51.66px;
}
.section-heading p{
  margin:0;
  font-size:22px;
  line-height:33px;
}

/* ELIGIBILITY */
.eligibility{padding:66px 0 80px;background:#fff}
.eligibility__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.eligibility-item{text-align:center;padding:0 16px}
.eligibility-item img{
  width:183px;height:183px;object-fit:contain;margin:0 auto 0;
}
.eligibility-item h3{
  margin:0 0 20px;
  font-size:22px;
  line-height:29.7px;
}
.eligibility-item p{
  margin:0 auto;
  max-width:245px;
  color:#21283e;
  font-size:16px;
  line-height:1.2;
}

/* CARDS */
.cards-section{padding:64px 0;background:var(--light)}
.card-grid{display:grid;gap:32px}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.info-card,.doc-card{
  min-height:160px;
  padding:24px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 4px #e3ebfc,0 24px 48px rgba(230,235,245,.4);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
}
.info-card img{width:48px;height:48px;margin-bottom:16px}
.info-card strong{
  font-size:18px;
  line-height:24px;
}
.doc-card h3{
  margin:0 0 16px;
  color:var(--blue);
  font-size:24px;
  line-height:1.15;
}
.doc-card p{
  margin:0;
  color:var(--dark);
  font-size:18px;
  line-height:24px;
}

/* TIMELINE */
.timeline-section{padding:34px 0 70px;background:#fff}
.timeline{
  position:relative;
  max-width:1160px;
}
.timeline::before{
  content:"";
  position:absolute;
  left:50%;
  top:55px;
  bottom:110px;
  width:2px;
  transform:translateX(-1px);
  background:var(--blue2);
}
.timeline-item{
  position:relative;
  min-height:185px;
  display:flex;
  width:50%;
}
.timeline-item::before{
  content:"";
  position:absolute;
  top:28px;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--blue);
  border:2px solid var(--blue);
  z-index:2;
}
.timeline-item--left{
  margin-right:auto;
  justify-content:flex-end;
  padding-right:56px;
}
.timeline-item--left::before{right:-17px}
.timeline-item--right{
  margin-left:auto;
  padding-left:56px;
}
.timeline-item--right::before{left:-17px}
.timeline-item__body{
  width:100%;
  max-width:524px;
  text-align:center;
  padding:0 15px 30px;
}
.timeline-item h3{
  margin:4px 0 10px;
  font-size:24px;
  line-height:32.4px;
}
.timeline-item p{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.15;
}
.timeline-icon{height:72px;max-width:110px;margin:0 auto 4px;object-fit:contain}
.timeline-icon--wide{width:124px;height:60px}
.timeline-medical,.timeline-folder,.timeline-bell{
  width:76px;height:76px;margin:0 auto 2px;display:grid;place-items:center;
}
.timeline-medical img,.timeline-folder img,.timeline-bell img{width:100%;height:100%;object-fit:contain}

/* DOCS */
.docs-layout{position:relative}
.docs-grid{position:relative;z-index:1}
.docs-cat{
  position:absolute;
  right:-12px;
  bottom:-55px;
  width:307px;
  pointer-events:none;
  z-index:2;
}

/* COST / LIST */
.list-section{padding:60px 0 78px;background:#fff}
.split-illustration{position:relative;min-height:340px}
.list-grid{
  width:760px;
  display:grid;
  grid-template-columns:repeat(2,360px);
  gap:70px 40px;
}
.list-item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:20px;
  align-items:start;
}
.list-item img{width:60px;height:60px}
.list-item h3{margin:0 0 3px;font-size:18px;line-height:1.2}
.list-item p{margin:0;font-size:18px;line-height:1.2}
.section-cat{
  position:absolute;
  object-fit:contain;
  pointer-events:none;
}
.section-cat--payment{right:0;top:-60px;width:440px}

/* RULES */
.rules-section{padding:58px 0 70px;background:#fff}
.rules-layout{
  position:relative;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:95px;
  min-height:560px;
}
.rules-column h3{
  margin:0 0 35px;
  color:var(--blue);
  font-size:30px;
  line-height:1.05;
}
.rules-bad-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.rules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:25px}
.rules-list li{
  position:relative;
  min-height:60px;
  padding-left:80px;
  font-size:18px;
  line-height:1.2;
}
.rules-list li::before{
  content:"";
  position:absolute;left:0;top:0;
  width:60px;height:60px;
  background-repeat:no-repeat;background-size:100% 100%;
}
.rules-list--good li::before{
  background-image:url("assets/f221dfa4-470a-4bd6-94f3-7ad5c71d2369.svg");
}
.rules-list--bad li::before{
  background-image:url("assets/4f791af3-50a4-477b-907f-6a77111380e1.svg");
}
.section-cat--rules{right:20px;bottom:-34px;width:313px}

/* GUESTS */
.guest-section{padding:72px 0 40px;background:#fff}
.guest-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 90px;
}
.guest-card{
  position:relative;
  min-height:230px;
  padding:0 0 36px 175px;
  border-bottom:2px solid #d7dcf1;
  margin-bottom:50px;
  font-size:18px;
  line-height:1.2;
}
.guest-card:nth-last-child(-n+2){border-bottom:0}
.guest-card__icon{
  position:absolute;left:18px;top:0;
  width:132px;height:132px;border-radius:24px;
  display:grid;place-items:center;
  font-size:48px;font-weight:700;color:var(--blue);
  background:#f1f4ff;
}
.guest-card p{margin:0 0 18px}
.guest-card strong{color:var(--blue)}

.note-section--bottom{padding-top:24px;padding-bottom:60px}

/* CTA */
.cta{
  background:#fff;
  padding:15px 0 20px;
}
.cta__bar{
  width:1256px;
  max-width:calc(100% - 40px);
  height:105px;
  margin:0 auto;
  padding:0 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--blue);
  color:#fff;
}
.cta__bar + .cta__bar{margin-top:14px}
.cta__text{
  width:562px;
  display:flex;
  flex-direction:column;
  font-size:24px;
  line-height:1.2;
}
.pill-button{
  width:264px;height:48px;
  padding:0 26px;
  border:2px solid var(--blue);
  border-radius:50px;
  background:#fff;
  color:var(--blue);
  display:flex;align-items:center;justify-content:center;
  gap:28px;
  font-size:16px;
}
.pill-button img{width:22px;height:22px}

/* FOOTER */
.footer{
  position:relative;
  height:517px;
  padding:70px 90px 30px;
  display:grid;
  grid-template-columns:1fr 170px 205px;
  gap:46px;
  color:#fff;
  background:var(--blue);
  border-radius:60px 60px 0 0;
}




.footer__logo-complete{
  width:504px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:0 0 27px;
}
.footer__brand h3{
  margin:0 0 22px;
  font-size:26px;
  line-height:26px;
}
.footer__brand p{margin:0 0 14px;font-size:14px;line-height:26px}
.footer__socials{width:311px;max-width:100%;height:auto;margin-top:25px}
.footer__nav{padding-top:8px}
.footer__nav a{
  display:block;
  margin-bottom:15px;
  font-size:14px;
  line-height:16px;
}
.footer__copyright{
  position:absolute;
  right:26px;
  bottom:34px;
  opacity:.6;
  font-size:14px;
  line-height:16px;
}

/* Reveal animation */
.reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.reveal.is-visible{opacity:1;transform:none}

.info-card,.doc-card,.eligibility-item,.timeline-item,.list-item,.guest-card{
  transition:transform .45s ease,box-shadow .45s ease;
}
.info-card:hover,.doc-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(40,65,150,.12),0 28px 54px rgba(230,235,245,.55)}

@media(max-width:1100px){
  .hero__mascot{left:150px}
  .hero__content{grid-template-columns:54% 46%}
  .eligibility__grid{grid-template-columns:repeat(2,1fr);row-gap:50px}
  .card-grid--3{grid-template-columns:repeat(2,1fr)}
  .list-grid{width:65%;grid-template-columns:1fr}
  .section-cat--payment{width:34%}
  .rules-layout{grid-template-columns:1fr;gap:45px}
  .rules-bad-grid{grid-template-columns:repeat(2,1fr)}
  .section-cat--rules{position:relative;right:auto;bottom:auto;width:260px;margin-left:auto}
  .footer{grid-template-columns:1.5fr 1fr 1.2fr;padding-left:50px;padding-right:50px}
  
}

@media(max-width:760px){
  body{background:#fff}
  .container{width:calc(100% - 28px)}
  .hero{height:auto;min-height:760px}
  .hero__mascot{left:50%;transform:translateX(-50%);width:520px;opacity:.9}
  .hero__top{left:18px;right:18px}
  .menu-button{width:58px;height:58px}
  .menu-button span{width:30px;height:3px}
  .hero__content{grid-template-columns:1fr;gap:35px;padding:120px 0 40px}
  .hero h1{font-size:38px;line-height:44px}
  .hero-contacts{font-size:16px;line-height:1.35}
  .hero-contact{grid-template-columns:40px 1fr;gap:18px}
  .note-section{padding:34px 0}
  .note{margin:0;padding:22px 16px;font-size:16px;line-height:24px}
  .social-band{height:auto;padding:35px 0}
  .social-band__inner{flex-direction:column;align-items:flex-start;gap:28px}
  .social-band h2{font-size:32px;line-height:36px}
  .socials{flex-wrap:wrap}
  .social{width:52px;height:52px}
  .section-heading{min-height:155px}
  .section-heading h2{font-size:30px;line-height:38px}
  .section-heading p{font-size:18px}
  .eligibility{padding:45px 0}
  .eligibility__grid{grid-template-columns:1fr}
  .eligibility-item img{width:150px;height:150px}
  .card-grid--3{grid-template-columns:1fr}
  .timeline::before{left:18px;transform:none}
  .timeline-item,.timeline-item--left,.timeline-item--right{
    width:100%;margin:0;padding-left:60px;padding-right:0;justify-content:flex-start;
  }
  .timeline-item::before,.timeline-item--left::before,.timeline-item--right::before{left:2px;right:auto}
  .timeline-item__body{text-align:left;padding-left:0}
  .timeline-icon,.timeline-icon--wide,.timeline-medical,.timeline-folder,.timeline-bell{margin-left:0}
  .docs-cat{position:relative;right:auto;bottom:auto;width:220px;margin:25px auto -20px}
  .list-section{padding:42px 0}
  .list-grid{width:100%;grid-template-columns:1fr;gap:35px}
  .split-illustration{padding-bottom:230px}
  .section-cat--payment{width:260px;right:50%;transform:translateX(50%);top:auto;bottom:-20px}
  .rules-bad-grid{grid-template-columns:1fr}
  .rules-list li{padding-left:72px}
  .guest-grid{grid-template-columns:1fr;gap:0}
  .guest-card,.guest-card:nth-last-child(-n+2){border-bottom:2px solid #d7dcf1}
  .guest-card:last-child{border-bottom:0}
  .guest-card{padding-left:0;padding-top:145px;min-height:0}
  .guest-card__icon{left:0}
  .cta{padding-left:14px;padding-right:14px}
  .cta__bar{max-width:100%;height:auto;min-height:105px;padding:22px;gap:20px}
  .cta__text{width:auto;font-size:20px}
  .pill-button{width:200px;min-width:200px}
  .footer{height:auto;min-height:600px;padding:45px 28px 80px;grid-template-columns:1fr;gap:28px;border-radius:32px 32px 0 0}
  
  
  
  
.footer__logo-complete{
  width:504px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:0 0 27px;
}
.footer__brand h3{font-size:22px;line-height:24px}
  .footer__copyright{left:28px;right:auto}
}

@media(max-width:520px){
  .hero__mascot{width:430px;top:40px}
  .hero h1{font-size:34px;line-height:39px}
  .cta__bar{align-items:flex-start;flex-direction:column}
  .pill-button{width:100%}
  
  
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* Оригинальный векторный логотип футера из Figma */
.footer__logo-complete{width:504px!important;height:116px!important;object-fit:contain!important}
.footer__socials{width:311px!important;height:auto!important}


/* === Синхронизация с актуальным Figma 304:2850 === */

/* В Figma верхняя полупрозрачная часть градиента лежит на белом фоне.
   Если подложка синяя, rgba(20,63,255,.4) почти визуально исчезает. */
.hero{
  background:#fff;
}
.hero__overlay{
  background:linear-gradient(to bottom,rgba(20,63,255,.4),#143fff);
}

/* Барсик в макете: 570×570, x=303, y=0. */
.hero__mascot{
  top:0;
  left:303px;
  width:570px;
  height:570px;
  object-fit:cover;
}

/* Desktop-позиции первого экрана из Figma.
   Заголовок и контакты имеют разную вертикальную привязку. */
@media(min-width:1101px){
  .hero__content{
    position:absolute;
    left:120px;
    top:0;
    width:1200px;
    height:576px;
    margin:0;
    padding:0;
    display:block;
  }
  .hero h1{
    position:absolute;
    left:0;
    top:294px;
    padding-left:20px;
  }
  .hero-contacts{
    position:absolute;
    left:700px;
    top:115px;
    width:500px;
    padding:0 20px;
  }

  /* Карточные сетки Figma: 1216px = 3×384 + 2×32. */
  .card-grid--3{
    width:1216px;
    margin-left:-8px;
    grid-template-columns:repeat(3,384px);
    gap:32px;
  }

  /* В блоке стоимости список начинается на 20px правее края 1200px-контейнера. */
  .list-grid{
    margin-left:20px;
  }
}

@media(max-width:1100px){
  .card-grid--3{
    width:auto;
    margin-left:0;
  }
}


/* === Figma correction pass 2: dormitory 304:2850 === */

@media(min-width:1101px){

  /* TIMELINE: exact alternating geometry from Figma */
  .timeline-section{
    height:998px;
    padding:34px 0 0;
    overflow:visible;
  }
  .timeline{
    width:1160px;
    max-width:1160px;
    height:964px;
    position:relative;
    margin:0 auto;
  }
  .timeline::before{display:none}
  .timeline-line{
    position:absolute;
    left:579px;
    top:95px;
    width:2px;
    height:702px;
    background:#1b45ff;
    z-index:0;
  }
  .timeline-item{
    position:absolute;
    width:580px;
    min-height:0;
    display:block;
    margin:0;
    padding:0;
    z-index:1;
  }
  .timeline-item::before{display:none}
  .timeline-item--left{left:0}
  .timeline-item--right{left:580px}
  .timeline-item__body{
    width:524px;
    max-width:524px;
    padding:0;
    text-align:center;
  }
  .timeline-item--left .timeline-item__body{margin-right:56px}
  .timeline-item--right .timeline-item__body{margin-left:56px}

  .timeline-item--apply{top:0}
  .timeline-item--medical{top:178px}
  .timeline-item--contract{top:340px}
  .timeline-item--pass{top:520px}
  .timeline-item--remember{top:672px}

  .timeline-dot{
    position:absolute;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#143fff;
    z-index:3;
  }
  .timeline-item--left .timeline-dot{right:-17px}
  .timeline-item--right .timeline-dot{left:-17px}
  .timeline-item--apply .timeline-dot{top:95px}
  .timeline-item--medical .timeline-dot{top:38px}
  .timeline-item--contract .timeline-dot{top:15px}
  .timeline-item--pass .timeline-dot{top:38px}
  .timeline-item--remember .timeline-dot{top:25px}

  .timeline-icon{
    display:block;
    object-fit:contain;
    margin:0 auto;
    max-width:none;
  }
  /* This first SVG has a 524px Figma artboard; shrinking the artboard caused
     the tiny icon visible in the previous version. */
  .timeline-icon--apply{width:524px;height:60px}
  .timeline-icon--medical{width:74px;height:74px}
  .timeline-icon--contract{width:76px;height:76px}
  .timeline-icon--pass{width:70px;height:69px}
  .timeline-icon--bell{width:84px;height:84px}

  .timeline-item h3{
    margin:0 0 10px;
    font-size:24px;
    line-height:32.4px;
  }
  .timeline-item p{
    margin:0 0 10px;
    font-size:20px;
    line-height:20px;
  }
  .timeline-item--apply p{width:455px;margin-left:auto;margin-right:auto}
  .timeline-item--contract p{width:398px;margin-left:auto;margin-right:auto}
  .timeline-item--remember p{width:434px;margin-left:auto;margin-right:auto}

  /* First-year mascot belongs to the bottom of the timeline, not documents. */
  .timeline-cat{
    position:absolute;
    left:903px;
    top:691px;
    width:307px;
    height:307px;
    object-fit:contain;
    z-index:2;
    pointer-events:none;
  }

  /* DOCUMENTS */
  .docs-layout{position:relative}
  .docs-cat{display:none!important}

  /* COST / PAYMENT: exact Figma placement */
  .list-section{
    height:465px;
    padding:21px 0 0;
    overflow:visible;
  }
  .split-illustration{
    min-height:440px;
    height:440px;
  }
  .list-grid{
    width:760px;
    grid-template-columns:repeat(2,360px);
    column-gap:40px;
    row-gap:90px;
    margin-left:20px;
  }
  .section-cat--payment{
    width:440px;
    right:-63px;
    top:4px;
    bottom:auto;
  }

  /* RULES mascot: Figma x≈1037, y=6201 */
  .section-cat--rules{
    width:313px;
    right:-30px;
    top:305px;
    bottom:auto;
  }

  /* GUESTS: two rows exactly like Figma; no substitute glyphs */
  .guest-section{
    padding:85px 0 50px;
    background:#fff;
  }
  .guest-grid{
    width:1160px;
    max-width:1160px;
    display:grid;
    grid-template-columns:580px 580px;
    grid-template-rows:241px 241px;
    gap:0;
  }
  .guest-card{
    position:relative;
    min-height:241px;
    margin:0;
    padding:0;
    border:0;
    font-size:18px;
    line-height:1.2;
  }
  .guest-card--row1::after{
    content:"";
    position:absolute;
    left:8px;
    top:190px;
    width:490px;
    border-top:2px dashed #d7dcf1;
  }
  .guest-card__art{
    position:absolute;
    object-fit:contain;
    display:block;
  }
  .guest-card--left .guest-card__art{left:29px;top:0}
  .guest-card--right .guest-card__art{left:62px;top:8px}
  .guest-card__art--pass,
  .guest-card__art--relatives{width:134px;height:132px}
  .guest-card__art--clock{width:121px;height:122px}
  .guest-card__art--no-alcohol{width:129px;height:126px;image-rendering:auto}
  .guest-card__text{
    position:absolute;
    top:0;
    color:#002147;
  }
  .guest-card--left .guest-card__text{
    left:202px;
    width:350px;
  }
  .guest-card--right .guest-card__text{
    left:219px;
    width:328px;
  }
  .guest-card__text p{margin:0 0 18px}
  .guest-card__text strong{color:#143fff}
}

/* Responsive timeline remains readable instead of keeping desktop absolute geometry */
@media(max-width:1100px){
  .timeline-line,.timeline-cat{display:none}
  .timeline-item{
    position:relative;
    top:auto!important;
    left:auto!important;
  }
  .timeline-dot{display:none}
  .timeline-icon--apply{width:124px;height:60px}
  .timeline-icon--medical{width:74px;height:74px}
  .timeline-icon--contract{width:76px;height:76px}
  .timeline-icon--pass{width:70px;height:69px}
  .timeline-icon--bell{width:84px;height:84px}
}

@media(max-width:760px){
  .guest-card{
    padding:0 0 28px 0;
    min-height:0;
  }
  .guest-card__art{
    position:relative;
    left:auto!important;
    top:auto!important;
    width:110px!important;
    height:110px!important;
    margin:0 0 18px;
  }
  .guest-card__text{
    position:relative;
    left:auto!important;
    top:auto!important;
    width:auto!important;
  }
  .guest-card--row1::after{display:none}
}


/* === Screenshot correction pass 3 === */

@media(min-width:1101px){

  /* Белый отступ между двумя соседними синими блоками. */
  .social-band + .section-heading{
    margin-top:64px;
  }

  /* Льготные категории: строго по центру страницы. */
  .cards-section .card-grid--3{
    width:1216px;
    max-width:calc(100% - 80px);
    margin-left:auto;
    margin-right:auto;
  }

  /* Барсик не должен заходить в следующий синий блок. */
  .timeline-section{
    overflow:hidden;
  }


  /* Не даём браузеру применять грубое масштабирование картинок. */
  .guest-card__art{
    image-rendering:auto;
  }
}

@media(max-width:1100px){
  .social-band + .section-heading{
    margin-top:48px;
  }
}

@media(max-width:760px){
  .social-band + .section-heading{
    margin-top:32px;
  }
}


/* Футер: знак остаётся SVG, название университета — живой HTML-текст */
.footer__logo-complete{
  display:none!important;
}
.footer__identity{
  width:504px;
  max-width:100%;
  height:116px;
  margin:0 0 27px;
  display:flex;
  align-items:center;
  gap:28px;
  color:#fff;
}
.footer__mark-crop{
  position:relative;
  display:block;
  flex:0 0 117px;
  width:117px;
  height:116px;
  overflow:hidden;
}
.footer__mark-crop img{
  position:absolute;
  left:0;
  top:0;
  width:504px;
  height:116px;
  max-width:none;
  object-fit:contain;
  object-position:left center;
}
.footer__university-name{
  padding-left:27px;
  border-left:2px solid rgba(255,255,255,.9);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.5px;
  color:#fff;
  text-shadow:none;
}

@media(max-width:760px){
  .footer__identity{
    width:100%;
    height:auto;
    gap:18px;
  }
  .footer__mark-crop{
    flex-basis:82px;
    width:82px;
    height:82px;
  }
  .footer__mark-crop img{
    width:356px;
    height:82px;
  }
  .footer__university-name{
    padding-left:18px;
    font-size:24px;
  }
}


/* Футер: оригинальный SVG-логотип, выгруженный из Figma */
.footer__logo-complete{
  display:block!important;
  width:504px!important;
  height:116px!important;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
  margin:0 0 27px!important;
}
.footer__identity,
.footer__mark-crop,
.footer__university-name{
  display:none!important;
}

@media(max-width:760px){
  .footer__logo-complete{
    width:min(504px,100%)!important;
    height:auto!important;
    margin-bottom:24px!important;
  }
}
