:root {
  --ink: #000;
  --blue: #000;
  --orange: #fff;
  --paper: #f5f5f5;
  --line: #c9c9c9;
}

body { color: #000; }
.site-header { border-bottom-color: #d8d8d8; }
.site-header nav a:hover { color: #555; }
.hero, .services { background: #000; }
.hero h1 span, .contact h2 span { color: #fff; }
.eyebrow, .section-no.light { color: #bdbdbd; }
.button { background: #fff; color: #000; }
.button:hover { background: #d9d9d9; }
.hero-index b, .service-list span { color: #fff; }
.hero-note {
  max-width: 680px;
  margin: -12px 0 38px;
  padding-left: 20px;
  border-left: 2px solid #fff;
  color: #bdbdbd;
  font-size: .95rem;
}
.hero-note strong { color: #fff; font-weight: 600; }

.horizontal-lines .road-lines {
  top: 0;
  right: -5vw;
  width: 58vw;
  height: 100%;
  transform: none;
}
.horizontal-lines .road-lines i {
  left: 0;
  width: 100%;
  height: 2px;
}
.horizontal-lines .road-lines i:nth-child(1) { top: 12%; left: 0; }
.horizontal-lines .road-lines i:nth-child(2) {
  top: 48%;
  left: 0;
  right: auto;
  width: 100%;
  height: 10px;
  background: repeating-linear-gradient(to right, transparent 0 30px, #fff 30px 80px);
}
.horizontal-lines .road-lines i:nth-child(3) { top: 84%; right: auto; }

.vertical-lines .road-lines {
  top: -10%;
  right: -4vw;
  width: 52vw;
  height: 120%;
  transform: none;
}
.vertical-lines .road-lines i:nth-child(1) { left: 12%; }
.vertical-lines .road-lines i:nth-child(2) { left: 48%; }
.vertical-lines .road-lines i:nth-child(3) { right: 12%; }
.service-list, .service-list article { border-color: #555; }
.service-list p { color: #d4d4d4; }
.section-no, .scope-grid li b { color: #000; }
.contact { background: #000; }
.contact-details a { border-bottom-color: #fff; }
.contact-details p { color: #ddd; }
.contact-details p strong { color: #fff; }

footer {
  grid-template-columns: minmax(130px, 1fr) repeat(3, auto) auto;
  align-items: start;
}

footer p { line-height: 1.65; }

@media (max-width: 980px) {
  footer { grid-template-columns: 1fr 1fr; }
  footer img { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  footer { grid-template-columns: 1fr; }
  footer img { grid-column: auto; }
}

.references{background:#fff;border-top:1px solid var(--line)}.references-heading{display:grid;grid-template-columns:1fr .75fr;gap:10vw;align-items:end;margin-bottom:64px}.references-heading>p{max-width:350px;margin:0;color:#555;font-size:1.1rem}.reference-list{border-top:1px solid #999}.reference{border-bottom:1px solid var(--line)}.reference summary{display:grid;grid-template-columns:48px 1fr auto 26px;align-items:center;gap:24px;padding:30px 0;cursor:pointer;list-style:none}.reference summary::-webkit-details-marker{display:none}.reference summary:hover h3{text-decoration:underline;text-underline-offset:5px}.reference summary:focus-visible{outline:2px solid #000;outline-offset:6px}.reference h3{font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.25;margin:0;letter-spacing:-.02em}.reference-number,.reference-year{font-size:.8rem;font-weight:600;color:#555}.reference-toggle{width:22px;height:22px;position:relative}.reference-toggle:before,.reference-toggle:after{content:"";position:absolute;background:#000;left:2px;right:2px;height:1px;top:10px}.reference-toggle:after{transform:rotate(90deg)}.reference[open] .reference-toggle:after{transform:rotate(0)}.reference-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;padding:0 0 36px 72px}.reference-copy p{margin:0 0 18px;color:#333}.reference-meta{margin:0;font-size:.85rem}.reference-meta>div{display:grid;grid-template-columns:100px 1fr;gap:14px;border-top:1px solid #ddd;padding:10px 0}.reference-meta dt{font-weight:700}.reference-meta dd{margin:0;color:#444}
@media(max-width:760px){.references-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.reference summary{grid-template-columns:26px 1fr 22px;gap:12px;padding:24px 0}.reference-year{grid-column:2;grid-row:2}.reference-toggle{grid-column:3;grid-row:1 / 3}.reference-detail{grid-template-columns:1fr;gap:20px;padding:0 0 28px}.site-header nav{gap:12px}.site-header nav a{font-size:.66rem}}@media(max-width:390px){.site-header{padding:0 14px}.brand img{width:105px}.site-header nav{gap:9px}}

.reference-figure{grid-column:1 / -1;margin:0 0 12px;border:1px solid #ddd;background:#fff}.reference-figure a{display:block}.reference-figure img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}.reference-figure figcaption{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;border-top:1px solid #ddd;color:#555;font-size:.75rem}.reference-figure figcaption span{color:#000}@media(max-width:560px){.reference-figure figcaption{flex-direction:column;gap:4px}}

.studies{background:#efefef;border-top:1px solid var(--line)}.study-pillars{display:flex;flex-wrap:wrap;gap:12px;margin:-24px 0 42px}.study-pillars span{border:1px solid #bbb;padding:8px 14px;font-size:.75rem;font-weight:600}.site-header nav{gap:26px}@media(max-width:760px){.site-header nav{gap:10px}.site-header nav a{font-size:.62rem}.site-header nav a[href="#sluzby"]{display:none}.study-pillars{margin-top:0}}

.without-reference-images .reference-figure{display:none}

.contact-person{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px}
.contact-person strong{font-size:clamp(1.1rem,1.7vw,1.45rem);font-weight:800}

.contact-person a{font-size:1.05rem;font-weight:500;border-bottom:0;line-height:1.5}
.contact-person a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-person a:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.site-header nav{align-items:center}
.nav-references{position:relative}
.nav-references summary{list-style:none;cursor:pointer;font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.nav-references summary::-webkit-details-marker{display:none}
.nav-references summary::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 0 3px 9px}
.nav-references[open] summary::after{transform:rotate(225deg);margin-bottom:0}
.nav-submenu{position:absolute;top:calc(100% + 16px);left:-18px;min-width:160px;padding:8px;background:#fff;border:1px solid #ddd;box-shadow:0 8px 24px #00000012;z-index:10}
.site-header nav .nav-submenu a{display:block;padding:12px 10px;font-size:.78rem}
.site-header nav .nav-submenu a:hover{background:#eee;color:#000}
.nav-references summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:760px){.nav-references summary{font-size:.62rem}.nav-submenu{left:auto;right:0}}

.back-to-top{position:fixed;right:24px;bottom:24px;z-index:20;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 18px;background:#fff;color:#111;border:1px solid #bbb;box-shadow:0 4px 18px #0002;text-decoration:none;font-size:.9rem;font-weight:700}
.back-to-top[hidden]{display:none}
.back-to-top:hover{background:#111;color:#fff}
.back-to-top:focus-visible{outline:3px solid #777;outline-offset:4px}
.back-to-top span{font-size:1.2rem}
@media(max-width:760px){.back-to-top{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:10px 14px}}

:root{--header-height:108px}
.site-header{height:var(--header-height)}
.hero{min-height:calc(100svh - var(--header-height));padding:clamp(28px,5svh,64px) clamp(24px,9vw,145px)}
.hero h1{font-size:clamp(3rem,min(7.2vw,10svh),7.6rem);margin-bottom:clamp(18px,3svh,38px)}
.hero .eyebrow{margin-bottom:clamp(18px,3svh,44px)}
.hero .intro{margin-bottom:clamp(18px,3svh,42px)}
.hero .hero-note{margin-top:0;margin-bottom:clamp(18px,3svh,38px)}
@media(max-width:760px){:root{--header-height:82px}.hero{padding:28px 24px}.hero h1{font-size:clamp(2rem,min(10vw,6.8svh),4rem)}.hero .intro{font-size:1rem}.hero .hero-note{font-size:.85rem}}

.site-header{position:sticky;top:0;z-index:30}
main section[id]{scroll-margin-top:var(--header-height)}

/* Keep all primary navigation links available on small screens. */
@media(max-width:760px){
.site-header nav a:first-child,.site-header nav a[href="#sluzby"]{display:inline-block}
.site-header nav .nav-submenu a{display:block}
.site-header nav{gap:12px}
.brand img{width:110px}
}
@media(max-width:390px){
.site-header{padding:0 12px}
.brand img{width:90px}
.site-header nav{gap:9px}
.site-header nav>a,.nav-references summary{font-size:.58rem}
}
