.hero { grid-template-columns: minmax(0, 1fr); min-height: 500px; }
.hero-copy { max-width: 760px; }
.hero h1 { max-width: 11ch; }
.hero-note { margin-top: 1.1rem; }
.goodpay-home { background: #e9f1eb; padding: clamp(3.25rem, 7vw, 6rem) 0; }
.goodpay-home-inner { align-items: end; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.72fr); }
.goodpay-home h2 { font-size: clamp(2.3rem, 5vw, 4.25rem); letter-spacing: -0.055em; line-height: 0.98; margin: 0; max-width: 12ch; }
.goodpay-home-inner > p { font-size: 1.05rem; line-height: 1.7; margin: 0 0 0.25rem; max-width: 34rem; }
.guest-tools { align-items: center; display: grid; gap: 38px; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); padding-block: 88px; }
.guest-tools .section-intro h2 { max-width: 12ch; }
.guest-tool-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guest-tool-card { overflow: hidden; border: 1px solid #e1ded6; border-radius: 18px; background: #fff; min-width: 0; }
.guest-tool-card > img { display: block; width: 100%; height: 210px; object-fit: contain; background: #f7f5f0; padding: 12px; }
.guest-tool-card > div { padding: 20px 22px 22px; }
.guest-tool-card .eyebrow { margin-bottom: 9px; font-size: 9px; }
.guest-tool-card h3 { margin: 0 0 8px; font: 700 21px var(--display); letter-spacing: -.04em; }
.guest-tool-card div > p:not(.eyebrow) { margin: 0; color: #65636b; font-size: 12px; line-height: 1.6; }
.featured-restaurants { display: grid; gap: 42px; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); align-items: center; padding-block: 92px; }
.featured-restaurants .section-intro { align-self: center; }
.featured-restaurant-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.featured-restaurant-card { overflow: hidden; border: 1px solid #e1ded6; border-radius: 18px; background: #fff; min-width: 0; }
.featured-restaurant-card > img, .corleone-monogram { display: grid; width: 100%; height: 190px; object-fit: cover; object-position: center; }
.featured-restaurant-card > img.featured-restaurant-logo { background: #f7f5f0; object-fit: contain; padding: 12px; }
.featured-restaurant-card > img.qq-cafe-logo { padding: 18px; }
.corleone-monogram { place-items: center; background: #183b30; color: #f5eedc; font: 500 92px/1 Georgia, serif; }
.featured-restaurant-copy { padding: 21px 22px 23px; }
.featured-restaurant-copy .eyebrow { margin-bottom: 9px; font-size: 9px; }
.featured-restaurant-copy h3 { margin: 0 0 8px; font: 700 23px var(--display); letter-spacing: -.04em; }
.featured-restaurant-copy > p:not(.eyebrow) { min-height: 52px; margin: 0 0 13px; color: #65636b; font-size: 12px; line-height: 1.6; }
.featured-restaurant-copy .text-link { color: #234e3c; line-height: 1.5; }
.featured-restaurant-links { display: grid; gap: 7px; justify-items: start; }
.plan-benefits { display: grid; gap: 9px; margin: 0 0 18px; padding-left: 19px; font-size: 12px; line-height: 1.5; }
.menu-plan-card.featured .plan-benefits { color: #edf4ee; }
.auth-mode-toggle, .auth-resend { align-self: flex-start; border: 0; background: transparent; padding: 4px 0; color: #315b4d; font: 600 12px var(--sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.auth-mode-toggle:hover, .auth-resend:hover { color: #163c2c; }
.auth-mode-toggle[hidden], .auth-resend[hidden] { display: none; }
#otp-code-field input { letter-spacing: .22em; font-variant-numeric: tabular-nums; }
@media (max-width: 800px) {
  .goodpay-home-inner { grid-template-columns: 1fr; }
  .guest-tools { grid-template-columns: 1fr; padding-block: 70px; }
  .featured-restaurants { grid-template-columns: 1fr; padding-block: 70px; }
}
@media (max-width: 560px) {
  .featured-restaurant-grid { grid-template-columns: 1fr; }
  .guest-tool-grid { grid-template-columns: 1fr; }
  .guest-tool-card > img { height: 230px; }
  .featured-restaurant-card > img, .corleone-monogram { height: 210px; }
}
