@font-face{font-family:Bricolage;src:url('/assets/BricolageGrotesque.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#fdfdfb;color:#202322;font:1rem/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:#7446b8;text-underline-offset:4px}header,footer,main{width:min(1120px,calc(100% - 64px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #e1e4e1;gap:24px}.wordmark{font:800 2.7rem/1 Bricolage,sans-serif;letter-spacing:-2px;color:#7446b8;text-decoration:none}.small{font-size:2rem}.quiet{color:#676c6b;font-size:.875rem}.landing{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:76px;padding:78px 0 96px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.875rem;font-weight:650;color:#7446b8}h1,h2,h3{font-family:Bricolage,sans-serif;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(3rem,6.8vw,5.7rem);font-weight:650;margin:24px 0}.intro{max-width:480px;font-size:1.125rem;color:#555c59}.availability{margin-top:30px;font-size:.875rem;color:#676c6b}.brand-art{width:100%;height:auto;border-radius:24%;box-shadow:0 24px 70px #44236920}footer{border-top:1px solid #e1e4e1;display:flex;align-items:center;gap:24px;padding:28px 0;color:#676c6b;font-size:.875rem}.list-page{max-width:760px;padding:48px 0 80px}.list-page h1{font-size:clamp(2.5rem,6vw,4.5rem);overflow-wrap:anywhere}.list-page h2{font-size:1.8rem;letter-spacing:-.03em;margin:0 0 8px}.list-note{color:#676c6b}.restaurant{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:28px 0;border-top:1px solid #e1e4e1}.number{color:#7446b8;font-variant-numeric:tabular-nums;font-size:.875rem;padding-top:6px}.restaurant p{margin:8px 0 16px}.meta{color:#676c6b;font-size:.875rem}.restaurant details{margin-top:16px}.restaurant summary{cursor:pointer;min-height:44px;color:#7446b8;font-weight:550}.restaurant h3{font:600 1rem/1.5 -apple-system,sans-serif;letter-spacing:0;margin-bottom:6px}.sources{padding-left:20px}.sources li{margin:12px 0;overflow-wrap:anywhere}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #7446b8;border-radius:30px;background:#7446b8;color:white;font:inherit;cursor:pointer;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7446b8;outline-offset:5px}.actions{display:flex;gap:12px;align-items:center;margin:24px 0}.message{padding:40px 0}#status{color:#676c6b}noscript{display:block;padding:24px}.hidden{display:none!important}@media(max-width:700px){header,footer,main{width:calc(100% - 40px)}header{padding:22px 0}.landing{grid-template-columns:1fr;gap:36px;padding:44px 0 56px}.brand-art{width:min(70%,300px);justify-self:center}.landing h1{font-size:3.7rem}.intro{font-size:1rem}.list-page{padding-top:28px}.quiet{max-width:140px;text-align:right}footer{justify-content:space-between;gap:16px}}@media(prefers-reduced-motion:no-preference){button:hover,.button:hover{background:#5e349e}}

/* Match the app's template-rendered wordmark and keep the hero to three lines. */
.wordmark{display:inline-flex;align-items:center;flex-shrink:0}
.brand-wordmark{display:block;width:86px;height:35px;background:#7446b8;mask:url('/assets/wordmark.png') center/contain no-repeat;-webkit-mask:url('/assets/wordmark.png') center/contain no-repeat}
.small .brand-wordmark{width:64px;height:26px}
.landing{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.75rem)}
.landing>div{container-type:inline-size}
.landing h1{font-size:clamp(1.875rem,12cqw,4.7rem);line-height:1.08;letter-spacing:-.04em}
.landing h1>span{display:block}
@media(max-width:700px){.landing{grid-template-columns:minmax(0,1fr)}}

/* Keep the footer below the viewport while fetching; never flash a fake list. */
.list-page{min-height:calc(100vh - 100px);min-height:calc(100svh - 100px)}
.list-page[aria-busy="true"] #title{visibility:hidden;min-height:2.12em}
.list-page[aria-busy="true"] #content{visibility:hidden}
.list-page[aria-busy="true"] #status{animation:show-loading 0s .4s both}
@keyframes show-loading{from{visibility:hidden}to{visibility:visible}}
