@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-ext-500-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/montserrat-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/montserrat-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== ZB GRILL — černá a zlato ===== */
:root{
  --bg:#0a0a0a; --card:#131109; --line:#3a3020;
  --gold:#c9a24a; --gold-hi:#f7e6a8; --gold-soft:#e8d4a2;
  --text:#d6cdbb; --muted:#9e957f; --white:#f3ead6;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Montserrat",Arial,sans-serif;
  --foil:linear-gradient(100deg,#8a6526 0%,#e6c878 22%,#b88d3b 40%,#f7e6a8 56%,#a77b30 76%,#e0bf6a 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:300 17px/1.8 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--white);margin:0;line-height:1.08}
p{margin:0 0 1em}
.foil{background:var(--foil);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.lab{display:block;font:500 12px var(--sans);letter-spacing:7px;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.rule{width:200px;height:1px;margin:32px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.btn{display:inline-block;padding:16px 38px;font:500 12px var(--sans);letter-spacing:4px;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:filter .2s,box-shadow .2s}
.btn.g{background:var(--foil);color:#1a1408}
.btn.g:hover{filter:brightness(1.1)}
.btn.o{box-shadow:inset 0 0 0 1px rgba(201,162,74,.7);color:#e6c77a;background:transparent}
.btn.o:hover{box-shadow:inset 0 0 0 1px var(--gold-hi);color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.sec{padding:120px 0}
.center{text-align:center}

/* hlavička */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
.top.scrolled{background:rgba(10,10,10,.93);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(8px)}
.top .bar{display:flex;justify-content:space-between;align-items:center;height:86px;padding:0 56px}
.logo{display:inline-flex;align-items:center;gap:14px;font:500 26px var(--serif);letter-spacing:4px;color:var(--white);text-decoration:none}
.logo-img{width:50px;height:auto;filter:drop-shadow(0 0 10px rgba(201,162,74,.25))}
.about-logo{width:96px;height:auto;margin:0 auto 34px;filter:drop-shadow(0 0 22px rgba(201,162,74,.22))}
.f-logo{display:inline-block;margin-bottom:8px}
.f-logo img{width:64px;height:auto;margin:0 auto;opacity:.95}
.nav{display:flex;align-items:center;gap:34px}
.nav a{color:var(--text);text-decoration:none;font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase}
.nav a:hover{color:var(--gold-hi)}
.nav .btn{padding:12px 22px;color:#1a1408}
.burger{display:none;background:none;border:0;color:var(--white);font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase;cursor:pointer;padding:8px 0}

/* úvod – filmový */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:var(--bg)}
.slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity 2.2s cubic-bezier(.4,0,.2,1)}
.slide.on{opacity:1;z-index:1}
.slide.prev{z-index:0}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);filter:saturate(.8) brightness(.8)}
.slide.on img,.slide.prev img{animation:kb 10s cubic-bezier(.25,.1,.25,1) forwards;will-change:transform}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.7) 38%,rgba(10,10,10,.15) 75%),linear-gradient(0deg,rgba(10,10,10,.85),transparent 30%),linear-gradient(180deg,rgba(10,10,10,.7),transparent 25%)}
.frame{position:absolute;inset:96px 36px 36px;border:1px solid rgba(201,162,74,.55);outline:1px solid rgba(201,162,74,.22);outline-offset:9px;pointer-events:none;z-index:6}
.frame i{position:absolute;left:calc(50% - 5px);width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
.frame i:first-child{top:-6px}.frame i:last-child{bottom:-6px}
.hero-txt{position:absolute;z-index:5;left:110px;top:50%;transform:translateY(-44%);max-width:680px}
.hero h1{font-size:clamp(52px,6.4vw,96px);line-height:1}
.hero h1 em{display:block}
.hero .rule{margin:32px 0;background:linear-gradient(90deg,var(--gold),transparent)}
.hero .tag{max-width:440px;color:#d9cfbd;margin:0 0 38px}
.acts{display:flex;gap:14px;flex-wrap:wrap}
.btn{white-space:nowrap}
.slide-ui{position:absolute;z-index:7;right:90px;bottom:70px;text-align:right}
.slide-ui .cap{font:italic 500 22px var(--serif);color:var(--gold-soft);margin-bottom:12px;min-height:1.4em}
.dots{display:flex;gap:10px;justify-content:flex-end}
.dots button{all:unset;cursor:pointer;width:44px;height:14px;position:relative}
.dots button::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:rgba(201,162,74,.3)}
.dots button.on::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--gold);transform-origin:left;animation:bar 6s linear forwards}
.dots button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero h1,.hero .lab{animation:leaf 2.6s cubic-bezier(.2,.7,.2,1) .15s both}
@keyframes leaf{from{opacity:0;transform:translateY(14px)}45%{opacity:1;transform:none}to{opacity:1;transform:none}}

/* o značce */
.about{max-width:820px;margin:0 auto;text-align:center}
.about p{font-size:19px;margin:0 0 44px}
.quote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 10px;margin:0}
.quote p{margin:0;font:italic 500 clamp(28px,3.6vw,40px)/1.35 var(--serif)}


/* služby */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.card{position:relative;background:radial-gradient(ellipse 80% 45% at 50% 0%,rgba(201,162,74,.12),transparent 70%),linear-gradient(180deg,#17130b,#0d0d0d);border:1px solid rgba(201,162,74,.7);padding:62px 40px;text-align:center;transition:border-color .4s,box-shadow .4s}
.card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(201,162,74,.22);pointer-events:none}
.card::after{content:"";position:absolute;top:-5px;left:calc(50% - 4px);width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.card:hover{border-color:var(--gold);box-shadow:0 20px 50px -25px rgba(201,162,74,.35)}
.card .num{font:500 54px/1 var(--serif);margin:0 0 14px;font-variant-numeric:lining-nums}
.card .ln{width:50px;height:1px;background:var(--gold);margin:0 auto 22px}
.card h3{font-size:32px;margin-bottom:16px}
.card p{margin:0;font-size:16px}

/* galerie – úhledná mřížka */
.gal-head{text-align:center;margin-bottom:64px}
.gal-head h2{font-size:clamp(40px,5.5vw,64px)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gallery figure{margin:0;min-width:0}
.gallery figcaption{text-align:center}
.gallery .ph{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(201,162,74,.55);background:#111}
.gallery .ph::after{content:"";position:absolute;inset:8px;border:1px solid rgba(247,230,168,.28);pointer-events:none;transition:inset .5s,border-color .5s}
.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.92);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s}
.gallery figure:hover img{transform:scale(1.05);filter:saturate(1) brightness(1)}
.gallery figure:hover .ph::after{inset:12px;border-color:rgba(247,230,168,.55)}
.gallery figcaption{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font:italic 500 21px var(--serif);color:var(--gold-soft)}
.gallery figcaption::before,.gallery figcaption::after{content:"";width:22px;height:1px;background:var(--gold);opacity:.6}
.gallery img.top-crop{object-position:50% 0}

/* zvětšení fotky */
.gallery .ph{cursor:zoom-in}
.gallery .ph:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.lb{border:0;padding:0;margin:auto;background:transparent;max-width:100vw;max-height:100vh;overflow:visible;color:var(--text)}
.lb::backdrop{background:radial-gradient(ellipse at 50% 40%,rgba(30,24,12,.96),rgba(5,5,5,.985) 70%);backdrop-filter:blur(8px)}
.lb[open]{animation:lbfade .4s ease}
.lb[open] figure,.lb[open] .lb-thumbs{animation:lbin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
@keyframes lbin{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center}
.lb-ph{position:relative;display:inline-block;padding:6px;border:1px solid rgba(201,162,74,.75);background:#0b0b0b;box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.lb-ph::before{content:"";position:absolute;inset:4px;border:1px solid rgba(201,162,74,.22);pointer-events:none}
.lb-ph::after,.lb-ph .d2{content:"";position:absolute;left:calc(50% - 4px);width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.lb-ph::after{top:-5px}.lb-ph .d2{bottom:-5px}
.lb img{display:block;height:min(calc(100vh - 190px),1400px);width:auto;max-width:calc(100vw - 180px);object-fit:contain;transform-origin:50% 50%;transition:opacity .35s,transform .3s cubic-bezier(.2,.7,.2,1);user-select:none;-webkit-user-drag:none}
.lb-ph{overflow:hidden;touch-action:none;cursor:zoom-in}
.lb.zoomed .lb-ph{cursor:grab}
.lb.dragging .lb-ph{cursor:grabbing}
.lb.dragging img,.lb.pinching img{transition:opacity .35s}
.lb .lb-hint{font:300 12px var(--sans);color:var(--muted);margin-top:4px}
.lb.zoomed .lb-hint{visibility:hidden}
.lb figcaption{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px}
.lb #lb-cap{display:flex;align-items:center;gap:16px;font:italic 500 26px var(--serif);color:var(--gold-soft)}
.lb #lb-cap::before,.lb #lb-cap::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.lb #lb-cap::after{transform:scaleX(-1)}
.lb #lb-count{font:500 11px var(--sans);letter-spacing:4px;color:var(--muted)}
.lb-thumbs{display:flex;justify-content:center;gap:8px;margin-top:10px}
.lb-thumbs button{all:unset;cursor:pointer;width:52px;height:38px;border:1px solid rgba(201,162,74,.25);opacity:.45;transition:opacity .25s,border-color .25s;overflow:hidden}
.lb-thumbs button img{width:100%;height:100%;object-fit:cover;max-width:none}
.lb-thumbs button:hover{opacity:.8}
.lb-thumbs button.on{opacity:1;border-color:var(--gold)}
.lb-thumbs button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.lb>button{all:unset;cursor:pointer;position:fixed;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(201,162,74,.55);background:rgba(10,10,10,.55);transition:background .25s,border-color .25s}
.lb>button svg{width:22px;height:22px;fill:none;stroke:var(--gold-soft);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s}
.lb>button:hover{background:var(--gold);border-color:var(--gold)}
.lb>button:hover svg{stroke:#14100a}
.lb>button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.lb .lb-close{z-index:5;width:48px;height:48px;top:calc(22px + env(safe-area-inset-top,0px));right:calc(26px + env(safe-area-inset-right,0px))}
.lb .lb-prev,.lb .lb-next{z-index:5;width:56px;height:56px;top:50%;transform:translateY(-50%)}
.lb .lb-prev{left:calc(28px + env(safe-area-inset-left,0px))}.lb .lb-next{right:calc(28px + env(safe-area-inset-right,0px))}
@media (max-width:760px){
  .lb img{height:auto;max-height:58vh;width:92vw;max-width:92vw}
  .lb-ph{padding:6px}
  .lb .lb-prev,.lb .lb-next{top:auto;transform:none;bottom:calc(22px + env(safe-area-inset-bottom,0px));width:50px;height:50px}
  .lb #lb-cap{font-size:21px}
  .lb-thumbs button{width:52px;height:38px}
}

/* ikony v kartách */
.card .ico{width:66px;height:66px;margin:0 auto 16px;display:block;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* místa k doplnění */
.todo-i{display:inline-block;padding:0 8px;border:1px dashed rgba(201,162,74,.7);color:var(--gold-soft);font-style:italic;font-family:var(--sans);font-size:.8em;line-height:1.6}

/* parametry */
.specs{background:linear-gradient(180deg,transparent,rgba(201,162,74,.05) 50%,transparent)}
.specs-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.specs-ph{position:relative;border:1px solid rgba(201,162,74,.6);padding:8px}
.specs-ph::after{content:"";position:absolute;inset:16px;border:1px solid rgba(247,230,168,.25);pointer-events:none}
.specs-ph img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 0;filter:saturate(.85) brightness(.9)}
.specs h2{font-size:clamp(40px,5vw,62px);margin-bottom:18px}
.specs .lead{color:var(--text);max-width:520px}
.spec-list{margin:30px 0 0;border-top:1px solid var(--line)}
.spec-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.spec-list dt{font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase;color:var(--gold);padding-top:4px}
.spec-list dd{margin:0;color:var(--white);font:500 20px var(--serif);text-align:right}
.price{display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 4px}
.price-l{font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.price-v{font:500 40px var(--serif);color:var(--white)}
.price-n{font-size:14px;color:var(--muted);margin:0 0 28px}

.gal-head .sub{color:var(--muted);margin:14px 0 0}

/* reference */
.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ref{text-align:center}
.ref-ph{position:relative;border:1px solid rgba(201,162,74,.55);overflow:hidden;margin-bottom:20px}
.ref-ph img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.ref h3{font-size:26px;margin-bottom:6px}
.ref-m{font:500 11px var(--sans);letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.ref p{font-size:15px}

/* sociální sítě a údaje firmy */
.social{display:flex;gap:22px}
.social a{color:var(--white);text-decoration:none;font:500 22px var(--serif);border-bottom:1px solid rgba(201,162,74,.5)}
.social a:hover{color:var(--gold-hi);border-color:var(--gold-hi)}
.f-social{justify-content:center;margin:0 0 10px}
.f-social a{font-size:18px}
.biz{font-size:13px;margin:0 0 2px}

/* kolekce výrobků v galerii */
.collection+.collection{margin-top:90px}
.coll-head{text-align:center;margin:0 0 30px}
.coll-title{display:flex;align-items:center;justify-content:center;gap:20px;font-size:clamp(32px,3.4vw,42px);margin:0;color:var(--white)}
.coll-sub{margin:6px 0 0;font-size:14px;letter-spacing:1px;color:var(--muted)}
.coll-title::before,.coll-title::after{content:"";width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.coll-title::after{transform:scaleX(-1)}
.gallery.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.gallery figure.wide{grid-column:1/-1}
.gallery figure.wide .ph{aspect-ratio:16/9}
.gallery figure.wide img{object-position:50% 55%}
.gallery figure.wide figcaption{font-size:24px}

/* poptávka */
.contact{background:radial-gradient(ellipse at 50% 100%,rgba(201,162,74,.12),transparent 60%)}
.contact .grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}
.contact h2{font-size:clamp(40px,5.5vw,64px);margin-bottom:22px}
.info{list-style:none;padding:0;margin:34px 0 0}
.info li{padding:16px 0;border-bottom:1px solid var(--line)}
.info small{display:block;color:var(--gold);font-size:11px;font-weight:500;letter-spacing:4px;text-transform:uppercase}
.info a,.info .place{color:var(--white);text-decoration:none;font:500 24px var(--serif)}
.info a:hover{color:var(--gold-hi)}
form{position:relative;background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(201,162,74,.1),transparent 70%),linear-gradient(180deg,#15120b,#0c0c0c);border:1px solid rgba(201,162,74,.7);padding:56px 52px 50px}
form::before{content:"";position:absolute;inset:8px;border:1px solid rgba(201,162,74,.2);pointer-events:none}
form::after{content:"";position:absolute;top:-5px;left:calc(50% - 4px);width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.form-title{text-align:center;margin:0 0 34px}
.form-title h3{font-size:34px;margin-bottom:6px}
.form-title p{margin:0;font-size:14px;color:var(--muted)}
.form-title .rule{width:120px;margin:18px auto 0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.f{margin-bottom:26px}
.f{margin-bottom:20px}
.f label{display:block;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.f input,.f textarea,.f select{width:100%;background:transparent;border:0;border-bottom:1px solid #4a3f28;color:var(--white);font:300 17px var(--sans);padding:10px 2px 12px;border-radius:0;transition:border-color .3s,background .3s}
.f select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(-45deg,transparent 50%,var(--gold) 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.f select option{background:#111;color:var(--white)}
.f textarea{border:1px solid #4a3f28;padding:14px 16px;margin-top:4px}
.f input::placeholder,.f textarea::placeholder{color:#6f6757}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--gold-hi);outline:none;background-color:rgba(201,162,74,.04)}
.f textarea{min-height:150px;resize:vertical}
.consent{font-size:13px;color:var(--muted);margin:6px 0 26px;text-align:center}
form .btn{display:block;width:100%;text-align:center;padding:18px}
.hp{display:none!important}

/* patička */
footer{border-top:1px solid var(--line);padding:30px 0 22px;text-align:center;font-size:13px;color:var(--muted)}
footer p{margin:0}
footer p+p{margin-top:2px}

footer a{color:var(--muted)}

/* podstránky */
.page{max-width:780px;margin:0 auto;padding:170px 24px 100px}
.page h1{font-size:clamp(40px,6vw,64px);margin-bottom:28px}
.page h2{font-size:30px;margin:40px 0 12px}
.page .todo{border:1px dashed var(--gold);padding:14px 18px;color:var(--gold-soft);font-size:15px}

/* jemné odhalení */
.reveal.pend{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.reveal.pend.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal.pend{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

@media (max-width:1000px){

  .specs-grid{grid-template-columns:1fr;gap:44px}.specs-ph{max-width:460px;margin:0 auto}
  .ref-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .hero-txt{left:60px;right:60px}
  .contact .grid{grid-template-columns:1fr;gap:44px}
}
@media (max-width:760px){
  .top .bar{height:72px;padding:0 20px}
  .logo{font-size:20px;letter-spacing:3px;gap:10px}
  .logo-img{width:36px}
  .top{background:rgba(10,10,10,.93)}
  .burger{display:block}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(10,10,10,.97);border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:18px 24px;border-top:1px solid #1d1a12}
  .nav .btn{margin:14px 24px 20px;text-align:center}
  .frame{inset:80px 14px 14px;outline-offset:5px}
  .hero-txt{left:34px;right:34px;transform:translateY(-50%)}
  .shade{background:linear-gradient(0deg,rgba(10,10,10,.95) 10%,rgba(10,10,10,.55) 60%,rgba(10,10,10,.6))}
  .slide-ui{right:34px;bottom:44px}.slide-ui .cap{font-size:18px}
  .sec{padding:84px 0}
  .wrap{padding:0 20px}
  .gallery{grid-template-columns:1fr 1fr;gap:16px}
  .gallery figcaption{font-size:17px}
  .row{grid-template-columns:1fr}
  form{padding:30px 22px}
}

/* galerie na mobilu – na konci, aby přebila základní pravidla */
@media (max-width:760px){
  .gallery.g3{grid-template-columns:minmax(0,1fr);gap:22px}
  .gallery figure.wide .ph{aspect-ratio:4/3}
  .gallery figure.wide figcaption{font-size:19px}
  .gallery figcaption::before,.gallery figcaption::after{flex:none}
  .coll-title::before,.coll-title::after{width:32px;flex:none}
}

/* méně prázdného místa nad patičkou */
.sec.contact{padding-bottom:80px}
@media (max-width:760px){.sec.contact{padding-bottom:60px}}

/* jiskry: řídce po celém webu za obsahem a nad fotkou v úvodu */
.embers{pointer-events:none}
.embers-hero{position:absolute;inset:0;width:100%;height:100%;z-index:4}
@media (prefers-reduced-motion:reduce){.embers{display:none}}


/* ================= PRÉMIOVÉ DETAILY (střídmě) ================= */

/* filmové zrno přes celý web – statické */
body::after{content:"";position:fixed;inset:-50%;z-index:150;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay}

/* hlavička se při posunu zúží */
.top .bar{transition:height .45s cubic-bezier(.2,.7,.2,1)}
.top .logo-img{transition:width .45s cubic-bezier(.2,.7,.2,1)}
.top.scrolled .bar{height:68px}
.top.scrolled .logo-img{width:40px}
.top.scrolled{box-shadow:0 1px 0 rgba(201,162,74,.28)}

/* tlačítka: zlatý lesk při najetí */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:1;background:linear-gradient(100deg,transparent,rgba(255,250,230,.55),transparent);transform:skewX(-20deg);transition:left .75s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.btn:hover::after,.btn:focus-visible::after{left:130%}
.btn.o::after{background:linear-gradient(100deg,transparent,rgba(247,230,168,.25),transparent)}

@media (max-width:760px){.top.scrolled .bar{height:64px}.top.scrolled .logo-img{width:32px}}
@media (prefers-reduced-motion:reduce){body::after{display:none}}

/* úvod na mobilech: text plyne normálně, popisek fotky se schová (zůstanou proužky) */
@media (max-width:760px){
  .hero{height:auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
  .hero-txt{position:relative;left:auto;right:auto;top:auto;transform:none;max-width:none;padding:110px 30px 110px}
  .hero h1{font-size:clamp(38px,11vw,52px)}
  .hero .lab{letter-spacing:5px;font-size:11px}
  .hero .tag{font-size:16px}
  .slide-ui{right:30px;bottom:40px}
  .slide-ui .cap{display:none}
}
/* mobil na šířku a nízké obrazovky */
@media (max-height:520px) and (orientation:landscape){
  .hero{height:auto;min-height:0}
  .hero-txt{position:relative;left:auto;right:auto;top:auto;transform:none;max-width:640px;padding:96px 60px 70px}
  .hero h1{font-size:40px}
  .hero .rule{margin:16px 0}
  .hero .tag{margin-bottom:20px;font-size:15px}
  .frame{inset:78px 18px 14px}
  .slide-ui .cap{display:none}
  .slide-ui{bottom:28px;right:40px}
}
/* tlačítka v úvodu na mobilu přes celou šířku, aby se text nikdy neořízl */
@media (max-width:760px){
  .hero .acts{flex-direction:column;align-items:stretch;max-width:340px}
  .hero .acts .btn{text-align:center;padding:15px 14px;letter-spacing:3px}
}

/* zvětšená fotka na mobilu přes celou šířku */
@media (max-width:760px){
  .lb img{height:auto;max-height:calc(100vh - 230px);width:100vw;max-width:100vw}
  .lb-ph{padding:0;border-left:0;border-right:0}
  .lb .lb-hint{display:none}
}

/* předěl za celou značku: věta se při posunu zvětší a zlatě rozsvítí */
.statement{position:relative;height:200vh}
.statement .pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 max(24px,env(safe-area-inset-right,0px)) 0 max(24px,env(safe-area-inset-left,0px))}
.statement .st-text{position:relative;max-width:1100px;margin:0;text-align:center;font:italic 500 clamp(40px,6.2vw,96px)/1.1 var(--serif);color:var(--gold-soft);text-wrap:balance}
.statement.live .st-text{color:rgba(232,212,162,.14);transform:scale(calc(.86 + .14 * var(--p,0)));will-change:transform}
.statement .st-gold{position:absolute;inset:-.3em -.2em;padding:.3em .2em;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 calc(100% - var(--t,0) * 100%) 0 0)}
.coll-desc{max-width:620px;margin:14px auto 0;color:var(--text);font-size:16px}
@media (max-width:760px){.statement{height:170vh}}
@media (prefers-reduced-motion:reduce){.statement{height:auto}.statement .pin{position:relative;height:auto;padding-block:120px}}
.f select:invalid{color:#6f6757}
