:root{
  --blue:#0d3d7d;
  --blue-dark:#082e5e;
  --cyan:#16aee0;
  --cyan-soft:#e8f7fc;
  --orange:#ea6016;
  --ink:#1c2b34;
  --muted:#6a7780;
  --line:#d9e1e6;
  --white:#fff;
  --content:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:"Open Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.45;
}

a{color:inherit}
.container-xl{max-width:var(--content)}

.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{
  left:0;
  z-index:9999;
  padding:.75rem 1rem;
  background:#fff;
}

/* header */
.utility-bar{
  height:34px;
  background:var(--blue);
  color:#fff;
}
.utility-row{
  height:34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.utility-links{
  display:flex;
  gap:18px;
}
.utility-links a{
  color:#fff;
  text-decoration:none;
  font-size:10.5px;
  font-weight:600;
  opacity:.9;
}
.utility-links a:hover{opacity:1}
.utility-right{gap:15px}

.site-header{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.nav-row{
  height:88px;
  display:grid;
  grid-template-columns:230px 1fr 42px 0;
  align-items:center;
  gap:22px;
}
.brand{
  height:88px;
  display:flex;
  align-items:center;
}
.brand-logo{
  width:215px;
  height:auto;
}
.main-nav{
  height:88px;
  display:flex;
  justify-content:flex-end;
  align-items:stretch;
}
.main-nav a{
  position:relative;
  display:flex;
  align-items:center;
  padding:0 15px;
  color:#26343b;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.main-nav a:hover,
.main-nav a.active{color:var(--blue)}
.main-nav a.active::after{
  content:"";
  position:absolute;
  left:15px;
  right:15px;
  bottom:0;
  height:4px;
  background:var(--cyan);
}
.search-toggle,
.menu-toggle{
  width:42px;
  height:42px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--blue);
  font-size:18px;
}
.search-panel{
  padding:14px 0;
  border-top:1px solid var(--line);
  background:#f7fafc;
}
.site-search-form{
  display:grid;
  grid-template-columns:120px 1fr 95px;
  gap:10px;
  align-items:center;
}
.site-search-form label{
  font-size:12px;
  font-weight:700;
}
.site-search-form input,
.site-search-form button{
  height:42px;
  border-radius:0;
}
.site-search-form input{
  border:1px solid #bcc8ce;
  padding:0 12px;
}
.site-search-form button{
  border:0;
  background:var(--blue);
  color:#fff;
  font-weight:700;
}
.mobile-links{
  display:flex;
  flex-direction:column;
}
.mobile-links a{
  padding:13px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  font-weight:700;
}

/* hero */
.hero{
  position:relative;
  height:510px;
  display:grid;
  grid-template-columns:43% 57%;
  background:var(--blue);
  overflow:hidden;
}
.hero-copy{
  background:var(--blue);
  color:#fff;
}
.hero-copy-inner{
  height:100%;
  max-width:550px;
  margin-left:auto;
  padding:86px 72px 110px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-copy h1{
  margin:0;
  font-size:48px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.02em;
}
.hero-copy p{
  margin:22px 0 0;
  color:#d7e5ed;
  font-size:16px;
  font-weight:600;
}
.hero-photo{
  position:relative;
  background:
    linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
    url("https://www.nempk.cz/uploads/news/2843/pic/nem-b-7-of-68.jpg") center 48% / cover no-repeat,
    #d8e4ea;
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(13,61,125,.08);
}
.hero-search-wrap{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
}
.hero-search{
  min-height:96px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 235px 115px;
  align-items:center;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.hero-search-title{
  align-self:stretch;
  display:flex;
  align-items:center;
  padding:0 24px;
  background:var(--cyan);
  color:#fff;
  font-size:16px;
  font-weight:800;
}
.hero-search input,
.hero-search select,
.hero-search button{
  height:48px;
  border-radius:0;
}
.hero-search input,
.hero-search select{
  margin-left:18px;
  border:1px solid #bdc9cf;
  padding:0 12px;
  font-size:13px;
  outline:none;
}
.hero-search select{
  margin-left:10px;
}
.hero-search button{
  margin:0 18px 0 10px;
  border:0;
  background:var(--blue);
  color:#fff;
  font-size:13px;
  font-weight:800;
}

/* primary actions */
.primary-actions{
  padding:42px 0 38px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.primary-actions-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.primary-actions-grid>a{
  min-height:92px;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:center;
  padding:0 24px;
  border-right:1px solid var(--line);
  text-decoration:none;
}
.primary-actions-grid>a:first-child{padding-left:0}
.primary-actions-grid>a:last-child{
  border-right:0;
  padding-right:0;
}
.primary-action-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--cyan);
  color:var(--blue);
  font-size:19px;
}
.primary-actions-grid strong{
  display:block;
  color:var(--blue);
  font-size:14px;
}
.primary-actions-grid small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.35;
}

/* hospitals */
.hospitals-section{
  padding:64px 0;
  background:#f6fafc;
}
.hospitals-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:70px;
}
.hospitals-title h2{
  margin:0;
  color:var(--blue);
  font-size:30px;
  font-weight:800;
}
.hospitals-title p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
}
.hospital-list{
  border-top:1px solid var(--line);
}
.hospital-list>a{
  min-height:66px;
  display:grid;
  grid-template-columns:42px 1fr 20px;
  gap:16px;
  align-items:center;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.hospital-list>a span{
  color:var(--cyan);
  font-size:11px;
  font-weight:800;
}
.hospital-list>a strong{
  color:#26343c;
  font-size:15px;
}
.hospital-list>a i{
  color:var(--orange);
}
.hospital-list>a:hover strong{color:var(--blue)}

/* patient feature */
.patient-feature{
  min-height:510px;
  display:grid;
  grid-template-columns:52% 48%;
  background:var(--blue);
}
.patient-feature-photo{
  background:
    linear-gradient(rgba(13,61,125,.20),rgba(13,61,125,.20)),
    url("https://www.nempk.cz/uploads/slider/62/pic/operace.jpg") center / cover no-repeat,
    #dce5e9;
}
.patient-feature-content{
  display:flex;
  align-items:center;
  background:var(--blue);
  color:#fff;
}
.patient-feature-inner{
  width:100%;
  max-width:575px;
  padding:56px 68px;
}
.patient-feature-inner h2{
  margin:0 0 28px;
  font-size:31px;
  font-weight:800;
}
.patient-feature-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.28);
}
.patient-feature-links a{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.22);
  font-size:13px;
  font-weight:700;
}
.patient-feature-links a:nth-child(odd){
  padding-right:20px;
}
.patient-feature-links a:nth-child(even){
  padding-left:20px;
  border-left:1px solid rgba(255,255,255,.22);
}
.patient-feature-links i{
  color:var(--cyan);
}
.patient-feature-links a:hover span{color:#bfeaff}

/* orientation */
.orientation-section{
  padding:58px 0;
  background:var(--cyan-soft);
}
.orientation-grid{
  display:grid;
  grid-template-columns:300px 1fr 190px;
  gap:50px;
  align-items:center;
}
.orientation-copy h2{
  margin:0;
  color:var(--blue);
  font-size:26px;
  font-weight:800;
}
.orientation-copy p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:12px;
}
.orientation-links{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid #bddfea;
  border-bottom:1px solid #bddfea;
}
.orientation-links a{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-right:1px solid #bddfea;
  color:var(--blue);
  text-decoration:none;
  text-align:center;
  font-size:11.5px;
  font-weight:700;
}
.orientation-links a:last-child{border-right:0}
.orientation-main-link{
  min-height:66px;
  display:grid;
  grid-template-columns:28px 1fr 18px;
  gap:10px;
  align-items:center;
  padding:0 16px;
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}

/* news */
.news-section{
  padding:68px 0 72px;
  background:#fff;
}
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
}
.section-head h2{
  margin:0;
  color:var(--blue);
  font-size:28px;
  font-weight:800;
}
.section-head>a{
  color:var(--blue);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}
.news-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:46px;
}
.news-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:300px;
  background:#f3f8fb;
}
.news-feature-photo{
  background:
    url("https://pardubice.nempk.cz/uploads/news/3886/pic/05-z-nove-budovy-urgentniho-prijmu.JPG") center / cover no-repeat,
    #dce5e9;
}
.news-feature-copy{
  padding:30px;
  align-self:center;
}
.news-feature time,
.news-list time{
  display:block;
  margin-bottom:9px;
  color:var(--orange);
  font-size:10.5px;
  font-weight:800;
}
.news-feature h3{
  margin:0;
  font-size:20px;
  line-height:1.35;
}
.news-feature h3 a,
.news-list h3 a{
  color:#24343d;
  text-decoration:none;
}
.news-feature h3 a:hover,
.news-list h3 a:hover{color:var(--blue)}
.news-list{
  border-top:1px solid var(--line);
}
.news-list article{
  min-height:100px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.news-list h3{
  margin:0;
  font-size:14px;
  line-height:1.4;
}

/* career */
.career-section{
  position:relative;
  min-height:330px;
  overflow:hidden;
  background:var(--blue);
}
.career-photo{
  position:absolute;
  inset:0 0 0 50%;
  background:
    url("https://www.nempk.cz/images/hp/career.jpg") center / cover no-repeat,
    #dbe4e8;
}
.career-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(13,61,125,.22);
}
.career-inner{
  min-height:330px;
  display:flex;
  align-items:center;
}
.career-copy{
  width:45%;
  color:#fff;
}
.career-copy h2{
  margin:0 0 18px;
  font-size:32px;
  font-weight:800;
}
.career-copy a{
  display:inline-flex;
  gap:10px;
  align-items:center;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  border-bottom:2px solid var(--cyan);
  padding-bottom:6px;
}

/* lower nav */
.secondary-nav{
  padding:52px 0 58px;
  background:#f6fafc;
}
.secondary-nav-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:60px;
}
.secondary-nav h2{
  margin:0 0 14px;
  color:var(--blue);
  font-size:18px;
  font-weight:800;
}
.secondary-nav a{
  min-height:36px;
  display:flex;
  align-items:center;
  border-top:1px solid var(--line);
  color:#2d3b43;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}
.secondary-nav a:last-child{
  border-bottom:1px solid var(--line);
}

/* footer */
.site-footer{
  padding:34px 0 15px;
  background:var(--blue-dark);
  color:#fff;
}
.footer-grid{
  min-height:118px;
  display:grid;
  grid-template-columns:250px 1fr 1fr 1fr;
  gap:36px;
}
.footer-logo{
  width:200px;
  height:auto;
}
.footer-logo path[fill="#0D3D7D"],
.footer-logo path[fill="#4AB3EB"],
.footer-logo path[fill="#EA6016"]{fill:#fff}
.footer-grid>div:not(.footer-brand){
  display:flex;
  flex-direction:column;
  gap:4px;
}
.footer-grid strong{
  margin-bottom:3px;
  font-size:12px;
}
.footer-grid span,
.footer-grid a{
  color:#fff;
  text-decoration:none;
  font-size:11px;
}
.footer-grid a:hover{text-decoration:underline}
.copyright{
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.2);
  color:#cfdae1;
  font-size:10px;
}

.toast{border-radius:0}

@media (max-width:1199.98px){
  :root{--content:1080px}
  .nav-row{
    grid-template-columns:205px 1fr 42px 0;
  }
  .brand-logo{width:190px}
  .main-nav a{
    padding:0 10px;
    font-size:12px;
  }
  .hero-search{
    grid-template-columns:190px 1fr 210px 105px;
  }
  .hero-copy-inner{
    padding-right:48px;
  }
  .hero-copy h1{font-size:42px}
  .patient-feature-inner{
    padding:50px 45px;
  }
}

@media (max-width:991.98px){
  .utility-bar{display:none}
  .nav-row{
    height:74px;
    grid-template-columns:1fr 42px 42px;
  }
  .brand{height:74px}
  .brand-logo{width:186px}
  .main-nav{display:none}

  .hero{
    height:auto;
    grid-template-columns:1fr;
  }
  .hero-copy-inner{
    max-width:none;
    margin:0;
    padding:52px 24px 42px;
  }
  .hero-photo{
    min-height:330px;
  }
  .hero-search-wrap{
    position:static;
    transform:none;
    background:var(--blue);
    padding-bottom:24px;
  }
  .hero-search{
    grid-template-columns:1fr 220px 110px;
  }
  .hero-search-title{
    grid-column:1/-1;
    min-height:54px;
  }

  .primary-actions-grid{
    grid-template-columns:1fr 1fr;
  }
  .primary-actions-grid>a{
    border-bottom:1px solid var(--line);
  }

  .hospitals-layout{
    grid-template-columns:1fr;
    gap:30px;
  }

  .patient-feature{
    grid-template-columns:1fr;
  }
  .patient-feature-photo{
    min-height:360px;
  }
  .patient-feature-inner{
    max-width:none;
  }

  .orientation-grid{
    grid-template-columns:1fr;
    gap:25px;
  }
  .orientation-links{
    grid-template-columns:repeat(5,1fr);
  }
  .orientation-main-link{
    max-width:220px;
  }

  .news-layout{
    grid-template-columns:1fr;
  }

  .career-photo{
    inset:0;
    opacity:.35;
  }
  .career-copy{
    width:70%;
    position:relative;
    z-index:2;
  }

  .secondary-nav-grid,
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:767.98px){
  body{font-size:15px}
  .nav-row{
    height:68px;
    grid-template-columns:1fr 42px;
  }
  .brand{height:68px}
  .brand-logo{width:164px}
  .search-toggle{display:none}

  .hero-copy h1{
    font-size:34px;
  }
  .hero-copy p{
    font-size:14px;
  }
  .hero-photo{
    min-height:250px;
  }
  .hero-search{
    display:block;
    padding:0 14px 14px;
    box-shadow:none;
  }
  .hero-search-title{
    margin:0 -14px 14px;
    min-height:54px;
  }
  .hero-search input,
  .hero-search select,
  .hero-search button{
    width:100%;
    margin:0 0 9px;
  }

  .primary-actions-grid{
    grid-template-columns:1fr;
  }
  .primary-actions-grid>a{
    padding:0!important;
    border-right:0;
  }

  .hospital-list>a{
    grid-template-columns:34px 1fr 18px;
  }

  .patient-feature-photo{
    min-height:260px;
  }
  .patient-feature-inner{
    padding:38px 24px;
  }
  .patient-feature-links{
    grid-template-columns:1fr;
  }
  .patient-feature-links a:nth-child(even){
    padding-left:0;
    border-left:0;
  }

  .orientation-links{
    grid-template-columns:1fr;
  }
  .orientation-links a{
    justify-content:flex-start;
    min-height:46px;
    border-right:0;
    border-bottom:1px solid #bddfea;
  }

  .news-feature{
    grid-template-columns:1fr;
  }
  .news-feature-photo{
    min-height:220px;
  }

  .career-copy{
    width:100%;
  }

  .secondary-nav-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }
}
