@font-face {
  font-family: 'Inter';
  src: url(':fonts/Inter-Regular.ttf');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url(':fonts/Inter-Medium.ttf');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url(':fonts/Inter-Bold.ttf');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url(':fonts/CormorantGaramond-Medium.ttf');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url(':fonts/CormorantGaramond-SemiBold.ttf');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url(':fonts/CormorantGaramond-Bold.ttf');
  font-weight: 700;
  font-display: swap;
}
    :root{
      --bg:#0f0d0b;
      --panel:rgba(22,18,14,.74);
      --line:rgba(255,255,255,.09);
      --text:#f7f1e8;
      --muted:#d0c1ad;
      --gold:#d7b26d;
      --gold2:#ebca87;
      --shadow:0 24px 70px rgba(0,0,0,.42);
      --radius:26px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,sans-serif;
      background:linear-gradient(180deg,#090807 0%,#13100d 100%);
      color:var(--text);
      overflow-x:hidden;
    }

    body.modal-open{
      overflow:hidden;
    }

    a{text-decoration:none;color:inherit}
    img{display:block;max-width:100%}
    .container{width:min(var(--max),calc(100% - 32px));margin:0 auto}

    .topbar{
      position:sticky;
      top:0;
      z-index:40;
      background:rgba(9,8,7,.48);
      backdrop-filter:blur(12px);
      border-bottom:1px solid rgba(255,255,255,.04);
    }

    .nav{
      min-height:92px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }

    .brand{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:14px;
      min-width:150px;
      flex:0 0 auto;
    }

    .brand-main{
      width:232px;
      height:auto;
      display:block;
      object-fit:contain;
      flex:0 0 auto;
    }

    .brand-badge{
      width:90px;
      height:auto;
      display:block;
      object-fit:contain;
      border-radius:16px;
      box-shadow:0 10px 24px rgba(0,0,0,.22);
      border:1px solid rgba(255,255,255,.14);
      flex:0 0 auto;
    }

    .nav-links{
      display:flex;
      gap:22px;
      align-items:center;
      flex-wrap:wrap;
      justify-content:center;
    }

    .nav-links a{
      color:#f0e8dc;
      font-size:15px;
    }

    .nav-right{
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }

    .lang-switcher{
      display:flex;
      align-items:center;
      gap:8px;
    }

    .lang-btn{
      background:transparent;
      border:1px solid rgba(255,255,255,.14);
      color:#fff;
      border-radius:999px;
      padding:8px 12px;
      font:inherit;
      cursor:pointer;
      font-size:13px;
    }

    .lang-btn.active{
      background:linear-gradient(135deg,var(--gold),var(--gold2));
      color:#1b1408;
      border-color:transparent;
      font-weight:700;
    }

    .cta,.btn-secondary,.google-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border:0;
      cursor:pointer;
      border-radius:999px;
      padding:14px 24px;
      font-weight:700;
      font-size:16px;
      transition:.2s transform ease,.2s opacity ease;
    }

    .cta:hover,.btn-secondary:hover,.google-btn:hover{
      transform:translateY(-1px);
    }

    .cta{
      color:#1b1408;
      background:linear-gradient(135deg,var(--gold),var(--gold2));
      box-shadow:0 12px 28px rgba(215,178,109,.24);
    }

    .btn-secondary{
      background:transparent;
      color:#fff;
      border:1px solid rgba(255,255,255,.15);
    }

    .google-btn{
      background:linear-gradient(135deg,var(--gold),var(--gold2));
      color:#1b1408;
    }

    .btn-wa-icon{
      width:18px;
      height:18px;
      flex:0 0 18px;
    }

    .hero{
      min-height:100vh;
      display:flex;
      align-items:flex-start;
      background:
        linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.35) 100%),
        url('https://images.unsplash.com/photo-1574071318508-1cdbab80d002?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:28px;
      align-items:end;
      min-height:calc(100vh - 92px);
      padding:120px 0 70px;
    }

    h1,h2,h3{
      font-family:"Cormorant Garamond",serif;
      margin:0;
      letter-spacing:.1px;
    }

    h1{
      font-size:clamp(52px,6.6vw,90px);
      line-height:.94;
      max-width:900px;
      margin:0 auto 18px;
      text-shadow:0 4px 24px rgba(0,0,0,.35);
      text-align:center;
    }

    .hero-text{
      text-align:center;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
    }

    .hero-text p{
      font-size:21px;
      line-height:1.7;
      color:#f7efe4;
      max-width:760px;
      margin:0 auto 28px;
      text-shadow:0 3px 16px rgba(0,0,0,.28);
      text-align:center;
    }

    .hero-actions{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:26px;
      justify-content:center;
    }

    .proofs{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      max-width:880px;
      width:100%;
    }

    .proof{
      background:rgba(20,15,11,.38);
      border:1px solid rgba(255,255,255,.14);
      border-radius:18px;
      padding:18px;
      box-shadow:var(--shadow);
      backdrop-filter:blur(6px);
      text-align:left;
    }

    .proof strong{
      display:block;
      font-size:28px;
      margin-bottom:4px;
    }

    .proof span{
      display:block;
      color:#f0e7db;
      line-height:1.45;
      font-size:14px;
    }

    .booking-card{
      background:rgba(18,14,11,.72);
      border:1px solid rgba(255,255,255,.12);
      border-radius:30px;
      padding:28px;
      box-shadow:var(--shadow);
      backdrop-filter:blur(8px);
      max-width:520px;
      margin-left:auto;
    }

    .booking-card h3{
      font-size:33px;
      margin-bottom:10px;
    }

    .booking-card p{
      margin:0 0 18px;
      color:var(--muted);
      line-height:1.65;
    }

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

    input:not([type="checkbox"]):not([type="radio"]),textarea,select{
      width:100%;
      max-width:100%;
      min-width:0;
      padding:15px 16px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.11);
      background:rgba(255,255,255,.05);
      color:#fff;
      font:inherit;
      outline:none;
      appearance:none;
      -webkit-appearance:none;
    }

    input:not([type="checkbox"]):not([type="radio"])::placeholder,textarea::placeholder{color:#c2b4a2}

    .hint{
      font-size:12px;
      color:var(--muted);
      line-height:1.5;
    }

    .section{padding:96px 0}

    .section-title{
      max-width:780px;
      margin-bottom:28px;
    }

    .kicker{
      display:block;
      text-transform:uppercase;
      letter-spacing:2px;
      color:var(--gold);
      font-size:12px;
      margin-bottom:10px;
    }

    .section-title h2{
      font-size:clamp(38px,5vw,58px);
      margin-bottom:12px;
    }

    .section-title p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      font-size:17px;
    }

    .story{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:center;
    }

    .story-panel,.review,.contact-card,.gluten-box{
      background:rgba(255,255,255,.04);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .story-panel{padding:34px}

    .story-stats{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
      margin-top:26px;
    }

    .story-image{
      min-height:560px;
      aspect-ratio:4 / 5;
      border-radius:28px;
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      overflow:hidden;
      background-color:#111;
      background:
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16)),
        url('glauco-ilaria.jpg') center top / cover no-repeat;
    }

    .menu-showcase{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:28px;
    }

    .showcase-card{
      position:relative;
      min-height:520px;
      border-radius:34px;
      overflow:hidden;
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.08);
      display:flex;
      align-items:flex-end;
      background-size:cover;
      background-position:center;
    }

    .showcase-card.menu-card-seafood{
      background-position:center 42%;
    }

    .showcase-card.menu-card-zena{
      background-position:4% 46%;
    }

    .showcase-overlay{
      width:100%;
      padding:34px;
      background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.16) 36%,rgba(0,0,0,.74) 100%);
    }

    .showcase-top{
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:flex-end;
      margin-bottom:14px;
    }

    .showcase-title{
      font-size:clamp(36px,4vw,58px);
      line-height:.95;
      max-width:70%;
    }

    .showcase-price{
      font-size:26px;
      color:var(--gold2);
      white-space:nowrap;
    }

    .showcase-line{
      width:130px;
      height:2px;
      background:rgba(255,255,255,.7);
      margin-bottom:18px;
    }

    .showcase-text{
      max-width:560px;
      color:#f4ecdf;
      font-size:17px;
      line-height:1.7;
      margin:0 0 20px;
    }

    .showcase-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

    .showcase-tags span{
      padding:10px 16px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.22);
      background:rgba(255,255,255,.08);
    }

    .menu-slider-controls{display:none}

    .gluten-box{
      padding:34px;
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:26px;
      align-items:center;
    }

    .gluten-content{
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .gluten-title{
      max-width:680px;
      margin:0 0 18px;
      text-align:left;
    }

    .gluten-copy{
      max-width:760px;
      margin:0;
      text-align:left;
    }

    .gluten-copy p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      font-size:17px;
    }

    .gluten-copy p + p{margin-top:14px}

    .gluten-media{
      display:grid;
      gap:18px;
      align-content:center;
    }

    .gluten-cert{
      display:flex;
      align-items:center;
      justify-content:center;
      padding:20px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      border-radius:20px;
    }

    .gluten-cert img,
    .gluten-chef{
      width:100%;
      border-radius:16px;
      box-shadow:var(--shadow);
    }

    .review-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:20px;
    }

    .review{
      padding:26px;
      position:relative;
    }

    .review-g{
      position:absolute;
      top:16px;
      right:16px;
      opacity:.85;
    }

    .stars{
      color:var(--gold2);
      letter-spacing:2px;
      margin-bottom:16px;
    }

    .review p{
      margin:0 0 18px;
      line-height:1.8;
      color:#f8f0e6;
    }

    .review strong{
      display:block;
      font-size:15px;
    }

    .review span{
      color:var(--muted);
      font-size:14px;
    }

    #recensioni{padding-bottom:96px}
    #contatti{padding-top:0}

    .contact-grid{
      display:grid;
      grid-template-columns:.95fr 1.05fr;
      gap:20px;
    }

    .contact-card{padding:30px}

    .contact-list{
      display:grid;
      gap:16px;
      margin:24px 0;
    }

    .contact-item{
      border-bottom:1px solid rgba(255,255,255,.08);
      padding-bottom:16px;
    }

    .contact-item small{
      display:block;
      color:var(--gold2);
      text-transform:uppercase;
      letter-spacing:1.5px;
      margin-bottom:6px;
      font-size:11px;
    }

    .contact-item strong,.contact-item a{font-size:18px}

    .contact-item p{
      margin:0;
      color:var(--muted);
      line-height:1.7;
    }

    .map-wrap{
      min-height:100%;
      overflow:hidden;
      border-radius:28px;
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      background:#111;
    }

    .map-wrap iframe{
      width:100%;
      height:100%;
      min-height:520px;
      border:0;
      display:block;
    }

    footer{
      padding:28px 0 40px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted);
      font-size:14px;
    }

    .footer-row{
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      gap:14px;
      text-align:center;
    }

    .footer-inline-btn{
      background:none;
      border:0;
      padding:0;
      margin:0;
      font:inherit;
      color:inherit;
      text-decoration:none;
      cursor:pointer;
    }

    .footer-social-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:42px;
      height:42px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.03);
      color:#f7f1e8;
      transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
    }

    .footer-social-link:hover{
      transform:translateY(-1px);
      border-color:rgba(235,202,135,.38);
      background:rgba(255,255,255,.05);
    }

    .footer-social-link svg{
      width:18px;
      height:18px;
      display:block;
    }

    .modal{
      position:fixed;
      inset:0;
      display:none;
      align-items:center;
      justify-content:center;
      background:rgba(7,6,5,.78);
      backdrop-filter:blur(8px);
      z-index:200;
      padding:20px;
    }

    .modal.open{
      display:flex;
    }

    .modal-box{
      position:relative;
      width:min(620px,100%);
      max-width:620px;
      max-height:min(90vh,820px);
      overflow:auto;
      background:linear-gradient(180deg,#181511,#100f0d);
      border:1px solid rgba(255,255,255,.1);
      border-radius:28px;
      padding:30px;
      box-shadow:var(--shadow);
      margin:0 auto;
    }

    .modal-close{
      position:absolute;
      top:14px;
      right:14px;
      width:40px;
      height:40px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.12);
      background:transparent;
      color:#fff;
      cursor:pointer;
      font-size:18px;
    }

    .modal-box h3{
      font-size:42px;
      margin-bottom:8px;
    }

    .modal-box p{
      margin:0 0 20px;
      color:var(--muted);
      line-height:1.7;
    }

    .mobile-menu-toggle,.mobile-menu-panel{display:none}
    .mobile-bookbar{display:none}

    body.modal-open .mobile-bookbar{
      display:none !important;
      opacity:0 !important;
      pointer-events:none !important;
    }

    .review-boost{
      text-align:center;
      margin-top:8px;
      font-size:13px;
      color:#d7b26d;
    }

    .menu-mobile-cta,
    .contacts-mobile-cta{
      display:flex;
    }

    @media (max-width:920px){
      .nav{flex-wrap:nowrap}
      .brand{min-width:120px;gap:12px}
      .brand-main{width:188px}
      .brand-badge{width:74px}
      .nav-right{width:auto;justify-content:flex-end}
      .proofs{grid-template-columns:1fr}
      .hero-grid{padding-top:96px}
      .booking-card{margin-left:0;max-width:none}
      .review-grid,.contact-grid{grid-template-columns:1fr}
    }

    @media (max-width:780px){
      .container{width:min(var(--max),calc(100% - 18px))}

      .topbar{
        background:linear-gradient(180deg,rgba(9,8,7,.97),rgba(9,8,7,.88));
        backdrop-filter:blur(16px);
      }

      .nav{
        min-height:auto;
        display:grid;
        grid-template-columns:auto 1fr auto auto;
        align-items:center;
        gap:8px;
        padding:10px 0;
      }

      .brand{
        grid-column:1 / 2;
        min-width:0;
        gap:8px;
      }

      .brand-main{
        width:140px;
      }

      .brand-badge{
        width:56px;
        border-radius:12px;
      }

      .nav-links{display:none}

      .nav-right{
        grid-column:3 / 4;
        width:auto;
        display:flex;
        gap:6px;
        align-items:center;
        justify-content:flex-end;
      }

      .lang-switcher{
        justify-content:flex-end;
        margin:0;
        gap:6px;
      }

      .lang-btn{
        padding:7px 8px;
        font-size:11px;
      }

      .mobile-menu-toggle{
        display:inline-flex;
        grid-column:4 / 5;
        background:rgba(255,255,255,.08);
        border:1px solid rgba(255,255,255,.12);
        color:#fff;
        border-radius:14px;
        width:44px;
        height:44px;
        align-items:center;
        justify-content:center;
        cursor:pointer;
      }

      .mobile-menu-panel{
        position:fixed;
        top:74px;
        right:12px;
        left:12px;
        z-index:120;
        background:rgba(14,11,8,.97);
        backdrop-filter:blur(14px);
        border:1px solid rgba(255,255,255,.08);
        border-radius:20px;
        padding:14px;
        box-shadow:0 22px 40px rgba(0,0,0,.38);
      }

      .mobile-menu-panel.open{display:block}

      .mobile-menu-panel a{
        display:block;
        padding:14px 12px;
        border-bottom:1px solid rgba(255,255,255,.06);
        font-size:15px;
      }

      .mobile-menu-panel a:last-child{border-bottom:0}

      .hero{
        min-height:58vh;
        background-position:center center;
      }

      .hero-grid{
        padding:22px 0 12px;
        align-items:center;
        justify-items:center;
        min-height:58vh;
      }

      .hero-text{
        width:100%;
        min-height:calc(58vh - 90px);
        text-align:center;
        background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.42) 44%,rgba(0,0,0,.82) 100%);
        padding:18px 16px 14px;
        border-radius:18px;
        justify-content:center;
      }

      h1{
        font-size:30px;
        line-height:1.03;
        margin-bottom:8px;
        max-width:100%;
        text-wrap:balance;
      }

      .hero-text p{
        font-size:13px;
        line-height:1.5;
        margin:0 auto 8px;
        max-width:94%;
      }

      .hero-actions{display:none !important}
      .proofs{display:none !important}

      .cta,.btn-secondary,.google-btn{
        width:100%;
        text-align:center;
        justify-content:center;
        min-height:52px;
        padding:14px 18px;
        font-size:15px;
        border-radius:18px;
      }

      .booking-card{display:none}

      .section{padding:36px 0}
      .section + .section{padding-top:8px}

      #recensioni{padding-bottom:36px}
      #contatti{padding-top:0}

      .section-title{margin-bottom:14px}

      .section-title h2{
        font-size:30px;
        line-height:1.03;
        text-wrap:balance;
      }

      .section-title p,.story-panel p,.gluten-copy p,.review p,.contact-item p{
        font-size:14px !important;
        line-height:1.6 !important;
      }

      .story,.gluten-box{
        grid-template-columns:1fr;
        gap:14px;
        align-items:start;
      }

      .story-panel,.review,.contact-card,.gluten-box,.showcase-overlay{
        padding:18px;
      }

      .story-panel{
        order:1;
        padding:18px;
      }

      .story-image{
        order:2;
        min-height:0;
        aspect-ratio:3 / 4;
        border-radius:22px;
        background-size:cover;
        background-position:center top;
        background-repeat:no-repeat;
        background-color:#111;
      }

      .story-stats{
        grid-template-columns:1fr 1fr;
        gap:10px;
      }

      .story-stats .proof{padding:10px 12px}
      .story-stats .proof strong{font-size:18px;margin-bottom:2px}
      .story-stats .proof span{font-size:11px;line-height:1.35}

      .menu-showcase{display:block;position:relative}

      .showcase-card{
        display:none;
        min-height:320px;
        border-radius:24px;
        background-size:cover !important;
        background-position:center !important;
        background-repeat:no-repeat !important;
        background-color:#111;
      }

      .showcase-card.menu-card-seafood{
        background-position:center 38% !important;
      }

      .showcase-card.menu-card-zena{
        background-position:2% 46% !important;
      }

      .showcase-card.active{display:flex}

      .menu-slider-controls{
        display:flex;
        justify-content:center;
        gap:10px;
        margin-top:12px;
      }

      .menu-slider-btn{
        width:46px;
        height:46px;
        border-radius:50%;
        border:1px solid rgba(255,255,255,.14);
        background:rgba(255,255,255,.06);
        color:#fff;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
      }

      .showcase-top{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
      }

      .showcase-title{max-width:100%;font-size:28px}
      .showcase-price{font-size:20px}
      .showcase-line{width:92px;margin-bottom:14px}
      .showcase-text{font-size:14px;line-height:1.58;margin-bottom:12px}

      .showcase-tags{gap:8px}
      .showcase-tags span{padding:8px 12px;font-size:12px}

      .gluten-content{
        order:1;
      }

      .gluten-title{
        margin:0 0 12px;
        text-align:left;
      }

      .gluten-copy{
        max-width:100%;
        text-align:left;
      }

      .gluten-copy p{
        font-size:14px;
        line-height:1.6;
      }

      .gluten-media{
        order:2;
        gap:10px;
      }

      .gluten-cert{
        padding:10px;
        border-radius:16px;
      }

      .gluten-cert img,
      .gluten-chef{
        border-radius:14px;
        object-fit:cover;
        background:#111;
        height:auto;
      }

      .review-grid{gap:12px}

      .review{
        padding:14px 14px 12px;
        border-radius:16px;
      }

      .review p{
        font-size:12.8px !important;
        line-height:1.5 !important;
        margin:0;
      }

      .review strong,.review span{display:none}
      .stars{font-size:13px;margin-bottom:8px}
      .review-g{top:10px;right:10px;transform:scale(.85)}

      .contact-list{gap:12px;margin:18px 0}
      .contact-item a,.contact-item strong{font-size:14px;line-height:1.55}
      .map-wrap{border-radius:22px}
      .map-wrap iframe{min-height:260px}

      .modal{
        padding:12px;
        align-items:center;
      }

      .modal-box{
        width:min(100%, 520px);
        max-width:100%;
        max-height:88vh;
        padding:20px;
        border-radius:22px;
        margin:0 auto;
      }

      .modal-box h3{
        font-size:28px;
      }

      .modal-box p{
        font-size:14px;
        line-height:1.58;
      }

      .modal-box .grid-2{
        grid-template-columns:1fr;
        gap:10px;
      }

      .modal-box .grid-2 > *{
        width:100%;
        max-width:100%;
        min-width:0;
      }

      .modal-box input,
      .modal-box textarea,
      .modal-box select{
        width:100%;
        max-width:100%;
        min-width:0;
      }

      .modal-box input[type="date"],
      .modal-box input[type="time"],
      .modal-box input[type="number"],
      .modal-box input[type="tel"],
      .modal-box input[type="text"],
      .modal-box select{
        min-height:52px;
      }

      .footer-row{gap:10px;font-size:13px}

      .mobile-bookbar{
        display:flex;
        position:fixed;
        left:10px;
        right:10px;
        bottom:12px;
        z-index:110;
        background:rgba(16,13,10,.95);
        backdrop-filter:blur(12px);
        border:1px solid rgba(255,255,255,.08);
        box-shadow:0 18px 36px rgba(0,0,0,.34);
        border-radius:22px;
        padding:10px;
        gap:10px;
      }

      .mobile-bookbar .cta,.mobile-bookbar .btn-secondary{
        min-height:50px;
        font-size:15px;
        padding:12px 14px;
        border-radius:16px;
      }

      .mobile-bookbar .cta{flex:1}
      .mobile-bookbar .btn-secondary{
        width:auto;
        min-width:58px;
        padding:0 14px;
      }

      .menu-mobile-cta,
      .contacts-mobile-cta{
        display:none !important;
      }
    }

    @media (max-width:480px){
      h1{font-size:27px}
      .hero-text p{font-size:12.5px}
      .brand{gap:6px}
      .brand-main{width:128px}
      .brand-badge{width:48px}
      .showcase-card{min-height:280px}
      .showcase-card.menu-card-zena{
        min-height:340px;
        background-position:0% 44% !important;
      }
      .showcase-card.menu-card-seafood{
        min-height:340px;
        background-position:center 34% !important;
      }
      .story-image{
        min-height:0;
        aspect-ratio:7 / 9;
        border-radius:20px;
      }
    }
  .privacy-check {
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:12.5px;
  color:#d0c1ad;
  line-height:1.45;
  cursor:pointer;
}

.privacy-check span{
  display:block;
}

.privacy-check input[type="checkbox"]{
  width:16px;
  height:16px;
  min-width:16px;
  margin:2px 0 0;
  padding:0;
  flex:0 0 16px;
  border-radius:4px;
  border:1px solid rgba(215,178,109,.55);
  background:rgba(255,255,255,.02);
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.privacy-check input[type="checkbox"]::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:2px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  transform:scale(0);
  transition:transform .16s ease;
}

.privacy-check input[type="checkbox"]:checked{
  border-color:transparent;
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 1px rgba(235,202,135,.18);
}

.privacy-check input[type="checkbox"]:checked::after{
  transform:scale(1);
}

.privacy-check input[type="checkbox"]:focus-visible{
  outline:2px solid rgba(235,202,135,.45);
  outline-offset:2px;
}

.privacy-check a{
  color:var(--gold2);
}
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
  background: #1a1713;
  color: #f7f1e8;
  padding: 16px;
  z-index: 9999;
  box-shadow: 0 -5px 20px rgba(0,0,0,0.4);
}

.cookie-content {
  max-width: 900px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cookie-content p {
  margin: 0;
  line-height: 1.6;
}

.cookie-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.cookie-btn-primary,
.cookie-btn-secondary,
.cookie-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 999px;
  font: inherit;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}

.cookie-btn-primary {
  background: #d7b26d;
  border: none;
  color: #1b1408;
}

.cookie-btn-secondary {
  background: transparent;
  border: 1px solid #d7b26d;
  color: #d7b26d;
}

.cookie-link-btn {
  color: #f7f1e8;
  border: 1px solid rgba(255,255,255,.14);
}.nav-links a,
.mobile-menu-panel a{
  transition:color .2s ease,opacity .2s ease;
}

.nav-links a:hover,
.nav-links a.active,
.mobile-menu-panel a:hover,
.mobile-menu-panel a.active{
  color:var(--gold2);
}

.page-hero{
  padding:72px 0 34px;
  background:
    radial-gradient(circle at top left,rgba(215,178,109,.18),transparent 34%),
    linear-gradient(180deg,rgba(22,17,13,.95) 0%,rgba(12,10,8,.92) 100%);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.page-hero-shell{
  max-width:900px;
}

.page-hero h1{
  text-align:left;
  margin:0 0 14px;
  max-width:900px;
  font-size:clamp(46px,5.8vw,78px);
  line-height:.95;
}

.page-lead{
  max-width:820px;
  margin:0;
  color:#f0e7db;
  font-size:19px;
  line-height:1.75;
}

.page-actions,
.section-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.page-actions{
  margin-top:24px;
}

.section-actions{
  margin-top:24px;
}

.story-home-action,
.gluten-home-action{
  justify-content:flex-start;
}

.story-home-action .cta,
.gluten-home-action .cta{
  min-width:min(100%,280px);
}

.page-badges,
.mini-proof-grid{
  display:grid;
  gap:14px;
}

.page-badges{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:26px;
}

.page-badges span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#f7efe4;
  text-align:center;
}

.mini-proof-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.mini-proof-grid .proof{
  background:rgba(255,255,255,.04);
}

.booking-section .section-title,
.centered-title{
  max-width:780px;
  margin:0 auto 28px;
  text-align:center;
}

.booking-section .booking-card{
  max-width:760px;
  margin:0 auto;
}

.menu-page-shell,
.reviews-shell,
.contact-shell{
  display:grid;
  gap:26px;
}

.home-highlight-copy{
  display:grid;
  gap:18px;
}

.home-highlight-copy p,
.page-note{
  margin:0;
  color:var(--muted);
  line-height:1.8;
  font-size:17px;
}

.review-page-actions{
  margin-top:22px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

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

.menu-page-note,
.gluten-page-note,
.story-page-note,
.contact-page-note{
  max-width:840px;
  margin:0 auto;
  text-align:center;
  color:var(--muted);
  line-height:1.8;
  font-size:17px;
}

@media (max-width:920px){
  .page-badges,
  .mini-proof-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:780px){
  .page-hero{
    padding:34px 0 18px;
  }

  .page-hero h1{
    font-size:34px;
    line-height:1.04;
    margin-bottom:10px;
  }

  .page-lead,
  .page-note,
  .menu-page-note,
  .gluten-page-note,
  .story-page-note,
  .contact-page-note,
  .home-highlight-copy p{
    font-size:14px;
    line-height:1.65;
  }

  .page-actions,
  .section-actions,
  .contact-quick-actions,
  .review-page-actions{
    width:100%;
  }

  .page-actions .cta,
  .page-actions .btn-secondary,
  .section-actions .cta,
  .section-actions .btn-secondary,
  .contact-quick-actions .cta,
  .contact-quick-actions .btn-secondary,
  .review-page-actions .google-btn,
  .review-page-actions .btn-secondary{
    width:100%;
  }

  .page-badges span{
    min-height:auto;
    padding:10px 14px;
    font-size:13px;
  }
}
