/* Homepage layout: the shared header, footer and video hero retain their existing styles. */
.home-page main { background:var(--paper); }
.home-section { padding:64px 0; }
.home-section h2 { font-size:clamp(1.9rem,3.1vw,2.7rem); line-height:1.18; letter-spacing:-.025em; text-wrap:balance; margin:0 0 20px; }
.home-section p { max-width:60ch; }
.home-section .eyebrow { margin-bottom:12px; }
.home-section .button { margin-top:12px; max-width:100%; white-space:normal; text-align:center; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.home-section-heading h2 { margin-bottom:0; }
.home-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.95rem; font-weight:600; text-decoration:underline; }
.home-text-link span { font-size:1.2rem; }
.home-catering { background:var(--cream); }
.home-catering__grid { display:grid; grid-template-columns:1.3fr 1fr; gap:80px; align-items:center; }
.home-catering__grid > div { min-width:0; }
.home-catering__grid > div:first-child > p:not(.eyebrow) { margin-bottom:18px; }
.home-catering__facts { border-left:1px solid var(--line); padding-left:40px; }
.home-catering__facts p { margin:0 0 20px; }
.home-catering__facts strong,.home-catering__facts span { display:block; }
.home-catering__facts strong { font-size:1.05rem; margin-bottom:4px; }
.home-catering__facts span,.home-delivery-note { font-size:.9rem; line-height:1.6; }
.home-catering__facts .home-delivery-note { margin:0; }
.home-food { padding-bottom:56px; }
.home-photo-note { color:var(--olive); font-size:.875rem; margin:0; }
.home-food__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-food__tile { position:relative; margin:0; min-width:0; aspect-ratio:4/3; overflow:hidden; background:#eee9dd; border:1px solid #d8d1bf; }
.home-food__placeholder { display:grid; place-items:center; height:100%; padding-bottom:32px; background:radial-gradient(ellipse at 50% 35%,#f7f3e9,transparent 80%); }
.home-food__placeholder svg { width:38px; height:38px; stroke:#878a73; stroke-width:1.2; }
.home-food__tile figcaption { position:absolute; inset:auto 0 0; padding:12px 16px; font-size:.875rem; font-weight:500; color:var(--olive); background:rgba(244,239,228,.95); }
.home-food__tile > img { width:100%; height:100%; object-fit:cover; }
.home-reviews { padding-top:48px; background:var(--olive); color:var(--paper); }
.home-reviews h2 { color:var(--paper); }
.home-reviews .eyebrow { color:#e2bd67; }
.home-reviews a:focus-visible { outline-color:#e2bd67; }
.home-reviews__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.home-review { min-width:0; padding-top:20px; border-top:2px solid #a4aa92; }
.home-review__stars { color:#6d5927; letter-spacing:3px; font-size:1rem; }
.home-review blockquote { margin:12px 0 18px; font-size:1rem; line-height:1.7; }
.home-review blockquote p { margin:0; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.home-review__name { font-size:.875rem; font-weight:600; margin:0; }
.home-reviews__fallback { grid-column:1/-1; margin:0; }
.home-about { border-bottom:1px solid var(--line); }
.home-about__grid,.home-faq__grid { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.home-about__grid > div,.home-faq__grid > div { min-width:0; }
.home-about__grid p { margin-bottom:16px; }
.home-sisters { padding-bottom:48px; }
.home-sisters__grid { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.home-sisters__grid img { width:100%; height:320px; object-fit:cover; object-position:50% 35%; }
.home-sisters__grid > div { min-width:0; }
.home-popups { background:var(--cream); padding:24px 0; border-block:1px solid var(--line); }
.home-popups > .container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.home-popups p { margin:0; max-width:65ch; font-size:.95rem; }
.home-popups .home-text-link { flex-shrink:0; }
.home-faq details { border-bottom:1px solid var(--line); padding:0; }
.home-faq details:first-child { border-top:1px solid var(--line); }
.home-faq summary { padding:18px 32px 18px 0; cursor:pointer; font-weight:600; font-size:1rem; line-height:1.5; }
.home-faq details p { font-size:.95rem; padding:0 0 16px; margin:0; }
.home-allergens-link { margin-top:20px; font-size:.875rem; }
.home-enquire { background:var(--olive); color:var(--paper); padding:40px 0; }
.home-enquire > .container { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.home-enquire h2 { color:var(--paper); margin-bottom:8px; font-size:clamp(1.8rem,2.6vw,2.3rem); }
.home-enquire p { margin:0; }
.home-enquire .button { background:#e2bd67; border-color:#e2bd67; color:var(--black); margin:0; flex-shrink:0; }
.home-enquire .button:hover { background:var(--paper); border-color:var(--paper); }
@media (max-width:760px) {
  .home-section { padding:40px 0; }
  .home-section h2 { font-size:clamp(1.75rem,6.8vw,2.2rem); margin-bottom:16px; }
  .home-section .eyebrow { font-size:.68rem; margin-bottom:10px; }
  .home-catering__grid,.home-about__grid,.home-faq__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-catering__facts { padding:20px 0 0; border-left:0; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .home-catering__facts p { margin:0; }
  .home-catering__facts strong { font-size:.95rem; }
  .home-catering__facts span,.home-delivery-note { font-size:.875rem; }
  .home-catering__facts .home-delivery-note { grid-column:1/-1; }
  .home-section-heading { display:block; margin-bottom:20px; }
  .home-section-heading h2 { margin-bottom:8px; }
  .home-section-heading .home-text-link { margin-top:4px; }
  .home-food__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-food__tile--lead { grid-column:1/-1; aspect-ratio:2/1; }
  .home-food__tile:not(.home-food__tile--lead) { aspect-ratio:4/3; }
  .home-food__tile figcaption { padding:8px 10px; font-size:.8rem; }
  .home-food__placeholder svg { width:30px; height:30px; }
  .home-reviews__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-review { padding-top:16px; }
  .home-review blockquote { margin:8px 0 12px; }
  .home-review blockquote p { -webkit-line-clamp:4; }
  .home-sisters__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-sisters__grid img { height:auto; aspect-ratio:3/2; object-position:50% 30%; }
  .home-popups > .container { display:block; }
  .home-popups .home-text-link { margin-top:8px; }
  .home-faq__grid { gap:8px; }
  .home-faq summary { padding-block:16px; }
  .home-enquire > .container { display:block; }
  .home-enquire .button { margin-top:20px; width:100%; }
}
@media (max-width:359px) {
  .home-catering__facts { grid-template-columns:minmax(0,1fr); }
  .home-food__tile figcaption { font-size:.75rem; padding-inline:6px; }
}

/* Keep the ingredient explainer visual and playful, with a smaller phone footprint. */
.home-page .home-explainer { padding:56px 0; background:var(--cream); }
.home-page .home-explainer .container { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:64px; row-gap:28px; }
.home-page .home-explainer .layer-guide__heading { max-width:670px; }
.home-page .home-explainer h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.1; margin-bottom:18px; }
.home-page .home-explainer .layer-guide__heading p:not(.eyebrow) { font-size:1rem; line-height:1.7; }
.home-page .home-explainer .layer-guide__heading .home-layer-hint { margin-top:12px; font-family:var(--serif); font-style:italic; color:#835035; }
.home-page .home-explainer .layer-guide__stage { height:560px; min-height:0; }
.home-page .home-explainer .layer-guide__detail { border-bottom:5px solid #e2bd67; }
.home-catering { background:var(--olive); color:var(--paper); }
.home-catering h2 { color:var(--paper); }
.home-catering .eyebrow { color:#e2bd67; }
.home-catering__facts { border-color:#a8ae97; }
.home-catering .button { background:#e2bd67; border-color:#e2bd67; color:var(--black); }
.home-catering .button:hover { background:var(--paper); border-color:var(--paper); }
.home-food h2 { color:#8b4d35; }
.home-food__tile { border:0; border-radius:5px; background:#e7d5b0; }
.home-food__tile:nth-child(2) { background:#e6bea5; }
.home-food__tile:nth-child(3) { background:#c1c8af; }
.home-food__placeholder { background:none; }
.home-food__placeholder svg { width:42px; height:42px; stroke:#596348; }
.home-food__tile figcaption { background:rgba(255,253,248,.65); color:var(--ink); }
.home-review { background:var(--paper); color:var(--ink); border:0; border-top:4px solid #c69461; border-radius:4px; padding:24px; }
.home-review:nth-child(2) { border-top-color:#b77756; }
.home-review:nth-child(3) { border-top-color:#86946c; }
.home-sisters__grid img { border-radius:4px 36px 4px 4px; }
.home-page .dabeli-game { border-top:5px solid #e2bd67; }
.home-page .dabeli-game__intro h2 { font-size:clamp(2rem,4vw,3.5rem); }
@media (max-width:760px) {
  .home-page .home-explainer { padding:36px 0; }
  .home-page .home-explainer .container { grid-template-columns:minmax(0,1fr); gap:20px; }
  .home-page .home-explainer .layer-guide__heading { max-width:none; text-align:left; margin:0; }
  .home-page .home-explainer h2 { font-size:2rem; margin-bottom:14px; }
  .home-page .home-explainer .layer-guide__stage { height:450px; margin:0; }
  .home-page .home-explainer .layer-guide__detail { padding:22px; }
  .home-page .home-explainer .layer-guide__detail h3 { font-size:1.6rem; }
  .home-catering__facts { border-top-color:#a8ae97; }
  .home-review { padding:20px; }
  .home-page .dabeli-game__grid { padding-block:32px; }
  .home-page .dabeli-game__intro h2 { font-size:2rem; }
}
@media (max-width:359px) {
  .home-page .home-explainer .layer-guide__stage { height:410px; }
  .home-page .home-explainer .layer-hotspot__line { width:20px; }
}

/* A single, swipeable media banner preserves each supplied photo's proportions. */
.home-share__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.home-share__heading h2 { margin:0; }
.home-share__controls { display:flex; gap:8px; flex-shrink:0; }
.home-share__controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--cream); cursor:pointer; }
.home-share__controls button:hover:not(:disabled) { color:var(--paper); background:var(--olive); border-color:var(--olive); }
.home-share__controls button:disabled { opacity:.35; cursor:default; }
.home-share__controls svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
.home-share__track { --share-height:330px; display:flex; gap:16px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#a7ad98 var(--cream); overscroll-behavior-x:contain; }
.home-share__track:focus-visible { outline:3px solid var(--warm); outline-offset:4px; }
.home-share__item { flex:0 0 auto; width:calc(var(--share-height) * var(--media-ratio)); max-width:100%; height:var(--share-height); margin:0; overflow:hidden; border-radius:4px; background:var(--cream); scroll-snap-align:start; }
.home-share__item > a { display:block; width:100%; height:100%; }
.home-share__item img,.home-share__item video { display:block; width:100%; height:100%; max-width:none; object-fit:contain; }
@media (max-width:760px) {
  .home-share__heading { gap:12px; margin-bottom:20px; }
  .home-share__heading h2 { margin:0; }
  .home-share__track { --share-height:clamp(170px,48vw,230px); gap:12px; }
}
