:root{--bg:#f7f2e8;--surface:#ffffff;--text:#2d2a26;--muted:#6b6259;--accent:#5a8f50;--accent-soft:#e2eddc;--line:#d8d0c2;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--radius:0.5rem;--shadow:0 1px 3px rgba(0,0,0,0.08);--font-serif:Georgia,'Times New Roman',serif;--content-max:1100px;--content-pad:1.25rem;--header-height:4rem;}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-serif);line-height:1.6;font-size:1rem;}

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

a{color:var(--accent);text-decoration:none;transition:color 0.2s ease;}

a:hover{color:var(--text);}

a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;}

.uvod-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}

.uvod-header .uvod-brand{display:inline-block;padding:var(--sp-4) var(--content-pad);font-size:1.25rem;font-weight:bold;color:var(--text);}

.uvod-header .uvod-brand:hover{color:var(--accent);}

.uvod-main{min-width:0;}

.uvod-section{padding:var(--sp-7) var(--content-pad);}

.uvod-section > .uvod-container{max-width:var(--content-max);margin:0 auto;}

.uvod-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:var(--sp-7) var(--content-pad);}

.uvod-hero .uvod-grid-hero{display:grid;gap:var(--sp-6);align-items:center;}

.uvod-hero-text{min-width:0;}

.uvod-heading{font-size:clamp(2rem, 5vw + 1rem, 3.5rem);line-height:1.1;margin:0 0 var(--sp-4);color:var(--text);}

.uvod-lead{font-size:clamp(1.125rem, 2vw + 0.5rem, 1.5rem);color:var(--muted);margin:0 0 var(--sp-5);}

.uvod-cta{display:inline-block;background:var(--accent);color:var(--surface);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius);font-weight:bold;transition:background 0.2s;}

.uvod-cta:hover{background:var(--text);color:var(--surface);}

.uvod-illustration{max-width:100%;height:auto;}

.uvod-inline-svg{max-width:100%;height:auto;}

.uvod-icon{width:1.5em;height:1.5em;fill:var(--accent);stroke:var(--accent);}

.uvod-icon-map{width:2em;height:2em;fill:var(--accent);}

.uvod-grid{display:grid;gap:var(--sp-5);grid-template-columns:1fr;}

.uvod-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow);transition:transform 0.2s, box-shadow 0.2s;}

.uvod-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);}

.uvod-card-title{font-size:1.25rem;margin:0 0 var(--sp-2);}

.uvod-card-text{color:var(--muted);margin:0;}

.uvod-card-icon{width:2.5em;height:2.5em;fill:var(--accent);margin-bottom:var(--sp-3);}

.uvod-card-item{min-width:0;}

.uvod-def-list{list-style:none;padding:0;margin:0;}

.uvod-definition-row{display:flex;flex-direction:column;padding:var(--sp-3) 0;border-bottom:1px solid var(--line);}

.uvod-definition-row:last-child{border-bottom:none;}

.uvod-definition{font-weight:bold;color:var(--text);}

.uvod-definition + dd{margin:0;color:var(--muted);}

.uvod-deal-list{list-style:none;padding:0;margin:var(--sp-5) 0;}

.uvod-deal-list li{padding:var(--sp-2) 0;border-bottom:1px solid var(--line);}

.uvod-deal-list li:last-child{border-bottom:none;}

.uvod-quote{background:var(--accent-soft);border-left:4px solid var(--accent);padding:var(--sp-5);margin:var(--sp-6) 0;border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--text);}

.uvod-table{width:100%;border-collapse:collapse;margin:var(--sp-5) 0;}

.uvod-table th, .uvod-table td{padding:var(--sp-3);border:1px solid var(--line);text-align:left;}

.uvod-table th{background:var(--accent-soft);font-weight:bold;}

.uvod-table td{background:var(--surface);}

.uvod-table{display:block;overflow-x:auto;}

.uvod-team-grid{display:grid;gap:var(--sp-5);grid-template-columns:1fr;}

.uvod-team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);text-align:center;}

.uvod-team-icon{width:3em;height:3em;fill:var(--accent);margin-bottom:var(--sp-3);}

.uvod-map{background:var(--accent-soft);border-radius:var(--radius);padding:var(--sp-5);min-height:200px;}

.uvod-map iframe{width:100%;height:100%;border:0;}

.uvod-footer{background:var(--surface);border-top:1px solid var(--line);padding:var(--sp-6) var(--content-pad);text-align:center;color:var(--muted);}

.uvod-footer a{color:var(--accent);}

.uvod-nav{display:flex;gap:var(--sp-4);}

.uvod-nav-link{color:var(--text);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);}

.uvod-nav-link:hover{background:var(--accent-soft);color:var(--accent);}

.uvod-tag{display:inline-block;background:var(--accent-soft);color:var(--accent);padding:var(--sp-1) var(--sp-3);border-radius:999px;font-size:0.875rem;}

.uvod-banner-link{display:block;background:var(--accent);color:var(--surface);padding:var(--sp-3) var(--content-pad);text-align:center;}

.uvod-banner-link:hover{background:var(--text);color:var(--surface);}

.uvod-contact{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-5);}

.uvod-contact a{color:var(--accent);}

.uvod-history, .uvod-places, .uvod-process, .uvod-values{padding:var(--sp-7) var(--content-pad);}

.uvod-history .uvod-section-title, .uvod-places .uvod-section-title, .uvod-process .uvod-section-title, .uvod-values .uvod-section-title{font-size:clamp(1.5rem, 3vw + 0.5rem, 2.5rem);margin-bottom:var(--sp-5);}

.uvod-lead-section{font-size:clamp(1.125rem, 2vw + 0.5rem, 1.5rem);color:var(--muted);}

@media (min-width:640px){
  :root{--content-pad:2rem;}
  .uvod-grid-hero{grid-template-columns:1fr 1fr;}
  .uvod-grid{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));}
  .uvod-team-grid{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));}
  .uvod-definition-row{flex-direction:row;}
  .uvod-definition{width:30%;}
  .uvod-definition + dd{width:70%;}
  .uvod-table{display:table;}
}

@media (min-width:900px){
  :root{--content-pad:2.5rem;}
  .uvod-section{padding:var(--sp-8) var(--content-pad);}
  .uvod-hero{padding:var(--sp-8) var(--content-pad);}
  .uvod-nav{display:flex;}
  .uvod-contact{flex-direction:row;justify-content:space-between;}
}

@media (min-width:1200px){
  :root{--content-pad:3rem;}
  .uvod-section > .uvod-container{max-width:var(--content-max);}
}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
  html{scroll-behavior:auto;}
}


/* --- guard --- */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; margin: 0; }
main > *, section > *, ul > li, ol > li { min-width: 0; }
svg, table, pre, blockquote, img { max-width: 100%; }
svg { height: auto; }
h1, h2, h3, h4, p, li, dt, dd, td, th, a, figcaption {
  overflow-wrap: anywhere;
}
table { display: block; overflow-x: auto; }
main header, main footer, main nav { display: none !important; }

.wp-header, .wp-footer, main {
  padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
  padding-right: max(1.25rem, env(safe-area-inset-right)) !important;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.wp-header {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem 1.25rem;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.wp-footer {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  margin-top: 2rem;
}
.wp-tagline {
  flex-basis: 100%;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  max-width: none !important;
}

/* --- hamburger --- */
.wp-menu { margin: 0 0 0 auto; }
.wp-menu-btn {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  cursor: pointer;
  color: inherit;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #d4d4d4);
  border-radius: 0.5rem;
}
.wp-menu-btn::-webkit-details-marker,
.wp-menu-btn::marker { display: none; content: ""; }
.wp-menu-bars,
.wp-menu-bars::before,
.wp-menu-bars::after {
  display: block;
  width: 1.15rem;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  position: relative;
}
.wp-menu-bars::before,
.wp-menu-bars::after {
  content: "";
  position: absolute;
  left: 0;
}
.wp-menu-bars::before { top: -6px; }
.wp-menu-bars::after { top: 6px; }

@media (max-width: 719px) {
  .wp-nav-wide { display: none !important; }
  .wp-menu:not([open]) > nav { display: none !important; }
  .wp-menu[open] { flex-basis: 100%; width: 100%; margin: 0; }
  .wp-menu[open] > nav {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 0.5rem 0 0.15rem !important;
  }
  .wp-menu[open] > nav > a {
    display: block !important;
    padding: 0.7rem 0.15rem !important;
  }
}

@media (min-width: 720px) {
  .wp-menu { display: none !important; }
  .wp-nav-wide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.35rem 1.1rem;
    margin: 0 0 0 auto;
    align-items: center;
  }
}
