/* Brevalma — draft-margin: ovesný papír a pálená terakota */

:root{
  --bg:#f2ebe0;
  --bg-alt:#e7d9c6;
  --dark:#4a2c1e;
  --ink:#241a14;
  --ink-2:#6e5b4c;
  --accent:#c05a2b;
  --accent-2:#6b7a5a;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*{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:18px;
  line-height:1.9;
  overflow-x:hidden;
}

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

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

/* ---------- grid ---------- */

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding-left:28px;
  padding-right:28px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:24px;
}

.col6{grid-column:1 / span 6}
.col7{grid-column:1 / span 7}
.col9{grid-column:1 / span 9}
.col12{grid-column:1 / -1}
.col-in{grid-column:2 / span 8}

/* ---------- rhythm ---------- */

.r72{padding-top:72px;padding-bottom:72px}
.r88{padding-top:88px;padding-bottom:88px}
.r104{padding-top:104px;padding-bottom:104px}

.band{background:var(--bg-alt)}

.dark{background:var(--dark);color:var(--bg)}
.dark h2,.dark h3{color:var(--bg)}
.dark .cap{color:#cbb9a6}
.dark a{color:#e8b28c;border-bottom-color:rgba(232,178,140,.5)}
.dark .sep i{background:rgba(242,235,224,.3)}
.dark .num{color:#a8b795;margin-top:34px}

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

h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.3;margin:0}

h1{font-size:clamp(30px,4.6vw,52px);letter-spacing:-.005em}
h1 .l2{display:block;padding-left:8.33%}

h2{font-size:clamp(24px,2.9vw,33px);margin-bottom:22px}
h3{font-size:clamp(19px,2.1vw,23px);margin:34px 0 14px}

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

.lead{font-size:20px;line-height:1.8}

.cap{font-size:14px;line-height:1.65;color:var(--ink-2)}

.num{
  font-size:14px;
  color:var(--accent-2);
  font-family:var(--serif);
  letter-spacing:.06em;
  display:block;
  margin-bottom:10px;
}

/* ---------- oddělovače ---------- */

.sep{grid-column:1 / -1;margin:0}
.sep i{display:block;height:1px;background:rgba(36,26,20,.22)}
.sep b{display:block;height:3px;width:16.66%;background:var(--accent);margin-top:7px}

.sep-top{padding-top:0}
.sec-head{grid-column:1 / span 9;margin-top:34px}

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

.site-head{background:var(--bg);border-bottom:1px solid rgba(36,26,20,.16)}
.head-grid{padding-top:20px;padding-bottom:20px;align-items:baseline;row-gap:10px}

.brand{
  grid-column:1 / span 4;
  font-family:var(--serif);
  font-size:23px;
  letter-spacing:.02em;
  color:var(--ink);
  border-bottom:0;
}
.brand:hover{color:var(--accent)}

.site-nav{grid-column:5 / -1;display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:flex-end}
.site-nav a{
  font-size:16px;
  color:var(--ink-2);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}
.site-nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}

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

.hero{padding-top:76px;padding-bottom:20px}

.rule-v{
  grid-column:1;
  position:relative;
  border-left:1px solid var(--ink-2);
  min-height:210px;
}
.rule-v::before,.rule-v::after{
  content:"";position:absolute;left:-7px;width:15px;height:1px;background:var(--ink-2);
}
.rule-v::before{top:0}
.rule-v::after{bottom:0}

.hero-body{grid-column:2 / span 9}

.dim{display:flex;align-items:center;gap:14px;margin:34px 0 30px;max-width:640px}
.dim .seg{flex:1;height:1px;background:var(--ink-2);position:relative}
.dim .seg::before,.dim .seg::after{
  content:"";position:absolute;top:-5px;width:1px;height:11px;background:var(--ink-2);
}
.dim .seg::before{left:0}
.dim .seg::after{right:0}
.dim .lbl{font-size:14px;color:var(--accent-2);white-space:nowrap}

.hero-intro{max-width:52ch}

/* ---------- hlavní obrázek ---------- */

.figure-main{grid-column:1 / span 7;margin:0}
.figure-main img{width:100%;aspect-ratio:5 / 4;object-fit:cover}

.callout{
  grid-column:9 / span 4;
  align-self:end;
  position:relative;
  padding-bottom:6px;
}
.callout::before{
  content:"";position:absolute;left:-14%;bottom:12px;width:14%;height:1px;background:var(--ink-2);
}

/* ---------- texty ---------- */

.prose{grid-column:1 / span 7}
.prose-wide{grid-column:1 / span 9}

.list{margin:0 0 26px;padding:0;list-style:none}
.list li{position:relative;padding-left:26px;margin-bottom:12px}
.list li::before{
  content:"";position:absolute;left:0;top:15px;width:12px;height:2px;background:var(--accent);
}

.list-num{margin:0 0 26px;padding-left:24px}
.list-num li{margin-bottom:12px;padding-left:6px}
.list-num li::marker{color:var(--accent-2);font-family:var(--serif)}

.note{
  grid-column:9 / span 4;
  align-self:start;
  border-left:1px solid var(--accent-2);
  padding-left:16px;
}

/* ---------- kontrastní sekce s detailem ---------- */

.dark .figure-detail{grid-column:8 / span 5;margin:0}
.dark .figure-detail img{width:100%;aspect-ratio:4 / 5;object-fit:cover}
.dark .figure-detail figcaption{margin-top:14px}
.dark .prose{grid-column:1 / span 6}

/* ---------- kontakt ---------- */

.contact-line{font-size:20px}

/* ---------- stránka About ---------- */

.spine{
  grid-column:1 / span 9;
  border-left:1px solid var(--ink-2);
  padding-left:34px;
}
.spine section{position:relative;padding-top:14px;margin-bottom:52px}
.spine section:last-child{margin-bottom:0}
.spine section::before{
  content:"";position:absolute;left:-34px;top:26px;width:20px;height:1px;background:var(--accent);
}
.spine p,.spine ul{max-width:62ch}

/* ---------- právní stránky ---------- */

.legal{grid-column:1 / span 9}
.legal h2{margin-top:44px}
.legal h2:first-of-type{margin-top:34px}
.legal p,.legal ul{max-width:64ch}

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

.site-foot{background:var(--bg);padding-top:16px;padding-bottom:44px}
.foot-rules{grid-column:1 / -1;margin-bottom:40px}
.foot-rules i{display:block;height:1px;background:rgba(36,26,20,.22)}
.foot-rules b{display:block;height:3px;width:16.66%;background:var(--accent);margin-top:7px}

.foot-left{grid-column:1 / span 5}
.foot-name{font-family:var(--serif);font-size:26px;margin:0 0 10px}
.foot-left p{font-size:15px;line-height:1.75;color:var(--ink-2);max-width:38ch}

.foot-nav{grid-column:7 / span 3}
.foot-mail{grid-column:10 / span 3}
.foot-h{font-size:14px;color:var(--accent-2);margin:0 0 12px;font-family:var(--serif)}
.foot-nav ul{list-style:none;margin:0;padding:0}
.foot-nav li{margin-bottom:8px}
.foot-nav a,.foot-mail a{font-size:16px;color:var(--ink-2);border-bottom:1px solid transparent}
.foot-nav a:hover,.foot-mail a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.foot-mail p{font-size:15px;color:var(--ink-2);margin:10px 0 0}

.foot-end{grid-column:1 / -1;margin-top:44px;border-top:1px solid rgba(36,26,20,.18);padding-top:16px}
.foot-end p{font-size:14px;color:var(--ink-2);margin:0}

/* ---------- responsive ---------- */

@media (max-width:900px){
  .callout{grid-column:1 / span 7;margin-top:16px}
  .callout::before{display:none}
  .note{grid-column:1 / span 9;margin-top:8px}
  .dark .figure-detail{grid-column:1 / span 7;margin-bottom:28px}
  .dark .prose{grid-column:1 / span 9}
  .figure-main{grid-column:1 / span 9}
  .prose,.prose-wide,.spine,.legal,.hero-body,.sec-head{grid-column:1 / -1}
  .rule-v{display:none}
  .foot-left{grid-column:1 / span 6}
  .foot-nav{grid-column:8 / span 5}
  .foot-mail{grid-column:8 / span 5;margin-top:28px}
}

@media (max-width:640px){
  body{font-size:17px;line-height:1.8}
  .wrap{display:block;padding-left:20px;padding-right:20px}
  .r72,.r88,.r104{padding-top:48px;padding-bottom:48px}
  .hero{padding-top:44px}
  .head-grid{padding-top:16px;padding-bottom:16px}
  .brand{display:block;margin-bottom:10px}
  .site-nav{justify-content:flex-start;gap:8px 18px}
  h1 .l2{padding-left:0}
  .lead{font-size:18px}
  .sep b,.foot-rules b{width:38%}
  .spine{padding-left:20px}
  .spine section::before{left:-20px;width:14px}
  .foot-name{font-size:22px}
  .foot-nav,.foot-mail{margin-top:28px}
  .figure-main,.dark .figure-detail{margin-bottom:20px}
  .callout,.note{margin-top:14px}
}
