/* Skagetri — základní styly */

:root{
  --bg:#f1f2f0;
  --bg-alt:#e3e5e2;
  --bg-dark:#141614;
  --ink:#171917;
  --ink-2:#6a6e6a;
  --ink-inv:#f1f2f0;
  --ink-inv-2:#9ba09b;
  --acc:#2a6b3c;
  --acc-2:#8a6a20;
  --hair:#c9ccc8;
  --hair-dark:#333733;
  --gap:24px;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.8;
  overflow-x:hidden;
}

img{max-width:100%}

a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}

:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}

.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--bg);color:var(--ink);
  padding:10px 16px;font-size:13px;z-index:10;
  border:1px solid var(--acc);
}
.skip:focus{left:16px;top:16px}

/* ---------- typografie ---------- */

h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;margin:0}

h2{font-size:clamp(25px,2.6vw,33px);line-height:1.12;margin:0 0 18px}
h3{font-size:20px;line-height:1.28;margin:34px 0 10px}

p{margin:0 0 20px}
p:last-child{margin-bottom:0}

.lead{font-size:19px}

.num{
  display:block;
  font-size:13px;
  letter-spacing:.16em;
  color:var(--acc-2);
  margin:0 0 14px;
}

.cap{font-size:13px;line-height:1.5;color:var(--ink-2);margin:0}

.sep{height:1px;background:var(--acc);width:30.4%;margin:0 0 26px;border:0}

/* ---------- hlavička a navigace ---------- */

.site-head{padding-top:26px}

.nav{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:6px 34px;
  font-size:13px;
  letter-spacing:.13em;
  line-height:1.6;
}
.nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.nav a:hover{border-bottom-color:var(--acc)}
.nav a[aria-current="page"]{border-bottom-color:var(--acc-2);color:var(--ink-2)}

.head-rule{grid-column:1 / 6;height:1px;background:var(--acc);margin-top:18px}

/* ---------- hero ---------- */

.hero{padding:56px 0 64px}

.hero-title{
  grid-column:1 / 8;
  grid-row:1;
  font-size:clamp(32px,5vw,60px);
  line-height:1.05;
}
.hero-title .l1{display:block;margin-left:28.5%}
.hero-title .l2{display:block}

.hero-topics{
  grid-column:10 / 13;
  grid-row:1;
  list-style:none;
  margin:10px 0 0;
  padding:0;
  border-top:1px solid var(--hair);
  font-size:13px;
  line-height:1.45;
  color:var(--ink-2);
}
.hero-topics li{border-bottom:1px solid var(--hair);padding:9px 0}
.hero-topics b{font-weight:400;color:var(--acc-2);margin-right:10px}

.hero-fig{grid-column:8 / 13;grid-row:2;margin:52px 0 0}
.hero-frame{padding:8px;border:1px solid var(--acc)}
.hero-fig img{display:block;width:100%;height:auto}

.hero-cap{grid-column:1 / 4;grid-row:2;align-self:end;margin:52px 0 6px}

/* ---------- sekce ---------- */

.section{padding:64px 0}
.section.alt{background:var(--bg-alt)}

.body{grid-column:1 / 7}
.section.shift .body{grid-column:4 / 10}

.list{list-style:none;padding:0;margin:0 0 20px}
.list li{position:relative;padding-left:24px;margin-bottom:11px}
.list li::before{
  content:"";position:absolute;left:0;top:15px;
  width:10px;height:1px;background:var(--acc);
}
.list li:last-child{margin-bottom:0}

.check li::before{
  width:8px;height:8px;top:12px;background:transparent;
  border:1px solid var(--acc-2);
}

.toc{list-style:none;padding:0;margin:0}
.toc li{border-bottom:1px solid var(--hair);padding:9px 0}
.toc li:first-child{border-top:1px solid var(--hair)}
.toc a{text-decoration:none;color:var(--ink)}
.toc a:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.toc span{color:var(--acc-2);font-size:13px;letter-spacing:.14em;margin-right:14px}

/* ---------- kontrastní sekce ---------- */

.dark{background:var(--bg-dark);color:var(--ink-inv);padding:80px 0}
.dark h2,.dark h3{color:var(--ink-inv)}
.dark .num{color:var(--acc-2)}
.dark .cap{color:var(--ink-inv-2)}
.dark .sep{background:var(--acc-2)}
.dark a{color:#8fc39f}
.dark .list li::before{background:#8fc39f}
.dark .check li::before{background:transparent;border-color:var(--acc-2)}
.dark :focus-visible{outline-color:#8fc39f}

.dark-fig{grid-column:1 / 6;grid-row:1;margin:0}
.dark-fig img{display:block;width:100%;height:auto}
.dark-fig figcaption{margin-top:12px}
.dark-body{grid-column:7 / 13;grid-row:1}

/* ---------- vnitřní stránky ---------- */

.page{padding:48px 0 72px}
.page-title{grid-column:1 / 8;font-size:clamp(30px,4vw,48px);line-height:1.08;margin:0 0 10px}
.page-sub{grid-column:1 / 7;margin:0 0 8px;color:var(--ink-2);font-size:13px;letter-spacing:.13em}

.col{grid-column:1 / 7}

.block{margin-bottom:56px}
.block:last-child{margin-bottom:0}
.block h2{display:flex;align-items:center;gap:14px}
.block h2::before{content:"";flex:0 0 24px;height:1px;background:var(--acc)}

/* ---------- patička ---------- */

.site-foot{background:var(--bg-alt);padding:56px 0 52px}
.foot-rule{grid-column:1 / 6;height:1px;background:var(--acc);margin-bottom:30px}

.f-name{grid-column:1 / 6}
.f-name .n{font-family:var(--serif);font-size:26px;line-height:1.1;display:block;margin-bottom:8px}
.f-nav{grid-column:6 / 9}
.f-meta{grid-column:9 / 13}

.f-nav ul{list-style:none;margin:0;padding:0;font-size:15px}
.f-nav li{margin-bottom:8px}
.f-nav a{color:var(--ink);text-decoration:none}
.f-nav a:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}

.f-meta p{font-size:15px;margin:0 0 10px}
.f-meta .cap{margin-top:14px}

/* ---------- responzivita ---------- */

@media (max-width:1000px){
  .hero-title{grid-column:1 / 9}
  .hero-topics{grid-column:9 / 13}
  .hero-fig{grid-column:6 / 13}
  .hero-cap{grid-column:1 / 6}
  .body{grid-column:1 / 9}
  .section.shift .body{grid-column:3 / 12}
  .col,.page-title,.page-sub{grid-column:1 / 10}
  .dark-fig{grid-column:1 / 6}
  .dark-body{grid-column:6 / 13}
  .f-name{grid-column:1 / 5}
  .f-nav{grid-column:5 / 9}
  .f-meta{grid-column:9 / 13}
}

@media (max-width:760px){
  body{font-size:16px;line-height:1.75}
  .wrap{padding:0 20px}

  .grid > *{grid-column:1 / -1 !important;grid-row:auto !important}

  .nav{gap:6px 22px;letter-spacing:.1em}
  .head-rule{margin-top:14px}

  .hero{padding:36px 0 40px}
  .hero-title .l1{margin-left:0}
  .hero-topics{margin-top:32px}
  .hero-fig{margin:32px 0 0}
  .hero-cap{margin:12px 0 0}

  .section{padding:40px 0}
  .dark{padding:44px 0}
  .page{padding:32px 0 48px}

  .sep{width:64px}
  .block{margin-bottom:40px}

  .dark-fig{margin-bottom:28px}
  .f-name,.f-nav,.f-meta{margin-bottom:28px}
  .f-meta{margin-bottom:0}
  .site-foot{padding:40px 0}
}
