.bistro{--b-ink:#241d17;--b-paper:#faf6f0;--b-paper-2:#f2eade;--b-ember:#b4451f;--b-moss:#4a5940;--b-line:#ddd0be;--b-muted:#6f6154;background:var(--b-paper);color:var(--b-ink);font-family:var(--font-body);line-height:1.6;min-height:100vh}.bistro h1,.bistro h2,.bistro h3{font-family:var(--font-display);margin:0;color:var(--b-ink);font-weight:600;line-height:1.12;letter-spacing:-.01em}.bistro p{margin:0}.bistro .wrap{max-width:1080px;margin:0 auto;padding:0 26px}.bistro section{padding:84px 0}@media (max-width:700px){.bistro section{padding:56px 0}}.bistro .demo-bar{background:#0b0c0e;color:#f4f1ec;font-family:var(--font-mono);font-size:.78rem;padding:10px 0}.bistro .demo-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.bistro .demo-bar strong{color:#f0a03c;font-weight:500}.bistro .demo-bar a{color:#f0a03c;text-decoration:none;border-bottom:1px solid rgba(240,160,60,.4)}.bistro .site-header{border-bottom:1px solid var(--b-line);background:var(--b-paper);position:-webkit-sticky;position:sticky;top:0;z-index:20}.bistro .site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:20px}.bistro .brand{font-family:var(--font-display);font-size:1.35rem;font-weight:700;text-decoration:none;color:var(--b-ink);letter-spacing:-.02em}.bistro .brand span{color:var(--b-ember)}.bistro .head-meta{font-family:var(--font-mono);font-size:.76rem;color:var(--b-muted);letter-spacing:.06em;text-transform:uppercase}@media (max-width:640px){.bistro .head-meta{display:none}}.bistro .hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;border-bottom:1px solid var(--b-line)}@media (max-width:860px){.bistro .hero{grid-template-columns:1fr}}.bistro .hero-text{padding:96px 60px 96px 0;display:flex;flex-direction:column;justify-content:center}@media (max-width:860px){.bistro .hero-text{padding:60px 0 48px}}.bistro .hero-inner{max-width:1080px;margin:0 auto;padding:0 26px;width:100%}.bistro .eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--b-ember);display:block;margin-bottom:20px}.bistro .hero h1{font-size:clamp(2.5rem,5.6vw,4.1rem);max-width:13ch}.bistro .hero .lead{margin-top:22px;font-size:1.1rem;color:var(--b-muted);max-width:42ch}.bistro .hero-art{min-height:420px}.bistro .hero-art>div{height:100%}.bistro .btn{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.79rem;letter-spacing:.05em;text-transform:uppercase;padding:14px 26px;text-decoration:none;border:1px solid var(--b-ink);cursor:pointer;transition:background .15s ease,color .15s ease}.bistro .btn-primary{background:var(--b-ink);color:var(--b-paper)}.bistro .btn-primary:hover{background:var(--b-ember);border-color:var(--b-ember)}.bistro .btn-ghost{background:transparent;color:var(--b-ink)}.bistro .btn-ghost:hover{background:var(--b-ink);color:var(--b-paper)}.bistro .btn:disabled{opacity:.5;cursor:not-allowed}.bistro .actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}.bistro .menu-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:2px solid var(--b-ink);padding-bottom:14px;margin-bottom:34px;flex-wrap:wrap}.bistro .menu-head h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}.bistro .menu-head .note{font-family:var(--font-mono);font-size:.78rem;color:var(--b-muted)}.bistro .menu-section+.menu-section{margin-top:68px}.bistro .menu-items{display:grid;grid-gap:26px;gap:26px}.bistro .menu-item{display:grid;grid-template-columns:1fr auto;grid-gap:10px 20px;gap:10px 20px;align-items:baseline;padding-bottom:22px;border-bottom:1px dotted var(--b-line)}.bistro .menu-item h3{font-size:1.15rem;display:inline}.bistro .menu-item .price{font-family:var(--font-mono);font-size:1rem;color:var(--b-ember)}.bistro .menu-item .desc{grid-column:1/-1;color:var(--b-muted);font-size:.96rem;max-width:58ch}.bistro .diet{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle}.bistro .diet span{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--b-moss);border:1px solid var(--b-moss);border-radius:999px;padding:2px 7px}.bistro .split{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;align-items:start}@media (max-width:800px){.bistro .split{grid-template-columns:1fr;gap:44px}}.bistro .section-alt{background:#f3ebe0;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line)}.bistro .hours{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.9rem;margin-top:22px}.bistro .hours td{padding:11px 0;border-bottom:1px solid var(--b-line)}.bistro .hours td:last-child{text-align:right;color:var(--b-muted)}.bistro .hours tr.today td{color:var(--b-ember);font-weight:600}.bistro .detail-list{margin-top:24px;display:grid;grid-gap:18px;gap:18px}.bistro .detail-list dt{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--b-muted);margin-bottom:5px}.bistro .detail-list dd{margin:0;font-size:1rem}.bistro .form-panel{background:var(--b-paper);border:1px solid var(--b-line);padding:32px}.bistro .field{margin-bottom:18px}.bistro .field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:560px){.bistro .field-row{grid-template-columns:1fr;gap:0}}.bistro .field label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--b-muted);margin-bottom:7px}.bistro .field input,.bistro .field select,.bistro .field textarea{width:100%;padding:12px 14px;border:1px solid var(--b-line);background:#fff;font-family:var(--font-body);font-size:.96rem;color:var(--b-ink);border-radius:0}.bistro .field textarea{min-height:96px;resize:vertical}.bistro .form-status{margin-top:16px;font-family:var(--font-mono);font-size:.82rem;padding:12px 14px}.bistro .form-status.ok{color:var(--b-moss);background:rgba(74,89,64,.08);border:1px solid rgba(74,89,64,.25)}.bistro .form-status.err{color:var(--b-ember);background:rgba(180,69,31,.07);border:1px solid rgba(180,69,31,.25)}.bistro .site-footer{background:var(--b-ink);color:hsla(36,50%,96%,.72);padding:44px 0;font-family:var(--font-mono);font-size:.78rem}.bistro .site-footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}