@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap";:root{color:#27332c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f3ee;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}:root{--ink:#27332c;--muted:#7c837d;--paper:#fbfaf7;--line:#dedfd8;--coral:#e8785e;--sage:#dce5d7;--ochre:#e9c370;--blue:#cfdae5;--serif:"Playfair Display", Georgia, serif}#root{min-height:100vh}.app-shell{background:radial-gradient(circle at 80% 10%, #fff7e8 0, transparent 31rem), var(--paper);min-height:100vh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,6vw,88px);display:flex}.brand{color:var(--ink);letter-spacing:-.06em;background:0 0;border:0;padding:0;font-size:22px;font-weight:700}.brand span{color:var(--coral)}.topnav{gap:12px;display:flex}.topnav button,.filter-link,.quiet-button,.text-button,.back-button{color:var(--ink);background:0 0;border:0;padding:8px 0;font-size:13px}.topnav button{color:var(--muted);margin-left:22px}.progress{background:#ecebe5;height:3px}.progress span{background:var(--coral);height:100%;transition:width .4s;display:block}.main-content{width:min(1120px,100% - 44px);margin:0 auto}.welcome-screen{grid-template-columns:1fr .9fr;align-items:center;gap:5vw;min-height:calc(100vh - 83px);display:grid}.welcome-copy{padding:72px 0}.eyebrow{color:var(--coral);letter-spacing:.16em;margin:0 0 18px;font-size:11px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--ink);letter-spacing:-.06em;font-weight:600;line-height:.98}h1{margin-bottom:26px;font-size:clamp(48px,6vw,86px)}h2{margin-bottom:16px;font-size:clamp(38px,5vw,64px)}h1 em,h2 em{color:var(--coral);font-family:var(--serif);font-weight:600}.lede{max-width:450px;color:var(--muted);font-size:17px;line-height:1.6}.profile-actions{width:min(390px,100%);margin-top:40px}label{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:3px;outline:none;margin-top:9px;padding:14px 16px}input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px #e8785e22}.primary-button,.secondary-button{border:1px solid var(--ink);border-radius:3px;padding:15px 20px;font-weight:700;transition:transform .2s,background .2s}.primary-button{background:var(--ink);color:#fff;text-align:left;justify-content:space-between;width:100%;margin-top:18px;display:flex}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.secondary-button{color:var(--ink);background:0 0}.existing-profile{align-items:end;gap:12px;margin-top:15px;display:flex}.existing-profile input{margin-top:0}.text-button{white-space:nowrap;color:var(--coral)}.error-message{color:#bb4d3d;margin-top:15px;font-size:13px}.welcome-art{background:#eadbc8;place-items:center;min-height:520px;display:grid;position:relative;overflow:hidden}.art-circle{border:1px solid #fff8;border-radius:50%;position:absolute}.art-circle-one{background:#ef8166;width:410px;height:410px;top:-70px;right:-40px}.art-circle-two{background:#d7a74e;width:300px;height:300px;bottom:-40px;left:-80px}.plate{z-index:1;background:#f8f2e8;border:16px solid #fff9;border-radius:50%;place-items:center;width:245px;height:245px;display:grid;position:relative;box-shadow:15px 20px #27332c22}.plate:before{content:"";background:repeating-radial-gradient(circle,#f5b26f 0 9px,#e8785e 10px 14px,#7d9d6a 15px 21px);border:2px solid #e8785e;border-radius:50%;width:145px;height:145px}.plate span{color:#fff;font-size:30px;position:absolute}.art-label{z-index:2;color:#fff;font-family:var(--serif);font-size:25px;line-height:.9;position:absolute;bottom:34px;left:36px;transform:rotate(-8deg)}.art-label strong{color:var(--ink)}.center-screen,.form-screen{max-width:760px;min-height:calc(100vh - 120px);padding:100px 0}.center-screen{text-align:center;align-content:center;place-items:center;margin:auto;display:grid}.center-screen .lede{margin:0 auto}.center-screen .primary-button,.center-screen .quiet-button{width:min(360px,100%)}.quiet-button{color:var(--muted);margin-top:16px}.step-heading{align-items:flex-start;gap:20px;margin-bottom:42px;display:flex}.step-number{border:1px solid var(--coral);width:42px;height:42px;color:var(--coral);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.step-heading h2{margin-bottom:8px}.step-heading p:last-child{color:var(--muted)}.location-options{max-width:580px}.location-card{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:#fff;align-items:center;gap:18px;padding:22px;display:flex}.location-card:hover{border-color:var(--coral)}.option-icon{color:var(--coral);font-size:30px}.location-card strong,.location-card small{display:block}.location-card small,.choice-card small,.toggle-row small{color:var(--muted);margin-top:5px;font-size:12px}.location-card>span:last-child{margin-left:auto}.manual-location{align-items:end;gap:12px;margin-top:32px;display:flex}.manual-location label{flex:1}.manual-location .secondary-button{margin-bottom:0}.choice-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.choice-card{border:1px solid var(--line);text-align:left;min-height:132px;color:var(--ink);background:#fff;padding:21px;position:relative}.choice-card.selected{border-color:var(--coral);background:#fff3ed}.choice-card strong,.choice-card small{display:block}.choice-mark{color:var(--coral);position:absolute;top:13px;right:13px}.select-label{max-width:280px;margin:30px 0}.form-screen>.primary-button{max-width:300px}.narrow{max-width:650px}.filter-block{border-top:1px solid var(--line);max-width:500px;padding:24px 0}.filter-block label{width:240px}.field-title{color:var(--muted);margin:0 0 12px;font-size:12px;font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:30px;padding:9px 14px}.chip.selected{border-color:var(--coral);background:var(--coral);color:#fff}.toggle-row{border-top:1px solid var(--line);align-items:center;gap:15px;max-width:500px;padding:24px 0;display:flex}.toggle-row>span:first-child{flex:1}.toggle-row strong,.toggle-row small{display:block}.toggle-row input{display:none}.toggle{background:#c9cbc5;border-radius:20px;width:44px;height:24px;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px}.toggle-row input:checked+.toggle{background:var(--coral)}.toggle-row input:checked+.toggle:after{left:23px}.results-screen{padding:70px 0 100px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:44px;display:flex}.section-heading h2{margin-bottom:0}.filter-link{color:var(--coral)}.restaurant-list{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.restaurant-card{border:1px solid var(--line);min-height:210px;animation:.55s both rise;animation-delay:var(--delay);background:#fff;display:flex;position:relative;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card-main{color:var(--ink);text-align:left;background:0 0;border:0;flex:1;padding:14px;display:flex}.restaurant-photo{background:var(--coral);color:#fff;width:145px;min-width:145px;font-family:var(--serif);place-items:center;font-size:60px;display:grid;position:relative;overflow:hidden}.restaurant-photo-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tone-ochre .restaurant-photo,.detail-hero.tone-ochre{background:var(--ochre);color:#674817}.tone-sage .restaurant-photo,.detail-hero.tone-sage{background:var(--sage);color:#506047}.tone-blue .restaurant-photo,.detail-hero.tone-blue{background:var(--blue);color:#446176}.restaurant-info{min-width:0;padding:5px 18px}.card-meta{color:var(--coral);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:15px;font-size:11px;display:flex}.restaurant-info h3{font-family:var(--serif);margin:23px 0 7px;font-size:25px;font-weight:600;line-height:1}.restaurant-info p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.card-bottom{align-items:center;gap:12px;margin-top:24px;font-size:12px;display:flex}.rating{color:#bd7a20}.rating small{color:var(--muted)}.open{color:#628d57}.closed{color:#a76b64}.favorite-button{color:var(--ink);background:#fff9;border:0;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}.favorite-button.active{color:var(--coral)}.reason{color:var(--muted);font-size:10px;font-style:italic;position:absolute;bottom:14px;right:14px}.loading-state,.empty-state{min-height:300px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:13px;display:grid}.loader{border:3px solid #e8785e33;border-top-color:var(--coral);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.empty-state>span{color:var(--coral);font-size:30px}@keyframes spin{to{transform:rotate(360deg)}}.detail-screen{max-width:820px;margin:auto;padding:46px 0 100px}.back-button{color:var(--muted);margin-bottom:22px}.detail-hero{color:#fff;background:var(--coral);height:280px;font-family:var(--serif);place-items:center;font-size:130px;display:grid}.detail-content{max-width:620px;padding:34px 0}.detail-content h1{margin-bottom:12px;font-size:clamp(42px,6vw,72px)}.detail-address{color:var(--muted)}.detail-stats{border-bottom:1px solid var(--line);gap:25px;padding:22px 0;font-size:13px;display:flex}.detail-stats small{color:var(--muted)}.detail-actions{gap:10px;padding:22px 0;display:flex}.detail-actions .is-active{border-color:var(--coral);color:var(--coral)}.review-box{background:#f4eee4;margin-top:25px;padding:28px}.review-box h3{font-family:var(--serif);font-size:27px}.stars{gap:7px;margin-bottom:15px;display:flex}.stars button{color:#d6d5cb;background:0 0;border:0;padding:0;font-size:30px}.stars button.selected{color:#c6872e}.review-box .primary-button{max-width:300px}.tabs{border-bottom:1px solid var(--line);gap:28px;margin:-15px 0 28px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 0}.tabs button.active{border-color:var(--coral);color:var(--ink)}.tabs span{color:var(--coral);margin-left:5px}.footer{border-top:1px solid var(--line);width:min(1120px,100% - 44px);color:var(--muted);justify-content:space-between;margin:auto;padding:20px 0 30px;font-size:11px;display:flex}@media (width<=760px){.topbar{height:68px}.topnav button{margin-left:10px;font-size:11px}.main-content{width:min(100% - 32px,620px)}.welcome-screen{min-height:auto;display:block}.welcome-copy{padding:60px 0 40px}.welcome-art{min-height:330px;margin:0 -16px}.art-circle-one{width:280px;height:280px}.art-circle-two{width:210px;height:210px}.plate{border-width:10px;width:170px;height:170px}.plate:before{width:100px;height:100px}.art-label{font-size:19px}.center-screen,.form-screen{min-height:calc(100vh - 100px);padding:70px 0}.choice-grid{grid-template-columns:repeat(2,1fr)}.choice-card{min-height:120px;padding:15px}.manual-location{display:block}.manual-location .secondary-button{width:100%;margin-top:12px}.restaurant-list{grid-template-columns:1fr}.restaurant-photo{width:105px;min-width:105px}.restaurant-info h3{font-size:21px}.section-heading{align-items:start;gap:10px}.section-heading h2{font-size:42px}.footer{display:block}.footer span{margin-top:7px;display:block}}@media (width<=420px){.existing-profile{display:block}.text-button{margin-top:10px}.choice-grid{grid-template-columns:1fr 1fr;gap:8px}.choice-card strong{font-size:13px}.choice-card small{font-size:10px}.restaurant-card{min-height:190px}.restaurant-photo{width:83px;min-width:83px}.restaurant-info{padding:5px 10px}.restaurant-info h3{font-size:19px}.reason{display:none}}
