.gish-overall-review{background:var(--magazine-light);padding:2rem;border-radius:12px;margin-bottom:3rem;border-left:4px solid var(--magazine-red)}.gish-dish-gallery{display:flex;flex-direction:column;gap:4rem;margin-top:2rem}.gish-dish-item{display:flex;flex-direction:column;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--magazine-light)}.gish-dish-item:last-child{border-bottom:none}.gish-dish-item img{width:100%;height:auto;object-fit:contain;border-radius:8px}.gish-dish-content{display:flex;flex-direction:column;gap:.5rem}.gish-dish-item h4{font-size:1.3rem;font-weight:600;color:var(--magazine-red);margin:0;line-height:1.3}.dish-description{font-family:Inter,sans-serif;font-size:.9rem;color:var(--magazine-gray);font-style:italic;margin:.5rem 0;line-height:1.4}.dish-review{font-family:Inter,sans-serif;font-size:1.1rem;color:var(--magazine-black);margin:0;line-height:1.5}@media(max-width:768px){.gish-dish-gallery{flex-direction:column;gap:2rem;align-items:center}.gish-dish-item{flex:none;width:100%;max-width:400px;padding:1.5rem}.gish-dish-item img{width:100%;max-width:350px;align-self:center}.gish-dish-content{gap:.75rem}.gish-dish-item h4{font-size:1.2rem;text-align:center}.dish-description{font-size:.85rem;text-align:center}.dish-review{font-size:1rem;text-align:center}}:root{--magazine-red: #D32F2F;--magazine-black: #1A1A1A;--magazine-white: #FFFFFF;--magazine-gray: #757575;--magazine-light: #F5F5F5;--accent-gold: #FFD700;--deep-red: #B71C1C;--rich-red: #E53935;--shadow-soft: 0 2px 8px rgba(0,0,0,.1);--shadow-medium: 0 4px 16px rgba(0,0,0,.15);--shadow-bold: 0 8px 32px rgba(0,0,0,.2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Playfair Display,Georgia,serif;line-height:1.6;color:var(--magazine-black);background:var(--magazine-white);overflow-x:hidden;min-height:100vh}::selection{background-color:var(--magazine-red);color:var(--magazine-white);text-shadow:0 1px 2px rgba(0,0,0,.3)}::-moz-selection{background-color:var(--magazine-red);color:var(--magazine-white);text-shadow:0 1px 2px rgba(0,0,0,.3)}h1{font-family:Playfair Display,serif;font-size:clamp(6rem,18vw,12rem);font-weight:900;line-height:.85;color:var(--magazine-red);margin-bottom:3rem;letter-spacing:-.02em;text-transform:uppercase;position:relative}h1:after{content:"";position:absolute;bottom:-10px;left:0;width:120px;height:8px;background:var(--magazine-red);border-radius:4px}h2{font-family:Playfair Display,serif;font-size:clamp(4rem,8vw,6rem);font-weight:700;line-height:1.1;margin-bottom:3rem;color:var(--magazine-black);position:relative}h2:before{content:"";position:absolute;top:-15px;left:0;width:80px;height:6px;background:var(--magazine-red);border-radius:3px}h3{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:600;margin-bottom:1.5rem;color:var(--magazine-black);line-height:1.2}h4{font-family:Playfair Display,serif;font-size:2.2rem;font-weight:600;margin-bottom:1rem;color:var(--magazine-red)}p{font-family:Inter,sans-serif;font-size:1.4rem;font-weight:400;line-height:1.7;color:var(--magazine-gray);margin-bottom:2rem}a{color:var(--magazine-black);text-decoration:none;font-weight:500;transition:all .3s ease}a:hover{color:var(--magazine-red);text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.container-narrow{max-width:800px;margin:0 auto;padding:0 2rem}section{padding:6rem 0;position:relative}header{background:var(--magazine-white);box-shadow:var(--shadow-soft);position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--magazine-light)}nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.logo{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:var(--magazine-red)}.logo-button{background:none;border:none;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:var(--magazine-red);cursor:pointer;padding:0;text-decoration:none;transition:all .3s ease}.logo-button:hover{color:var(--deep-red)}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-family:Inter,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;color:var(--magazine-black);font-weight:500}.nav-links a:hover,.nav-link-button:hover{color:var(--magazine-red)}.nav-link-button{background:none;border:none;font-family:Inter,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;color:var(--magazine-black);font-weight:500;cursor:pointer;padding:0;text-decoration:none;transition:all .3s ease}.social-links{display:flex;gap:1rem}.social-links.justify-center{justify-content:center}.social-links a{font-size:1.2rem;color:var(--magazine-red)}.social-links a:hover{color:var(--deep-red)}.hero{background:var(--magazine-white);padding:12rem 0 8rem;text-align:center;position:relative;border-bottom:3px solid var(--magazine-red);min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-content{position:relative;z-index:1;width:100%}.hero-content .tagline{font-family:Inter,sans-serif;font-size:1.8rem;color:var(--magazine-gray);margin-bottom:1rem;font-style:normal;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6;font-weight:300}.rating-badge{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.rating-badge .stars{font-size:1.5rem;color:var(--accent-gold);letter-spacing:.2rem}.rating-badge .rating-text{font-family:Inter,sans-serif;font-size:1.1rem;color:var(--magazine-gray);font-weight:500}.achievement-statement{font-family:Inter,sans-serif;font-size:1.4rem;font-weight:500;color:var(--magazine-black);text-transform:lowercase;letter-spacing:.5px}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.btn-primary,.btn-secondary{display:inline-block;padding:1.2rem 3rem;border-radius:0;text-decoration:none;font-family:Inter,sans-serif;font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;position:relative;border:2px solid;background:transparent}.btn-primary{color:var(--magazine-red);border-color:var(--magazine-red)}.btn-primary:hover{color:var(--magazine-white);background:var(--magazine-red);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{color:var(--magazine-black);border-color:var(--magazine-black)}.btn-secondary:hover{color:var(--magazine-white);background:var(--magazine-black);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.philosophy{background:var(--white);padding:4rem 0}.philosophy-content{text-align:center;max-width:600px;margin:0 auto}.philosophy-content h2{color:var(--primary-blue);margin-bottom:2rem}.philosophy-content p{font-size:1.25rem;line-height:1.8;color:var(--charcoal);font-style:italic}.whoami{background:var(--magazine-light);padding:8rem 0;position:relative}.whoami-content{text-align:center;max-width:800px;margin:0 auto}.whoami-points{text-align:left;max-width:800px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.point{font-family:Inter,sans-serif;font-size:1.3rem;color:var(--magazine-gray);margin-bottom:1.5rem;line-height:1.6;position:relative;padding-left:1.5rem}.point:before{content:"•";color:var(--magazine-red);font-size:1.5rem;font-weight:700;position:absolute;left:0;top:0}.city-nav{padding:8rem 0;background:var(--magazine-white);position:relative}.city-nav h2{color:var(--magazine-black);margin-bottom:2rem}.section-subtitle{color:var(--magazine-gray);font-size:1.4rem;text-align:center;margin-bottom:4rem;max-width:700px;margin-left:auto;margin-right:auto;font-weight:300}.city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:4rem}.city-card{background:var(--magazine-white);border:2px solid var(--magazine-light);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-medium);transition:all .3s ease;cursor:pointer;text-decoration:none;display:block}.city-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-bold);border-color:var(--magazine-red)}.city-card-image{width:100%;height:200px;background:var(--magazine-light);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--magazine-gray);overflow:hidden}.city-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.city-card:hover .city-card-image img{transform:scale(1.05)}.city-card-content{padding:2.5rem 2rem;text-align:center}.city-card h3{color:var(--magazine-black);margin-bottom:1rem;font-size:1.8rem;font-weight:600}.city-card p{color:var(--magazine-gray);font-size:1.1rem;margin-bottom:0;line-height:1.5}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.restaurant-card{background:var(--magazine-white);border-radius:12px;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:block;min-height:450px;cursor:pointer;border:2px solid transparent}.restaurant-image-container{position:relative;width:100%;max-width:400px;aspect-ratio:1;margin:0 auto;overflow:hidden;border-radius:12px 12px 0 0}.restaurant-image-container img{width:100%;height:100%;object-fit:contain;background:var(--magazine-white);display:block}.restaurant-card:hover{transform:translateY(-8px) scale(1.02);border-color:var(--magazine-red);box-shadow:0 12px 24px #0000001f,0 4px 8px #00000014,0 8px 32px #d52f2f26}.restaurant-card:active{transform:translateY(-2px) scale(.98);transition:all .1s ease}.restaurant-content{padding:1.5rem;max-width:400px;margin:0 auto}.restaurant-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.restaurant-ratings{display:flex;align-items:center;gap:.5rem}.restaurant-title h3{color:var(--magazine-red);margin-bottom:.25rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.restaurant-title .date{font-family:Inter,sans-serif;font-size:.8rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.michelin-stars{display:flex;align-items:center;gap:.25rem;font-size:1.2rem}.michelin-stars img{width:1.2rem;height:1.2rem;object-fit:contain}.star-rating{display:flex;align-items:center;gap:.1rem;font-size:1.2rem}.star{transition:all .2s ease}.star.filled{color:gold;text-shadow:0 0 3px rgba(255,215,0,.8)}.star.empty{color:#9ca3af;opacity:.7}.quick-review{font-size:.95rem;color:var(--gray);line-height:1.5;margin-bottom:.75rem}.personal-rating{display:flex;justify-content:flex-start;margin-top:.1rem}.rating{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;margin-top:.5rem}.thumbs-up{color:#10b981;font-size:1.2rem}.thumbs-down{color:#ef4444;font-size:1.2rem}.rating-legend-hint{position:fixed;bottom:20px;right:20px;z-index:100}.rating-hint-button{background:var(--magazine-red);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;box-shadow:var(--shadow-medium);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.rating-hint-button:hover{background:var(--deep-red);transform:scale(1.1);box-shadow:var(--shadow-bold)}.rating-legend{background:var(--magazine-light);border:1px solid var(--magazine-gray);border-radius:8px;padding:1.5rem;margin:2rem auto;max-width:600px}.rating-legend-toggle{background:none;border:none;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:0;font-family:inherit}.rating-legend-toggle:hover{color:var(--magazine-red)}.rating-legend-toggle h4{color:var(--magazine-black);margin:0;font-size:1.2rem;text-align:left}.rating-legend-toggle i{color:var(--magazine-gray);transition:transform .3s ease}.rating-legend-content{margin-top:1rem;animation:fadeIn .3s ease}.rating-legend ul{list-style:none;padding:0}.rating-legend li{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.25rem 0}.rating-legend li:last-child{margin-bottom:0}.rating-legend .rating{font-size:1rem;min-width:100px;font-weight:600}.rating-legend .description{font-size:.9rem;color:var(--magazine-gray);line-height:1.4}.review-hero{background:var(--white);padding:4rem 0;text-align:center}.review-hero h1{margin-bottom:1rem}.review-hero .date{font-family:Inter,sans-serif;font-size:1rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.review-content{max-width:800px;margin:0 auto;padding:2rem}.review-section{margin-bottom:3rem}.review-section h3{color:var(--primary-blue);border-bottom:2px solid var(--primary-blue);padding-bottom:.5rem;margin-bottom:1.5rem}.dish-list{list-style:none}.dish-list li{margin-bottom:1rem;padding-left:1rem;border-left:3px solid var(--gold)}.rating-legend{background:var(--light-gray);padding:2rem;border-radius:12px;margin:2rem 0}.rating-legend h4{color:var(--primary-blue);margin-bottom:1rem}.rating-legend ul{list-style:none}.rating-legend li{margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.back-nav{margin:1rem 0}.back-nav a{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-blue);font-family:Inter,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}footer{background:var(--charcoal);color:var(--white);text-align:center;padding:3rem 0}footer .social-links{justify-content:center;margin-bottom:2rem}footer .social-links a{color:var(--white);font-size:1.5rem}footer .social-links a:hover{color:var(--primary-blue)}footer p{color:var(--gray);font-size:.9rem;margin:0}@media(max-width:768px){.container,.container-narrow{padding:0 1rem}section{padding:3rem 0}.nav-links{display:none}.city-grid,.restaurant-grid{grid-template-columns:1fr;gap:1.5rem}.hero{padding:2rem 0;min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-content{width:100%;padding:0 1rem}h1{font-size:clamp(4rem,12vw,7rem);margin-bottom:2rem}h2{font-size:clamp(1.8rem,5vw,3rem)}h3{font-size:clamp(1.4rem,4vw,2rem)}.hero-content .tagline{font-size:1.1rem;margin-bottom:1.5rem}.achievement-statement{font-size:.9rem}.rating-badge{margin-bottom:1.5rem}.section-subtitle{font-size:1rem}.city-card p{font-size:.95rem}.point{font-size:.9rem}.point:before{font-size:1.2rem}.btn-primary,.btn-secondary{width:100%;max-width:280px;padding:1.2rem 2rem;font-size:1rem;margin:0 auto}.hero-actions{flex-direction:column;gap:1rem;margin-top:2rem;align-items:center}.whoami{background-attachment:scroll}}@media(max-width:480px){section{padding:2rem 0}.hero{padding:3rem 0}nav{padding:1rem}.restaurant-card,.city-card{margin-bottom:1rem}}.text-center{text-align:center}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes glitchText{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes neonPulse{0%,to{text-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor}50%{text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor,0 0 40px currentColor}}@keyframes matrixRain{0%{transform:translateY(-100vh);opacity:1}to{transform:translateY(100vh);opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}section:nth-child(odd){animation:fadeIn .8s ease-out}section:nth-child(2n){animation:fadeIn .8s ease-out .2s both}.city-card{animation:slideInLeft .6s ease-out;animation-fill-mode:both}.city-card:nth-child(2n){animation:slideInRight .6s ease-out;animation-fill-mode:both}.city-card:nth-child(1){animation-delay:.1s}.city-card:nth-child(2){animation-delay:.2s}.city-card:nth-child(3){animation-delay:.3s}.city-card:nth-child(4){animation-delay:.4s}.city-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:var(--shadow-xl);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.restaurant-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-xl);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}html{scroll-behavior:smooth;scroll-padding-top:100px}.city-card-image img{transition:opacity .3s ease}.city-card-image img[loading]{opacity:0}.city-card-image img[loaded]{opacity:1}.restaurant-review-page{padding:2rem 0 6rem;min-height:100vh}.restaurant-review-image-container{width:100%;max-width:500px;margin:0 auto 1.5rem;aspect-ratio:1;overflow:hidden;border-radius:12px}.restaurant-review-image{width:100%;height:100%;object-fit:contain;background:var(--magazine-white);display:block}.restaurant-review-header{text-align:center;margin-bottom:1rem}.restaurant-review-title h1{font-size:clamp(3rem,6vw,5rem);margin-bottom:2rem;color:var(--magazine-red)}.restaurant-review-meta{display:flex;flex-direction:column;align-items:center;gap:1rem}.restaurant-review-ratings{display:flex;flex-direction:column;align-items:center;gap:.5rem}.restaurant-review-meta .michelin-stars{font-size:1.5rem}.restaurant-review-date,.restaurant-review-location{font-family:Inter,sans-serif;font-size:1.1rem;color:var(--magazine-gray);font-weight:500}.restaurant-review-content{max-width:700px;margin:0 auto}.restaurant-review-text{font-size:1.3rem;line-height:1.8;color:var(--magazine-black)}.restaurant-review-text .review-intro{font-style:italic;margin-bottom:2rem;color:var(--magazine-gray);border-left:3px solid var(--magazine-red);padding-left:1.5rem}.restaurant-review-text .review-details{margin-top:3rem}.restaurant-review-text .review-details p{margin-bottom:1.5rem}@media(max-width:768px){.restaurant-review-page{padding:1rem 0 4rem}.restaurant-review-header{margin-bottom:2rem}.restaurant-review-title h1{font-size:clamp(2.5rem,8vw,4rem)}.restaurant-review-meta{gap:.5rem}.restaurant-review-text{font-size:1.1rem}.restaurant-review-meta .michelin-stars{font-size:1.2rem}.restaurant-review-date,.restaurant-review-location{font-size:.9rem}}.expanded-card-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;animation:fadeIn .4s ease-out forwards}.expanded-card-overlay{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;z-index:1001;padding:2rem;overflow-y:auto}.expanded-card-container{background:var(--magazine-white);border-radius:16px;overflow:hidden;max-width:800px;width:100%;margin-top:2rem;margin-bottom:2rem;box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a,0 12px 32px #d52f2f1a;opacity:1;transform:scale(1) translateY(0)}.gish-container{max-width:1200px;width:95vw}.expanded-card-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;font-weight:300;color:var(--magazine-black);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.expanded-card-close:hover{background:var(--magazine-white);transform:scale(1.1);box-shadow:0 4px 12px #00000026}.expanded-card-image{width:100%;max-width:500px;margin:2rem auto 0;aspect-ratio:1;overflow:hidden;border-radius:12px;box-shadow:0 4px 16px #0000001a;position:relative}.expanded-card-image img{width:100%;height:100%;object-fit:contain;background:var(--magazine-white);display:block}.expanded-card-info{padding:2rem;text-align:center;border-bottom:1px solid var(--magazine-light)}.expanded-card-actions{margin-top:1.5rem}.expanded-card-share{background:var(--magazine-red);color:var(--magazine-white);border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #d52f2f4d}.expanded-card-share:hover{background:var(--deep-red);transform:translateY(-1px);box-shadow:0 4px 12px #d52f2f66}.expanded-card-share.copied{background:#10b981;box-shadow:0 2px 8px #10b9814d}.expanded-card-share.copied:hover{background:#059669;box-shadow:0 4px 12px #10b98166}.expanded-card-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--magazine-red);margin-bottom:1rem;line-height:1.2}.expanded-card-meta{display:flex;flex-direction:column;align-items:center;gap:.75rem}.expanded-card-ratings{display:flex;flex-direction:column;align-items:center;gap:.5rem}.expanded-card-meta .michelin-stars{font-size:1.8rem}.expanded-card-date,.expanded-card-location{font-family:Inter,sans-serif;font-size:1rem;color:var(--magazine-gray);font-weight:500}.expanded-card-content{padding:2rem}.expanded-card-review{max-width:600px;margin:0 auto}.expanded-card-review.gish-review{max-width:none;margin:0}.expanded-card-intro{font-size:1.2rem;line-height:1.6;color:var(--magazine-gray);font-style:italic;margin-bottom:2rem;border-left:3px solid var(--magazine-red);padding-left:1.5rem}.expanded-card-details p{font-size:1.1rem;line-height:1.7;color:var(--magazine-black);margin-bottom:1.5rem}.expanded-card-details p:last-child{margin-bottom:0}@media(max-width:768px){.expanded-card-overlay{padding:1rem;align-items:flex-start}.expanded-card-container{margin-top:1rem;margin-bottom:1rem}.expanded-card-image{height:200px}.expanded-card-info{padding:1.5rem}.expanded-card-title{font-size:clamp(1.8rem,6vw,2.5rem)}.expanded-card-content{padding:1.5rem}.expanded-card-intro{font-size:1rem}.expanded-card-details p{font-size:.95rem}.expanded-card-meta .michelin-stars{font-size:1.4rem}.expanded-card-date,.expanded-card-location{font-size:.9rem}}
