
  :root{
    --purple-deep:#3A1B57;
    --purple:#844EA2;
    --purple-light:#A871C7;
    --gold:#F2C927;
    --gold-soft:#FBE48A;
    --cream:#FFF8E8;
    --cream-dim:#FBEFD6;
    --ink:#241334;
    --coral:#E8542E;
    --coral-dark:#C73E1D;
    --line: rgba(36,19,52,0.12);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  h1,h2,h3{
    font-family:'Baloo 2',sans-serif;
    line-height:1.05;
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}

  .eyebrow{
    font-family:'Inter',sans-serif;
    font-weight:700;
    font-size:0.78rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--coral);
  }
  .eyebrow.on-dark{color:var(--gold);}

  :focus-visible{
    outline:3px solid var(--coral);
    outline-offset:3px;
    border-radius:4px;
  }

  /* ===== NAV ===== */
  .nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:200;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px clamp(20px,5vw,64px);
    background:rgba(255,248,232,0.0);
    transition:background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
  }
  .nav.scrolled{
    background:rgba(255,248,232,0.95);
    backdrop-filter:blur(10px);
    box-shadow:0 4px 24px rgba(36,19,52,0.08);
    padding:10px clamp(20px,5vw,64px);
  }
  .nav-logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Baloo 2',sans-serif;
    font-weight:700;
    font-size:1.4rem;
    color:#fff;
    z-index:201;
    transition:color 0.3s ease;
  }
  .nav.scrolled .nav-logo{color:var(--purple-deep);}
  .nav-logo img{height:38px;width:38px;border-radius:10px;transition:height 0.3s ease,width 0.3s ease;}
  .nav.scrolled .nav-logo img{height:32px;width:32px;}
  .nav-links{
    display:flex;
    gap:clamp(18px,3vw,36px);
    align-items:center;
    font-weight:600;
    font-size:0.95rem;
  }
  .nav-links a{
    position:relative;
    padding:6px 2px;
    color:#fff;
    transition:color 0.3s ease;
  }
  .nav.scrolled .nav-links a{color:var(--ink);}
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0;bottom:0;
    width:0%;height:3px;
    background:var(--gold);
    border-radius:3px;
    transition:width 0.25s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--coral);
    color:#fff !important;
    padding:10px 22px;
    border-radius:100px;
    font-weight:700;
    box-shadow:0 6px 16px rgba(232,84,46,0.35);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
  }
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,84,46,0.45);}
  .nav-cta::after{display:none;}

  /* mobile menu toggle */
  .nav-toggle{
    display:none;
    z-index:201;
    width:44px;height:44px;
    border-radius:12px;
    border:none;
    background:rgba(255,255,255,0.12);
    position:relative;
    cursor:pointer;
    transition:background 0.3s ease;
  }
  .nav.scrolled .nav-toggle{background:rgba(36,19,52,0.06);}
  .nav-toggle span{
    position:absolute;
    left:11px;right:11px;
    height:3px;
    border-radius:3px;
    background:#fff;
    transition:transform 0.3s ease, opacity 0.3s ease, top 0.3s ease, background 0.3s ease;
  }
  .nav.scrolled .nav-toggle span{background:var(--purple-deep);}
  .nav-toggle span:nth-child(1){top:15px;}
  .nav-toggle span:nth-child(2){top:21px;}
  .nav-toggle span:nth-child(3){top:27px;}
  .nav-toggle.open span:nth-child(1){top:21px;transform:rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){top:21px;transform:rotate(-45deg);}

  .mobile-menu{
    position:fixed;
    inset:0;
    background:var(--purple-deep);
    z-index:190;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:28px;
    transform:translateY(-100%);
    transition:transform 0.4s cubic-bezier(.4,0,.2,1);
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{
    font-family:'Baloo 2',sans-serif;
    font-size:2rem;
    color:#fff;
    font-weight:600;
  }
  .mobile-menu a.mobile-cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--gold);
    color:var(--ink);
    padding:14px 32px;
    border-radius:100px;
    font-size:1.2rem;
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    min-height:100vh;
    background:radial-gradient(120% 100% at 75% 0%, var(--purple-light) 0%, var(--purple) 45%, var(--purple-deep) 100%);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding:0 clamp(20px,5vw,64px);
  }
  .hero-grain{
    position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:18px 18px;
    opacity:0.5;
    pointer-events:none;
  }
  .hero-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:40px;
    align-items:center;
    width:100%;
    max-width:1280px;
    margin-left:auto;
    margin-right:auto;
    margin-top:auto;
    margin-bottom:auto;
    padding-top:110px;
    padding-bottom:60px;
  }
  .hero-copy{color:var(--cream);}
  .hero-copy .eyebrow{margin-bottom:18px;display:inline-block;}
  .hero-copy h1{
    font-size:clamp(2.6rem,6vw,4.6rem);
    color:#fff;
    margin-bottom:22px;
  }
  .hero-copy h1 .wob{
    color:var(--gold);
    display:inline-block;
    transform:rotate(-2deg);
  }
  .hero-copy p{
    font-size:1.12rem;
    line-height:1.6;
    color:rgba(255,248,232,0.88);
    max-width:480px;
    margin-bottom:34px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--gold);
    color:var(--ink);
    font-weight:700;
    padding:16px 30px;
    border-radius:100px;
    font-size:1.02rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
    box-shadow:0 10px 24px rgba(242,201,39,0.35);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    border:none;
    cursor:pointer;
    white-space:nowrap;
  }
  .btn-primary:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 14px 30px rgba(242,201,39,0.45);}
  .btn-ghost{
    border:2px solid rgba(255,248,232,0.5);
    color:#fff;
    font-weight:700;
    padding:14px 28px;
    border-radius:100px;
    font-size:1.02rem;
    transition:background 0.2s ease, border-color 0.2s ease;
    white-space:nowrap;
  }
  .btn-ghost:hover{background:rgba(255,248,232,0.12);border-color:#fff;}

  .hero-stats{
    display:flex;
    gap:32px;
    margin-top:48px;
    flex-wrap:wrap;
  }
  .hero-stat{color:var(--cream);}
  .hero-stat strong{
    display:block;
    font-family:'Baloo 2',sans-serif;
    font-size:1.8rem;
    color:var(--gold);
  }
  .hero-stat span{font-size:0.85rem;color:rgba(255,248,232,0.7);}

  .hero-visual{
    position:relative;
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }
  .hero-collage{
    position:relative;
    width:min(540px,100%);
    aspect-ratio:1.08/1;
  }
  .hc-main{
    position:absolute;
    top:5%;left:3%;
    width:61%;
    aspect-ratio:900/650;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 22px 42px rgba(0,0,0,0.4), 0 0 0 6px rgba(255,248,232,0.08);
    transform:rotate(-2deg);
    z-index:2;
  }
  .hc-main img{width:100%;height:100%;object-fit:cover;display:block;}
  .hc-pizza{
    position:absolute;
    bottom:1%;
    right:6%;
    width:44%;
    aspect-ratio:1/1;
    border-radius:16px;
    overflow:hidden;
    border:5px solid var(--cream);
    box-shadow:0 18px 36px rgba(0,0,0,0.38);
    transform:rotate(-4deg);
    z-index:5;
  }
  .hc-pizza img{width:100%;height:100%;object-fit:cover;display:block;}
  .hc-calamari{
    position:absolute;
    top:7%;
    right:0;
    width:34%;
    aspect-ratio:1/1;
    border-radius:14px;
    overflow:hidden;
    border:5px solid var(--cream);
    box-shadow:0 16px 32px rgba(0,0,0,0.35);
    transform:rotate(8deg);
    z-index:4;
  }
  .hc-calamari img{width:100%;height:100%;object-fit:cover;display:block;}
  .hc-lobster{
    position:absolute;
    bottom:8%;
    left:4%;
    width:35%;
    aspect-ratio:4/5;
    border-radius:16px;
    overflow:hidden;
    border:5px solid var(--cream);
    box-shadow:0 18px 36px rgba(0,0,0,0.36);
    transform:rotate(5deg);
    z-index:3;
  }
  .hc-lobster img{width:100%;height:100%;object-fit:cover;display:block;}
  .hero-badge{
    position:absolute;
    top:56%;
    left:3%;
    background:var(--gold);
    color:var(--ink);
    font-family:'Baloo 2',sans-serif;
    font-weight:700;
    font-size:1.3rem;
    width:118px;height:118px;
    border-radius:50%;
    display:none;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.15;
    box-shadow:0 14px 28px rgba(0,0,0,0.3);
    border:4px dashed var(--ink);
    animation:badgeFloat 4.5s ease-in-out infinite;
    z-index:4;
  }
  @keyframes badgeFloat{
    0%,100%{transform:rotate(-12deg) translateY(0);}
    50%{transform:rotate(-6deg) translateY(-10px);}
  }

  .wave-divider{
    display:block;
    width:100%;
    margin-bottom:-2px;
    position:relative;
    z-index:3;
  }

  /* ===== ABOUT ===== */
  .about{
    background:var(--cream);
    padding:90px clamp(20px,5vw,64px) 70px;
  }
  .about-inner{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
  }
  .about h2{
    font-size:clamp(2rem,4vw,2.8rem);
    color:var(--purple-deep);
    margin-bottom:20px;
  }
  .about p{
    font-size:1.06rem;
    line-height:1.7;
    color:#473358;
    margin-bottom:18px;
    max-width:520px;
  }
  .about-pills{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:26px;
  }
  .pill{
    background:#fff;
    border:2px solid var(--line);
    padding:10px 18px;
    border-radius:100px;
    font-weight:600;
    font-size:0.9rem;
    color:var(--purple-deep);
    display:flex;
    align-items:center;
    gap:8px;
  }
  .pill .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);display:inline-block;flex-shrink:0;}

  .about-collage{
    position:relative;
    height:420px;
  }
  .collage-img{
    position:absolute;
    border-radius:20px;
    object-fit:cover;
    box-shadow:0 20px 40px rgba(36,19,52,0.18);
  }
  .collage-img.c1{width:62%;height:62%;top:0;left:0;z-index:2;transform:rotate(-4deg);}
  .collage-img.c2{width:50%;height:50%;bottom:0;right:0;z-index:1;transform:rotate(5deg);}
  .collage-img.c3{
    width:118px;height:118px;
    top:38%;left:48%;
    border-radius:50%;
    border:6px solid var(--cream);
    z-index:3;
    transform:rotate(-6deg);
  }

  /* ===== MENU ===== */
  .menu{
    background:var(--ink);
    padding:100px clamp(20px,5vw,64px);
    position:relative;
  }
  .menu-head{
    max-width:1200px;
    margin:0 auto 56px;
    text-align:center;
  }
  .menu-head h2{
    font-size:clamp(2.1rem,4.4vw,3.2rem);
    color:#fff;
    margin-top:14px;
  }
  .menu-head .eyebrow{display:block;margin-bottom:4px;}
  .menu-head p{
    color:rgba(255,248,232,0.65);
    max-width:520px;
    margin:18px auto 0;
    font-size:1.05rem;
  }

  .menu-grid{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
  }
  .dish{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    aspect-ratio:1/1.05;
    cursor:default;
    box-shadow:0 14px 30px rgba(0,0,0,0.35);
  }
  .dish img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 0.5s ease;
  }
  .dish:hover img{transform:scale(1.08);}
  .dish-overlay{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:18px 16px 16px;
    background:linear-gradient(180deg, transparent 0%, rgba(36,19,52,0.92) 75%);
    color:#fff;
  }
  .dish-overlay .tag{
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--gold);
    display:block;
    margin-bottom:4px;
  }
  .dish-overlay h3{
    font-size:1.1rem;
    font-family:'Baloo 2',sans-serif;
    font-weight:600;
  }
  .dish.tall{grid-row:span 2;aspect-ratio:auto;}

  .menu-foot{
    text-align:center;
    margin-top:50px;
  }

  /* ===== PLAY STRIP ===== */
  .play{
    background:linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 100%);
    padding:80px clamp(20px,5vw,64px);
  }
  .play-inner{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:50px;
    align-items:center;
  }
  .play-img{
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 20px 40px rgba(36,19,52,0.2);
    transform:rotate(-2deg);
  }
  .play h2{
    font-size:clamp(2rem,4vw,2.8rem);
    color:var(--purple-deep);
    margin-bottom:18px;
  }
  .play p{
    color:#4a3520;
    font-size:1.06rem;
    line-height:1.7;
    margin-bottom:14px;
    max-width:480px;
  }
  .play ul{
    list-style:none;
    margin-top:20px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .play li{
    font-weight:600;
    color:var(--purple-deep);
    display:flex;
    gap:10px;
    align-items:flex-start;
  }
  .play li::before{
    content:"●";
    color:var(--coral);
    font-size:0.6rem;
    margin-top:7px;
    flex-shrink:0;
  }

  /* ===== TESTIMONIAL ===== */
  .feast{
    background:var(--cream);
    padding:90px clamp(20px,5vw,64px);
    text-align:center;
  }
  .feast blockquote{
    font-family:'Baloo 2',sans-serif;
    font-size:clamp(1.4rem,3vw,2.2rem);
    color:var(--purple-deep);
    max-width:780px;
    margin:0 auto 22px;
    line-height:1.4;
  }
  .feast cite{
    font-style:normal;
    font-weight:600;
    color:var(--coral);
    font-size:0.95rem;
  }

  /* ===== VISIT ===== */
  .visit{
    background:var(--purple-deep);
    padding:90px clamp(20px,5vw,64px);
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  .visit-inner{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:60px;
  }
  .visit h2{
    font-size:clamp(2.1rem,4.2vw,3rem);
    margin-bottom:18px;
    color:#fff;
  }
  .visit p{
    color:rgba(255,248,232,0.75);
    font-size:1.04rem;
    line-height:1.7;
    max-width:460px;
    margin-bottom:26px;
  }
  .visit-card{
    background:rgba(255,248,232,0.06);
    border:1px solid rgba(255,248,232,0.16);
    border-radius:20px;
    padding:32px;
  }
  .visit-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:14px 0;
    border-bottom:1px solid rgba(255,248,232,0.14);
    font-size:0.96rem;
  }
  .visit-row:last-child{border-bottom:none;}
  .visit-row span:first-child{color:rgba(255,248,232,0.6);font-weight:600;flex-shrink:0;}
  .visit-row span:last-child{font-weight:700;text-align:right;}

  .visit-address-label{
    display:block;
    font-weight:700;
    color:var(--gold);
    font-size:0.92rem;
    margin-bottom:10px;
  }
  .visit-address{
    padding-bottom:18px;
    margin-bottom:18px;
    border-bottom:1px solid rgba(255,248,232,0.14);
  }
  .visit-address-link{
    display:block;
    color:#fff;
    font-weight:700;
    font-size:1.05rem;
    line-height:1.4;
    margin-bottom:14px;
    text-decoration:underline;
    text-decoration-color:rgba(255,248,232,0.35);
  }
  .visit-address-link:hover{text-decoration-color:#fff;}
  .btn-directions{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--gold);
    color:var(--ink);
    font-weight:700;
    font-size:0.88rem;
    padding:10px 18px;
    border-radius:100px;
    transition:transform 0.2s ease;
  }
  .btn-directions:hover{transform:translateY(-2px);}

  .visit-hours{
    padding-bottom:18px;
    margin-bottom:18px;
    border-bottom:1px solid rgba(255,248,232,0.14);
  }
  .hours-row{
    display:flex;
    justify-content:space-between;
    padding:7px 0;
    font-size:0.92rem;
  }
  .hours-row span:first-child{color:rgba(255,248,232,0.75);font-weight:600;}
  .hours-row span:last-child{color:#fff;font-weight:700;}
  .hours-note{
    margin-top:10px;
    font-size:0.76rem;
    line-height:1.5;
    color:rgba(255,248,232,0.5);
  }

  /* ===== FOOTER ===== */
  footer{
    background:var(--ink);
    color:rgba(255,248,232,0.55);
    padding:36px clamp(20px,5vw,64px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    font-size:0.85rem;
  }
  footer .foot-logo{
    font-family:'Baloo 2',sans-serif;
    color:var(--gold);
    font-weight:700;
    font-size:1.1rem;
  }

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;animation:none !important;}
  }

  /* ===== SCROLL REVEAL ===== */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.7s ease, transform 0.7s ease;
  }
  .reveal.in-view{
    opacity:1;
    transform:translateY(0);
  }
  .reveal-stagger > *{
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.6s ease, transform 0.6s ease;
  }
  .reveal-stagger.in-view > *{
    opacity:1;
    transform:translateY(0);
  }
  .reveal-stagger.in-view > *:nth-child(1){transition-delay:0.05s;}
  .reveal-stagger.in-view > *:nth-child(2){transition-delay:0.12s;}
  .reveal-stagger.in-view > *:nth-child(3){transition-delay:0.19s;}
  .reveal-stagger.in-view > *:nth-child(4){transition-delay:0.26s;}
  .reveal-stagger.in-view > *:nth-child(5){transition-delay:0.33s;}
  .reveal-stagger.in-view > *:nth-child(6){transition-delay:0.4s;}
  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal-stagger > *{opacity:1 !important;transform:none !important;}
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 980px){
    .nav-links{display:none;}
    .nav-toggle{display:block;}

    .hero{min-height:auto;padding-top:0;}
    .hero-inner{
      grid-template-columns:1fr;
      padding-top:96px;
      padding-bottom:56px;
      gap:36px;
    }
    .hero-copy{text-align:center;}
    .hero-copy p{margin-left:auto;margin-right:auto;}
    .hero-actions{justify-content:center;}
    .hero-stats{justify-content:center;text-align:left;}
    .hero-visual{order:-1;margin-bottom:18px;justify-content:center;}
    .hero-collage{width:min(430px,88vw);aspect-ratio:1.08/1;}
    .hc-main{top:3%;left:4%;width:60%;}
    .hc-calamari{top:6%;right:3%;width:33%;border-width:4px;}
    .hc-lobster{bottom:9%;left:6%;width:34%;border-width:4px;}
    .hc-pizza{top:auto;bottom:2%;right:8%;width:42%;border-width:4px;}
    .hero-badge{display:none;}

    .about-inner{grid-template-columns:1fr;text-align:center;}
    .about p{margin-left:auto;margin-right:auto;}
    .about-pills{justify-content:center;}
    .about-collage{height:280px;margin-top:10px;max-width:420px;margin-left:auto;margin-right:auto;}

    .menu{padding:72px clamp(20px,5vw,64px);}
    .menu-head{text-align:center;}
    .menu-grid{grid-template-columns:repeat(2,1fr);gap:18px;}
    .dish.tall{grid-row:span 1;aspect-ratio:1/1.05;}

    .play-inner{grid-template-columns:1fr;text-align:center;}
    .play p{margin-left:auto;margin-right:auto;}
    .play li{text-align:left;}
    .play ul{margin-left:auto;margin-right:auto;width:fit-content;}
    .play-img{order:-1;max-width:420px;margin:0 auto;}

    .visit-inner{grid-template-columns:1fr;text-align:center;}
    .visit p{margin-left:auto;margin-right:auto;}
    .visit-card{text-align:left;}
  }

  @media (max-width: 600px){
    .hero-copy h1{font-size:clamp(2.2rem,9vw,2.8rem);}
    .hero-copy p{font-size:1.02rem;}
    .hero-actions{flex-direction:column;width:100%;}
    .hero-actions a{width:100%;justify-content:center;text-align:center;}
    .hero-stats{gap:20px;width:100%;justify-content:space-between;}
    .hero-stat strong{font-size:1.5rem;}

    .about{padding:64px 20px 56px;}
    .about h2{font-size:1.8rem;}

    .menu-grid{grid-template-columns:1fr 1fr;gap:14px;}
    .dish-overlay h3{font-size:0.98rem;}
    .dish-overlay{padding:14px 12px 12px;}
    .menu-head h2{font-size:1.9rem;}

    .play{padding:60px 20px;}
    .play h2{font-size:1.8rem;}

    .feast{padding:64px 20px;}
    .feast blockquote{font-size:1.4rem;}

    .visit{padding:64px 20px;}
    .visit h2{font-size:1.9rem;}
    .visit-row{flex-direction:column;align-items:flex-start;gap:2px;text-align:left;}
    .visit-row span:last-child{text-align:left;}

    footer{flex-direction:column;text-align:center;}
  }

  @media (max-width: 380px){
    .hero-badge{display:none;}
    .menu-grid{grid-template-columns:1fr;}
    .dish{aspect-ratio:4/3;}
  }

  /* ===== CALL FAB ===== */
  .call-fab{
    position:fixed;
    bottom:22px;
    right:22px;
    z-index:150;
    background:var(--coral);
    color:#fff;
    display:flex;
    align-items:center;
    gap:8px;
    padding:14px 20px;
    border-radius:100px;
    font-weight:700;
    font-size:0.95rem;
    box-shadow:0 12px 28px rgba(232,84,46,0.45);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    animation:fabPulse 2.6s ease-in-out infinite;
  }
  .call-fab:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 32px rgba(232,84,46,0.55);}
  .call-fab-icon{font-size:1.1rem;}
  @keyframes fabPulse{
    0%,100%{box-shadow:0 12px 28px rgba(232,84,46,0.45);}
    50%{box-shadow:0 12px 28px rgba(232,84,46,0.75), 0 0 0 8px rgba(232,84,46,0.12);}
  }
  @media (max-width:560px){
    .call-fab{padding:14px;border-radius:50%;}
    .call-fab-text{display:none;}
    .call-fab-icon{font-size:1.3rem;}
  }

  /* ===== CALL INLINE BUTTON ===== */
  .btn-call{
    background:var(--coral);
    color:#fff;
    font-weight:700;
    padding:16px 30px;
    border-radius:100px;
    font-size:1.02rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
    box-shadow:0 10px 24px rgba(232,84,46,0.35);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    border:none;
    cursor:pointer;
    white-space:nowrap;
  }
  .btn-call:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(232,84,46,0.45);}

  /* ===== FULL MENU ===== */
  .full-menu{
    background:var(--ink);
    padding:90px clamp(20px,5vw,64px);
  }
  .full-menu-head{
    max-width:1200px;
    margin:0 auto 36px;
    text-align:center;
  }
  .full-menu-head h2{
    font-size:clamp(2.1rem,4.4vw,3.2rem);
    color:#fff;
    margin-top:14px;
  }
  .full-menu-head p{
    color:rgba(255,248,232,0.65);
    max-width:560px;
    margin:16px auto 0;
    font-size:1.03rem;
  }
  .menu-tabs{
    max-width:900px;
    margin:0 auto 28px;
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:6px 4px 14px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .menu-tabs::-webkit-scrollbar{height:6px;}
  .menu-tabs::-webkit-scrollbar-thumb{background:var(--purple-light);border-radius:10px;}
  .menu-tab{
    flex-shrink:0;
    background:#fff;
    border:2px solid var(--line);
    color:var(--purple-deep);
    font-weight:700;
    font-size:0.88rem;
    padding:10px 18px;
    border-radius:100px;
    cursor:pointer;
    transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space:nowrap;
  }
  .menu-tab:hover{border-color:var(--purple-light);}
  .menu-tab.active{
    background:var(--purple-deep);
    border-color:var(--purple-deep);
    color:#fff;
  }
  .menu-subnote{
    text-align:center;
    color:#9a86a8;
    font-size:0.85rem;
    font-weight:600;
    margin-bottom:24px;
    font-style:italic;
  }
  .menu-panels{
    max-width:760px;
    margin:0 auto;
  }
  .menu-panel{display:none;}
  .menu-panel.active{display:block;animation:menuFadeIn 0.4s ease;}
  @keyframes menuFadeIn{
    from{opacity:0;transform:translateY(8px);}
    to{opacity:1;transform:translateY(0);}
  }
  .menu-sub-head{
    font-size:1.3rem;
    color:#fff;
    margin:30px 0 14px;
    padding-bottom:8px;
    border-bottom:2px solid rgba(255,248,232,0.14);
  }
  .menu-panel > .menu-sub-head:first-child{margin-top:0;}
  .menu-sub-note{
    font-size:0.78rem;
    font-weight:500;
    color:#9a86a8;
    font-family:'Inter',sans-serif;
  }
  .menu-item{
    padding:14px 0;
    border-bottom:1px solid rgba(255,248,232,0.08);
    transition:padding-left 0.25s ease, background 0.25s ease;
    border-radius:8px;
  }
  .menu-item:hover{
    padding-left:10px;
    background:rgba(255,248,232,0.03);
  }
  .menu-item:last-child{border-bottom:none;}
  .mi-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:14px;
  }
  .mi-name{
    font-family:'Baloo 2',sans-serif;
    font-weight:600;
    font-size:1.05rem;
    color:#fff;
  }
  .mi-price{
    font-family:'Baloo 2',sans-serif;
    font-weight:700;
    font-size:1.05rem;
    color:var(--gold);
    flex-shrink:0;
    white-space:nowrap;
  }
  .mi-desc{
    font-size:0.88rem;
    line-height:1.55;
    color:rgba(255,248,232,0.6);
    margin-top:4px;
  }
  .mi-desc em{
    color:rgba(255,248,232,0.45);
    font-style:italic;
  }
  .tag{
    display:inline-block;
    font-size:0.62rem;
    font-weight:700;
    letter-spacing:0.03em;
    padding:2px 7px;
    border-radius:100px;
    vertical-align:middle;
    margin-left:4px;
    transform:translateY(-1px);
  }
  .tag-v{background:rgba(120,200,120,0.18);color:#8fd98f;}
  .tag-vg{background:rgba(120,200,120,0.18);color:#8fd98f;}
  .tag-spicy{background:none;padding:0;font-size:0.8rem;}
  .menu-footnote{
    font-size:0.78rem;
    color:#9a86a8;
    font-style:italic;
    margin-top:6px;
    margin-bottom:6px;
  }
  .menu-grid-compact{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 24px;
  }
  .mc-item{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid rgba(255,248,232,0.08);
    font-size:0.9rem;
  }
  .mc-item span:first-child{color:rgba(255,248,232,0.82);}
  .mc-item span:first-child small{color:#9a86a8;font-size:0.78em;}
  .mc-item span:last-child{color:var(--gold);font-weight:700;flex-shrink:0;}
  .kids-meal-card{
    margin-top:24px;
    background:rgba(242,201,39,0.08);
    border:1px solid rgba(242,201,39,0.3);
    border-radius:16px;
    padding:20px 22px;
    text-align:center;
  }
  .kmc-label{
    display:block;
    font-family:'Baloo 2',sans-serif;
    font-size:1.2rem;
    color:#fff;
    margin-bottom:4px;
  }
  .kmc-price{
    display:block;
    font-family:'Baloo 2',sans-serif;
    font-size:1.8rem;
    color:var(--gold);
    margin-bottom:6px;
  }
  .kmc-desc{
    display:block;
    font-size:0.85rem;
    color:rgba(255,248,232,0.65);
  }

  .full-menu-foot{
    text-align:center;
    margin-top:42px;
  }

  @media (max-width:560px){
    .menu-grid-compact{grid-template-columns:1fr;}
  }

  /* ===== PARTIES ===== */
  .parties{
    background:var(--purple-deep);
    padding:90px clamp(20px,5vw,64px);
    position:relative;
    overflow:hidden;
  }
  .parties-head{
    max-width:700px;
    margin:0 auto 50px;
    text-align:center;
  }
  .parties-head h2{
    font-size:clamp(2.2rem,4.4vw,3.2rem);
    color:#fff;
    margin-top:14px;
  }
  .parties-head p{
    color:rgba(255,248,232,0.72);
    margin-top:16px;
    font-size:1.05rem;
  }
  .parties-grid{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:48px;
    align-items:center;
    margin-bottom:64px;
  }
  .parties-photo{
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 24px 50px rgba(0,0,0,0.35);
    transform:rotate(-2deg);
  }
  .package-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .package-card{
    background:rgba(255,248,232,0.06);
    border:1px solid rgba(255,248,232,0.18);
    border-radius:20px;
    padding:26px 22px;
    position:relative;
  }
  .package-card.featured{
    border-color:var(--gold);
    background:rgba(242,201,39,0.08);
  }
  .package-ribbon{
    position:absolute;
    top:-12px;
    left:22px;
    background:var(--gold);
    color:var(--ink);
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:5px 12px;
    border-radius:100px;
  }
  .package-price{
    font-family:'Baloo 2',sans-serif;
    font-size:2.1rem;
    color:var(--gold);
    margin:14px 0 4px;
    line-height:1;
  }
  .package-price span{
    font-size:0.95rem;
    color:rgba(255,248,232,0.6);
    font-weight:600;
    font-family:'Inter',sans-serif;
  }
  .package-card h3{
    font-size:1.15rem;
    color:#fff;
    margin-bottom:2px;
  }
  .package-card ul{
    list-style:none;
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .package-card li{
    font-size:0.88rem;
    color:rgba(255,248,232,0.78);
    display:flex;
    gap:8px;
    align-items:flex-start;
    line-height:1.4;
  }
  .package-card li::before{
    content:"✓";
    color:var(--gold);
    font-weight:700;
    flex-shrink:0;
  }
  .parties-note{
    grid-column:1 / -1;
    text-align:center;
    color:rgba(255,248,232,0.55);
    font-size:0.88rem;
    margin-top:6px;
  }

  .catalogue-teasers{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
  }
  .catalogue-card{
    background:rgba(255,248,232,0.05);
    border:1px solid rgba(255,248,232,0.14);
    border-radius:22px;
    padding:30px 28px;
  }
  .catalogue-card h3{
    color:var(--gold);
    font-size:1.3rem;
    margin-bottom:8px;
  }
  .catalogue-card > p{
    color:rgba(255,248,232,0.65);
    font-size:0.92rem;
    margin-bottom:18px;
  }
  .chip-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .chip{
    background:rgba(255,248,232,0.08);
    border:1px solid rgba(255,248,232,0.2);
    color:rgba(255,248,232,0.9);
    font-size:0.82rem;
    font-weight:600;
    padding:7px 14px;
    border-radius:100px;
  }

  /* catalogue accordions */
  .catalogue-accordion{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .cat-group{
    background:rgba(255,248,232,0.04);
    border:1px solid rgba(255,248,232,0.14);
    border-radius:14px;
    overflow:hidden;
  }
  .cat-group[open]{background:rgba(255,248,232,0.07);}
  .cat-summary{
    cursor:pointer;
    padding:15px 18px;
    font-weight:700;
    color:#fff;
    font-size:0.95rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    list-style:none;
  }
  .cat-summary::-webkit-details-marker{display:none;}
  .cat-summary-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .cat-count{font-size:0.74rem;color:rgba(255,248,232,0.45);font-weight:600;}
  .cat-icon{
    flex-shrink:0;
    width:26px;height:26px;
    border-radius:50%;
    background:rgba(242,201,39,0.16);
    color:var(--gold);
    font-size:1rem;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform 0.25s ease, background 0.25s ease;
  }
  .cat-group[open] .cat-icon{background:var(--gold);color:var(--ink);transform:rotate(45deg);}
  .cat-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:0 18px 18px;
  }
  .detail-card{
    background:rgba(255,248,232,0.05);
    border:1px solid rgba(255,248,232,0.1);
    border-radius:12px;
    padding:12px 14px;
  }
  .detail-card .dc-age{
    display:inline-block;
    background:rgba(242,201,39,0.15);
    color:var(--gold);
    font-size:0.66rem;
    font-weight:700;
    letter-spacing:0.02em;
    padding:2px 8px;
    border-radius:100px;
    margin-bottom:6px;
  }
  .detail-card .dc-title{
    display:block;
    font-weight:700;
    color:#fff;
    font-size:0.86rem;
    margin-bottom:4px;
  }
  .detail-card .dc-desc{
    font-size:0.78rem;
    line-height:1.45;
    color:rgba(255,248,232,0.6);
  }
  @media (max-width:560px){
    .cat-grid{grid-template-columns:1fr;}
    .cat-summary{padding:13px 15px;font-size:0.88rem;}
  }
  .catalogue-foot{
    text-align:center;
    margin-top:46px;
  }
  .catalogue-foot p{
    color:rgba(255,248,232,0.6);
    margin-bottom:18px;
    font-size:0.95rem;
  }

  @media (max-width:980px){
    .parties-grid{grid-template-columns:1fr;gap:30px;}
    .parties-photo{max-width:320px;margin:0 auto;}
    .catalogue-teasers{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .package-cards{grid-template-columns:1fr;}
    .full-menu{padding:64px 20px;}
    .full-menu-head h2{font-size:1.9rem;}
    .parties{padding:64px 20px;}
    .parties-head h2{font-size:1.9rem;}
    .catalogue-card{padding:24px 20px;}
  }
