:root {
  --ink: #183029;
  --forest: #173d32;
  --forest-2: #245a48;
  --clay: #c96d46;
  --gold: #d0a15e;
  --cream: #f7f3eb;
  --paper: #fffdf8;
  --mint: #e5eee9;
  --line: #d9ddd8;
  --muted: #66756f;
  --shadow: 0 24px 70px rgba(26, 54, 46, .12);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: #d5e7df; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; background: white; padding: 10px 14px; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(790px, 100%); }
.section { padding: 96px 0; }
.section-tint { background: var(--cream); }
.section-dark { background: var(--forest); color: white; }
.center { text-align: center; }
.eyebrow { margin: 0 0 14px; color: var(--clay); text-transform: uppercase; letter-spacing: .16em; font-size: .77rem; font-weight: 800; }
.eyebrow.light { color: #f3b28e; }
h1,h2,h3 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.15rem, 7vw, 6.25rem); font-weight: 500; }
h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 500; }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
.button-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.button { display: inline-flex; align-items:center; justify-content:center; min-height: 52px; padding: 0 23px; border: 1px solid var(--forest); border-radius: 999px; background: var(--forest); color: white; font-weight: 800; transition: .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--forest-2); }
.button-secondary { background: transparent; color: var(--forest); }
.button-secondary:hover { color: white; }
.button-light { background: var(--paper); color: var(--forest); border-color: var(--paper); }
.button-small { min-height: 42px; padding: 0 18px; font-size: .92rem; }
.text-link { color: var(--forest-2); font-weight: 800; border-bottom: 1px solid currentColor; }
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,253,248,.92); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(24,48,41,.08); }
.header-inner { min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap: 24px; }
.brand-logo { display: inline-flex; align-items:center; gap: 10px; }
.brand-logo img { width:45px; height:45px; }
.brand-logo > span { display:flex; flex-direction:column; line-height:1; }
.brand-logo > span strong { font-family:Georgia,serif;font-size:1.33rem; }
.brand-logo > span small { margin-top:5px;color:var(--muted);letter-spacing:.17em;text-transform:uppercase;font-size:.56rem;font-weight:800; }
.brand-mark { width: 45px; height: 45px; fill: var(--forest); }
.brand-mark-accent { fill: var(--clay); }
.brand-mark-base { fill: var(--gold); }
.brand-wording { display:flex; flex-direction:column; line-height:1; }
.brand-wording strong { font-family: Georgia, serif; font-size: 1.33rem; letter-spacing:-.02em; }
.brand-wording small { margin-top: 5px; color: var(--muted); letter-spacing:.17em; text-transform:uppercase; font-size:.56rem; font-weight:800; }
.primary-nav { display:flex; align-items:center; gap: 23px; font-weight: 700; font-size: .91rem; }
.primary-nav > a:not(.button) { padding: 27px 0; border-bottom: 2px solid transparent; }
.primary-nav > a.active:not(.button), .primary-nav > a:hover:not(.button) { color: var(--clay); border-color: var(--clay); }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle span:not(.sr-only) { display:block; width:24px; height:2px; background:var(--ink); margin:5px; }
.hero { overflow:hidden; padding-top: 86px; background: radial-gradient(circle at 88% 10%, #dcebe4 0, transparent 27%), var(--paper); }
.hero-grid { display:grid; grid-template-columns: .93fr 1.07fr; align-items:center; gap: 70px; }
.hero-copy h1 { max-width: 780px; }
.hero-lead { font-size: 1.17rem; max-width: 650px; margin-top: 26px; color: #50615a; }
.hero-proof { display:grid; grid-template-columns: repeat(3, 1fr); border-top:1px solid var(--line); margin-top:40px; padding-top:23px; gap:20px; font-size:.84rem; color:var(--muted); }
.hero-proof strong { display:block; color:var(--ink); font-size:1.06rem; }
.browser-frame { background: #e8e1d4; border-radius: 23px; padding: 10px; box-shadow: var(--shadow); transform: rotate(1.2deg); }
.browser-top { height:34px; display:flex; align-items:center; gap:6px; padding:0 8px; }
.browser-top > span { width:8px;height:8px;border-radius:50%;background:#b2aa9c; }
.browser-top > div { margin-left:9px; background:#f7f3eb; border-radius:7px; flex:1; height:20px; padding:3px 10px; font-size:9px; color:#7c776d; }
.restaurant-demo { min-height: 485px; background:#f8ecdc; overflow:hidden; border-radius:16px; color:#29372f; }
.demo-nav { display:flex;align-items:center;justify-content:space-between;padding:18px 23px;font-size:10px; }
.demo-nav strong { font-family:Georgia,serif;font-size:17px; }
.demo-nav b { background:#244b3e;color:white;padding:9px 12px;border-radius:999px; }
.demo-hero { display:grid;grid-template-columns:1.08fr .92fr;min-height:350px;padding:36px;gap:20px;background:linear-gradient(135deg,#f6e4cf,#e8cfad); }
.demo-hero small { letter-spacing:.16em;font-size:8px;font-weight:800; }
.demo-hero h3 { font-family:Georgia,serif;font-size:42px;margin:17px 0 13px;font-weight:500; }
.demo-hero p { font-size:11px;max-width:250px; }
.demo-buttons { display:flex;gap:8px;margin-top:18px; }
.demo-buttons span { border:1px solid #274a3e;padding:8px 12px;border-radius:999px;font-size:9px;font-weight:800; }
.demo-buttons span:first-child { background:#274a3e;color:white; }
.demo-dish { align-self:center;aspect-ratio:1;border-radius:50% 50% 48% 52%;background:radial-gradient(circle at 43% 36%,#f8c064 0 13%,#d57338 14% 28%,#40613e 29% 39%,#dcb07a 40% 55%,#835339 56% 72%,#e0c99f 73%);box-shadow:0 18px 50px rgba(70,47,29,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;text-shadow:0 2px 12px rgba(0,0,0,.65);font-size:11px; }
.demo-dish strong { font-family:Georgia,serif;font-size:21px;line-height:1.05;margin-top:6px; }
.demo-info { display:grid;grid-template-columns:repeat(3,1fr);background:#fff8ec; }
.demo-info span { padding:15px 20px;border-right:1px solid #e2d9ca; }
.demo-info b,.demo-info small { display:block;font-size:9px; }
.demo-info small { color:#7f827b;margin-top:3px; }
.trust-strip { padding:23px 0;background:var(--forest);color:white; }
.trust-grid { display:grid;grid-template-columns:2fr repeat(3,1fr);align-items:center;gap:20px;font-size:.82rem; }
.trust-grid p { margin:0;font-weight:800; }
.trust-grid span { color:#c8d9d2;text-align:center; }
.section-heading { max-width: 760px; margin-bottom: 44px; }
.section-heading.center { margin-left:auto;margin-right:auto;text-align:center; }
.section-heading > p:last-child { color:var(--muted);font-size:1.07rem;margin-top:18px; }
.feature-grid { display:grid;gap:22px; }
.feature-grid.three { grid-template-columns:repeat(3,1fr); }
.feature-card { position:relative; padding:34px; border:1px solid var(--line); border-radius:var(--radius); background:white; }
.feature-card h3 { margin:30px 0 13px; }
.feature-card p { color:var(--muted);margin:0; }
.feature-number { display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--clay);font-weight:900; }
.split { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.section-dark h2 { color:white; }
.section-dark p { color:#c9d6d1; }
.check-list { display:grid;gap:14px; }
.check-list p { display:flex;gap:13px;margin:0;color:#e3ece8; }
.check-list span { flex:0 0 25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#2f6f59;color:white;font-size:.8rem;font-weight:900; }
.check-list.dark-text p { color:var(--ink); }
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:20px 0 38px; }
.process-grid article { padding:27px 26px;border-left:1px solid var(--line); }
.process-grid span { color:var(--clay);font-weight:900;font-size:.82rem; }
.process-grid h3 { margin:15px 0 11px; }
.process-grid p { color:var(--muted);font-size:.93rem; }
.pricing-callout { display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center; }
.price-card { position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:38px;background:white; }
.price-card.featured { border:2px solid var(--forest);box-shadow:var(--shadow); }
.price-card.compact { box-shadow:var(--shadow); }
.price-card .price { font-family:Georgia,serif;font-size:4.4rem;line-height:1;margin:22px 0 9px;color:var(--forest); }
.price sup { font-family:Inter,sans-serif;font-size:1.5rem;vertical-align:top;margin-right:2px; }
.price small { font-family:Inter,sans-serif;font-size:1rem;color:var(--muted); }
.price-note { color:var(--muted); }
.price-card ul { padding:0;list-style:none;margin:25px 0;display:grid;gap:10px; }
.price-card li { position:relative;padding-left:23px; }
.price-card li::before { content:"✓";position:absolute;left:0;color:var(--forest-2);font-weight:900; }
.badge { position:absolute;top:-14px;left:28px;background:var(--clay);color:white;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }
.final-cta { padding-top:65px; }
.cta-box { display:flex;align-items:center;justify-content:space-between;gap:35px;padding:55px 60px;border-radius:32px;background:var(--forest);color:white; }
.cta-box h2 { max-width:760px;color:white;font-size:clamp(2rem,4vw,3.5rem); }
.page-hero { padding:104px 0 72px;background:linear-gradient(180deg,var(--cream),var(--paper)); }
.page-hero h1 { font-size:clamp(3rem,6vw,5.6rem); }
.page-hero .narrow > p:last-of-type { margin-top:25px;color:var(--muted);font-size:1.16rem; }
.showcase-grid { display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center; }
.plain-list { display:grid;gap:0;border-top:1px solid var(--line); }
.plain-list p { margin:0;padding:16px 0;border-bottom:1px solid var(--line); }
.plain-list.numbered p { display:grid;grid-template-columns:45px 1fr; }
.plain-list b { color:var(--clay); }
.service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.service-card { padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:white; }
.service-card h2 { font-size:2.15rem;margin:15px 0; }
.service-card p { color:var(--muted); }
.service-price { color:var(--clay)!important;font-weight:900;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem; }
.pricing-grid { display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:930px; }
.add-on-table { border-top:1px solid var(--line); }
.add-on-table div { display:flex;justify-content:space-between;gap:30px;padding:19px 0;border-bottom:1px solid var(--line); }
.add-on-table strong { color:var(--forest); }
.timeline { max-width:900px; }
.timeline article { display:grid;grid-template-columns:80px 1fr;gap:25px;padding:35px 0;border-bottom:1px solid var(--line); }
.timeline article > span { display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--cream);color:var(--clay);font-weight:900; }
.timeline h2 { font-size:2rem;margin-bottom:9px; }
.timeline p { color:var(--muted); }
.tag-row { display:flex;gap:8px;flex-wrap:wrap;margin:24px 0; }
.tag-row span { background:var(--mint);padding:7px 11px;border-radius:999px;font-size:.79rem;font-weight:800; }
.empty-case-study { max-width:760px;padding:46px;border:1px dashed #aeb9b4;border-radius:var(--radius); }
.about-grid { display:grid;grid-template-columns:260px 1fr;gap:70px;align-items:center; }
.founder-mark { width:230px;aspect-ratio:1;border-radius:50%;background:var(--forest);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow); }
.founder-mark span { font-family:Georgia,serif;font-size:5rem; }
.founder-mark small { letter-spacing:.18em;text-transform:uppercase;color:#b8cec5; }
.about-grid h2 { margin-bottom:25px; }
.about-grid p { color:var(--muted);font-size:1.05rem; }
.values-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.values-grid article { padding:34px;background:white;border-radius:var(--radius); }
.values-grid span { color:var(--clay);font-weight:900; }
.values-grid h3 { margin:18px 0 11px; }
.values-grid p { color:var(--muted);margin:0; }
.contact-grid { display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start; }
.contact-details { margin-top:35px;display:grid;gap:24px; }
.contact-details small { display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800; }
.contact-details a,.contact-details p { font-weight:800;margin:4px 0 0; }
.lead-form { padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 15px 45px rgba(23,61,50,.07); }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.form-grid label { display:grid;gap:8px;font-weight:800;font-size:.91rem; }
.form-grid label span { color:var(--clay); }
.form-grid .full { grid-column:1/-1; }
input,textarea,select { width:100%;border:1px solid #cbd2ce;border-radius:12px;background:#fff;padding:12px 14px;color:var(--ink);outline:none; }
input:focus,textarea:focus,select:focus { border-color:var(--forest-2);box-shadow:0 0 0 3px rgba(36,90,72,.12); }
textarea { resize:vertical; }
.lead-form .button { margin-top:24px; }
.form-note,.form-status { color:var(--muted);font-size:.84rem;margin-top:14px; }
.form-status.success { color:#17603e; }
.form-status.error { color:#9b3f25; }
.honeypot { position:absolute!important;left:-99999px!important; }
.form-page-grid { display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start; }
.legal-page h1 { font-size:clamp(3rem,6vw,5rem);margin-bottom:12px; }
.legal-page h2 { font-family:Inter,sans-serif;font-size:1.25rem;letter-spacing:-.01em;margin:34px 0 10px; }
.legal-page p { color:#52615c; }
.legal-date { color:var(--clay)!important;font-weight:800; }
.legal-note { margin-top:40px;padding:20px;background:var(--cream);border-left:4px solid var(--gold); }
.not-found { min-height:70vh;display:flex;align-items:center; }
.site-footer { margin-top:90px;padding:70px 0 25px;background:#102d25;color:white; }
.footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px; }
.site-footer .brand-mark { fill:white; }
.site-footer .brand-wording small,.site-footer p,.site-footer li { color:#b9ccc5; }
.footer-description { max-width:440px;margin:22px 0; }
.site-footer h2 { font-family:Inter,sans-serif;font-size:.79rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;color:#f3b28e; }
.site-footer ul { list-style:none;padding:0;margin:0;display:grid;gap:9px; }
.site-footer a:hover { color:white; }
.service-area { margin-top:22px; }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;font-size:.82rem; }

@media (max-width: 980px) {
  .primary-nav { position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line); }
  .primary-nav.open { display:flex; }
  .primary-nav > a:not(.button) { padding:10px 0; }
  .menu-toggle { display:block; }
  .hero-grid,.showcase-grid,.split,.pricing-callout,.about-grid,.contact-grid,.form-page-grid { grid-template-columns:1fr; }
  .hero-grid { gap:55px; }
  .browser-frame { max-width:680px; }
  .feature-grid.three,.service-grid { grid-template-columns:1fr 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px,1160px); }
  .section { padding:72px 0; }
  .hero { padding-top:65px; }
  h1 { font-size:clamp(2.7rem,14vw,4.4rem); }
  .brand-wording small { display:none; }
  .hero-proof,.feature-grid.three,.service-grid,.pricing-grid,.values-grid { grid-template-columns:1fr; }
  .hero-proof { gap:12px; }
  .trust-grid { grid-template-columns:1fr;text-align:left; }
  .trust-grid span { text-align:left; }
  .restaurant-demo { min-height:410px; }
  .demo-nav span { display:none; }
  .demo-hero { grid-template-columns:1fr;padding:26px; }
  .demo-hero h3 { font-size:35px; }
  .demo-dish { display:none; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { border-left:0;border-top:1px solid var(--line); }
  .cta-box { flex-direction:column;align-items:flex-start;padding:39px 29px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .lead-form { padding:24px; }
  .timeline article { grid-template-columns:55px 1fr;gap:15px; }
  .timeline article > span { width:48px;height:48px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card-grid article,.service-grid article{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.card-grid article>b,.service-grid article>b{color:var(--clay);font-weight:900}.card-grid h3{margin:20px 0 12px}.card-grid p,.service-grid p{color:var(--muted)}.browser-top i{width:8px;height:8px;border-radius:50%;background:#b2aa9c}.browser-top>span{margin-left:9px;background:#f7f3eb;border-radius:7px;flex:1;height:20px;padding:3px 10px;font-size:9px;color:#7c776d}.footer-logo img{filter:none}.site-footer .footer-logo span strong{color:#fff}.site-footer .footer-logo span small{color:#b9ccc5}.honeypot{position:absolute!important;left:-10000px!important}.menu-toggle b{position:absolute;left:-9999px}.service-grid article h2{font-size:2rem;margin:15px 0}.legal-page a{text-decoration:underline}.not-found{min-height:60vh;display:flex;align-items:center}@media(max-width:980px){.card-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.card-grid{grid-template-columns:1fr}.brand-logo>span small{display:none}}
.faq-list{display:grid;gap:14px}.faq-list details{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 22px}.faq-list summary{cursor:pointer;font-weight:800;padding:21px 34px 21px 0;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:0;top:16px;font-size:1.6rem;color:var(--clay)}.faq-list details[open] summary::after{content:"–"}.faq-list details p{color:var(--muted);padding:0 0 21px;margin:0}
