:root{
  --bg:#fbf8f4; --bg-soft:#f3ece3; --text:#1e2530; --muted:#5d6470; --line:#e6ddd1;
  --accent:#a8492a; --accent-ink:#ffffff; --accent-soft:#f6e3d9; --gold:#b98a3a;
  --card:#ffffff; --shadow:0 1px 2px rgba(30,37,48,.05),0 10px 28px rgba(30,37,48,.07);
  --serif:Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14171c; --bg-soft:#1b1f26; --text:#ece7e0; --muted:#a9a49c; --line:#2c313a;
    --accent:#e08a66; --accent-ink:#14171c; --accent-soft:#2e221d; --gold:#d9b06a;
    --card:#1b1f26; --shadow:none;
  }
}
:root[data-theme="dark"]{
  --bg:#14171c; --bg-soft:#1b1f26; --text:#ece7e0; --muted:#a9a49c; --line:#2c313a;
  --accent:#e08a66; --accent-ink:#14171c; --accent-soft:#2e221d; --gold:#d9b06a;
  --card:#1b1f26; --shadow:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
section{padding:80px 0}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1,h2{font-family:var(--serif);font-weight:700}
h1{font-size:clamp(2.2rem,6vw,3.6rem);letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.6vw,2.3rem)}
h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em}
.lead{font-size:1.15rem;color:var(--muted);max-width:660px}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.9em}
.soft{background:var(--bg-soft)}

/* header */
header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.logo{font-family:var(--serif);font-weight:700;font-size:1.35rem;letter-spacing:.06em;color:var(--text);text-decoration:none}
.logo small{font-family:system-ui,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-left:4px}
.nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.nav ul a{color:var(--text);text-decoration:none;font-weight:500;font-size:.95rem}
.nav ul a:hover{color:var(--accent)}
@media (max-width:700px){.nav ul li:not(.keep){display:none}}

/* buttons */
.btn{display:inline-block;padding:13px 24px;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid var(--accent)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.8)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* hero */
.hero{position:relative;padding:0;min-height:min(78vh,640px);display:flex;align-items:flex-end;color:#fff;
  background:#2b2f36 url("img/praha.jpg") center 35%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,24,.15) 0%,rgba(15,18,24,.35) 45%,rgba(15,18,24,.82) 100%)}
.hero .wrap{position:relative;width:100%;padding-top:120px;padding-bottom:64px}
.hero .eyebrow{color:#f1d29a}
.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .lead{color:rgba(255,255,255,.88)}
.ticks{display:flex;flex-wrap:wrap;gap:8px 24px;margin:34px 0 0;padding:0;list-style:none;font-size:.95rem;color:rgba(255,255,255,.85)}
.ticks li::before{content:"✓ ";color:#f1d29a;font-weight:700}

/* services */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
@media (max-width:760px){.grid{grid-template-columns:1fr}}
.brands .svc{display:flex;flex-direction:column}
.brands .svc ul{flex:1}
.brands .num{font-size:1.15rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}
.svc .num{font-family:var(--serif);font-size:.95rem;color:var(--gold);font-weight:700;display:block;margin-bottom:10px}
.svc h3{font-size:1.25rem}
.svc ul{margin:12px 0 0;padding-left:1.1em;color:var(--muted)}
.svc li{margin:3px 0}
.svc .more{display:inline-block;margin-top:14px;font-weight:600;text-decoration:none}
.badge{display:inline-block;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--accent);padding:3px 10px;border-radius:999px;margin-bottom:12px}

/* about */
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media (max-width:820px){.about{grid-template-columns:1fr;gap:28px}}
.values{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.values li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.values strong{display:block;margin-bottom:2px}
.values span{color:var(--muted);font-size:.95rem}
.since{font-family:var(--serif);font-size:3.2rem;color:var(--accent);line-height:1;margin:6px 0 4px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.step{border-top:2px solid var(--accent);padding-top:18px}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);font-size:1.6rem;color:var(--accent);display:block;margin-bottom:6px}
.step p{color:var(--muted);font-size:.95rem}

/* contact */
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
@media (max-width:760px){.contact{grid-template-columns:1fr}}
.contact .card h3{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.contact .card a{font-size:1.15rem;font-weight:600;text-decoration:none;word-break:break-word}
.contact address{font-style:normal;font-size:1.05rem}
.contact .note{color:var(--muted);font-size:.9rem;margin:8px 0 0}
.langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.langs span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 14px;font-size:.9rem}

/* legal pages */
.page-head{padding-top:56px}
.legal{max-width:760px}
.legal h2{font-family:system-ui,sans-serif;font-size:1.2rem;margin-top:1.8em}
.legal .note{color:var(--muted);font-size:.9rem;margin-top:2em}

/* footer */
footer{background:#1b1f26;color:#c9c3ba;padding:40px 0;font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 40px}
footer strong{color:#fff;font-family:var(--serif);letter-spacing:.06em;font-size:1.1rem}
footer a{color:#e8c48a}
footer p{margin:0 0 4px}
.legal-links a{margin-right:18px}
