/* ============================================================
   Медицинский центр ПАО «Аэрофлот» — концепт 01
   Restrained corporate editorial · navy · zero radius · hairlines
   Fixed desktop layout, 1440 px
   ============================================================ */

:root{
  --ink:#0B1220;
  --navy:#0A2A5E;
  --navy-deep:#071E45;
  --blue:#0B4EA2;
  --accent:#E8452C;
  --paper:#FFFFFF;
  --soft:#F2F3F5;
  --line:#DEE2E8;
  --line-navy:#27467E;
  --muted-navy:#9FB4D6;
  --body:#24303F;
  --muted:#4A5464;
  --on-navy:#CBD8EE;
  --footer-head:#7F9AC8;
  --footer-link:#C6D5EC;
  --map-bg:#E6E9EF;
  --map-block:#D6DBE4;
}

*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth}
body{
  margin:0;
  width:100%;
  min-width:1440px;
  background:var(--paper);
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--body);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}

/* --- focus ------------------------------------------------ */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
}
.on-navy a:focus-visible,.on-navy button:focus-visible{
  outline:2px solid var(--paper);
  outline-offset:3px;
}

/* --- shared type ------------------------------------------ */
.mono{
  font-family:"IBM Plex Mono","SFMono-Regular",Menlo,monospace;
  font-size:12px;
  font-weight:400;
  letter-spacing:1.3px;
  line-height:1.5;
  text-transform:uppercase;
}
.h1{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:112px;font-weight:600;letter-spacing:-4.2px;line-height:.95;
  color:var(--navy);margin:0;
}
.h1 .line-2{display:block;padding-left:332px}
.h2{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:60px;font-weight:600;letter-spacing:-2px;line-height:1.02;
  color:var(--navy);margin:0;
}
.on-navy .h2{color:var(--paper)}
.cell-title{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:22px;font-weight:600;letter-spacing:-.5px;line-height:1.22;
  color:var(--navy);margin:0;
}
.on-navy .cell-title{color:var(--paper);line-height:1.2}
.cell-caption{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.on-navy .cell-caption{color:var(--on-navy);line-height:1.5}

.link{
  font-size:16px;font-weight:500;line-height:1.6;
  color:var(--blue);text-decoration:underline;text-underline-offset:3px;
  transition:color .2s ease;
}
.link:hover{color:var(--navy)}
.on-navy .link{color:var(--paper)}
.on-navy .link:hover{color:var(--on-navy)}

.btn{
  display:inline-block;font-family:"Inter",sans-serif;font-size:16px;font-weight:500;
  line-height:1.2;text-decoration:none;cursor:pointer;border:0;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.btn-primary{background:var(--navy);color:var(--paper);padding:18px 32px}
.btn-primary:hover{background:var(--navy-deep)}
.btn-secondary{background:transparent;color:var(--navy);border:1px solid var(--navy);padding:18px 32px}
.btn-secondary:hover{background:var(--navy);color:var(--paper)}

/* head pattern: H2 left + 470 column right */
.sec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:70px}
.sec-head .aside{width:470px;flex:none;padding-top:10px;display:flex;flex-direction:column;gap:20px}
.sec-head .aside p{margin:0;font-size:16px;line-height:1.6;color:var(--body)}
.sec-head .aside .link{align-self:flex-start}

/* ============================================================
   00a · Utility bar
   ============================================================ */
.utility{
  height:44px;background:var(--navy-deep);padding:0 100px;
  display:flex;justify-content:space-between;align-items:center;
}
.utility-left{display:flex;align-items:center;gap:24px}
.utility-left .brand-ref{color:var(--muted-navy)}
.utility-left .current{color:var(--paper)}
.utility .divider{width:1px;height:13px;background:var(--line-navy)}
.utility-right{display:flex;align-items:center;gap:26px}
.utility-right a{color:var(--paper);text-decoration:none;transition:color .2s ease}
.utility-right a:hover{color:var(--muted-navy)}

/* ============================================================
   00b · Header
   ============================================================ */
.header{
  height:86px;background:var(--paper);border-bottom:1px solid var(--line);
  padding:0 100px;display:flex;justify-content:space-between;align-items:center;
}
.logo-block{display:flex;align-items:center;gap:14px}
.wing{width:34px;height:22px;display:block;fill:var(--accent)}
.logotype{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:19px;font-weight:700;letter-spacing:1.6px;line-height:1.2;color:var(--navy);
}
.logo-block .divider{width:1px;height:22px;background:var(--line)}
.logo-sub{font-size:16px;color:var(--body)}
.menu{display:flex;align-items:center;gap:24px}
.menu a{
  font-size:16px;color:var(--body);text-decoration:none;
  transition:color .2s ease;
}
.menu a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.header .btn-header{
  background:var(--navy);color:var(--paper);padding:15px 26px;
  font-size:15px;font-weight:500;text-decoration:none;
}
.header .btn-header:hover{background:var(--navy-deep)}

/* ============================================================
   01 · Hero
   ============================================================ */
.hero{background:var(--paper);padding:76px 100px 72px}
.hero-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
.hero-title{margin-top:44px}
.hero-bottom{
  margin-top:56px;display:flex;justify-content:space-between;align-items:flex-end;gap:80px;
}
.hero-left{width:600px;display:flex;flex-direction:column;gap:32px}
.hero-left p{margin:0;font-size:18px;line-height:1.6;color:var(--body)}
.hero-actions{display:flex;gap:12px}
.hero-aside{
  width:340px;flex:none;border-left:1px solid var(--line);padding:0 0 6px 28px;
  display:flex;flex-direction:column;gap:12px;
}
.hero-aside .mono{color:var(--muted)}
.hero-aside p{margin:0;font-size:16px;line-height:1.6;color:var(--body)}
.hero-aside .link{align-self:flex-start}

/* ============================================================
   Full-bleed photo bands
   ============================================================ */
.band{width:100%;overflow:hidden}
.band img{width:100%;object-fit:cover}
.band-1 img{height:360px}
.band-2 img{height:420px}

/* ============================================================
   03 · Быстрые действия
   ============================================================ */
.quick{background:var(--navy);padding:62px 100px 66px}
.quick .mono{color:var(--muted-navy)}
.quick-row{margin-top:34px;border-top:1px solid var(--line-navy);display:flex}
.quick-cell{
  flex:1 1 0;min-width:0;min-height:150px;display:flex;flex-direction:column;gap:12px;
  padding:30px 26px 0 0;
}
.quick-cell + .quick-cell{padding-left:26px;border-left:1px solid var(--line-navy)}

/* ============================================================
   04 · Услуги и отделения
   ============================================================ */
.services{background:var(--paper);padding:108px 100px 104px}
.services-grid{margin-top:74px}
.services-row{display:flex}
.services-row.row-1{border-top:2px solid var(--navy)}
.services-row.row-2{border-top:1px solid var(--line)}
.service-cell{
  flex:1 1 0;min-width:0;min-height:186px;display:flex;flex-direction:column;gap:14px;
  padding:34px 32px 0 0;
}
.service-cell + .service-cell{padding-left:32px;border-left:1px solid var(--line)}

/* ============================================================
   06 · ВЛЭК
   ============================================================ */
.vlek{background:var(--navy);padding:92px 100px 96px}
.vlek .mono{color:var(--muted-navy)}
.vlek-statement{
  margin:38px 0 0;max-width:1030px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:46px;font-weight:500;letter-spacing:-1.4px;line-height:1.24;color:var(--paper);
}
.vlek-paths{margin-top:84px;border-top:1px solid var(--line-navy);display:flex}
.vlek-cell{
  flex:1 1 0;min-width:0;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;
  padding:34px 52px 0 0;
}
.vlek-cell + .vlek-cell{padding-left:52px;border-left:1px solid var(--line-navy)}
.vlek-cell .top{display:flex;flex-direction:column;gap:14px}
.vlek-cell .top h3{
  margin:0;font-family:"Inter Tight","Inter",sans-serif;
  font-size:26px;font-weight:600;letter-spacing:-.7px;line-height:1.2;color:var(--paper);
}
.vlek-cell .link{align-self:flex-start}

/* ============================================================
   07 · Наши специалисты
   ============================================================ */
.doctors{background:var(--soft);padding:104px 100px}
.doctors-row{margin-top:70px;display:flex;gap:40px;align-items:flex-start}
.doctor{flex:1 1 0;min-width:0}
.doctor img{width:100%;height:330px;object-fit:cover}
.doctor-info{padding-top:22px;display:flex;flex-direction:column;gap:8px}
.doctor-name{
  margin:0;font-family:"Inter Tight","Inter",sans-serif;
  font-size:22px;font-weight:600;letter-spacing:-.5px;line-height:1.22;color:var(--navy);
}
.doctor-spec{margin:0;font-size:16px;line-height:1.6;color:var(--body)}
.doctor-dep{margin:0;font-size:15px;line-height:1.5;color:var(--muted);min-height:45px}
.doctor-schedule{
  margin-top:18px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.doctor-schedule .mono{color:var(--muted)}
.doctor-schedule .value{font-size:15px;line-height:1.5;color:var(--body)}

/* ============================================================
   08 · Пациентам
   ============================================================ */
.patients{background:var(--paper);padding:110px 100px 104px}
.patients-major{margin-top:74px;border-top:2px solid var(--navy);display:flex}
.major-cell{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px;padding:46px 72px 4px 0}
.major-cell + .major-cell{padding:46px 0 4px 72px;border-left:1px solid var(--line)}
.major-cell h3{
  margin:0;font-family:"Inter Tight","Inter",sans-serif;
  font-size:38px;font-weight:600;letter-spacing:-1.1px;line-height:1.1;color:var(--navy);
}
.major-cell p{margin:0;font-size:16px;line-height:1.6;color:var(--body)}
.major-cell .link{align-self:flex-start;margin-top:10px}
.patients-minor{margin-top:76px}
.minor-row{display:flex;border-top:1px solid var(--line)}
.minor-cell{
  flex:1 1 0;min-width:0;min-height:150px;display:flex;flex-direction:column;gap:12px;
  padding:32px 48px 0 0;
}
.minor-cell + .minor-cell{padding-left:48px;border-left:1px solid var(--line)}

/* ============================================================
   09 · О медицинском центре
   ============================================================ */
.about{background:var(--soft);padding:104px 100px;display:flex;gap:80px;align-items:flex-start}
.about-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:32px}
.about-statement{
  margin:0;font-family:"Inter Tight","Inter",sans-serif;
  font-size:26px;font-weight:500;letter-spacing:-.6px;line-height:1.4;color:var(--body);
}
.about-right{width:540px;flex:none;padding-top:12px}
.about-row{
  display:flex;justify-content:space-between;align-items:center;gap:30px;
  padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;
}
.about-row:first-child{border-top:1px solid var(--line)}
.about-row .group{display:flex;flex-direction:column;gap:6px}
.about-row .name{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:24px;font-weight:600;letter-spacing:-.6px;line-height:1.25;color:var(--navy);
}
.about-row .caption{font-size:15px;line-height:1.5;color:var(--muted)}
.about-row .arrow{font-size:18px;line-height:1.2;color:var(--blue)}
.about-row:hover .name{color:var(--blue)}

/* ============================================================
   10 · Корпоративным клиентам
   ============================================================ */
.corporate{background:var(--navy-deep);padding:92px 100px 80px}
.corporate-row{display:flex;justify-content:space-between;align-items:flex-end;gap:80px}
.corporate-left{width:660px;display:flex;flex-direction:column;gap:26px}
.corporate-left p{margin:0;font-size:17px;line-height:1.65;color:var(--on-navy)}
.btn-outline{
  background:transparent;border:1px solid var(--footer-head);color:var(--paper);
  padding:24px 40px;font-size:17px;font-weight:500;text-decoration:none;white-space:nowrap;
}
.btn-outline:hover{background:var(--navy);border-color:var(--paper)}
.corporate-secondary{
  margin-top:64px;padding-top:26px;border-top:1px solid var(--line-navy);
}

/* ============================================================
   11 · Полезные материалы
   ============================================================ */
.materials{background:var(--paper);padding:108px 100px 104px}
.materials-row{margin-top:70px;display:flex;gap:40px;align-items:flex-start}
.material{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.material img{width:100%;height:240px;object-fit:cover}
.material-body{padding-top:24px;display:flex;flex-direction:column;gap:12px}
.material-body .mono{color:var(--blue)}
.material-title{
  margin:0;font-family:"Inter Tight","Inter",sans-serif;
  font-size:24px;font-weight:600;letter-spacing:-.6px;line-height:1.25;color:var(--navy);
}
.material-body .link{align-self:flex-start;margin-top:6px}

/* ============================================================
   12 · Контакты
   ============================================================ */
.contacts{background:var(--soft);padding:104px 100px;display:flex;gap:80px;align-items:flex-start}
.contacts-left{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:28px}
.contacts-address{display:flex;flex-direction:column;gap:8px}
.contacts-org{
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:24px;font-weight:600;letter-spacing:-.6px;line-height:1.25;color:var(--navy);
}
.contacts-street{font-size:18px;line-height:1.6;color:var(--body)}
.fields{padding-top:12px}
.field{
  display:flex;gap:24px;align-items:flex-start;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.field:first-child{border-top:1px solid var(--line)}
.field .key{width:250px;flex:0 0 250px;color:var(--muted)}
.field .value{font-size:16px;line-height:1.6;color:var(--body)}

.contacts-right{width:600px;flex:none;display:flex;flex-direction:column;gap:24px}
.map{position:relative;width:600px;height:430px;background:var(--map-bg);overflow:hidden}
.map .road{position:absolute;background:var(--paper)}
.map .r1{left:0;top:150px;width:600px;height:16px}
.map .r2{left:0;top:322px;width:600px;height:10px}
.map .r3{left:214px;top:0;width:14px;height:430px}
.map .r4{left:436px;top:0;width:9px;height:430px}
.map .block{position:absolute;background:var(--map-block)}
.map .b1{left:258px;top:196px;width:120px;height:86px}
.map .b2{left:60px;top:210px;width:110px;height:70px}
.map .pin{position:absolute;left:300px;top:222px;width:22px;height:22px;background:var(--accent);border-radius:50%}
.map .chip{
  position:absolute;left:258px;top:258px;background:var(--paper);padding:10px 14px;
  font-size:14px;font-weight:500;line-height:1.2;color:var(--navy);
}
.contacts-actions{display:flex;align-items:center;gap:16px}

/* ============================================================
   13 · Footer
   ============================================================ */
.footer{background:var(--navy);padding:76px 100px 36px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:80px}
.footer-brand{width:280px;display:flex;flex-direction:column;gap:18px}
.footer-brand .row{display:flex;align-items:center;gap:14px}
.footer-brand .logotype{color:var(--paper)}
.footer-brand .mono{color:var(--muted-navy)}
.footer-nav{display:flex;gap:52px}
.footer-col{width:196px;display:flex;flex-direction:column;gap:16px}
.footer-col .mono{color:var(--footer-head)}
.footer-col a{
  font-size:15px;line-height:1.5;color:var(--paper);text-decoration:none;
  transition:color .2s ease;
}
.footer-col a:hover{color:var(--on-navy);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{
  margin-top:64px;padding-top:26px;border-top:1px solid var(--line-navy);
  display:flex;justify-content:space-between;align-items:center;
}
.footer-bottom .copyright{color:var(--muted-navy)}
.footer-bottom .right{display:flex;align-items:center;gap:26px}
.footer-bottom .a11y{
  font-size:15px;font-weight:500;line-height:1.5;color:var(--paper);
  text-decoration:underline;text-underline-offset:3px;
}
.footer-bottom .site{font-size:15px;line-height:1.5;color:var(--footer-link);text-decoration:none}
.footer-bottom .site:hover{color:var(--paper)}
