:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
    --text:#cfcfcf;
}

body{
    margin:0;
    background:#0b0b0b;
    font-family:Arial, Helvetica, sans-serif;
}

/* ===== HEADER ===== */
.site-header{
    position:fixed;
    inset:0 0 auto 0;
    z-index:100;
}

.header-bar{
    position:relative;
    padding:22px 0 18px;
    background:linear-gradient(180deg,rgba(18,22,28,.65),rgba(10,12,16,.55));
    backdrop-filter:blur(10px) saturate(140%);
    -webkit-backdrop-filter:blur(10px) saturate(140%);
    box-shadow:inset 0 1px rgba(255,255,255,.06), inset 0 -1px rgba(0,0,0,.6);
}

/* linky nahoře i dole jedním pravidlem */
.header-bar::before,
.header-bar::after{
    content:"";
    position:absolute;
    inset:auto 0;
    height:1px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.15) 15%,
        rgba(var(--gold),.55) 50%,
        rgba(var(--gold),.15) 85%,
        transparent);
}
.header-bar::before{ top:0; }
.header-bar::after{ bottom:0; }

.header-inner{
    width:92%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.nav{ display:flex; gap:36px; }

.nav a{
    color:var(--text);
    text-decoration:none;
    font-size:13px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    transition:color .25s;
}
.nav a:hover{ color:var(--gold-solid); }

/* CTA */
.header-cta{
    padding-left:32px;
    border-left:1px solid rgba(var(--gold),.25);
    display:flex;
    align-items:center;
}

/* BUTTON */
.header-btn{
    position:relative;
    display:inline-block;
    padding:12px 22px;
    color:#e7c98a;
    font-size:13px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    text-decoration:none;
    border:1px solid rgba(var(--gold),.55);
    background:rgba(0,0,0,.35);
    transition:.35s ease;
}

.header-btn .orbit{
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#ffe7b0;
    box-shadow:
        0 0 6px #ffe7b0,
        0 0 14px rgba(255,231,176,.6),
        0 0 24px rgba(255,231,176,.35);
    pointer-events:none;
}

.header-btn:hover{
    color:#111;
    background:var(--gold-solid);
    box-shadow:
        0 0 12px rgba(var(--gold),.35),
        0 0 28px rgba(var(--gold),.25),
        inset 0 0 12px rgba(255,255,255,.25);
}




/* ===== HERO ===== */

:root{
    --text-light:#d0d0d0;
    --gold1:#7e5c2d;
    --gold2:#ba9250;
    --header-h:82px; /* výška headeru */
}

.hero{
    position:relative;
    min-height:720px;
    height:calc(100svh - var(--header-h));
    display:flex;
    align-items:center;
    perspective:1200px;
    overflow:hidden;
}

/* ===== SCENE ===== */

/* scene MUSÍ mít vlastní výšku */
.scene{
    position:absolute;
    inset:0;
    height:100%;
}

.layer,
.hero-overlay,
.grain{
    position:absolute;
    inset:0;
}

.layer{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    will-change:transform;
}

.layer-bg{ z-index:1; }

.layer-light{
    z-index:2;
    background:radial-gradient(circle at 70% 60%, rgba(255,200,120,.18), transparent 60%);
    mix-blend-mode:screen;
}

.layer-car{ z-index:3; }

/* overlay */
.hero-overlay{
    z-index:4;
    background:radial-gradient(ellipse at 25% 50%,
        rgba(0,0,0,.70) 0%,
        rgba(0,0,0,.50) 30%,
        rgba(0,0,0,.25) 55%,
        transparent 75%);
}

/* ===== CONTENT ===== */

.hero-content{
    position:relative;
    z-index:5;
    max-width:720px;
    padding-left:80px;
    color:#fff;
}

.hero-subtitle{
    font-family:'Cinzel', serif;
    letter-spacing:4px;
    font-size:18px;
    margin-bottom:14px;
    opacity:.85;
}

.hero-title{
    font-family:'Marcellus SC', serif;
    font-weight:400;
    color:#f1f1f1;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
    margin-bottom:28px;
    line-height:1.05;
    display:inline-block; /* stabilizace layoutu */
}

.title-line{ display:block; white-space:nowrap; }
.title-main{ font-size:75px; letter-spacing:2px; }
.title-sub{ font-size:57px; letter-spacing:5px; opacity:.95; }

.hero-text{
    color:var(--text-light);
    font-size:17px;
    line-height:1.7;
    margin-bottom:38px;
    max-width:520px;
}

/* ===== BUTTON ===== */

.hero-btn{
    position:relative;
    display:inline-block;
    padding:18px 40px;
    font-size:15px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    text-decoration:none;
    color:#f6ead3;
    overflow:hidden;
    isolation:isolate;

    background:linear-gradient(90deg,var(--gold1),var(--gold2));
    box-shadow:inset 0 1px rgba(255,255,255,.25), inset 0 -1px rgba(0,0,0,.35);
    transition:filter .25s ease;
}

.hero-btn:hover{ filter:brightness(1.06); }

/* shine */
.hero-btn::after{
    content:"";
    position:absolute;
    top:-40%;
    left:-60%;
    width:40%;
    height:180%;
    background:linear-gradient(75deg,transparent,rgba(255,255,255,.6),transparent);
    transform:translateX(-160%) rotate(8deg);
    filter:blur(6px);
    animation:ctaShine 5s ease-in-out infinite;
}

@keyframes ctaShine{
    20%{ opacity:.7 }
    40%{ transform:translateX(260%) rotate(8deg); opacity:0 }
}

/* ===== FILM GRAIN ===== */

.grain{
    inset:-100%;
    pointer-events:none;
    z-index:3;
    mix-blend-mode:multiply;
    background:url("https://grainy-gradients.vercel.app/noise.svg") 0/1000px 1000px;
    animation:grain .9s steps(8) infinite;
}

@keyframes grain{
    0%,100%{transform:translate(0,0)}
    20%{transform:translate(-15%,5%)}
    40%{transform:translate(-5%,25%)}
    60%{transform:translate(15%,0)}
    80%{transform:translate(3%,35%)}
}



/* ===== FEATURE BAR ===== */

:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}

.feature-bar{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:26px 0;
    font-family:'Cinzel', serif;

    background:linear-gradient(180deg,rgba(16,18,22,.75),rgba(10,12,16,.85));
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

/* horní + spodní linka */
.feature-bar::before,
.feature-bar::after{
    content:"";
    position:absolute;
    inset:auto 0;
    height:1px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.2) 15%,
        rgba(var(--gold),.6) 50%,
        rgba(var(--gold),.2) 85%,
        transparent);
}
.feature-bar::before{ top:0; }
.feature-bar::after{ bottom:0; }

/* animovaná linka */
.line-anim{
    position:absolute;
    inset:auto 0;
    height:1px;
    pointer-events:none;
    opacity:0;
}
.line-top{ top:0; }
.line-bottom{ bottom:0; }

.line-anim::before{
    content:"";
    position:absolute;
    left:50%;
    width:0;
    height:100%;
    transform:translateX(-50%);
    background:linear-gradient(to right,
        transparent,
        var(--gold-solid),
        #ffe7b0,
        var(--gold-solid),
        transparent);

    transition:width 2.6s cubic-bezier(.16,.8,.2,1), opacity .8s;
}

.feature-bar.visible .line-anim{ opacity:1; }
.feature-bar.visible .line-anim::before{ width:100%; }

/* items */

.feature-item{
    flex:1;
    max-width:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;

    color:#e6e6e6;
    font-size:14px;
    letter-spacing:2px;
    position:relative;
    transition:.35s;
}

/* oddělovače */
.feature-item:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:36px;
    background:linear-gradient(to bottom,transparent,rgba(var(--gold),.35),transparent);
}

/* ikonka */
.feature-item .icon{
    color:var(--gold-solid);
    font-size:20px;
    opacity:.9;
    transition:.35s;
}

/* hover */
.feature-item:hover{ color:#fff; }

.feature-item:hover .icon{
    text-shadow:0 0 10px rgba(var(--gold),.7);
    transform:translateY(-1px);
}


/* ===== BASE ===== */

:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}

.products{
    position:relative;
    padding:110px 0 170px;
    overflow:hidden;
    color:#e8e8e8;
}

.products-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(160,120,60,.18), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%),
        linear-gradient(180deg,#0b0f14,#080a0d);
}

.products-glow{
    position:absolute;
    inset:0;
    pointer-events:none;
    filter:blur(40px);
    background:
        radial-gradient(circle at 30% 60%, rgba(200,160,90,.06), transparent 60%),
        radial-gradient(circle at 70% 40%, rgba(200,160,90,.05), transparent 65%);
}

.products-inner{
    position:relative;
    z-index:2;
    width:92%;
    max-width:1300px;
    margin:auto;
}

/* ===== TITLE ===== */

.section-head{ text-align:center; margin-bottom:90px; }

.title-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin-bottom:10px;
}

.title-row .line{
    flex:1;
    max-width:150px;
    height:1px;
    opacity:.9;
}

.title-row .line:first-child{
    background:linear-gradient(to left,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.title-row .line:last-child{
    background:linear-gradient(to right,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.section-head h2{
    font-family:'Marcellus SC', serif;
    font-size:30px;
    letter-spacing:2px;
    font-weight:400;
    white-space:nowrap;
}

.section-head .sub{
    color:var(--gold-solid);
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
}

/* ===== CARDS / PRODUCTS SLIDER ===== */

.cards{
    position:relative;
}

/* maska – ořezává jen obsah, ne šipky */
    .cards-viewport{
    overflow-x:hidden;
    overflow-y:visible;
    padding-top:18px;
    padding-bottom:28px;
    width:100%;
}

/* kolejnice */
.cards-track{
    display:flex;
    gap:36px;
    transition:transform .55s cubic-bezier(.22,.7,.2,1);
    will-change:transform;
}

/* přesně 3 karty vedle sebe */
.product-card{
    flex:0 0 calc((100% - 72px)/3);
    width:calc((100% - 72px)/3);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#0c0e11;
    border:1px solid rgba(var(--gold),.18);
    transition:.35s cubic-bezier(.2,.7,.2,1);
}

.product-card:hover{
    transform:translateY(-10px) scale(1.02);
    border-color:rgba(var(--gold),.45);
    box-shadow:0 35px 70px rgba(0,0,0,.55);
}

/* ===== ŠIPKY ===== */

.products-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:64px;
    height:64px;
    border-radius:50%;
    border:1px solid rgba(var(--gold),.35);
    background:rgba(10,12,16,.85);
    cursor:pointer;
    z-index:20;

    display:flex;
    align-items:center;
    justify-content:center;

    backdrop-filter:blur(6px);
    transition:.25s;
    font-size:0;
}

/* znak šipky */
.products-arrow::before{
    content:"‹";
    font-size:34px;
    color:#c9a96a;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-45%,-52%);
}

.products-arrow.right::before{
    content:"›";
    transform:translate(-55%,-52%);
}

.products-arrow:hover{
    background:rgba(20,22,26,.95);
    border-color:#c9a96a;
    box-shadow:0 0 18px rgba(var(--gold),.35);
    transform:translateY(-50%) scale(1.08);
}

/* vysunutí ven */
.products-arrow.left{ left:-32px; }
.products-arrow.right{ right:-32px; }


/* ===== IMAGE ===== */

.card-image{
    height:260px;
    background:center/cover no-repeat;
}

/* ===== CONTENT ===== */

.card-content{
    min-height:210px;
    padding:28px 26px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:18px;
    text-align:center;
    background:linear-gradient(180deg,rgba(20,22,26,.4),rgba(10,11,13,.95));
}

.product-card h3{
    margin:0;
    font-size:18px;
    font-weight:400;
    letter-spacing:2px;
}

/* ===== MOBILE ===== */

@media (max-width:1000px){

    .cards-viewport{
        overflow-x:auto;
        scroll-snap-type:x mandatory;
    }

    .cards-track{
        gap:26px;
    }

    .product-card{
        flex:0 0 100%;
        width:100%;
        scroll-snap-align:start;
    }

    .products-arrow{
        display:none;
    }
}


/* ===== DIVIDER ===== */

.divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:18px 0 22px;
}

.divider .line{
    width:70px;
    height:1px;
    opacity:.9;
}

.divider .left{
    background:linear-gradient(to left,
        rgba(var(--gold),.9),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.divider .right{
    background:linear-gradient(to right,
        rgba(var(--gold),.9),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.divider .dot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--gold-solid);
    box-shadow:
        0 0 6px rgba(var(--gold),.6),
        0 0 14px rgba(var(--gold),.35);
}

/* ===== BUTTON ===== */

.card-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:210px;
    padding:18px 34px;
    font-size:14px;
    letter-spacing:2.6px;
    text-transform:uppercase;
    text-decoration:none;
    color:#f7ead4;
    border-radius:2px;

    background:linear-gradient(90deg,#7e5c2d,#caa15d);

    box-shadow:
        0 12px 26px rgba(0,0,0,.35),
        inset 0 1px rgba(255,255,255,.28),
        inset 0 -2px rgba(0,0,0,.35);

    transition:.28s cubic-bezier(.2,.7,.2,1);
}

.card-btn:hover{
    transform:translateY(2px);
    filter:brightness(1.08);
}

.card-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
}

.card-btn.secondary{
    background:transparent;
    border:1px solid rgba(var(--gold),.45);
    box-shadow:none;
    color:#e7c98a;
}

.card-btn.secondary:hover{
    background:rgba(var(--gold),.12);
}


/* ===== MOBILE ===== */

@media (max-width:1000px){

    .cards{
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding-bottom:10px;
    }

    .cards-track{
        gap:26px;
        overflow:visible;
    }

    .product-card{
        flex:0 0 100%;
        scroll-snap-align:start;
    }

    .products-arrow{
        display:none;
    }
}

:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}



/* ===== STORY SECTION ===== */

.story{
    position:relative;
    display:flex;
    min-height:680px;
    overflow:hidden;
    background:linear-gradient(180deg,#0b0f14,#080a0d);
}

/* pozadí */
.story::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(160,120,60,.18), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%),
        linear-gradient(180deg,#0b0f14 0%, #0a0c10 40%, #080a0d 100%);
}

/* ===== ORIGINÁLNÍ POZICE LINKY ===== */
.story::after{
    content:"";
    position:absolute;
    top:0;
    left:42.9%;                /* NEMĚNIT — opticky zarovnané */
    width:2px;
    height:100%;
    z-index:5;
    pointer-events:none;

    transform:skewX(-8deg);
    transform-origin:top left;

    background:linear-gradient(
        to bottom,
        transparent,
        rgba(var(--gold),.95),
        transparent
    );
}

/* horní + spodní linka */
.story-top-line,
.story-bottom-line{
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    z-index:3;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.25) 15%,
        rgba(var(--gold),.65) 50%,
        rgba(var(--gold),.25) 85%,
        transparent);
}
.story-top-line{ top:0; }
.story-bottom-line{ bottom:0; }

/* ===== IMAGE ===== */

.story-image{
    position:relative;
    width:55%;
    overflow:hidden;
    clip-path:polygon(0 0, 92% 0, 78% 100%, 0 100%);
}

.story-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:40% center;
    filter:brightness(.9) contrast(1.05);
}

/* ===== CONTENT ===== */

.story-content{
    width:45%;
    padding:130px 9% 130px 6%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    z-index:2;
}

.story-content h2{
    margin:0 0 28px;
    font-family:'Marcellus SC', serif;
    font-size:46px;
    letter-spacing:2px;
    line-height:1.15;
    color:#f1f1f1;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.story-content p{
    margin:0 0 38px;
    max-width:560px;
    font-size:18px;
    line-height:1.8;
    color:#cfcfcf;
}

/* list */

.story-list{
    list-style:none;
    margin:0 0 48px;
    padding:0;
}

.story-list li{
    position:relative;
    padding-left:28px;
    margin-bottom:14px;
    font-size:17px;
    color:#dcdcdc;
}

.story-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--gold-solid);
    box-shadow:0 0 6px rgba(var(--gold),.6),0 0 12px rgba(var(--gold),.35);
}

/* CTA */

.story-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:260px;
    padding:20px 42px;
    text-decoration:none;
    text-transform:uppercase;
    font-size:15px;
    letter-spacing:2.6px;
    color:#f7ead4;
    border-radius:2px;

    background:linear-gradient(90deg,#7e5c2d,#caa15d);
    box-shadow:
        0 14px 32px rgba(0,0,0,.45),
        inset 0 1px rgba(255,255,255,.28),
        inset 0 -2px rgba(0,0,0,.35);

    transition:.28s cubic-bezier(.2,.7,.2,1);
}

.story-btn:hover{
    transform:translateY(3px);
    filter:brightness(1.08);
}

/* ===== RESPONSIVE ===== */

@media(max-width:1000px){

    .story{ flex-direction:column; }

    .story-image,
    .story-content{ width:100%; }

    .story-image{
        clip-path:none;
        height:420px;
    }

    .story-content{ padding:70px 8%; }

    .story::after{ display:none; }
}


/* ===== SETUP SECTION ===== */

:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}

.setup{
    position:relative;
    padding:140px 0 150px;
    overflow:hidden;
    background:linear-gradient(180deg,#080a0d,#0b0f14);
}

.setup::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        radial-gradient(1000px 500px at 50% -10%, rgba(160,120,60,.15), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%);
}

.setup-inner{
    position:relative;
    width:92%;
    max-width:1200px;
    margin:auto;
    z-index:2;
}

.setup-head{ text-align:center; margin-bottom:110px; }

/* ===== TIMELINE ===== */

.setup-timeline{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:46px;
    align-items:stretch; /* KLÍČOVÉ */
}

/* osa */
.setup-timeline::before{
    content:"";
    position:absolute;
    top:22px;
    left:0;
    width:100%;
    height:2px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.25) 15%,
        rgba(var(--gold),.6) 50%,
        rgba(var(--gold),.25) 85%,
        transparent);
}

/* progress */
.setup-progress{
    position:absolute;
    top:22px;
    left:0;
    height:2px;
    width:0%;
    background:linear-gradient(to right,var(--gold-solid),#ffe7b0,var(--gold-solid));
    transition:width 1.2s cubic-bezier(.16,.8,.2,1);
}

/* ===== STEP ===== */

.step{
    position:relative;
    margin-top:30px;
    padding:60px 28px 40px;
    border-radius:6px;

    display:flex;
    flex-direction:column;
    justify-content:flex-start;   /* DŮLEŽITÉ */

    background:linear-gradient(180deg,rgba(20,22,26,.35),rgba(10,11,13,.85));
    border:1px solid rgba(var(--gold),.12);

    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    opacity:.35;
    transform:translateY(40px) scale(.96);

    transition:
        transform .6s cubic-bezier(.2,.7,.2,1),
        opacity .6s ease,
        border-color .4s,
        box-shadow .4s;
}

.step.active{
    opacity:1;
    transform:translateY(0) scale(1);
    border-color:rgba(var(--gold),.45);
    box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 25px rgba(var(--gold),.12);
}

/* tečka */

.step .dot{
    position:absolute;
    top:-38px;
    left:50%;
    transform:translateX(-50%);
    width:14px;
    height:14px;
    border-radius:50%;
    background:#1d1f23;
    border:2px solid rgba(var(--gold),.25);
    transition:.5s;
}

.step.active .dot{
    background:var(--gold-solid);
    border-color:#ffe7b0;
    box-shadow:0 0 10px rgba(var(--gold),.8),0 0 26px rgba(var(--gold),.45);
}

/* text */

.step h3{
    font-family:'Marcellus SC', serif;
    font-size:20px;
    letter-spacing:2px;
    margin-bottom:10px;
    color:#f1f1f1;
}

.step p{
    max-width:260px;
    margin:0 auto; /* FIX — už ne auto vertikálně */
    font-size:17px;
    line-height:1.75;
    color:#cfcfcf;
}

/* dekorativní linky */

.setup-top-line,
.setup-bottom-line{
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.25) 15%,
        rgba(var(--gold),.65) 50%,
        rgba(var(--gold),.25) 85%,
        transparent);
}
.setup-top-line{ top:0; }
.setup-bottom-line{ bottom:0; }

/* ===== RESPONSIVE ===== */

@media (max-width:900px){
    .setup-timeline::before,
    .setup-progress{ display:none; }
}


/* ===== SETUP HEADING ===== */

.setup .title-row h2{
    font-family:'Marcellus SC', serif;
    font-size:30px;
    letter-spacing:2px;
    font-weight:400;
    white-space:nowrap;
    color:#fff;

    /* optický bold */
    -webkit-text-stroke:.4px rgba(255,255,255,.35);

    text-shadow:
        0 0 1px rgba(255,255,255,.35),
        0 1px 0 rgba(255,255,255,.25),
        0 2px 12px rgba(0,0,0,.55),
        0 0 8px rgba(255,255,255,.05);
}

.setup .sub{
    color:var(--gold-solid);
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
}

/* dokončení timeline sekce */
.setup.finish{
    box-shadow:
        inset 0 0 120px rgba(var(--gold),.08),
        inset 0 0 220px rgba(var(--gold),.05);
    transition:box-shadow 1.2s ease;
}


:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}

/* ===== REVIEWS STAGE ===== */

.reviews{
    position:relative;
    padding:150px 0 170px;
    background:linear-gradient(180deg,#0b0f14,#080a0d);
    overflow:hidden;
}

.reviews-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;

    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(160,120,60,.18), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%),
        linear-gradient(180deg,#0b0f14,#080a0d);
}


.reviews-inner{
    position:relative;
    z-index:2;
    width:92%;
    max-width:1200px;
    margin:auto;
    text-align:center;
}

/* ===== HEADING (TVŮJ ORIGINÁL) ===== */

.reviews .title-row h2{
    font-family:'Marcellus SC', serif;
    letter-spacing:2px;
    font-size:30px;
    font-weight:400;
    white-space:nowrap;
    color:#ffffff;

    -webkit-text-stroke:.4px rgba(255,255,255,.35);

    text-shadow:
        0 0 1px rgba(255,255,255,.35),
        0 1px 0 rgba(255,255,255,.25),
        0 2px 12px rgba(0,0,0,.55),
        0 0 8px rgba(255,255,255,.05);
}

.reviews .sub{
    color:var(--gold-solid);
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
}

/* dekorativní čáry nadpisu */
.reviews .title-row .line:first-child{
    background:linear-gradient(to left,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.reviews .title-row .line:last-child{
    background:linear-gradient(to right,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

/* ===== STAGE ===== */

.reviews-stage{
    position:relative;
    height:480px;
    margin-top:80px;
    perspective:1200px;
}

/* karta */

.review{
    position:absolute;
    top:0;
    left:50%;
    width:420px;
    transform-style:preserve-3d;
    transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .6s;
}

.review img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:6px 6px 0 0;
}

/* obsah */

.rev-content{
    position:relative;
    padding:26px 30px 34px;
    border:1px solid rgba(var(--gold),.35);
    border-top:none;
    backdrop-filter:blur(6px);
    background:linear-gradient(180deg,rgba(20,22,26,.45),rgba(10,11,13,.96));
}

/* kovový okraj */
.rev-content::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:6px;
    padding:1px;
    background:linear-gradient(135deg,
        rgba(255,220,150,.9),
        rgba(var(--gold),.5) 35%,
        rgba(120,95,50,.25) 55%,
        rgba(255,220,150,.9));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
    opacity:.55;
}

.rev-content::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:6px;
    box-shadow:inset 0 0 18px rgba(255,220,150,.08),inset 0 0 40px rgba(var(--gold),.06);
}

.rev-content h3{
    font-family:'Marcellus SC', serif;
    color:#f1f1f1;
    letter-spacing:2px;
    margin:12px 0;
}

.rev-content p{
    color:#d6d6d6;
    line-height:1.7;
}

/* ===== STARS ===== */

.stars{
    display:inline-block;
    color:#e7c98a;
    letter-spacing:6px;
    font-size:18px;
    animation:starsBreath 3.2s ease-in-out infinite;
}

@keyframes starsBreath{
    0%,100%{ text-shadow:0 0 6px rgba(var(--gold),.35),0 0 14px rgba(var(--gold),.18); }
    50%{ text-shadow:0 0 12px rgba(255,220,150,.95),0 0 28px rgba(255,220,150,.55),0 0 60px rgba(255,220,150,.25); }
}

/* ===== POSITIONS ===== */

.r-active{ transform:translateX(-50%) scale(1); z-index:3; }
.r-left{ transform:translateX(-140%) scale(.78) rotateY(18deg); z-index:2; filter:brightness(.55) blur(1px); }
.r-right{ transform:translateX(40%) scale(.78) rotateY(-18deg); z-index:2; filter:brightness(.55) blur(1px); }

/* float pouze aktivní */

.r-active{ animation:reviewFloat 6s ease-in-out infinite; }

@keyframes reviewFloat{
    0%,100%{ transform:translateX(-50%) scale(1) translateY(0); }
    50%{ transform:translateX(-50%) scale(1.02) translateY(-6px); }
}

/* aura pod kartou */

.review::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-55px;
    width:70%;
    height:80px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse at center,rgba(var(--gold),.18),rgba(var(--gold),.08) 40%,transparent 70%);
    filter:blur(18px);
    opacity:0;
    transition:.6s;
}

.review.r-active::after{
    opacity:1;
    animation:cardAura 4s ease-in-out infinite;
}

@keyframes cardAura{
    0%,100%{ transform:translateX(-50%) scale(1); filter:blur(18px); opacity:.65; }
    50%{ transform:translateX(-50%) scale(1.15); filter:blur(28px); opacity:1; }
}

/* šipky */

.rev-arrow{
    position:absolute;
    top:40%;
    transform:translateY(-50%);
    border:none;
    background:none;
    font-size:46px;
    color:var(--gold-solid);
    opacity:.7;
    cursor:pointer;
    transition:.25s;
}

.rev-arrow:hover{ opacity:1; }
.rev-arrow.left{ left:-10px; }
.rev-arrow.right{ right:-10px; }


:root{
    --gold:201,169,106;
    --gold-solid:#c9a96a;
}

/* ===== FAQ ===== */

.faq{
    position:relative;
    padding:150px 0 170px;
    background:linear-gradient(180deg,#0b0f14,#080a0d);
    overflow:hidden;
}

.faq::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(160,120,60,.18), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%),
        linear-gradient(180deg,#0b0f14,#080a0d);
}

.faq-inner{
    position:relative;
    z-index:2;
    width:92%;
    max-width:900px;
    margin:auto;
}

.faq-head{ text-align:center; margin-bottom:110px; }

/* ===== ITEM ===== */

.faq-item{
    position:relative;
    margin-bottom:18px;
    border:1px solid rgba(var(--gold),.18);
    background:linear-gradient(180deg,rgba(20,22,26,.35),rgba(10,11,13,.9));
    backdrop-filter:blur(8px);
    transition:.45s cubic-bezier(.2,.7,.2,1);
    overflow:hidden;
}

/* kovový okraj */

.faq-item::before{
    content:"";
    position:absolute;
    inset:0;
    padding:1px;
    border-radius:2px;
    background:linear-gradient(135deg,
        rgba(255,220,150,.9),
        rgba(var(--gold),.45) 35%,
        rgba(120,95,50,.25) 60%,
        rgba(255,220,150,.9));

    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;

    opacity:.35;
}

/* světelný přejezd */

.faq-item::after{
    content:"";
    position:absolute;
    inset:-40% -20%;
    background:linear-gradient(110deg,
        transparent 30%,
        rgba(255,255,255,.28) 45%,
        rgba(255,255,255,.55) 50%,
        rgba(255,255,255,.28) 55%,
        transparent 70%);
    transform:translateX(-120%);
    opacity:0;
    mix-blend-mode:screen;
    filter:blur(12px);
    transition:transform .9s cubic-bezier(.16,.8,.2,1), opacity .35s;
}

/* ===== QUESTION ===== */

.faq-question{
    width:100%;
    text-align:left;
    padding:26px 28px;
    border:none;
    background:none;
    cursor:pointer;

    display:flex;
    justify-content:space-between;
    align-items:center;

    font-family:'Marcellus SC', serif;
    font-size:20px;
    letter-spacing:1.5px;
    color:#f1f1f1;
}

.faq-question,
.faq-answer{ position:relative; z-index:2; }

/* ikonka */

.faq-icon{
    width:14px;
    height:14px;
    border-right:2px solid var(--gold-solid);
    border-bottom:2px solid var(--gold-solid);
    transform:rotate(45deg);
    transition:.4s cubic-bezier(.2,.7,.2,1);
}

/* ===== ANSWER ===== */

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .6s cubic-bezier(.2,.7,.2,1);
}

.faq-answer p{
    padding:0 28px 28px;
    color:#cfcfcf;
    line-height:1.7;
    font-size:18px;
}

/* OPEN */

.faq-item.open{
    box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 25px rgba(var(--gold),.18);
}

.faq-item.open::after{
    opacity:.9;
    transform:translateX(120%);
}

.faq-item.open .faq-answer{
    max-height:800px; /* velké číslo = žádné useknutí */
}

.faq-item.open .faq-icon{
    transform:rotate(225deg);
}

/* ===== LINES ===== */

.faq-top-line,
.faq-bottom-line{
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.25) 15%,
        rgba(var(--gold),.65) 50%,
        rgba(var(--gold),.25) 85%,
        transparent);
}
.faq-top-line{ top:0; }
.faq-bottom-line{ bottom:0; }

/* ===== HEADING ===== */

.faq .title-row h2{
    font-family:'Marcellus SC', serif;
    font-size:30px;
    letter-spacing:2px;
    font-weight:400;
    white-space:nowrap;
    color:#fff;

    -webkit-text-stroke:.4px rgba(255,255,255,.35);
    text-shadow:
        0 0 1px rgba(255,255,255,.35),
        0 1px 0 rgba(255,255,255,.25),
        0 2px 12px rgba(0,0,0,.55),
        0 0 8px rgba(255,255,255,.05);
}

.faq .sub{
    color:var(--gold-solid);
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
}

/* dekorativní čáry nadpisu */

.faq .title-row .line:first-child{
    background:linear-gradient(to left,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.faq .title-row .line:last-child{
    background:linear-gradient(to right,
        rgba(var(--gold),.95),
        rgba(var(--gold),.55),
        rgba(var(--gold),.25),
        transparent);
}

.title-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
}

/* ===== FOOTER ===== */

.site-footer{
    position:relative;
    padding:70px 0 60px;
    text-align:center;
    background:linear-gradient(180deg,#080a0d,#050608);
    overflow:hidden;
}

/* atmosféra jako ostatní sekce */
.site-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(900px 400px at 50% -20%, rgba(160,120,60,.12), transparent 60%),
        radial-gradient(700px 300px at 80% 120%, rgba(0,0,0,.7), transparent 70%);
    opacity:.7;
    pointer-events:none;
}

.footer-inner{
    position:relative;
    width:92%;
    max-width:900px;
    margin:auto;
    z-index:2;
}

.footer-text{
    color:#bfbfbf;
    font-size:14px;
    letter-spacing:1px;
    line-height:1.8;
    font-family:Arial, Helvetica, sans-serif;
}

.footer-text strong{
    color:var(--gold-solid);
    font-weight:500;
}

.footer-text a{
    color:var(--gold-solid);
    text-decoration:none;
    transition:color .25s;
}

.footer-text a:hover{
    color:#ffe7b0;
}

/* dekorativní linka */

.footer-line{
    height:1px;
    margin:28px auto;
    max-width:260px;
    background:linear-gradient(to right,
        transparent,
        rgba(var(--gold),.6),
        transparent);
}


/* ===== INQUIRY SECTION ===== */

.inquiry{
    position:relative;
    padding:150px 0 170px;
    background:linear-gradient(180deg,#080a0d,#0b0f14);
    overflow:hidden;
}


.inquiry::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(900px 400px at 50% 0%, rgba(201,169,106,.15), transparent 60%),
        radial-gradient(700px 500px at 80% 120%, rgba(0,0,0,.8), transparent 70%);
}

.inquiry-inner{
    position:relative;
    z-index:2;
    width:92%;
    max-width:900px;
    margin:auto;
}

/* FORM PANEL */
.inquiry-form{
    margin-top:10px;
    padding:55px 60px 65px;
    border:1px solid rgba(201,169,106,.25);
    background:linear-gradient(180deg,rgba(20,22,26,.45),rgba(10,11,13,.95));
    backdrop-filter:blur(8px);
}

/* GRID */
.grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
}

.field{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.field.full{
    grid-column:1/-1;
}

/* větší názvy polí */
.inquiry-form label{
    font-size:15px;
    letter-spacing:2.4px;
    color:#c9a96a;
    text-transform:uppercase;
}


/* INPUTS */
input,select,textarea{
    background:#0a0c10;
    border:1px solid rgba(201,169,106,.25);
    padding:16px 18px;
    color:#e8e8e8;
    font-size:16.5px;
    outline:none;
    transition:.25s;
}

.inquiry-form select{
    appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,#c9a96a 50%),
                     linear-gradient(135deg,#c9a96a 50%,transparent 50%);
    background-position:calc(100% - 20px) calc(50% - 3px),
                        calc(100% - 14px) calc(50% - 3px);
    background-size:6px 6px,6px 6px;
    background-repeat:no-repeat;
}

input:focus,select:focus,textarea:focus{
    border-color:#c9a96a;
    box-shadow:0 0 0 1px rgba(201,169,106,.35);
}

/* BUTTON */
.inquiry-btn{
    margin-top:40px;
    width:100%;
    padding:20px;
    background:linear-gradient(90deg,#7e5c2d,#caa15d);
    color:#f6ead3;
    letter-spacing:2px;
    text-transform:uppercase;
    border:none;
    cursor:pointer;
    transition:.3s;
}

.inquiry-btn:hover{
    filter:brightness(1.08);
    box-shadow:0 0 30px rgba(201,169,106,.35);
}

/* lines */
.inquiry-top-line,
.inquiry-bottom-line{
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    background:linear-gradient(
        to right,
        transparent,
        rgba(201,169,106,0.25) 15%,
        rgba(201,169,106,0.65) 50%,
        rgba(201,169,106,0.25) 85%,
        transparent
    );
}
.inquiry-top-line{top:0;}
.inquiry-bottom-line{bottom:0;}

@media(max-width:800px){
    .grid{grid-template-columns:1fr;}
    .inquiry-form{padding:40px 28px;}
}


/* ===== INQUIRY HEADING FIX ===== */

.inquiry-head{
    text-align:center;
    margin:10px 0 40px; /* větší mezera pod titulkem */
}

/* title row */

.inquiry .title-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin-bottom:10px;
}

/* nadpis – sjednocen s ostatními sekcemi */

.inquiry .title-row h2{
    font-family:'Marcellus SC', serif;
    letter-spacing:2px;
    font-size:30px;
    font-weight:400;
    white-space:nowrap;
    color:#fff;

    -webkit-text-stroke:.4px rgba(255,255,255,.35);
    text-shadow:
        0 0 1px rgba(255,255,255,.35),
        0 1px 0 rgba(255,255,255,.25),
        0 2px 12px rgba(0,0,0,.55),
        0 0 8px rgba(255,255,255,.05);
}

/* subtitle */

.inquiry .sub{
    color:var(--gold-solid);
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
    text-align:center;
}

/* FORM SPACING */

.inquiry-form .field{ gap:6px; }

.inquiry-form label{ margin-bottom:-1px; }

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea{
    margin-top:-1px;
}

/* horní prostor */

.inquiry-form .field:first-child,
.inquiry-form .grid .field:nth-child(-n+2),
.inquiry-form .field.full:last-of-type{
    margin-top:18px;
}

/* mezera nad Typ poptávky (celý blok včetně labelu) */
.inquiry-form .field.full:nth-child(2){
    margin-top:18px;
}



/* focus efekt */

.inquiry-form{
    transition:border-color .4s ease, box-shadow .4s ease;
}

.inquiry-form:focus-within{
    border-color:rgba(var(--gold),.55);
    box-shadow:
        0 0 40px rgba(var(--gold),.12),
        inset 0 0 25px rgba(var(--gold),.05);
}

/* ambient glow */

.inquiry-ambient{
    position:absolute;
    inset:-15%;
    z-index:0;
    pointer-events:none;
    filter:blur(40px);
    opacity:.28;

    background:
        radial-gradient(circle at 30% 40%, rgba(var(--gold),.10), transparent 45%),
        radial-gradient(circle at 70% 60%, rgba(var(--gold),.07), transparent 50%),
        radial-gradient(circle at 50% 80%, rgba(120,95,50,.10), transparent 55%);

    animation:ambientDrift 9s ease-in-out infinite alternate;
    transition:transform .35s cubic-bezier(.22,.7,.2,1);
}

@keyframes ambientDrift{
    from{ transform:translate3d(-1.5%,-1%,0) scale(1); }
    to{ transform:translate3d(1.5%,1%,0) scale(1.03); }
}


/* ===== VIDEO SHOWCASE ===== */

.video-showcase{
    position:relative;
    padding:150px 0 170px;
    overflow:hidden;
    background:linear-gradient(180deg,#0b0f14,#080a0d);
}

/* background */
.video-showcase::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(160,120,60,.18), transparent 60%),
        radial-gradient(900px 500px at 80% 120%, rgba(0,0,0,.7), transparent 70%),
        linear-gradient(180deg,#0b0f14 0%, #0a0c10 40%, #080a0d 100%);
}

.video-inner{
    position:relative;
    z-index:2;
    width:92%;
    max-width:1100px;
    margin:auto;
}

/* ===== HEADING ===== */

.video-showcase .title-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin-bottom:10px;
}

.video-showcase .title-row .line:first-child{
    flex:1;
    max-width:150px;
    height:1px;
    background:linear-gradient(to left,rgba(201,169,106,.95),rgba(201,169,106,.55),rgba(201,169,106,.25),transparent);
}

.video-showcase .title-row .line:last-child{
    flex:1;
    max-width:150px;
    height:1px;
    background:linear-gradient(to right,rgba(201,169,106,.95),rgba(201,169,106,.55),rgba(201,169,106,.25),transparent);
}

.video-showcase h2{
    font-family:'Marcellus SC', serif;
    letter-spacing:2px;
    font-size:30px;
    font-weight:400;
    white-space:nowrap;
    color:#f1f1f1;
    text-shadow:0 0 1px rgba(255,255,255,.35),0 1px 0 rgba(255,255,255,.25),0 2px 12px rgba(0,0,0,.55);
}

.video-showcase .sub{
    color:#c9a96a;
    letter-spacing:5px;
    font-size:13px;
    opacity:.85;
    text-align:center;
}

/* ===== 3D CAROUSEL ===== */

.video-stage{
    position:relative;
    height:560px;
    margin-top:80px;
    perspective:1600px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* karta */
.video-card{
    position:absolute;
    width:760px;
    aspect-ratio:16/9;
    border:1px solid rgba(201,169,106,.25);
    background:#000;
    overflow:hidden;
    transition:transform .65s cubic-bezier(.22,.9,.24,1), filter .65s, box-shadow .65s;
}

/* vertikální video */
.video-card.vertical{
    width:420px;
    aspect-ratio:9/16;
}

.video-card iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    pointer-events:none;
}

/* aktivní */
.v-main{
    transform:translateX(0) scale(1);
    z-index:3;
    box-shadow:0 40px 100px rgba(0,0,0,.8),0 0 40px rgba(201,169,106,.18);
}

.v-main iframe{ pointer-events:auto; }

/* levá */
.v-left{
    transform:translateX(-65%) scale(.72) rotateY(28deg);
    filter:brightness(.45) blur(1px);
    z-index:2;
}

/* pravá */
.v-right{
    transform:translateX(65%) scale(.72) rotateY(-28deg);
    filter:brightness(.45) blur(1px);
    z-index:2;
}

/* ===== ARROWS ===== */

.video-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:none;
    border:none;
    color:#c9a96a;
    font-size:64px;
    cursor:pointer;
    opacity:.75;
    transition:.25s;
    z-index:50;
}

.video-arrow:hover{
    opacity:1;
    transform:translateY(-50%) scale(1.15);
}

.video-arrow.left{ left:-10px; }
.video-arrow.right{ right:-10px; }

.video-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:90px;
    height:90px;

    background:none;
    border:none;
    cursor:pointer;

    z-index:50;
}

/* černý kruh */
.video-arrow::before{
    content:"";
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.8);
    border-radius:50%;

    backdrop-filter:blur(6px);

    box-shadow:
        0 10px 30px rgba(0,0,0,.8),
        inset 0 0 18px rgba(0,0,0,.9);
}

.video-arrow::after{
    content:"‹"; /* default LEFT */

    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    color:#c9a96a;
    font-size:64px;
    line-height:1;
}

.video-arrow.right::after{
    content:"›";
}

.video-arrow:hover{
    opacity:1;
    transform:translateY(-50%) scale(1.12);
}

/* ===== PROGRESS ===== */

.video-progress{
    width:420px;
    height:3px;
    margin:40px auto 0;
    background:rgba(201,169,106,.15);
    overflow:hidden;
}

.video-progress-bar{
    height:100%;
    width:0%;
    background:linear-gradient(90deg,#c9a96a,#ffe7b0,#c9a96a);
    transition:width .5s cubic-bezier(.2,.7,.2,1);
    box-shadow:0 0 12px rgba(201,169,106,.5);
}

.header-btn{
    position:relative;
}

.header-btn .orbit{
    position:absolute;
    transform:translate(-50%,-50%);
}

/* =========================================================
   GLOBAL SCALE SYSTEM
   ========================================================= */

:root{
    --scale: clamp(.78, 100vw / 1600, 1.15);
}

/* text se přizpůsobuje rozlišení */
body{
    font-size: calc(16px * var(--scale));
}


/* =========================================================
   HEADER
   ========================================================= */

.header-inner{
    max-width:1600px;
    padding:0 clamp(20px,4vw,80px);
}

.nav{
    gap:clamp(16px,2.5vw,36px);
}

.nav a{
    font-size:clamp(11px,0.7vw,13px);
    letter-spacing:clamp(1px,.12vw,1.8px);
}


/* =========================================================
   HERO
   ========================================================= */

.hero{
    min-height:clamp(560px,70vh,900px);
}

.hero-content{
    padding-left:clamp(30px,6vw,120px);
    max-width:clamp(480px,42vw,760px);
}

.title-main{
    font-size:clamp(42px,5.5vw,78px);
}

.title-sub{
    font-size:clamp(32px,4vw,60px);
}

.hero-subtitle{
    font-size:clamp(13px,1vw,18px);
}

.hero-text{
    font-size:clamp(14px,1.1vw,17px);
}


/* =========================================================
   FEATURE BAR
   ========================================================= */

.feature-item{
    font-size:clamp(12px,.9vw,14px);
    gap:clamp(10px,1.2vw,16px);
}


/* =========================================================
   PRODUCTS GRID / SLIDER
   ========================================================= */

.products-inner{
    max-width:1600px;
}

.cards-track{
    gap:clamp(20px,2vw,36px);
}

/* vždy 3 karty */
.product-card{
    flex:0 0 calc((100% - 72px)/3);
    width:calc((100% - 72px)/3);
}

/* ultra wide – 4 karty */
@media (min-width:1800px){
    .product-card{
        flex:0 0 calc((100% - 108px)/4);
        width:calc((100% - 108px)/4);
    }
}

/* mobil */
@media (max-width:1000px){
    .product-card{
        flex:0 0 100%;
        width:100%;
    }
}


@media (min-width:1800px){
    .product-card{
        flex:0 0 calc((100% - 108px)/4);
        width:calc((100% - 108px)/4);
    }
}

.card-image{
    height:clamp(200px,18vw,280px);
}


/* =========================================================
   STORY SECTION
   ========================================================= */

.story{
    min-height:clamp(560px,70vh,760px);
}

.story-content{
    padding:
        clamp(70px,8vw,130px)
        clamp(4%,6vw,9%)
        clamp(70px,8vw,130px)
        clamp(4%,5vw,6%);
}

.story-content h2{
    font-size:clamp(28px,3vw,46px);
}

.story-content p{
    font-size:clamp(15px,1.2vw,18px);
}


/* =========================================================
   SETUP TIMELINE
   ========================================================= */

.setup-inner{
    max-width:1400px;
}

.setup-timeline{
    gap:clamp(24px,3vw,46px);
}

.step{
    padding:clamp(40px,4vw,60px) clamp(18px,2vw,28px) clamp(28px,3vw,40px);
}

.step p{
    font-size:clamp(14px,1.1vw,17px);
}


/* =========================================================
   VIDEO CAROUSEL
   ========================================================= */

.video-card{
    width:clamp(520px,50vw,760px);
}

.video-card.vertical{
    width:clamp(260px,28vw,420px);
}

.video-stage{
    height:clamp(420px,55vw,560px);
}


/* =========================================================
   REVIEWS
   ========================================================= */

.review{
    width:clamp(320px,30vw,420px);
}

.rev-content p{
    font-size:clamp(14px,1.1vw,16px);
}


/* =========================================================
   FORM
   ========================================================= */

.inquiry-inner{
    max-width:1100px;
}

.inquiry-form{
    padding:clamp(35px,4vw,60px);
}

input,select,textarea{
    font-size:clamp(14px,1vw,16.5px);
}


/* =========================================================
   FAQ
   ========================================================= */

.faq-inner{
    max-width:1100px;
}

.faq-question{
    font-size:clamp(16px,1.4vw,20px);
}

.faq-answer p{
    font-size:clamp(14px,1.1vw,18px);
}


/* =========================================================
   HUGE MONITORS (ULTRAWIDE FIX)
   ========================================================= */

@media (min-width:2200px){

    .hero-content{
        max-width:900px;
    }

    .products-inner,
    .setup-inner,
    .video-inner,
    .reviews-inner{
        max-width:1800px;
    }

}

.story::after{
    display:none;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

/* =========================================================
   SEO
   ========================================================= */

   .seo-h1{
position:absolute;
left:-9999px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}