
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --gold: #C9A84C;
    --gold-dim: rgba(201,168,76,0.4);
    --gold-faint: rgba(201,168,76,0.10);
    --black: #1a1712;
    --surface: #211e19;
    --surface2: #282420;
    --surface3: #2e2a25;
    --white: #f5f0e8;
    --text-muted: rgba(245,240,232,0.64);
    --text-dim: rgba(245,240,232,0.46);
    --border: rgba(201,168,76,0.14);
    --border-mid: rgba(201,168,76,0.28);
    --serif: "Cormorant Garamond", Georgia, serif;
    --sans: "Montserrat", sans-serif;
  }
  html { scroll-behavior: smooth; scroll-padding-top: 280px; }
  section[id] { scroll-margin-top: 142px; }
  body { background: var(--black); color: var(--white); font-family: var(--sans); font-weight: 300; -webkit-font-smoothing: antialiased; overflow-x: hidden; }


  /* LANGUAGE SWITCHER */
  .language-switcher { position: fixed; top: 10px; right: 56px; z-index: 130; display: flex; align-items: center; gap: 7px; font-family: var(--sans); background: rgba(26,23,18,0.72); backdrop-filter: blur(10px); padding: 6px 0; }
  .lang-btn { appearance: none; border: 0; background: transparent; color: rgba(245,240,232,0.48); font-family: var(--sans); font-size: 9px; letter-spacing: 2px; padding: 3px 0; cursor: pointer; line-height: 1; transition: color 0.2s; }
  .lang-btn.active, .lang-btn:hover { color: var(--gold); }
  .lang-sep { color: rgba(201,168,76,0.28); font-size: 9px; line-height: 1; }

  /* NAV */
  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 12px 56px; background: rgba(26,23,18,0.97); backdrop-filter: blur(14px); border-bottom: 0.5px solid var(--border); transition: padding 0.3s; }
  nav.scrolled { padding: 8px 56px; }
  .nav-logo { cursor: pointer; display: flex; align-items: center; }
  .nav-logo-img { height: 240px; width: auto; max-height: none; display: block; flex-shrink: 0; object-fit: contain; }
  .nav-links { display: flex; gap: 38px; list-style: none; align-items: center; }
  .nav-links a { font-size: 12px; letter-spacing: 3.4px; text-transform: uppercase; color: rgba(245,240,232,0.56); text-decoration: none; transition: color 0.2s; line-height: 1; padding: 12px 2px; display: inline-block; }
  .nav-links a:hover { color: var(--gold); }
  .nav-cta { font-size: 12px; letter-spacing: 3.4px; text-transform: uppercase; color: var(--gold); border: 0.5px solid var(--gold); background: transparent; padding: 14px 28px; cursor: pointer; font-family: var(--sans); transition: background 0.2s; line-height: 1; }
  .nav-cta:hover { background: var(--gold-faint); }
  .mobile-nav-cta { display: none; }
  .nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
  .nav-burger span { display: block; width: 22px; height: 0.5px; background: var(--gold); }

  /* HERO */
  .hero { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; padding-top: 280px; }
  .hero-left { display: flex; flex-direction: column; justify-content: center; padding: 80px 64px 80px 56px; }
  .eyebrow { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--gold); margin-bottom: 28px; display: flex; align-items: center; gap: 12px; }
  .eyebrow::before { content: ""; display: block; width: 24px; height: 0.5px; background: var(--gold); }
  .hero-headline { font-family: var(--serif); font-size: clamp(52px, 6vw, 76px); font-weight: 300; line-height: 1.05; color: var(--white); }
  .hero-headline em { font-style: italic; color: var(--gold); }
  .hero-divider { width: 48px; height: 0.5px; background: var(--gold); margin: 28px 0; }
  .hero-tagline { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--text-muted); line-height: 1.7; margin-bottom: 44px; max-width: 380px; }
  .hero-btns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 620px; }
  .btn-primary { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); border: 0.5px solid var(--gold); box-shadow: inset 0 0 0 0.5px rgba(201,168,76,0.22); background: transparent; padding: 14px 22px; cursor: pointer; font-family: var(--sans); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 46px; transition: background 0.2s; position: relative; overflow: visible; }
  .btn-primary:hover { background: var(--gold-faint); }
  .hero-right { position: relative; overflow: hidden; }
  .hero-right img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .hero-overlay-tag { position: absolute; bottom: 28px; left: 28px; z-index: 2; border: 0.5px solid var(--border-mid); padding: 11px 15px; max-width: 250px; background: rgba(26,23,18,0.75); backdrop-filter: blur(8px); }
  .hero-overlay-tag p { font-family: var(--serif); font-style: italic; font-size: 13px; line-height: 1.35; color: rgba(245,240,232,0.85); margin-bottom: 4px; }
  .hero-overlay-tag span { font-size: 7px; letter-spacing: 2.4px; text-transform: uppercase; color: var(--gold); }

  /* PILLARS */
  .pillars { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); background: var(--surface); }
  .pillar { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px 16px; border-right: 0.5px solid var(--border); }
  .pillar:last-child { border-right: none; }
  .pillar svg { width: 18px; height: 18px; stroke: var(--gold-dim); stroke-width: 1.2; fill: none; flex-shrink: 0; }
  .pillar span { font-size: 8px; letter-spacing: 3.5px; text-transform: uppercase; color: var(--text-dim); }



  /* HOMEPAGE VIDEO */
  .homepage-video-section { padding: 72px 56px 78px; border-bottom: 0.5px solid var(--border); background: radial-gradient(circle at 50% 0%, rgba(201,168,76,0.045), transparent 42%), var(--black); }
  .homepage-video-inner { width: min(100%, 1180px); margin: 0 auto; }
  .homepage-video-frame { width: 100%; margin: 0 auto; overflow: hidden; border: 0.5px solid rgba(201,168,76,0.28); border-radius: 6px; background: var(--surface); box-shadow: 0 32px 90px rgba(0,0,0,0.34), 0 0 0 1px rgba(255,255,255,0.025) inset; padding: 10px; }
  .homepage-video { width: 100%; height: auto; display: block; object-fit: contain; background: var(--black); border-radius: 3px; }

  .section-label { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: rgba(201,168,76,0.6); margin-bottom: 10px; }
  .section-title { font-family: var(--serif); font-size: clamp(32px, 4vw, 48px); font-weight: 300; color: var(--white); line-height: 1.15; }
  .section-title em { font-style: italic; color: var(--gold); }

  /* EXPERIENCES */
  .experiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: none; align-items: stretch; overflow: visible; }
  .experience-card { padding: 64px 44px; border: 0.5px solid var(--border); border-left: none; position: relative; overflow: visible; background: var(--black); display: flex; flex-direction: column; height: 100%; min-width: 0; }
  .experience-card:first-child { border-left: none; }
  .experience-card:last-child { border-right: 0.5px solid var(--border); }
  .exp-label-row { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; min-width: 0; }
  .exp-title-row { display: block; margin-bottom: 20px; }
  .exp-bg-num { position: static; width: 28px; height: 28px; min-width: 28px; display: inline-flex; align-items: center; justify-content: center; border: 0.5px solid var(--border-mid); background: rgba(201,168,76,0.06); font-family: var(--serif); font-size: 17px; font-weight: 300; color: var(--gold); line-height: 1; user-select: none; flex-shrink: 0; }
  .exp-label { font-size: 8px; letter-spacing: 5px; text-transform: uppercase; color: var(--gold); margin-bottom: 0; line-height: 1.4; min-width: 0; }
  .exp-title { font-family: var(--serif); font-size: clamp(30px, 3.6vw, 46px); font-weight: 300; color: var(--white); line-height: 1.1; margin-bottom: 0; }
  .exp-divider { width: 32px; height: 0.5px; background: var(--gold-dim); margin-bottom: 20px; }
  .exp-desc { font-family: var(--serif); font-style: italic; font-size: 17.5px; color: rgba(245,240,232,0.80); line-height: 1.68; margin-bottom: 18px; max-width: 36ch; min-height: 122px; letter-spacing: 0.01em; text-wrap: balance; }
  .exp-price { font-size: 10px; letter-spacing: 2.2px; text-transform: uppercase; color: var(--gold); border-top: 0.5px solid var(--border-mid); border-bottom: 0.5px solid var(--border-mid); padding: 10px 0; margin: 0 0 26px; line-height: 1.5; max-width: 36ch; }
  .exp-perfect { margin-bottom: 28px; min-height: 92px; }
  .exp-perfect-label { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.64); margin-bottom: 10px; }
  .exp-perfect-tags { display: flex; flex-wrap: wrap; gap: 8px; }
  .exp-tag { font-size: 9px; letter-spacing: 1px; color: rgba(245,240,232,0.68); border: 0.5px solid var(--border-mid); padding: 5px 12px; }
  .exp-details { display: flex; flex-direction: column; gap: 10px; margin-bottom: 30px; min-height: 86px; }
  .exp-detail { display: flex; align-items: center; gap: 14px; }
  .exp-detail svg { width: 14px; height: 14px; stroke: var(--gold-dim); stroke-width: 1.5; fill: none; flex-shrink: 0; }
  .exp-detail span { font-size: 11px; letter-spacing: 1.5px; color: rgba(245,240,232,0.58); text-transform: uppercase; }
  .exp-cta { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); background: transparent; border: none; cursor: pointer; font-family: var(--sans); display: flex; align-items: center; gap: 10px; padding: 0; text-decoration: none; transition: gap 0.2s; margin-top: auto; }
  .exp-cta:hover { gap: 16px; }
  .exp-cta svg { width: 14px; height: 14px; stroke: var(--gold); stroke-width: 1.5; fill: none; }
  .exp-img-strip { margin-top: 38px; height: 270px; overflow: hidden; border: 0.5px solid var(--border); }
  .exp-img-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
  .exp-img-strip:hover img { transform: scale(1.04); }

  /* HOW */
  .how { padding: 76px 56px; border-top: 0.5px solid var(--border); background: var(--surface); }
  .how-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; gap: 40px; flex-wrap: wrap; }
  .how-steps { display: grid; grid-template-columns: repeat(4, 1fr); }
  .how-step { padding-right: 40px; border-right: 0.5px solid var(--border); margin-right: 40px; }
  .how-step:last-child { border-right: none; padding-right: 0; margin-right: 0; }
  .step-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
  .step-num { font-family: var(--serif); font-size: 22px; font-weight: 300; color: var(--gold); line-height: 1; min-width: 34px; height: 34px; border: 0.5px solid var(--border-mid); display: inline-flex; align-items: center; justify-content: center; background: rgba(201,168,76,0.06); }
  .step-title { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 0; line-height: 1.45; }
  .step-desc { font-size: 13px; color: var(--text-muted); line-height: 1.9; }

  /* MENU */
  .menu-taster { padding: 76px 56px; border-top: 0.5px solid var(--border); background: var(--black); }
  .menu-taster-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; }
  .menu-left p { font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--text-muted); line-height: 1.8; margin-top: 20px; }
  .menu-includes { margin-top: 28px; padding: 20px 24px; border: 0.5px solid var(--border); background: var(--surface2); }
  .menu-includes-title { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.5); margin-bottom: 12px; }
  .menu-includes ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
  .menu-includes li { font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }
  .menu-includes li::before { content: ""; display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--gold-dim); flex-shrink: 0; }
  .menu-tabs { display: flex; gap: 0; margin-bottom: 40px; border-bottom: 0.5px solid var(--border); flex-wrap: wrap; }
  .menu-tab { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); background: transparent; border: none; padding: 12px 20px 12px 0; cursor: pointer; font-family: var(--sans); border-bottom: 1px solid transparent; margin-bottom: -0.5px; transition: color 0.2s; }
  .menu-tab.active { color: var(--gold); border-bottom-color: var(--gold); }
  .menu-panel { display: none; }
  .menu-panel.active { display: block; }
  .menu-courses { display: flex; flex-direction: column; }
  .menu-course { display: grid; grid-template-columns: 110px 1fr; gap: 24px; padding: 18px 0; border-bottom: 0.5px solid var(--border); align-items: start; }
  .menu-course:last-child { border-bottom: none; }
  .menu-course-label { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.5); padding-top: 3px; }
  .menu-course-dishes { display: flex; flex-direction: column; gap: 10px; }
  .menu-dish-name { font-family: var(--serif); font-size: 19px; font-weight: 300; color: var(--white); margin-bottom: 3px; }
  .menu-dish-desc { font-size: 12px; color: var(--text-muted); line-height: 1.7; }
  .menu-dish-or { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.4); margin: 4px 0; }
  .menu-note { margin-top: 28px; font-size: 11px; color: var(--text-dim); font-style: italic; }

  /* GALLERY */
  .gallery { padding: 76px 56px; border-top: 0.5px solid var(--border); background: var(--surface); }
  .gallery-header { margin-bottom: 40px; }
  .gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 260px 260px 260px; gap: 12px; }
  .gallery-cell { overflow: hidden; position: relative; }
  .gallery-cell img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; display: block; }
  .gallery-cell:hover img { transform: scale(1.05); }
  .gallery-cell.tall { grid-row: span 2; }
  .gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 20px; background: linear-gradient(transparent, rgba(26,23,18,0.85)); opacity: 0; transition: opacity 0.3s; }
  .gallery-cell:hover .gallery-caption { opacity: 1; }
  .gallery-caption span { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: rgba(245,240,232,0.7); }

  /* REVIEWS */
  .reviews { padding: 76px 56px; border-top: 0.5px solid var(--border); background: var(--black); }
  .reviews-header { margin-bottom: 44px; }
  .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .review-card { background: var(--surface2); border: 0.5px solid var(--border); padding: 36px 32px; }
  .review-stars { color: var(--gold); font-size: 13px; margin-bottom: 20px; letter-spacing: 3px; }
  .review-quote { font-family: var(--serif); font-style: italic; font-size: 18px; color: rgba(245,240,232,0.8); line-height: 1.65; margin-bottom: 24px; }
  .review-quote::before { content: "\201C"; font-size: 48px; color: rgba(201,168,76,0.2); font-family: var(--serif); line-height: 0; vertical-align: -20px; margin-right: 4px; }
  .review-author { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
  .review-occasion { font-size: 11px; color: var(--text-dim); }

  /* PHILOSOPHY */
  .philosophy { padding: 76px 56px; border-top: 0.5px solid var(--border); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; background: var(--surface); }
  .phil-quote { font-family: var(--serif); font-style: italic; font-size: clamp(22px, 3vw, 32px); color: rgba(245,240,232,0.72); line-height: 1.5; margin: 28px 0; padding-left: 24px; border-left: 0.5px solid var(--gold-dim); }
  .phil-body { font-size: 13px; color: var(--text-muted); line-height: 2; margin-bottom: 36px; }
  .phil-right { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .phil-card { background: var(--surface3); border: 0.5px solid var(--border); padding: 28px 24px; }
  .phil-card-icon { width: 36px; height: 36px; border: 0.5px solid var(--gold-dim); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
  .phil-card-icon svg { width: 16px; height: 16px; stroke: var(--gold); stroke-width: 1.2; fill: none; }
  .phil-card-title { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
  .phil-card-desc { font-size: 12px; color: var(--text-muted); line-height: 1.8; }

  /* MEET THE CHEF */
  .chef-section { padding: 76px 56px; border-top: 0.5px solid var(--border); display: grid; grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr); gap: 72px; align-items: center; background: var(--black); }
  .chef-image-wrap { overflow: hidden; border: 0.5px solid var(--border); background: var(--surface2); width: 100%; max-width: 430px; height: 520px; justify-self: center; align-self: center; }
  .chef-image { width: 100%; height: 100%; object-fit: cover; object-position: center 16%; display: block; }
  .chef-content .section-title { margin-bottom: 26px; }
  .chef-content p { font-size: 13px; color: var(--text-muted); line-height: 1.9; margin-bottom: 16px; max-width: 700px; }
  .chef-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 26px; }
  .chef-highlights span { border: 0.5px solid var(--border); background: var(--surface2); padding: 13px 16px; font-size: 8.5px; letter-spacing: 2.4px; text-transform: uppercase; color: rgba(245,240,232,0.82); line-height: 1.55; }

  /* OCCASIONS */
  .occasions { padding: 76px 56px; border-top: 0.5px solid var(--border); background: var(--black); }
  .occasions-header { margin-bottom: 44px; }
  .occasions-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .occasion-item { padding: 36px 40px 36px 0; border-right: 0.5px solid var(--border); margin-right: 40px; }
  .occasion-item:last-child { border-right: none; padding-right: 0; margin-right: 0; }
  .occasion-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold-dim); margin-bottom: 20px; }
  .occasion-name { font-family: var(--serif); font-size: 26px; font-weight: 300; color: var(--white); margin-bottom: 10px; }
  .occasion-desc { font-size: 12px; color: var(--text-muted); line-height: 1.9; }



  /* FAQ */
  .faq-section { padding: 70px 56px; border-top: 0.5px solid var(--border); background: var(--surface); }
  .faq-header { margin-bottom: 34px; max-width: 760px; }
  .faq-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
  .faq-item { border: 0.5px solid var(--border); background: var(--surface2); padding: 0; }
  .faq-item summary { list-style: none; cursor: pointer; position: relative; padding: 18px 50px 18px 22px; font-family: var(--serif); font-size: 19px; line-height: 1.34; color: var(--white); font-weight: 300; }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); color: var(--gold); font-family: var(--sans); font-size: 18px; font-weight: 300; }
  .faq-item[open] summary::after { content: "–"; }
  .faq-item p { padding: 0 22px 20px; color: var(--text-muted); font-size: 13px; line-height: 1.78; }
  .service-area-section { padding: 42px 56px; border-top: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); background: linear-gradient(135deg, rgba(201,168,76,0.075), rgba(42,37,31,0.92)); }
  .service-area-inner { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; }
  .service-area-note { margin-top: 0; padding: 18px 22px; border: 0.5px solid rgba(201,168,76,0.22); border-left-color: var(--gold-dim); color: rgba(245,240,232,0.86); font-family: var(--serif); font-style: italic; font-size: 16.5px; line-height: 1.65; background: rgba(26,23,18,0.25); }

  /* BOOK */
  .book-section { padding: 76px 56px; border-top: 0.5px solid var(--border); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; background: var(--surface); }
  .book-left .section-title { margin-bottom: 20px; }
  .book-left > p { font-family: var(--serif); font-style: italic; font-size: 17px; color: var(--text-muted); line-height: 1.8; margin-bottom: 36px; }
  .book-contact-lines { display: flex; flex-direction: column; gap: 16px; }
  .book-contact-line { display: flex; align-items: center; gap: 14px; }
  .book-contact-line svg { width: 15px; height: 15px; stroke: var(--gold-dim); stroke-width: 1.2; fill: none; flex-shrink: 0; }
  .book-contact-line a { font-size: 12px; color: var(--text-muted); text-decoration: none; letter-spacing: 1px; transition: color 0.2s; }
  .book-contact-line a:hover { color: var(--gold); }
  .book-form { display: flex; flex-direction: column; gap: 20px; }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .form-group { display: flex; flex-direction: column; gap: 8px; }
  .form-group label { font-size: 8px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.6); }
  .form-group input, .form-group select, .form-group textarea { background: var(--surface3); border: 0.5px solid var(--border); color: var(--white); font-family: var(--sans); font-size: 13px; font-weight: 300; padding: 13px 16px; outline: none; transition: border-color 0.2s; width: 100%; appearance: none; }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--gold-dim); }
  .form-group input::placeholder, .form-group textarea::placeholder { color: rgba(245,240,232,0.2); }
  .form-group select { color: rgba(245,240,232,0.5); cursor: pointer; }
  .form-group select option { background: #282420; color: var(--white); }
  .form-group textarea { resize: vertical; min-height: 100px; }
  .form-submit { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); border: 0.5px solid var(--gold); background: transparent; padding: 16px 32px; cursor: pointer; font-family: var(--sans); align-self: flex-start; transition: background 0.2s; }
  .form-submit:hover { background: var(--gold-faint); }

  /* FOOTER */
  footer { border-top: 0.5px solid var(--border); background: var(--surface); padding: 36px 56px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px 38px; }
  .footer-logo { display: flex; align-items: center; }
  .footer-logo-img { height: 56px; width: auto; display: block; }

  .footer-instagram { display: inline-flex; align-items: center; justify-self: end; gap: 9px; min-height: 44px; padding: 8px 10px; color: var(--text-dim); text-decoration: none; font-size: 8px; letter-spacing: 1.8px; text-transform: uppercase; transition: color 0.2s ease, background-color 0.2s ease; }
  .footer-instagram svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.4; }
  .footer-instagram:focus-visible { outline: 1px solid var(--gold); outline-offset: 4px; }
  .footer-instagram:hover { color: var(--gold); background: var(--gold-faint); }
  .footer-instagram:active { transform: translateY(1px); }
  .footer-copy { grid-column: 1 / -1; margin-top: 2px; font-size: 8px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); }

  /* MOBILE */
  @media (max-width: 768px) {
    /* final mobile overflow guard */
    html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
    img, video, svg { max-width: 100%; }
    html { scroll-padding-top: 142px; }
    section[id] { scroll-margin-top: 86px; }
    .language-switcher { top: 8px; right: 20px; gap: 6px; background: rgba(26,23,18,0.82); }
    .lang-btn { font-size: 8px; letter-spacing: 1.6px; }
    nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; padding: 24px 20px 8px; column-gap: 10px; } nav.scrolled { padding: 22px 20px 6px; } .nav-logo { justify-self: start; min-width: 0; } .nav-logo-img { height: 120px; width: auto; max-height: none; object-fit: contain; }
    .nav-links, .nav-cta { display: none; }
    .mobile-nav-cta { display: inline-flex; align-items: center; justify-content: center; justify-self: center; min-height: 36px; max-width: 100%; padding: 9px 10px; border: 0.5px solid var(--gold); background: rgba(201,168,76,0.07); color: var(--gold); font-family: var(--sans); font-size: 7.5px; letter-spacing: 0.95px; line-height: 1; text-transform: uppercase; cursor: pointer; white-space: nowrap; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
    .mobile-nav-cta:hover, .mobile-nav-cta:focus-visible { background: var(--gold-faint); border-color: rgba(201,168,76,0.75); outline: none; }
    .mobile-nav-cta:active { transform: translateY(1px); }
    .nav-burger { display: flex; justify-self: end; flex-shrink: 0; }
    @media (max-width: 380px) {
      nav { padding-left: 16px; padding-right: 16px; column-gap: 8px; }
      .nav-logo-img { height: 108px; }
      .mobile-nav-cta { min-height: 34px; padding: 8px 8px; font-size: 7px; letter-spacing: 0.7px; }
    }
    .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 142px; }
    .hero-left { padding: 54px 24px 44px; align-items: center; text-align: center; } .hero-right { min-height: 300px; }
    .eyebrow { letter-spacing: 3px; line-height: 1.75; max-width: 300px; justify-content: center; margin-left: auto; margin-right: auto; text-wrap: balance; }
    .eyebrow::before { display: none; }
    .hero-headline { font-size: clamp(42px, 13.4vw, 54px); line-height: 1.04; max-width: 9.2ch; margin-left: auto; margin-right: auto; text-wrap: balance; }
    .hero-divider { margin: 24px auto; }
    .hero-tagline { font-size: 16.5px; line-height: 1.68; max-width: 30ch; margin-left: auto; margin-right: auto; margin-bottom: 32px; text-wrap: balance; }
    .hero-btns { grid-template-columns: 1fr; width: min(100%, 330px); max-width: 330px; gap: 12px; overflow: visible; }
    .pillars { grid-template-columns: repeat(2,1fr); }
    .pillar:nth-child(2) { border-right: none; }
    .pillar:nth-child(3) { border-right: 0.5px solid var(--border); border-top: 0.5px solid var(--border); }
    .pillar:nth-child(4) { border-top: 0.5px solid var(--border); border-right: none; }
    .experiences { grid-template-columns: 1fr; }
    .experience-card { padding: 44px 24px; border: 0.5px solid var(--border); border-left: none; border-right: none; overflow: visible; min-height: auto; display: flex !important; }
    .exp-img-strip { height: 240px; margin-top: 30px; }
    .how { padding: 52px 24px; } .how-steps { grid-template-columns: 1fr; gap: 28px; }
    .how-step { padding: 0 0 26px; border-right: none; border-bottom: 0.5px solid var(--border); margin-right: 0; }
    .how-step:last-child { border-bottom: none; padding-bottom: 0; }
    .step-heading { margin-bottom: 10px; align-items: center; }
    .step-num { font-size: 18px; min-width: 30px; height: 30px; }
    .exp-label-row { gap: 10px; margin-bottom: 14px; }
    .exp-title-row { margin-bottom: 18px; }
    .exp-bg-num { width: 28px; height: 28px; min-width: 28px; font-size: 16px; }
    .exp-label { letter-spacing: 4px; }
    .experiences { overflow: visible; }
    .experience-card:first-child { border-top: 0.5px solid var(--border); }
    .step-title { font-size: 10px; line-height: 1.4; }
    .menu-taster { padding: 52px 24px; } .menu-taster-inner { grid-template-columns: 1fr; gap: 40px; }
    .menu-course { grid-template-columns: 90px 1fr; }
    .gallery { padding: 52px 24px; } .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4,200px); }
    .gallery-cell.tall { grid-row: span 1; }
    .reviews { padding: 52px 24px; } .reviews-grid { grid-template-columns: 1fr; gap: 16px; }
    .philosophy { grid-template-columns: 1fr; padding: 52px 24px; gap: 34px; } .phil-right { grid-template-columns: 1fr; }
    .chef-section { grid-template-columns: 1fr; padding: 52px 24px; gap: 28px; }
    .chef-image-wrap { width: min(100%, 340px); max-width: 340px; height: 430px; max-height: 430px; justify-self: center; }
    .chef-image { width: 100%; height: 100%; object-fit: cover; object-position: center 14%; }
    .chef-content p { font-size: 13px; line-height: 1.9; max-width: none; }
    .chef-highlights { grid-template-columns: 1fr; gap: 8px; margin-top: 26px; }
    .chef-highlights span { padding: 12px 14px; }
    .occasions { padding: 52px 24px; } .occasions-grid { grid-template-columns: 1fr; }
    .occasion-item { padding: 28px 0; border-right: none; margin-right: 0; border-bottom: 0.5px solid var(--border); }
    .occasion-item:last-child { border-bottom: none; }
    .book-section { grid-template-columns: 1fr; padding: 52px 24px; gap: 40px; } .form-row { grid-template-columns: 1fr; }
    .exp-desc { font-size: 17px; line-height: 1.64; max-width: 38ch; min-height: auto; color: rgba(245,240,232,0.82); text-wrap: balance; }
    .exp-perfect, .exp-details { min-height: auto; }
    .menu-tabs { gap: 8px; border-bottom: none; margin-bottom: 32px; }
    .menu-tab { border: 0.5px solid var(--border-mid); padding: 12px 14px; margin: 0; color: rgba(245,240,232,0.62); }
    .menu-tab.active { border-color: var(--gold); color: var(--gold); background: var(--gold-faint); }
    #menu-aperitivo { width: 100%; min-width: 0; }
    #menu-aperitivo > div { grid-template-columns: 1fr !important; gap: 32px !important; }

    .faq-section { padding: 50px 24px; }
    .faq-header { margin-bottom: 28px; }
    .faq-list { grid-template-columns: 1fr; gap: 10px; }
    .faq-item summary { padding: 17px 46px 17px 18px; font-size: 17px; }
    .faq-item summary::after { right: 20px; }
    .faq-item p { padding: 0 18px 18px; font-size: 13px; line-height: 1.75; }
    .service-area-section { padding: 34px 24px; }
    .service-area-inner { grid-template-columns: 1fr; gap: 12px; }
    .service-area-note { margin-top: 0; padding: 15px 16px; font-size: 15px; line-height: 1.62; }
    footer { padding: 30px 24px; grid-template-columns: 1fr; align-items: start; gap: 12px; }

    .footer-instagram { justify-self: start; margin-left: -10px; }
    .footer-copy { grid-column: 1; }
  }

  @media (max-width: 430px) {
    .hero-left, .experience-card, .how, .service-area-section, .menu-taster, .gallery, .reviews, .philosophy, .chef-section, .occasions, .faq-section, .book-section { padding-left: 20px; padding-right: 20px; }
    .hero-headline { font-size: clamp(42px, 14vw, 52px); }
    .eyebrow { font-size: 8px; letter-spacing: 2.8px; max-width: 280px; }
    .hero-overlay-tag { left: 18px; right: auto; bottom: 18px; padding: 9px 12px; max-width: min(210px, calc(100% - 36px)); }
    .hero-overlay-tag p { font-size: 12px; line-height: 1.3; }
    .hero-overlay-tag span { font-size: 6.5px; letter-spacing: 2px; }
    .pillars { grid-template-columns: 1fr; }
    .pillar, .pillar:nth-child(2), .pillar:nth-child(3), .pillar:nth-child(4) { border-right: none; border-top: 0.5px solid var(--border); }
    .pillar:first-child { border-top: none; }
    .menu-course { grid-template-columns: 1fr; gap: 10px; }
    .menu-course-label { padding-top: 0; }
    .gallery-grid { grid-template-columns: 1fr; grid-template-rows: none; }
    .gallery-cell { height: 220px; }
    .section-title { overflow-wrap: anywhere; }
  }

  @media (max-width: 380px) {
    .hero-left, .experience-card, .how, .service-area-section, .menu-taster, .gallery, .reviews, .philosophy, .chef-section, .occasions, .faq-section, .book-section { padding-left: 18px; padding-right: 18px; }
    .hero-headline { font-size: 40px; max-width: 9ch; }
    .hero-tagline { font-size: 15.8px; max-width: 29ch; }
    .btn-primary, .exp-cta, .menu-tab { letter-spacing: 2px; }
    .exp-title { font-size: 34px; }
    .exp-detail span { letter-spacing: 1.1px; }
    .chef-image-wrap { height: 400px; }
  }

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


/* Social-preview update + hero statement refinement */
.hero-left .hero-headline { margin-top: 0; }
.hero-line-nowrap { white-space: nowrap; }

@media (max-width: 768px) {
  .hero-left { padding-top: 46px; }
  .hero-headline {
    font-size: clamp(38px, 11.8vw, 50px);
    line-height: 1.06;
    max-width: 12ch;
    letter-spacing: 0.01em;
    text-wrap: balance;
  }
  .hero-divider { margin: 22px auto; }
}

@media (max-width: 430px) {
  .hero-headline {
    font-size: clamp(37px, 11.2vw, 46px);
    max-width: 12.5ch;
  }
}

@media (max-width: 380px) {
  .hero-headline {
    font-size: 39px;
    max-width: 12.5ch;
  }
}

/* Luxury Experience Planner overlay */
.planner-trigger { margin-top: 14px; width: fit-content; }
.planner-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(26, 23, 18, 0.98); color: var(--white); display: none; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.planner-overlay.open { display: block; }
body.planner-open { overflow: hidden; }
.planner-shell { min-height: 100vh; width: min(1180px, 100%); margin: 0 auto; padding: 72px 44px 56px; position: relative; }
.planner-close { position: fixed; top: 24px; right: 28px; z-index: 1002; width: 42px; height: 42px; border: 0.5px solid var(--gold-dim); background: rgba(26,23,18,0.7); color: var(--gold); font-size: 28px; line-height: 1; cursor: pointer; font-family: var(--serif); }
.planner-header { max-width: 760px; margin-bottom: 44px; }
.planner-title { font-family: var(--serif); font-size: clamp(42px, 6vw, 84px); line-height: 0.96; font-weight: 300; letter-spacing: -0.04em; margin: 12px 0 18px; color: var(--white); }
.planner-header p, .planner-helper, .planner-step > p, .planner-field p, .planner-success p { color: rgba(245,240,232,0.68); font-size: 16px; line-height: 1.8; font-weight: 300; max-width: 680px; }
.planner-form { display: flex; flex-direction: column; gap: 30px; }
.planner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.planner-step { border: 0.5px solid var(--border); background: rgba(255,255,255,0.018); padding: 24px; min-width: 0; }
.planner-step-wide { grid-column: 1 / -1; }
.planner-step legend { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(245,240,232,0.78); padding: 0 10px 0 0; line-height: 1.6; }
.planner-step legend span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 0.5px solid var(--gold-dim); color: var(--gold); margin-right: 10px; font-size: 12px; letter-spacing: 0; font-family: var(--serif); }
.planner-options { display: grid; gap: 10px; margin-top: 18px; }
.planner-options-three { grid-template-columns: repeat(3, 1fr); }
.planner-options-four { grid-template-columns: repeat(4, 1fr); }
.planner-options-five { grid-template-columns: repeat(5, 1fr); }
.planner-options label, .planner-level-group label, .planner-check { border: 0.5px solid var(--border); padding: 12px 13px; display: flex; align-items: center; gap: 9px; color: rgba(245,240,232,0.78); font-size: 12px; line-height: 1.4; cursor: pointer; min-height: 46px; }
.planner-options input, .planner-level-group input, .planner-check input { accent-color: var(--gold); }
.planner-options label:has(input:checked), .planner-level-group label:has(input:checked), .planner-check:has(input:checked) { border-color: var(--gold-dim); background: var(--gold-faint); color: var(--white); }
.planner-pricing { margin-top: 18px; padding-top: 16px; border-top: 0.5px solid var(--border); display: grid; gap: 7px; }
.planner-pricing p { margin: 0; font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; color: rgba(201,168,76,0.72); line-height: 1.6; }
.planner-field { margin-top: 18px; }
.planner-field label { display: flex; flex-direction: column; gap: 9px; font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(201,168,76,0.66); }
.planner-field input, .planner-field select, .planner-field textarea { background: var(--surface3); border: 0.5px solid var(--border); color: var(--white); font-family: var(--sans); font-size: 13px; font-weight: 300; padding: 14px 16px; outline: none; width: 100%; }
.planner-field textarea { min-height: 120px; resize: vertical; }
.planner-field select option { background: #282420; color: var(--white); }
.planner-row { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: end; }
.planner-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.planner-level-group { border: 0.5px solid var(--border); padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.planner-level-group h3 { margin: 0 0 6px; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); font-weight: 400; }
.planner-contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.planner-submit { align-self: flex-start; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); border: 0.5px solid var(--gold); background: transparent; padding: 16px 32px; cursor: pointer; font-family: var(--sans); transition: background 0.2s; }
.planner-submit:hover { background: var(--gold-faint); }
.planner-success { border: 0.5px solid var(--border); padding: 44px; max-width: 760px; background: rgba(255,255,255,0.018); }
.planner-success h2 { font-family: var(--serif); font-size: clamp(34px, 5vw, 64px); line-height: 1; font-weight: 300; letter-spacing: -0.035em; margin: 0 0 22px; }
.planner-success-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.planner-level-group.is-muted { display: none; }
@media (max-width: 900px) {
  .planner-shell { padding: 64px 24px 44px; }
  .planner-grid, .planner-contact-grid { grid-template-columns: 1fr; }
  .planner-options-three, .planner-options-four, .planner-options-five, .planner-levels { grid-template-columns: 1fr; }
  .planner-row { grid-template-columns: 1fr; }
  .planner-step { padding: 22px 18px; }
  .planner-close { top: 18px; right: 18px; }
}
@media (max-width: 430px) {
  .planner-shell { padding: 58px 18px 38px; }
  .planner-title { font-size: 42px; }
  .planner-header p, .planner-helper, .planner-step > p, .planner-field p, .planner-success p { font-size: 14px; line-height: 1.7; }
  .planner-step legend { letter-spacing: 2px; }
  .planner-pricing p { letter-spacing: 1.4px; }
  .planner-success { padding: 28px 20px; }
}

/* Experience Planner step-by-step correction */
.planner-overlay { overflow-y: auto; }
.planner-shell { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.planner-form { max-width: 860px; width: 100%; }
.planner-grid { display: block; }
.planner-step { display: none; border: 0.5px solid var(--border); background: rgba(255,255,255,0.018); padding: clamp(26px, 4vw, 46px); min-width: 0; }
.planner-step.active { display: block; animation: plannerFade 0.22s ease both; }
@keyframes plannerFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.planner-step h3 { font-family: var(--serif); font-size: clamp(28px, 4vw, 52px); line-height: 1.05; font-weight: 300; letter-spacing: -0.035em; color: var(--white); margin: 0 0 24px; }
.planner-options-two { grid-template-columns: repeat(2, 1fr); }
.planner-options label, .planner-level-group label, .planner-check { position: relative; }
.planner-progress { max-width: 860px; width: 100%; margin: -10px 0 22px; display: grid; gap: 10px; }
.planner-progress-text { font-size: 9px; letter-spacing: 2.8px; text-transform: uppercase; color: rgba(201,168,76,0.72); }
.planner-progress-track { height: 1px; background: rgba(201,168,76,0.18); overflow: hidden; }
.planner-progress-bar { display: block; height: 100%; width: 11.111%; background: var(--gold); transition: width 0.25s ease; }
.planner-actions { display: flex; gap: 12px; margin-top: 24px; align-items: center; }
.planner-nav, .planner-submit { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); border: 0.5px solid var(--gold); background: transparent; padding: 16px 32px; cursor: pointer; font-family: var(--sans); transition: background 0.2s, opacity 0.2s; }
.planner-nav:hover, .planner-submit:hover { background: var(--gold-faint); }
.planner-nav[disabled] { opacity: 0.35; cursor: default; }
.planner-nav[disabled]:hover { background: transparent; }
.planner-back { border-color: rgba(201,168,76,0.34); color: rgba(245,240,232,0.78); }
.planner-pricing:empty { display: none; }
.planner-pricing { display: block; margin-top: 18px; padding-top: 16px; border-top: 0.5px solid var(--border); }
.planner-pricing p { margin: 0; font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; color: rgba(201,168,76,0.72); line-height: 1.6; }
.planner-levels { grid-template-columns: 1fr; }
.planner-level-group { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; border: 0; padding: 0; }
.planner-level-group.active { display: grid; }
.planner-level-group label { margin: 0; }
.planner-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.planner-success { margin-top: 22px; }
body.planner-open { overflow: hidden; }
@media (max-width: 720px) {
  .planner-shell { justify-content: flex-start; padding: 72px 18px 34px; }
  .planner-header { margin-bottom: 28px; }
  .planner-title { font-size: 42px; }
  .planner-step { padding: 24px 18px; }
  .planner-step h3 { font-size: 30px; }
  .planner-options-three, .planner-options-four, .planner-options-five, .planner-options-two, .planner-level-group, .planner-contact-grid { grid-template-columns: 1fr; }
  .planner-actions { position: sticky; bottom: 0; padding: 14px 0 0; background: linear-gradient(180deg, rgba(26,23,18,0), rgba(26,23,18,0.98) 28%); }
  .planner-nav, .planner-submit { flex: 1; padding: 15px 16px; }
  .planner-close { top: 16px; right: 16px; }
}

/* Planner refinement: one-question luxury flow */
.planner-overlay.open { display: block; }
.planner-shell { min-height: 100vh; }
.planner-form[hidden], .planner-success[hidden], .planner-date-field[hidden], .planner-other-field[hidden] { display: none !important; }
.planner-options label input:checked + span,
.planner-level-card input:checked + span,
.planner-checkbox-options label input:checked + span {
  border-color: var(--gold);
  background: rgba(201,168,76,0.12);
  color: var(--white);
  box-shadow: 0 0 0 1px rgba(201,168,76,0.18), 0 18px 46px rgba(0,0,0,0.18);
}
.planner-options label span,
.planner-level-card span {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.planner-level-card span {
  flex-direction: column;
  gap: 8px;
  min-height: 112px;
}
.planner-level-card strong {
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.02em;
  color: inherit;
}
.planner-level-card em,
.planner-level-price {
  font-style: normal;
  font-size: 9px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: rgba(201,168,76,0.76);
  text-align: center;
  line-height: 1.5;
}
.planner-investment {
  margin-top: 18px;
  padding: 16px 18px;
  border: 0.5px solid rgba(201,168,76,0.26);
  background: rgba(201,168,76,0.055);
}
.planner-investment:empty { display: none; }
.planner-investment p {
  margin: 0;
  color: var(--gold);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.planner-note { margin-top: 14px; font-size: 13px !important; max-width: 760px !important; }
.planner-actions { z-index: 2; }
.planner-success-actions { gap: 12px; }
@media (max-width: 560px) {
  .planner-shell { padding-left: 16px; padding-right: 16px; }
  .planner-options label span, .planner-level-card span { min-height: 54px; padding: 15px 14px; }
  .planner-level-card span { min-height: 102px; }
  .planner-level-card strong { font-size: 23px; }
  .planner-investment { padding: 14px; }
  .planner-success-actions .planner-submit { width: 100%; }
}


/* Planner refinement: nav-trigger, tier cards, and luxury interaction polish */
.planner-levels.planner-options-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}
.planner-level-card {
  min-width: 0;
}
.planner-level-card span {
  min-height: 132px;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 9px;
  padding: 20px 18px;
  background: rgba(255,255,255,0.014);
  transition: border-color 0.24s ease, background 0.24s ease, transform 0.24s ease, box-shadow 0.24s ease;
}
.planner-level-card:hover span,
.planner-options label:hover span,
.planner-checkbox-options label:hover span {
  border-color: rgba(201,168,76,0.62);
  background: rgba(201,168,76,0.075);
  transform: translateY(-2px);
}
.planner-level-card input:focus-visible + span,
.planner-options label input:focus-visible + span,
.planner-checkbox-options label input:focus-visible + span {
  outline: 1px solid rgba(201,168,76,0.72);
  outline-offset: 3px;
}
.planner-level-card input:checked + span,
.planner-options label input:checked + span,
.planner-checkbox-options label input:checked + span {
  border-color: rgba(201,168,76,0.82);
  background: linear-gradient(180deg, rgba(201,168,76,0.13), rgba(201,168,76,0.045));
  box-shadow: 0 18px 44px rgba(0,0,0,0.18);
}
.planner-level-card small,
.planner-level-estimate {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: 1.15px;
  text-transform: uppercase;
  color: rgba(245,240,232,0.64);
  font-style: normal;
}
.planner-pricing p span {
  color: rgba(245,240,232,0.62);
  letter-spacing: 1.15px;
}
.planner-options label span {
  transition: border-color 0.22s ease, background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.planner-nav, .planner-submit, .nav-cta, .exp-cta {
  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
}
.planner-nav:hover, .planner-submit:hover, .nav-cta:hover, .exp-cta:hover {
  transform: translateY(-1px);
}
@media (max-width: 760px) {
  .planner-levels.planner-options-three {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .planner-level-card span {
    min-height: 104px;
  }
}
@media (min-width: 390px) and (max-width: 760px) {
  .planner-levels.planner-options-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .planner-level-card span {
    min-height: 128px;
    padding: 15px 10px;
  }
  .planner-level-card strong {
    font-size: 20px;
  }
  .planner-level-card em, .planner-level-price, .planner-level-card small {
    font-size: 9px;
    letter-spacing: 0.8px;
  }
}

/* Planner CTA/pricing refinement */
.planner-options label input,
.planner-level-card input,
.planner-checkbox-options label input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.planner-options label,
.planner-level-card,
.planner-checkbox-options label {
  border: 0;
  padding: 0;
  background: transparent;
}
.planner-options label span,
.planner-level-card span,
.planner-checkbox-options label span {
  width: 100%;
  border: 0.5px solid rgba(201,168,76,0.26);
  background: rgba(255,255,255,0.018);
  cursor: pointer;
  border-radius: 0;
  will-change: transform, border-color, background, box-shadow;
}
.planner-options label:has(input:checked),
.planner-level-card:has(input:checked),
.planner-checkbox-options label:has(input:checked) {
  border: 0;
  background: transparent;
}
.planner-options label:active span,
.planner-level-card:active span,
.planner-checkbox-options label:active span {
  transform: translateY(0) scale(0.985);
}
.planner-level-estimate,
.planner-pricing,
.planner-investment {
  display: none !important;
}
.planner-levels.planner-options-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.planner-level-card span {
  min-height: 118px;
  padding: 18px 16px;
}
.planner-level-card em,
.planner-level-price {
  text-transform: none;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.45;
  color: rgba(201,168,76,0.86);
}
@media (max-width: 380px) {
  .planner-levels.planner-options-three {
    grid-template-columns: 1fr;
  }
  .planner-level-card span {
    min-height: 88px;
  }
}


/* Planner tier descriptions + restored hero box navigation refinement */
.planner-level-desc {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.02em;
  text-transform: none;
  color: rgba(245,240,232,0.66);
}
.planner-level-card span { min-height: 168px; }
@media (max-width: 760px) {
  .planner-level-card span { min-height: auto; }
  .planner-level-desc { font-size: 11px; line-height: 1.5; }
}
@media (min-width: 390px) and (max-width: 760px) {
  .planner-levels.planner-options-three { grid-template-columns: 1fr; }
  .planner-level-card span { min-height: auto; padding: 16px 14px; }
}

/* Surgical planner mobile optimization: stacked, safe, readable option flow */
@supports (height: 100dvh) {
  .planner-overlay { min-height: 100dvh; }
  .planner-shell { min-height: 100dvh; }
}
.planner-overlay { overflow-x: hidden; }
.planner-shell, .planner-form, .planner-step, .planner-options, .planner-levels { max-width: 100%; }
@media (max-width: 760px) {
  .planner-overlay {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .planner-shell {
    width: 100%;
    max-width: 100vw;
    min-height: 100vh;
    min-height: 100svh;
    justify-content: flex-start;
    padding: max(64px, env(safe-area-inset-top) + 52px) 16px max(26px, env(safe-area-inset-bottom) + 18px);
    overflow-x: hidden;
  }
  .planner-close {
    top: max(14px, env(safe-area-inset-top) + 10px);
    right: 14px;
    width: 40px;
    height: 40px;
  }
  .planner-header {
    margin-bottom: 22px;
    padding-right: 46px;
  }
  .planner-title {
    font-size: clamp(34px, 10vw, 42px);
    line-height: 0.98;
    margin-bottom: 12px;
  }
  .planner-header p,
  .planner-helper,
  .planner-step > p,
  .planner-field p,
  .planner-success p {
    font-size: 14px;
    line-height: 1.65;
  }
  .planner-progress {
    margin: 0 0 18px;
    gap: 9px;
  }
  .planner-step {
    padding: 22px 16px;
    width: 100%;
    overflow-x: hidden;
  }
  .planner-step h3 {
    font-size: clamp(27px, 8vw, 34px);
    line-height: 1.08;
    margin-bottom: 18px;
  }
  .planner-options,
  .planner-options-two,
  .planner-options-three,
  .planner-options-four,
  .planner-options-five,
  .planner-levels,
  .planner-levels.planner-options-three,
  .planner-checkbox-options,
  .planner-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 11px;
    width: 100%;
  }
  .planner-options label,
  .planner-level-card,
  .planner-checkbox-options label {
    width: 100%;
    min-width: 0;
  }
  .planner-options label span,
  .planner-level-card span,
  .planner-checkbox-options label span {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 15px 14px;
    text-align: center;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .planner-level-card span {
    min-height: auto !important;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 7px;
    padding: 17px 15px;
  }
  .planner-level-card strong {
    font-size: 23px;
  }
  .planner-level-card em,
  .planner-level-price {
    font-size: 12px;
    line-height: 1.45;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .planner-level-desc {
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }
  .planner-field {
    margin-top: 16px;
  }
  .planner-field input,
  .planner-field select,
  .planner-field textarea {
    min-height: 48px;
    font-size: 16px;
    max-width: 100%;
  }
  .planner-field textarea {
    min-height: 132px;
  }
  .planner-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 20px;
    padding: 16px 0 max(4px, env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(26,23,18,0), rgba(26,23,18,0.98) 34%);
  }
  .planner-nav,
  .planner-submit {
    width: 100%;
    min-height: 48px;
    padding: 14px 12px;
    letter-spacing: 2.2px;
  }
  .planner-success {
    padding: 28px 18px;
    width: 100%;
  }
  .planner-success-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .planner-success-actions .planner-submit {
    width: 100%;
  }
}
@media (max-width: 380px) {
  .planner-shell { padding-left: 14px; padding-right: 14px; }
  .planner-step { padding: 20px 14px; }
  .planner-options label span,
  .planner-level-card span,
  .planner-checkbox-options label span { padding-left: 12px; padding-right: 12px; }
  .planner-nav,
  .planner-submit { font-size: 8.5px; letter-spacing: 1.8px; }
}


/* Surgical mobile header/date/border repair */
@media (max-width: 768px) {
  nav { grid-template-columns: minmax(82px, auto) minmax(0, 1fr) auto; }
  .mobile-nav-cta {
    display: inline-flex;
    justify-self: center;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 8px;
    font-size: 7.4px;
    letter-spacing: 0.72px;
    white-space: nowrap;
    overflow: visible;
  }
}
@media (min-width: 390px) and (max-width: 768px) {
  .mobile-nav-cta { font-size: 7.9px; letter-spacing: 0.8px; padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 370px) {
  .mobile-nav-cta { font-size: 6.9px; letter-spacing: 0.55px; padding-left: 6px; padding-right: 6px; }
}

.planner-field.planner-date-field:not([hidden]) {
  display: block;
  margin-top: 18px;
}
.planner-field.planner-date-field input[type="date"] {
  cursor: pointer;
  color-scheme: dark;
}
.planner-field.planner-date-field input[type="date"]:focus {
  border-color: rgba(201,168,76,0.62);
  box-shadow: inset 0 0 0 0.5px rgba(201,168,76,0.62);
}

.planner-nav,
.planner-submit {
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  clip-path: none;
  -webkit-clip-path: none;
  box-shadow: inset 0 0 0 0.5px currentColor;
}
.planner-back { box-shadow: inset 0 0 0 0.5px rgba(245,240,232,0.58); }
.planner-actions,
.planner-success-actions {
  overflow: visible;
}
@media (max-width: 760px) {
  .planner-actions {
    padding-left: 1px;
    padding-right: 1px;
  }
  .planner-nav,
  .planner-submit {
    min-width: 0;
  }
}

/* Surgical date picker + planner border resilience patch */
.planner-field.planner-date-field:not([hidden]) input[type="date"] {
  display: block;
  width: 100%;
  min-height: 52px;
  border-left: 0.5px solid var(--border);
  border-right: 0.5px solid var(--border);
  border-top: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  box-sizing: border-box;
}
.planner-actions .planner-nav,
.planner-actions .planner-submit,
.planner-success-actions .planner-submit,
.planner-submit {
  border-left: 0.5px solid currentColor !important;
  border-right: 0.5px solid currentColor !important;
  border-top: 0.5px solid currentColor !important;
  border-bottom: 0.5px solid currentColor !important;
  box-sizing: border-box;
  overflow: visible;
}
.planner-actions .planner-back {
  border-left-color: rgba(245,240,232,0.58) !important;
  border-right-color: rgba(245,240,232,0.58) !important;
  border-top-color: rgba(245,240,232,0.58) !important;
  border-bottom-color: rgba(245,240,232,0.58) !important;
}
@media (max-width: 768px) {
  .mobile-nav-cta { text-align: center; }
}

/* Surgical planner custom date selector repair */
.planner-date-hidden-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.planner-field.planner-date-field:not([hidden]) {
  display: block;
  margin-top: 18px;
  overflow: visible;
}
.planner-calendar {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  border: 0.5px solid var(--border);
  background: rgba(16, 14, 11, 0.74);
  box-sizing: border-box;
  padding: 16px;
  overflow: visible;
}
.planner-calendar-header {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.planner-calendar-title {
  text-align: center;
  font-family: var(--serif);
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  color: var(--cream);
  text-transform: capitalize;
}
.planner-calendar-nav,
.planner-calendar-day {
  appearance: none;
  -webkit-appearance: none;
  border: 0.5px solid rgba(245,240,232,0.22);
  background: rgba(255,255,255,0.025);
  color: var(--cream);
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease, color .18s ease;
}
.planner-calendar-nav {
  width: 42px;
  height: 38px;
  font-size: 1.45rem;
  line-height: 1;
}
.planner-calendar-nav:hover,
.planner-calendar-day:hover,
.planner-calendar-nav:focus-visible,
.planner-calendar-day:focus-visible {
  border-color: rgba(201,168,76,0.72);
  background: rgba(201,168,76,0.1);
  outline: none;
}
.planner-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.planner-calendar-weekday {
  text-align: center;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(245,240,232,0.52);
  padding: 3px 0 7px;
}
.planner-calendar-empty {
  min-height: 38px;
}
.planner-calendar-day {
  min-width: 0;
  min-height: 38px;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.planner-calendar-day.selected {
  border-color: rgba(201,168,76,0.88);
  background: rgba(201,168,76,0.16);
  color: var(--gold);
  box-shadow: inset 0 0 0 0.5px rgba(201,168,76,0.45);
}
@media (max-width: 430px) {
  .planner-calendar {
    padding: 12px;
    max-width: 100%;
  }
  .planner-calendar-header {
    grid-template-columns: 38px 1fr 38px;
    gap: 8px;
  }
  .planner-calendar-title {
    font-size: 0.98rem;
  }
  .planner-calendar-nav {
    width: 38px;
    height: 36px;
  }
  .planner-calendar-grid {
    gap: 5px;
  }
  .planner-calendar-day,
  .planner-calendar-empty {
    min-height: 36px;
  }
}

.planner-calendar-nav:disabled,
.planner-calendar-day:disabled,
.planner-calendar-day.disabled {
  cursor: not-allowed;
  opacity: 0.32;
  color: rgba(245,240,232,0.34);
  border-color: rgba(245,240,232,0.1);
  background: rgba(255,255,255,0.01);
  transform: none;
}
.planner-calendar-nav:disabled:hover,
.planner-calendar-day:disabled:hover,
.planner-calendar-day.disabled:hover {
  border-color: rgba(245,240,232,0.1);
  background: rgba(255,255,255,0.01);
  color: rgba(245,240,232,0.34);
}


  @media (max-width: 768px) {
    .homepage-video-section { padding: 50px 24px 56px; }
    .homepage-video-frame { width: 100%; padding: 7px; box-shadow: 0 22px 58px rgba(0,0,0,0.30), 0 0 0 1px rgba(255,255,255,0.02) inset; }
  }

  @media (max-width: 430px) {
    .homepage-video-section { padding: 42px 18px 48px; }
    .homepage-video-frame { padding: 6px; border-radius: 5px; }
  }


/* Copy optimization: multilingual navigation spacing safeguards */
@media (min-width: 769px) {
  .nav-links { gap: clamp(14px, 2vw, 34px); flex: 1 1 auto; justify-content: center; min-width: 0; }
  .nav-links a { font-size: 10.5px; letter-spacing: clamp(1.8px, 0.22vw, 3px); white-space: nowrap; }
  .nav-cta { font-size: 10.5px; letter-spacing: clamp(1.8px, 0.2vw, 3px); padding: 13px 20px; white-space: nowrap; flex-shrink: 0; }
}
@media (min-width: 769px) and (max-width: 1120px) {
  nav { padding-left: 32px; padding-right: 32px; }
  nav.scrolled { padding-left: 32px; padding-right: 32px; }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 9.4px; letter-spacing: 1.6px; }
  .nav-cta { font-size: 9.4px; letter-spacing: 1.5px; padding: 12px 14px; }
}
@media (max-width: 768px) {
  .nav-links.active a { white-space: normal; overflow-wrap: anywhere; text-align: center; }
}

/* Luxury micro-interactions: subtle, lightweight polish */
html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity 780ms cubic-bezier(.22,.61,.36,1), transform 780ms cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal[data-reveal-delay="1"] { transition-delay: 80ms; }
html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal[data-reveal-delay="2"] { transition-delay: 140ms; }
html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal[data-reveal-delay="3"] { transition-delay: 200ms; }

@media (hover: hover) and (pointer: fine) {
  .experience-card,
  .review-card,
  .phil-card,
  .homepage-video-frame,
  .gallery-cell {
    transition: transform 360ms cubic-bezier(.22,.61,.36,1), box-shadow 360ms cubic-bezier(.22,.61,.36,1), border-color 360ms cubic-bezier(.22,.61,.36,1);
  }
  .experience-card:hover {
    transform: translate3d(0, -6px, 0);
    box-shadow: 0 28px 70px rgba(0,0,0,0.24);
    border-color: rgba(201,168,76,0.28);
    z-index: 2;
  }
  .experience-card:hover .exp-img-strip img {
    transform: scale(1.035);
  }
  .exp-img-strip {
    overflow: hidden;
  }
  .exp-img-strip img,
  .chef-image img,
  .hero-photo img,
  .gallery-cell img {
    transition: transform 900ms cubic-bezier(.22,.61,.36,1), filter 900ms cubic-bezier(.22,.61,.36,1);
    will-change: transform;
  }
  .chef-image:hover img,
  .hero-photo:hover img {
    transform: scale(1.018);
  }
  .homepage-video-frame:hover {
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 36px 96px rgba(0,0,0,0.38), 0 0 0 1px rgba(201,168,76,0.08) inset;
    border-color: rgba(201,168,76,0.36);
  }
  .btn-primary,
  .exp-cta,
  .nav-cta,
  .menu-tab,
  .form button,
  .planner-next,
  .planner-back,
  .planner-submit,
  .planner-success-btn {
    transition: transform 220ms cubic-bezier(.22,.61,.36,1), background 220ms ease, border-color 220ms ease, color 220ms ease, box-shadow 220ms ease, opacity 220ms ease;
  }
  .btn-primary:hover,
  .exp-cta:hover,
  .nav-cta:hover,
  .form button:hover,
  .planner-next:hover,
  .planner-submit:hover,
  .planner-success-btn:hover {
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 14px 34px rgba(0,0,0,0.18);
  }
  .btn-primary:active,
  .exp-cta:active,
  .nav-cta:active,
  .form button:active,
  .planner-next:active,
  .planner-submit:active,
  .planner-success-btn:active {
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 768px) {
  html:not(.zagara-reduced-motion) .zagara-reveal-ready .zagara-reveal {
    transform: translate3d(0, 12px, 0);
    transition-duration: 560ms;
  }
  .experience-card,
  .homepage-video-frame,
  .gallery-cell img,
  .exp-img-strip img {
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zagara-reveal,
  .experience-card,
  .review-card,
  .phil-card,
  .homepage-video-frame,
  .gallery-cell,
  .gallery-cell img,
  .exp-img-strip img,
  .chef-image img,
  .hero-photo img,
  .btn-primary,
  .exp-cta,
  .nav-cta,
  .menu-tab,
  .form button,
  .planner-next,
  .planner-back,
  .planner-submit,
  .planner-success-btn {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Premium visual experience refinement: horizontal editorial gallery + restrained card polish */
.gallery {
  padding-top: clamp(72px, 8vw, 112px);
  padding-bottom: clamp(76px, 8vw, 116px);
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 0%, rgba(201,168,76,0.055), transparent 34%),
    var(--surface);
}
.gallery-header {
  max-width: 760px;
  margin-bottom: 34px;
}
.gallery-grid {
  display: flex;
  grid-template-columns: none;
  grid-template-rows: none;
  gap: clamp(16px, 2vw, 24px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 2px;
  -webkit-overflow-scrolling: touch;
  padding: 4px 0 18px;
  cursor: grab;
}
.gallery-grid:active { cursor: grabbing; }
.gallery-grid:focus-visible {
  outline: 1px solid rgba(201,168,76,0.45);
  outline-offset: 8px;
}
.gallery-grid::-webkit-scrollbar { height: 6px; }
.gallery-grid::-webkit-scrollbar-track { background: rgba(245,240,232,0.055); }
.gallery-grid::-webkit-scrollbar-thumb { background: rgba(201,168,76,0.34); border-radius: 999px; }
.gallery-cell,
.gallery-cell.tall {
  flex: 0 0 min(72vw, 760px);
  height: clamp(420px, 52vw, 620px);
  grid-row: auto;
  scroll-snap-align: start;
  border: 0.5px solid rgba(201,168,76,0.24);
  border-radius: 8px;
  background: var(--black);
  box-shadow: 0 26px 70px rgba(0,0,0,0.24);
}
.gallery-cell:nth-child(n+2) {
  flex-basis: min(54vw, 560px);
}
.gallery-cell img {
  border-radius: 7px;
  filter: saturate(0.96) contrast(1.03);
}
.gallery-caption {
  opacity: 1;
  padding: 56px 26px 22px;
  background: linear-gradient(180deg, transparent 0%, rgba(26,23,18,0.18) 35%, rgba(26,23,18,0.88) 100%);
}
.gallery-caption span {
  color: rgba(245,240,232,0.84);
  letter-spacing: 3.4px;
}
@media (hover: hover) and (pointer: fine) {
  .gallery-cell:hover {
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 34px 88px rgba(0,0,0,0.30);
    border-color: rgba(201,168,76,0.38);
  }
  .gallery-cell:hover img { transform: scale(1.035); }
}
.experience-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.018), transparent 36%),
    var(--black);
}
.exp-img-strip {
  border-radius: 6px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.20);
}
.exp-img-strip img { border-radius: 5px; }
.chef-content p {
  max-width: 62ch;
}
@media (min-width: 769px) {
  .experiences { border-top: 0.5px solid rgba(201,168,76,0.10); }
  .experience-card { padding-top: 70px; padding-bottom: 70px; }
}
@media (max-width: 768px) {
  .gallery {
    padding-top: 62px;
    padding-bottom: 68px;
  }
  .gallery-header { margin-bottom: 26px; }
  .gallery-grid {
    gap: 16px;
    padding-bottom: 14px;
    scroll-padding-left: 0;
  }
  .gallery-cell,
  .gallery-cell.tall,
  .gallery-cell:nth-child(n+2) {
    flex-basis: 86vw;
    height: min(118vw, 520px);
    min-height: 360px;
  }
  .gallery-caption { padding: 48px 18px 18px; }
  .gallery-caption span { font-size: 8px; letter-spacing: 2.6px; }
  .experience-card { padding-top: 50px; padding-bottom: 50px; }
  .chef-content p { max-width: 100%; }
}
@media (max-width: 430px) {
  .gallery-cell,
  .gallery-cell.tall,
  .gallery-cell:nth-child(n+2) {
    flex-basis: 88vw;
    min-height: 330px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-grid { scroll-behavior: auto; }
}


/* Gallery navigation refinement: visible luxury arrows + edge hints */
.gallery-slider-shell {
  position: relative;
  isolation: isolate;
}
.gallery-slider-shell::before,
.gallery-slider-shell::after {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 18px;
  width: clamp(36px, 7vw, 96px);
  pointer-events: none;
  z-index: 2;
}
.gallery-slider-shell::before {
  left: 0;
  background: linear-gradient(90deg, var(--surface), rgba(31,27,21,0));
}
.gallery-slider-shell::after {
  right: 0;
  background: linear-gradient(270deg, var(--surface), rgba(31,27,21,0));
}
.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0.5px solid rgba(201,168,76,0.46);
  background: rgba(26,23,18,0.72);
  color: rgba(245,240,232,0.92);
  display: grid;
  place-items: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
  box-shadow: 0 18px 48px rgba(0,0,0,0.32);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 240ms ease, border-color 240ms ease, background 240ms ease, color 240ms ease, opacity 240ms ease;
}
.gallery-arrow-prev { left: clamp(10px, 1.8vw, 22px); }
.gallery-arrow-next { right: clamp(10px, 1.8vw, 22px); }
.gallery-arrow:hover,
.gallery-arrow:focus-visible {
  transform: translateY(-50%) scale(1.04);
  border-color: rgba(201,168,76,0.78);
  background: rgba(26,23,18,0.88);
  color: var(--gold);
  outline: none;
}
.gallery-arrow.is-disabled {
  opacity: 0.36;
  cursor: default;
  pointer-events: none;
}
.gallery-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin-top: 16px;
}
.gallery-dot {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: rgba(245,240,232,0.22);
  transition: width 240ms ease, background 240ms ease, opacity 240ms ease;
}
.gallery-dot.active {
  width: 22px;
  background: rgba(201,168,76,0.68);
}
@media (max-width: 768px) {
  .gallery-slider-shell::before,
  .gallery-slider-shell::after {
    width: 42px;
    bottom: 14px;
  }
  .gallery-arrow {
    width: 38px;
    height: 38px;
    font-size: 28px;
    background: rgba(26,23,18,0.78);
  }
  .gallery-arrow-prev { left: 7px; }
  .gallery-arrow-next { right: 7px; }
  .gallery-dots { margin-top: 12px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-arrow,
  .gallery-dot { transition: none; }
}

/* Hero cinematic reveal: subtle luxury entrance, no layout/content changes */
@keyframes zagaraHeroMediaIn {
  0% { opacity: 0.82; filter: saturate(0.88) contrast(0.96); }
  100% { opacity: 1; filter: saturate(1) contrast(1); }
}
@keyframes zagaraHeroMediaBreath {
  0% { transform: scale(1.015); }
  100% { transform: scale(1.055); }
}
@keyframes zagaraHeroContentIn {
  0% { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(2px); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@keyframes zagaraHeroLineIn {
  0% { opacity: 0; transform: scaleX(0.55); }
  100% { opacity: 1; transform: scaleX(1); }
}
@keyframes zagaraHeroOverlayIn {
  0% { opacity: 0; transform: translate3d(-10px, 10px, 0); backdrop-filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); backdrop-filter: blur(8px); }
}

.hero {
  isolation: isolate;
}
.hero-right {
  animation: zagaraHeroMediaIn 950ms cubic-bezier(.22,.61,.36,1) both;
}
.hero-right img {
  transform-origin: center center;
  animation: zagaraHeroMediaBreath 24s cubic-bezier(.22,.61,.36,1) 250ms forwards;
  will-change: transform;
}
.hero-headline {
  animation: zagaraHeroContentIn 820ms cubic-bezier(.22,.61,.36,1) 120ms both;
}
.hero-divider {
  transform-origin: left center;
  animation: zagaraHeroLineIn 720ms cubic-bezier(.22,.61,.36,1) 320ms both;
}
.hero-tagline {
  animation: zagaraHeroContentIn 820ms cubic-bezier(.22,.61,.36,1) 430ms both;
}
.hero-btns {
  animation: zagaraHeroContentIn 780ms cubic-bezier(.22,.61,.36,1) 610ms both;
}
.hero-overlay-tag {
  animation: zagaraHeroOverlayIn 820ms cubic-bezier(.22,.61,.36,1) 720ms both;
}

@media (max-width: 768px) {
  .hero-right img {
    animation-duration: 20s;
  }
  .hero-headline {
    animation-delay: 80ms;
  }
  .hero-divider {
    transform-origin: center center;
    animation-delay: 250ms;
  }
  .hero-tagline {
    animation-delay: 350ms;
  }
  .hero-btns {
    animation-delay: 480ms;
  }
  .hero-overlay-tag {
    animation-delay: 560ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-right,
  .hero-right img,
  .hero-headline,
  .hero-divider,
  .hero-tagline,
  .hero-btns,
  .hero-overlay-tag {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}


/* Full-page luxury scroll motion refinement: understated section reveals and premium polish */
html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-section-motion {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 980ms cubic-bezier(.16, 1, .3, 1),
    transform 980ms cubic-bezier(.16, 1, .3, 1),
    filter 980ms cubic-bezier(.16, 1, .3, 1);
  filter: blur(1.5px);
  will-change: opacity, transform, filter;
}
html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-section-motion.is-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-stagger {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  transition:
    opacity 820ms cubic-bezier(.16, 1, .3, 1),
    transform 820ms cubic-bezier(.16, 1, .3, 1),
    filter 820ms cubic-bezier(.16, 1, .3, 1);
  filter: blur(1px);
  will-change: opacity, transform, filter;
}
html:not(.zagara-reduced-motion) .zagara-page-motion-ready .is-motion-visible .zagara-stagger,
html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-stagger.is-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="1"] { transition-delay: 90ms; }
html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="2"] { transition-delay: 170ms; }
html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="3"] { transition-delay: 250ms; }
html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="4"] { transition-delay: 330ms; }
html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="5"] { transition-delay: 410ms; }

/* Slower cinematic hero reveal */
.hero-right { animation-duration: 1350ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-right img { animation-duration: 34s; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-headline { animation-duration: 1050ms; animation-delay: 180ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-divider { animation-duration: 920ms; animation-delay: 470ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-tagline { animation-duration: 1060ms; animation-delay: 620ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-btns { animation-duration: 980ms; animation-delay: 820ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
.hero-overlay-tag { animation-duration: 1060ms; animation-delay: 960ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }

@media (hover: hover) and (pointer: fine) {
  .nav-links a,
  .gallery-arrow,
  .menu-tab,
  .faq-question {
    transition:
      color 260ms ease,
      background 260ms ease,
      border-color 260ms ease,
      opacity 260ms ease,
      transform 260ms cubic-bezier(.16, 1, .3, 1),
      box-shadow 260ms ease;
  }
  .nav-links a:hover,
  .menu-tab:hover,
  .faq-question:hover {
    transform: translate3d(0, -1px, 0);
  }
  .experience-card:hover .exp-bg-num,
  .menu-tab:hover,
  .gallery-arrow:hover {
    box-shadow: 0 0 0 1px rgba(201,168,76,0.08) inset;
  }
  .gallery-cell img,
  .exp-img-strip img,
  .chef-image img,
  .homepage-video {
    backface-visibility: hidden;
  }
}

.homepage-video-frame,
.gallery-cell,
.exp-img-strip,
.chef-image {
  transform-style: preserve-3d;
}

@media (max-width: 768px) {
  html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-section-motion {
    transform: translate3d(0, 14px, 0);
    transition-duration: 680ms;
    filter: none;
  }
  html:not(.zagara-reduced-motion) .zagara-page-motion-ready .zagara-stagger {
    transform: translate3d(0, 12px, 0);
    transition-duration: 620ms;
    filter: none;
  }
  html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="1"] { transition-delay: 60ms; }
  html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="2"] { transition-delay: 110ms; }
  html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="3"] { transition-delay: 160ms; }
  html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="4"] { transition-delay: 210ms; }
  html:not(.zagara-reduced-motion) .zagara-stagger[data-motion-delay="5"] { transition-delay: 260ms; }
  .hero-right img { animation-duration: 28s; }
  .hero-headline { animation-delay: 120ms; }
  .hero-divider { animation-delay: 360ms; }
  .hero-tagline { animation-delay: 500ms; }
  .hero-btns { animation-delay: 650ms; }
  .hero-overlay-tag { animation-delay: 760ms; }
}

@media (prefers-reduced-motion: reduce) {
  .zagara-section-motion,
  .zagara-stagger,
  .nav-links a,
  .gallery-arrow,
  .menu-tab,
  .faq-question {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
  }
}

/* Premium full-site motion v2: corrected section coverage + varied luxury reveals */
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  filter: blur(2px);
  transition:
    opacity 1120ms cubic-bezier(.16, 1, .3, 1),
    transform 1120ms cubic-bezier(.16, 1, .3, 1),
    filter 1120ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform, filter;
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section[data-motion-style="left"] {
  transform: translate3d(-28px, 18px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section[data-motion-style="right"] {
  transform: translate3d(28px, 18px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section[data-motion-style="zoom"] {
  transform: scale(.985) translate3d(0, 18px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section.is-premium-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: blur(1px);
  transition:
    opacity 900ms cubic-bezier(.16, 1, .3, 1),
    transform 900ms cubic-bezier(.16, 1, .3, 1),
    filter 900ms cubic-bezier(.16, 1, .3, 1),
    box-shadow 320ms ease,
    border-color 320ms ease;
  will-change: opacity, transform, filter;
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child[data-motion-child="left"] {
  transform: translate3d(-22px, 12px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child[data-motion-child="right"] {
  transform: translate3d(22px, 12px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child[data-motion-child="image"] {
  transform: scale(.985) translate3d(0, 14px, 0);
}
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .is-premium-visible .zagara-premium-child,
html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child.is-premium-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="1"] { transition-delay: 100ms; }
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="2"] { transition-delay: 180ms; }
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="3"] { transition-delay: 260ms; }
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="4"] { transition-delay: 340ms; }
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="5"] { transition-delay: 420ms; }
html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="6"] { transition-delay: 500ms; }

/* Experience cards: richer but restrained sequencing and hover polish */
html:not(.zagara-reduced-motion) .experiences.is-premium-visible .experience-card .exp-img-strip img {
  transition: transform 1200ms cubic-bezier(.16, 1, .3, 1), filter 900ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .experience-card {
    transform-origin: center center;
  }
  .experience-card:hover {
    transform: translate3d(0, -8px, 0);
    box-shadow: 0 34px 86px rgba(0,0,0,.30);
    border-color: rgba(201,168,76,.36);
  }
  .experience-card:hover .exp-img-strip img {
    transform: scale(1.055);
    filter: saturate(1.03) contrast(1.04);
  }
  .experience-card .exp-cta:hover,
  .btn-primary:hover,
  .nav-cta:hover,
  .mobile-header-cta:hover,
  .form button:hover {
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 18px 42px rgba(0,0,0,.22), 0 0 0 1px rgba(201,168,76,.16) inset;
  }
  .experience-card .exp-cta:active,
  .btn-primary:active,
  .nav-cta:active,
  .mobile-header-cta:active,
  .form button:active {
    transform: translate3d(0, 0, 0) scale(.99);
  }
}

/* Gallery: stronger interaction cues without clutter */
.gallery-slider-shell {
  perspective: 1200px;
}
html:not(.zagara-reduced-motion) .gallery.is-premium-visible .gallery-cell img {
  transition: transform 1300ms cubic-bezier(.16, 1, .3, 1), filter 900ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .gallery-cell:hover {
    transform: translate3d(0, -6px, 18px);
    box-shadow: 0 40px 104px rgba(0,0,0,.34);
  }
  .gallery-cell:hover img {
    transform: scale(1.045);
  }
  .gallery-arrow:hover {
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 22px 58px rgba(0,0,0,.42), 0 0 0 1px rgba(201,168,76,.18) inset;
  }
}
.gallery-arrow {
  transition: transform 260ms cubic-bezier(.16,1,.3,1), box-shadow 260ms ease, border-color 260ms ease, background 260ms ease, opacity 260ms ease;
}

/* Chef section: personal, editorial reveal */
.chef-section .chef-image-wrap,
.chef-section .chef-content {
  backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .chef-section:hover .chef-image-wrap img {
    transform: scale(1.018);
  }
}
.chef-image-wrap img {
  transition: transform 1200ms cubic-bezier(.16,1,.3,1), filter 900ms ease;
}

/* Video frame: premium reveal and interaction, autoplay untouched */
.homepage-video-frame {
  transition: transform 520ms cubic-bezier(.16,1,.3,1), box-shadow 520ms ease, border-color 520ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .homepage-video-frame:hover {
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 42px 110px rgba(0,0,0,.40), 0 0 0 1px rgba(201,168,76,.13) inset;
  }
}

/* Navigation and FAQ micro-interactions */
@media (hover: hover) and (pointer: fine) {
  .nav-links a,
  .faq-question,
  .menu-tab,
  .gallery-dot {
    transition: transform 260ms cubic-bezier(.16,1,.3,1), color 260ms ease, border-color 260ms ease, background 260ms ease, opacity 260ms ease;
  }
  .nav-links a:hover,
  .faq-question:hover,
  .menu-tab:hover {
    transform: translate3d(0, -1px, 0);
  }
  .gallery-dot:hover {
    transform: scale(1.25);
  }
}

/* Mobile motion restraint: still alive, never heavy */
@media (max-width: 768px) {
  html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-section {
    transform: translate3d(0, 16px, 0) !important;
    transition-duration: 720ms;
    filter: none;
  }
  html:not(.zagara-reduced-motion) .zagara-premium-motion-ready .zagara-premium-child {
    transform: translate3d(0, 12px, 0) !important;
    transition-duration: 640ms;
    filter: none;
  }
  html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="1"] { transition-delay: 55ms; }
  html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="2"] { transition-delay: 95ms; }
  html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="3"] { transition-delay: 135ms; }
  html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="4"] { transition-delay: 175ms; }
  html:not(.zagara-reduced-motion) .zagara-premium-child[data-premium-delay="5"] { transition-delay: 215ms; }
  .experience-card:hover,
  .gallery-cell:hover,
  .homepage-video-frame:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zagara-premium-section,
  .zagara-premium-child,
  .experience-card,
  .experience-card .exp-img-strip img,
  .gallery-cell,
  .gallery-cell img,
  .chef-image-wrap img,
  .homepage-video-frame,
  .btn-primary,
  .exp-cta,
  .nav-cta,
  .mobile-header-cta,
  .form button,
  .gallery-arrow,
  .gallery-dot {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
  }
}

/* Gallery photography update: preserve the focal dish in the existing slider frames. */
.gallery-cell.gallery-focus-center img { object-position: 50% 50%; }


/* Deployment resilience: animation failures must never leave content invisible. */
html.zagara-motion-fallback .zagara-reveal,
html.zagara-motion-fallback .zagara-section-motion,
html.zagara-motion-fallback .zagara-stagger,
html.zagara-motion-fallback .zagara-premium-section,
html.zagara-motion-fallback .zagara-premium-child {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .zagara-reveal,
  .zagara-section-motion,
  .zagara-stagger,
  .zagara-premium-section,
  .zagara-premium-child {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }
}


/* Stability repair: legacy reveal classes must never permanently hide content.
   The current motion system uses the Web Animations API and does not require
   opacity-zero CSS states. */
.zagara-reveal,
.zagara-section-motion,
.zagara-stagger,
.zagara-premium-section,
.zagara-premium-child {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  clip-path: none !important;
}

.zagara-reveal:not(.is-visible),
.zagara-section-motion:not(.is-motion-visible),
.zagara-premium-section:not(.is-premium-visible) {
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-zagara-motion-observed] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* Dedicated Private Dining page */
.private-dining-page{padding-top:120px;background:var(--bg)}
.pd-hero,.pd-section{max-width:1180px;margin:0 auto;padding:88px 6vw;border-bottom:.5px solid var(--border)}
.pd-hero{padding-top:110px;text-align:center}
.pd-hero .section-title{max-width:820px;margin:18px auto 24px}
.pd-lead{max-width:800px;margin:0 auto 26px;font-family:var(--serif);font-size:clamp(20px,2.2vw,30px);line-height:1.5;color:var(--text)}
.pd-price{font-family:var(--serif);font-size:22px;color:var(--gold);margin:0 0 8px}.pd-small,.pd-occasion{color:var(--text-muted);line-height:1.7;margin:6px auto;max-width:760px}
.pd-inclusions{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:42px 0}.pd-inclusions>div{padding:22px 20px;border:.5px solid var(--border);font-family:var(--serif);font-size:18px;line-height:1.35}.pd-support,.pd-intro,.pd-caption,.pd-venue p,.pd-cta p{max-width:850px;color:var(--text-muted);font-family:var(--serif);font-size:18px;line-height:1.8}
.pd-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:44px 0 24px}.pd-menu-card{border:.5px solid var(--border);padding:38px;background:rgba(255,255,255,.015)}.pd-menu-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 18px}.pd-menu-card>p{color:var(--text-muted);line-height:1.75;min-height:92px}.pd-menu-toggle{margin-top:24px;background:none;color:var(--gold);border:1px solid var(--gold);padding:14px 18px;font-family:var(--sans);font-size:10px;letter-spacing:2px;cursor:pointer;width:100%;transition:.3s ease}.pd-menu-toggle:hover,.pd-menu-toggle:focus-visible{background:var(--gold);color:var(--bg)}.pd-menu-detail{margin-top:28px;border-top:.5px solid var(--border);padding-top:10px}.pd-menu-detail>div{padding:16px 0;border-bottom:.5px solid var(--border);display:grid;gap:6px}.pd-menu-detail strong{font-family:var(--sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.pd-menu-detail span{font-family:var(--serif);font-size:17px;line-height:1.5}.pd-caption{font-style:italic}.pd-venue{max-width:900px}.pd-cta{text-align:center;border-bottom:0}.pd-cta p{margin:20px auto 30px}.pd-cta .btn-primary{display:inline-flex}.aperitivo-only-menu{display:block!important}.private-dining-link{text-decoration:none}
@media(max-width:760px){.private-dining-page{padding-top:96px}.pd-hero,.pd-section{padding:64px 22px}.pd-hero{padding-top:72px}.pd-inclusions{grid-template-columns:1fr}.pd-menu-grid{grid-template-columns:1fr}.pd-menu-card{padding:28px 22px}.pd-menu-card>p{min-height:0}.pd-lead{font-size:22px}}


/* Private Dining correction patch */
.pd-perfect-for-home{margin:24px 0 26px}
.pd-perfect-for-home .exp-perfect-label{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:var(--gold);margin-bottom:12px}
.pd-perfect-for-home .exp-perfect-tags{display:flex;flex-wrap:wrap;gap:8px}
.pd-perfect-for-home .exp-tag{display:inline-flex;align-items:center;min-height:30px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;font-size:11px;line-height:1.25;color:var(--text-muted);background:rgba(255,255,255,.02)}
.pd-hero{padding-top:104px;padding-bottom:78px}
.pd-hero .section-label{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:14px}
.pd-hero .section-title{font-size:clamp(46px,6.5vw,88px);line-height:.98;margin:0 auto 26px;max-width:980px}
.pd-hero .pd-lead{max-width:790px;margin-bottom:22px}
.pd-hero .pd-price{margin-top:0;font-size:clamp(19px,2vw,24px)}
.pd-hero .pd-small{font-size:14px;margin-top:8px}
.pd-hero .pd-occasion{font-size:16px;margin-top:18px}
.pd-inclusions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:40px 0 34px;align-items:stretch}
.pd-inclusions>div{position:relative;display:flex;align-items:flex-start;min-height:118px;padding:26px 24px 24px 52px;border:1px solid var(--border);font-family:var(--serif);font-size:18px;line-height:1.4;background:rgba(255,255,255,.015)}
.pd-inclusions>div::before{content:attr(data-item);position:absolute;left:20px;top:25px;color:var(--gold);font-family:var(--sans);font-size:10px;letter-spacing:1px}
.pd-support{margin:0 auto;text-align:center;max-width:900px}
.pd-menus>.section-title{margin-bottom:20px}
.pd-intro{margin:0 auto 38px;text-align:center;max-width:900px}
.pd-menu-grid{align-items:stretch}
.pd-menu-card{display:flex;flex-direction:column;height:100%;min-width:0}
.pd-menu-card h3{min-height:72px;display:flex;align-items:flex-end}
.pd-menu-card>p{min-height:112px;margin-bottom:0}
.pd-menu-toggle{margin-top:auto}
.pd-menu-detail{width:100%;margin-top:28px;padding-top:12px}
.pd-menu-detail>div{min-height:92px;align-content:start}
.pd-menu-card[aria-expanded="true"] .pd-menu-detail{display:block}
.pd-caption{text-align:center;margin:28px auto 0}
@media (max-width:900px){
  .pd-inclusions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-inclusions>div{min-height:108px}
}
@media (max-width:760px){
  .pd-perfect-for-home .exp-perfect-tags{gap:7px}
  .pd-perfect-for-home .exp-tag{font-size:10px;padding:7px 10px}
  .pd-hero{padding-top:70px;padding-bottom:56px}
  .pd-hero .section-title{font-size:clamp(42px,13vw,62px)}
  .pd-inclusions{grid-template-columns:1fr;gap:10px}
  .pd-inclusions>div{min-height:0;padding:21px 18px 21px 48px}
  .pd-inclusions>div::before{left:18px;top:21px}
  .pd-menu-card h3,.pd-menu-card>p{min-height:0}
  .pd-menu-detail>div{min-height:0}
}


/* Focused Private Dining correction: measured fixed-header offset and symmetrical menus. */
:root { --zagara-header-height: 264px; }
.private-dining-page { padding-top: calc(var(--zagara-header-height) + 24px) !important; }
.private-dining-page .pd-hero { padding-top: clamp(40px, 5vw, 64px) !important; }
.pd-menu-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:stretch !important; gap:28px !important; }
.pd-menu-card { display:flex !important; flex-direction:column !important; width:100% !important; height:100% !important; min-width:0 !important; margin:0 !important; padding:38px !important; transform:none !important; }
.pd-menu-card h3 { display:flex !important; align-items:flex-end !important; min-height:76px !important; margin:0 0 18px !important; }
.pd-menu-card > p { flex:1 1 auto !important; min-height:118px !important; margin:0 0 24px !important; }
.pd-menu-toggle { margin-top:auto !important; flex:0 0 auto !important; }
.pd-menu-detail { box-sizing:border-box !important; width:100% !important; height:470px !important; max-height:min(470px,58vh) !important; margin-top:28px !important; padding:12px 6px 0 0 !important; overflow-y:auto !important; overscroll-behavior:contain; scrollbar-gutter:stable; outline:none; }
.pd-menu-detail > div { min-height:92px !important; padding:16px 0 !important; }
@media (max-width:760px) {
 :root { --zagara-header-height:148px; }
 .private-dining-page { padding-top:calc(var(--zagara-header-height) + 18px) !important; }
 .private-dining-page .pd-hero { padding-top:34px !important; }
 .pd-menu-grid { grid-template-columns:1fr !important; gap:24px !important; }
 .pd-menu-card { width:100% !important; padding:28px 22px !important; }
 .pd-menu-card h3 { min-height:0 !important; }
 .pd-menu-card > p { min-height:0 !important; margin-bottom:24px !important; }
 .pd-menu-detail { height:auto !important; max-height:62vh !important; }
 .pd-menu-detail > div { min-height:0 !important; }
}


/* Change 2: three dedicated experience pages and concise homepage cards */
.experience-section-heading{grid-column:1/-1;text-align:center;margin-bottom:12px}.experience-section-heading .section-title{margin:0}
.experience-card-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.experience-summary-card{position:relative;display:flex!important;flex-direction:column;min-width:0;height:100%;padding:0!important;overflow:hidden;border:1px solid var(--border);background:rgba(255,255,255,.015)}
.experience-summary-card .exp-bg-num{position:absolute;top:14px;left:18px;z-index:2}.experience-summary-card .exp-img-strip{order:0;height:230px;margin:0!important}.experience-summary-card .exp-img-strip img{width:100%;height:100%;object-fit:cover;display:block}.experience-summary-body{display:flex;flex-direction:column;flex:1;padding:30px 28px 28px}.experience-summary-card .exp-title{font-size:clamp(24px,2.3vw,34px);line-height:1.08;min-height:82px;margin:0 0 18px}.experience-summary-card .exp-desc{flex:1;min-height:150px;margin:0 0 20px}.experience-summary-card .exp-price{min-height:54px;margin:0 0 22px}.experience-summary-card .exp-cta{margin-top:auto;text-align:center}
.experience-page .pd-hero{padding-top:clamp(40px,5vw,64px)!important}.experience-process .section-title{text-align:center;margin-bottom:38px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.fresh-pasta-page .process-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.process-card{position:relative;border:1px solid var(--border);padding:30px 24px;min-height:250px;background:rgba(255,255,255,.015)}.process-card>span{display:block;color:var(--gold);font-size:11px;letter-spacing:2px;margin-bottom:22px}.process-card h3{font-family:var(--serif);font-size:20px;line-height:1.2;min-height:50px;margin:0 0 16px}.process-card p{color:var(--text-muted);line-height:1.65;margin:0}.process-note{margin-top:30px!important;text-align:center}.single-menu-card{max-width:850px;margin:38px auto 0;border:1px solid var(--border);padding:38px;background:rgba(255,255,255,.015)}.single-menu-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 24px}.single-menu-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0}.single-menu-card li{padding:16px 18px;border:.5px solid var(--border);font-family:var(--serif);font-size:17px;line-height:1.4}.compact-premium{text-align:center}.compact-premium p{max-width:900px;margin:0 auto;color:var(--text-muted);font-family:var(--serif);font-size:18px;line-height:1.8}.pasta-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch;margin:42px 0 20px}.pasta-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--border);background:rgba(255,255,255,.015);overflow:hidden}.pasta-card>img{width:100%;height:270px;object-fit:cover;display:block}.pasta-card-body{display:flex;flex-direction:column;flex:1;padding:34px}.pasta-card h3{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.15;min-height:66px;margin:0 0 18px}.pasta-card-body>p{flex:1;min-height:78px;color:var(--text-muted);line-height:1.7;margin:0 0 22px}.pasta-card .pd-menu-toggle{margin-top:auto}.pasta-detail{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.pasta-detail p{margin:0;color:var(--text-muted);line-height:1.65}
@media(max-width:1024px){.experience-card-grid{grid-template-columns:1fr 1fr}.experience-summary-card:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}.process-grid,.fresh-pasta-page .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-card{min-height:220px}}
@media(max-width:760px){.experience-card-grid{grid-template-columns:1fr}.experience-summary-card:last-child{grid-column:auto;max-width:none}.experience-summary-card .exp-img-strip{height:210px}.experience-summary-card .exp-title,.experience-summary-card .exp-desc,.experience-summary-card .exp-price{min-height:0}.process-grid,.fresh-pasta-page .process-grid{grid-template-columns:1fr}.process-card{min-height:0}.single-menu-card{padding:28px 22px}.single-menu-card ul{grid-template-columns:1fr}.pasta-card-grid{grid-template-columns:1fr;gap:24px}.pasta-card>img{height:230px}.pasta-card-body{padding:28px 22px}.pasta-card h3,.pasta-card-body>p{min-height:0}}

/* Change 3: experience link clarity, Aperitivo curation, pasta imagery, mobile polish */
.experience-summary-card .exp-cta,
.experiences .btn-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border:1px solid var(--gold);
  border-radius:4px;
  background:var(--gold);
  color:var(--bg);
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:1.9px;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .16s ease,box-shadow .22s ease;
}
.experience-summary-card .exp-cta:hover,
.experiences .btn-primary:hover { background:transparent; color:var(--gold); box-shadow:0 10px 26px rgba(0,0,0,.22); }
.experience-summary-card .exp-cta:focus-visible,
.experiences .btn-primary:focus-visible { outline:2px solid var(--white); outline-offset:3px; background:transparent; color:var(--gold); }
.experience-summary-card .exp-cta:active,
.experiences .btn-primary:active { transform:translateY(1px); box-shadow:0 4px 12px rgba(0,0,0,.15); }

.aperitivo-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;margin:42px 0 34px}
.aperitivo-category-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;padding:30px 24px 26px;border:1px solid var(--border);background:rgba(255,255,255,.015)}
.aperitivo-category-marker{display:block;margin-bottom:18px;color:var(--gold);font-family:var(--sans);font-size:10px;letter-spacing:2px}
.aperitivo-category-card h3{min-height:68px;margin:0 0 20px;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.18}
.aperitivo-category-card ul{display:grid;gap:0;margin:0;padding:0;list-style:none}
.aperitivo-category-card li{position:relative;padding:12px 0 12px 18px;border-top:1px solid var(--border);color:var(--text-muted);font-family:var(--serif);font-size:16px;line-height:1.45}
.aperitivo-category-card li::before{content:'•';position:absolute;left:0;color:var(--gold)}
.aperitivo-category-note{margin:auto 0 0;padding-top:18px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;line-height:1.6;font-style:italic}
.aperitivo-builder-support{margin-top:0!important}
.pasta-card>img{aspect-ratio:4/3;height:auto;min-height:270px;object-fit:cover;object-position:center}

/* Mobile-safe dedicated-page and overlay behavior */
html,body{max-width:100%;overflow-x:hidden}
img,video{max-width:100%;height:auto}
.planner-overlay.open{overscroll-behavior:contain}
@media(max-width:1100px){.aperitivo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aperitivo-category-card h3{min-height:54px}}
@media(max-width:760px){
  .experience-card-grid{width:100%;gap:22px}
  .experience-summary-card{width:100%;max-width:100%;margin:0}
  .experience-summary-body{padding:26px 22px 24px}
  .experience-summary-card .exp-img-strip{height:auto;aspect-ratio:16/10}
  .experience-summary-card .exp-img-strip img{width:100%;height:100%;object-fit:cover}
  .experience-summary-card .exp-cta,.experiences .btn-primary{width:100%;min-height:48px;padding:14px 16px;white-space:normal;text-align:center}
  .private-dining-page{padding-top:calc(var(--zagara-header-height) + 10px)!important}
  .private-dining-page .pd-hero{padding:28px 20px 52px!important}
  .pd-hero .section-title{font-size:clamp(38px,12vw,58px)!important;line-height:1.02!important}
  .pd-hero .pd-lead{font-size:20px;line-height:1.55}
  .pd-hero .pd-price{font-size:19px;line-height:1.4}
  .pd-hero .pd-small,.pd-hero .pd-occasion{font-size:14px;line-height:1.65}
  .pd-section{padding:58px 20px}
  .process-grid,.fresh-pasta-page .process-grid,.pd-inclusions,.pasta-card-grid,.aperitivo-category-grid{grid-template-columns:1fr!important;gap:16px!important}
  .process-card,.pd-inclusions>div,.aperitivo-category-card{min-height:0!important;width:100%}
  .process-card{padding:24px 20px}
  .process-card h3,.aperitivo-category-card h3{min-height:0}
  .aperitivo-category-card{padding:26px 20px 22px}
  .pasta-card>img{width:100%;aspect-ratio:4/3;min-height:0;height:auto;object-fit:cover}
  .pasta-card-body{padding:26px 20px}
  .pasta-card .pd-menu-toggle,.pd-cta .btn-primary{min-height:48px;width:100%;white-space:normal}
  .planner-overlay{padding:0;overflow-x:hidden}
  .planner-container{width:100%;max-width:100%;min-height:100dvh;padding:72px 18px 28px;box-sizing:border-box}
  .planner-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;width:44px;height:44px}
  .planner-step{max-width:100%}
  .planner-actions{position:sticky;bottom:0;z-index:2;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 72%,transparent)}
}
@media(max-width:390px){
  .pd-section{padding-left:17px;padding-right:17px}
  .experience-summary-body{padding-left:19px;padding-right:19px}
  .experience-summary-card .exp-title{font-size:26px}
  .aperitivo-category-card li{font-size:15px}
}
@media(max-width:330px){
  .pd-section,.private-dining-page .pd-hero{padding-left:14px!important;padding-right:14px!important}
  .experience-summary-body{padding-left:16px;padding-right:16px}
  .experience-summary-card .exp-cta{font-size:9px;letter-spacing:1.4px}
}

@media (max-width: 430px) {
  footer { padding-left: 20px; padding-right: 20px; }
}

/* Fresh Pasta informational sample cards */
.fresh-pasta-page .pasta-card{cursor:default;transform:none;transition:none}
.fresh-pasta-page .pasta-card:hover{transform:none;box-shadow:none}
.fresh-pasta-page .pasta-card>img{transition:none}
.fresh-pasta-page .pasta-card:hover>img{transform:none}
.fresh-pasta-page .pasta-card-body>p{margin-bottom:22px}
.pasta-category-tag{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding:8px 11px;border:1px solid var(--border);color:var(--gold);font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.35;letter-spacing:1.35px;text-transform:uppercase;background:rgba(255,255,255,.018);cursor:default;max-width:100%}
@media(max-width:760px){.pasta-category-tag{white-space:normal}}

/* Final mobile synchronization: one shared current markup, responsive layout only */
@media (max-width: 768px) {
  :root { --zagara-mobile-gutter: clamp(16px, 5vw, 24px); }
  body { min-width: 0; }
  nav { width: 100%; max-width: 100vw; }
  .nav-links[style*="display:flex"] {
    max-height: calc(100dvh - var(--zagara-header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
  .nav-links[style*="display:flex"] a { min-height: 44px; display: flex; align-items: center; justify-content: center; }
  .hero, .private-dining-page, .experience-page, main, section { min-width: 0; }
  .experiences, .experience-card-grid, .process-grid, .pd-inclusions,
  .pd-menu-grid, .aperitivo-category-grid, .pasta-card-grid { width: 100%; min-width: 0; }
  .experience-summary-card, .process-card, .pd-menu-card,
  .aperitivo-category-card, .pasta-card { min-width: 0; max-width: 100%; }
  .experience-summary-card .exp-cta, .pd-cta .btn-primary,
  .mobile-nav-cta, .planner-nav, .planner-submit { min-height: 44px; }
  .private-dining-page { padding-top: calc(var(--zagara-header-height) + 8px) !important; }
  .private-dining-page .pd-hero { padding-top: clamp(28px, 7vw, 46px) !important; }
  .pd-hero .section-label, .pd-hero .section-title, .pd-hero .pd-lead,
  .pd-hero .pd-price, .pd-hero .pd-small, .pd-hero .pd-occasion { max-width: 100%; overflow-wrap: break-word; }
  .planner-overlay.open { height: 100dvh; max-height: 100dvh; overflow-y: auto; }
  .planner-shell { min-height: 100dvh; padding-bottom: calc(28px + env(safe-area-inset-bottom)); }

}
@media (max-width: 430px) {
  .hero-left, .how, .service-area-section, .menu-taster, .gallery, .reviews,
  .philosophy, .chef-section, .occasions, .faq-section, .book-section,
  .pd-section, .private-dining-page .pd-hero { padding-left: var(--zagara-mobile-gutter) !important; padding-right: var(--zagara-mobile-gutter) !important; }
  .experience-card { padding-left: var(--zagara-mobile-gutter); padding-right: var(--zagara-mobile-gutter); }

}


/* Header/menu state repair and premium homepage experience CTAs */
.nav-burger {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
}

.experience-summary-body { min-height: 0; }
.experience-summary-card .exp-cta {
  width: 100%;
  min-height: 50px;
  margin-top: auto;
  padding: 15px 20px;
  border: 1px solid var(--gold);
  border-radius: 5px;
  background: var(--gold);
  color: var(--bg);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  font-weight: 600;
  text-align: center;
  justify-content: center;
}
.experience-summary-card .exp-cta:hover {
  background: #d8b75a;
  border-color: #d8b75a;
  color: var(--bg);
  transform: translateY(-1px);
  box-shadow: 0 11px 26px rgba(0,0,0,.27);
}
.experience-summary-card .exp-cta:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
  background: var(--gold);
  color: var(--bg);
}
.experience-summary-card .exp-cta:active {
  transform: translateY(1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}

@media (max-width: 768px) {
  body.mobile-menu-open { overflow: hidden; }
  .nav-links {
    display: none !important;
    position: fixed;
    top: var(--zagara-header-height, 140px);
    left: 0;
    right: 0;
    z-index: 98;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    max-height: calc(100dvh - var(--zagara-header-height, 140px));
    margin: 0;
    padding: 20px max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: rgba(26,23,18,.985);
    border-bottom: .5px solid rgba(201,168,76,.2);
    box-shadow: 0 18px 30px rgba(0,0,0,.24);
  }
  .nav-links.active { display: flex !important; }
  .nav-links.active li { width: 100%; }
  .nav-links.active a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100%;
    text-align: center;
  }
  .nav-burger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  .nav-burger.active span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
  .nav-burger.active span:nth-child(2) { opacity: 0; }
  .nav-burger.active span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
  .nav-burger span { transition: transform .2s ease, opacity .2s ease; }
  .experience-summary-card .exp-cta { min-height: 48px; width: 100%; }
}

@media (min-width: 769px) {
  .nav-links { display: flex !important; position: static !important; }
  .nav-burger { display: none !important; }
  body.mobile-menu-open { overflow: auto; }
}


/* Surgical compact mobile header + closed menu + headingless footer navigation */
@media (max-width: 768px) {
  html:not(.mobile-menu-open) .nav-links,
  body:not(.mobile-menu-open) .nav-links { display: none !important; }
  nav {
    min-height: 72px;
    padding: 8px clamp(12px, 4vw, 20px);
    grid-template-columns: minmax(70px, auto) minmax(0, 1fr) 44px;
    column-gap: clamp(6px, 2vw, 12px);
  }
  nav.scrolled { padding: 7px clamp(12px, 4vw, 20px); }
  .nav-logo-img { height: clamp(64px, 18vw, 84px); max-width: clamp(72px, 24vw, 112px); }
  .mobile-nav-cta {
    min-height: 40px;
    padding: 8px clamp(7px, 2.4vw, 12px);
    font-size: clamp(6.5px, 2vw, 8px);
    letter-spacing: clamp(.45px, .2vw, .8px);
    line-height: 1.15;
  }
  .nav-burger { width: 44px; height: 44px; padding: 0; gap: 5px; }
  .nav-burger span { width: 23px; height: 1px; }
  .hero { padding-top: calc(var(--zagara-header-height, 88px) + 2px); }
  .private-dining-page { padding-top: calc(var(--zagara-header-height, 88px) + 2px) !important; }
}
@media (max-width: 340px) {
  nav { grid-template-columns: minmax(62px, auto) minmax(0, 1fr) 44px; padding-left: 10px; padding-right: 10px; column-gap: 5px; }
  .nav-logo-img { height: 60px; max-width: 76px; }
  .mobile-nav-cta { min-height: 38px; padding-left: 5px; padding-right: 5px; font-size: 6.2px; letter-spacing: .35px; }
}


/* Homepage concise-copy refinement */
.experience-summary-card .exp-price {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 112px;
  max-width: none;
  padding: 14px 0;
  margin-bottom: 24px;
}
.exp-price-primary {
  display: block;
  color: var(--gold);
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 2.2px;
  font-weight: 500;
}
.exp-price-notes {
  list-style: disc;
  margin: 10px 0 0 17px;
  padding: 0;
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: .5px;
  text-transform: none;
}
.exp-price-notes li + li { margin-top: 3px; }
@media (max-width: 760px) {
  .experience-summary-card .exp-price { min-height: 0; }
}
