.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
/* Contain the existing decorative hero orbit at tablet widths. */
.hero{overflow-x:clip}
.service-card.image-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:18px;min-width:0;background:var(--white,#fff)}
.image-card .card-media{aspect-ratio:16/9;position:relative;background:#fff;isolation:isolate}
.service-card.nonpartner-card{align-self:start}
.image-card .card-food-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-card .service-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:1px solid #e4e2db;background:white;border-radius:16px;display:grid;place-items:center}
.image-card .service-logo img{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#fff}
.image-card .has-food-image .service-logo{top:auto;bottom:12px;left:14px;transform:none;width:58px;height:58px}
.image-card .has-food-image .service-logo img{width:50px;height:50px}
.image-card .favorite-button{position:absolute;right:12px;top:12px;width:44px;height:44px;background:#fff;color:#263f39;border:1px solid #c0cac5;z-index:1;font-size:1.7rem;display:grid;place-items:center;line-height:1}
.image-card .favorite-button[aria-pressed=true]{background:#a60d72;color:white}
.image-card .ai-image-label{position:absolute;right:10px;bottom:10px;background:#fffffff0;color:#3f4945;border-radius:4px;padding:3px 6px;font-size:.75rem}
.image-card .card-content{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px;min-width:0}
.image-card .partner-badge{font-size:.8125rem;gap:6px;margin:0;line-height:1.3}
.image-card .partner-badge .brand-crown{width:22px;height:18px}
.image-card h3{font-size:1.375rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.image-card h3 a{text-decoration:none}.image-card h3 a:hover{text-decoration:underline}
.image-card .card-categories{font-size:.9375rem;line-height:1.5;color:var(--muted,#5b6d65);margin:0;overflow-wrap:anywhere}
.image-card .card-fulfillment{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.card-fulfillment>span{display:inline-flex;align-items:center;gap:6px;background:#f2f4ef;border-radius:6px;padding:5px 8px;font-size:.875rem;line-height:1.4}
.card-fulfillment svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.image-card .card-opening{font-size:.875rem;font-weight:700;margin:0;line-height:1.5}
.image-card .opening-open{color:#28743c}.image-card .opening-closed{color:#8b3535}.image-card .opening-preorder{color:#785211}
.image-card .card-shop-link{width:100%;margin:0;min-height:48px;display:flex;justify-content:center;align-items:center;gap:10px}

/* A small branded header gives nonpartners character without a partner photo. */
.image-card .card-city{display:flex;align-items:flex-start;gap:6px;font-size:.875rem;line-height:1.45;color:var(--muted,#5b6d65);margin:0;overflow-wrap:anywhere}
.card-city svg{flex:none;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card.nonpartner-card{position:relative;background:#fff;height:auto;min-height:0;--royal-tint:#edf3ee;--royal-ink:#426958;--royal-ring:#cbdacf}
.nonpartner-card.royal-variant-2{--royal-tint:#f7f0e3;--royal-ink:#87632c;--royal-ring:#e9dabe}
.nonpartner-card.royal-variant-3{--royal-tint:#f6edf1;--royal-ink:#85506d;--royal-ring:#e6d0dc}
.nonpartner-card.royal-variant-4{--royal-tint:#edf1f6;--royal-ink:#536d87;--royal-ring:#d2dce8}
.image-card.nonpartner-card .card-media{position:relative;aspect-ratio:auto;min-height:64px;height:64px;flex:none;background:var(--royal-tint);border-bottom:1px solid #e9ece6;overflow:hidden}
.nonpartner-card .card-media::after{content:"";position:absolute;width:180px;height:180px;right:22px;top:-132px;border:24px solid var(--royal-ring);border-radius:50%;opacity:.45;pointer-events:none}
.card-royal-art{position:relative;z-index:1;display:flex;align-items:center;gap:10px;height:100%;padding:10px 66px 10px 16px;color:var(--royal-ink);pointer-events:none}
.card-royal-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#ffffffbd;flex:none}
.card-royal-crown{display:block;width:36px;height:28px;background:currentColor;-webkit-mask:url("/assets/crown.svg") center/contain no-repeat;mask:url("/assets/crown.svg") center/contain no-repeat}
.card-royal-caption{font-size:.6875rem;font-weight:650;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}
.image-card.nonpartner-card .card-content{padding:16px;gap:8px;flex:none}
.image-card.nonpartner-card h3{font-size:1.125rem;line-height:1.4;min-height:0;margin:0;padding:0;display:block}
.image-card.nonpartner-card .favorite-button{top:10px;right:12px}
.nonpartner-card .card-categories:empty{display:none}
.image-card.nonpartner-card .card-categories{font-size:.875rem}
.image-card.nonpartner-card .card-fulfillment{margin-top:2px;padding-top:0}
.image-card.nonpartner-card .card-shop-link{width:auto;align-self:flex-start;min-height:44px;padding:9px 15px;font-size:.875rem;background:#fff;color:var(--ink,#203d36);border:1px solid #b4c1b9;border-radius:9px}
.image-card.nonpartner-card .card-shop-link:hover{background:var(--royal-tint);border-color:var(--royal-ink)}

/* Keep source order: one partner spans the two rows beside four compact cards. */
@media(min-width:601px){.service-grid{grid-auto-flow:row;grid-auto-rows:1fr}.service-grid>.partner-card{grid-row:span 2}.service-grid>.nonpartner-card{align-self:stretch}}

@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.service-grid{grid-template-columns:minmax(0,1fr);gap:20px}.image-card .card-content{padding:18px}}
.card-media.has-shop-photo{background:#fff}.has-shop-photo .card-food-image{object-fit:contain;background:#fff}
