:root{
    --sky:#29abe2;--azure:#1b75bc;--blue:#1560ad;--navy:#123c8c;--navy-deep:#0b2a63;
    --white:#fff;--mist:#eef5fb;--mist2:#dcecf8;--green:#12a150;--red:#e0242b;--gold:#f5b301;
    --ink:#12263f;--slate:#4a5c72;--shadow:rgba(16,52,110,.16);--shadow-lg:rgba(11,42,99,.3);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:76px;}
  body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3,h4{font-family:"Montserrat",sans-serif;margin:0;line-height:1.1;}
  a{color:inherit;}
  img{display:block;max-width:100%;}
  .script{font-family:"Kaushan Script",cursive;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);}
  section{padding:clamp(3rem,7vw,5rem) 0;}

  /* buttons */
  .btn{display:inline-block;text-decoration:none;font-family:"Montserrat";font-weight:800;font-size:1rem;padding:.9rem 1.5rem;border-radius:999px;cursor:pointer;border:none;text-align:center;transition:transform .15s,filter .18s,box-shadow .18s,background .18s,color .18s;}
  .btn-order{background:linear-gradient(180deg,var(--sky),var(--azure));color:#fff;box-shadow:0 10px 22px rgba(41,171,226,.45);}
  .btn-order:hover{transform:translateY(-2px);filter:brightness(1.05);}
  .btn-call{background:#fff;color:var(--navy);box-shadow:0 10px 22px rgba(0,0,0,.18);}
  .btn-call:hover{transform:translateY(-2px);}
  .btn-red{background:linear-gradient(180deg,#ee4d53,var(--red));color:#fff;box-shadow:0 10px 22px rgba(224,36,43,.4);}
  .btn-red:hover{transform:translateY(-2px);filter:brightness(1.05);}

  /* header */
  header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 2px 14px rgba(16,52,110,.09);}
  .gradrule{height:5px;background:linear-gradient(90deg,var(--sky),var(--azure),var(--navy));}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem clamp(1rem,4vw,2rem);}
  .brand img{height:58px;width:auto;display:block;}
  .nav-right{display:flex;align-items:center;gap:.6rem;}
  .langbtn{font-family:"Montserrat";font-weight:800;font-size:.72rem;letter-spacing:.06em;color:var(--navy);background:#fff;border:2px solid var(--sky);border-radius:999px;padding:.34rem .72rem;cursor:pointer;transition:.18s;}
  .langbtn:hover{background:var(--sky);color:#fff;}
  .nav .btn{padding:.55rem 1.1rem;font-size:.9rem;}

  /* hero */
  .hero{position:relative;min-height:82vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg img{width:100%;height:100%;object-fit:cover;}
  .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,26,66,.30),rgba(8,26,66,.40) 55%,rgba(11,42,99,.60));}
  .hero-inner{position:relative;z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:3rem clamp(1.1rem,4vw,2rem);text-align:center;}
  .hero-card{max-width:720px;margin:0 auto;background:rgba(9,26,60,.50);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:clamp(1.7rem,4vw,2.8rem) clamp(1.3rem,4vw,2.4rem);box-shadow:0 24px 60px rgba(0,0,0,.4);}
  .hero-badge{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px);color:#fff;font-weight:600;font-size:.92rem;padding:.5rem 1rem;border-radius:999px;margin-bottom:1.2rem;}
  .hero .hero-title{font-weight:900;letter-spacing:.3px;text-shadow:0 3px 16px rgba(0,0,0,.45);font-size:clamp(1.2rem,5.6vw,2.8rem);line-height:1.14;margin:0 auto;}
  .hero .hero-title span{display:block;white-space:nowrap;}
  .hero .sub{font-size:clamp(.72rem,3.3vw,1.05rem);color:#eaf4fe;margin:1.1rem auto 1.6rem;max-width:none;}
  .hero .sub span{display:block;white-space:nowrap;}
  .hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}
  .hero-cta .btn{min-width:190px;}
  .hero-status{margin-top:1.5rem;font-weight:600;color:#eaf4fe;font-size:.98rem;display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;}
  .status-dot{width:11px;height:11px;border-radius:50%;background:#9fb3cc;box-shadow:0 0 0 4px rgba(159,179,204,.25);display:inline-block;}
  .status-dot.open{background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.3);}

  /* section heads */
  .shead{text-align:center;max-width:920px;margin:0 auto 2.4rem;}
  .eyebrow{display:inline-block;color:var(--azure);font-family:"Montserrat";font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6rem;}
  .shead h2{font-weight:900;font-size:clamp(1rem,4.6vw,2.6rem);color:var(--navy);}
  .shead p{color:var(--slate);font-size:1.06rem;margin-top:.7rem;}

  /* featured dishes */
  .featured{background:var(--mist);}
  .dish-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.3rem;}
  .dish{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 32px var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;flex:1 1 300px;max-width:336px;}
  .dish:hover{transform:translateY(-6px);box-shadow:0 24px 48px var(--shadow-lg);}
  .dish-photo{position:relative;aspect-ratio:1/1;overflow:hidden;}
  .dish-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .dish:hover .dish-photo img{transform:scale(1.06);}
  .dish-photo .tag{position:absolute;top:.6rem;left:.6rem;background:var(--gold);color:var(--ink);font-family:"Montserrat";font-weight:800;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.25);}
  .dish-body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;flex:1;}
  .dish-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;}
  .dish-row h3{font-weight:800;font-size:1.18rem;color:var(--navy);}
  .dish-price{font-family:"Montserrat";font-weight:800;color:var(--azure);font-size:1.1rem;white-space:nowrap;}
  .dish-body p{color:var(--slate);font-size:.92rem;margin:.4rem 0 1rem;flex:1;min-height:2.7em;}
  .dish-btn{display:block;text-align:center;text-decoration:none;background:var(--navy);color:#fff;font-family:"Montserrat";font-weight:800;font-size:.9rem;padding:.7rem;border-radius:999px;margin-top:auto;transition:background .18s,transform .15s;}
  .dish-btn:hover{background:var(--azure);transform:translateY(-1px);}
  .menu-link{text-align:center;margin-top:2rem;}
  .menu-link a{color:var(--azure);font-weight:700;text-decoration:none;font-size:1.05rem;}
  .menu-link a:hover{color:var(--navy);}
  .fullmenu{background:var(--mist);}
  .fm-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 auto 2rem;max-width:920px;}
  .fm-tab{font-family:"Montserrat";font-weight:700;font-size:.8rem;letter-spacing:.02em;color:var(--navy);background:#fff;border:1.5px solid var(--mist2);padding:.5rem 1.05rem;border-radius:999px;cursor:pointer;transition:background .18s,color .18s,border-color .18s,box-shadow .18s;}
  .fm-tab:hover{border-color:var(--sky);color:var(--azure);}
  .fm-tab.active{background:linear-gradient(180deg,var(--sky),var(--azure));border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(41,171,226,.35);}
  .fm-panel{display:none;}
  .fm-panel.active{display:block;animation:fmfade .3s ease;}
  @keyframes fmfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  .fm-title{text-align:center;font-family:"Montserrat";font-weight:800;color:var(--navy);font-size:1.5rem;margin:0 0 .3rem;}
  .fm-sub{text-align:center;color:var(--azure);font-style:italic;font-size:.9rem;margin:.1rem auto 1.5rem;max-width:60ch;}
  .fm-title + .fm-grid{margin-top:1.3rem;}
  .fm-grid{columns:2;column-gap:3.2rem;max-width:900px;margin:0 auto;}
  .fm-item{-webkit-column-break-inside:avoid;break-inside:avoid;margin:0 0 .95rem;}
  .fm-top{display:flex;align-items:baseline;gap:.45rem;}
  .fm-name{font-family:"DM Sans";font-weight:700;color:var(--ink);font-size:1rem;}
  .fm-lead{flex:1 1 auto;border-bottom:1px dotted #b3c4d8;position:relative;top:-4px;min-width:16px;}
  .fm-price{color:var(--azure);font-weight:800;font-size:1rem;white-space:nowrap;}
  .fm-desc{color:var(--slate);font-size:.82rem;line-height:1.4;margin-top:.12rem;max-width:54ch;}
  .fm-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2.4rem;}

  /* reviews */
  .reviews{background:#fff;}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
  .review{background:var(--mist);border-radius:18px;padding:1.7rem 1.5rem;box-shadow:0 10px 24px var(--shadow);border-top:5px solid var(--gold);}
  .review .stars{color:var(--gold);font-size:1.1rem;letter-spacing:2px;margin-bottom:.7rem;}
  .review .quote{color:var(--ink);font-size:1.05rem;font-weight:500;line-height:1.5;margin:0 0 1.1rem;}
  .review-by{display:flex;align-items:center;gap:.5rem;color:var(--slate);font-size:.9rem;font-weight:600;}
  .review-by svg{width:18px;height:18px;flex-shrink:0;}

  /* how it works */
  .how{background:linear-gradient(135deg,var(--azure),var(--navy));color:#fff;}
  .how .shead h2{color:#fff;}
  .how .eyebrow{color:#bfe6fa;}
  .how .shead p{color:#dbecfb;}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2.6rem;}
  .step{text-align:center;padding:1rem;}
  .step-ic{width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-family:"Montserrat";font-weight:900;font-size:1.6rem;color:#fff;margin:0 auto .9rem;}
  .step h3{font-weight:800;font-size:1.2rem;color:#fff;margin-bottom:.4rem;}
  .step p{color:#cfe2f6;font-size:clamp(.66rem,3.4vw,.82rem);margin:0;white-space:nowrap;}
  .phone-cta{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:2rem 1.5rem;text-align:center;max-width:640px;margin:0 auto;}
  .phone-cta h3{font-weight:800;font-size:clamp(1.05rem,5vw,1.5rem);color:#fff;margin-bottom:.4rem;}
  .phone-cta p{color:#dbecfb;margin:0 0 1.2rem;font-size:clamp(.7rem,3.5vw,1.05rem);white-space:nowrap;}
  .phone-cta .btn{font-size:1.35rem;padding:.9rem 1.8rem;}

  /* visit / footer */
  .visit{background:var(--mist);}
  .visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
  .vcard{background:#fff;border-radius:18px;padding:1.7rem;box-shadow:0 12px 28px var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;}
  .vcard .k{font-family:"Montserrat";font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--azure);}
  .vcard .v{font-weight:700;color:var(--ink);font-size:1.05rem;}
  .vcard a.v{text-decoration:none;color:var(--azure);}
  .vcard a.v:hover{color:var(--navy);}
  .vcard .status2{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--ink);}
  .vcard .btn{margin-top:.5rem;padding:.6rem 1.2rem;font-size:.9rem;background:var(--navy);color:#fff;}
  .vcard .btn:hover{background:var(--azure);}
  .socials{display:flex;gap:.8rem;justify-content:center;margin-top:2.2rem;}
  .soc{width:48px;height:48px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px var(--shadow);transition:transform .15s;}
  .soc:hover{transform:translateY(-3px);}
  .soc svg{width:24px;height:24px;}

  footer{background:var(--navy-deep);color:#b9cbe6;text-align:center;padding:2.5rem 1.2rem 6.5rem;}
  footer .flogo-wrap{display:inline-block;background:#fff;padding:10px 16px;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.28);margin:0 auto 1rem;}
  footer .flogo{height:56px;width:auto;display:block;}
  footer .ftag{color:var(--sky);font-family:"Kaushan Script",cursive;font-size:1.15rem;margin:.2rem 0 .6rem;}
  footer p{font-size:clamp(.6rem,3vw,.95rem);max-width:none;margin:.3rem auto;white-space:normal;}
  footer .fbottom{margin-top:1.2rem;font-size:clamp(.46rem,2.2vw,.82rem);color:#7f97bd;white-space:nowrap;}

  /* sticky mobile bar */
  .mobilebar{position:fixed;bottom:0;left:0;right:0;z-index:100;display:none;gap:.6rem;padding:.55rem .7rem;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);box-shadow:0 -6px 20px rgba(6,26,66,.18);}
  .mobilebar a{flex:1;text-align:center;text-decoration:none;font-family:"Montserrat";font-weight:800;font-size:1rem;padding:.85rem;border-radius:14px;}
  .mobilebar .mb-call{background:#fff;color:var(--navy);border:2px solid var(--navy);}
  .mobilebar .mb-order{background:linear-gradient(180deg,var(--sky),var(--azure));color:#fff;}

  a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px;}
  @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;}}

  /* responsive */
  @media(max-width:900px){
    .dish{max-width:calc(50% - .65rem);}
    .rev-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;gap:1rem;}
    .visit-grid{grid-template-columns:1fr;}
    .fm-grid{columns:1;}
  }
  @media(max-width:760px){
    .mobilebar{display:flex;}
    body{padding-bottom:74px;}
    .brand img{height:50px;}
    .nav .btn{display:none;}
    .hero{min-height:78vh;}
    .hero-cta .btn{flex:1;min-width:0;}
  }
  @media(max-width:480px){
    .dish{max-width:100%;}
  }
/* ============================================================
   MULTI-PAGE ADDITIONS
   ============================================================ */

/* ---- multi-page nav ---- */
.nav{position:relative;flex-wrap:nowrap;}
.brand{flex:0 0 auto;}
.mainnav{display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center;}
.mainnav a{font-family:"Montserrat";font-weight:700;font-size:.9rem;color:var(--navy);text-decoration:none;padding:.5rem .7rem;border-radius:9px;transition:.15s;white-space:nowrap;}
.mainnav a:hover{background:var(--mist);color:var(--azure);}
.mainnav a.active{color:var(--azure);background:var(--mist);}
.navtoggle{display:none;background:#fff;border:2px solid var(--sky);color:var(--navy);font-size:1.15rem;line-height:1;border-radius:9px;padding:.36rem .6rem;cursor:pointer;}
@media(max-width:920px){
  .mainnav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:.4rem;box-shadow:0 14px 26px rgba(16,52,110,.16);border-top:1px solid var(--mist2);display:none;z-index:70;}
  .mainnav.open{display:flex;}
  .mainnav a{padding:.85rem 1rem;font-size:1rem;border-radius:10px;text-align:center;}
  .navtoggle{display:inline-block;}
}

/* ---- interior page banner ---- */
.pagehead{position:relative;background:linear-gradient(135deg,var(--azure),var(--navy) 60%,var(--navy-deep));color:#fff;text-align:center;padding:clamp(2.6rem,7vw,4rem) 0;overflow:hidden;}
.pagehead::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% -10%,rgba(245,179,1,.22),transparent 45%);pointer-events:none;}
.pagehead .wrap{position:relative;z-index:1;}
.pagehead .eyebrow{color:var(--gold);}
.pagehead h1{font-size:clamp(1.9rem,5.4vw,3rem);color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.28);}
.pagehead p{color:#e7f1fc;max-width:660px;margin:.85rem auto 0;font-size:clamp(1rem,2.4vw,1.12rem);}

/* ---- story ---- */
.story{max-width:900px;margin:0 auto;}
.story-photo{border-radius:20px;overflow:hidden;box-shadow:0 22px 50px var(--shadow-lg);aspect-ratio:16/7;margin-bottom:clamp(1.6rem,4vw,2.4rem);}
.story-photo img{width:100%;height:100%;object-fit:cover;}
.story-copy p{font-size:1.05rem;color:var(--slate);margin:0 0 1.15rem;}
.story-copy p:first-child{font-size:1.18rem;color:var(--ink);font-weight:500;}
.story-copy .script{color:var(--azure);font-size:1.9rem;display:block;margin-top:.4rem;}
@media(max-width:800px){.story-photo{aspect-ratio:4/3;}}

/* ---- occasions ---- */
.occ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:.5rem;}
.occ{background:#fff;border:1px solid var(--mist2);border-radius:16px;padding:1.5rem 1.2rem;box-shadow:0 12px 28px var(--shadow);text-align:center;transition:transform .2s,box-shadow .2s;}
.occ:hover{transform:translateY(-5px);box-shadow:0 20px 40px var(--shadow-lg);}
.occ .occ-ic{font-size:2rem;margin-bottom:.5rem;line-height:1;}
.occ h3{color:var(--navy);font-size:1.08rem;margin-bottom:.4rem;}
.occ p{color:var(--slate);font-size:.9rem;margin:0;}
.cat-note{max-width:680px;margin:1.8rem auto 0;text-align:center;color:var(--slate);font-size:1.02rem;}
@media(max-width:820px){.occ-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:440px){.occ-grid{grid-template-columns:1fr;}}

/* ---- faq ---- */
.faq{max-width:780px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--mist2);border-radius:13px;margin-bottom:.7rem;padding:0 1.1rem;box-shadow:0 8px 18px var(--shadow);}
.faq summary{font-family:"Montserrat";font-weight:700;color:var(--navy);cursor:pointer;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--sky);font-weight:800;font-size:1.3rem;}
.faq details[open] summary::after{content:"\2013";}
.faq details p{color:var(--slate);margin:0 0 1rem;}

/* ---- catering form ---- */
.cat-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--mist2);border-radius:20px;padding:clamp(1.5rem,4vw,2.4rem);box-shadow:0 18px 44px var(--shadow);}
.cat-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field{display:flex;flex-direction:column;margin-bottom:1rem;}
.field label{font-family:"Montserrat";font-weight:700;font-size:.8rem;color:var(--navy);margin-bottom:.35rem;}
.field input,.field select,.field textarea{font-family:"DM Sans",sans-serif;font-size:1rem;padding:.72rem .85rem;border:1.5px solid var(--mist2);border-radius:10px;background:var(--mist);color:var(--ink);width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);background:#fff;box-shadow:0 0 0 3px rgba(41,171,226,.15);}
.field textarea{min-height:110px;resize:vertical;}
.cat-form .btn-order{width:100%;margin-top:.3rem;}
.hp{position:absolute;left:-9999px;}
.cat-call{text-align:center;margin:1.6rem auto 0;color:var(--slate);}
.cat-call .phone{font-family:"Montserrat";font-weight:800;font-size:1.35rem;color:var(--azure);text-decoration:none;display:inline-block;margin-top:.2rem;}
@media(max-width:520px){.cat-form .frow{grid-template-columns:1fr;}}

/* ---- gallery ---- */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.gal-item{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px var(--shadow);aspect-ratio:1/1;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gal-item:hover img{transform:scale(1.07);}
.gal-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(11,42,99,0),rgba(11,42,99,.85));color:#fff;font-family:"Montserrat";font-weight:700;font-size:.95rem;padding:1.6rem .9rem .8rem;}
.gal-cap .price{color:var(--gold);margin-left:.4rem;}
@media(max-width:820px){.gal-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.gal-grid{grid-template-columns:1fr;}}

/* ---- shared CTA band ---- */
.ctaband{background:linear-gradient(135deg,var(--sky),var(--azure) 55%,var(--navy));color:#fff;text-align:center;}
.ctaband h2{color:#fff;font-size:clamp(1.5rem,4vw,2.2rem);}
.ctaband p{color:#eaf4fe;max-width:560px;margin:.7rem auto 1.5rem;}
.ctaband .hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* ---- contact map card ---- */
.map-card{max-width:1040px;margin:2rem auto 0;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px var(--shadow);border:1px solid var(--mist2);}
.map-card a{display:block;position:relative;background:linear-gradient(135deg,#dcecf8,#eef5fb);padding:2.6rem 1.2rem;text-align:center;text-decoration:none;color:var(--navy);}
.map-card .pin{font-size:2.4rem;}
.map-card .addr{font-family:"Montserrat";font-weight:800;font-size:1.15rem;margin:.4rem 0 .2rem;}
.map-card .dir{color:var(--azure);font-weight:700;}

/* ---- site footer ---- */
footer{background:var(--navy-deep);color:#cfe0f4;padding:clamp(2.6rem,5vw,3.6rem) 0 1.4rem;text-align:left;}
.foot-grid{max-width:1140px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:2rem;}
.foot-brand img{height:76px;width:auto;margin-bottom:.7rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));}
.foot-brand .ftag{font-family:"Kaushan Script",cursive;color:var(--gold);font-size:1.4rem;margin-bottom:.3rem;}
.foot-brand p{color:#a9c2e0;font-size:.9rem;max-width:300px;margin:.3rem 0 0;}
.foot-col h4{color:#fff;font-family:"Montserrat";font-size:.95rem;letter-spacing:.03em;margin-bottom:.7rem;}
.foot-col a,.foot-col span{display:block;color:#cfe0f4;text-decoration:none;padding:.22rem 0;font-size:.92rem;}
.foot-col a:hover{color:#fff;}
.foot-soc{display:flex;gap:.6rem;margin-top:.8rem;}
.foot-soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:.18s;}
.foot-soc a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);}
.foot-soc svg{width:20px;height:20px;}
.foot-bottom{max-width:1140px;margin:1.7rem auto 0;padding:1.2rem clamp(1.1rem,4vw,2rem) 0;border-top:1px solid rgba(255,255,255,.13);font-size:.82rem;color:#8fb0d6;text-align:center;}
@media(max-width:760px){.foot-grid{grid-template-columns:minmax(0,1fr);gap:1.7rem;}.foot-brand p{max-width:none;}}

/* ===== catering menu tables ===== */
.cat-menu{max-width:880px;margin:0 auto;}
.cat-cat{margin-bottom:1.8rem;}
.cat-cat-h{font-family:"Montserrat";color:#fff;background:linear-gradient(180deg,var(--sky),var(--azure));padding:.7rem 1.1rem;border-radius:13px 13px 0 0;font-size:1.08rem;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.cat-cat-h .hf{font-size:.66rem;font-weight:700;letter-spacing:.06em;opacity:.92;text-transform:uppercase;white-space:nowrap;}
.cat-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--mist2);border-top:none;box-shadow:0 10px 26px var(--shadow);border-radius:0 0 13px 13px;overflow:hidden;}
.cat-table td{padding:.68rem 1.05rem;border-bottom:1px solid var(--mist);vertical-align:top;}
.cat-table tr:last-child td{border-bottom:none;}
.ci-name{color:var(--ink);font-weight:600;font-size:.96rem;}
.ci-sub{display:block;color:var(--slate);font-weight:400;font-size:.8rem;margin-top:.12rem;line-height:1.4;}
.ci-price{color:var(--azure);font-weight:800;white-space:nowrap;text-align:right;font-family:"Montserrat";width:4.6rem;font-size:.92rem;}
.ci-note{color:var(--azure);font-weight:800;text-align:right;font-family:"Montserrat";white-space:nowrap;font-size:.92rem;}
.cat-lead{text-align:center;color:var(--slate);max-width:620px;margin:0 auto 2rem;font-size:1.02rem;}
.cat-foot-note{text-align:center;max-width:640px;margin:2rem auto 0;color:var(--slate);}
.cat-foot-note strong{color:var(--navy);}
@media(max-width:520px){.cat-table td{padding:.6rem .7rem;}.ci-price,.ci-note{width:3.6rem;font-size:.85rem;}}

/* ===== storefront / interior photos ===== */
.contact-photos{max-width:1040px;margin:0 auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contact-photos .cphoto{border-radius:18px;overflow:hidden;box-shadow:0 14px 34px var(--shadow);aspect-ratio:16/10;}
.contact-photos .cphoto img{width:100%;height:100%;object-fit:cover;}
@media(max-width:640px){.contact-photos{grid-template-columns:1fr;}}

/* ===== language pill (header + footer) ===== */
.langpill{display:inline-flex;align-items:center;background:#fff;border:1.5px solid var(--sky);border-radius:999px;padding:3px;gap:2px;}
.langopt{font-family:"Montserrat";font-weight:700;font-size:.82rem;color:var(--navy);background:transparent;border:none;border-radius:999px;padding:.42rem .85rem;cursor:pointer;transition:.15s;white-space:nowrap;line-height:1;}
.langopt.active{background:linear-gradient(180deg,var(--sky),var(--azure));color:#fff;box-shadow:0 3px 10px rgba(41,171,226,.35);}
.langopt:not(.active):hover{background:var(--mist);}
.langopt .lo-short{display:none;}
@media(max-width:600px){.langopt .lo-full{display:none;}.langopt .lo-short{display:inline;}.langopt{padding:.42rem .6rem;}}

/* footer variant on dark background */
.foot-lang{grid-column:1 / -1;text-align:center;margin-top:.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);}
.foot-lang-cta{display:block;font-family:"Montserrat";font-weight:700;font-size:.86rem;color:#e7f1fc;margin-bottom:.7rem;letter-spacing:.02em;}
.foot-lang .langpill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3);}
.foot-lang .langopt{color:#cfe0f4;}
.foot-lang .langopt.active{color:#fff;}

/* ===== dual CTA on home dish cards ===== */
.dish-cta{margin-top:auto;display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.95rem;}
.dish-cta .dish-btn{margin-top:0;flex:1 1 128px;padding:.62rem .5rem;font-size:.82rem;}
.dish-order{background:linear-gradient(180deg,var(--sky),var(--azure));box-shadow:0 6px 16px rgba(41,171,226,.30);}
.dish-order:hover{filter:brightness(1.06);transform:translateY(-1px);}
.dish-call{background:#fff;color:var(--navy);border:1.5px solid var(--sky);}
.dish-call:hover{background:var(--mist);color:var(--navy);transform:translateY(-1px);}

/* menu page featured showcase (relocated from Gallery) */
.menu-showcase{padding-top:clamp(1.8rem,4vw,2.6rem);}
.menu-showcase .shead{margin-bottom:1.4rem;}
