
  
  @font-face{
    font-family:'Cooper Black Pro';
    src:local('Cooper Black');
    font-weight:400;font-style:normal;font-display:swap;
  }
  :root{
    --magenta:#C42B63;        /* wordmark / strong emphasis */
    --magenta-deep:#A81F52;
    --pink:#E0407E;
    --heading-pink:#E2679C;   /* light heading pink (large text) */
    --blush:#FDEDF3;          /* light pink section bg */
    --cream:#FFF7EF;          /* cream section bg */
    --band-pink:#F9C9DC;      /* rewards band */
    --reviews-pink:#EF97BA;   /* reviews band */
    --loc-pink:#F6B3CC;       /* locations band */
    --body:#7D4C63;           /* muted mauve body text */
    --plum:#341320;           /* footer */
    --gold:#F0A92E;
    --card:#FFFFFF;
    --line:rgba(196,43,99,.18);
    --radius:22px;
    --grad:linear-gradient(100deg,#B8225A,#D6336C);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
  }
  body{
    background:var(--blush);color:var(--body);
    font-family:'Poppins',system-ui,sans-serif;
    font-size:1.03rem;line-height:1.7;
  }
  h1,h2,h3{font-family:'Baloo 2',system-ui,sans-serif;font-weight:600;line-height:1.18;color:var(--heading-pink)}
  h1 strong,h2 strong,h3 strong{color:var(--magenta);font-weight:700}
  img{max-width:100%;height:auto;display:block}
  a{color:var(--magenta)}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
    outline:3px solid var(--magenta-deep);outline-offset:3px;border-radius:4px;
  }
  .skip-link{
    position:absolute;left:1rem;top:-4rem;z-index:300;
    background:var(--plum);color:#fff;padding:.75rem 1.25rem;
    border-radius:10px;text-decoration:none;font-weight:600;transition:top .15s ease;
  }
  .skip-link:focus{top:1rem}
  .wrap{max-width:1160px;margin:0 auto;padding:0 1.25rem}
  .btn{
    display:inline-block;background:var(--grad);color:#fff;
    text-decoration:none;font-weight:600;font-family:'Poppins',sans-serif;
    font-size:1.02rem;padding:.85rem 1.9rem;border-radius:10px;border:none;cursor:pointer;
    box-shadow:0 6px 18px rgba(196,43,99,.28);
  }
  .btn:hover{filter:brightness(.94)}
  .btn-outline{
    background:#fff;color:var(--magenta);border:1.5px solid var(--magenta);
    box-shadow:none;border-radius:999px;padding:.6rem 1.4rem;
  }
  .btn-outline:hover{background:var(--blush)}
  .pill-tag{
    display:inline-flex;align-items:center;gap:.45rem;
    background:rgba(196,43,99,.10);color:var(--magenta);
    font-weight:600;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;
    border-radius:999px;padding:.5rem 1.2rem;margin-bottom:1.1rem;
  }
  .pill-tag svg{flex:none}
  section{padding:4.5rem 0}
  .center{text-align:center}
  .section-title{font-size:clamp(2rem,4.2vw,3rem);margin-bottom:2.25rem}

  /* Header */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,.55);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    transition:background .35s ease, box-shadow .25s ease;
  }
  header.on-deep-pink nav[aria-label="Main"] a{color:#70102F}
  header.on-deep-pink nav[aria-label="Main"] a:hover{border-bottom-color:#70102F}
  header.on-deep-pink nav[aria-label="Main"] a.btn,
  header.on-deep-pink nav[aria-label="Main"] button.btn{color:#fff}
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
  .logo-link img{height:118px;width:auto}
  header.scrolled{box-shadow:0 4px 18px rgba(60,20,40,.14)}
  .nav-toggle{
    display:none;background:none;border:2px solid var(--magenta);color:var(--magenta);
    border-radius:10px;padding:.45rem .9rem;font:inherit;font-weight:600;cursor:pointer;
  }
  nav[aria-label="Main"] ul{display:flex;gap:1.6rem;list-style:none;flex-wrap:wrap;align-items:center}
  nav[aria-label="Main"] a{
    color:var(--magenta);text-decoration:none;font-weight:500;
    padding:.3rem 0;border-bottom:2px solid transparent;
  }
  nav[aria-label="Main"] a:hover{border-bottom-color:var(--magenta)}
  nav[aria-label="Main"] a.btn{color:#fff;border-bottom:none;padding:.7rem 1.5rem;border-radius:8px}
  @media (max-width:960px){
    .nav-toggle{display:block}
    nav[aria-label="Main"]{display:none;width:100%}
    nav[aria-label="Main"].open{display:block}
    nav[aria-label="Main"] ul{flex-direction:column;align-items:center;text-align:center;gap:1.1rem;padding:1.2rem 0 .6rem}
  }

  /* Hero */
  .hero{
    position:relative;padding:0;color:#fff;overflow:hidden;
    background:#FFFFFF;
    display:flex;align-items:center;
    margin-top:-150px;min-height:100vh;
  }
  .hero-bg{
    position:absolute;inset:0;z-index:0;
    background-size:cover;background-position:center;
    opacity:0;transition:opacity 1.4s ease;
  }
  .hero-bg.active{opacity:1}
  .hero-bg--bottom{background-size:auto 100%;background-position:center bottom;background-repeat:no-repeat;background-color:#fff}
  .hero-inner{position:relative;z-index:2;padding:3rem 1.25rem 3rem 3rem;max-width:640px}
  .hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(60,20,40,.50) 0%,rgba(60,20,40,.22) 38%,rgba(60,20,40,0) 60%)}
  .hero h1{
    font-family:'Poppins',sans-serif;font-weight:400;color:#fff;
    font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.4;letter-spacing:-0.012em;margin-bottom:1.6rem;
    text-shadow:0 1px 10px rgba(50,15,35,.4);
  }
  .hero h1 strong{color:#fff;font-weight:700}
  .hero-ctas{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center}
  .rating-pill{
    display:inline-flex;align-items:center;gap:.5rem;
    background:#fff;color:#3D1E30;font-weight:600;
    border:1px solid var(--line);border-radius:999px;padding:.75rem 1.4rem;
  }
  .rating-pill .stars{color:var(--gold);letter-spacing:.1em}

  /* Story */
  .story{background:var(--blush)}
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
  .split.rev{grid-template-columns:.95fr 1.05fr}
  .split img{border-radius:var(--radius);box-shadow:0 14px 40px rgba(196,43,99,.16)}
  .split h2{font-size:clamp(1.9rem,3.8vw,2.7rem);margin-bottom:1.2rem}
  .story h2{font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:-0.012em}
  .story p,.catering p{font-size:clamp(1.03rem,1.8vw,1.375rem);letter-spacing:-0.012em;line-height:1.6}
  .split p{margin-bottom:1.05rem;max-width:34rem}
  .split .btn{margin-top:.6rem}
  @media (max-width:860px){.split,.split.rev{grid-template-columns:1fr}}

  /* Fan favorites */
  .menu{background:var(--cream)}
  .fav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:1.6rem}
  .fav-card{
    background:var(--card);border-radius:var(--radius);overflow:hidden;
    box-shadow:0 10px 30px rgba(196,43,99,.10);
    display:flex;flex-direction:column;
  }
  .fav-card img{aspect-ratio:1/1;object-fit:cover;width:100%}
  .fav-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
  .fav-body h3{font-size:1.28rem;color:#B5487A}
  .fav-body p{font-size:.95rem}
  .fav-body a{
    margin-top:auto;align-self:flex-start;font-weight:600;text-decoration:none;
    color:var(--magenta);border:1.5px solid var(--magenta);border-radius:999px;
    padding:.55rem 1.3rem;
  }
  .fav-body a:hover{background:var(--blush)}

  /* Catering */
  .catering{background:var(--blush)}

  /* Rewards */
  .rewards{background:var(--band-pink)}
  .rewards h2{font-family:'Cooper Black Pro','Baloo 2',sans-serif;font-weight:400;font-size:clamp(1.7rem,3.4vw,2.375rem);letter-spacing:-0.012em;line-height:1.22}
  .rewards h2 strong{font-weight:400;font-size:clamp(1.9rem,3.8vw,2.625rem)}
  .rewards .split p{font-size:clamp(1.05rem,1.9vw,1.5rem);letter-spacing:-0.012em;line-height:1.55}

  /* Gallery */
  .food{background:var(--cream);padding-bottom:0}
  .gallery-rows{margin-top:2.5rem}
  .gallery-row{display:grid;gap:0}
  .gallery-row.cols-5{grid-template-columns:repeat(5,1fr)}
  .gallery-row.cols-5b{grid-template-columns:repeat(5,1fr)}
  .gallery-row img{width:100%;object-fit:cover;display:block}
  .gallery-row.cols-5 img{height:min(23vw,400px)}
  .gallery-row.cols-5b img{height:min(20vw,360px)}
  @media (max-width:700px){
    .gallery-row.cols-5,.gallery-row.cols-5b{grid-template-columns:repeat(2,1fr)}
    .gallery-row img{height:auto;aspect-ratio:1}
  }

  /* Reviews */
  .reviews{background:var(--reviews-pink);color:#4A1B33}
  .reviews .pill-tag{background:rgba(255,255,255,.5);color:#A81F52}
  .reviews h2{color:#fff;text-shadow:0 1px 10px rgba(168,31,82,.25)}
  .reviews h2 strong{color:#FCE3ED}
  .score{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:-0.75rem 0 2.5rem;color:#fff;font-weight:600}
  .score .num{font-size:2.2rem;font-family:'Baloo 2',sans-serif}
  .score .stars{color:var(--gold);font-size:1.3rem;letter-spacing:.12em}
  .review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
  .review-card{
    background:rgba(255,255,255,.42);border-radius:var(--radius);
    padding:1.8rem;display:flex;flex-direction:column;gap:1.2rem;
  }
  .review-card .qmark{font-family:Georgia,serif;font-size:2.6rem;line-height:.6;color:var(--magenta)}
  .review-card blockquote{font-style:italic;font-size:1rem}
  .reviewer{display:flex;align-items:center;gap:.8rem;font-weight:600;color:#3D1226}
  .avatar{
    width:44px;height:44px;border-radius:50%;flex:none;
    background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;
    font-weight:600;
  }
  .reviewer .stars{color:var(--gold);font-size:.85rem;letter-spacing:.12em;display:block}

  /* FAQ */
  .faq{background:var(--cream)}
  .faq details{
    background:var(--card);border-radius:16px;box-shadow:0 6px 20px rgba(196,43,99,.08);
    padding:1.2rem 1.5rem;margin:0 auto .95rem;max-width:54rem;
  }
  .faq summary{font-weight:600;font-size:1.06rem;color:#B5487A;cursor:pointer}
  .faq details[open] summary{margin-bottom:.7rem}
  .faq details p{margin-bottom:.75rem;font-size:.98rem}
  .faq details p:last-child{margin-bottom:0}

  /* Wave divider */
  .wave{display:block;width:100%;height:60px;margin-bottom:-1px}

  /* Locations */
  .locations{background:var(--loc-pink);padding-top:3.5rem}
  .locations .pill-tag{background:rgba(255,255,255,.55);color:#A81F52}
  .locations h2{color:#fff;text-shadow:0 1px 10px rgba(168,31,82,.25)}
  .locations h2 strong{color:#FCE3ED}
  .loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem}
  .loc-card{
    background:var(--card);border-radius:var(--radius);padding:2rem 1.8rem;
    box-shadow:0 12px 30px rgba(168,31,82,.16);
    display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;
  }
  .loc-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.55rem;color:var(--magenta)}
  .loc-card address{font-style:normal;font-size:.98rem}
  .loc-card .tel{font-weight:500;text-decoration:none;color:var(--body)}
  .loc-card .tel:hover{text-decoration:underline}
  .hours-label{font-weight:600;letter-spacing:.14em;font-size:.78rem;color:var(--magenta);text-transform:uppercase;margin-top:.3rem}
  .loc-card table{border-collapse:collapse;font-size:.95rem}
  .loc-card th{text-align:right;font-weight:400;padding-right:.6rem}
  .loc-card td{text-align:left;font-weight:600;color:#5E2B44}
  .loc-card .btn{margin-top:auto}
  .loc-finder{
    background:var(--grad);color:#fff;align-items:center;justify-content:center;gap:1.1rem;
  }
  .loc-finder h3{font-family:'Playfair Display',Georgia,serif;color:#fff;font-size:1.65rem}
  .loc-finder p{color:#FCE3ED}
  .loc-finder .btn{background:#fff;color:var(--magenta);box-shadow:none}
  .pin{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}

  /* Join / forms accordions */
  .join{background:var(--cream)}
  .join details{
    background:var(--card);border-radius:18px;box-shadow:0 8px 24px rgba(196,43,99,.09);
    padding:1.4rem 1.7rem;margin:0 auto 1.1rem;max-width:60rem;
  }
  .join summary{
    display:flex;align-items:center;gap:.8rem;
    font-family:'Baloo 2',sans-serif;font-weight:600;font-size:1.25rem;color:#5E2B44;cursor:pointer;
  }
  .join summary::marker{content:""}
  .join summary::after{content:"▾";margin-left:auto;color:var(--magenta)}
  .join details[open] summary::after{content:"▴"}
  .hiring{
    background:rgba(196,43,99,.12);color:var(--magenta);font-family:'Poppins',sans-serif;
    font-size:.72rem;font-weight:600;letter-spacing:.12em;border-radius:999px;padding:.3rem .8rem;
  }
  .join form{margin-top:1.4rem}
  .field{margin-bottom:1rem}
  .field label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.95rem;color:#5E2B44}
  .field input,.field textarea,.field select{
    width:100%;padding:.75rem .9rem;border:1.5px solid var(--line);
    border-radius:12px;font:inherit;background:#FFFDFE;color:#4A1B33;
  }
  .field textarea{min-height:6rem;resize:vertical}
  .field .hint{font-size:.85rem;margin-top:.3rem}

  /* Accessibility statement */
  .a11y{background:var(--blush);padding:3rem 0}
  .a11y h2{font-size:1.6rem;margin-bottom:.8rem}
  .a11y p{max-width:46rem;margin-bottom:.8rem}

  /* Footer */
  footer.site-footer{background:var(--plum);color:#F5C9DA;padding:3.5rem 0 2.5rem;text-align:center}
  .badge{margin:0 auto 1.6rem;width:120px}
  .badge img{border-radius:50%}
  .social-links{display:flex;gap:1rem;list-style:none;justify-content:center;margin-bottom:1.8rem}
  .social-links a{
    display:inline-flex;width:46px;height:46px;border-radius:50%;
    align-items:center;justify-content:center;border:1.5px solid rgba(245,201,218,.55);
    color:#F5C9DA;text-decoration:none;
  }
  .social-links a:hover{background:rgba(245,201,218,.15)}
  .footer-nav ul{display:flex;gap:1.5rem;list-style:none;flex-wrap:wrap;justify-content:center;margin-bottom:1.6rem}
  .footer-nav a{color:#F5C9DA;text-decoration:none;font-weight:500}
  .footer-nav a:hover{text-decoration:underline}
  .copyright{font-size:.9rem;color:#D9A4BC}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Shared sub-page + dialog styles ---- */
.page-hero{padding:3.5rem 0 0.5rem;text-align:center}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem)}
.narrow{max-width:46rem;margin:0 auto}
.page-section{padding:2.5rem 0 4.5rem}
dialog.order-dialog{
  margin:auto;position:fixed;inset:0;height:fit-content;
  border:none;border-radius:24px;background:var(--cream);color:var(--body);
  padding:2.5rem 2.75rem;max-width:26rem;width:92%;text-align:center;
  box-shadow:0 30px 80px rgba(79,11,51,.35);
}
dialog.order-dialog::backdrop{background:rgba(22,12,18,.55)}
dialog.order-dialog img{height:64px;width:auto;margin:0 auto 1.2rem}
dialog.order-dialog h2{font-size:1.9rem;margin-bottom:.4rem}
dialog.order-dialog p{margin-bottom:1.5rem}
dialog.order-dialog .btn{display:block;margin:0 0 .9rem;width:100%}
.dialog-close{
  position:absolute;top:.9rem;right:1.1rem;background:none;border:none;
  font-size:1.5rem;line-height:1;color:var(--body);cursor:pointer;padding:.3rem;
}
.disclaimer{font-size:.85rem;margin-top:1.2rem}

/* ---- Mobile refinements ---- */
@media (max-width:700px){
  .wrap{padding:0 1.1rem}
  .logo-link img{height:64px}
  .header-inner{padding:.7rem 0;gap:.6rem}
  .hero-inner{padding:2.5rem 1.1rem 2.5rem}
  .hero{margin-top:-100px;min-height:100vh}
  section{padding:3rem 0}
  .split,.split.rev{gap:2rem}
  .hero-ctas .btn{width:auto;min-width:230px;padding-left:2.6rem;padding-right:2.6rem;text-align:center}
  .hero-ctas{flex-direction:column;align-items:center}
  .rating-pill{justify-content:center}
  .loc-card,.form-card{padding:1.5rem 1.25rem}
  dialog.order-dialog{padding:2rem 1.5rem}
}

/* ---- Franchise page ---- */
.value-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.4rem;margin:2.2rem 0 0}
.value-card{background:#fff;border-radius:18px;padding:1.6rem 1.4rem;box-shadow:0 8px 24px rgba(196,43,99,.09);text-align:center}
.value-card h3{font-size:1.25rem;margin-bottom:.4rem}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.why-card{background:#fff;border-radius:var(--radius);padding:1.8rem 1.6rem;box-shadow:0 10px 30px rgba(196,43,99,.10)}
.why-card h3{font-size:1.3rem;margin-bottom:.5rem;color:#B5487A}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;text-align:center;margin:2.4rem 0 1rem}
.stat-num{display:block;font-family:'Baloo 2',sans-serif;font-weight:600;font-size:2.5rem;color:var(--magenta);line-height:1.1}
.stat-label{font-size:.95rem}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.4rem}
.step-card{background:#fff;border-radius:18px;padding:1.6rem 1.5rem;box-shadow:0 8px 24px rgba(196,43,99,.09)}
.step-num{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;align-items:center;justify-content:center;font-family:'Baloo 2',sans-serif;font-weight:600;font-size:1.3rem;margin-bottom:.8rem}
.step-card h3{font-size:1.2rem;margin-bottom:.35rem;color:#B5487A}

/* ---- Hover motion ---- */
.btn{transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(196,43,99,.35)}
.fav-card,.loc-card,.why-card,.step-card,.value-card,.review-card,.faq details{transition:transform .25s ease, box-shadow .25s ease}
.fav-card:hover,.loc-card:hover,.why-card:hover,.step-card:hover,.value-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(196,43,99,.20)}
.fav-card img{transition:transform .35s ease}
.fav-card:hover img{transform:scale(1.05)}
.gallery-row img{transition:transform .3s ease, filter .3s ease}
.gallery-row img:hover{transform:scale(1.04);filter:brightness(1.05);position:relative;z-index:2}
.split img{transition:transform .3s ease}
.split img:hover{transform:scale(1.02)}
.social-links a:hover{transform:scale(1.12)}
.social-links a{transition:transform .2s ease, background .2s ease}
.logo-link img{transition:transform .2s ease}
.logo-link:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){
  .btn:hover,.fav-card:hover,.loc-card:hover,.why-card:hover,.step-card:hover,.value-card:hover,
  .fav-card:hover img,.gallery-row img:hover,.split img:hover,.social-links a:hover,.logo-link:hover img{transform:none!important}
}

/* ---- Mobile centering (phones only; desktop unchanged) ---- */
@media (max-width:700px){
  /* centered logo, Menu button pinned right */
  .header-inner{justify-content:center;position:relative}
  .nav-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%)}
  /* hero copy centered — full width so the block itself is centered on screen */
  .hero-inner{text-align:center;width:100%}
  /* story / catering / rewards blocks centered */
  .split{text-align:center}
  .split h2{text-align:center}
  /* menu cards: text and Order Now centered */
  .fav-body{align-items:center;text-align:center}
  .fav-body a{align-self:center}
  /* section headings + pills centered */
  .section-title{text-align:center}
  .pill-tag{margin-left:auto;margin-right:auto}
  section .wrap > .pill-tag, .split .pill-tag{display:inline-flex}
  .split > div{display:flex;flex-direction:column;align-items:center}
  .split p{text-align:center}
}

/* gallery tiles as Instagram links */
.gallery-row a{display:block;font-size:0}

/* ---- Footer columns ---- */
.footer-cols{display:grid;grid-template-columns:repeat(3,230px);gap:2rem 2.5rem;justify-content:center;text-align:center;margin-bottom:2rem}
.footer-cols h3{font-family:'Baloo 2',sans-serif;font-weight:600;font-size:1.05rem;color:#fff;margin-bottom:.6rem}
.footer-cols ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.footer-cols a{color:#F5C9DA;text-decoration:none;font-weight:500}
.footer-cols a:hover{text-decoration:underline}
@media (max-width:700px){
  .footer-cols{grid-template-columns:1fr;text-align:center;gap:1.6rem}
}

/* ---- Mobile nav + gallery fixes ---- */
main section[id]{scroll-margin-top:150px}
@media (max-width:700px){
  main section[id]{scroll-margin-top:105px}
  .header-inner{flex-wrap:wrap}
  nav[aria-label="Main"]{order:3}
  .gallery-row a:nth-child(odd):last-child{grid-column:1/-1}
  .gallery-row a:nth-child(odd):last-child img{aspect-ratio:16/9}
}

/* ---- Jagged-seam gallery: straight top/bottom, uneven middle ---- */
.gallery-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:0;height:min(58vw,820px);margin-top:2.5rem}
.gallery-col{display:flex;flex-direction:column;min-width:0}
.gallery-col a{display:block;font-size:0;overflow:hidden;min-height:0}
.gallery-col a img{width:100%;height:100%;object-fit:cover;display:block}
.gc1 a:first-child{flex:57}.gc1 a:last-child{flex:43}
.gc2 a:first-child{flex:41}.gc2 a:last-child{flex:59}
.gc3 a:first-child{flex:63}.gc3 a:last-child{flex:37}
.gc4 a:first-child{flex:46}.gc4 a:last-child{flex:54}
.gc5 a:first-child{flex:52}.gc5 a:last-child{flex:48}
@media (max-width:700px){
  .gallery-cols{grid-template-columns:repeat(2,1fr);height:auto}
  .gallery-col{display:contents}
  .gallery-col a img{aspect-ratio:1;height:auto}
}

/* franchise FDD tables + legend (v29) */
.fdd-table-wrap{max-width:820px;margin:2rem auto;overflow-x:auto}
.fdd-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(52,19,32,.07)}
.fdd-table th{font-family:'Baloo 2',sans-serif;font-weight:700;background:var(--magenta);color:#fff;text-align:left;padding:.9rem 1.2rem;font-size:1rem}
.fdd-table td{padding:.8rem 1.2rem;border-top:1px solid #F6DFE9;color:var(--body);font-weight:500}
.fdd-table td:last-child,.fdd-table th:last-child{text-align:right}
.fdd-table .fdd-total td{font-family:'Baloo 2',sans-serif;font-weight:700;color:var(--magenta);background:#FDF1F6;font-size:1.05rem}
.fdd-note{max-width:820px;margin:1rem auto 0;font-size:.85rem;color:#8a6a79;text-align:center}
.fdd-legend{max-width:920px;margin:0 auto;font-size:.78rem;line-height:1.6;color:#9a7b8a;text-align:center}

/* franchise microsite (v30) */
.franchise-nav{background:#fff;border-bottom:1px solid #F6DFE9;position:sticky;top:0;z-index:40}
.franchise-nav .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 1.8rem;padding:.75rem 1rem}
.franchise-nav a{font-family:'Baloo 2',sans-serif;font-weight:600;font-size:.95rem;color:var(--body);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
.franchise-nav a:hover{color:var(--magenta);border-bottom-color:var(--magenta)}
.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.2rem}
.food-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.food-grid figcaption{margin-top:.7rem;color:var(--body);font-size:.95rem;line-height:1.5}
.food-grid figcaption strong{font-family:'Baloo 2',sans-serif;color:var(--magenta);font-size:1.05rem}
.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2rem}
.faq-list{max-width:820px;margin:2rem auto 0}
.faq-list details{background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(52,19,32,.06);margin-bottom:1rem;padding:1rem 1.4rem}
.faq-list summary{font-family:'Baloo 2',sans-serif;font-weight:700;color:var(--plum,#341320);cursor:pointer;font-size:1.05rem}
.faq-list p{margin-top:.7rem;color:var(--body)}
@media (max-width:760px){.food-grid{grid-template-columns:1fr}.support-grid{grid-template-columns:1fr}}

/* franchise landing v31 */
.mega-stat{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:clamp(3.2rem,8vw,6rem);color:var(--magenta);line-height:1;margin:1.2rem 0 .3rem}
.mega-stat-label{font-family:'Poppins',sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--body)}
.gallery-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.gallery-strip img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
@media (max-width:760px){.gallery-strip{grid-template-columns:repeat(3,1fr)}}
