/* Metrabre — book-spine / uhlová technická s jantarovou škálou */

:root{
  --bg:#14161a;
  --bg-alt:#1d2026;
  --bg-contrast:#e4e4e1;
  --text:#d8dbdf;
  --text-dim:#8a9098;
  --text-dark:#14161a;
  --accent:#e8a33d;
  --accent2:#4fb79a;
  --rhythm:76px;
  --sans: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box;}

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

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.7;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(232,163,61,.45);}
a:hover{border-bottom-color:var(--accent);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-bottom-color:transparent;}

/* ---------- mřížka ---------- */
.grid{
  max-width:1220px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:24px;
}

.spine{
  grid-column:1;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding-top:14px;
}
.spine span{
  display:block;
  width:22px;
  height:2px;
  background:var(--accent);
  opacity:.85;
}
.spine span:nth-child(3n){background:var(--accent2);width:13px;}

/* ---------- hlavička / navigace ---------- */
.site-head{border-bottom:1px solid #262a31;}
.site-head .grid{align-items:center;padding-top:22px;padding-bottom:22px;}
.brand{
  grid-column:1 / 4;
  font-family:var(--sans);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:20px;
  color:var(--text);
  border:0;
}
.brand:hover{color:var(--accent);}
.site-nav{grid-column:4 / -1;}
.site-nav ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end;
}
.site-nav a{
  font-family:var(--sans);
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text-dim);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--text);border-bottom-color:var(--accent);}

/* ---------- sekce ---------- */
section{padding:var(--rhythm) 0;}
.band{background:var(--bg-alt);}
.contrast{background:var(--bg-contrast);color:var(--text-dark);}
.contrast .kolontitul b{color:#5a6068;}
.contrast .kolontitul{border-bottom-color:#c8c8c4;}
.contrast h2,.contrast h3{color:var(--text-dark);}
.contrast .popiska{color:#5a6068;}
.contrast a{color:#a5661a;border-bottom-color:rgba(165,102,26,.4);}

.kolontitul{
  grid-column:1 / -1;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-dim);
  border-bottom:1px solid #2b2f37;
  padding-bottom:8px;
  margin-bottom:34px;
}
.kolontitul b{color:var(--accent2);font-weight:700;margin-right:12px;}

/* ---------- typografie ---------- */
h1,h2,h3{font-family:var(--sans);font-weight:800;color:#f0f2f4;}
h1{
  font-size:clamp(38px,6.2vw,68px);
  line-height:.98;
  letter-spacing:-.035em;
  margin:0;
}
h2{font-size:clamp(25px,3vw,34px);line-height:1.12;letter-spacing:-.02em;margin:0 0 18px;}
h3{font-size:19px;line-height:1.3;letter-spacing:-.01em;margin:34px 0 10px;}
p{margin:0 0 20px;}
.lead{font-size:21px;line-height:1.6;color:#c6cad0;}
.contrast .lead{color:#3a3f46;}

.text{grid-column:2 / 8;}
.text-wide{grid-column:2 / 10;}

.dvojlinka{
  grid-column:2 / 8;
  border-top:2px solid var(--accent);
  border-bottom:1px solid #3a3f47;
  height:5px;
  margin:26px 0 24px;
}

.oddelovac{
  grid-column:1 / -1;
  display:flex;justify-content:center;gap:10px;
  padding:46px 0 6px;
}
.oddelovac i{display:block;width:18px;height:2px;background:var(--accent);}
.oddelovac i:nth-child(2){background:var(--accent2);}

/* ---------- hero ---------- */
.hero{padding:calc(var(--rhythm) + 14px) 0 var(--rhythm);}
.hero .htitle{grid-column:2 / 10;}
.hero .lead{grid-column:2 / 8;}
.hero-meta{
  grid-column:2 / 10;
  font-family:var(--sans);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent2);
  margin-bottom:20px;
}

figure{margin:0;}
.fig-main{grid-column:7 / 13;margin-top:44px;}
.fig-main img{width:100%;}
.popiska{
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.5;
  color:var(--text-dim);
  margin-top:10px;
  max-width:44ch;
}

/* ---------- seznamy ---------- */
ul.check,ol.kroky{margin:0 0 22px;padding:0;list-style:none;}
ul.check li{position:relative;padding-left:26px;margin-bottom:11px;}
ul.check li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:13px;height:2px;background:var(--accent);
}
ol.kroky{counter-reset:k;}
ol.kroky li{position:relative;padding-left:42px;margin-bottom:16px;counter-increment:k;}
ol.kroky li::before{
  content:counter(k,decimal-leading-zero);
  position:absolute;left:0;top:.15em;
  font-family:var(--sans);font-size:13px;font-weight:800;
  color:var(--accent2);letter-spacing:.06em;
}

dl{margin:0 0 22px;}
dt{font-family:var(--sans);font-weight:700;font-size:16px;color:#eef0f2;margin-top:20px;}
.contrast dt{color:var(--text-dark);}
dd{margin:6px 0 0;}

/* ---------- detailní sekce ---------- */
.fig-detail{grid-column:2 / 6;}
.fig-detail img{width:100%;}
.detail-text{grid-column:7 / 12;}

/* ---------- buřtice v About ---------- */
.bukvice::first-letter{
  float:left;
  font-family:var(--sans);
  font-weight:800;
  font-size:66px;
  line-height:.82;
  color:var(--accent);
  margin:6px 12px 0 0;
}

/* ---------- patička ---------- */
.site-foot{
  background:var(--bg);
  border-top:1px solid #262a31;
  padding:56px 0 48px;
  text-align:center;
}
.site-foot .inner{max-width:760px;margin:0 auto;padding:0 24px;}
.foot-name{font-family:var(--sans);font-weight:800;font-size:19px;letter-spacing:-.02em;}
.foot-nav{list-style:none;margin:18px 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;}
.foot-nav li{padding:0 14px;border-left:1px solid #33383f;}
.foot-nav li:first-child{border-left:0;}
.foot-nav a{font-family:var(--sans);font-size:14px;color:var(--text-dim);border:0;}
.foot-nav a:hover{color:var(--accent);}
.foot-mail{font-family:var(--sans);font-size:15px;margin:0 0 12px;}
.foot-note{font-size:14px;color:var(--text-dim);font-family:var(--sans);line-height:1.6;margin:0;}

.skip{position:absolute;left:-9999px;}
.skip:focus{position:static;display:inline-block;margin:10px 24px;color:var(--accent);}

/* ---------- responsivita ---------- */
@media (max-width:900px){
  .text,.text-wide,.hero .htitle,.hero .lead,.hero-meta,.dvojlinka{grid-column:2 / -1;}
  .fig-main{grid-column:2 / -1;}
  .fig-detail,.detail-text{grid-column:2 / -1;}
  .detail-text{margin-top:28px;}
}

@media (max-width:640px){
  :root{--rhythm:46px;}
  body{font-size:17px;}
  .grid{padding:0 18px;column-gap:14px;}
  .spine{display:none;}
  .text,.text-wide,.hero .htitle,.hero .lead,.hero-meta,.dvojlinka,
  .fig-main,.fig-detail,.detail-text,.kolontitul,.oddelovac{grid-column:1 / -1;}
  .brand{grid-column:1 / -1;margin-bottom:12px;}
  .site-nav{grid-column:1 / -1;}
  .site-nav ul{justify-content:flex-start;gap:8px 16px;}
  .lead{font-size:19px;}
  .foot-nav li{border-left:0;padding:4px 10px;}
  .bukvice::first-letter{font-size:52px;}
}
