@font-face{font-family:Instrument Serif;src:url(../fonts/instrument-serif-normal-latin.woff2) format("woff2");font-display:swap}
@font-face{font-family:Instrument Serif;src:url(../fonts/instrument-serif-italic-latin.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/Archivo-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/Archivo-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/Archivo-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}
:root{color-scheme:light;--paper:#f1e5d4;--paper-deep:#dfcfb9;--ink:#130f0c;--green:#17452f;--green-soft:#d4dfd2;--flame:#a8321a;--rule:rgba(19,15,12,.2);--muted:#5f544a;--white:#fff8ec;--shadow:10px 10px 0 rgba(196,59,27,.16);--serif:Instrument Serif,Georgia,serif;--sans:Archivo,Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.45;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
a{color:inherit}
button{cursor:pointer}
.skip-link{position:fixed;left:16px;top:-80px;z-index:20;background:var(--ink);color:#fff;padding:12px 16px}.skip-link:focus{top:16px}
.topbar{min-height:86px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:10;background:rgba(241,229,212,.94);backdrop-filter:blur(14px)}
.wordmark{display:block;width:114px;line-height:0}.wordmark img{display:block;width:100%;height:auto}
.topbar nav{display:flex;align-items:center;gap:28px}.topbar nav>a{text-decoration:none;font-size:.76rem;font-weight:600}.account-button,.primary-button{min-height:44px;border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:0 18px;border-radius:2px;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.account-button:hover,.primary-button:hover{background:var(--flame);border-color:var(--flame)}
main{width:min(1180px,calc(100% - 40px));margin:0 auto}
.intro{padding:clamp(70px,9vw,122px) 0 clamp(54px,7vw,92px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(42px,7vw,100px);align-items:end}
.intro-title-wrap{position:relative;padding-left:clamp(25px,3vw,42px)}.intro-title-wrap::before{content:"";position:absolute;left:0;top:0;width:1px;height:82px;background:var(--ink)}.intro-marker{position:absolute;left:0;top:98px;color:var(--flame);font:800 .5rem var(--sans);letter-spacing:.14em;writing-mode:vertical-rl;transform:rotate(180deg)}
.eyebrow{margin:0 0 16px;color:var(--flame);font-size:.65rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
h1{line-height:.86;margin:0;max-width:820px}h1 .intro-command{display:block;font:800 clamp(2.35rem,4.4vw,4.25rem)/.9 var(--sans);letter-spacing:-.055em;text-transform:uppercase}h1 .intro-main{display:block;margin:.13em 0 0 .13em;font:400 clamp(4rem,7vw,7rem)/.82 var(--serif);letter-spacing:-.055em;white-space:nowrap}h1 .intro-main::before{content:"";display:inline-block;width:.34em;height:1px;margin:0 .12em .2em -.48em;background:var(--flame)}h1 em{color:var(--flame);font-weight:400}
h2{font-size:clamp(2.8rem,5.5vw,5.3rem);line-height:.9;margin:0}
h3{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.25rem);font-weight:400;letter-spacing:-.035em;line-height:1.05;margin:0}
.intro-copy{font-size:clamp(1rem,1.3vw,1.18rem);max-width:440px}.intro-copy p{margin:0 0 20px}.trust-line{color:var(--flame);font-weight:800}
.connection-note{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;display:flex;align-items:center;gap:13px}.connection-note p{margin:0;font-size:.92rem}.pulse{width:10px;height:10px;border-radius:50%;background:var(--flame);box-shadow:0 0 0 6px rgba(238,77,45,.12);flex:0 0 auto}
.cities,.board{padding:clamp(68px,8vw,108px) 0}.section-heading,.board-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}.session-label,.board-access{margin:0;color:var(--muted);font-size:.8rem;text-align:right;max-width:300px}.board-freshness{max-width:48ch;margin:14px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.city-grid{display:block}.city-card{min-height:230px;border:1px solid var(--ink);background:var(--white);padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr) auto;gap:clamp(30px,6vw,86px);align-items:end;box-shadow:var(--shadow);position:relative;overflow:hidden}.city-card::before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(19,15,12,.16);border-radius:50%;right:-68px;top:-122px}.city-card::after{content:"HOU / 01";position:absolute;right:31px;top:28px;color:var(--flame);font-size:.58rem;font-weight:800;letter-spacing:.16em}.city-card.live::before{border:7px solid var(--flame);border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-18deg)}.city-card h3{font-family:var(--serif);font-size:clamp(3.2rem,6vw,5.6rem);font-weight:400;letter-spacing:-.05em;line-height:.86;margin:0;position:relative}.city-card p{margin:0;color:var(--muted);max-width:34ch;line-height:1.65}.city-meta{display:flex;align-items:flex-end;flex-direction:column;gap:18px;position:relative}.status-pill{font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--flame)}.city-open{min-height:44px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--white);padding:0 18px;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.city-open:hover{background:var(--flame);border-color:var(--flame)}.city-open:disabled{cursor:default;color:var(--muted);background:transparent;border-color:var(--rule)}
.state-card{min-height:140px;border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);padding:30px;text-align:center}.state-card:empty{display:none}.loader{width:22px;height:22px;border:2px solid var(--paper-deep);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.text-button{border:0;background:none;padding:0;color:var(--green);font-weight:700}.board-heading .text-button{margin-bottom:34px}.ranking{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.rank-row{display:grid;grid-template-columns:58px 72px minmax(0,1fr) minmax(100px,.55fr) auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--rule)}.rank-number{font-family:var(--serif);font-size:2.1rem;color:var(--green);font-variant-numeric:tabular-nums}.rank-image{width:72px;height:64px;object-fit:cover;background:var(--green-soft)}.rank-fallback{display:grid;place-items:center;font-family:var(--serif);font-size:1.8rem;color:var(--green)}.rank-name{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:400}.rank-detail{display:block;color:var(--muted);font-family:var(--sans);font-size:.78rem;margin-top:4px}.rank-cuisine{color:var(--muted);font-size:.85rem}.vouch-button{min-width:96px;border:1px solid var(--green);background:transparent;color:var(--green);padding:9px 13px;border-radius:999px;font-weight:700}.vouch-button.active{background:var(--green);color:#fff}.vouch-button:disabled{opacity:.5;cursor:wait}.locked-row{opacity:.58}.locked-mark{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.restaurant-open{border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer}.restaurant-open:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.field-search{margin-top:clamp(64px,9vw,112px);padding-top:clamp(36px,5vw,60px);border-top:1px solid var(--ink)}.field-search-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:40px;align-items:end}.field-search-heading>p{margin:0;color:var(--muted);max-width:46ch}.search-form{margin:32px 0 18px}.search-form>label,.comment-form>label{display:block;margin-bottom:8px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.search-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.search-form input,.comment-form input,.comment-form textarea,.auth-panel select{width:100%;border:1px solid var(--ink);background:var(--white);padding:14px 16px;color:var(--ink)}.search-results{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.search-result{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule)}.search-result:nth-child(odd){padding-right:22px}.search-result:nth-child(even){padding-left:22px;border-left:1px solid var(--rule)}.search-result-copy button{border:0;background:none;padding:0;text-align:left;font-family:Instrument Serif,Georgia,serif;font-size:1.55rem;color:var(--ink)}.search-result-copy p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.field-mark{font-size:.65rem;font-weight:800;letter-spacing:.13em;color:var(--green)}.load-more{margin-top:22px;min-height:44px}.search-state{min-height:100px}
.restaurant-detail{padding:clamp(44px,7vw,84px) 0 clamp(72px,9vw,120px)}.detail-back{min-height:44px;margin-bottom:24px}.detail-hero{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,88px);align-items:center}.detail-image{min-height:440px;background:var(--green-soft);overflow:hidden}.detail-image img{width:100%;height:100%;min-height:440px;object-fit:cover}.detail-copy h2{font-size:clamp(3.3rem,7vw,6.4rem)}.restaurant-meta{color:var(--green);font-weight:800}.restaurant-description{color:var(--muted);max-width:54ch}.detail-copy .vouch-button{margin-top:18px}
.did-it-land{max-width:840px;margin-top:clamp(48px,7vw,76px);padding:28px;border:1px solid var(--rule);background:var(--white)}.did-it-land h3{font-size:clamp(2rem,4vw,3.2rem)}.did-it-land>p:not(.eyebrow):not(.form-status){max-width:62ch;color:var(--muted)}.did-it-land-actions{display:flex;gap:12px;align-items:center;margin-top:22px}.did-it-land-actions button{min-height:44px}
.comments-section{margin-top:clamp(72px,10vw,126px);padding-top:42px;border-top:1px solid var(--ink);max-width:840px}.comments-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.comments-heading a{font-size:.8rem;color:var(--green)}.comments-auth{margin:28px 0;padding:22px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:20px}.comments-auth p{margin:0}.comment-form{margin:30px 0;padding:24px;background:var(--white);border:1px solid var(--rule)}.comment-form textarea{resize:vertical;min-height:110px}.comment-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.comment-submit-row span{color:var(--muted);font-size:.75rem}.replying-to{display:flex;align-items:center;justify-content:space-between;background:var(--green-soft);padding:10px 12px;margin-bottom:14px;color:var(--green);font-size:.82rem}.replying-to button{border:0;background:none;font-size:1.3rem}.comments-list{border-top:1px solid var(--ink)}.comment{padding:24px 0;border-bottom:1px solid var(--rule)}.comment-head{display:flex;align-items:center;gap:10px}.comment-head strong{font-size:.86rem}.comment-head time{margin-left:auto;color:var(--muted);font-size:.72rem}.insider-badge{border:1px solid var(--green);border-radius:999px;padding:2px 7px;color:var(--green);font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.comment>p,.reply>p{margin:10px 0 0}.comment-actions{display:flex;gap:18px;margin-top:10px}.comment-actions button{border:0;background:none;padding:5px 0;color:var(--green);font-size:.74rem;font-weight:700}.replies{margin:16px 0 0 26px;padding-left:18px;border-left:2px solid var(--green-soft)}.reply{padding:12px 0}.report-success{color:var(--green)}
footer{padding:36px clamp(20px,5vw,72px);background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:24px;align-items:center}footer p{margin:0;font-family:Instrument Serif,Georgia,serif;font-size:1.25rem}footer div{display:flex;gap:20px}footer a{font-size:.8rem}
dialog{width:min(520px,calc(100% - 28px));border:0;padding:0;background:var(--white);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(19,16,12,.58);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:10px}.dialog-close button{border:0;background:none;font-size:1.8rem}.auth-panel{padding:clamp(30px,7vw,54px)}.auth-panel h2{font-size:3.4rem}.auth-panel>p:not(.eyebrow){color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:28px 0;border-bottom:1px solid var(--rule)}.auth-tabs button{border:0;background:none;padding:12px 5px;color:var(--muted)}.auth-tabs button.active{color:var(--green);border-bottom:3px solid var(--green);font-weight:800}.auth-panel label{display:grid;gap:7px;margin:15px 0;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.auth-panel input{width:100%;padding:13px 14px;border:1px solid var(--rule);background:#fff;font-size:1rem;text-transform:none;letter-spacing:normal}.auth-panel .primary-button{width:100%;margin-top:9px;padding:14px}.reset-button{margin:18px auto 0;display:block}.form-status{min-height:24px;margin:16px 0 0;color:var(--flame);font-size:.85rem}.form-status.success{color:var(--green)}
.confirmation-panel{padding:clamp(30px,7vw,48px)}
.confirmation-panel h2{font-size:clamp(2.6rem,7vw,3.8rem);margin:0 0 12px}
.confirmation-panel>p:not(.eyebrow){color:var(--muted);max-width:38ch}
.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.secondary-action{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:11px 18px;border-radius:999px;font-weight:700}
.dialog-actions .primary-button{min-width:120px}
@media(max-width:820px){.intro{grid-template-columns:1fr}.city-card{grid-template-columns:1fr 1fr}.city-card .city-meta{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:space-between}.rank-row{grid-template-columns:42px 58px minmax(0,1fr) auto}.rank-image{width:58px;height:54px}.rank-cuisine{display:none}.topbar nav>a{display:none}.field-search-heading,.detail-hero{grid-template-columns:1fr}.detail-image{min-height:360px}.detail-image img{min-height:360px}.search-results{grid-template-columns:1fr}.search-result:nth-child(odd),.search-result:nth-child(even){padding-left:0;padding-right:0;border-left:0}}
@media(max-width:560px){main{width:min(100% - 28px,1180px)}.topbar{min-height:72px;padding:0 16px}.wordmark{width:102px}.topbar nav{gap:12px}.intro{padding-top:52px}.intro-title-wrap{padding-left:22px}.intro-title-wrap::before{height:64px}.intro-marker{top:78px}h1 .intro-command{font-size:clamp(2rem,10vw,2.7rem)}h1 .intro-main{font-size:clamp(3.6rem,17vw,5.3rem);margin-left:.08em;white-space:normal}.connection-note{align-items:flex-start}.section-heading,.board-heading,.comments-heading{align-items:flex-start;flex-direction:column}.session-label,.board-access{text-align:left}.city-card{min-height:300px;grid-template-columns:1fr;gap:24px}.city-card p{max-width:29ch}.city-card .city-meta{grid-column:auto}.rank-row{grid-template-columns:36px 50px minmax(0,1fr);gap:12px}.rank-image{width:50px;height:48px}.vouch-button{grid-column:3;justify-self:start}.locked-mark{grid-column:3}.search-form>div{grid-template-columns:1fr}.search-result{grid-template-columns:54px minmax(0,1fr)}.search-result .vouch-button{grid-column:2}.detail-image,.detail-image img{min-height:280px}.comments-auth{align-items:flex-start;flex-direction:column}.comment-form{padding:18px}.comment-submit-row{align-items:flex-start;flex-direction:column}.comment-submit-row .primary-button{width:100%}.comment-head{flex-wrap:wrap}.comment-head time{width:100%;margin-left:0}.replies{margin-left:10px}footer{align-items:flex-start;flex-direction:column}footer div{flex-wrap:wrap}}
@media(max-width:560px){.did-it-land-actions{align-items:stretch;flex-direction:column}.did-it-land-actions button{width:100%}}
@media(max-width:560px){.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{animation:none}}
.search-result-copy button{min-height:44px}
.detail-image>.rank-fallback{width:100%;height:100%;min-height:440px}
.detail-status{max-width:46ch}
@media(max-width:820px){.detail-image>.rank-fallback{min-height:360px}}
@media(max-width:560px){.detail-image>.rank-fallback{min-height:280px}}
