:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17231c;--muted:#6e736f;--paper:#fffefa;--canvas:#f8f6f0;--accent:#286044;--accent-dark:#1f4d36;--brand:#cf6d45;--line:#d8d5cd;--focus:#175cd3;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;margin:0}body{background:var(--canvas);min-height:100vh}button,a,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{width:min(100% - 2rem,30rem);margin-inline:auto}.landing-page{background:var(--paper);min-height:100vh}.landing-shell{width:min(100% - 2rem,42rem);min-height:100vh;margin-inline:auto;padding:clamp(1.25rem,5vw,2.5rem) 0 3rem}.landing-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-lockup{align-items:center;gap:.75rem;display:inline-flex}.brand-mark,.upload-mark{background:var(--accent);color:#fff;flex:none;place-items:center;display:grid}.brand-mark{border-radius:1rem;width:3.25rem;height:3.25rem}.brand-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:2rem;height:2rem}.brand-copy{gap:.08rem;display:grid}.brand-copy strong{color:var(--brand);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:900}.brand-copy span{color:var(--muted);font-size:.88rem;font-weight:700}.language-switcher{border:1px solid var(--line);background:#f0eee8;border-radius:999px;flex:none;gap:.15rem;padding:.2rem;display:inline-flex}.language-switcher button{min-width:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .65rem;font-size:.75rem;font-weight:850}.language-switcher button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 5px #17231c1f}.landing-hero{gap:1.25rem;margin-top:clamp(5rem,17vh,8.5rem);display:grid}.landing-hero h1{letter-spacing:-.065em;max-width:11ch;margin:0;font-size:clamp(3rem,11vw,5.2rem);line-height:.98}.landing-hero p{max-width:34rem;color:var(--muted);margin:0;font-size:clamp(1rem,4.5vw,1.3rem);line-height:1.55}.legacy-demo-notice{background:#faf2e9;border:1px solid #dfc9b9;border-radius:1rem;gap:.35rem;margin-top:1.5rem;padding:.9rem 1rem;display:grid}.legacy-demo-notice strong{color:#7a3e29;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem}.legacy-demo-notice p{color:#5f5148;gap:.15rem;margin:0;font-size:.88rem;line-height:1.45;display:grid}.link-intake-form{margin-top:clamp(3rem,8vh,4.5rem)}.link-field-row{border:1px solid var(--line);background:var(--paper);border-radius:1.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.75rem;padding:.55rem;display:grid}.link-field-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2860441f}.link-field-row input{min-width:0;min-height:3.25rem;color:var(--ink);background:0 0;border:0;outline:0;padding:0 .65rem;font-size:clamp(.95rem,3.8vw,1.08rem)}.link-field-row input::placeholder{color:#9b9d99;opacity:1}.link-field-row input:disabled{cursor:not-allowed}.link-field-row button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:1.1rem;place-items:center;width:3.5rem;height:3.5rem;display:grid}.link-field-row button:disabled{color:#9b9d99;cursor:not-allowed;background:#e1dfd9}.link-field-row svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.6rem;height:1.6rem}.link-status{min-height:1.3rem;color:var(--accent-dark);margin:.55rem 0 0;font-size:.82rem;line-height:1.45}.link-status.is-error{color:#8f1f17}.upload-entry-card{border:1px solid var(--line);background:var(--paper);width:100%;min-height:7.5rem;color:var(--ink);cursor:pointer;text-align:left;border-radius:1.75rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.1rem;padding:1.1rem;text-decoration:none;display:grid;box-shadow:0 12px 32px #17231c0a}.upload-entry-card:not(:disabled):hover{border-color:var(--accent)}.upload-entry-card:disabled{color:var(--muted);cursor:not-allowed;box-shadow:none;background:#f5f3ee}.upload-entry-card:disabled .upload-mark{background:#8b918c}.upload-mark{border-radius:1.25rem;width:4rem;height:4rem}.upload-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:2.2rem;height:2.2rem}.upload-entry-copy{gap:.35rem;min-width:0;display:grid}.upload-entry-copy strong{font-size:clamp(1.05rem,4vw,1.3rem);line-height:1.2}.upload-entry-copy span{color:var(--muted);font-size:.92rem;line-height:1.4}.entry-arrow{fill:none;width:1.5rem;height:1.5rem;stroke:var(--muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.landing-error{color:#8f1f17;margin:.8rem 0 0;font-size:.9rem;line-height:1.45}.photo-review-page{background:var(--paper);min-height:100vh}.photo-review-shell{width:min(100% - 2rem,42rem);margin-inline:auto;padding:clamp(1.25rem,5vw,2.5rem) 0 3rem}.review-back-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.review-back-button span{vertical-align:-.08em;margin-right:.2rem;font-size:1.5rem;line-height:0}.photo-review-header{gap:.9rem;padding:clamp(2rem,7vw,3.5rem) 0 2rem;display:grid}.photo-review-header h1{letter-spacing:-.06em;max-width:12ch;margin:0;font-size:clamp(2.5rem,9vw,4.25rem);line-height:1}.photo-review-header>p:last-child{max-width:36rem;color:var(--muted);margin:0;font-size:1rem;line-height:1.55}.photo-review-form{gap:.8rem;display:grid}.selected-photo-card{border:1px solid var(--line);background:#20251f;border-radius:1.5rem;place-items:center;min-height:16rem;max-height:28rem;display:grid;position:relative;overflow:hidden}.selected-photo-card img{object-fit:contain;width:100%;height:min(52vh,28rem);display:block}.selected-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:100%;max-height:28rem;display:grid;overflow:auto}.selected-photo-grid img{background:#20251f;height:min(28vh,14rem)}.selected-photo-grid img:only-child{grid-column:1/-1;height:min(52vh,28rem)}.change-photo-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17231ce0;border:1px solid #ffffff80;border-radius:999px;min-height:44px;padding:.65rem .95rem;font-size:.84rem;font-weight:800;position:absolute;bottom:.75rem;right:.75rem}.photo-review-form .field-label{margin-top:.65rem}.photo-review-form .primary-button{width:100%}.page-header h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,9vw,3.4rem);line-height:1.02}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.lede{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.6}.primary-link,.primary-button,.secondary-button{text-align:center;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-link,.primary-button{border:2px solid var(--accent);background:var(--accent);color:#fff}.primary-link{justify-self:start}.primary-button:disabled{cursor:not-allowed;background:#b6b1a8;border-color:#b6b1a8}.confirmation-shell{padding-block:1.25rem 3rem}.upload-form{gap:.65rem;display:grid}.field-label{margin-top:.5rem;font-weight:850}.field-label span,.field-help{color:var(--muted);font-size:.82rem;font-weight:600}.field-help{margin:-.25rem 0 .5rem}.file-input,.text-input{border:2px solid var(--line);background:var(--paper);width:100%;min-height:48px;color:var(--ink);border-radius:.9rem;padding:.75rem}.file-input::file-selector-button{background:var(--ink);color:#fff;border:0;border-radius:999px;min-height:36px;margin-right:.75rem;padding-inline:.85rem;font-weight:750}.page-header{gap:.8rem;padding-block:2.5rem 2rem;display:grid}.section-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.section-heading h2,.empty-state h2{margin:0;font-size:1.12rem}.section-heading span{color:var(--muted);font-size:.82rem;font-weight:700}.candidate-notice{color:var(--muted);margin:0 0 .75rem;font-size:.88rem;line-height:1.5}.candidate-list{gap:.75rem;display:grid}.candidate-card{border:2px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;border-radius:1.25rem;gap:.45rem;padding:1rem;display:grid;position:relative}.candidate-card:disabled{opacity:1;cursor:default}article.candidate-card{cursor:default}.candidate-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px #d6512d24}.candidate-name,.candidate-address{overflow-wrap:anywhere}.candidate-name{padding-right:4.5rem;font-size:1.08rem;font-weight:850}.candidate-address{color:var(--muted);line-height:1.45}.reason-list{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.reason-chip{color:#31513c;background:#e7efe9;border-radius:999px;padding:.3rem .55rem;font-size:.75rem;font-weight:750}.selection-mark{color:var(--accent-dark);font-size:.78rem;font-weight:850;position:absolute;top:1rem;right:1rem}.empty-state{text-align:center;background:#fffdf8a6;border:1px dashed #aaa398;border-radius:1.25rem;justify-items:center;gap:.75rem;padding:2rem 1rem;display:grid}.empty-state p{max-width:24rem;color:var(--muted);margin:0;line-height:1.5}.empty-state .empty-icon{width:3rem;height:3rem;color:var(--ink);background:#e8e2d8;border-radius:50%;place-items:center;font-size:1.4rem;font-weight:900;display:grid}.status-message{color:#31513c;min-height:2.75rem;margin-top:1rem;font-size:.9rem;line-height:1.45}.status-message.is-error{color:#8f1f17;border-left:4px solid #b42318;padding:.65rem .75rem}.action-stack{gap:.65rem;display:grid}.menu-list{gap:.75rem;display:grid}.menu-card{border:1px solid var(--line);background:var(--paper);border-radius:1rem;padding:1rem}.result-shell{width:min(100% - 2rem,38rem);padding-bottom:5rem}.result-header{padding-bottom:.5rem}.result-section-list,.result-actions{gap:1.25rem;display:grid}.result-menu-section{gap:.75rem;display:grid}.result-menu-card{width:100%;color:var(--ink);text-align:left;cursor:pointer;gap:.55rem;display:grid}.result-menu-card:hover,.result-menu-card:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #2965471f}.result-menu-card .menu-card-heading strong{font-size:1.04rem}.result-menu-card .menu-card-heading b{white-space:nowrap;color:var(--accent-dark)}.menu-card-description{color:var(--muted);line-height:1.5}.menu-card-detail-link{color:var(--green);font-size:.86rem;font-weight:850}.result-actions{gap:.65rem}.assistant-entry{width:100%}.sheet-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f13107a;justify-content:center;align-items:flex-end;padding-top:4rem;display:flex;position:fixed;inset:0}.detail-sheet,.assistant-sheet{background:var(--paper);width:min(100%,38rem);max-height:calc(100vh - 3rem);padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom));border-radius:1.75rem 1.75rem 0 0;gap:1rem;display:grid;position:relative;overflow:auto;box-shadow:0 -18px 50px #0f131038}.sheet-close{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#f3efe8;border-radius:50%;font-size:1.6rem;line-height:1;position:absolute;top:.9rem;right:.9rem}.detail-heading{justify-content:space-between;align-items:baseline;gap:1rem;padding-right:.5rem;display:flex}.detail-heading h2,.assistant-sheet h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,8vw,2.5rem);line-height:1.05}.detail-heading strong{color:var(--accent-dark);flex:none}.detail-description,.assistant-sheet>p,.order-tip p,.assistant-answer p{color:var(--muted);margin:0;line-height:1.55}.dish-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.dish-fact{background:#edf4ef;border:1px solid #d8e3da;border-radius:1rem;gap:.3rem;min-width:0;padding:.8rem;display:grid}.dish-fact.is-unknown{border-color:var(--line);background:#f6f3ee}.dish-fact dt{color:var(--muted);font-size:.76rem;font-weight:800}.dish-fact dd{overflow-wrap:anywhere;margin:0;font-weight:850}.dish-fact span{color:var(--muted);font-size:.68rem;line-height:1.35}.order-tip,.assistant-answer{background:#f1e8dc;border-radius:1rem;padding:1rem}.order-tip{gap:.35rem;display:grid}.assistant-form{gap:.65rem;display:grid}.assistant-form textarea{border:1px solid var(--line);resize:vertical;min-height:7rem;color:var(--ink);font:inherit;background:#fff;border-radius:1rem;padding:.9rem;line-height:1.5}.assistant-suggestions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.assistant-suggestions button{border:1px solid var(--green);min-height:40px;color:var(--green);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem .75rem;font-weight:800}.menu-card-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.menu-card h3,.menu-card p{margin:0}.menu-card p,.safety-notice{color:var(--muted);margin-top:.5rem;line-height:1.5}.safety-notice{border-left:3px solid var(--line);padding-left:.75rem}.secondary-button{border:2px solid var(--ink);color:var(--ink);background:0 0}.text-button{min-height:44px;color:var(--accent-dark);text-underline-offset:.2em;background:0 0;border:0;padding:.6rem;font-weight:800;text-decoration:underline}@media (max-width:359px){.shell{width:min(100% - 1.25rem,30rem)}.candidate-card{padding:.85rem}.candidate-name{padding-right:0}.selection-mark{margin-top:.2rem;position:static}.landing-shell,.photo-review-shell{width:min(100% - 1.25rem,42rem)}.brand-copy span{display:none}.brand-mark{width:2.85rem;height:2.85rem}.landing-hero{margin-top:4.5rem}.link-intake-form{margin-top:2.75rem}.upload-entry-card{border-radius:1.4rem;grid-template-columns:auto minmax(0,1fr)}.entry-arrow{display:none}}@media (prefers-reduced-motion:no-preference){.candidate-card,.primary-button,.language-switcher button,.upload-entry-card{transition:border-color .15s,box-shadow .15s,background-color .15s}}
