/* Restaurant website story. Scoped to this page; shared hero stays intact. */
.ws-section { padding: 100px 0; }
.ws-section h2 { margin: 0; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.04; letter-spacing: -.05em; font-weight: 750; }
.ws-section h3 { margin: 0; font-size: 29px; line-height: 1.12; letter-spacing: -.04em; }
.ws-heading { max-width: 880px; margin: 0 auto 58px; text-align: center; }
.ws-heading > p { max-width: 660px; margin: 23px auto 0; color: var(--muted); font-size: 19px; line-height: 1.55; }
.ws-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 84px; align-items: center; }
.ws-mobile-stage { position: relative; height: 650px; overflow: hidden; border-radius: 36px; background: #dfeadd; }
.ws-phone { width: 276px; position: absolute; top: 38px; left: 50%; transform: translateX(-50%) rotate(-5deg); border: 7px solid #18221a; border-radius: 43px; overflow: hidden; box-shadow: 18px 30px 50px #27462f30; }
.ws-phone img { width: 100%; height: auto; }
.ws-stage-caption { position: absolute; bottom: 24px; left: 20px; right: 20px; padding: 14px 10px; text-align: center; background: #dfeaddee; font-size: 15px; color: #31503a; border-radius: 12px; }
.ws-reasons article { padding: 28px 0; border-bottom: 1px solid var(--line); }
.ws-reasons article:first-child { padding-top: 0; }
.ws-reasons p, .ws-copy > p { color: var(--muted); font-size: 18px; line-height: 1.6; margin: 15px 0 0; }
.ws-text-link { display: inline-flex; gap: 20px; align-items: center; margin-top: 26px; font-weight: 650; line-height: 1.4; }
.ws-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.ws-brands { background: #f7f3ed; border-radius: 52px; }
.ws-brand-tabs { display: flex; justify-content: center; gap: 12px; margin: -20px 0 32px; }
.ws-brand-tabs button { padding: 13px 28px; border-radius: 100px; border: 1px solid #d8d5ce; background: transparent; color: var(--ink); cursor: pointer; font-weight: 650; }
.ws-brand-tabs button[aria-selected="true"] { background: #192017; color: #fff; border-color: #192017; }
.ws-browser { max-width: 1040px; margin: 0 auto; overflow: hidden; border: 1px solid #dfddd5; border-radius: 20px; background: white; box-shadow: 0 30px 60px #2b291511; }
.ws-browser-bar { display: flex; justify-content: space-between; gap: 20px; padding: 14px 20px; background: #fafaf8; border-bottom: 1px solid #eaeae5; color: #7a7f74; font-size: 12px; }
.ws-browser-bar > span:first-child { color: #c8cbbf; letter-spacing: 3px; }
.ws-brand-screen { aspect-ratio: 1.45; overflow: auto; scrollbar-width: thin; }
.ws-brand-screen img { width: 100%; height: auto; }
.ws-browser figcaption { padding: 18px 24px; color: #777a73; font-size: 14px; border-top: 1px solid #eaeae5; }
.ws-menu-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.ws-list { list-style: none; margin: 24px 0 0; padding: 0; }
.ws-list li { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.ws-menu-shot { margin: 0; padding: 24px; background: #fff2e8; border-radius: 32px; }
.ws-menu-shot img { border-radius: 16px; width: 100%; }
.ws-menu-shot figcaption { margin-top: 16px; font-size: 13px; color: #886d59; }
.ws-order { background: #10140f; color: white; border-radius: 52px; }
.ws-order .ws-heading p { color: #b7c0b1; }
.ws-order-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.ws-order-grid article { padding-top: 24px; border-top: 2px solid #c8ff00; }
.ws-order-grid h3 { color: #c8ff00; font-size: 27px; }
.ws-order-grid p { margin: 18px 0 0; color: #b7c0b1; font-size: 17px; line-height: 1.6; }
.ws-order-note { display: flex; gap: 30px; align-items: center; border-top: 1px solid #ffffff22; padding-top: 32px; margin-top: 50px; }
.ws-order-note strong { font-size: 21px; white-space: nowrap; }
.ws-order-note p { margin: 0; color: #b7c0b1; flex: 1; }
.ws-order-note a { color: #c8ff00; white-space: nowrap; }
.ws-growth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ws-growth-card { border-radius: 32px; overflow: hidden; padding: 38px 34px 0; display: flex; flex-direction: column; min-width: 0; }
.ws-growth-card p { color: var(--muted); font-size: 17px; line-height: 1.55; margin: 18px 0 0; }
.ws-growth-card > div:first-child { padding-bottom: 36px; }
.ws-growth-loyalty { background: #f5f4f8; }
.ws-growth-loyalty > img { margin-top: auto; width: 100%; height: auto; border-radius: 20px; margin-bottom: 26px; }
.ws-growth-guests { background: #edf2e5; }
.ws-admin-crop { margin: auto -34px 0 0; height: 330px; overflow: hidden; border: 6px solid #182117; border-right: 0; border-bottom: 0; border-radius: 18px 0 0 0; }
.ws-admin-crop img { height: 100%; width: auto; max-width: none; object-position: left top; }
.ws-launch { background: #f7f3ed; border-radius: 52px; }
.ws-launch-head { display: flex; gap: 60px; align-items: center; justify-content: space-between; }
.ws-launch-head p { max-width: 360px; color: var(--muted); font-size: 20px; line-height: 1.5; }
.ws-launch-steps { list-style: none; padding: 0; margin: 56px 0 36px; display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.ws-launch-steps li > span { display: grid; place-items: center; width: 40px; height: 40px; background: #c8ff00; border-radius: 50%; font-size: 18px; font-weight: 700; margin-bottom: 22px; }
.ws-launch-steps h3 { font-size: 24px; }
.ws-launch-steps p { color: var(--muted); line-height: 1.6; }
.ws-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.ws-faq details { padding: 23px 0; border-bottom: 1px solid var(--line); }
.ws-faq details:first-child { padding-top: 0; }
.ws-faq summary { font-weight: 650; font-size: 20px; cursor: pointer; }
.ws-faq details p { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 16px 0 0; }
.ws-faq details a { text-decoration: underline; }
.ws-final { padding-top: 0; }
.ws-final-inner { padding: 75px 30px; border-radius: 38px; text-align: center; background: #c8ff00; }
.ws-final p { margin: 24px 0 32px; font-size: 19px; }
.ws-final .btn { background: #10140f; color: white; }
@media(max-width: 900px) {
 .ws-intro-grid, .ws-menu-grid { gap: 32px; }
 .ws-mobile-stage { height: 590px; }
 .ws-order-grid { gap: 24px; }
 .ws-order-note { flex-wrap: wrap; }
 .ws-launch-head { gap: 28px; }
 .ws-faq-grid { gap: 35px; }
}
@media(max-width: 700px) {
 .ws-section { padding: 66px 0; }
 .ws-section h2 { font-size: 36px; }
 .ws-heading { margin-bottom: 34px; }
 .ws-heading > p { font-size: 17px; margin-top: 20px; }
 .ws-intro-grid, .ws-menu-grid, .ws-growth-grid, .ws-faq-grid { grid-template-columns: 1fr; gap: 32px; }
 .ws-mobile-stage { height: 495px; border-radius: 26px; }
 .ws-phone { width: 240px; top: 24px; }
 .ws-reasons h3, .ws-growth-card h3 { font-size: 27px; }
 .ws-reasons p, .ws-copy > p { font-size: 16px; }
 .ws-brands, .ws-order, .ws-launch { border-radius: 30px; }
 .ws-brand-tabs { gap: 6px; margin-top: 0; }
 .ws-brand-tabs button { padding: 11px 17px; font-size: 14px; }
 .ws-browser-bar { padding: 11px; font-size: 10px; gap: 7px; }
 .ws-browser figcaption { padding: 14px; font-size: 12px; }
 .ws-menu-shot { padding: 14px; border-radius: 24px; }
 .ws-order-grid, .ws-launch-steps { grid-template-columns: 1fr; gap: 30px; }
 .ws-order-note { display: block; margin-top: 32px; }
 .ws-order-note p { margin: 14px 0; }
 .ws-growth-card { padding: 28px 24px 0; }
 .ws-admin-crop { margin-right: -24px; height: 265px; }
 .ws-launch-head { display: block; }
 .ws-launch-head p { font-size: 17px; }
 .ws-launch-steps { margin-top: 34px; }
 .ws-launch-steps li > span { margin-bottom: 14px; }
 .ws-faq summary { font-size: 18px; }
 .ws-final { padding-top: 0; }
 .ws-final-inner { padding: 52px 20px; }
 .ws-final h2 { font-size: 32px; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Keep client screenshots in their original proportions. */
.ws-menu-shot { align-self: center; }
.ws-menu-shot img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }

.ws-section.ws-brands { padding-top: 36px; }
.ws-brands .ws-heading > p { margin-top: 0; }
