/* Preserve the supplied restaurant logo; do not redraw or recolour it. */
.header{height:108px}.brand{display:flex;align-items:center;flex:0 0 auto;min-height:94px;padding:5px 0;transition:transform 300ms var(--ease-out)}.brand img.hop-logo{display:block;object-fit:contain;width:94px;height:91px;max-width:none}.brand:hover{transform:translateY(-1px)}
.footer-brand{display:block;flex:0 0 auto}.footer-brand img{display:block;width:94px;height:91px;object-fit:contain}.footer-links{gap:0}.footer-links a{font-size:13px;min-height:36px;padding:7px 0}
.legal-status{padding:21px 24px;margin:0 0 30px;border-left:4px solid var(--red);background:#f2e7d5;max-width:780px}.information-page .legal-status h2{margin:0 0 12px;font-size:19px}.information-page .legal-status p{font-size:15px;line-height:1.8}.legal-crosslinks{display:flex;flex-wrap:wrap;gap:14px 30px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:14px}.legal-crosslinks a{min-height:44px;display:inline-flex;align-items:center}.source-list{padding-left:20px;max-width:760px;color:var(--muted)}.source-list li{padding:5px 0;font-size:15px;line-height:1.7}.source-list a{text-decoration:underline;text-underline-offset:3px}.review-transparency{font-size:13px!important;color:var(--muted);line-height:1.8;max-width:680px;margin-top:22px!important}.reviews-page>.review-transparency{border-top:1px solid var(--line);padding-top:20px}.home-review-feature>.review-transparency{font-size:12px!important;margin-top:15px!important}
@media(max-width:1023px){.header{height:100px}.brand{min-height:90px}.brand img.hop-logo{width:85px;height:82px}.header nav{gap:16px;font-size:14px}}
@media(max-width:767px){.header{height:92px;padding:0 6%}.brand{min-height:84px;padding:4px 0}.brand img.hop-logo{width:78px;height:75px}.mobile-nav:not([hidden]){top:92px}.footer-brand img{width:82px;height:80px}footer{grid-template-columns:88px minmax(0,1fr)}.footer-links{justify-content:flex-start;flex-wrap:wrap;gap:4px 20px}.footer-links a{font-size:13px;min-height:44px;padding:10px 0}.legal-status{padding:17px 18px;margin-bottom:25px}.information-page .legal-status h2{font-size:18px}.information-page .legal-status p{font-size:14px}.legal-crosslinks{gap:12px 25px}.review-transparency{font-size:13px!important}.information-page p{overflow-wrap:anywhere}}
/* Readable brand name alongside the unmodified original artwork. */
.header .brand{gap:12px}.header .brand .brand-name{font-family:var(--display);font-size:27px;line-height:1.05;letter-spacing:-.3px;color:var(--ink);white-space:nowrap}
/* The heading must shrink inside the dialog, leaving a full close target. */
#info-dialog{box-sizing:border-box;width:calc(100vw - 32px);max-width:640px;max-height:85dvh;margin:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
#info-dialog .dialog-top{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:14px;align-items:start}
#info-dialog .dialog-top h2{min-width:0;font-family:var(--body);font-size:clamp(23px,4vw,30px);line-height:1.2;letter-spacing:-.5px;overflow-wrap:anywhere;margin:0}
#info-dialog .close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;line-height:1}
#info-content{min-width:0;overflow-wrap:anywhere}#info-content h3{font-size:17px;line-height:1.4;margin:24px 0 12px}#info-content p{line-height:1.8}#info-content a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:767px){.header .brand{gap:7px}.header .brand .brand-name{font-size:20px}#info-dialog{padding:22px 20px}#info-dialog .dialog-top{gap:10px}#info-content h3{font-size:16px}}
@media(max-width:359px){.header .brand .brand-name{font-size:18px}.header .brand{gap:5px}#info-dialog{padding:20px 16px}#info-dialog .dialog-top h2{font-size:22px}}
