*{box-sizing:border-box;margin:0;padding:0}body{color:#2c3e50;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 20%,#3b82f6 60%,#e0f2fe 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.skip-link{color:#fff;z-index:9999;background:#1e40af;border-radius:0 0 6px 6px;padding:8px 16px;font-weight:600;text-decoration:none;transition:top .3s;position:absolute;top:-40px;left:6px}.skip-link:focus{top:0}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}button:focus,.show-more-btn:focus{outline-offset:2px;outline:2px solid #f39c12}.hero{background:0 0;justify-content:center;align-items:center;height:20vh;display:flex;position:relative;overflow:hidden}.hero-background{opacity:.4;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 80 80\"><defs><pattern id=\"greek-key\" x=\"0\" y=\"0\" width=\"40\" height=\"40\" patternUnits=\"userSpaceOnUse\"><rect width=\"40\" height=\"40\" fill=\"none\"/><path d=\"M8 8h8v8h8v8h-8v8h-8v-8h-8v-8h8v-8z M24 8h8v8h8v8h-8v8h-8v-8h-8v-8h8v-8z M8 24h8v8h8v8h-8v8h-8v-8h-8v-8h8v-8z M24 24h8v8h8v8h-8v8h-8v-8h-8v-8h8v-8z\" stroke=\"rgba(255,255,255,0.08)\" fill=\"none\" stroke-width=\"0.5\"/></pattern></defs><rect width=\"80\" height=\"80\" fill=\"url(%23greek-key)\"/></svg>") 50%/300px;position:absolute;inset:0}.hero-content{text-align:center;z-index:1;color:#fff;text-shadow:2px 2px 4px #0000004d}.logo{color:#f39c12;text-shadow:3px 3px 6px #00000080;font-family:Caesar Dressing,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:5rem}.tagline{max-width:600px;margin:0 auto;font-size:1.2rem;font-weight:300}.container{max-width:1200px;margin:0 auto;padding:2rem}.context-banner{background:#fff;border-radius:20px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:2rem;margin-bottom:3rem;padding:3rem;display:grid;box-shadow:0 10px 30px #0000001a}.eyebrow{color:#f39c12;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.context-banner-copy h2{color:#1e40af;margin-bottom:1rem;font-size:2.3rem;font-weight:600;line-height:1.15}.context-banner-copy p{color:#636e72;font-size:1.1rem}.context-points{gap:1rem;display:grid}.context-point{background:linear-gradient(135deg,#1e40af12,#f39c121f);border:1px solid #1e40af1f;border-radius:16px;padding:1rem 1.1rem}.context-point strong{color:#1e40af;margin-bottom:.2rem;display:block}.context-point span{color:#4f5d6c;font-size:.95rem}.section-heading-block{margin-bottom:1.25rem}.section-heading-block h2,.section-header h2{color:#fff;font-size:2rem}.top-picks-section{margin-bottom:3rem}.top-picks-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.top-pick-card{background:#fffffffa;border-radius:20px;overflow:hidden;box-shadow:0 15px 35px #0000001f}.top-pick-image-wrap{height:220px;overflow:hidden}.top-pick-content{padding:1.5rem}.top-pick-name{color:#1e40af;margin:.35rem 0;font-size:1.5rem}.top-pick-location{color:#636e72;margin-bottom:.9rem}.top-pick-summary{color:#2c3e50;margin-bottom:1rem}.criteria-section{background:#fff;border-radius:20px;margin-bottom:3rem;overflow:hidden;box-shadow:0 10px 30px #0000001a}.criteria-content{padding:2.5rem}.criteria-content h2{color:#1e40af;text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:600}.criteria-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.criteria-positive,.criteria-negative{border:2px solid;border-radius:15px;padding:1.5rem}.criteria-positive{background:#2ecc710d;border-color:#2ecc71}.criteria-negative{background:#e74c3c0d;border-color:#e74c3c}.criteria-positive h3,.criteria-negative h3{margin-bottom:1rem;font-size:1.2rem;font-weight:600}.criteria-positive h3{color:#27ae60}.criteria-negative h3{color:#c0392b}.criteria-positive ul,.criteria-negative ul{padding:0;list-style:none}.criteria-positive li,.criteria-negative li{margin-bottom:.8rem;font-size:.95rem;line-height:1.5}.criteria-positive li strong{color:#27ae60;font-weight:600}.criteria-negative li strong{color:#c0392b;font-weight:600}.quest-note{text-align:center;color:#1e40af;background:#1e40af1a;border-left:4px solid #1e40af;border-radius:10px;margin-top:1.5rem;padding:1.2rem;font-size:.95rem}.quest-note strong{color:#f39c12}.section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.sort-controls{flex-direction:column;align-items:center;gap:.6rem;display:flex}.sort-state{color:#ffffffe0;font-size:.95rem;font-weight:600}.sort-toggle{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff73;border-radius:999px;padding:.7rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.sort-toggle:hover{background:#fff3;border-color:#fffc}.sort-toggle[aria-pressed=true]{background:#f39c12eb;border-color:#f39c12eb}.scores-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.score-card{background:#fff;border-radius:20px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 15px 35px #0000001a}.score-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #0003}.card-image-container{height:250px;position:relative;overflow:hidden}.card-image{object-fit:cover;width:100%;height:100%;transition:transform 2.5s}.card-image.restaurant-image{display:block}.card-image.dish-image{visibility:hidden;transition:transform 5s;position:absolute;top:0;left:0;transform:scale(1)}.card-image-container.has-dish-image:hover .card-image.restaurant-image,.card-image-container.has-dish-image.touched .card-image.restaurant-image{visibility:hidden}.card-image-container.has-dish-image:hover .card-image.dish-image,.card-image-container.has-dish-image.touched .card-image.dish-image{visibility:visible;transform:scale(1.1)}@media (hover:none) and (pointer:coarse){.card-image-container.has-dish-image{cursor:pointer}.card-image-container.has-dish-image .card-image.dish-image{transition:transform 3s,visibility .3s}}.default-image{color:#fff;text-shadow:2px 2px 4px #0000004d;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 50%,#f39c12 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.new-badge{color:#1e3a8a;letter-spacing:.04em;text-transform:uppercase;background:#fff8e1f2;border:1px solid #f39c1273;border-radius:999px;padding:.5rem .85rem;font-size:.78rem;font-weight:700;position:absolute;top:15px;left:15px;box-shadow:0 5px 15px #0000002e}.card-content{padding:2rem}.restaurant-name{color:#1e40af;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.restaurant-location{color:#636e72;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.location-icon{color:#e74c3c}.description-container{margin-bottom:1.5rem}.score-summary{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.score-chip{color:#1e40af;background:#1e40af14;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.9rem;display:inline-flex}.score-chip-label{font-weight:600}.score-chip-value{color:#f39c12;font-weight:700}.description-wrapper,.description-truncated{position:relative}.description-truncated:after{content:"";pointer-events:none;background:linear-gradient(#0000,#fff);height:2em;position:absolute;bottom:0;left:0;right:0}.description-header{color:#1e40af;margin-bottom:.5rem;font-size:1rem;font-weight:600}.description{color:#2c3e50;margin-bottom:.5rem;font-size:.95rem;line-height:1.6}.show-more-btn{color:#636e72;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.3rem;margin-top:.5rem;padding:.3rem .5rem;font-size:.85rem;font-weight:400;transition:all .3s;display:flex}.show-more-btn:hover{color:#1e40af;background:#1e40af0d}.show-more-btn .chevron{font-size:.7rem;transition:transform .3s}.rating-section{border-top:2px solid #f8f9fa;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.rating-stars{gap:2px;display:flex}.star{color:#f39c12;font-size:1.2rem}.star.empty{color:#ddd}.rating-number{color:#f39c12;font-size:1.8rem;font-weight:700}.footer{text-align:center;background:#fffffff2;border-radius:20px 20px 0 0;margin-top:3rem;padding:2rem}.footer-content p{color:#636e72;font-size:.95rem}.loading{color:#1e40af;justify-content:center;align-items:center;height:200px;font-size:1.2rem;display:flex}@media (width<=768px){.logo{font-size:3.5rem}.tagline{font-size:1rem}.container{padding:1rem}.context-banner{grid-template-columns:1fr;padding:2rem}.context-banner-copy h2{font-size:2rem}.top-picks-grid{grid-template-columns:1fr}.criteria-content{padding:2rem}.criteria-grid{grid-template-columns:1fr;gap:1.5rem}.criteria-content h2{font-size:1.5rem}.criteria-positive,.criteria-negative{padding:1.2rem}.section-header{flex-direction:column;align-items:flex-start;margin-bottom:1rem}.sort-controls{align-items:flex-start;gap:.4rem}.scores-grid{grid-template-columns:1fr;gap:1.5rem}.card-content{padding:1.5rem}.new-badge{padding:.45rem .75rem;font-size:.72rem}}@media (width<=480px){.logo{font-size:2rem}.context-banner{padding:1.5rem}.context-banner-copy h2,.section-heading-block h2,.section-header h2{font-size:1.5rem}.card-content{padding:1rem}.restaurant-name{font-size:1.2rem}}
