/* Layout: sesterská značka RaZaWeb – tmavé plochy, zlatý mono „štítek“, vizuální jazyk nákladního manifestu (PO, HS kód, Incoterms) */
:root{
  --bg:#141311; --bg-2:#1b1a17; --surface:#201e1a; --line:#34302a;
  --fg:#efebe3; --muted:#a39d92; --gold:#d6b25e; --gold-soft:rgba(214,178,94,.12);
  --ok:#6fd38e; --ink-on-gold:#1a1610;
  --f-display:"Roboto","Helvetica Neue",Arial,sans-serif;
  --f-body:"Roboto","Helvetica Neue",Arial,sans-serif;
  --f-mono:"Roboto Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px; --max:1180px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#f6f3ec; --bg-2:#efeadf; --surface:#fffdf8; --line:#ddd5c5;
  --fg:#1c1a16; --muted:#625c51; --gold:#9a7424; --gold-soft:rgba(154,116,36,.10);
  --ok:#2c9a55; --ink-on-gold:#fffaf0; color-scheme:light}}
:root[data-theme="light"]{
  --bg:#f6f3ec; --bg-2:#efeadf; --surface:#fffdf8; --line:#ddd5c5;
  --fg:#1c1a16; --muted:#625c51; --gold:#9a7424; --gold-soft:rgba(154,116,36,.10);
  --ok:#2c9a55; --ink-on-gold:#fffaf0; color-scheme:light}

*{box-sizing:border-box}
[hidden]{display:none!important}
b,strong{font-weight:500}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth}
body{margin:0;font-weight:300;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:-.02em;line-height:1.1}
h2{font-size:clamp(30px,4vw,46px);font-weight:300}
h3{font-size:20px;font-weight:400;letter-spacing:-.01em}
p{margin:0}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--muted);max-width:62ch}
.tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:13px;color:var(--gold);background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);padding:7px 16px;border-radius:999px;letter-spacing:.02em}
.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}
.mono{font-family:var(--f-mono);font-size:13px;letter-spacing:.03em}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}
section{padding-block:clamp(64px,9vw,120px)}
.sec-head{display:grid;gap:18px;margin-bottom:48px;max-width:760px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* NAV */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{font-family:var(--f-display);font-weight:300;font-size:21px;letter-spacing:-.03em;text-decoration:none;display:flex;align-items:baseline;gap:1px}
.logo b{color:var(--gold);font-weight:300}
.logo small{font-family:var(--f-mono);font-size:11px;color:var(--muted);margin-left:8px;font-weight:400;letter-spacing:.05em}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px}
.nav ul a{text-decoration:none;color:var(--muted);transition:color .2s}
.nav ul a:hover{color:var(--fg)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-body);font-weight:500;font-size:15.5px;padding:13px 22px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.btn-gold{background:var(--gold);color:var(--ink-on-gold)}
.btn-gold:hover{transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--fg)}
.btn-ghost:hover{border-color:var(--gold)}
.nav .btn{padding:9px 18px;font-size:14px}
@media (max-width:860px){.nav ul{display:none}}

/* HERO */
.hero{padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,110px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 380px at 85% 10%,var(--gold-soft),transparent 70%),
  repeating-linear-gradient(90deg,transparent 0 79px,color-mix(in srgb,var(--line) 45%,transparent) 79px 80px);
  mask-image:linear-gradient(#000,transparent 85%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:clamp(40px,6.2vw,76px);font-weight:300;margin:26px 0 24px;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:40px;color:var(--muted)}
.hero-facts span{display:flex;align-items:center;gap:8px}
.hero-facts span::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}

/* manifest */
.manifest{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 30px 80px -40px rgba(0,0,0,.55);font-family:var(--f-mono);font-size:13px}
.m-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px dashed var(--line)}
.m-top strong{color:var(--fg);font-weight:500;font-size:14px}
.m-top .st{color:var(--ok)}
.m-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 0;border-bottom:1px dashed var(--line)}
.m-meta div{display:grid;gap:3px;min-width:0}
.m-meta dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.m-meta dd{margin:0;color:var(--fg);overflow-wrap:anywhere}
.route{display:flex;align-items:center;gap:12px;padding:20px 0 6px}
.route .port{display:grid;gap:2px}
.route .port b{font-family:var(--f-display);font-size:26px;font-weight:300;color:var(--fg);letter-spacing:-.02em}
.route .port span{color:var(--muted);font-size:11px}
.route .line{flex:1;height:2px;background:var(--line);position:relative;border-radius:2px}
.route .line i{position:absolute;inset:0 32% 0 0;background:var(--gold);border-radius:2px;animation:ship 2.4s cubic-bezier(.3,.7,.2,1) both}
.route .line i::after{content:"";position:absolute;right:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--gold-soft)}
@keyframes ship{from{right:100%}to{right:32%}}
.steps-mini{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}
.steps-mini li{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;color:var(--muted)}
.steps-mini li::before{content:"";width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line)}
.steps-mini li.done{color:var(--fg)}
.steps-mini li.done::before{background:var(--ok);border-color:var(--ok)}
.steps-mini li.now{color:var(--gold)}
.steps-mini li.now::before{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.steps-mini em{font-style:normal;font-size:11.5px;color:var(--muted)}
.m-note{margin-top:16px;font-size:11px;color:var(--muted);opacity:.8}
@media (prefers-reduced-motion:reduce){.route .line i{animation:none}html{scroll-behavior:auto}}

/* strip */
.strip{border-block:1px solid var(--line);background:var(--bg-2);padding-block:22px}
.strip .wrap{display:flex;flex-wrap:wrap;gap:12px 34px;justify-content:space-between;color:var(--muted)}
.strip b{color:var(--fg);font-weight:500}

/* audience */
.aud{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.aud div{background:var(--bg);padding:28px 24px;display:grid;gap:10px;align-content:start}
.aud p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.aud{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.aud{grid-template-columns:1fr}}

/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;display:grid;gap:14px;align-content:start;transition:border-color .25s,transform .25s}
.svc article:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));transform:translateY(-2px)}
.svc .code{font-family:var(--f-mono);font-size:11.5px;color:var(--gold);letter-spacing:.08em}
.svc p{color:var(--muted);font-size:15px}
.svc ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14.5px}
.svc li{display:grid;grid-template-columns:12px 1fr;gap:8px}
.svc li::before{content:"–";color:var(--gold)}
@media (max-width:1060px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}

/* process */
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:s;position:relative}
.proc li{position:relative;padding:0 18px 0 0;display:grid;gap:10px;align-content:start;counter-increment:s}
.proc li::before{content:counter(s,decimal-leading-zero);font-family:var(--f-mono);font-size:13px;color:var(--gold);display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:2px solid var(--line);margin-bottom:6px}
.proc li:first-child::before{border-color:var(--gold)}
.proc p{color:var(--muted);font-size:14.5px}
@media (max-width:1000px){.proc{grid-template-columns:1fr 1fr 1fr;row-gap:36px}}
@media (max-width:560px){.proc{grid-template-columns:1fr}}

/* models */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.models article{border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;display:grid;gap:14px;align-content:start;background:var(--bg)}
.models article.feat{background:var(--surface);border-color:color-mix(in srgb,var(--gold) 50%,var(--line))}
.models .kind{font-family:var(--f-mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.models .feat .kind{color:var(--gold)}
.models p{color:var(--muted);font-size:15.5px}
.models ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px}
.models li{padding-left:22px;position:relative}
.models li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--gold)}
@media (max-width:900px){.models{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.about>*{min-width:0}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:18px;border:1px solid var(--line);background:
  linear-gradient(160deg,var(--surface),var(--bg-2));display:grid;place-items:center;position:relative;overflow:hidden}
.portrait span{font-family:var(--f-display);font-size:120px;font-weight:300;color:var(--gold);opacity:.22;letter-spacing:-.05em}
.portrait small{position:absolute;bottom:16px;left:16px;font-family:var(--f-mono);font-size:11.5px;color:var(--muted)}
.about-text{display:grid;gap:22px}
.about-text p{color:var(--muted);max-width:62ch}
.about-text p strong{color:var(--fg);font-weight:400}
.career{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.career span{font-family:var(--f-mono);font-size:12.5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.career span:last-child{border-color:var(--gold);color:var(--gold)}
@media (max-width:860px){.about{grid-template-columns:1fr}.portrait{max-width:340px}}

/* sourcing (Radim) */
.src{background:var(--bg-2);border-block:1px solid var(--line)}
.src-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.src-grid>*{min-width:0}
.src h2{font-size:clamp(26px,3.2vw,36px)}
.src-list{display:grid;gap:0;border-top:1px solid var(--line)}
.src-list div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.src-list dt{font-family:var(--f-mono);font-size:12.5px;color:var(--gold);padding-top:3px}
.src-list dd{margin:0;color:var(--muted);font-size:15.5px}
.person{display:flex;gap:16px;align-items:center;margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.person .av{width:52px;height:52px;flex:none;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;font-family:var(--f-display);font-weight:300;color:var(--gold)}
.person p{font-size:14.5px;color:var(--muted)}
.person b{color:var(--fg)}
@media (max-width:860px){.src-grid{grid-template-columns:1fr}.src-list div{grid-template-columns:1fr;gap:4px}}

/* faq */
.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-family:var(--f-display);font-weight:400;font-size:19px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-family:var(--f-mono);font-size:22px;color:var(--gold);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding-bottom:22px;max-width:68ch}

/* contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px)}
.contact>*{min-width:0}
.c-info{display:grid;gap:20px;align-content:start}
.c-row{display:grid;gap:4px}
.c-row .mono{color:var(--muted);text-transform:uppercase;font-size:11.5px;letter-spacing:.12em}
.c-row b{font-weight:500;font-size:18px;user-select:all}
form{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,32px);display:grid;gap:16px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;font-size:14px;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:120px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;color:var(--fg);font-size:14px}
.chips input{width:auto;accent-color:var(--gold)}
.chips label:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.f-ok{font-size:14.5px;color:var(--ok)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
@media (max-width:520px){.f2{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding-block:36px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
footer .mono{font-size:12px}

/* fotografie na pozadí sekcí */
/* pevná vrstva s fotkami pod celou stránkou; sekce jsou plné, poloprůhledné, nebo „okna“ */
:root{--scrim:rgba(14,13,11,.55);--scrim-soft:rgba(14,13,11,.28);--on-photo:#f4f1ea;--photo-base:#141311}
.bgfix{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--photo-base)}
.bgfix i{position:absolute;inset:-8% 0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease;will-change:transform,opacity}
.bgfix i.on{opacity:1}
main>section,footer{background:var(--bg)}
main>section.hero{background:linear-gradient(100deg,color-mix(in srgb,var(--bg) 97%,transparent) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 40%,color-mix(in srgb,var(--bg) 28%,transparent) 100%)}
main>section.src{background:color-mix(in srgb,var(--bg-2) 86%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15)}
main>section#kontakt{background:linear-gradient(100deg,color-mix(in srgb,var(--bg-2) 97%,transparent) 0%,color-mix(in srgb,var(--bg-2) 86%,transparent) 48%,color-mix(in srgb,var(--bg-2) 40%,transparent) 100%)!important}
.window{min-height:clamp(300px,60vh,580px);display:grid;align-items:center;background:linear-gradient(to bottom,var(--scrim),var(--scrim-soft) 45%,var(--scrim));color:var(--on-photo)}
.window .wrap{display:grid;gap:18px;padding-block:56px;width:100%}
.window blockquote{margin:0;font-size:clamp(28px,4.4vw,56px);font-weight:300;line-height:1.12;letter-spacing:-.02em;max-width:17ch;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.window .mono{color:var(--on-photo);opacity:.85;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.window.right .wrap{justify-items:end;text-align:right}

/* konzultační verze: menší hero nadpis, kratší mřížky */
.hero h1{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.02em;margin:22px 0 20px;max-width:19ch;line-height:1.15}
.svc{grid-template-columns:repeat(3,1fr)}
.proc{grid-template-columns:repeat(4,1fr)}
.steps-mini li{grid-template-columns:18px 1fr auto}
.note{margin-top:28px;padding:16px 20px;border-left:2px solid var(--gold);background:var(--gold-soft);color:var(--fg);font-size:15.5px;max-width:78ch}
@media (max-width:900px){.svc{grid-template-columns:1fr 1fr}.proc{grid-template-columns:1fr 1fr;row-gap:36px}}
@media (max-width:560px){.svc,.proc{grid-template-columns:1fr}}

/* úpravy 3: hero na výšku zařízení, mapa dovozu, okna na střed, kontakt podle RaZaWeb */
html{scroll-padding-top:68px;scroll-snap-type:y proximity}
main>section.hero{min-height:calc(100svh - 68px);display:grid;align-items:center;padding-block:48px 72px;scroll-snap-align:start}
#pro-koho{scroll-snap-align:start}
.hero h1 em{display:block}
.hero h1{max-width:none}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:grid;justify-items:center;gap:6px;z-index:2}
.scroll-cue::after{content:"";width:1px;height:26px;background:linear-gradient(var(--gold),transparent);animation:cue 1.8s ease-in-out infinite}
.scroll-cue:hover{color:var(--gold)}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);transform-origin:top;opacity:1}}
.manifest{background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:color-mix(in srgb,var(--gold) 30%,var(--line));padding:26px}
.route .line i{inset:0 auto 0 0;width:var(--p,16.6%);animation:none;transition:width .7s cubic-bezier(.3,.7,.2,1)}
.steps-mini{gap:2px;margin-top:10px}
.steps-mini li{grid-template-columns:26px 1fr auto;gap:10px;padding:9px 12px;margin-inline:-12px;border-radius:10px;cursor:pointer;color:var(--muted);transition:background .35s,color .35s}
.steps-mini li::before{display:none}
.steps-mini .n{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:11px;transition:all .35s}
.steps-mini li.done{color:var(--fg)}
.steps-mini li.done .n{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.steps-mini li.on{background:var(--gold-soft);color:var(--fg)}
.steps-mini li.on .n{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.steps-mini li.on em{color:var(--gold)}
.steps-mini li:hover{color:var(--fg)}
.m-note{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:grid;gap:4px;font-size:12.5px;color:var(--fg);opacity:1;min-height:4.6em;align-content:start}
.m-note b{font-weight:400;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.window{min-height:clamp(260px,46vh,440px);background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(14,13,11,.84) 0%,rgba(14,13,11,.62) 100%)}
.window .wrap,.window.right .wrap{justify-items:center;text-align:center}
.window blockquote{font-size:clamp(24px,3.1vw,40px);line-height:1.25;letter-spacing:-.01em;max-width:26ch;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.window .mono{color:var(--gold);opacity:1}
main>section#kontakt{background:color-mix(in srgb,var(--bg-2) 90%,transparent)!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.contact form{background:transparent;border:0;border-radius:0;padding:0;gap:18px}
.contact label{font-size:13.5px}
.contact input,.contact select,.contact textarea{background:color-mix(in srgb,var(--fg) 5%,transparent);border:1px solid color-mix(in srgb,var(--fg) 12%,transparent);border-radius:8px;padding:13px 16px;font-size:15px;font-weight:300}
.contact select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 16px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px;cursor:pointer}
.contact select option{background:var(--surface);color:var(--fg)}
.contact textarea{min-height:140px}
.c-row a{font-size:18px;text-decoration:none;color:var(--fg);font-weight:400;width:fit-content}
.c-row a:hover{color:var(--gold)}
.c-row a+a{color:var(--muted);font-size:16px}
.c-firm{display:grid;gap:4px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.c-firm b{color:var(--fg);font-weight:500;font-size:15.5px;margin-bottom:4px}
@media (prefers-reduced-motion:reduce){.scroll-cue::after{animation:none}html{scroll-snap-type:none}}
@media (max-width:960px){main>section.hero{min-height:0;padding-block:40px 80px}html{scroll-snap-type:none}}

/* úpravy 4: nadpisy na střed, animovaný průběh, kompaktní kontakt */
:root{--gold-hi:color-mix(in srgb,var(--gold) 55%,#fff)}
.sec-head{margin-inline:auto;text-align:center;justify-items:center}
.logo small{white-space:nowrap}
.proc{counter-reset:none;text-align:center}
.proc li{padding:0 14px;justify-items:center;position:relative}
.proc li::before{display:none}
.proc li:not(:last-child)::after{content:"";position:absolute;top:28px;left:calc(50% + 42px);width:calc(100% - 84px);height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 50%,transparent),color-mix(in srgb,var(--gold) 12%,transparent))}
.pn{width:56px;height:56px;border-radius:50%;position:relative;overflow:hidden;display:grid;place-items:center;margin-bottom:8px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--fg) 4%,transparent);animation:pnGlow 8s linear var(--d,0s) infinite backwards}
.pn i{position:absolute;top:0;left:-100%;width:300%;height:100%;transform:translateX(-38%);background:linear-gradient(90deg,transparent 0%,transparent 38%,var(--gold) 47%,var(--gold-hi) 50%,var(--gold) 53%,transparent 62%,transparent 100%);animation:pnFill 8s linear var(--d,0s) infinite backwards}
.pn b{position:relative;z-index:1;font-family:var(--f-mono);font-weight:400;font-size:17px;color:var(--muted);animation:pnDigit 8s linear var(--d,0s) infinite backwards}
@keyframes pnFill{0%{transform:translateX(-30%)}17.5%{transform:translateX(0)}35%,100%{transform:translateX(30%)}}
@keyframes pnDigit{0%,6%{color:var(--muted)}13%,22%{color:var(--ink-on-gold)}30%,100%{color:var(--muted)}}
@keyframes pnGlow{0%,4%{box-shadow:0 0 0 0 transparent}17.5%{box-shadow:0 6px 18px color-mix(in srgb,var(--gold) 35%,transparent),0 0 0 4px var(--gold-soft)}33%,100%{box-shadow:0 0 0 0 transparent}}
.note{max-width:none;text-align:center}
.about{align-items:stretch}
.portrait{aspect-ratio:auto;height:100%;min-height:240px}
.src-cells{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--line)}
.src-cells>*{min-width:0}
.sc{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.sc span{font-family:var(--f-mono);font-size:12.5px;color:var(--gold);padding-top:3px}
.sc p{color:var(--muted);font-size:15.5px}
.src-cells .person{margin:12px 0 0;align-self:center}
main>section#kontakt{padding-block:clamp(48px,6vw,84px)}
#kontakt .sec-head{margin-bottom:34px}
.contact{grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start}
.c-info{gap:20px}
.c-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.c-pair>*{min-width:0}
.c-row a{font-size:16.5px;overflow-wrap:anywhere}
.c-row a+a{font-size:15px}
.c-firm{font-size:13.5px;padding-top:16px}
.contact form{gap:14px}
.contact input,.contact select,.contact textarea{padding:11px 14px}
.contact textarea{min-height:96px}
@media (prefers-reduced-motion:reduce){.pn,.pn i,.pn b{animation:none}}
@media (max-width:900px){.proc li:not(:last-child)::after{display:none}.src-cells{grid-template-columns:1fr}}
@media (max-width:860px){.portrait{height:auto;aspect-ratio:4/3;max-width:340px}}
@media (max-width:520px){.sc{grid-template-columns:1fr;gap:4px}.c-pair{grid-template-columns:1fr}}
@media (max-width:620px){.logo small{display:none}}

/* ceny */
.price{display:grid;gap:4px;padding:14px 0;border-block:1px solid var(--line)}
.price b{font-size:30px;font-weight:300;letter-spacing:-.02em;color:var(--fg);line-height:1.1}
.price small,.src-prices small{font-size:.5em;color:var(--muted);letter-spacing:0;font-weight:300}
.price span,.src-prices em{font-family:var(--f-mono);font-size:12px;font-style:normal;color:var(--muted)}
.models .feat .price b{color:var(--gold)}
.models ul{font-size:14.5px;color:var(--muted)}
.src-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.src-prices>div{display:grid;gap:6px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb,var(--bg) 70%,transparent);min-width:0}
.src-prices span{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.src-prices b{font-size:26px;font-weight:300;letter-spacing:-.02em;line-height:1.15}
.src-note{margin-top:18px;text-align:center;color:var(--muted);font-size:14.5px}
@media (max-width:760px){.src-prices{grid-template-columns:1fr}}

/* O nás: dva profily, druhý zrcadlově */
.about+.about{margin-top:clamp(40px,6vw,72px)}
.about.rev{grid-template-columns:1.1fr .9fr}
.about-text{align-content:center;justify-items:start}
.about-text h3{font-size:clamp(26px,3vw,36px);font-weight:300;letter-spacing:-.02em}
@media (max-width:860px){.about.rev{grid-template-columns:1fr}.about.rev .portrait{order:-1}}

/* ceny 2: čtyři karty, cena bez DPH a menší s DPH */
.models.four{grid-template-columns:repeat(4,1fr)}
.models.four article{padding:26px 22px}
.price{grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;row-gap:2px}
.price b{font-size:25px;white-space:nowrap}
.price span{font-size:11.5px;white-space:nowrap}
.price em,.src-prices em{grid-column:1/-1;font-family:var(--f-mono);font-size:11px;font-style:normal;color:var(--muted);opacity:.8}
.src-prices>div{grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px}
.src-prices span,.src-prices em{grid-column:1/-1}
.src-prices i{font-family:var(--f-mono);font-size:12px;font-style:normal;color:var(--muted)}
.src-prices b{white-space:nowrap}
@media (max-width:1100px){.models.four{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.models.four{grid-template-columns:1fr}}

/* ceník: dva oddělené panely */
.pl{border:1px solid var(--line);border-radius:20px;background:var(--bg-2);padding:clamp(18px,2.6vw,32px);display:grid;gap:22px}
.pl+.pl{margin-top:28px}
.pl-head{display:flex;align-items:center;gap:16px}
.pl-head h3{font-size:22px;font-weight:400}
.pl-head .mono{color:var(--muted);font-size:12.5px}
.pl-no{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:15px;color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:var(--gold-soft)}
.pl .models article{background:var(--bg)}
.pl .models article.feat{background:var(--surface)}
.models.three{grid-template-columns:repeat(3,1fr)}
#cenik .note{margin-top:28px}
@media (max-width:900px){.models.three{grid-template-columns:1fr}}

.zl{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.zl:hover{color:var(--gold)}

/* mobilní menu (hamburger) a kotvy kousek nad nadpisem sekce */
.nav-toggle{display:none;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:12px;background:transparent;cursor:pointer;padding:0;position:relative}
.nav-toggle span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--fg);border-radius:2px;transition:transform .25s,opacity .2s,top .25s}
.nav-toggle span:nth-child(1){top:15px}.nav-toggle span:nth-child(2){top:21px}.nav-toggle span:nth-child(3){top:27px}
.nav.open .nav-toggle span:nth-child(1){top:21px;transform:rotate(45deg)}
.nav.open .nav-toggle span:nth-child(2){opacity:0}
.nav.open .nav-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}
.nav ul .nav-cta{display:none}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav .wrap{gap:10px}
  .nav .logo{margin-right:auto}
  .nav ul{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:6px clamp(16px,4vw,40px) 18px;box-shadow:0 24px 40px -24px rgba(0,0,0,.5);max-height:calc(100vh - 70px);overflow:auto}
  .nav.open ul{display:flex}
  .nav ul a{display:block;padding:15px 2px;font-size:17px;color:var(--fg);border-bottom:1px solid var(--line)}
}
@media (max-width:520px){
  .nav .wrap>.btn{display:none}
  .nav ul .nav-cta{display:block;margin-top:16px}
  .nav ul .nav-cta a{display:flex;justify-content:center;border:0;padding:14px 22px;color:var(--ink-on-gold);font-size:16px}
}
main>section[id]{scroll-margin-top:calc(22px - clamp(64px,9vw,120px))}
main>section#kontakt{scroll-margin-top:calc(22px - clamp(48px,6vw,84px))}
main>section#top,main>section.hero{scroll-margin-top:0}

/* fotky v sekci O nás */
.portrait.has-photo{background:var(--surface)}
.portrait.has-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
@media (max-width:860px){.portrait.has-photo{aspect-ratio:4/5;max-width:360px}}

/* fotky jen na výšku textu vedle */
.about{grid-template-columns:minmax(220px,300px) 1fr}
.about.rev{grid-template-columns:1fr minmax(220px,300px)}
.portrait.has-photo{position:relative;height:auto;min-height:0;align-self:stretch}
.portrait.has-photo img{position:absolute;inset:0}
@media (max-width:860px){.about,.about.rev{grid-template-columns:1fr}.portrait.has-photo{aspect-ratio:4/5;max-width:320px}}

/* ===== RaZaPilot: pozadí bez fotek (abstraktní vrstvy místo přístavu/veletrhu) ===== */
.bgfix .b-a{background:
  radial-gradient(ellipse 60% 50% at 78% 30%,rgba(214,178,94,.22),transparent 60%),
  radial-gradient(ellipse 45% 40% at 15% 80%,rgba(111,211,142,.10),transparent 65%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 44px),
  linear-gradient(160deg,#1d1b17,#0f0e0c)}
.bgfix .b-b{background:
  radial-gradient(ellipse 55% 45% at 22% 35%,rgba(214,178,94,.20),transparent 60%),
  radial-gradient(ellipse 50% 50% at 85% 75%,rgba(111,211,142,.12),transparent 65%),
  radial-gradient(circle at 50% 50%,rgba(255,255,255,.05) 1px,transparent 1.5px) 0 0/26px 26px,
  linear-gradient(200deg,#1b1914,#0e0d0b)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .bgfix{--photo-base:#efeadf}}
/* karta "Můj AI tým": štítky uzlů */
.route .port b{letter-spacing:.04em}
/* pro koho: dvě karty */
.aud.two{grid-template-columns:1fr 1fr}
.aud h3{font-size:22px;font-weight:400}
.aud ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--muted);font-size:15px}
.aud li{padding-left:22px;position:relative}
.aud li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--gold)}
@media (max-width:720px){.aud.two{grid-template-columns:1fr}}
/* projekty v sekci O mně */
.proj{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--f-mono);font-size:13px}
.proj a{color:var(--gold);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
.proj a:hover{border-color:var(--gold)}
/* světlý režim: světlé abstraktní vrstvy */
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .bgfix .b-a{background:
  radial-gradient(ellipse 60% 50% at 78% 30%,rgba(154,116,36,.20),transparent 60%),
  repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 1px,transparent 1px 44px),
  linear-gradient(160deg,#f3efe6,#e6dfd0)}
:root:not([data-theme="dark"]) .bgfix .b-b{background:
  radial-gradient(ellipse 55% 45% at 22% 35%,rgba(154,116,36,.18),transparent 60%),
  radial-gradient(circle at 50% 50%,rgba(0,0,0,.06) 1px,transparent 1.5px) 0 0/26px 26px,
  linear-gradient(200deg,#f1ece2,#e4dccb)}}
/* ===== právní stránky a patička ===== */
.f-legal{font-size:13px;color:var(--muted);margin:0}
.f-legal a{color:inherit}
.legal-links{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;opacity:.75}
.legal-links a{color:var(--muted);text-decoration:none}
.legal-links a:hover{color:var(--gold)}
.legal{padding-block:clamp(40px,6vw,80px) clamp(56px,8vw,100px)}
.legal .wrap{max-width:860px}
.legal .sec-head{margin-inline:0;text-align:left;justify-items:start;margin-bottom:34px}
.legal h1{font-size:clamp(30px,4vw,44px);font-weight:300;letter-spacing:-.02em;margin:18px 0 0}
.legal h2{font-size:clamp(20px,2.2vw,24px);font-weight:400;margin:40px 0 12px;scroll-margin-top:20px}
.legal p,.legal li{color:var(--muted);font-size:15.5px;line-height:1.7}
.legal p strong,.legal li strong{color:var(--fg);font-weight:400}
.legal ul,.legal ol{padding-left:22px;display:grid;gap:6px}
.legal a{color:var(--gold)}
.legal .meta{font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
.legal .toc{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--f-mono);font-size:12.5px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.legal .toc a{text-decoration:none}
.legal .tbl{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:var(--r)}
.legal table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.legal th,.legal td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}
.legal th{font-weight:400;color:var(--fg);background:var(--surface);font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.legal tr:last-child td{border-bottom:0}
