/* =========================================================
   Imperial Sushi — Tajemný set (reklamní landing)
   ========================================================= */

/* ---------- Fonts ---------- */
@font-face{font-family:"Prompt";src:url("../assets/fonts/prompt-400-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Prompt";src:url("../assets/fonts/prompt-400-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Prompt";src:url("../assets/fonts/prompt-500-latin-ext.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;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:"Prompt";src:url("../assets/fonts/prompt-500-latin.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Prompt";src:url("../assets/fonts/prompt-600-latin-ext.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;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:"Prompt";src:url("../assets/fonts/prompt-600-latin.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Prompt";src:url("../assets/fonts/prompt-700-latin-ext.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;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:"Prompt";src:url("../assets/fonts/prompt-700-latin.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Baskervville";src:url("../assets/fonts/baskervville-400-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Baskervville";src:url("../assets/fonts/baskervville-400-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Baskervville";src:url("../assets/fonts/baskervville-400-italic-latin-ext.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;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:"Baskervville";src:url("../assets/fonts/baskervville-400-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* ---------- Tokens ---------- */
:root{
    --bg:#0a0a0b;
    --bg-alt:#121214;
    --bg-deep:#050506;
    --bg-footer:#050506;

    --line:#20222a;
    --line-input:#2a3e42;
    --line-soft:#2a2d36;
    --line-footer:#16181d;

    --red:#ff4b4b;
    --red-soft:#ff8b8b;
    --gold:#ffb400;
    --green:#3ddc84;
    --green-ta:#34e0a1;

    --text:#fff;
    --text-2:#c7d2d4;
    --text-3:#b7c7c9;
    --text-4:#9bb0b3;
    --ink:#0b1417;
    --ink-2:#3c4c50;

    --muted:#8fa3a6;
    --muted-2:#7b8f93;
    --muted-3:#61767a;
    --muted-4:#3d4e52;

    /* design frame 1440 × 880 → 1 px maketa = 0.069444vw */
    --u:.069444vw;
    --gutter:5.556vw;

    --font:"Prompt",system-ui,-apple-system,"Segoe UI",sans-serif;
    --font-serif:"Baskervville","Times New Roman",serif;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
    margin:0;
    overflow-x:hidden;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font);
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
}
img,picture,video,svg{display:block;max-width:100%}
h1,h2,h3,p,dl,dd,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit}
hr{border:0}

.page__skip{
    position:absolute;left:-9999px;top:0;z-index:100;
    padding:12px 18px;background:var(--red);color:#fff;border-radius:0 0 10px 0;
}
.page__skip:focus{left:0}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.container{width:100%;padding-inline:var(--gutter)}
.section{padding:5.833vw 0 6.111vw}
.section--alt{background:var(--bg-alt)}

/* ---------- Icons ---------- */
.icon{
    display:block;
    background-color:currentColor;
    -webkit-mask:var(--icon) center/contain no-repeat;
    mask:var(--icon) center/contain no-repeat;
}
.icon--tripadvisor{--icon:url("../assets/icons/tripadvisor.svg")}
.icon--pin{--icon:url("../assets/icons/pin.svg")}
.icon--check{--icon:url("../assets/icons/check.svg")}
.icon--alert{--icon:url("../assets/icons/alert.svg")}

/* ---------- Button ---------- */
.button{
    display:inline-flex;align-items:center;justify-content:center;
    font-size:calc(15*var(--u));font-weight:600;line-height:1.5;
    border-radius:calc(12*var(--u));
    transition:background-color .2s ease,transform .2s ease;
}
.button--primary{background:var(--red);color:#fff}
.button--primary:hover{background:#ff5f5f}
.button--primary:active{transform:translateY(1px)}
.button--ghost{
    background:rgba(255,255,255,.06);color:#fff;
    border:1px solid rgba(255,255,255,.2);
}
.button--ghost:hover{background:rgba(255,255,255,.12)}

/* =========================================================
   HERO
   Maketa 1440 × 880. Jednotka --u se na první obrazovce řídí
   i výškou okna, takže se hero vejde celé i na nízkém monitoru.
   ========================================================= */
.hero{
    --u:min(.069444vw,.127vh);
    position:relative;
    min-height:min(calc(880*var(--u)),100svh);
    display:flex;flex-direction:column;
    overflow:hidden;
    background:var(--bg);
    isolation:isolate;
}
.hero__video{
    position:absolute;inset:0;z-index:-2;
    width:100%;height:100%;
    object-fit:cover;
}
.hero__shade,.hero__vignette{position:absolute;z-index:-1;pointer-events:none}
.hero__shade{
    inset:0;
    background:linear-gradient(180deg,
        rgba(5,5,6,.66) 0%,
        rgba(5,5,6,.20) 14%,
        rgba(5,5,6,.10) 44%,
        rgba(5,5,6,.72) 68%,
        rgba(5,5,6,.96) 100%);
}
.hero__vignette{
    left:0;right:0;bottom:0;height:calc(300*var(--u));
    background:linear-gradient(180deg,rgba(10,10,11,0) 0%,rgba(10,10,11,.92) 100%);
}

/* header */
.header{padding-top:calc(26*var(--u))}
.header__inner{
    display:flex;align-items:center;justify-content:space-between;gap:calc(20*var(--u));
    min-height:calc(60*var(--u));
}
.header__logo{width:calc(94*var(--u));height:auto}
.header__phone{color:var(--text);font-size:calc(14*var(--u));font-weight:600}
.header__phone:hover{color:var(--red-soft)}

.hero__container{margin-top:auto;padding-bottom:calc(76*var(--u))}
.hero__content{
    display:flex;flex-direction:column;gap:calc(22*var(--u));
    width:min(calc(620*var(--u)),100%);
}
.hero__eyebrow{
    display:flex;align-items:center;gap:calc(14*var(--u));
    color:var(--red-soft);
    font-family:var(--font-serif);font-style:italic;font-size:calc(19*var(--u));line-height:1.3;
}
.hero__rule{flex:0 0 calc(46*var(--u));height:1px;background:var(--red)}
.hero__heading{display:flex;flex-direction:column;gap:calc(18*var(--u))}
.hero__title{
    color:var(--text);
    font-size:calc(62*var(--u));font-weight:700;line-height:1.065;letter-spacing:calc(-1.8*var(--u));
}
.hero__lead{
    max-width:calc(520*var(--u));
    color:var(--text-2);font-size:calc(16*var(--u));line-height:1.625;
}
.hero__facts{color:var(--text-4);font-size:calc(13*var(--u));font-weight:500;letter-spacing:calc(.3*var(--u))}

/* ratings pinned to the right edge */
.hero__ratings{
    position:absolute;top:calc(300*var(--u));right:0;
    display:flex;flex-direction:column;align-items:flex-end;gap:calc(14*var(--u));
}
.rating{
    display:flex;align-items:center;gap:calc(14*var(--u));
    width:calc(188*var(--u));min-height:calc(96*var(--u));
    margin-right:calc(-16*var(--u));
    padding:0 calc(40*var(--u)) 0 calc(18*var(--u));
    background:#fff;
    border-radius:calc(26*var(--u)) 0 0 calc(26*var(--u));
    box-shadow:calc(-8*var(--u)) calc(12*var(--u)) calc(34*var(--u)) calc(-8*var(--u)) rgba(0,0,0,.3);
    transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease;
}
.rating:hover{
    transform:translateX(calc(-16*var(--u)));
    box-shadow:calc(-14*var(--u)) calc(16*var(--u)) calc(44*var(--u)) calc(-6*var(--u)) rgba(0,0,0,.55);
}
.rating--rounded{
    width:calc(172*var(--u));margin-right:0;
    padding:0 calc(24*var(--u)) 0 calc(18*var(--u));
    border-radius:calc(26*var(--u));
}
.rating--rounded:hover{transform:translateY(calc(-4*var(--u)))}
.rating__badge{
    display:flex;align-items:center;justify-content:center;
    flex:0 0 calc(58*var(--u));width:calc(58*var(--u));height:calc(58*var(--u));
    border-radius:50%;
}
.rating__badge--tripadvisor{background:var(--green-ta);color:#fff}
.rating__badge--google{background:#fff;border:1px solid #e6eaeb}
.rating__logo{width:calc(34*var(--u));height:calc(21*var(--u))}
.rating__badge--google .rating__logo{width:calc(30*var(--u));height:calc(30*var(--u))}
.rating__body{display:flex;flex-direction:column;gap:calc(2*var(--u))}
.rating__score{color:var(--ink);font-size:calc(34*var(--u));font-weight:700;letter-spacing:calc(-1*var(--u));line-height:1.5}
.rating__word{color:var(--ink-2);font-size:calc(12.5*var(--u));font-weight:600}
.rating__marks{display:flex;align-items:center;gap:calc(3*var(--u))}
.rating__marks i{display:block;width:calc(8*var(--u));height:calc(8*var(--u))}
.rating__marks--dots i{background:var(--green-ta);border-radius:50%}
.rating__marks--stars i{
    background:var(--gold);
    clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.rating__marks i.is-dim{opacity:.42}

/* =========================================================
   ADDRESS FINDER
   ========================================================= */
.finder{--field-h:calc(58*var(--u));display:flex;flex-direction:column;gap:calc(12*var(--u));width:min(calc(600*var(--u)),100%)}
.finder__row{display:flex;align-items:flex-start;gap:calc(10*var(--u))}
.finder__field{position:relative;flex:1 1 auto;min-width:0;margin:0}
.finder__label{
    display:block;margin-bottom:calc(8*var(--u));
    color:var(--muted);
    font-size:calc(10*var(--u));font-weight:600;letter-spacing:calc(2*var(--u));text-transform:uppercase;
}
.finder__label--hidden{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
.finder__control{
    display:flex;align-items:center;gap:calc(12*var(--u));
    height:var(--field-h);padding-inline:calc(18*var(--u));
    font-size:calc(15*var(--u));
    background:rgba(8,9,10,.86);
    border:1px solid var(--line-input);
    border-radius:calc(12*var(--u));
    transition:border-color .2s ease;
}
.finder__control:focus-within{border-color:var(--red)}
.finder__icon{flex:0 0 calc(19*var(--u));width:calc(19*var(--u));height:calc(19*var(--u));color:var(--muted-2)}
.finder__input{
    flex:1 1 auto;min-width:0;
    color:var(--text);font-size:calc(15*var(--u));
    background:none;border:0;outline:none;
}
.finder__input::placeholder{color:var(--muted-2)}
.finder__submit{flex:0 0 auto;height:var(--field-h);padding-inline:calc(30*var(--u));align-self:flex-end}
.finder__hint{color:var(--muted-3);font-size:calc(12.5*var(--u))}

/* suggestions */
.finder__suggestions[hidden],.finder__result[hidden]{display:none}
.finder__suggestions{
    position:absolute;top:calc(100% + 6*var(--u));left:0;right:0;z-index:5;
    display:block;
    background:#0c0d0f;
    border:1px solid var(--line-input);
    border-radius:calc(12*var(--u));
    overflow:hidden;
}
.finder__suggestion{
    display:block;width:100%;
    padding:calc(11*var(--u)) calc(16*var(--u));
    text-align:left;
    border-bottom:1px solid #1b2226;
}
.finder__suggestion:last-child{border-bottom:0}
.finder__suggestion:hover,.finder__suggestion[aria-selected="true"]{background:rgba(255,255,255,.06)}
.finder__suggestion-street{display:block;color:var(--text);font-size:calc(13.5*var(--u));font-weight:500}
.finder__suggestion-area{display:block;color:var(--muted-3);font-size:calc(11.5*var(--u))}

/* result */
.finder__result{display:flex;flex-direction:column;gap:calc(14*var(--u))}
.finder__alert{
    display:flex;align-items:center;gap:calc(12*var(--u));
    padding:calc(14*var(--u)) calc(16*var(--u)) calc(14*var(--u)) calc(18*var(--u));
    border-radius:calc(12*var(--u));
}
.finder__alert--ok{background:rgba(61,220,132,.10);border:1px solid rgba(61,220,132,.35)}
.finder__alert--away{background:rgba(255,180,0,.10);border:1px solid rgba(255,180,0,.35)}
.finder__alert-icon{flex:0 0 calc(20*var(--u));width:calc(20*var(--u));height:calc(20*var(--u))}
.finder__alert--ok .finder__alert-icon{color:var(--green)}
.finder__alert--away .finder__alert-icon{color:var(--gold)}
.finder__alert-body{display:flex;flex-direction:column;gap:calc(3*var(--u));text-align:left}
.finder__alert-title{color:var(--text);font-size:calc(14*var(--u));font-weight:600}
.finder__alert-note{color:var(--text-4);font-size:calc(11.5*var(--u))}
.finder__actions{display:flex;gap:calc(10*var(--u))}
.finder__actions .button{flex:1 1 0;padding:calc(15*var(--u)) calc(20*var(--u));text-align:center}
.finder__cta{width:100%;padding-block:calc(16*var(--u));text-align:center}
.finder__fineprint{color:var(--muted-3);font-size:calc(11.5*var(--u))}

/* =========================================================
   SECTION HEAD
   ========================================================= */
.section-head{display:flex;flex-direction:column;gap:.833vw}
.section-head--center{align-items:center;text-align:center}
.section-head__eyebrow{
    color:var(--muted);
    font-family:var(--font-serif);font-style:italic;font-size:1.389vw;line-height:1.3;
}
.section-head__title{
    color:var(--text);
    font-family:var(--font-serif);font-weight:400;
    font-size:3.056vw;line-height:1.227;
}
.section-head__lead{max-width:38.889vw;color:var(--muted);font-size:1.042vw;line-height:1.6}
.section-head--center .section-head__lead{max-width:none}

/* =========================================================
   MYSTERY
   ========================================================= */
.mystery .section-head{margin-bottom:3.056vw}
.mystery__body{display:flex;align-items:flex-start;gap:4.167vw}

.unknown{
    flex:0 0 38.889vw;
    display:flex;flex-direction:column;gap:1.389vw;
    padding:2.361vw 2.361vw 2.5vw;
    background:rgba(255,75,75,.08);
    border:1px solid rgba(255,75,75,.4);
    border-radius:1.25vw;
}
.unknown__eyebrow{
    color:var(--red-soft);
    font-family:var(--font-serif);font-style:italic;font-size:1.319vw;line-height:1.3;
}
.unknown__title{
    color:var(--text);
    font-family:var(--font-serif);font-weight:400;font-size:3.194vw;line-height:1.174;
}
.unknown__text{color:#d6c2c2;font-size:1.007vw;line-height:1.655}

.facts{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.facts__eyebrow{
    color:var(--muted);
    font-family:var(--font-serif);font-style:italic;font-size:1.389vw;line-height:1.3;
}
.facts__item{
    display:flex;flex-direction:column;gap:.347vw;
    padding:1.389vw 0;
    border-bottom:1px solid var(--line);
}
.facts__item--last{border-bottom:0}
.facts__term{color:var(--text);font-size:1.25vw;font-weight:600;line-height:1.389}
.facts__desc{color:var(--muted);font-size:.938vw;line-height:1.556}

/* =========================================================
   STEPS
   ========================================================= */
.steps .section-head{margin-bottom:3.056vw}
.track{
    position:relative;
    display:flex;gap:3.542vw;
    margin-bottom:3.056vw;
    padding-top:1.944vw;
}
.track::before{
    content:"";
    position:absolute;top:.833vw;left:1.667vw;right:0;height:1px;
    background:linear-gradient(90deg,rgba(255,75,75,.9),rgba(255,75,75,.15));
}
.track__item{position:relative;flex:1 1 0;display:flex;flex-direction:column;gap:.625vw}
.track__node{
    position:absolute;top:-1.528vw;left:0;
    width:.764vw;height:.764vw;
    background:var(--red);border-radius:50%;
}
.track__node--dim{background:rgba(255,75,75,.55)}
.track__title{color:var(--text);font-size:1.389vw;font-weight:600;line-height:1.35}
.track__text{color:var(--muted);font-size:.938vw;line-height:1.63}

.branches{display:flex;flex-wrap:wrap;gap:.972vw;margin-bottom:1.389vw}
.branches__link{
    display:flex;align-items:center;gap:.625vw;
    padding:.903vw 1.389vw;
    background:rgba(255,255,255,.05);
    border:1px solid var(--line-soft);
    border-radius:999px;
    transition:border-color .2s ease,background-color .2s ease;
}
.branches__link:hover{border-color:rgba(255,75,75,.5);background:rgba(255,75,75,.08)}
.branches__city{color:var(--text);font-size:.972vw;font-weight:600}
.branches__area{color:var(--muted-2);font-size:.903vw}
.steps__note{color:var(--muted-3);font-size:.903vw}

/* =========================================================
   REVIEWS
   ========================================================= */
.reviews .section-head{margin-bottom:2.5vw}
.reviews__widgets{display:flex;justify-content:center;gap:1.25vw;margin-bottom:2.5vw}
.reviews__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.389vw}
.review{
    height:100%;
    display:flex;flex-direction:column;gap:.903vw;
    padding:1.389vw 1.528vw 1.528vw;
    background:var(--bg-alt);
    border:1px solid var(--line);
    border-radius:.972vw;
}
.review__head{display:flex;align-items:center;gap:.764vw}
.avatar{
    display:flex;align-items:center;justify-content:center;
    flex:0 0 2.708vw;width:2.708vw;height:2.708vw;
    color:#fff;font-size:.903vw;font-weight:600;
    border-radius:50%;
}
.avatar--blue{background:#3b4e9b}
.avatar--green{background:#1f6b52}
.avatar--wine{background:#8a3b4e}
.review__person{display:flex;flex-direction:column;gap:.139vw;flex:1 1 auto;min-width:0}
.review__name{color:var(--text);font-size:.938vw;font-weight:600}
.review__meta{color:var(--muted-3);font-size:.764vw}
.review__platform{
    display:flex;align-items:center;justify-content:center;
    flex:0 0 2.083vw;width:2.083vw;height:2.083vw;
    background:#fff;border-radius:50%;
}
.review__platform img{width:1.389vw;height:auto}
.review__stars{display:flex;gap:.208vw}
.review__stars i{
    width:.833vw;height:.833vw;background:var(--gold);
    clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.review__text{color:var(--text-4);font-size:.868vw;line-height:1.6}

/* =========================================================
   CLOSING CTA
   ========================================================= */
.closing{position:relative;overflow:hidden;min-height:25.278vw;display:flex;align-items:center}
.closing__media,.closing__image{position:absolute;inset:0;width:100%;height:100%}
.closing__image{object-fit:cover}
.closing__shade{position:absolute;inset:0;background:rgba(5,5,6,.78)}
.closing__inner{
    position:relative;z-index:1;
    display:flex;flex-direction:column;align-items:center;gap:1.528vw;
    padding-block:6.389vw;
    text-align:center;
}
.closing__title{
    color:var(--text);
    font-family:var(--font-serif);font-weight:400;font-size:3.056vw;line-height:1.227;
}
.closing__lead{color:var(--text-2);font-size:1.111vw}
.finder--compact{width:min(43.056vw,100%);gap:.694vw}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{padding:3.333vw 0 2.083vw;background:var(--bg-footer)}
.footer__top{display:flex;align-items:center;gap:2.778vw;margin-bottom:1.944vw}
.footer__logo{width:6.944vw;height:auto}
.footer__branches{display:flex;flex-wrap:wrap;gap:1.944vw;flex:1 1 auto}
.footer__branch{color:var(--text-3);font-size:.903vw;line-height:1.54}
.footer__phone{color:var(--text);font-size:.972vw;font-weight:600}
.footer__link{transition:color .2s ease}
.footer__link:hover{color:var(--text)}
.footer__divider{height:1px;background:var(--line-footer);margin-bottom:1.944vw}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1.667vw;flex-wrap:wrap}
.footer__copy{color:var(--muted-4);font-size:.799vw}
.footer__legal{display:flex;flex-wrap:wrap;gap:1.528vw;color:var(--muted-4);font-size:.799vw}

/* =========================================================
   TABLET & MOBILE — fixed px instead of the vw scale
   ========================================================= */
@media (max-width:1080px){
    :root{--gutter:40px}

    .section{padding:64px 0}
    .button{font-size:15px;border-radius:12px}

    .hero{min-height:100vh;min-height:100svh}
    .header{padding-top:20px}
    .header__inner{min-height:48px;gap:20px}
    .header__logo{width:80px}
    .header__phone{font-size:14px}
    .hero__container{padding-bottom:26px}
    .hero__content{width:100%;gap:22px}
    .hero__eyebrow{gap:14px;font-size:18px}
    .hero__rule{flex-basis:40px}
    .hero__heading{gap:16px}
    .hero__title{font-size:48px;letter-spacing:-1.4px}
    .hero__lead{max-width:520px;font-size:16px}
    .hero__facts{font-size:13px}

    .hero__ratings{
        position:static;
        flex-direction:row;align-items:stretch;
        gap:14px;margin-top:0;
        padding:0 var(--gutter) 48px;
    }
    .rating{
        width:172px;min-height:96px;
        margin-right:0;padding:0 24px 0 18px;gap:14px;
        border-radius:26px;
        box-shadow:0 12px 34px -8px rgba(0,0,0,.3);
    }
    .rating:hover{transform:none}
    .rating--rounded{width:172px;padding:0 24px 0 18px;border-radius:26px}
    .rating__badge{flex-basis:58px;width:58px;height:58px}
    .rating__logo{width:34px;height:21px}
    .rating__badge--google .rating__logo{width:30px;height:30px}
    .rating__body{gap:2px}
    .rating__score{font-size:34px;letter-spacing:-1px}
    .rating__word{font-size:12.5px}
    .rating__marks{gap:3px}
    .rating__marks i{width:8px;height:8px}

    .finder{--field-h:56px;width:100%;gap:12px}
    .finder__row{gap:10px}
    .finder__label{margin-bottom:8px;font-size:10px;letter-spacing:2px}
    .finder__control{gap:12px;padding-inline:18px;font-size:15px;border-radius:12px}
    .finder__icon{flex-basis:19px;width:19px;height:19px}
    .finder__input{font-size:15px}
    .finder__submit{padding-inline:30px}
    .finder__hint{font-size:12.5px}
    .finder__suggestions{top:calc(100% + 6px);border-radius:12px}
    .finder__suggestion{padding:11px 16px}
    .finder__suggestion-street{font-size:13.5px}
    .finder__suggestion-area{font-size:11.5px}
    .finder__result{gap:14px}
    .finder__alert{gap:12px;padding:14px 16px 14px 18px;border-radius:12px}
    .finder__alert-icon{flex-basis:20px;width:20px;height:20px}
    .finder__alert-title{font-size:14px}
    .finder__alert-note{font-size:11.5px}
    .finder__actions{gap:10px}
    .finder__actions .button{padding:15px 20px}
    .finder__cta{padding-block:16px}
    .finder__fineprint{font-size:11.5px}

    .section-head{gap:12px}
    .section-head__eyebrow{font-size:20px}
    .section-head__title{font-size:38px}
    .section-head__lead{max-width:560px;font-size:15px}

    .mystery .section-head,.steps .section-head{margin-bottom:40px}
    .mystery__body{flex-direction:column;align-items:stretch;gap:36px}
    .unknown{flex:0 0 auto;width:100%;gap:20px;padding:34px 34px 36px;border-radius:18px}
    .unknown__eyebrow{font-size:19px}
    .unknown__title{font-size:40px}
    .unknown__text{font-size:14.5px}
    .facts__eyebrow{font-size:20px}
    .facts__item{gap:5px;padding:20px 0}
    .facts__term{font-size:18px}
    .facts__desc{font-size:13.5px}

    .track{gap:28px;padding-top:26px;margin-bottom:36px}
    .track::before{top:11px;left:22px}
    .track__node{top:-21px;width:11px;height:11px}
    .track__title{font-size:20px}
    .track__text{font-size:13.5px}
    .branches{gap:14px;margin-bottom:18px}
    .branches__link{padding:13px 20px;gap:9px}
    .branches__city{font-size:14px}
    .branches__area{font-size:13px}
    .steps__note{font-size:13px}

    .reviews .section-head,.reviews__widgets{margin-bottom:36px}
    .reviews__widgets{gap:18px}
    .reviews__list{gap:20px}
    .review{gap:13px;padding:20px 22px 22px;border-radius:14px}
    .review__head{gap:11px}
    .avatar{flex-basis:39px;width:39px;height:39px;font-size:13px}
    .review__name{font-size:13.5px}
    .review__meta{font-size:11px}
    .review__platform{flex-basis:30px;width:30px;height:30px}
    .review__platform img{width:20px}
    .review__stars i{width:12px;height:12px}
    .review__text{font-size:12.5px}

    .closing{min-height:auto}
    .closing__inner{padding-block:64px;gap:22px}
    .closing__title{font-size:38px}
    .closing__lead{font-size:16px}
    .finder--compact{width:100%}

    .footer{padding:48px 0 30px}
    .footer__top{gap:32px;margin-bottom:28px}
    .footer__logo{width:100px}
    .footer__branches{gap:28px}
    .footer__branch{font-size:13px}
    .footer__phone{font-size:14px}
    .footer__divider{margin-bottom:28px}
    .footer__copy,.footer__legal{font-size:11.5px}
    .footer__legal{gap:22px}
}

@media (max-width:880px){
    .hero__title{font-size:40px;letter-spacing:-1.2px}
    .section-head__title{font-size:32px}
    .unknown__title{font-size:34px}
    .closing__title{font-size:32px}

    .track{flex-direction:column;gap:28px;padding-top:0}
    .track::before{display:none}
    .track__item{padding-left:26px}
    .track__item::before{
        content:"";
        position:absolute;left:5px;top:14px;bottom:-28px;width:1px;
        background:rgba(255,75,75,.25);
    }
    .track__item:last-child::before{display:none}
    .track__node{top:6px;left:0}
    .reviews__list{grid-template-columns:1fr 1fr}
}

@media (max-width:720px){
    :root{--gutter:20px}

    .section{padding:56px 0}
    /* mobil: video zůstává odkryté — nad ohybem jen titulek a vyhledání adresy */
    .hero{min-height:0}
    .hero__video,.hero__shade{height:100vh;height:100svh;bottom:auto}
    .hero__vignette{top:calc(100vh - 200px);top:calc(100svh - 200px);bottom:auto;height:200px}
    .header{position:absolute;top:0;left:0;right:0;z-index:3}
    .hero__container{
        margin-top:0;
        padding-top:calc(100vh - 220px);
        padding-top:calc(100svh - 220px);
        padding-bottom:16px;
    }
    .hero__content{gap:14px}
    .hero__heading,.hero .finder{display:contents}
    .hero__title{order:1;font-size:32px;line-height:1.1;letter-spacing:-.8px}
    .hero .finder__row{order:2}
    .hero .finder__result{order:3}
    .hero .finder__hint{order:4}
    .hero__eyebrow{order:5;margin-top:10px;font-size:16px;gap:10px}
    .hero__rule{flex-basis:28px}
    .hero__lead{order:6;font-size:14.5px;line-height:1.6}
    .hero__facts{order:7;font-size:11.5px}
    .finder__label{
        position:absolute;width:1px;height:1px;overflow:hidden;
        clip-path:inset(50%);white-space:nowrap;
    }

    .hero__ratings{gap:10px;padding-bottom:32px}
    .rating{flex:1 1 0;width:auto;min-height:78px;padding:0 14px;gap:10px;border-radius:18px}
    .rating__badge{flex-basis:44px;width:44px;height:44px}
    .rating__logo{width:26px;height:16px}
    .rating__badge--google .rating__logo{width:22px;height:22px}
    .rating__score{font-size:24px}
    .rating__word{font-size:11px}
    .rating__marks i{width:6px;height:6px}

    .finder__row{flex-direction:column;align-items:stretch}
    .finder__submit{width:100%;align-self:stretch}
    .finder__actions{flex-direction:column}

    .section-head__title{font-size:28px}
    .unknown{padding:24px 22px 26px}
    .unknown__title{font-size:28px}
    .reviews__list{grid-template-columns:1fr}
    .reviews__widgets{flex-wrap:wrap}
    .reviews__widgets .rating{flex:1 1 140px}

    .footer__top{flex-direction:column;align-items:flex-start;gap:20px}
    .footer__branches{gap:14px}
    .footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}
    .footer__legal{gap:14px}
}

@media (prefers-reduced-motion:reduce){
    *{animation:none;transition:none}
    .hero__video{display:none}
    .hero{background:#0a0a0b url("../assets/images/poster-desktop.jpg") center/cover}
}

@media (prefers-reduced-motion:reduce) and (max-width:720px){
    .hero{background-image:url("../assets/images/poster-mobile.jpg")}
}
