/* ============================================================
   RESPONSIVE — mobile-first breakpoints for every section
   Designed intentionally per viewport, not simply stacked.
   ============================================================ */

/* ---------- Nav ---------- */
@media (max-width:1080px){
  .nav-links{
    position:fixed; inset:0 0 0 auto; height:100vh; width:80%; max-width:360px; z-index:200;
    background:var(--white); flex-direction:column; justify-content:center; align-items:flex-start;
    padding:44px; gap:26px; transform:translateX(100%); transition:transform .4s var(--ease);
    box-shadow:-20px 0 50px -20px rgba(92,26,43,.3);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{color:var(--ink-900) !important; font-size:18px;}
  .nav-cta .btn-gold{display:none;}
  .nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
@media (max-width:640px){
  .hero-content{padding:130px 0 60px;}
  .hero-content h1{font-size:2.1rem;}
  .hero-content p{font-size:16px; padding:0 6px;}
  .hero-btns{gap:12px;}
  .hero-btns .btn{flex:1 1 auto; min-width:150px;}
}

/* ---------- Our Story ---------- */
@media (max-width:960px){
  .story-grid{grid-template-columns:1fr; gap:40px;}
  .story-visual{order:-1; max-width:440px; margin:0 auto; width:100%;}
}

/* ---------- Experiences ---------- */
@media (max-width:1080px){ .experience-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .experience-grid{grid-template-columns:1fr;} }

/* ---------- Gallery masonry ---------- */
@media (max-width:1080px){ .masonry{column-count:3;} }
@media (max-width:768px){ .masonry{column-count:2; column-gap:12px;} .masonry figure{margin-bottom:12px;} }
@media (max-width:480px){ .masonry{column-count:1;} }

/* ---------- Gift shop ---------- */
@media (max-width:960px){ .gift-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .gift-grid{grid-template-columns:1fr;} }

/* ---------- Catering ---------- */
@media (max-width:960px){
  .catering-grid{grid-template-columns:1fr; gap:36px;}
  .catering-visual{order:-1; max-width:440px; margin:0 auto; width:100%;}
}

/* ---------- Founder ---------- */
@media (max-width:900px){
  .founder-grid{grid-template-columns:1fr; gap:44px;}
  .founder-visual{max-width:380px; margin:0 auto; width:100%;}
}
@media (max-width:480px){
  .founder-badge{width:90px; height:90px; font-size:11px; bottom:-16px; right:-10px;}
}

/* ---------- Founder photo pair (added founder-2) ---------- */
.founder-photo-grid{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:14px;}
.founder-photo-grid .photo-frame.main{grid-column:1/-1; aspect-ratio:16/11;}
.founder-photo-grid .photo-frame.small{aspect-ratio:1/1;}
.founder-photo-grid .photo-frame.small img{height:100%;}
@media (max-width:480px){ .founder-photo-grid{grid-template-columns:1fr 1fr;} }

/* ---------- Process timeline ---------- */
@media (max-width:860px){
  .process-track{grid-template-columns:repeat(2,1fr); gap:40px 24px;}
  .process-track::before{display:none;}
}
@media (max-width:480px){ .process-track{grid-template-columns:1fr;} }

/* ---------- Why choose us ---------- */
@media (max-width:960px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .why-grid{grid-template-columns:1fr;} }

/* ---------- Testimonials ---------- */
@media (max-width:640px){
  .testi-card{flex:0 0 82vw;}
}

/* ---------- Booking form ---------- */
@media (max-width:768px){
  .booking-card{padding:32px 22px;}
  .field-row{grid-template-columns:1fr;}
  .contact-method{flex-direction:column;}
  .contact-method label{min-width:auto;}
}

/* ---------- Contact ---------- */
@media (max-width:1080px){ .contact-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .contact-grid{grid-template-columns:1fr;} }

/* ---------- Brands ---------- */
@media (max-width:900px){ .brand-grid{grid-template-columns:1fr; gap:20px;} }

/* ---------- Footer ---------- */
@media (max-width:920px){ .footer-grid{grid-template-columns:1fr 1fr; gap:32px;} }
@media (max-width:560px){ .footer-grid{grid-template-columns:1fr;} }

/* ---------- Global section padding tighten on small phones ---------- */
@media (max-width:640px){
  .story, .experiences, .gallery, .gift-shop, .catering, .founder, .process,
  .why, .testimonials, .booking, .contact, .brands{ padding:72px 0; }
  .cta-band{padding:64px 0;}
}
