#site-header .nav {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 130px 8px 0;
}

#site-header.scrolled .nav {
    padding: 6px 130px 6px 0;
}

#site-header .brand-mini {
    flex-direction: row;
    gap: 10px;
    white-space: nowrap;
}

#site-header .brand-mini img {
    height: 42px;
}

#site-header.scrolled .brand-mini img {
    height: 36px;
}

#site-header .brand-name {
    font-size: clamp(12px, 1.1vw, 16px);
    letter-spacing: 1.2px;
}

#site-header .menu-nav {
    flex-wrap: nowrap;
    gap: clamp(10px, 1.8vw, 22px);
}

#site-header .menu-nav a {
    font-size: 12px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.hero-content {
    max-width: 760px;
    padding: 150px 0 64px;
}

.hero-title {
    max-width: 700px;
    margin-bottom: 14px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.12;
}

.hero-logo {
    max-width: 240px;
    margin-bottom: 14px;
}

.hero p {
    max-width: 620px;
    margin-bottom: 20px;
    font-size: 18px;
}

.hero-actions {
    gap: 10px;
    margin-bottom: 16px;
}

.menu-meta {
    margin: -24px 0 10px;
    color: rgba(255, 255, 255, .62);
    font-size: 14px;
    text-align: center;
}

.menu-notice {
    max-width: 760px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    text-align: center;
}

@media (max-width: 980px) {
    .language-switcher {
        top: 6px;
        right: 4%;
        gap: 2px;
        padding: 3px;
    }

    .lang-btn {
        min-width: 34px;
        padding: 5px 8px;
    }

    #site-header .nav {
        flex-direction: column;
        gap: 4px;
        padding: 6px 0;
    }

    #site-header .brand-mini {
        align-self: flex-start;
    }

    #site-header .brand-mini img {
        height: 36px;
    }

    #site-header.scrolled .brand-mini img {
        height: 32px;
    }

    #site-header .menu-nav {
        justify-content: space-between;
        width: 100%;
        gap: 8px;
    }

    #site-header .menu-nav a {
        font-size: 11px;
        letter-spacing: .5px;
    }

    .hero-content {
        padding-top: 132px;
    }
}

@media (max-width: 640px) {
    .language-switcher {
        top: 4px;
        right: 8px;
    }

    .lang-btn {
        min-width: 32px;
        padding: 4px 6px;
        font-size: 10px;
    }

    #site-header .nav {
        gap: 2px;
        padding: 4px 0;
    }

    #site-header .brand-mini img {
        height: 32px;
    }

    #site-header.scrolled .brand-mini img {
        height: 28px;
    }

    #site-header .brand-name {
        display: none;
    }

    #site-header .menu-nav {
        gap: 4px;
    }

    #site-header .menu-nav a {
        font-size: 10px;
        letter-spacing: 0;
    }

    .hero-content {
        padding: 124px 0 52px;
    }

    .hero-title {
        margin-bottom: 10px;
        font-size: clamp(30px, 8vw, 40px);
    }

    .hero-logo {
        max-width: 190px;
        margin-bottom: 10px;
    }

    .hero p {
        margin-bottom: 16px;
        font-size: 16px;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .hero-actions .btn:first-child {
        grid-column: 1 / -1;
    }

    .hero-actions .btn {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 10px 8px;
        font-size: 14px;
        text-align: center;
    }

    .hero-info {
        gap: 8px;
        font-size: 12px;
    }

    .hero-info span {
        padding: 6px 10px;
    }
}

/* Approved home layout */
.full-menu-link { text-align: center; margin-top: 32px; }

#site-header .nav,#site-header.scrolled .nav{padding-right:0;gap:24px}
#site-header .brand-mini img{height:50.82px}
#site-header .brand-mini{margin-left:100px}
#site-header.scrolled .brand-mini img{height:43.56px}
#site-header .menu-nav a{font-size:14.52px}
#site-header .lang-btn{min-width:37.8px;padding:7.2px 9px;font-size:10.8px}
#site-header .language-switcher{padding:4.5px;gap:3.6px}
#site-header .menu-nav{margin-left:auto}
#site-header .language-switcher{position:static;flex-shrink:0;box-shadow:none;background:transparent}
.hero>.container{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:center}
.hero{align-items:flex-start;padding:112px 0 48px}
.hero-content{padding:0;min-width:0}
.hero-title{font-size:clamp(34px,3.7vw,52px);width:max-content;max-width:100%;text-align:center}
.hero-brand-row{display:grid;grid-template-columns:440px minmax(0,1fr);gap:20px;align-items:center;margin:24px 0}
.hero-brand-row .hero-logo{width:576px;max-width:none;margin:0 0 0 -40px}
.hero-brand-row .hero-description p{margin:0;font-size:clamp(10px,5.8cqw,17px);text-align:center}
.description-line{display:block;white-space:nowrap}
.hero-description{position:relative;min-width:0;container-type:inline-size;text-align:center}
.hero-description .hero-kicker{margin:4px 0 0;font-size:clamp(9px,5.5cqw,13px);letter-spacing:0;white-space:nowrap;text-align:center}
.hero-kicker{display:block;text-align:right;border:0;border-radius:0;background:none;padding:0;margin:0 0 22px;color:#ff694f}
.hero-kicker:hover{text-decoration:underline}
.hero-actions .btn{padding:12px 18px;font-size:14px}
.gallery-preview{position:relative;width:100%;height:530px;padding:0;border:20px ridge #a47a32;border-radius:0;box-shadow:0 0 0 2px #39220d,0 0 0 5px #c49a4c,0 14px 32px #0008,inset 0 0 0 3px #40280e;overflow:hidden;cursor:pointer;background:#181818;color:white;text-align:left;font:inherit}
.gallery-preview>img{width:100%;height:100%;object-fit:cover}
.gallery-preview{container-type:inline-size}
.gallery-preview>span{position:absolute;inset:auto 0 0;display:flex;align-items:baseline;justify-content:center;gap:10px;white-space:nowrap;padding:40px 8px 8px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:clamp(10px,4cqw,18px);font-weight:bold;letter-spacing:0}
.gallery-preview small{display:inline;font-weight:normal;font-size:clamp(9px,3.1cqw,14px);letter-spacing:0;margin:0}
:focus-visible{outline:3px solid #fff;outline-offset:4px}
#gallery-dialog{margin:auto;width:min(1120px,94vw);max-height:90dvh;padding:28px;border:1px solid #555;border-radius:12px;background:#161616;color:white;overflow:auto}
#gallery-dialog::backdrop{background:rgba(0,0,0,.85)}
#gallery-dialog section{padding:20px 0}
#gallery-close{position:sticky;top:0;float:right;width:44px;height:44px;border:0;border-radius:50%;background:#ff2400;color:white;font-size:28px;cursor:pointer}
@media(max-width:1200px){.hero-brand-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.hero-brand-row .hero-logo{width:120%;max-width:576px}}
@media(max-width:980px){#site-header .nav{display:grid;grid-template-columns:1fr auto}#site-header .menu-nav{grid-row:2;grid-column:1/-1;margin:0}#site-header .menu-nav a{font-size:12.1px}#site-header .language-switcher{grid-row:1;grid-column:2}#site-header .brand-mini img{height:43.56px}#site-header.scrolled .brand-mini img{height:38.72px}.hero>.container{grid-template-columns:1fr;gap:0}.hero-content{padding-bottom:30px}.gallery-preview{height:380px;margin-bottom:48px}}
@media(max-width:640px){#site-header .brand-mini img{height:38.72px}#site-header.scrolled .brand-mini img{height:33.88px}#site-header .menu-nav a{font-size:11px}#site-header .lang-btn{min-width:28.8px;padding:3.6px 5.4px;font-size:9px}.hero-brand-row{grid-template-columns:1fr}.hero-brand-row p{text-align:right}.gallery-preview{height:340px;border-width:14px}.hero-kicker{font-size:11px}.hero-actions .btn{padding:10px 8px}}

@media(max-width:980px){#site-header .brand-mini{margin-left:24px}#site-header .menu-nav a{font-size:13.31px}}
@media(max-width:640px){#site-header .brand-mini{margin-left:12px}#site-header .menu-nav a{font-size:12.1px}.hero-brand-row .hero-logo{width:100%;margin-left:-8px}.hero-description .hero-kicker{white-space:normal}}
#gallery-dialog{color:#fff} #gallery-dialog .container{width:100%} #gallery-close{z-index:1} .hero-brand-row .hero-logo{transform:none}

/* Keep the gallery below the opening screen on phones and tablets. */
@media (max-width: 980px) {
    .hero { padding: 0; }
    .hero-content {
        min-height: 100vh;
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 116px 0 32px;
    }
    .hero > .container { align-items: stretch; }
    .gallery-preview { margin-top: 16px; }
}

/* One viewport for the introduction; one stationary backdrop for the whole page. */
.home-page { isolation: isolate; }
.page-backdrop { position: fixed; inset: 0; z-index: -1; pointer-events: none; background: #111; }
.page-backdrop .hero-background { width: 100%; height: 100%; object-fit: cover; }
.page-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0008, #000b); }
.home-page .hero { min-height: 100dvh; padding: 100px 0 28px; background: transparent; overflow: visible; }
.home-page .hero::before, .home-page .hero::after { content: none; }
.home-page .hero > .container { min-height: calc(100dvh - 128px); align-items: stretch; }
.home-page .hero-content { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; padding: 0; }
.home-page .hero-title, .home-page .hero-brand-row, .home-page .hero-actions { margin-top: 0; margin-bottom: 0; }
.home-page .gallery-preview { height: auto; min-height: 430px; align-self: stretch; }
.home-page > section:not(.hero) { padding: 32px 0; }
.home-page .section-dark { background: transparent; }
.home-page .section-subtitle { margin-bottom: 24px; }
.home-page .feature-card, .home-page .menu-category, .home-page .info-box, .home-page .about-box { background: rgba(20,20,20,.8); }
.home-page .cta { background: rgba(120,24,8,.8); }
.home-page footer { background: rgba(15,15,15,.8); }
@media (min-width: 981px) and (max-height: 760px) {
    .home-page .hero-brand-row .hero-logo { width: 100%; max-height: 32dvh; object-fit: contain; }
}
@media (max-width: 980px) {
    .home-page .hero { padding: 0; }
    .home-page .hero > .container { min-height: 0; gap: 16px; }
    .home-page .hero-content { min-height: 100dvh; padding: 116px 0 16px; }
    .home-page .gallery-preview { height: 380px; min-height: 0; margin: 0 0 20px; }
}
@media (max-width: 640px) {
    .home-page .gallery-preview { height: 340px; }
}
@media (min-width: 981px) {
    .home-page .gallery-preview { height: calc((100dvh - 128px) * .7); min-height: 0; align-self: center; }
}

/* Home layout: title, logo and readable description in one centered column. */
.home-page .hero-title { align-self: center; }
.home-page .hero-brand-row { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: clamp(12px, 2dvh, 32px); padding: 12px 0; }
.home-page .hero-brand-row .hero-logo { width: min(100%, clamp(260px, min(44vw, 60dvh), 720px)); max-width: 100%; max-height: 28dvh; margin: 0; object-fit: contain; }
.home-page .hero-description { width: 100%; container-type: normal; text-align: center; }
.home-page .hero-brand-row .hero-description p { width: 100%; max-width: none; margin-inline: auto; }
.home-page .hero-description .description-line, .home-page .hero-description .hero-kicker { width: 100%; text-align: center; }
.home-page .hero-brand-row .hero-description p { font-size: clamp(1.0625rem, min(calc(.75rem + 1vw), 3dvh), 2rem); line-height: 1.45; text-shadow: 0 2px 5px #000; }
.home-page .hero-description .hero-kicker { margin-top: 8px; font-size: clamp(.9375rem, min(calc(.65rem + .9vw), 2.7dvh), 1.75rem); }
.home-page .hero-description .description-line { white-space: normal; }
.home-page .hero-actions { margin-top: auto; }
@media (max-width: 980px) {
    .home-page .gallery-preview { height: 266px; }
}
@media (max-width: 640px) {
    .home-page .gallery-preview { height: 238px; }
    .home-page .hero-brand-row .hero-logo { width: min(100%, 78vw); max-height: 23dvh; }
}
@media (min-width: 981px) and (max-height: 760px) {
    .home-page .hero-content { gap: 14px; }
    .home-page .hero-brand-row .hero-logo { max-height: 20dvh; }
    .home-page .hero-brand-row { gap: 12px; padding: 0; }
}

/* Compact, centered introduction and proportional gallery on narrow screens. */
@media (max-width: 980px) {
    .home-page .hero-content { max-width: none; width: 100%; justify-content: center; gap: clamp(12px, 2dvh, 24px); }
    .home-page .hero-brand-row { flex: 0 0 auto; justify-content: flex-start; gap: 12px; padding: 0; }
    .home-page .hero-actions { margin-top: 4px; justify-content: center; width: 100%; }
    .home-page .hero-brand-row .hero-logo { width: min(78vw, 360px); max-height: 22dvh; }
    .home-page .hero-description { max-width: 36rem; align-self: center; }
    .home-page .gallery-preview { width: 100%; max-width: 440px; height: auto; aspect-ratio: 4 / 3; justify-self: center; }
    .home-page .hero > .container { gap: 20px; }
}
