/*
============================================================
HELVETI PLATFORM CSS — ORGANIZED EDITION
============================================================
Search by paragraph number, for example:
[04] Header and logo
[05] Hero section
[09] Reservation demo

The easiest values to edit are in [00].
============================================================
*/

/* ==========================================================
[00] QUICK EDIT SETTINGS

[00] Quick colors, header height and logo sizes
[04] Header and logo
[05] Hero
[09] Reservation demo
[10] Google & SEO
[11] Pricing
[14] Contact
[15] Footer
[16] Final header overrides
========================================================== */
:root {
    --hpf-color-dark: #13251d;
    --hpf-color-gold: #c98b4f;
    --hpf-color-background: #f7f3eb;
    --hpf-color-text: #111813;
    --hpf-color-success: #28a96b;
    --hpf-color-danger: #e53935;

    --hpf-header-height: 84px;

    /* Change only these three values to resize the logo */
    --hpf-logo-desktop: 220px;
    --hpf-logo-tablet: 190px;
    --hpf-logo-mobile: 165px;

    --hpf-button-radius: 11px;
    --hpf-card-radius: 22px;
    --hpf-page-padding: clamp(22px, 5vw, 78px);
}

/* ==========================================================
[01] ORIGINAL STYLES — FORMATTED AND PRESERVED
========================================================== */
body:has(.hpf-portal),body:has(.hpf-login) {
    background:#f5f6f8
}

/* ==========================================================
[02] CUSTOMER PORTAL LAYOUT
========================================================== */
.hpf-portal {
    min-height:100vh;
    display:grid;
    grid-template-columns:260px 1fr;
    font-family:Inter,system-ui,-apple-system,sans-serif;
    color:#101828
}

.hpf-sidebar {
    background:#111a16;
    color:#fff;
    padding:28px 20px;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:0;
    height:100vh;
    box-sizing:border-box
}

.hpf-brand {
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 8px 34px
}

.hpf-brand>span {
    width:38px;
    height:38px;
    border-radius:11px;
    background:#c98b4f;
    display:grid;
    place-items:center;
    font-weight:800
}

.hpf-brand strong,.hpf-brand small {
    display:block
}

.hpf-brand small {
    opacity:.58;
    font-size:11px;
    margin-top:2px
}

.hpf-sidebar nav {
    display:grid;
    gap:7px
}

.hpf-sidebar nav a,.hpf-logout {
    color:#d9e2dd;
    text-decoration:none;
    padding:12px 14px;
    border-radius:11px;
    display:flex;
    align-items:center;
    gap:11px;
    font-weight:600
}

.hpf-sidebar nav a:hover,.hpf-sidebar nav a.active {
    background:#26332d;
    color:#fff
}

.hpf-sidebar .dashicons {
    font-size:18px
}

.hpf-logout {
    margin-top:auto
}

.hpf-main {
    padding:30px 36px 55px;
    min-width:0
}

.hpf-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:26px
}

.hpf-top h1 {
    margin:5px 0 0;
    font-size:32px
}

.hpf-kicker {
    font-size:10px;
    letter-spacing:.2em;
    font-weight:800;
    color:#a66b35
}

.hpf-user {
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #e6e8ec;
    border-radius:14px;
    padding:8px 13px
}

.hpf-user>span {
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    background:#f2e7dc;
    border-radius:10px;
    font-weight:800;
    color:#835127
}

.hpf-user strong,.hpf-user small {
    display:block
}

.hpf-user small {
    font-size:11px;
    color:#667085
}

.hpf-welcome {
    background:linear-gradient(135deg,#12221b,#253a31);
    color:#fff;
    border-radius:22px;
    padding:32px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px
}

.hpf-welcome h2 {
    font-size:34px;
    margin:6px 0
}

.hpf-welcome p {
    color:#cbd7d1
}

.hpf-btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    background:#c98b4f;
    color:#fff!important;
    text-decoration:none;
    border:0;
    border-radius:11px;
    padding:13px 18px;
    font-weight:800;
    cursor:pointer
}

.hpf-btn-small {
    padding:10px 14px
}

.hpf-metrics {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:18px
}

.hpf-metrics article,.hpf-panel {
    background:#fff;
    border:1px solid #e6e8ec;
    border-radius:17px;
    box-shadow:0 8px 25px rgba(16,24,40,.04)
}

.hpf-metrics article {
    padding:20px
}

.hpf-metrics strong {
    font-size:30px;
    display:block
}

.hpf-metrics span {
    color:#667085
}

.hpf-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.hpf-panel {
    padding:24px
}

.hpf-panel h3 {
    font-size:20px;
    margin:0 0 8px
}

.hpf-panel>p {
    color:#667085;
    margin-top:0
}

.hpf-delivery {
    background:#f8f3ed;
    border-radius:14px;
    padding:18px;
    margin:18px 0
}

.hpf-delivery b,.hpf-delivery span {
    display:block
}

.hpf-delivery b {
    font-size:24px;
    color:#8c572b
}

.hpf-panel ul {
    padding-left:20px
}

.hpf-panel li {
    margin:9px 0
}

.hpf-quick {
    display:grid;
    gap:10px
}

.hpf-quick a {
    background:#f7f8fa;
    color:#101828;
    text-decoration:none;
    border-radius:12px;
    padding:14px;
    font-weight:700
}

.hpf-panel-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:15px
}

.hpf-list {
    display:grid;
    gap:10px
}

.hpf-row {
    border:1px solid #e8eaee;
    border-radius:14px;
    padding:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px
}

.hpf-row h4 {
    margin:8px 0 4px;
    font-size:17px
}

.hpf-row small {
    color:#667085
}

.hpf-row-actions {
    display:flex;
    gap:8px
}

.hpf-row-actions a {
    padding:9px 12px;
    border-radius:9px;
    text-decoration:none;
    background:#f3f4f6;
    color:#344054;
    font-weight:700
}

.hpf-row-actions a.primary {
    background:#18352a;
    color:#fff
}

.hpf-badge {
    display:inline-block;
    background:#f4eee8;
    color:#855329;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:800
}

.hpf-empty {
    text-align:center;
    padding:36px 15px;
    background:#fafafa;
    border-radius:13px
}

.hpf-form {
    display:grid;
    gap:14px
}

.hpf-form label {
    font-weight:700;
    font-size:13px
}

.hpf-form input,.hpf-form select,.hpf-form textarea {
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:7px;
    border:1px solid #d9dde4;
    border-radius:10px;
    padding:12px;
    background:#fff;
    font:inherit
}

.hpf-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}

.hpf-success {
    background:#eaf8ef;
    color:#176436;
    border:1px solid #c5ead2;
    border-radius:12px;
    padding:13px 16px;
    margin-bottom:16px
}

.hpf-login {
    max-width:430px;
    margin:9vh auto;
    background:#fff;
    border:1px solid #e6e8ec;
    border-radius:22px;
    padding:34px;
    font-family:Inter,system-ui,sans-serif;
    box-shadow:0 20px 60px rgba(16,24,40,.08)
}

.hpf-login h1 {
    font-size:34px;
    margin:8px 0
}

.hpf-login label {
    display:block;
    font-weight:700;
    margin:14px 0
}

.hpf-login input[type=text],.hpf-login input[type=password] {
    width:100%;
    box-sizing:border-box;
    border:1px solid #d9dde4;
    border-radius:10px;
    padding:12px
}

.hpf-login input[type=submit] {
    background:#c98b4f;
    color:#fff;
    border:0;
    border-radius:10px;
    padding:12px 18px;
    font-weight:800
}

.hpf-muted {
    color:#667085
}

@media(max-width:900px) {
    .hpf-portal {
        grid-template-columns:1fr
    }

    .hpf-sidebar {
        height:auto;
        position:relative
    }

    .hpf-sidebar nav {
        grid-template-columns:repeat(3,1fr)
    }

    .hpf-logout {
        margin-top:16px
    }

    .hpf-main {
        padding:22px
    }

    .hpf-metrics {
        grid-template-columns:1fr 1fr
    }

    .hpf-columns {
        grid-template-columns:1fr
    }

}

@media(max-width:600px) {
    .hpf-sidebar nav {
        grid-template-columns:1fr 1fr
    }

    .hpf-top {
        align-items:flex-start
    }

    .hpf-user div {
        display:none
    }

    .hpf-welcome {
        display:block
    }

    .hpf-welcome .hpf-btn {
        margin-top:14px
    }

    .hpf-metrics {
        grid-template-columns:1fr
    }

    .hpf-form-grid {
        grid-template-columns:1fr
    }

    .hpf-row {
        align-items:flex-start;
        flex-direction:column
    }

    .hpf-row-actions {
        width:100%
    }

    .hpf-row-actions a {
        flex:1;
        text-align:center
    }

}

/* ==========================================================
[03] PUBLIC WEBSITE BASE
========================================================== */
html {
    scroll-behavior:smooth
}

.hpf-standalone {
    margin:0!important;
    padding:0!important;
    background:#f7f3eb!important
}

.hpf-standalone #hpf-app {
    min-height:100vh
}

.hpf-standalone .site-header,.hpf-standalone header.site-header,.hpf-standalone #masthead,.hpf-standalone .elementor-location-header,.hpf-standalone .site-footer,.hpf-standalone #colophon {
    display:none!important
}

.hpf-home {
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#111813;
    background:#f7f3eb;
    overflow:visible;
    overflow-x:clip
}

.hpf-home * {
    box-sizing:border-box
}

/* ==========================================================
[04] HEADER & LARGE LOGO
========================================================== */

/* Header */
.hpf-site-header{
    position:sticky;
    top:0;
    z-index:9999;

    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:40px;

    min-height:88px;
    padding:0 clamp(28px,5vw,80px);

    background:rgba(255,255,255,.92);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(0,0,0,.06);
    box-shadow:0 8px 35px rgba(0,0,0,.05);

    transition:.35s ease;
}

.admin-bar .hpf-site-header{
    top:32px;
}

/* ==========================================================
Logo
========================================================== */

.hpf-site-logo{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-decoration:none;
    flex-shrink:0;
}

/* SVG / PNG Logo */

.hpf-site-logo img{
    display:block;
    width:230px;
    max-width:none;
    height:auto;
    transition:.3s;
}

/* If text logo */

.hpf-site-logo strong{
    font-size:30px;
    font-weight:900;
    letter-spacing:-.04em;
    color:#13251d;
}

.hpf-site-logo span{
    display:none;
}

/* ==========================================================
Navigation
========================================================== */

.hpf-site-header nav{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:34px;
}

.hpf-site-header nav a{
    position:relative;

    color:#16251d;
    text-decoration:none;

    font-size:15px;
    font-weight:700;

    transition:.25s;
}

.hpf-site-header nav a:hover{
    color:#C98B4F;
}

.hpf-site-header nav a::after{
    content:"";
    position:absolute;

    left:0;
    bottom:-8px;

    width:0;
    height:2px;

    background:#C98B4F;

    transition:.3s;
}

.hpf-site-header nav a:hover::after{
    width:100%;
}

/* ==========================================================
Header Right
========================================================== */

.hpf-header-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.hpf-link{
    font-size:14px;
    font-weight:700;
    color:#13251d;
    text-decoration:none;
}

.hpf-link:hover{
    color:#C98B4F;
}

/* ==========================================================
Primary Button
========================================================== */

.hpf-header-actions .hpf-btn{
    padding:13px 22px;
    border-radius:12px;
    font-size:14px;
    font-weight:700;
}

/* ==========================================================
Mobile Menu
========================================================== */

.hpf-menu-toggle{
    display:none;

    width:46px;
    height:46px;

    border:none;
    border-radius:12px;

    background:#13251d;
    color:#fff;

    cursor:pointer;

    font-size:24px;

    transition:.3s;
}

.hpf-menu-toggle:hover{
    background:#C98B4F;
}

/* ==========================================================
Tablet
========================================================== */

@media(max-width:1200px){

    .hpf-site-logo img{
        width:200px;
    }

    .hpf-site-header nav{
        gap:24px;
    }

}

/* ==========================================================
Mobile
========================================================== */

@media(max-width:960px){

    .hpf-site-header{
        display:flex;
        justify-content:space-between;
        min-height:74px;
        padding:0 18px;
    }

    .hpf-site-logo img{
        width:170px;
    }

    .hpf-site-header nav{
        display:none;
    }

    .hpf-header-actions{
        display:none;
    }

    .hpf-menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
    }

}
/* ==========================================================
[05] HERO SECTION
========================================================== */
.hpf-hero {
    min-height:690px;
    padding:80px clamp(22px,7vw,110px);
    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;
    gap:70px;
    background:linear-gradient(135deg,#f7f3eb 0%,#eee4d5 100%)
}

.hpf-hero-copy h1 {
    font-family:Georgia,serif;
    font-size:clamp(48px,6vw,88px);
    line-height:.98;
    letter-spacing:-.055em;
    margin:16px 0 26px;
    max-width:760px
}

.hpf-hero-copy h1 em {
    font-style:normal;
    color:#ad6b31
}

.hpf-hero-copy>p {
    max-width:670px;
    font-size:19px;
    line-height:1.7;
    color:#546159
}

.hpf-hero-actions {
    display:flex;
    gap:12px;
    margin:34px 0 30px
}

.hpf-btn-ghost {
    background:transparent!important;
    color:#13251d!important;
    border:1px solid #13251d
}

.hpf-btn-dark {
    background:#13251d!important
}

.hpf-trust {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    color:#46534b;
    font-weight:700;
    font-size:13px
}

.hpf-hero-card {
    position:relative
}

.hpf-browser {
    border-radius:24px;
    background:#fff;
    padding:10px;
    box-shadow:0 35px 80px rgba(32,25,16,.19);
    transform:rotate(1.5deg)
}

.hpf-browser-top {
    height:36px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 8px;
    color:#778079;
    font-size:11px
}

.hpf-browser-top i {
    width:8px;
    height:8px;
    background:#d8d4ce;
    border-radius:50%
}

.hpf-browser-top span {
    margin-left:8px
}

.hpf-browser-image {
    height:500px;
    border-radius:16px;
    background:linear-gradient(90deg,rgba(8,13,10,.7),rgba(8,13,10,.08)),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1400&q=82') center/cover;
    position:relative;
    overflow:hidden
}

.hpf-browser-overlay {
    position:absolute;
    left:42px;
    bottom:44px;
    color:#fff;
    max-width:350px
}

.hpf-browser-overlay small {
    letter-spacing:.2em
}

.hpf-browser-overlay h2 {
    font-family:Georgia,serif;
    font-size:44px;
    line-height:1.03;
    margin:12px 0 22px
}

.hpf-browser-overlay button {
    border:0;
    background:#c7894d;
    color:#fff;
    padding:13px 18px;
    border-radius:9px
}

.hpf-delivery-badge {
    position:absolute;
    right:-20px;
    bottom:-26px;
    background:#13251d;
    color:#fff;
    border-radius:18px;
    padding:18px 22px;
    box-shadow:0 20px 45px rgba(19,37,29,.26)
}

.hpf-delivery-badge strong,.hpf-delivery-badge span {
    display:block
}

.hpf-delivery-badge strong {
    font-size:27px
}

.hpf-delivery-badge span {
    opacity:.7;
    font-size:12px
}

/* ==========================================================
[06] GENERAL SECTIONS & TEMPLATES
========================================================== */
.hpf-section {
    padding:100px clamp(22px,6vw,92px)
}

.hpf-template-section {
    background:#fff
}

.hpf-section-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:44px
}

.hpf-section-head h2 {
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,64px);
    line-height:1.03;
    margin:10px 0
}

.hpf-section-head p {
    font-size:17px;
    color:#667169;
    max-width:620px
}

.hpf-section-head>a {
    color:#13251d;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap
}

/* ==========================================================
[07] SERVICES SECTION
========================================================== */
.hpf-services {
    background:#13251d;
    color:#fff
}

.hpf-services .hpf-kicker {
    color:#d39a63
}

.hpf-service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px
}

.hpf-service-grid article {
    padding:28px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.04)
}

.hpf-service-grid b {
    color:#d39a63;
    font-size:13px
}

.hpf-service-grid h3 {
    font-size:23px;
    margin:35px 0 12px
}

.hpf-service-grid p {
    color:#b9c3bd;
    line-height:1.6
}

/* ==========================================================
[11] PRICING PACKAGES
========================================================== */
.hpf-packages {
    background:#f7f3eb
}

.hpf-section-head.centered {
    text-align:center;
    justify-content:center
}

.hpf-price-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    max-width:1180px;
    margin:auto
}

.hpf-price-grid article {
    background:#fff;
    border:1px solid #ded8cf;
    border-radius:22px;
    padding:32px;
    position:relative
}

.hpf-price-grid article.featured {
    background:#13251d;
    color:#fff;
    transform:translateY(-12px)
}

.hpf-price-grid .popular {
    position:absolute;
    right:18px;
    top:18px;
    background:#c98b4f;
    border-radius:999px;
    padding:6px 10px;
    font-size:10px;
    font-weight:900
}

.hpf-price-grid>article>span {
    letter-spacing:.15em;
    font-size:11px;
    font-weight:900;
    color:#a8662d
}

.hpf-price-grid h3 {
    font-family:Georgia,serif;
    font-size:31px
}

.hpf-price-grid ul {
    list-style:none;
    padding:0;
    margin:25px 0
}

.hpf-price-grid li {
    padding:10px 0;
    border-bottom:1px solid rgba(120,120,120,.16)
}

/* ==========================================================
[12] CALL TO ACTION
========================================================== */
.hpf-cta {
    margin:0 clamp(22px,6vw,92px) 100px;
    padding:60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
    background:linear-gradient(120deg,#1b3026,#0e1713);
    color:#fff;
    border-radius:26px
}

.hpf-cta h2 {
    font-family:Georgia,serif;
    font-size:clamp(37px,4.5vw,61px);
    max-width:850px;
    margin:12px 0
}

.hpf-cta p {
    color:#c0ccc5
}

/* ==========================================================
[13] FAQ
========================================================== */
.hpf-faq {
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:70px;
    background:#fff
}

.hpf-faq h2 {
    font-family:Georgia,serif;
    font-size:56px
}

.hpf-faq-list details {
    border-top:1px solid #dcdedb;
    padding:22px 0
}

.hpf-faq-list summary {
    font-size:19px;
    font-weight:800;
    cursor:pointer
}

.hpf-faq-list p {
    color:#5f6a63;
    line-height:1.7
}

/* ==========================================================
[15] FOOTER
========================================================== */
.hpf-site-footer {
    background:#0c1210;
    color:#fff;
    padding:55px clamp(22px,6vw,92px);
    display:grid;
    grid-template-columns:1fr 1.5fr 1fr;
    align-items:center;
    gap:30px
}

.hpf-site-footer .hpf-site-logo {
    color:#fff
}

.hpf-site-footer p {
    color:#aeb8b2
}

.hpf-site-footer nav {
    display:flex;
    justify-content:flex-end;
    gap:20px
}

.hpf-site-footer nav a {
    color:#d8dfdb
}

.hpf-site-footer small {
    grid-column:1/-1;
    border-top:1px solid rgba(255,255,255,.1);
    padding-top:18px;
    color:#7f8983
}

.hpf-home-empty {
    padding:40px;
    border:1px dashed #ccc;
    border-radius:15px;
    text-align:center
}

@media(max-width:1050px) {
    .hpf-site-header nav {
        display:none
    }

    .hpf-menu-toggle {
        display:block
    }

    .hpf-header-actions .hpf-link {
        display:none
    }

    .hpf-hero {
        grid-template-columns:1fr;
        padding-top:55px
    }

    .hpf-hero-card {
        max-width:760px
    }

    .hpf-service-grid {
        grid-template-columns:1fr 1fr
    }

    .hpf-price-grid {
        grid-template-columns:1fr
    }

    .hpf-price-grid article.featured {
        transform:none
    }

    .hpf-faq {
        grid-template-columns:1fr
    }

    .hpf-site-footer {
        grid-template-columns:1fr
    }

    .hpf-site-footer nav {
        justify-content:flex-start
    }

    .hpf-cta {
        display:block
    }

    .hpf-cta .hpf-btn {
        margin-top:20px
    }

}

@media(max-width:700px) {
    .admin-bar .hpf-site-header {
        top:46px
    }

    .hpf-site-header {
        height:66px;
        padding:0 16px
    }

    .hpf-header-actions .hpf-btn {
        display:none
    }

    .hpf-hero {
        padding:50px 20px 75px;
        gap:48px;
        min-height:0
    }

    .hpf-hero-copy h1 {
        font-size:50px
    }

    .hpf-hero-copy>p {
        font-size:16px
    }

    .hpf-hero-actions {
        flex-direction:column
    }

    .hpf-hero-actions .hpf-btn {
        width:100%
    }

    .hpf-browser-image {
        height:390px
    }

    .hpf-browser-overlay {
        left:24px;
        bottom:28px
    }

    .hpf-browser-overlay h2 {
        font-size:33px
    }

    .hpf-delivery-badge {
        right:8px
    }

    .hpf-section {
        padding:72px 20px
    }

    .hpf-section-head {
        display:block
    }

    .hpf-section-head>a {
        display:inline-block;
        margin-top:12px
    }

    .hpf-service-grid {
        grid-template-columns:1fr
    }

    .hpf-cta {
        margin:0 20px 70px;
        padding:36px 25px
    }

    .hpf-site-footer {
        padding:45px 20px
    }

    .hpf-trust {
        display:grid;
        grid-template-columns:1fr 1fr
    }

    .hpf-portal {
        min-height:100vh
    }

}

/* Helveti Platform 0.3 home experience */ .hpf-logo-strip {
    display:flex;
    justify-content:center;
    gap:clamp(20px,4vw,70px);
    padding:20px 24px;
    background:#101813;
    color:#d9e1dc;
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
    white-space:nowrap;
    overflow:auto
}

.hpf-live-pill {
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    padding:9px 12px;
    border-radius:999px;
    margin:0 0 18px
}

.hpf-live-pill b {
    width:8px;
    height:8px;
    background:#55d68a;
    border-radius:50%;
    box-shadow:0 0 0 6px rgba(85,214,138,.15)
}

.hpf-live-pill span {
    font-size:12px
}

.hpf-mini-card {
    position:absolute;
    background:#fff;
    border:1px solid rgba(19,37,29,.1);
    border-radius:15px;
    padding:13px 16px;
    box-shadow:0 16px 40px rgba(23,31,26,.15);
    z-index:3
}

.hpf-mini-card span,.hpf-mini-card small {
    display:block
}

.hpf-mini-card span {
    font-weight:900;
    font-size:22px;
    color:#13251d
}

.hpf-mini-card small {
    font-size:10px;
    color:#69756e;
    margin-top:3px
}

.hpf-mini-card-one {
    left:-35px;
    top:85px
}

.hpf-mini-card-two {
    right:-25px;
    top:140px
}

.hpf-float {
    animation:hpfFloat 5.5s ease-in-out infinite
}

@keyframes hpfFloat {
    50% {
        transform:translateY(-9px) rotate(.5deg)
    }

}

/* ==========================================================
[08] LIVE MENU & OPENING HOURS DEMO
========================================================== */
.hpf-experience {
    background:#0f1412;
    color:#fff
}

.hpf-experience .hpf-section-head p {
    color:#aeb9b2
}

.hpf-experience .hpf-kicker {
    color:#d49a61
}

.hpf-demo-grid {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:20px
}

.hpf-demo-card {
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:#171d1a;
    overflow:hidden;
    padding:30px
}

.hpf-demo-card h3 {
    font-family:Georgia,serif;
    font-size:36px;
    margin:8px 0
}

.hpf-demo-top {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start
}

.hpf-demo-tabs {
    display:flex;
    gap:6px;
    background:#0e1311;
    padding:5px;
    border-radius:999px
}

.hpf-demo-tabs button {
    border:0;
    background:transparent;
    color:#95a098;
    padding:9px 12px;
    border-radius:999px;
    font-weight:800;
    cursor:pointer
}

.hpf-demo-tabs button.active {
    background:#c98b4f;
    color:#fff
}

.hpf-dish-stage {
    margin-top:24px;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    min-height:340px;
    border-radius:18px;
    overflow:hidden;
    background:#f6efe5;
    color:#152019;
    transition:.35s ease
}

.hpf-dish-stage.is-changing {
    opacity:.25;
    transform:translateY(8px)
}

.hpf-dish-image {
    background:url('https://images.unsplash.com/photo-1532550907401-a500c9a57435?auto=format&fit=crop&w=1000&q=85') center/cover
}

.hpf-dish-copy {
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.hpf-dish-copy small {
    letter-spacing:.18em;
    color:#a26631;
    font-weight:900
}

.hpf-dish-copy h4 {
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1.05;
    margin:14px 0
}

.hpf-dish-copy p {
    color:#657068;
    line-height:1.6
}

.hpf-dish-copy strong {
    font-size:22px;
    margin-top:10px
}

.hpf-hours-demo {
    background:linear-gradient(160deg,#1a2c24,#111714)
}

.hpf-status-orb {
    display:flex;
    align-items:center;
    gap:15px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    padding:17px;
    border-radius:16px;
    margin:28px 0
}

.hpf-status-orb>span {
    width:48px;
    height:48px;
    border-radius:50%;
    background:#4ed384;
    box-shadow:0 0 0 12px rgba(78,211,132,.11)
}

.hpf-status-orb b,.hpf-status-orb small {
    display:block
}

.hpf-status-orb b {
    font-size:18px
}

.hpf-status-orb small {
    color:#9da9a2;
    margin-top:4px
}

.hpf-hours-list {
    display:grid;
    gap:4px
}

.hpf-hours-list div {
    display:flex;
    justify-content:space-between;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.09)
}

.hpf-hours-list span {
    color:#9eaaa3
}

.hpf-demo-note {
    color:#8d9992;
    font-size:12px;
    margin-top:20px
}

/* ==========================================================
[09] RESERVATION DEMO
========================================================== */
.hpf-reservation-showcase {
    margin-top:20px;
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:30px;
    align-items:center;
    padding:48px;
    background:linear-gradient(135deg,#182a22,#0e1411);
    border:1px solid rgba(255,255,255,.1);
    border-radius:26px
}

.hpf-reservation-copy h2 {
    font-family:Georgia,serif;
    font-size:48px;
    line-height:1.02;
    margin:12px 0
}

.hpf-reservation-copy p {
    color:#aeb9b2;
    line-height:1.7
}

.hpf-reservation-copy ul {
    padding-left:18px;
    color:#d7dfda;
    line-height:1.9
}

.hpf-booking-widget {
    background:#f8faf8;
    color:#132018;
    border-radius:22px;
    padding:22px;
    box-shadow:0 30px 70px rgba(0,0,0,.25)
}

.hpf-booking-steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px
}

.hpf-booking-steps button {
    border:1px solid #dce3de;
    background:#fff;
    border-radius:14px;
    padding:12px;
    display:flex;
    align-items:center;
    gap:10px;
    text-align:left;
    cursor:pointer
}

.hpf-booking-steps button.active {
    border-color:#c98b4f;
    background:#fff7ef
}

.hpf-booking-steps b {
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#16281f;
    color:#fff
}

.hpf-booking-steps button.active b {
    background:#c98b4f
}

.hpf-booking-steps span {
    font-weight:800
}

.hpf-booking-panel {
    padding:24px 3px 0;
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:12px;
    align-items:end
}

.hpf-booking-panel label {
    font-size:12px;
    font-weight:800
}

.hpf-booking-panel select,.hpf-booking-panel input {
    width:100%;
    margin-top:7px;
    padding:13px;
    border:1px solid #d8e0da;
    border-radius:11px;
    background:#fff;
    font:inherit
}

.hpf-time-slots {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:8px
}

.hpf-time-slots button {
    padding:13px;
    border:1px solid #d8dfda;
    border-radius:10px;
    background:#fff;
    font-weight:800;
    cursor:pointer
}

.hpf-time-slots button.selected,.hpf-time-slots button:hover {
    background:#173427;
    color:#fff
}

.hpf-floor-demo {
    grid-column:1/-1;
    position:relative;
    height:270px;
    border-radius:14px;
    background-color:#f4f7f4;
    background-image:linear-gradient(#e1e7e2 1px,transparent 1px),linear-gradient(90deg,#e1e7e2 1px,transparent 1px);
    background-size:28px 28px
}

.hpf-floor-demo button {
    position:absolute;
    left:var(--x);
    top:var(--y);
    width:62px;
    height:62px;
    border-radius:50%;
    border:2px solid #c98b4f;
    background:#fff;
    font-weight:900;
    cursor:pointer;
    transition:.2s
}

.hpf-floor-demo button:hover,.hpf-floor-demo button.selected {
    background:#c98b4f;
    color:#fff;
    transform:scale(1.06)
}

.hpf-booking-confirm {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px
}

.hpf-booking-confirm span {
    font-weight:800
}

/* ==========================================================
[10] GOOGLE & SEO SECTION
========================================================== */
.hpf-google-section {
    background:#f2eadf
}

.hpf-google-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center
}

.hpf-google-copy h2 {
    font-family:Georgia,serif;
    font-size:clamp(42px,5vw,69px);
    line-height:1;
    letter-spacing:-.04em;
    margin:12px 0 22px
}

.hpf-google-copy>p {
    font-size:18px;
    line-height:1.7;
    color:#5e6a63
}

.hpf-google-points {
    display:grid;
    gap:8px;
    margin-top:30px
}

.hpf-google-points article {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    padding:16px;
    border-top:1px solid #d8ccbd
}

.hpf-google-points b {
    color:#aa6932
}

.hpf-google-points h3 {
    margin:0 0 5px
}

.hpf-google-points p {
    margin:0;
    color:#68736c;
    line-height:1.55
}

.hpf-google-visual {
    position:relative
}

.hpf-search-box {
    display:flex;
    align-items:center;
    gap:15px;
    background:#fff;
    padding:15px 18px;
    border-radius:999px;
    box-shadow:0 15px 45px rgba(77,61,42,.14);
    position:relative;
    z-index:2;
    margin:0 30px -20px
}

.hpf-search-box span {
    font-size:24px;
    font-weight:900;
    color:#4285f4
}

.hpf-search-box p {
    margin:0;
    flex:1
}

.hpf-search-box i {
    font-style:normal;
    font-size:24px
}

.hpf-map-card {
    background:#fff;
    border-radius:26px;
    padding:12px;
    box-shadow:0 30px 70px rgba(77,61,42,.2)
}

.hpf-map-bg {
    height:420px;
    border-radius:18px;
    background:linear-gradient(rgba(230,241,230,.35),rgba(230,241,230,.35)),url('https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1200&q=80') center/cover
}

.hpf-business-card {
    display:grid;
    grid-template-columns:150px 1fr;
    gap:18px;
    margin:-120px 25px 22px;
    position:relative;
    background:#fff;
    border-radius:18px;
    padding:14px;
    box-shadow:0 18px 50px rgba(0,0,0,.16)
}

.hpf-business-photo {
    border-radius:13px;
    background:url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=600&q=82') center/cover
}

.hpf-business-card small {
    color:#768179
}

.hpf-business-card h3 {
    font-size:22px;
    margin:6px 0
}

.hpf-stars {
    color:#f6a800;
    font-weight:900
}

.hpf-stars span {
    color:#667169;
    font-weight:600
}

.hpf-business-card p {
    font-size:13px
}

.hpf-business-actions {
    display:flex;
    gap:6px
}

.hpf-business-actions button {
    border:1px solid #dfe4e0;
    background:#fff;
    border-radius:8px;
    padding:8px;
    font-weight:700
}

.hpf-reveal {
    opacity:0;
    transform:translateY(30px);
    transition:opacity .75s ease,transform .75s ease
}

.hpf-reveal.is-visible {
    opacity:1;
    transform:none
}

@media(max-width:1050px) {
    .hpf-demo-grid,.hpf-reservation-showcase,.hpf-google-layout {
        grid-template-columns:1fr
    }

    .hpf-mini-card-one {
        left:10px
    }

    .hpf-mini-card-two {
        right:10px
    }

    .hpf-reservation-showcase {
        padding:34px
    }

    .hpf-google-visual {
        max-width:760px
    }

    .hpf-booking-panel {
        grid-template-columns:1fr 1fr
    }

    .hpf-booking-panel>.hpf-btn {
        grid-column:1/-1
    }

    .hpf-time-slots {
        grid-template-columns:repeat(3,1fr)
    }

}

@media(max-width:700px) {
    .hpf-logo-strip {
        justify-content:flex-start
    }

    .hpf-mini-card {
        display:none
    }

    .hpf-demo-card {
        padding:20px
    }

    .hpf-demo-top {
        display:block
    }

    .hpf-demo-tabs {
        margin-top:18px;
        overflow:auto
    }

    .hpf-dish-stage {
        grid-template-columns:1fr
    }

    .hpf-dish-image {
        min-height:240px
    }

    .hpf-dish-copy {
        padding:26px
    }

    .hpf-reservation-showcase {
        padding:24px 16px
    }

    .hpf-reservation-copy h2 {
        font-size:39px
    }

    .hpf-booking-widget {
        padding:14px
    }

    .hpf-booking-steps {
        grid-template-columns:1fr
    }

    .hpf-booking-steps button {
        padding:9px
    }

    .hpf-booking-panel {
        grid-template-columns:1fr
    }

    .hpf-time-slots {
        grid-template-columns:repeat(2,1fr)
    }

    .hpf-floor-demo {
        height:320px
    }

    .hpf-booking-confirm {
        display:grid
    }

    .hpf-google-section {
        padding-left:16px;
        padding-right:16px
    }

    .hpf-google-layout {
        gap:35px
    }

    .hpf-search-box {
        margin-left:8px;
        margin-right:8px
    }

    .hpf-business-card {
        grid-template-columns:1fr;
        margin:-100px 10px 10px
    }

    .hpf-business-photo {
        height:140px
    }

    .hpf-map-bg {
        height:360px
    }

}

/* v0.4.0 brand, contact and live-demo refinements */ .hpf-site-logo {
    display:inline-flex;
    align-items:center;
    flex:0 0 auto
}

.hpf-site-logo img {
    display:block;
    width:178px;
    max-height:42px;
    object-fit:contain;
    object-position:left center
}

.hpf-site-header .hpf-site-logo img {
    width:168px
}

.hpf-email-link {
    font-size:13px
}

.hpf-site-footer .hpf-site-logo img {
    width:205px;
    filter:brightness(0) invert(1)
}

.hpf-site-footer small a {
    color:#cfd8d2;
    text-decoration:underline;
    text-underline-offset:3px
}

/* ==========================================================
[14] CONTACT SECTION
========================================================== */
.hpf-contact-section {
    background:linear-gradient(135deg,#f2eadf 0%,#fff 52%,#e8f0eb 100%);
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:70px;
    align-items:center
}

.hpf-contact-copy h2 {
    font-family:Georgia,serif;
    font-size:clamp(42px,5.4vw,76px);
    line-height:.98;
    letter-spacing:-.045em;
    margin:13px 0 24px;
    max-width:900px
}

.hpf-contact-copy>p {
    font-size:18px;
    line-height:1.75;
    color:#5d6961;
    max-width:760px
}

.hpf-contact-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:30px
}

.hpf-contact-card {
    background:#101713;
    color:#fff;
    border-radius:25px;
    padding:38px;
    box-shadow:0 28px 70px rgba(20,35,27,.18)
}

.hpf-contact-card>span {
    font-size:11px;
    letter-spacing:.19em;
    color:#d49a61;
    font-weight:900
}

.hpf-contact-card>a {
    display:block;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(25px,2.6vw,39px);
    line-height:1.1;
    margin:18px 0;
    text-decoration:none;
    word-break:break-word
}

.hpf-contact-card p {
    color:#aeb9b2;
    line-height:1.7
}

.hpf-contact-card ul {
    padding-left:18px;
    line-height:2;
    color:#e4eae6
}

.hpf-floor-demo button.demo-reserved {
    background:#e53935!important;
    border-color:#e53935!important;
    color:#fff!important;
    box-shadow:0 0 0 8px rgba(229,57,53,.10)
}

.hpf-floor-demo button.demo-available {
    background:#28a96b!important;
    border-color:#28a96b!important;
    color:#fff!important;
    box-shadow:0 0 0 8px rgba(40,169,107,.11)
}

.hpf-floor-demo button.demo-selected {
    background:#c98b4f!important;
    border-color:#c98b4f!important;
    color:#fff!important;
    box-shadow:0 0 0 8px rgba(201,139,79,.12);
    transform:scale(1.08)
}

.hpf-floor-demo button {
    transition:background-color .45s ease,border-color .45s ease,color .45s ease,transform .45s ease,box-shadow .45s ease
}

.hpf-demo-tabs button.active {
    animation:hpfTabPulse .55s ease
}

@keyframes hpfTabPulse {
    0% {
        transform:scale(.94)
    }

    65% {
        transform:scale(1.06)
    }

    100% {
        transform:scale(1)
    }

}

@media(max-width:1180px) {
    .hpf-email-link {
        display:none
    }

    .hpf-site-header .hpf-site-logo img {
        width:150px
    }

}

@media(max-width:820px) {
    .hpf-contact-section {
        grid-template-columns:1fr;
        gap:34px
    }

    .hpf-site-footer .hpf-site-logo img {
        width:180px
    }

}

@media(max-width:700px) {
    .hpf-site-header .hpf-site-logo img {
        width:135px
    }

    .hpf-contact-copy h2 {
        font-size:43px
    }

    .hpf-contact-card {
        padding:28px 22px
    }

    .hpf-contact-actions {
        display:grid
    }

    .hpf-contact-actions .hpf-btn {
        width:100%
    }

}

/* v0.5.0 header language tools and reservation motion */ .hpf-site-header {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:clamp(18px,3vw,46px)
}

.hpf-site-header nav {
    justify-self:center;
    align-items:center
}

.hpf-header-tools {
    display:flex;
    align-items:center;
    gap:15px;
    justify-self:end
}

.hpf-header-actions {
    display:flex;
    align-items:center;
    gap:10px
}

.hpf-language-switcher {
    display:flex;
    align-items:center;
    gap:4px;
    padding:4px;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(18,37,29,.12);
    border-radius:999px;
    min-height:38px
}

.hpf-language-switcher>a {
    width:36px;
    height:30px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:#16261e;
    text-decoration:none;
    font-size:14px;
    transition:.2s
}

.hpf-language-switcher>a:hover {
    background:#fff;
    box-shadow:0 5px 14px rgba(20,35,27,.1);
    transform:translateY(-1px)
}

.hpf-language-switcher>a span {
    font-size:9px;
    font-weight:900;
    letter-spacing:.02em
}

.hpf-language-switcher .switcher {
    font-size:12px!important
}

.hpf-language-switcher img {
    max-width:24px!important;
    height:auto!important
}

.hpf-login-icon {
    width:40px;
    height:40px;
    border:1px solid rgba(18,37,29,.16);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#14261d;
    text-decoration:none;
    background:rgba(255,255,255,.55);
    font-size:24px;
    line-height:1;
    transition:.2s
}

.hpf-login-icon:hover {
    background:#14261d;
    color:#fff;
    transform:translateY(-1px)
}

.hpf-floor-legend {
    grid-column:1/-1;
    display:flex;
    gap:15px;
    align-items:center;
    justify-content:flex-end;
    font-size:11px;
    font-weight:800;
    color:#617067
}

.hpf-floor-legend span {
    display:flex;
    align-items:center;
    gap:6px
}

.hpf-floor-legend i {
    width:10px;
    height:10px;
    border-radius:50%;
    display:block
}

.hpf-floor-legend i.available {
    background:#28a96b
}

.hpf-floor-legend i.selected {
    background:#c98b4f
}

.hpf-floor-legend i.reserved {
    background:#e53935
}

.hpf-floor-demo button {
    will-change:transform,background-color;
    animation:hpfTableFloat 3.2s ease-in-out infinite
}

.hpf-floor-demo button:nth-child(2) {
    animation-delay:.3s
}

.hpf-floor-demo button:nth-child(3) {
    animation-delay:.6s
}

.hpf-floor-demo button:nth-child(4) {
    animation-delay:.9s
}

.hpf-floor-demo button:nth-child(5) {
    animation-delay:1.2s
}

.hpf-floor-demo button:nth-child(6) {
    animation-delay:1.5s
}

@keyframes hpfTableFloat {
    0%,100% {
        translate:0 0
    }

    50% {
        translate:0 -4px
    }

}

.hpf-booking-step-flash {
    animation:hpfStepFlash .55s ease
}

@keyframes hpfStepFlash {
    0% {
        transform:scale(.985);
        opacity:.72
    }

    100% {
        transform:none;
        opacity:1
    }

}

@media(max-width:1180px) {
    .hpf-site-header {
        grid-template-columns:auto 1fr auto
    }

    .hpf-language-switcher>a {
        width:32px
    }

    .hpf-language-switcher>a span {
        display:none
    }

    .hpf-site-header nav {
        gap:17px
    }

    .hpf-header-actions .hpf-btn {
        padding:11px 13px
    }

}

@media(max-width:940px) {
    .hpf-site-header {
        display:flex
    }

    .hpf-header-tools {
        margin-left:auto
    }

    .hpf-site-header nav {
        display:none
    }

    .hpf-language-switcher {
        display:none
    }

    .hpf-header-actions .hpf-btn {
        display:none
    }

    .hpf-menu-toggle {
        display:block
    }

    .hpf-login-icon {
        display:grid
    }

}

@media(max-width:700px) {
    .hpf-floor-legend {
        justify-content:flex-start;
        flex-wrap:wrap
    }

    .hpf-floor-demo button {
        width:56px;
        height:56px
    }

}

/* ==========================================================
[16] SAFE HEADER PATCH — ORIGINAL SVG, ORIGINAL DESIGN
This patch changes only logo size, mobile menu visibility,
and hero title size. It does not redesign the page.
========================================================== */

/* Keep the normal HelvetiTable SVG */
.hpf-home .hpf-site-header .hpf-site-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.hpf-home .hpf-site-header .hpf-site-logo img {
    display: block;
    width: 205px !important;
    max-width: 205px !important;
    height: auto !important;
    max-height: 58px !important;
    object-fit: contain;
    object-position: left center;
}

/* Smaller hero title while keeping the original typography */
.hpf-home .hpf-hero-copy h1 {
    font-size: clamp(44px, 5vw, 72px) !important;
    line-height: 1.01 !important;
    max-width: 760px;
}

/* Tablet */
@media (max-width: 1180px) {
    .hpf-home .hpf-site-header .hpf-site-logo img {
        width: 185px !important;
        max-width: 185px !important;
        max-height: 54px !important;
    }

    .hpf-home .hpf-hero-copy h1 {
        font-size: clamp(42px, 5.5vw, 62px) !important;
    }
}

/* Mobile */
@media (max-width: 940px) {
    .hpf-home .hpf-site-header {
        min-height: 76px;
        height: auto;
        padding: 8px 16px;
    }

    .hpf-home .hpf-site-header .hpf-site-logo img {
        width: 175px !important;
        max-width: 175px !important;
        max-height: 50px !important;
    }

    .hpf-home .hpf-site-header nav,
    .hpf-home .hpf-header-tools {
        display: none;
    }

    .hpf-home .hpf-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
    }

    .hpf-home .hpf-hero-copy h1 {
        font-size: clamp(36px, 9vw, 46px) !important;
        line-height: 1.04 !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .hpf-home .hpf-site-header .hpf-site-logo img {
        width: 160px !important;
        max-width: 160px !important;
        max-height: 46px !important;
    }

    .hpf-home .hpf-hero-copy h1 {
        font-size: 36px !important;
    }
}

/* ==========================================================
[110] HELVETITABLE SWISS BALANCED DESIGN SYSTEM — v0.8.0
Swiss red is used as a precise accent. Helveti gold remains the
main action color. Dark sections use charcoal, cream and white.
========================================================== */
:root{
    --hpf-red:#D62B1F;
    --hpf-red-dark:#B92319;
    --hpf-gold:#C98B4F;
    --hpf-gold-dark:#A96D36;
    --hpf-ink:#121814;
    --hpf-charcoal:#17201B;
    --hpf-charcoal-2:#202B25;
    --hpf-cream:#F7F3EB;
    --hpf-warm:#EFE8DD;
    --hpf-paper:#FFFDF9;
    --hpf-line:#DDD6CC;
    --hpf-muted:#667069;
    --hpf-white:#FFFFFF;
    --hpf-shadow:0 18px 50px rgba(18,24,20,.10);
}

.hpf-home{color:var(--hpf-ink)!important;background:var(--hpf-paper)!important}
.hpf-home .hpf-kicker{color:var(--hpf-gold-dark)!important;letter-spacing:.19em!important}

/* [110.1] Buttons: gold primary, charcoal secondary, red only for small accents */
.hpf-home .hpf-btn{
    background:var(--hpf-gold)!important;
    border:1px solid var(--hpf-gold)!important;
    color:#fff!important;
    border-radius:10px!important;
    min-height:46px!important;
    padding:13px 20px!important;
    font-weight:850!important;
    box-shadow:0 9px 22px rgba(201,139,79,.20)!important;
    transition:.22s ease!important;
}
.hpf-home .hpf-btn:hover{background:var(--hpf-gold-dark)!important;border-color:var(--hpf-gold-dark)!important;transform:translateY(-2px)!important}
.hpf-home .hpf-btn-dark{background:var(--hpf-charcoal)!important;border-color:var(--hpf-charcoal)!important;box-shadow:none!important}
.hpf-home .hpf-btn-ghost{background:transparent!important;color:var(--hpf-charcoal)!important;border-color:rgba(18,24,20,.35)!important;box-shadow:none!important}

/* [110.2] Header and real SVG logo */
.hpf-home .hpf-site-header{
    min-height:94px!important;height:94px!important;
    padding:0 clamp(20px,4.5vw,72px)!important;
    background:rgba(255,253,249,.97)!important;
    border-bottom:1px solid rgba(18,24,20,.10)!important;
    box-shadow:0 8px 30px rgba(18,24,20,.06)!important;
    grid-template-columns:290px minmax(0,1fr) auto!important;
    column-gap:clamp(22px,3vw,44px)!important;
}
.hpf-home .hpf-site-header .hpf-site-logo{width:290px!important;min-width:290px!important;max-width:290px!important;overflow:visible!important}
.hpf-home .hpf-site-header .hpf-site-logo img{
    display:block!important;width:250px!important;min-width:250px!important;max-width:250px!important;
    height:auto!important;max-height:72px!important;object-fit:contain!important;object-position:left center!important;
}
.hpf-home .hpf-site-header nav a{color:var(--hpf-charcoal)!important;font-size:15px!important}
.hpf-home .hpf-site-header nav a:hover{color:var(--hpf-gold-dark)!important}
.hpf-home .hpf-site-header nav a::after{background:var(--hpf-red)!important;height:2px!important}
.hpf-home .hpf-header-tools{gap:10px!important}
.hpf-home .hpf-language-switcher{display:none!important}
.hpf-home .hpf-login-icon:hover{background:var(--hpf-charcoal)!important;border-color:var(--hpf-charcoal)!important}

/* [110.3] Hero: restore balanced editorial title */
.hpf-home .hpf-hero{background:linear-gradient(135deg,#FBF8F2 0%,#EFE7DA 100%)!important}
.hpf-home .hpf-hero-copy h1{
    color:var(--hpf-ink)!important;
    font-size:clamp(46px,4.7vw,68px)!important;
    line-height:1.01!important;letter-spacing:-.052em!important;max-width:720px!important;
}
.hpf-home .hpf-hero-copy h1 em{color:var(--hpf-gold-dark)!important}
.hpf-home .hpf-browser-overlay button{background:var(--hpf-gold)!important}
.hpf-home .hpf-delivery-badge{background:var(--hpf-charcoal)!important;border-top:3px solid var(--hpf-red)!important}
.hpf-home .hpf-logo-strip{background:var(--hpf-charcoal)!important;color:#E8E2D9!important;border:0!important}

/* [110.4] Professional section dividers */
.hpf-home .hpf-section{position:relative!important}
.hpf-home .hpf-section:not(.hpf-experience):not(.hpf-services)::before{
    content:"";position:absolute;left:clamp(22px,6vw,92px);right:clamp(22px,6vw,92px);top:0;height:1px;
    background:linear-gradient(90deg,var(--hpf-red) 0 54px,var(--hpf-gold) 54px 128px,var(--hpf-line) 128px 100%);
}
.hpf-home .hpf-experience,.hpf-home .hpf-services{border-top:1px solid rgba(255,255,255,.12)!important}

/* [110.5] Template introduction */
.hpf-home .hpf-template-section{background:var(--hpf-paper)!important;padding-top:92px!important}
.hpf-home .hpf-template-section .hpf-section-head{
    max-width:1320px!important;margin:0 auto 58px!important;padding:38px 42px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;
    background:linear-gradient(135deg,#F8F3EA,#FFFDF9)!important;
    border:1px solid #E3D9CC!important;border-radius:24px!important;
    box-shadow:0 20px 55px rgba(30,25,18,.07)!important;
}
.hpf-home .hpf-template-section .hpf-section-head::before{
    content:"";position:absolute;left:0;top:28px;bottom:28px;width:5px;border-radius:0 6px 6px 0;background:var(--hpf-red);
}
.hpf-home .hpf-template-section .hpf-section-head h2{
    color:var(--hpf-ink)!important;font-size:clamp(42px,4.2vw,62px)!important;
    line-height:1.02!important;letter-spacing:-.045em!important;max-width:820px!important;margin:10px 0 16px!important;
}
.hpf-home .hpf-template-section .hpf-section-head p{color:var(--hpf-muted)!important;max-width:760px!important;font-size:17px!important;line-height:1.7!important}
.hpf-home .hpf-template-section .hpf-section-head>a{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;
    padding:0 22px!important;border:1px solid var(--hpf-charcoal)!important;border-radius:12px!important;
    background:var(--hpf-charcoal)!important;color:#fff!important;font-weight:850!important;box-shadow:none!important;
}
.hpf-home .hpf-template-section .hpf-section-head>a:hover{background:var(--hpf-gold)!important;border-color:var(--hpf-gold)!important}

/* [110.6] Inner Website Builder heading */
.hpf-home .hwb-market{max-width:1320px!important;padding:18px 0 0!important}
.hpf-home .hwb-market-head{
    max-width:none!important;margin:0 0 34px!important;padding:0 4px 26px!important;
    display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(320px,.65fr)!important;column-gap:70px!important;align-items:end!important;
    border-bottom:1px solid var(--hpf-line)!important;
}
.hpf-home .hwb-market-head>span{grid-column:1/-1;color:var(--hpf-red)!important;font-size:11px!important;letter-spacing:.19em!important}
.hpf-home .hwb-market-head h2{font-family:Georgia,serif!important;color:var(--hpf-ink)!important;font-size:clamp(34px,3.4vw,50px)!important;line-height:1.02!important;letter-spacing:-.04em!important;margin:10px 0 0!important}
.hpf-home .hwb-market-head p{color:var(--hpf-muted)!important;font-size:16px!important;line-height:1.65!important;margin:0!important}

/* [110.7] Premium template cards */
.hpf-home .hwb-market-grid{gap:26px!important}
.hpf-home .hwb-market-card{
    min-height:560px!important;background:#fff!important;border:1px solid #E1DCD4!important;border-radius:20px!important;
    overflow:hidden!important;box-shadow:0 16px 42px rgba(25,22,18,.08)!important;transition:.25s ease!important;
}
.hpf-home .hwb-market-card:hover{transform:translateY(-6px)!important;box-shadow:0 26px 60px rgba(25,22,18,.13)!important;border-color:rgba(201,139,79,.55)!important}
.hpf-home .hwb-market-shot{height:300px!important}
.hpf-home .hwb-market-shot::after{background:linear-gradient(180deg,rgba(0,0,0,.02) 38%,rgba(0,0,0,.72) 100%)!important}
.hpf-home .hwb-market-shot>span{
    left:18px!important;top:18px!important;background:rgba(255,253,249,.96)!important;color:var(--hpf-charcoal)!important;
    border:1px solid rgba(18,24,20,.10)!important;border-radius:999px!important;padding:9px 14px!important;font-weight:850!important;
}
.hpf-home .hwb-market-shot>span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--hpf-red);margin-right:7px}
.hpf-home .hwb-market-shot i{color:rgba(255,255,255,.50)!important}
.hpf-home .hwb-market-shot em{font-size:14px!important}
.hpf-home .hwb-market-body{padding:26px!important;background:#fff!important}
.hpf-home .hwb-market-body small{color:var(--hpf-gold-dark)!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:10px!important}
.hpf-home .hwb-market-body h3{font-family:Georgia,serif!important;color:var(--hpf-ink)!important;font-size:30px!important;line-height:1.05!important;margin:10px 0 14px!important}
.hpf-home .hwb-market-body p{color:var(--hpf-muted)!important;line-height:1.62!important}
.hpf-home .hwb-card-features span{background:#F2EEE7!important;color:#4D554F!important;border:1px solid #E3DDD4!important}
.hpf-home .hwb-market-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.hpf-home .hwb-market-actions form{display:block!important}
.hpf-home .hwb-market-actions a,.hpf-home .hwb-market-actions button{
    width:100%!important;min-height:46px!important;border-radius:10px!important;padding:11px 14px!important;font-size:13px!important;font-weight:850!important;
}
.hpf-home .hwb-market-actions a{background:#F1EEE8!important;color:var(--hpf-charcoal)!important;border:1px solid #DDD7CE!important}
.hpf-home .hwb-market-actions button{background:var(--hpf-gold)!important;color:#fff!important;border:1px solid var(--hpf-gold)!important}
.hpf-home .hwb-market-actions button:hover{background:var(--hpf-gold-dark)!important}
.hpf-home .hwb-more{margin-top:44px!important}
.hpf-home .hwb-more a{display:inline-flex!important;min-height:48px!important;align-items:center!important;background:var(--hpf-charcoal)!important;color:#fff!important;border-radius:11px!important;padding:0 22px!important}
.hpf-home .hwb-more a:hover{background:var(--hpf-gold)!important}

/* [110.8] Live experience — warm charcoal, not blue */
.hpf-home .hpf-experience{background:var(--hpf-charcoal)!important;color:#fff!important}
.hpf-home .hpf-experience .hpf-section-head h2,.hpf-home .hpf-experience h2,.hpf-home .hpf-experience h3{color:#fff!important}
.hpf-home .hpf-experience .hpf-section-head p,.hpf-home .hpf-experience p{color:#C8D0CB!important}
.hpf-home .hpf-experience .hpf-kicker{color:#E4AE78!important}
.hpf-home .hpf-demo-card{background:#202B25!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 45px rgba(0,0,0,.16)!important}
.hpf-home .hpf-menu-demo{background:#1D2822!important}
.hpf-home .hpf-hours-demo{background:#24362D!important}
.hpf-home .hpf-demo-tabs{background:#111A16!important;border:1px solid rgba(255,255,255,.10)!important}
.hpf-home .hpf-demo-tabs button{color:#C9D0CC!important}
.hpf-home .hpf-demo-tabs button.active{background:var(--hpf-gold)!important;color:#fff!important}
.hpf-home .hpf-dish-stage{background:#F8F3EA!important;color:var(--hpf-ink)!important}
.hpf-home .hpf-dish-copy h4{color:var(--hpf-ink)!important}
.hpf-home .hpf-dish-copy small{color:var(--hpf-red)!important}
.hpf-home .hpf-dish-copy p{color:#646B66!important}
.hpf-home .hpf-status-orb{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.12)!important}
.hpf-home .hpf-hours-list div{border-bottom-color:rgba(255,255,255,.10)!important}
.hpf-home .hpf-hours-list span{color:#B9C6BF!important}.hpf-home .hpf-hours-list strong{color:#fff!important}

/* [110.9] Reservation */
.hpf-home .hpf-reservation-showcase{background:#1B2B23!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 24px 60px rgba(0,0,0,.14)!important}
.hpf-home .hpf-reservation-copy h2{color:#fff!important}.hpf-home .hpf-reservation-copy p,.hpf-home .hpf-reservation-copy li{color:#C8D0CB!important}
.hpf-home .hpf-booking-widget{background:#FFFDF9!important;color:var(--hpf-ink)!important;border:1px solid #E5DED4!important}
.hpf-home .hpf-booking-steps button{background:#F5F1EA!important;color:var(--hpf-ink)!important;border-color:#DED7CD!important}
.hpf-home .hpf-booking-steps button.active{background:#FFF8EF!important;border-color:var(--hpf-gold)!important}
.hpf-home .hpf-booking-steps b{background:var(--hpf-charcoal)!important}.hpf-home .hpf-booking-steps button.active b{background:var(--hpf-gold)!important}
.hpf-home .hpf-time-slots button{background:#fff!important;color:var(--hpf-ink)!important;border-color:#DCD6CD!important;border-radius:10px!important}
.hpf-home .hpf-time-slots button.selected,.hpf-home .hpf-time-slots button:hover{background:var(--hpf-charcoal)!important;border-color:var(--hpf-charcoal)!important;color:#fff!important}
.hpf-home .hpf-floor-demo{background-color:#F3EFE8!important}.hpf-home .hpf-floor-demo button{border-color:var(--hpf-gold)!important}
.hpf-home .hpf-floor-demo button:hover,.hpf-home .hpf-floor-demo button.selected{background:var(--hpf-gold)!important;color:#fff!important}

/* [110.10] Google and services */
.hpf-home .hpf-google-section{background:#F1E9DD!important}.hpf-home .hpf-google-copy h2{color:var(--hpf-ink)!important}.hpf-home .hpf-google-points b{color:var(--hpf-red)!important}
.hpf-home .hpf-business-actions button:last-child{background:var(--hpf-gold)!important;color:#fff!important;border-color:var(--hpf-gold)!important}
.hpf-home .hpf-services{background:#14211B!important;color:#fff!important}
.hpf-home .hpf-services .hpf-section-head h2{color:#fff!important}
.hpf-home .hpf-service-grid article{background:#1E3027!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;min-height:240px!important;position:relative!important;overflow:hidden!important}
.hpf-home .hpf-service-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--hpf-red) 0 26%,var(--hpf-gold) 26% 100%)}
.hpf-home .hpf-service-grid b{color:#E5AE77!important}.hpf-home .hpf-service-grid h3{color:#fff!important}.hpf-home .hpf-service-grid p{color:#BFCBC4!important}

/* [110.11] Packages, CTA, contact and footer */
.hpf-home .hpf-packages{background:#F7F3EB!important}
.hpf-home .hpf-price-grid article{border-radius:18px!important;border-color:#DDD6CC!important;box-shadow:0 14px 35px rgba(20,20,20,.07)!important}
.hpf-home .hpf-price-grid article.featured{background:#17241E!important;border-color:#17241E!important}
.hpf-home .hpf-price-grid article.featured h3,.hpf-home .hpf-price-grid article.featured li{color:#fff!important}
.hpf-home .hpf-price-grid .popular{background:var(--hpf-red)!important}.hpf-home .hpf-price-grid>article>span{color:var(--hpf-gold-dark)!important}
.hpf-home .hpf-cta{background:#17241E!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:var(--hpf-shadow)!important}
.hpf-home .hpf-cta::before{content:"";position:absolute;left:34px;right:34px;top:0;height:4px;background:linear-gradient(90deg,var(--hpf-red) 0 60px,var(--hpf-gold) 60px 150px,transparent 150px)}
.hpf-home .hpf-cta h2{color:#fff!important}
.hpf-home .hpf-faq{background:#fff!important}.hpf-home .hpf-contact-section{background:#F5F0E8!important}.hpf-home .hpf-contact-copy h2{color:var(--hpf-ink)!important}
.hpf-home .hpf-contact-card{background:#17241E!important;border-radius:20px!important;border-top:4px solid var(--hpf-gold)!important}.hpf-home .hpf-contact-card>span{color:#E6AE76!important}
.hpf-home .hpf-site-footer{background:#101713!important;border-top:1px solid rgba(255,255,255,.12)!important}

/* [110.12] Tablet and mobile */
@media(max-width:1180px){
    .hpf-home .hpf-site-header{grid-template-columns:235px minmax(0,1fr) auto!important;padding-left:20px!important;padding-right:20px!important}
    .hpf-home .hpf-site-header .hpf-site-logo{width:235px!important;min-width:235px!important;max-width:235px!important}
    .hpf-home .hpf-site-header .hpf-site-logo img{width:210px!important;min-width:210px!important;max-width:210px!important;max-height:62px!important}
}
@media(max-width:940px){
    .hpf-home .hpf-site-header{display:flex!important;min-height:82px!important;height:auto!important;padding:7px 14px!important}
    .hpf-home .hpf-site-header .hpf-site-logo{width:auto!important;min-width:0!important;max-width:calc(100% - 64px)!important;flex:1 1 auto!important}
    .hpf-home .hpf-site-header .hpf-site-logo img{width:190px!important;min-width:190px!important;max-width:190px!important;max-height:56px!important}
    .hpf-home .hpf-site-header nav,.hpf-home .hpf-header-tools{display:none!important}
    .hpf-home .hpf-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:52px!important;flex:0 0 52px!important}
    .hpf-home .hpf-hero-copy h1{font-size:clamp(38px,8.8vw,48px)!important;line-height:1.04!important}
    .hpf-home .hpf-template-section .hpf-section-head{grid-template-columns:1fr!important;padding:30px!important}
    .hpf-home .hpf-template-section .hpf-section-head>a{margin-top:20px!important;justify-self:start!important}
    .hpf-home .hwb-market-head{grid-template-columns:1fr!important;gap:14px!important}
}
@media(max-width:700px){
    .hpf-home .hpf-section{padding-top:72px!important;padding-bottom:72px!important}
    .hpf-home .hpf-site-header .hpf-site-logo img{width:175px!important;min-width:175px!important;max-width:175px!important}
    .hpf-home .hpf-hero-copy h1{font-size:38px!important}
    .hpf-home .hpf-template-section .hpf-section-head{padding:26px 22px!important;border-radius:18px!important}
    .hpf-home .hpf-template-section .hpf-section-head h2{font-size:38px!important}
    .hpf-home .hwb-market-actions{grid-template-columns:1fr!important}
    .hpf-home .hpf-service-grid article{min-height:0!important}
}

/* ==========================================================
[120] HELVETITABLE POLISH — v0.9.0
Keeps the v0.8 design and improves only header, service strip,
live-experience spacing, animated dividers and footer.
========================================================== */

/* [120.1] Stronger real logo and Swiss-red header CTA */
.hpf-home .hpf-site-header{
    grid-template-columns:320px minmax(0,1fr) auto!important;
}
.hpf-home .hpf-site-header .hpf-site-logo{
    width:320px!important;min-width:320px!important;max-width:320px!important;
}
.hpf-home .hpf-site-header .hpf-site-logo img{
    width:285px!important;min-width:285px!important;max-width:285px!important;
    max-height:76px!important;
    transform:scale(1.08)!important;transform-origin:left center!important;
}
.hpf-home .hpf-site-header .hpf-header-actions .hpf-btn{
    background:var(--hpf-red)!important;border-color:var(--hpf-red)!important;
    box-shadow:0 10px 24px rgba(214,43,31,.20)!important;
}
.hpf-home .hpf-site-header .hpf-header-actions .hpf-btn:hover{
    background:var(--hpf-red-dark)!important;border-color:var(--hpf-red-dark)!important;
}
.hpf-home .hpf-hero .hpf-kicker{color:var(--hpf-red)!important}

/* [120.2] Clickable service strip with distinct accents */
.hpf-home .hpf-logo-strip{
    display:grid!important;grid-template-columns:repeat(6,1fr)!important;
    gap:0!important;padding:0!important;overflow:visible!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
}
.hpf-home .hpf-logo-strip a{
    position:relative;display:flex;align-items:center;justify-content:center;
    min-height:82px;padding:18px 12px;color:#F4EEE5!important;text-decoration:none!important;
    font-size:12px;font-weight:900;letter-spacing:.16em;white-space:nowrap;
    border-right:1px solid rgba(255,255,255,.08);transition:.25s ease;
}
.hpf-home .hpf-logo-strip a:last-child{border-right:0}
.hpf-home .hpf-logo-strip a::before{
    content:"";position:absolute;left:22%;right:22%;top:0;height:3px;border-radius:0 0 3px 3px;
    background:var(--strip-accent,var(--hpf-gold));transform:scaleX(.38);transition:.25s ease;
}
.hpf-home .hpf-logo-strip a:hover{background:rgba(255,255,255,.055)!important;transform:translateY(-1px)}
.hpf-home .hpf-logo-strip a:hover::before{transform:scaleX(1)}
.hpf-home .hpf-strip-website{--strip-accent:#D62B1F}
.hpf-home .hpf-strip-menu{--strip-accent:#C98B4F}
.hpf-home .hpf-strip-reservations{--strip-accent:#F2D4B5}
.hpf-home .hpf-strip-google{--strip-accent:#E15A4F}
.hpf-home .hpf-strip-seo{--strip-accent:#D9A56E}
.hpf-home .hpf-strip-domain{--strip-accent:#FFFFFF}

/* [120.3] Comfortable separation inside live experience */
.hpf-home .hpf-demo-grid{gap:30px!important;margin-top:8px!important}
.hpf-home .hpf-demo-card{box-shadow:0 18px 44px rgba(0,0,0,.16)!important}
.hpf-home .hpf-reservation-showcase{margin-top:38px!important}
.hpf-home #menu-demo,.hpf-home #opening-hours-demo,.hpf-home #booking-demo{scroll-margin-top:120px}

/* [120.4] Animated professional dividers */
.hpf-home .hpf-section:not(.hpf-experience):not(.hpf-services)::before{
    overflow:hidden;
    background:linear-gradient(90deg,var(--hpf-red) 0 54px,var(--hpf-gold) 54px 128px,var(--hpf-line) 128px 100%)!important;
}
.hpf-home .hpf-section:not(.hpf-experience):not(.hpf-services)::after{
    content:"";position:absolute;top:0;left:clamp(22px,6vw,92px);width:90px;height:1px;
    background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.9;
    animation:hpfDividerTravel 7s ease-in-out infinite;pointer-events:none;
}
@keyframes hpfDividerTravel{
    0%,12%{transform:translateX(0);opacity:0}
    24%{opacity:.9}
    70%{transform:translateX(calc(100vw - 260px));opacity:.6}
    82%,100%{opacity:0}
}
.hpf-home .hpf-experience,.hpf-home .hpf-services{
    position:relative;border-top:0!important;
}
.hpf-home .hpf-experience::before,.hpf-home .hpf-services::before{
    content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg,var(--hpf-red),var(--hpf-gold),transparent 72%);
}

/* [120.5] Professional footer */
.hpf-home .hpf-site-footer{
    display:grid!important;grid-template-columns:1.35fr .72fr .72fr!important;
    gap:64px!important;align-items:start!important;
    padding:68px clamp(22px,6vw,92px) 30px!important;
    background:#101713!important;color:#fff!important;
    border-top:4px solid var(--hpf-red)!important;
}
.hpf-home .hpf-footer-brand{max-width:480px}
.hpf-home .hpf-site-footer .hpf-site-logo{
    display:inline-flex!important;width:280px!important;min-width:280px!important;max-width:280px!important;
    margin-bottom:22px!important;
}
.hpf-home .hpf-site-footer .hpf-site-logo img{
    width:250px!important;min-width:250px!important;max-width:250px!important;max-height:68px!important;
    filter:brightness(0) invert(1)!important;transform:scale(1.06)!important;transform-origin:left center!important;
}
.hpf-home .hpf-footer-brand p{font-size:15px!important;line-height:1.75!important;color:#BFC8C2!important;margin:0 0 20px!important}
.hpf-home .hpf-footer-email{display:inline-flex;color:#fff!important;text-decoration:none!important;font-weight:850!important;border-bottom:2px solid var(--hpf-gold)!important;padding-bottom:5px!important}
.hpf-home .hpf-footer-column>strong{display:block;color:var(--hpf-gold)!important;font-size:11px!important;letter-spacing:.18em!important;margin:9px 0 20px!important}
.hpf-home .hpf-footer-column nav{display:grid!important;justify-content:stretch!important;gap:12px!important}
.hpf-home .hpf-footer-column nav a{color:#E6ECE8!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;transition:.2s ease}
.hpf-home .hpf-footer-column nav a:hover{color:var(--hpf-gold)!important;transform:translateX(4px)}
.hpf-home .hpf-footer-bottom{
    grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;
    gap:20px!important;margin-top:20px!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.12)!important;
    color:#89958E!important;font-size:12px!important;
}
.hpf-home .hpf-footer-bottom small{grid-column:auto!important;border:0!important;padding:0!important;color:#89958E!important}
.hpf-home .hpf-footer-bottom span{color:#89958E!important}

@media(max-width:1180px){
    .hpf-home .hpf-site-header{grid-template-columns:255px minmax(0,1fr) auto!important}
    .hpf-home .hpf-site-header .hpf-site-logo{width:255px!important;min-width:255px!important;max-width:255px!important}
    .hpf-home .hpf-site-header .hpf-site-logo img{width:225px!important;min-width:225px!important;max-width:225px!important}
    .hpf-home .hpf-logo-strip{grid-template-columns:repeat(3,1fr)!important}
    .hpf-home .hpf-logo-strip a:nth-child(3){border-right:0}
    .hpf-home .hpf-logo-strip a:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:940px){
    .hpf-home .hpf-site-header .hpf-site-logo{width:auto!important;min-width:0!important;max-width:calc(100% - 64px)!important}
    .hpf-home .hpf-site-header .hpf-site-logo img{width:205px!important;min-width:205px!important;max-width:205px!important;transform:scale(1.06)!important}
    .hpf-home .hpf-demo-grid{gap:22px!important}
    .hpf-home .hpf-reservation-showcase{margin-top:26px!important}
    .hpf-home .hpf-site-footer{grid-template-columns:1fr 1fr!important;gap:38px!important}
    .hpf-home .hpf-footer-brand{grid-column:1/-1!important;max-width:620px}
}
@media(max-width:700px){
    .hpf-home .hpf-logo-strip{grid-template-columns:repeat(2,1fr)!important}
    .hpf-home .hpf-logo-strip a{min-height:66px!important;font-size:10px!important;letter-spacing:.12em!important;padding:14px 8px!important}
    .hpf-home .hpf-logo-strip a:nth-child(odd){border-right:1px solid rgba(255,255,255,.08)!important}
    .hpf-home .hpf-logo-strip a:nth-child(even){border-right:0!important}
    .hpf-home .hpf-logo-strip a:not(:nth-last-child(-n+2)){border-bottom:1px solid rgba(255,255,255,.08)!important}
    .hpf-home .hpf-site-footer{grid-template-columns:1fr!important;gap:30px!important;padding-top:52px!important}
    .hpf-home .hpf-footer-brand,.hpf-home .hpf-footer-bottom{grid-column:1!important}
    .hpf-home .hpf-footer-bottom{display:grid!important;justify-content:start!important}
    .hpf-home .hpf-site-footer .hpf-site-logo{width:240px!important;min-width:240px!important;max-width:240px!important}
    .hpf-home .hpf-site-footer .hpf-site-logo img{width:215px!important;min-width:215px!important;max-width:215px!important}
}
@media(prefers-reduced-motion:reduce){
    .hpf-home .hpf-section::after{animation:none!important}
}

/* ==========================================================
[130] THREE DISTINCT EXPERIENCE SECTIONS — v0.9.1
Menu, opening hours and reservations are now three separate,
comfortable full-width sections. Existing design is preserved.
========================================================== */

/* Stack all three experiences instead of squeezing menu + hours together */
.hpf-home .hpf-demo-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:34px!important;
    margin-top:20px!important;
}

/* Shared standalone section treatment */
.hpf-home .hpf-menu-demo,
.hpf-home .hpf-hours-demo,
.hpf-home .hpf-reservation-showcase{
    position:relative!important;
    width:100%!important;
    border-radius:28px!important;
    overflow:hidden!important;
    box-shadow:0 24px 62px rgba(0,0,0,.18)!important;
}

/* Small Swiss accent line on every experience */
.hpf-home .hpf-menu-demo::before,
.hpf-home .hpf-hours-demo::before,
.hpf-home .hpf-reservation-showcase::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:4px!important;
    background:linear-gradient(90deg,#D62B1F 0 72px,#C98B4F 72px 180px,transparent 180px)!important;
    z-index:4!important;
}

/* ----------------------------------------------------------
[130.1] Digital menu — its own premium section
---------------------------------------------------------- */
.hpf-home .hpf-menu-demo{
    padding:42px!important;
    background:linear-gradient(135deg,#1A241F 0%,#111814 100%)!important;
    border:1px solid rgba(255,255,255,.11)!important;
}

.hpf-home .hpf-menu-demo .hpf-demo-top{
    align-items:center!important;
    padding-bottom:10px!important;
}

.hpf-home .hpf-menu-demo .hpf-demo-top h3{
    color:#FFFFFF!important;
    font-size:clamp(34px,4vw,52px)!important;
}

.hpf-home .hpf-menu-demo .hpf-dish-stage{
    margin-top:30px!important;
    min-height:410px!important;
    border-radius:22px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.24)!important;
}

.hpf-home .hpf-menu-demo .hpf-demo-tabs{
    padding:7px!important;
    gap:7px!important;
    background:#0C120F!important;
    border:1px solid rgba(255,255,255,.09)!important;
}

.hpf-home .hpf-menu-demo .hpf-demo-tabs button{
    min-height:42px!important;
    padding:10px 18px!important;
}

/* ----------------------------------------------------------
[130.2] Opening hours — separate wide status section
---------------------------------------------------------- */
.hpf-home .hpf-hours-demo{
    display:grid!important;
    grid-template-columns:.82fr 1.18fr!important;
    column-gap:54px!important;
    align-items:center!important;
    padding:46px!important;
    background:linear-gradient(135deg,#24372E 0%,#18261F 100%)!important;
    border:1px solid rgba(201,139,79,.26)!important;
}

.hpf-home .hpf-hours-demo > .hpf-kicker,
.hpf-home .hpf-hours-demo > h3{
    grid-column:1!important;
}

.hpf-home .hpf-hours-demo > h3{
    color:#FFFFFF!important;
    font-size:clamp(36px,4.2vw,56px)!important;
    line-height:1.02!important;
    margin:10px 0 26px!important;
}

.hpf-home .hpf-hours-demo .hpf-status-orb{
    grid-column:1!important;
    margin:0!important;
    padding:22px!important;
    background:rgba(255,255,255,.075)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:19px!important;
}

.hpf-home .hpf-hours-demo .hpf-hours-list{
    grid-column:2!important;
    grid-row:1 / span 4!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:20px 30px!important;
    border-radius:22px!important;
    background:rgba(9,16,12,.30)!important;
    border:1px solid rgba(255,255,255,.10)!important;
}

.hpf-home .hpf-hours-demo .hpf-hours-list div{
    padding:19px 0!important;
}

.hpf-home .hpf-hours-demo .hpf-hours-list strong{
    color:#FFFFFF!important;
    font-size:16px!important;
}

.hpf-home .hpf-hours-demo .hpf-demo-note{
    grid-column:1!important;
    margin:18px 0 0!important;
    color:#BFC9C3!important;
}

/* ----------------------------------------------------------
[130.3] Reservation — separate light premium section
---------------------------------------------------------- */
.hpf-home .hpf-reservation-showcase{
    margin-top:34px!important;
    grid-template-columns:.76fr 1.24fr!important;
    gap:54px!important;
    padding:48px!important;
    background:linear-gradient(135deg,#F5EEE5 0%,#FFFFFF 100%)!important;
    border:1px solid rgba(19,37,29,.12)!important;
}

.hpf-home .hpf-reservation-copy .hpf-kicker{
    color:#D62B1F!important;
}

.hpf-home .hpf-reservation-copy h2{
    color:#17231D!important;
    font-size:clamp(38px,4.5vw,58px)!important;
}

.hpf-home .hpf-reservation-copy p{
    color:#59665F!important;
}

.hpf-home .hpf-reservation-copy ul{
    color:#243129!important;
}

.hpf-home .hpf-booking-widget{
    padding:28px!important;
    border:1px solid rgba(19,37,29,.10)!important;
    box-shadow:0 24px 56px rgba(19,37,29,.14)!important;
}

.hpf-home .hpf-booking-steps{
    gap:12px!important;
    margin-bottom:8px!important;
}

.hpf-home .hpf-booking-panel{
    gap:14px!important;
    padding-top:28px!important;
}

.hpf-home .hpf-time-slots{
    gap:12px!important;
}

.hpf-home .hpf-time-slots button{
    min-height:52px!important;
}

/* Responsive stacking */
@media(max-width:1050px){
    .hpf-home .hpf-hours-demo{
        grid-template-columns:1fr!important;
        gap:24px!important;
    }
    .hpf-home .hpf-hours-demo > .hpf-kicker,
    .hpf-home .hpf-hours-demo > h3,
    .hpf-home .hpf-hours-demo .hpf-status-orb,
    .hpf-home .hpf-hours-demo .hpf-hours-list,
    .hpf-home .hpf-hours-demo .hpf-demo-note{
        grid-column:1!important;
        grid-row:auto!important;
    }
    .hpf-home .hpf-reservation-showcase{
        grid-template-columns:1fr!important;
    }
}

@media(max-width:700px){
    .hpf-home .hpf-demo-grid{gap:24px!important}
    .hpf-home .hpf-menu-demo,
    .hpf-home .hpf-hours-demo,
    .hpf-home .hpf-reservation-showcase{
        padding:24px 18px!important;
        border-radius:22px!important;
    }
    .hpf-home .hpf-menu-demo .hpf-demo-top{
        display:block!important;
    }
    .hpf-home .hpf-menu-demo .hpf-dish-stage{
        min-height:0!important;
    }
    .hpf-home .hpf-hours-demo .hpf-hours-list{
        padding:14px 18px!important;
    }
    .hpf-home .hpf-reservation-showcase{
        gap:28px!important;
        margin-top:24px!important;
    }
    .hpf-home .hpf-booking-widget{
        padding:16px!important;
    }
}


/* ==========================================================
[140] 0.9.2 CARD MOTION & SWISS FOOTER POLISH
========================================================== */

/* [140.1] Service cards — compact, premium, animated */
.hpf-home .hpf-services{
    background:linear-gradient(145deg,#101914 0%,#14231b 100%)!important;
}
.hpf-home .hpf-service-grid{
    gap:20px!important;
    align-items:stretch!important;
}
.hpf-home .hpf-service-grid article{
    min-height:unset!important;
    padding:30px 28px 32px!important;
    border-radius:22px!important;
    background:linear-gradient(145deg,#1b3026 0%,#17281f 100%)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
    transform:translateY(0);
    transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,border-color .38s ease!important;
}
.hpf-home .hpf-service-grid article::before{
    height:3px!important;
    background:linear-gradient(90deg,var(--hpf-red) 0 72px,var(--hpf-gold) 72px 100%)!important;
}
.hpf-home .hpf-service-grid article::after{
    content:"";
    position:absolute;
    right:-55px;
    bottom:-65px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(201,139,79,.16),transparent 67%);
    pointer-events:none;
}
.hpf-home .hpf-service-grid article:hover{
    transform:translateY(-9px)!important;
    border-color:rgba(201,139,79,.48)!important;
    box-shadow:0 28px 58px rgba(0,0,0,.25)!important;
}
.hpf-home .hpf-service-grid b{
    display:inline-grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
    background:rgba(201,139,79,.12)!important;
    border:1px solid rgba(201,139,79,.28)!important;
    color:#efb47c!important;
    font-size:13px!important;
}
.hpf-home .hpf-service-grid h3{
    margin:28px 0 13px!important;
    font-size:24px!important;
    line-height:1.16!important;
    color:#fff!important;
}
.hpf-home .hpf-service-grid p{
    margin:0!important;
    color:#c5d0ca!important;
    font-size:15px!important;
    line-height:1.72!important;
}

/* [140.2] Motion system for all major cards */
.hpf-motion-ready{
    opacity:0;
    transform:translateY(28px) scale(.985);
    transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1)!important;
    transition-delay:var(--hpf-delay,0ms)!important;
}
.hpf-motion-ready.hpf-motion-in{
    opacity:1;
    transform:translateY(0) scale(1);
}
.hpf-home .hpf-price-grid article,
.hpf-home .hpf-google-points article,
.hpf-home .hpf-demo-card,
.hpf-home .hpf-booking-widget,
.hpf-home .hpf-contact-card,
.hpf-home .hpf-faq-list details{
    transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease!important;
}
.hpf-home .hpf-price-grid article:hover,
.hpf-home .hpf-google-points article:hover,
.hpf-home .hpf-demo-card:hover,
.hpf-home .hpf-booking-widget:hover,
.hpf-home .hpf-contact-card:hover{
    transform:translateY(-6px)!important;
    box-shadow:0 24px 54px rgba(19,37,29,.14)!important;
}

/* [140.3] Correct-logo premium footer */
.hpf-home .hpf-site-footer{
    display:grid!important;
    grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(150px,.7fr))!important;
    gap:54px 42px!important;
    align-items:start!important;
    padding:72px clamp(22px,6vw,92px) 28px!important;
    background:
      radial-gradient(circle at 9% 0%,rgba(201,139,79,.10),transparent 28%),
      linear-gradient(145deg,#0d1511 0%,#121e18 100%)!important;
    border-top:4px solid!important;
    border-image:linear-gradient(90deg,var(--hpf-red) 0 90px,var(--hpf-gold) 90px 100%) 1!important;
}
.hpf-home .hpf-footer-logo{
    display:inline-flex!important;
    align-items:center!important;
    width:268px!important;
    min-height:74px!important;
    padding:11px 18px!important;
    margin-bottom:24px!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 16px 36px rgba(0,0,0,.24)!important;
}
.hpf-home .hpf-footer-logo img{
    display:block!important;
    width:230px!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    filter:none!important;
    object-fit:contain!important;
    object-position:left center!important;
}
.hpf-home .hpf-footer-brand p{
    max-width:430px!important;
    margin:0 0 18px!important;
    color:#bac7c0!important;
    font-size:15px!important;
    line-height:1.75!important;
}
.hpf-home .hpf-footer-email{
    color:#fff!important;
    border-bottom:2px solid var(--hpf-red)!important;
}
.hpf-home .hpf-footer-column>strong{
    display:block!important;
    margin:12px 0 22px!important;
    color:#efb47c!important;
    font-size:11px!important;
    letter-spacing:.19em!important;
}
.hpf-home .hpf-footer-column nav{
    display:grid!important;
    gap:13px!important;
}
.hpf-home .hpf-footer-column nav a,
.hpf-home .hpf-footer-login{
    position:relative!important;
    width:max-content!important;
    max-width:100%!important;
    color:#e6ece8!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:700!important;
    transition:color .2s ease,transform .2s ease!important;
}
.hpf-home .hpf-footer-column nav a::before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:9px;
    border-radius:50%;
    background:var(--hpf-gold);
    vertical-align:2px;
    opacity:.72;
}
.hpf-home .hpf-footer-column nav a:hover,
.hpf-home .hpf-footer-login:hover{
    color:#fff!important;
    transform:translateX(5px)!important;
}
.hpf-home .hpf-footer-start p{
    color:#bac7c0!important;
    font-size:14px!important;
    line-height:1.65!important;
    margin:0 0 18px!important;
}
.hpf-home .hpf-footer-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    width:100%!important;
    padding:14px 16px!important;
    margin-bottom:16px!important;
    border-radius:12px!important;
    background:var(--hpf-red)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:850!important;
    box-shadow:0 12px 26px rgba(214,43,31,.22)!important;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important;
}
.hpf-home .hpf-footer-cta:hover{
    transform:translateY(-3px)!important;
    background:#bb2016!important;
    box-shadow:0 18px 34px rgba(214,43,31,.3)!important;
}
.hpf-home .hpf-footer-cta span{font-size:20px!important}
.hpf-home .hpf-footer-bottom{
    grid-column:1/-1!important;
    display:flex!important;
    justify-content:space-between!important;
    gap:20px!important;
    margin-top:8px!important;
    padding-top:25px!important;
    border-top:1px solid rgba(255,255,255,.11)!important;
    color:#849189!important;
    font-size:12px!important;
}
.hpf-home .hpf-footer-bottom small{
    border:0!important;
    padding:0!important;
    color:inherit!important;
}

@media(max-width:1100px){
    .hpf-home .hpf-site-footer{
        grid-template-columns:1.25fr 1fr 1fr!important;
    }
    .hpf-home .hpf-footer-start{grid-column:2/-1!important}
}
@media(max-width:760px){
    .hpf-home .hpf-service-grid{grid-template-columns:1fr!important}
    .hpf-home .hpf-site-footer{
        grid-template-columns:1fr 1fr!important;
        gap:34px 24px!important;
        padding-top:54px!important;
    }
    .hpf-home .hpf-footer-brand,
    .hpf-home .hpf-footer-start,
    .hpf-home .hpf-footer-bottom{grid-column:1/-1!important}
    .hpf-home .hpf-footer-logo{width:245px!important;min-height:68px!important}
    .hpf-home .hpf-footer-logo img{width:210px!important}
}
@media(max-width:480px){
    .hpf-home .hpf-site-footer{grid-template-columns:1fr!important}
    .hpf-home .hpf-footer-bottom{display:grid!important}
}
@media(prefers-reduced-motion:reduce){
    .hpf-motion-ready{opacity:1!important;transform:none!important;transition:none!important}
    .hpf-home .hpf-service-grid article,
    .hpf-home .hpf-price-grid article,
    .hpf-home .hpf-demo-card{transition:none!important}
}

/* [130] Mobile header menu stability fix — v4.1.1 */
@media (max-width: 940px) {
  html.hpf-menu-lock, html.hpf-menu-lock body { overflow: hidden !important; }
  .hpf-home .hpf-site-header { position: sticky !important; top: 0 !important; z-index: 99999 !important; overflow: visible !important; }
  .hpf-home .hpf-site-header nav {
    display: none !important; position: absolute !important; top: calc(100% + 10px) !important;
    left: 14px !important; right: 14px !important; width: auto !important; max-height: calc(100vh - 110px) !important;
    overflow-y: auto !important; flex-direction: column !important; align-items: stretch !important; gap: 4px !important;
    padding: 14px !important; margin: 0 !important; border: 1px solid rgba(23,36,30,.12) !important;
    border-radius: 18px !important; background: #fff !important; box-shadow: 0 24px 70px rgba(16,23,19,.22) !important;
  }
  .hpf-home .hpf-site-header.hpf-mobile-menu-open nav { display: flex !important; animation: hpfMenuOpen .22s ease both !important; }
  .hpf-home .hpf-site-header nav a { display: flex !important; align-items: center !important; min-height: 48px !important; padding: 11px 13px !important; border-radius: 12px !important; color: #17241e !important; text-decoration: none !important; }
  .hpf-home .hpf-site-header nav a:hover, .hpf-home .hpf-site-header nav a:focus-visible { background: #f5f0e8 !important; color: #b71f17 !important; outline: none !important; }
  .hpf-home .hpf-site-header nav a::after { display: none !important; }
  .hpf-home .hpf-menu-toggle { position: relative !important; z-index: 2 !important; cursor: pointer !important; border: 1px solid rgba(23,36,30,.14) !important; background: #fff !important; color: #17241e !important; font-size: 25px !important; line-height: 1 !important; }
}
@keyframes hpfMenuOpen { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Helveti Platform 4.2.2 – footer language selector */
.hpf-home .hpf-site-footer .hpf-footer-languages{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  padding:22px 0 4px!important;
  margin-top:6px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  opacity:1!important;
  visibility:visible!important;
}
.hpf-home .hpf-site-footer .hpf-footer-language{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:8px 13px!important;
  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:999px!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1!important;
}
.hpf-home .hpf-site-footer .hpf-footer-language:hover,
.hpf-home .hpf-site-footer .hpf-footer-language.is-active{
  color:#fff!important;
  border-color:#c98b4f!important;
  background:rgba(201,139,79,.20)!important;
  transform:translateY(-1px)!important;
}
.hpf-home .hpf-site-footer .hpf-flag{
  display:block!important;
  width:28px!important;
  height:19px!important;
  flex:0 0 auto!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.14)!important;
}
@media(max-width:640px){
  .hpf-home .hpf-site-footer .hpf-footer-languages{gap:8px!important;padding-top:18px!important}
  .hpf-home .hpf-site-footer .hpf-footer-language{padding:8px 11px!important}
}

/* Helveti Platform 4.2.5 – responsive language selector below hero buttons */
.hpf-home .hpf-hero-languages{
  display:block!important;
  width:100%!important;
  margin:22px 0 28px!important;
}
.hpf-home .hpf-hero-languages .hpf-footer-languages{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.hpf-home .hpf-hero-languages .hpf-footer-language{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:68px!important;
  min-height:42px!important;
  padding:8px 12px!important;
  color:#17241e!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(23,36,30,.16)!important;
  border-radius:999px!important;
  box-shadow:0 6px 18px rgba(23,36,30,.07)!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease!important;
}
.hpf-home .hpf-hero-languages .hpf-footer-language:hover,
.hpf-home .hpf-hero-languages .hpf-footer-language:focus-visible,
.hpf-home .hpf-hero-languages .hpf-footer-language.is-active{
  color:#17241e!important;
  border-color:#c98b4f!important;
  background:#fff!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.hpf-home .hpf-hero-languages .hpf-footer-language.is-active{
  box-shadow:0 0 0 2px rgba(201,139,79,.20),0 6px 18px rgba(23,36,30,.08)!important;
}
.hpf-home .hpf-hero-languages .hpf-flag{
  display:block!important;
  width:28px!important;
  height:19px!important;
  flex:0 0 auto!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(23,36,30,.12)!important;
}
@media(max-width:940px){
  .hpf-home .hpf-hero-languages{margin:20px 0 26px!important}
  .hpf-home .hpf-hero-languages .hpf-footer-languages{justify-content:center!important}
}
@media(max-width:640px){
  .hpf-home .hpf-hero-languages{margin:18px 0 24px!important}
  .hpf-home .hpf-hero-languages .hpf-footer-languages{gap:7px!important}
  .hpf-home .hpf-hero-languages .hpf-footer-language{
    min-width:62px!important;
    min-height:40px!important;
    padding:7px 10px!important;
  }
  .hpf-home .hpf-hero-languages .hpf-flag{width:26px!important;height:18px!important}
}

/* Language row stays in the hero; only back-to-top floats. */
.hpf-home .hpf-hero-languages{position:relative!important;z-index:40!important}
.hpf-home .hpf-back-to-top{
  position:fixed!important;right:22px!important;bottom:24px!important;z-index:99980!important;
  display:grid!important;place-items:center!important;align-content:center!important;gap:1px!important;
  width:54px!important;height:54px!important;padding:0!important;border:2px solid #fff!important;
  border-radius:50%!important;background:#d62b1f!important;color:#fff!important;
  box-shadow:0 10px 30px rgba(214,43,31,.30),0 0 0 1px rgba(214,43,31,.12)!important;cursor:pointer!important;
  opacity:0!important;visibility:hidden!important;transform:translateY(14px) scale(.92)!important;
  transition:opacity .2s ease,transform .2s ease,background .2s ease,visibility .2s!important;
}
.hpf-home .hpf-back-to-top.is-visible{
  opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important;
}
.hpf-home .hpf-back-to-top:hover,
.hpf-home .hpf-back-to-top:focus-visible{
  background:#b82017!important;transform:translateY(-2px) scale(1)!important;outline:3px solid rgba(214,43,31,.20)!important;
}
.hpf-home .hpf-back-to-top span{font-size:22px!important;font-weight:800!important;line-height:17px!important}
.hpf-home .hpf-back-to-top small{font-size:8px!important;font-weight:900!important;letter-spacing:.12em!important;line-height:10px!important}
@media(max-width:640px){
  .hpf-home .hpf-back-to-top{right:14px!important;bottom:max(16px,env(safe-area-inset-bottom))!important;width:50px!important;height:50px!important}
}
@media(prefers-reduced-motion:reduce){
  .hpf-home .hpf-back-to-top{transition:none!important}
}

/* Helveti Platform 4.3.0: reliable sticky header across WordPress themes. */
.hpf-home.hpf-has-sticky-header{
  padding-top:var(--hpf-sticky-header-height,0px)!important;
}
.hpf-home > .hpf-site-header.hpf-header-is-sticky{
  position:fixed!important;
  top:var(--hpf-sticky-header-top,0px)!important;
  left:0!important;right:0!important;width:100%!important;z-index:99970!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 28px rgba(23,36,30,.09)!important;
  -webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;
}

/* Helveti Platform 4.3.6: compact black flag-only language control.
   Header styles and behaviour are intentionally untouched. */
.hpf-home .hpf-bottom-languages{
  position:fixed!important;
  left:22px!important;
  bottom:max(24px,env(safe-area-inset-bottom))!important;
  z-index:99980!important;
  width:54px!important;
  height:54px!important;
  padding:0!important;
}
.hpf-home .hpf-language-trigger{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:#0b0b0b!important;
  box-shadow:0 10px 30px rgba(0,0,0,.30),0 0 0 1px rgba(0,0,0,.20)!important;
  cursor:pointer!important;
  transition:transform .18s ease,background-color .18s ease!important;
}
.hpf-home .hpf-language-trigger:hover,
.hpf-home .hpf-language-trigger:focus-visible,
.hpf-home .hpf-bottom-languages.is-open .hpf-language-trigger{
  background:#202020!important;
  transform:translateY(-2px)!important;
  outline:3px solid rgba(0,0,0,.18)!important;
}
.hpf-home .hpf-language-trigger-flag{
  display:block!important;
  width:29px!important;
  height:20px!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.55)!important;
}
.hpf-home .hpf-language-menu{
  position:absolute!important;
  left:0!important;
  bottom:64px!important;
  width:54px!important;
  padding:6px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#0b0b0b!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34)!important;
}
.hpf-home .hpf-language-menu[hidden]{
  display:none!important;
}
.hpf-home .hpf-bottom-languages .hpf-footer-languages{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
}
.hpf-home .hpf-bottom-languages .hpf-footer-language{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:18px!important;
  color:#fff!important;
  background:transparent!important;
  text-decoration:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.hpf-home .hpf-bottom-languages .hpf-footer-language span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.hpf-home .hpf-bottom-languages .hpf-footer-language:hover,
.hpf-home .hpf-bottom-languages .hpf-footer-language:focus-visible{
  color:#fff!important;
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.55)!important;
  outline:none!important;
  transform:scale(1.05)!important;
}
.hpf-home .hpf-bottom-languages .hpf-footer-language.is-active{
  background:#fff!important;
  border-color:#fff!important;
  box-shadow:0 4px 12px rgba(114,13,7,.24)!important;
}
.hpf-home .hpf-bottom-languages .hpf-flag{
  display:block!important;
  width:27px!important;
  height:18px!important;
  flex:0 0 auto!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.50)!important;
}
@media(max-width:640px){
  .hpf-home .hpf-bottom-languages{
    left:14px!important;
    bottom:max(16px,env(safe-area-inset-bottom))!important;
    width:50px!important;
    height:50px!important;
  }
  .hpf-home .hpf-language-trigger{width:50px!important;height:50px!important}
  .hpf-home .hpf-language-menu{left:0!important;bottom:60px!important;width:50px!important;padding:5px!important}
}
@media(prefers-reduced-motion:reduce){
  .hpf-home .hpf-language-trigger,
  .hpf-home .hpf-bottom-languages .hpf-footer-language{transition:none!important}
}

/* 4.3.4: never render a legacy language row inside the hero. */
.hpf-home .hpf-hero-languages,
.hpf-home .hpf-hero .hpf-footer-languages{
  display:none!important;
}
