/* HungryMoose redesign v6 — warm, bright, premium early-years */
:root{
  --navy:#0F2F4A; --navy-2:#1E4466; --gold:#ECC366; --gold-deep:#A9851F; --gold-soft:#F6E7B4;
  --ivory:#FFFBF3; --cream:#FBF3E3; --butter:#FFF3D1; --sky:#EAF2F8; --sky-2:#D5E5F1; --peach:#FDEDE3; --sage:#E7F1E4;
  --pop:#D34527; --pop-dark:#B1351B; --ink:#1B2B3A; --muted:#566676; --line:#EADFC8; --white:#FFFFFF;
  --display:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Nunito Sans","Segoe UI",system-ui,sans-serif;
  --hand:"Caveat","Bradley Hand",cursive;
  --r:22px; color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--navy-2)}
h1,h2,h3{font-family:var(--display);color:var(--navy);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:700}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:700}
h3{font-size:1.22rem;font-weight:600}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-inline:22px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.eyebrow{display:inline-block;font-weight:800;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}
.hand{font-family:var(--hand);font-weight:700;color:var(--gold-deep);font-size:1.7rem;line-height:1}
.lead{font-size:1.18rem;color:var(--muted);max-width:40ch}
.muted{color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:600;font-size:1rem;border-radius:999px;padding:13px 24px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-cta{background:var(--pop);color:#fff;box-shadow:0 6px 18px rgba(211,69,39,.34)}
.btn-cta:hover{background:var(--pop-dark)}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 6px 18px rgba(236,195,102,.35)}
.btn-navy{background:var(--navy);color:#fff}
.btn-line{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-light{border-color:#fff;color:#fff}
.btn-sm{padding:9px 16px;font-size:.92rem}

/* top bar + header */
.topbar{background:var(--gold);color:var(--navy);font-size:.92rem;font-weight:800}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;padding-block:8px;text-align:center}
.topbar a{color:var(--navy);text-decoration-thickness:2px;text-underline-offset:3px}
@media (max-width:820px){.topbar{font-size:.88rem}.topbar .wrap{gap:2px 16px;padding-block:9px}}
.tb-line{white-space:nowrap}
@media (max-width:620px){.hide-sm{display:none}}
@media (max-width:380px){.topbar{font-size:.82rem}}
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:#fff;box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;gap:18px;padding-block:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand .badge{width:76px;height:76px}
.brand .wordmark{height:56px;width:auto}
.links{display:flex;align-items:center;gap:2px;margin-left:auto}
.links a{font-weight:700;font-size:.95rem;color:var(--navy);text-decoration:none;padding:8px 11px;border-radius:999px;white-space:nowrap}
.links a:hover,.links a[aria-current="page"]{background:var(--cream)}
.nav-cta{display:flex;gap:8px}
.menu-btn{display:none;margin-left:auto;font:inherit;font-weight:800;background:var(--cream);border:0;border-radius:999px;padding:10px 16px;color:var(--navy);cursor:pointer}
@media (max-width:1240px){
  .links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:10px 22px 20px;box-shadow:0 12px 24px rgba(15,47,74,.1)}
  .links.open{display:flex}
  .menu-btn{display:inline-flex}
  .nav-cta .btn-line{display:none}
}
@media (max-width:640px){.brand .wordmark{height:40px}.brand .badge{width:56px;height:56px}.nav-cta{display:none}}

/* hero */
.hero{background:radial-gradient(ellipse at 100% 0%,var(--butter),transparent 55%),radial-gradient(ellipse at 0% 100%,var(--sky),transparent 50%),var(--ivory);padding-block:clamp(36px,6vw,76px) clamp(48px,7vw,90px)}
.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero h1 em{font-style:normal;color:var(--gold-deep);display:block}
.hero .lead{margin-top:18px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-note{margin-top:16px;font-size:.93rem;color:var(--muted)}
.hero-note a{font-weight:700}
.hero-photo{position:relative}
.hero-photo>img{border-radius:32px;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;box-shadow:0 30px 60px -30px rgba(15,47,74,.45)}
.driver-card{position:absolute;left:-26px;bottom:-30px;background:#fff;border-radius:20px;padding:10px 16px 10px 10px;display:flex;gap:12px;align-items:center;box-shadow:0 18px 40px -18px rgba(15,47,74,.45);max-width:290px}
.driver-card img{width:64px;height:64px;border-radius:14px;object-fit:cover;object-position:top}
.driver-card b{display:block;font-family:var(--display);color:var(--navy);font-size:1rem;line-height:1.2}
.driver-card span{font-size:.84rem;color:var(--muted);line-height:1.3;display:block}
.sticker{position:absolute;right:-10px;top:-18px;background:var(--gold);color:var(--navy);font-family:var(--hand);font-size:1.45rem;font-weight:700;padding:10px 18px;border-radius:999px;transform:rotate(4deg);box-shadow:0 10px 20px -10px rgba(0,0,0,.3)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.driver-card{left:12px;bottom:-26px}.sticker{right:8px}}

/* facts strip */
.facts{background:var(--navy);color:#fff}
.facts ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.facts li{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:.93rem;line-height:1.35}
.facts li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230F2F4A' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}
@media (max-width:980px){.facts ul{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.facts ul{grid-template-columns:1fr}}

/* sections */
.section{padding-block:clamp(56px,8vw,96px)}
.bg-cream{background:var(--cream)}.bg-sky{background:var(--sky)}.bg-butter{background:var(--butter)}.bg-white{background:#fff}.bg-peach{background:var(--peach)}
.head{display:grid;gap:12px;max-width:720px;margin-bottom:36px}
.head p{color:var(--muted);font-size:1.08rem}
.center{text-align:center;margin-inline:auto;justify-items:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.flip>:first-child{order:2}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.flip>:first-child{order:0}}
.stack{display:grid;gap:18px}
.stack>p{color:var(--muted);max-width:58ch}
.photo{border-radius:28px;overflow:hidden;box-shadow:0 24px 50px -30px rgba(15,47,74,.5)}
.photo img{width:100%;height:100%;object-fit:cover}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{padding-left:32px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23D4AF37' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* problem cards */
.problems{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.problem{background:#fff;border-radius:var(--r);padding:26px;display:grid;gap:10px;align-content:start;border:1px solid var(--line)}
.problem .q{font-family:var(--hand);font-size:1.7rem;color:var(--gold-deep);line-height:1}
.problem p{color:var(--muted)}
.problem .fix{color:var(--navy);font-weight:700;border-top:1px dashed var(--line);padding-top:10px}
@media (max-width:900px){.problems{grid-template-columns:1fr}}

/* driver feature */
.driver{display:grid;grid-template-columns:.8fr 1.15fr .95fr;gap:clamp(22px,3vw,44px);align-items:stretch}
.driver-copy{display:grid;gap:16px;align-content:center}
.driver-copy p{color:var(--muted)}
.driver-cut{background:#fff;border-radius:24px;display:grid;place-items:end center;padding:16px 14px 0;box-shadow:0 20px 40px -30px rgba(15,47,74,.5);overflow:hidden}
.driver-cut img{width:auto;max-width:100%;max-height:500px;image-rendering:auto}
.driver-media{display:grid;gap:14px;align-content:center}
.driver-media>.photo{aspect-ratio:4/3;max-width:420px;justify-self:end;width:100%}
.driver-media>.photo img{object-position:center 28%}
.van{background:#fff;border-radius:20px;padding:10px;box-shadow:0 16px 34px -26px rgba(15,47,74,.5);max-width:420px;justify-self:end;width:100%}
.van img{border-radius:12px}
.van small{display:block;font-size:.76rem;color:var(--muted);padding:6px 4px 0}
@media (max-width:1040px){.driver{grid-template-columns:.9fr 1.1fr}.driver-media{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start}}
@media (max-width:620px){.driver{grid-template-columns:1fr}.driver-media{grid-template-columns:1fr}.driver-cut img{max-height:340px}}

/* plates */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.plate{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.plate img{aspect-ratio:4/3;object-fit:cover;width:100%}
.plate div{padding:14px 18px}
.plate small{font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.plate b{display:block;font-family:var(--display);color:var(--navy);font-size:1.08rem;line-height:1.25}
@media (max-width:860px){.plates{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.plates{grid-template-columns:1fr}}
.foot-note{margin-top:18px;font-size:.88rem;color:var(--muted)}

/* smiles mosaic */
.mosaic{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:18px;min-height:520px}
.mosaic .photo:first-child{grid-row:1/3}
.mosaic figure{margin:0;position:relative}
.mosaic figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);border-radius:12px;padding:6px 12px;font-weight:700;font-size:.88rem;color:var(--navy)}
@media (max-width:760px){.mosaic{grid-template-columns:1fr;grid-template-rows:none;min-height:0}.mosaic .photo:first-child{grid-row:auto}.mosaic .photo{aspect-ratio:4/3}}

/* benefits */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit{background:#fff;border-radius:var(--r);padding:24px;display:grid;gap:8px;align-content:start}
.benefit .ico{width:44px;height:44px;border-radius:14px;background:var(--butter);display:grid;place-items:center}
.benefit .ico svg{width:24px;height:24px;stroke:var(--navy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.benefit p{color:var(--muted);font-size:.97rem}
@media (max-width:900px){.benefits{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.benefits{grid-template-columns:1fr}}

/* quote */
.quote{max-width:860px;margin:0 auto;text-align:center;display:grid;gap:18px;justify-items:center}
.quote blockquote{margin:0;font-family:var(--display);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.35;color:var(--navy);font-weight:500}
.quote cite{font-style:normal;font-weight:800;color:var(--gold-deep);letter-spacing:.04em}
.quote .src{font-size:.8rem;color:var(--muted)}

/* taster */
.taster{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:34px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center;position:relative;overflow:hidden}
.taster h2{color:#fff}
.taster p{color:#D8E3EE;margin-top:12px;max-width:52ch}
.taster .hand{color:var(--gold)}
.taster ol{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:t}
.taster ol li{counter-increment:t;display:flex;gap:12px;align-items:center;color:#fff;font-weight:600}
.taster ol li::before{content:counter(t);flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-weight:700}
.taster .photo{aspect-ratio:1/1;border:6px solid rgba(255,255,255,.14)}
@media (max-width:860px){.taster{grid-template-columns:1fr}}

/* existing customers band */
.orderband{background:#fff;border:2px solid var(--gold-soft);border-radius:26px;padding:26px clamp(20px,4vw,40px);display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between}
.orderband h3{font-size:1.45rem}
.orderband p{color:var(--muted)}

/* page hero */
.page-hero{background:radial-gradient(ellipse at 100% 0%,var(--butter),transparent 60%),var(--cream);padding-block:clamp(40px,6vw,70px)}
.page-hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.page-hero .grid.solo{grid-template-columns:1fr}
.page-hero p{color:var(--muted);font-size:1.12rem;max-width:56ch;margin-top:14px}
.page-hero .photo{aspect-ratio:4/3}
@media (max-width:860px){.page-hero .grid{grid-template-columns:1fr}}
.content{padding-block:clamp(44px,6vw,80px)}
.content .wrap>h2{margin-top:44px;margin-bottom:14px}
.content .wrap>h2:first-child{margin-top:0}
.content .wrap>p{max-width:70ch;color:var(--muted);margin-bottom:12px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-block:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:8px;align-content:start}
.card p{color:var(--muted);font-size:.97rem}
@media (max-width:860px){.cards{grid-template-columns:1fr}}
.panel{background:#fff;border-radius:var(--r);padding:24px;border:1px solid var(--line);display:grid;gap:8px}
.panel p{color:var(--muted)}
.notice{background:var(--butter);border-radius:16px;padding:16px 20px;margin-top:22px;font-size:.95rem}
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px}
.faq summary{font-family:var(--display);font-weight:600;color:var(--navy);cursor:pointer;font-size:1.08rem}
.faq details p{margin-top:10px;color:var(--muted)}
.faq h3{margin-top:22px;color:var(--gold-deep);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;text-decoration:none;display:grid;gap:4px}
.tile span{font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.tile b{font-family:var(--display);color:var(--navy);font-size:1.08rem;line-height:1.25}
.tile:hover{border-color:var(--gold)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.member{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:4px;justify-items:start}
.member .ini{width:52px;height:52px;border-radius:50%;background:var(--sky);color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.2rem;margin-bottom:6px}
.member span{color:var(--muted);font-size:.93rem}
@media (max-width:860px){.team{grid-template-columns:1fr 1fr}}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-lines{display:grid;gap:16px}
.contact-lines a.big{font-family:var(--display);font-weight:700;font-size:1.4rem;text-decoration:none;color:var(--navy)}
.form{background:#fff;border-radius:26px;padding:26px;display:grid;gap:12px;box-shadow:0 24px 50px -34px rgba(15,47,74,.5);border:1px solid var(--line)}
.form label{font-weight:800;font-size:.9rem;color:var(--navy)}
.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--ivory);width:100%}
.form textarea{min-height:120px}
.form small{color:var(--muted)}

/* footer */
.cta-strip{background:var(--butter);padding-block:40px}
.cta-strip .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.cta-strip h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.footer{background:#062D4B;color:#C9D7E4;padding-block:54px 110px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.footer img.flogo{width:190px;height:auto}
.footer h3{color:#fff;font-size:1rem;margin-bottom:10px}
.footer a{color:#C9D7E4;text-decoration:none;display:block;padding:3px 0}
.footer a:hover{color:var(--gold)}
.footer small{display:block;border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:16px}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer a,.contact-lines a.big{overflow-wrap:anywhere}
.mobile-order{display:none}
@media (max-width:760px){
  .mobile-order{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -6px 20px rgba(15,47,74,.12)}
  .mobile-order .btn{flex:1}
}
.review-bar{background:#46505B;color:#fff;font-size:.82rem}
.review-bar .wrap{padding-block:7px;display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between}
.review-bar b{color:var(--gold)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* reviews + instagram */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:10px;align-content:start}
.stars{display:flex;gap:3px}
.stars svg{width:18px;height:18px;fill:#F4B400}
.review p{color:var(--ink)}
.review .who{color:var(--muted);font-size:.9rem;font-weight:700}
.review .via{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted);font-weight:700;border-top:1px solid var(--line);padding-top:10px}
.review .via .g{font-family:var(--display);font-weight:700;color:#4285F4}
.pending{border-style:dashed;background:var(--cream)}
.pending .ph-line{height:11px;border-radius:6px;background:#E6DCC6}
.pending .ph-line+.ph-line{margin-top:8px}
.rev-head{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between}
.rating-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 20px}
.rating-badge b{font-family:var(--display);font-size:1.6rem;color:var(--navy);line-height:1}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}
.ig-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-bottom:22px}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ig-grid a{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:var(--cream)}
.ig-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.ig-grid a:hover img{transform:scale(1.05)}
.ig-grid .tagdot{position:absolute;right:8px;top:8px;background:rgba(255,255,255,.92);border-radius:8px;padding:2px 7px;font-size:.68rem;font-weight:800;color:var(--navy)}
@media (max-width:900px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:420px){.ig-grid{grid-template-columns:repeat(2,1fr)}}

/* accreditations */
.accs{display:grid;grid-template-columns:repeat(auto-fit,minmax(186px,1fr));gap:14px;margin-top:26px}
.acc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 14px;display:grid;place-items:center;align-content:center;gap:8px;min-height:132px;text-align:center}
.acc img{height:68px;max-width:100%;width:auto;object-fit:contain}
.acc.mark{gap:6px}
.acc .oval{width:112px;height:62px;border:3px solid var(--navy);border-radius:50%;display:grid;place-content:center;text-align:center;font-family:var(--display);font-weight:700;color:var(--navy);line-height:1.05}
.acc .oval small{display:block;font-size:.72rem;letter-spacing:.06em}
.acc .oval b{font-size:1.15rem;letter-spacing:.04em}
.acc figcaption{font-size:.7rem;color:var(--muted);font-weight:700;line-height:1.3;margin:0;max-width:100%}
@media (max-width:620px){.acc img{height:52px}.acc{min-height:104px;padding:12px}.accs{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}}

.acc.name b{font-family:var(--display);font-size:1.5rem;color:var(--navy);line-height:1}
.acc.name span{display:block;font-size:.7rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}

/* ---- daily food guide archive + single meal page (v7) ---- */
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.chip{font:inherit;font-weight:700;font-size:.9rem;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:8px 17px;cursor:pointer}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.chip:hover{border-color:var(--gold)}
.arch{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.arch-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;display:grid;grid-template-rows:auto 1fr}
.arch-card:hover{border-color:var(--gold);transform:translateY(-2px);transition:transform .15s,border-color .15s}
.arch-img{aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.arch-img img{width:100%;height:100%;object-fit:cover}
.arch-card>div:last-child{padding:14px 16px 16px;display:grid;gap:4px;align-content:start}
.arch-card span{font-weight:800;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.arch-card b{font-family:var(--display);color:var(--navy);font-size:1.05rem;line-height:1.25}
.arch-card em{font-style:normal;font-size:.9rem;color:var(--muted);line-height:1.45}
@media (max-width:1000px){.arch{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.arch{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.arch{grid-template-columns:1fr}}

.post-hero{background:radial-gradient(ellipse at 100% 0%,var(--butter),transparent 60%),var(--cream);padding-block:clamp(26px,4vw,50px) clamp(40px,6vw,70px)}
.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:24px}
.crumbs a{color:var(--muted);text-decoration:none;font-weight:700}
.crumbs a:hover{color:var(--navy)}
.crumbs span{margin:0 7px;opacity:.5}
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px);align-items:center}
.post-grid .photo{aspect-ratio:1/1}
@media (max-width:860px){.post-grid{grid-template-columns:1fr}}
.foot-note code{background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:.88em}
.member .bio{color:var(--muted);font-size:.92rem;line-height:1.5;margin-top:6px}
.member{align-content:start}

/* ---- Instagram as a focal point (v7) ---- */
.ig-band{background:linear-gradient(135deg,var(--navy) 0%,#153A5B 55%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.ig-band::after{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(236,195,102,.22),transparent 68%);pointer-events:none}
.ig-band h2,.ig-band h3{color:#fff}
.ig-hero{display:grid;grid-template-columns:1.55fr .75fr;gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:30px;position:relative;z-index:1}
.ig-title{font-size:clamp(2rem,4.2vw,3.1rem);margin-top:10px}
.ig-sub{color:#D3E1EE;margin-top:14px;max-width:54ch;font-size:1.08rem}
.ig-band .actions{margin-top:24px}
.ig-band .btn-gold{display:inline-flex;align-items:center;gap:9px}
.ig-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:26px 24px;text-align:center;justify-self:end;width:100%;max-width:260px}
.ig-stat b{display:block;font-family:var(--display);font-size:2.5rem;color:var(--gold);line-height:1}
.ig-stat span{display:block;margin-top:8px;font-size:.92rem;color:#D3E1EE;line-height:1.4}
.ig-band .ig-grid{grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.ig-band .ig-grid a{border-radius:20px;box-shadow:0 18px 36px -22px rgba(0,0,0,.6)}
.ig-band.compact .ig-grid{grid-template-columns:repeat(4,1fr)}
.ig-note{color:#B9CCDC!important;margin-top:20px;position:relative;z-index:1}
.ig-note strong{color:var(--gold)}
@media (max-width:900px){.ig-hero{grid-template-columns:1fr}.ig-stat{justify-self:start;max-width:100%}.ig-band .ig-grid{grid-template-columns:repeat(2,1fr)}}

/* ---- menu downloads ---- */
.dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dl{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 20px;text-decoration:none;display:grid;justify-items:center;gap:4px;text-align:center;transition:transform .15s,border-color .15s}
.dl:hover{border-color:var(--gold);transform:translateY(-2px)}
.dl-ico{width:46px;height:46px;color:var(--navy);display:grid;place-items:center;background:var(--butter);border-radius:14px;margin-bottom:8px}
.dl-ico svg{width:26px;height:26px}
.dl b{font-family:var(--display);color:var(--navy);font-size:1.15rem;line-height:1.2}
.dl em{font-style:normal;color:var(--muted);font-weight:700;font-size:.95rem}
.dl small{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-top:4px}
@media (max-width:820px){.dl-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.dl-grid{grid-template-columns:1fr}}

/* ---- wider header so the full menu fits (v7) ---- */
.header .wrap{max-width:1340px}
.links a{padding:8px 9px;font-size:.93rem}
@media (max-width:1180px){
  .links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:10px 22px 20px;box-shadow:0 12px 24px rgba(15,47,74,.1)}
  .links.open{display:flex}
  .menu-btn{display:inline-flex}
}
@media (min-width:1181px){.menu-btn{display:none}.links{display:flex;position:static;flex-direction:row;padding:0;box-shadow:none;background:none}}
@media (max-width:1460px) and (min-width:1181px){
  .nav{gap:10px}
  .links a{padding:8px 6px;font-size:.88rem}
  .brand .wordmark{height:46px}
  .nav-cta .btn-sm{padding:8px 12px;font-size:.86rem}
}

/* ---- menu cards with thumbnails (v7) ---- */
.dl{padding:16px 16px 20px;gap:2px}
.dl-thumb{width:100%;aspect-ratio:1/1.32;border-radius:12px;display:grid;align-content:center;justify-items:center;gap:2px;margin-bottom:14px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.dl-season{font-family:var(--display);font-weight:700;font-size:1.5rem;line-height:1}
.dl-week{font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.8}
.dl-lines{position:absolute;left:14%;right:14%;bottom:12%;height:34%;background:repeating-linear-gradient(to bottom,currentColor 0 2px,transparent 2px 9px);opacity:.22;border-radius:2px}
.dl b{font-size:1.02rem}
.dl em{font-size:.82rem;min-height:1.2em}
.dl small{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--navy);background:var(--butter);border-radius:999px;padding:6px 14px;letter-spacing:.04em;text-transform:none;font-size:.78rem}
.dl small svg{width:15px;height:15px}
.dl.empty{opacity:.72;cursor:default;border-style:dashed}
.dl.empty:hover{transform:none;border-color:var(--line)}
.dl.empty small{background:#F2EFE7;color:var(--muted)}
.dl-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.dl-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.dl-grid{grid-template-columns:repeat(2,1fr)}}
.notice code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.9em}

/* promise grid */
.promise{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.promise-item{background:var(--cream);border-radius:18px;padding:20px;display:grid;gap:7px;align-content:start}
.promise-item b{font-family:var(--display);color:var(--gold-deep);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}
.promise-item p{color:var(--muted);font-size:.93rem;line-height:1.5}
@media (max-width:1000px){.promise{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.promise{grid-template-columns:1fr}}
.ticks.two-col{grid-template-columns:1fr 1fr;column-gap:34px}
@media (max-width:760px){.ticks.two-col{grid-template-columns:1fr}}
.cards .card em{font-style:italic}

/* ---- archive pagination + post body (v10) ---- */
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:38px;flex-wrap:wrap}
.pager a{font-family:var(--display);font-weight:600;color:var(--navy);text-decoration:none;border:2px solid var(--navy);border-radius:999px;padding:10px 20px}
.pager a:hover{background:var(--navy);color:#fff}
.pager-now{color:var(--muted);font-weight:700;font-size:.92rem}
a.chip{text-decoration:none;display:inline-block}
a.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.post-body p{color:var(--muted);margin-bottom:12px;line-height:1.65}
.post-body p:first-child{color:var(--ink);font-size:1.12rem}
.post-hero .photo img{width:100%;height:auto;display:block}
.post-grid .photo{aspect-ratio:auto;max-height:560px;overflow:hidden}
.post-grid .photo{max-height:520px;background:var(--cream)}
.post-grid .photo img{width:100%;height:100%;object-fit:cover;max-height:520px}

/* ---- menu downloads with real page previews (v11) ---- */
.dl-group{font-family:var(--display);color:var(--navy);font-size:1.15rem;margin:30px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.dl-group:first-of-type{margin-top:0}
.dl-shot{width:100%;aspect-ratio:1/1.414;border-radius:12px;overflow:hidden;margin-bottom:14px;background:#fff;box-shadow:0 8px 20px -12px rgba(15,47,74,.5);display:block}
.dl-shot img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.dl-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.dl-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.dl-grid{grid-template-columns:1fr}}

/* ---- routing cards + how it works (v12) ---- */
.split-head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:34px}
.split-head p{font-size:1.06rem;max-width:46ch}
@media (max-width:860px){.split-head{grid-template-columns:1fr;align-items:start;gap:14px}}
.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.route-card{background:#fff;border-radius:22px;overflow:hidden;text-decoration:none;display:grid;grid-template-rows:auto 1fr;box-shadow:0 18px 40px -28px rgba(15,47,74,.55);transition:transform .16s,box-shadow .16s}
.route-card:hover{transform:translateY(-3px);box-shadow:0 26px 50px -28px rgba(15,47,74,.6)}
.route-img{aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.route-img img{width:100%;height:100%;object-fit:cover;display:block}
.route-card>div:last-child{padding:22px 24px 26px;display:grid;gap:9px;align-content:start}
.route-card h3{font-size:1.28rem}
.route-card p{color:var(--muted);font-size:.97rem;line-height:1.55}
.route-go{font-family:var(--display);font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;font-size:.97rem}
.route-card.tint-cream>div:last-child{background:var(--butter)}
.route-card.tint-sky>div:last-child{background:var(--sky-2)}
.route-card.tint-butter>div:last-child{background:var(--cream)}
@media (max-width:900px){.route-cards{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--navy-2);color:#fff;border-radius:22px;padding:30px 28px 32px;display:grid;gap:10px;align-content:start}
.step.step-dark{background:var(--navy)}
.step h3{color:#fff;font-size:1.34rem}
.step p{color:#CBDAE7;font-size:.99rem;line-height:1.55}
.step-n{font-family:var(--display);font-weight:700;color:var(--gold);letter-spacing:.14em;font-size:.86rem}
.step-go{margin-top:6px;font-family:var(--display);font-weight:600;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* ---- mobile header: larger badge, centred wordmark (v13) ---- */
/* The badge stays hard left, the menu button hard right, and the wordmark
   centres itself in the space between them — the MonkeyMoos arrangement. */
@media (max-width:640px){
  .nav{gap:10px}
  .brand{flex:1 1 auto;min-width:0;gap:0}
  .brand .badge{width:66px;height:66px;flex-shrink:0}
  .brand .wordmark{height:44px;margin:0 auto;max-width:100%}
}
@media (max-width:380px){
  .brand .badge{width:58px;height:58px}
  .brand .wordmark{height:38px}
  .menu-btn{padding:9px 13px}
}

/* ---- small-phone overflow fix (v13) ---- */
/* Buttons are nowrap by design so labels don't break awkwardly, but on a
   320px screen a long label is wider than the page and forces a sideways
   scroll. Below 400px let them wrap instead. */
@media (max-width:400px){
  .btn{white-space:normal;text-align:center}
  .grid,.driver,.route-cards,.steps{min-width:0}
  .driver>*,.route-cards>*,.steps>*{min-width:0}
}
/* m4m test button: HungryMoose Hub ordering login (Lee, 4 Oct 2026). Existing customers keep "Order login" (Flex). */
.m4m-btn{display:inline-flex;align-items:center;margin-left:auto;padding:9px 14px;border:2px solid var(--navy);border-radius:999px;background:#fff;color:#D34527;font-weight:800;font-size:15px;line-height:1;text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.m4m-btn:hover{background:#FFF4F1}
.m4m-btn + .menu-btn{margin-left:8px}
@media (min-width:1181px){.m4m-btn{order:10;margin-left:12px}}
@media (max-width:380px){.m4m-btn{padding:7px 10px;font-size:13px}}
/* Phone/tablet menu opens on the right, under the Menu button (Lee, 4 Oct 2026) */
@media (max-width:1240px){.links{left:auto!important;right:12px!important;width:min(300px,calc(100vw - 24px));border-radius:16px;box-shadow:0 18px 40px rgba(15,47,74,.18)}.links a{text-align:right}}
/* SVG badge is a circle (the file has a square navy background) - 4 Oct 2026 */
.brand .badge{border-radius:50%}
/* Header widths (5 Oct 2026): the full menu only shows when it fits (1361px and wider, compact sizing at every such width, measured with m4m); below that the Menu button, opening on the right. Replaces the 1180/1240/1460 rules above. */
@media (max-width:1360px){.links{display:none;position:absolute;top:100%;left:auto!important;right:12px!important;width:min(300px,calc(100vw - 24px));flex-direction:column;align-items:stretch;background:#fff;padding:10px 22px 20px;border-radius:16px;box-shadow:0 18px 40px rgba(15,47,74,.18)}.links.open{display:flex}.links a{text-align:right}.menu-btn{display:inline-flex}}
@media (min-width:1361px){.menu-btn{display:none}.links{display:flex;position:static;flex-direction:row;padding:0;box-shadow:none;background:none;width:auto;border-radius:0;left:auto!important;right:auto!important}.nav{gap:10px}.links a{text-align:left;padding:8px 6px;font-size:.88rem}.brand .wordmark{height:46px}.nav-cta .btn-sm{padding:8px 12px;font-size:.86rem}}
/* 3 Nov 2026 (Lee): the header sits flush at the top with no gap above it, full width with square edges.
   It slides away when you scroll down and comes back as soon as you scroll up (never while the phone menu is open). Same rule as monkeymoos.co.uk. */
.header{top:0!important;margin:0!important;border-radius:0;transition:transform .45s ease}
.header.hm-away{transform:translateY(calc(-100% - 12px))}
@media (prefers-reduced-motion:reduce){.header{transition:none}}
@media print{.header.hm-away{transform:none}}
