/* =========================================================
   RESPONSIVE STYLES
   ========================================================= */

/* Laptop */
@media (max-width: 1300px){
  .card-grid{ grid-template-columns:repeat(2,1fr); }
  .services-grid{ grid-template-columns:repeat(3,1fr); }
  .occasion-grid{ grid-template-columns:repeat(3,1fr); }
  .gallery-strip-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Tablet */
@media (max-width: 1024px){
  .main-nav{ display:none; }
  .logo img{ height:60px; }
  .header-actions .btn{ display:none; }

  .feature-strip .container{ grid-template-columns:repeat(2,1fr); }
  .story-split{ min-height:420px; }
  .story-split-overlay{ background:rgba(24,17,11,.6); }
  .story-split-text{ padding:40px; max-width:460px; margin-left:0; }

  .page-hero{ grid-template-columns:1fr; padding-top:150px; }
  .page-hero-text{ max-width:none; }

  .heritage-wrap{ min-height:auto; }
  .heritage-overlay{ background:rgba(24,17,11,.75); }
  .heritage-text{ max-width:none; padding:50px 30px 30px; }
  .heritage-text-inner{ margin-left:0; max-width:none; }
  .promise-section{ min-height:auto; flex-direction:column; padding:40px 0; }
  .promise-overlay{ background:rgba(24,17,11,.8); }
  .promise-grid{ padding:0 30px; }
  .promise-list{ max-width:none; }
  .story-touch{ min-height:auto; justify-content:flex-start; padding:40px 0; }
  .story-touch-overlay{ background:rgba(24,17,11,.8); }
  .story-touch-text{ max-width:none; margin-right:0; padding:0 30px; }
  .stats-bar-inner{ grid-template-columns:repeat(2,1fr); row-gap:30px; }
  .stat-item:nth-child(2){ border-right:none; }

  .menu-layout{ grid-template-columns:1fr; }
  .menu-feature-bar{ grid-template-columns:repeat(3,1fr); row-gap:26px; }

  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .occasion-grid{ grid-template-columns:repeat(2,1fr); }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .why-choose{ grid-template-columns:1fr; }
  .why-list{ grid-template-columns:repeat(2,1fr); }
  .why-item:nth-child(n+4){ border-top:none; padding-top:0; margin-top:0; }
  .why-item:nth-child(n+3){ padding-top:20px; margin-top:2px; border-top:1px solid var(--border-gold); }

  .contact-hero{ min-height:640px; }
  .contact-hero-text{ padding-top:150px; padding-bottom:50px; padding-left:40px; max-width:460px; }
  .contact-hero-overlay{ background:linear-gradient(90deg, rgba(24,17,11,.96) 0%, rgba(24,17,11,.9) 40%, rgba(24,17,11,.55) 65%, rgba(24,17,11,.15) 85%, transparent 100%); }
  .catering-hero{ min-height:560px; }
  .catering-hero-text{ padding-top:150px; padding-bottom:50px; padding-left:40px; max-width:440px; }
  .catering-hero-overlay{ background:linear-gradient(90deg, rgba(24,17,11,.96) 0%, rgba(24,17,11,.85) 26%, rgba(24,17,11,.4) 46%, transparent 64%); }
  .gallery-hero{ min-height:420px; }
  .gallery-hero-text{ padding-top:150px; padding-bottom:50px; padding-left:40px; max-width:440px; }
  .gallery-hero-overlay{ background:linear-gradient(90deg, rgba(24,17,11,.96) 0%, rgba(24,17,11,.85) 26%, rgba(24,17,11,.4) 46%, transparent 64%); }
  .menu-hero{ min-height:420px; }
  .menu-hero-text{ padding-top:150px; padding-bottom:50px; padding-left:40px; max-width:440px; }
  .menu-hero-overlay{ background:linear-gradient(90deg, rgba(24,17,11,.96) 0%, rgba(24,17,11,.85) 26%, rgba(24,17,11,.4) 46%, transparent 64%); }
  .story-hero{ min-height:480px; }
  .story-hero-text{ padding-top:150px; padding-bottom:50px; padding-left:40px; max-width:460px; }
  .story-hero-overlay{ background:linear-gradient(90deg, rgba(24,17,11,.96) 0%, rgba(24,17,11,.88) 30%, rgba(24,17,11,.45) 50%, transparent 68%); }
  .contact-main{ grid-template-columns:1fr; }
  .map-section{ grid-template-columns:1fr; }
  .cta-banner-inner{ padding:0 50px; gap:16px; }
  .cta-banner-inner.cta-dark{ padding:34px 50px; }

  .footer-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Mobile: swap hero video for static poster for performance */
@media (max-width: 768px){
  .hero-video-bg video{ display:none; }
  .hero-video-bg{ background:url('../images/home/hero-bg.jpg') center/cover no-repeat; }
}

/* Mobile */
@media (max-width: 640px){
  .container{ padding:0 22px; }
  .logo img{ height:52px; }
  .footer-logo img{ height:88px; }
  .cta-banner,.page-hero,.menu-tabs,.menu-layout,.gallery-grid,.services-grid,
  .occasion-grid,.why-choose,.contact-hero,.contact-main,.map-section,.menu-feature-bar,
  .stats-bar,.signatures,.gallery-strip{
    padding-left:22px; padding-right:22px;
  }
  .promise-section{ min-height:auto; flex-direction:column; padding:36px 0; }
  .promise-overlay{ background:rgba(24,17,11,.85); }
  .promise-grid{ padding:0 22px; }
  .story-touch{ min-height:auto; justify-content:flex-start; padding:36px 0; }
  .story-touch-overlay{ background:rgba(24,17,11,.85); }
  .story-touch-text{ padding:0 22px; }
  .heritage-text{ padding:40px 22px 24px; }
  .heritage-stats{ padding-left:22px; padding-right:22px; }
  .heritage-text-inner{ margin-left:0; max-width:none; }

  .hero{ padding:140px 22px 50px; }
  .story-split-text{ padding:0 22px; max-width:none; }
  .contact-hero{ min-height:560px; }
  .contact-hero-text{ padding-left:22px; padding-right:22px; max-width:none; }
  .contact-hero-overlay{ background:rgba(24,17,11,.82); }
  .catering-hero{ min-height:520px; padding-left:0; padding-right:0; }
  .catering-hero-text{ padding-top:130px; padding-bottom:50px; padding-left:22px; padding-right:22px; max-width:none; }
  .catering-hero-overlay{ background:rgba(24,17,11,.82); }
  .catering-hero-text h1{ font-size:30px; }
  .gallery-hero{ min-height:380px; padding-left:0; padding-right:0; }
  .gallery-hero-text{ padding-top:130px; padding-bottom:50px; padding-left:22px; padding-right:22px; max-width:none; }
  .gallery-hero-overlay{ background:rgba(24,17,11,.82); }
  .gallery-hero-text h1{ font-size:30px; }
  .menu-hero{ min-height:380px; padding-left:0; padding-right:0; }
  .menu-hero-text{ padding-top:130px; padding-bottom:50px; padding-left:22px; padding-right:22px; max-width:none; }
  .menu-hero-overlay{ background:rgba(24,17,11,.82); }
  .menu-hero-text h1{ font-size:30px; }
  .story-hero{ min-height:460px; padding-left:0; padding-right:0; }
  .story-hero-text{ padding-top:130px; padding-bottom:50px; padding-left:22px; padding-right:22px; max-width:none; }
  .story-hero-overlay{ background:rgba(24,17,11,.82); }
  .story-hero-text h1{ font-size:28px; }
  .menu-feast-row{ grid-template-columns:1.6fr 1fr 1fr 1fr; font-size:11px; gap:6px; }
  .hero-actions{ flex-direction:column; width:100%; }
  .hero-actions .btn{ justify-content:center; width:100%; }

  .feature-strip .container{ grid-template-columns:1fr; gap:22px; }

  .card-grid{ grid-template-columns:1fr; }
  .gallery-strip-grid{ grid-template-columns:repeat(2,1fr); }

  .services-grid{ grid-template-columns:1fr; }
  .occasion-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid{ grid-template-columns:1fr; }

  .why-list{ grid-template-columns:1fr; }
  .why-item:nth-child(n+3){ border-top:none; padding-top:0; margin-top:0; }
  .why-item:nth-child(n+2){ padding-top:18px; margin-top:0; border-top:1px solid var(--border-gold); }
  .promise-list{ grid-template-columns:1fr; }

  .menu-tabs{ flex-wrap:wrap; }
  .menu-tab{ flex:1 1 45%; }
  .menu-feature-bar{ grid-template-columns:repeat(2,1fr); row-gap:30px; }
  .menu-feature-bar .feature-item svg{ width:52px; height:52px; }

  .cta-banner-inner{ flex-direction:column; text-align:center; aspect-ratio:auto; min-height:260px; padding:34px 24px; }
  .cta-banner-inner .motif{ display:none; }
  .cta-banner-inner.cta-dark{ padding:34px 24px; gap:20px; }
  .cta-ornament{ display:none; }
  .cta-dark .cta-banner-text{ text-align:center; }

  .footer-grid{ grid-template-columns:1fr; gap:34px; }
  .footer-bottom{ flex-direction:column; gap:14px; text-align:center; }

  .stats-bar-inner{ grid-template-columns:1fr; }
  .stat-item{ border-right:none !important; border-bottom:1px solid var(--border-gold); padding-bottom:20px; }
  .stat-item:last-child{ border-bottom:none; }

  .menu-row{ flex-wrap:wrap; }
  .menu-row-side{ width:100%; flex-direction:row; justify-content:space-between; align-items:center; }
}
