*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0;vertical-align:baseline}:root{--cream: #faf7f2;--ink: #1a1612;--warm-mid: #6b5a45;--accent: #c9492c;--gold: #d4a84b;--card-bg: #ffffff;--border: #e8e0d5}#root{padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif;font-weight:300;min-height:100vh}nav{position:sticky;top:0;z-index:100;height:var(72px);background:var(--cream);border-bottom:1.5px solid var(--border);display:flex;align-items:center;padding:20px 48px;gap:40px;width:100%}.nav-logo{font-family:Quintessential,serif;font-size:3rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;margin-right:auto;flex-shrink:0}.nav-logo span{color:var(--accent);font-style:italic}.nav-links{display:flex;gap:8px;align-items:center}.nav-links a{font-size:1rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--warm-mid);text-decoration:none;padding:8px 14px;border-radius:4px;transition:color .2s,background .2s}.nav-links a:hover{color:var(--ink);background:var(--border)}.nav-links a.active{color:var(--accent)}.featured-section{padding:48px 48px 0}.section-label{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:10px}.featured-card{position:relative;border-radius:12px;overflow:hidden;min-height:75vh;max-height:500px;cursor:pointer;display:flex;align-items:flex-end}.featured-card .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.featured-card:hover .hero-img{transform:scale(1.03)}.featured-card .hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,8,.9) 0%,rgba(20,14,8,.4) 45%,transparent 100%)}.featured-content{position:relative;padding:100px 44px 40px;color:#fff;max-width:680px}.featured-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:12px}.featured-title{font-family:Quintessential,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.2;margin-bottom:10px}.featured-stars{margin-bottom:14px}.star{font-size:1.1rem}.star.empty{color:#ffffff4d}.star.half{position:relative;display:inline-block;color:#ffffff4d}.featured-excerpt{font-size:.95rem;line-height:1.7;opacity:.85;margin-bottom:20px;max-width:520px}.featured-meta{font-size:.78rem;letter-spacing:.04em;opacity:.65}.btn-read{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:10px 20px;border-radius:5px;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .2s;margin-top:18px}.btn-read:hover{background:var(--gold);transform:translateY(-1px)}.btn-read svg{width:14px;height:14px}.reviews-section{padding:52px 48px 0}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.review-card{background:var(--card-bg);border-radius:10px;border:1.5px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;position:relative}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}.review-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #1a16121a}.card-img-wrap{position:relative;height:200px;overflow:hidden}.card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.review-card:hover .card-img-wrap img{transform:scale(1.06)}.card-category{position:absolute;top:12px;left:12px;background:#faf7f2eb;color:var(--warm-mid);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:3px}.card-body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column}.card-title{font-family:Quintessential,serif;font-size:1.15rem;font-weight:700;line-height:1.35;color:var(--ink);margin-bottom:8px}.card-stars{display:flex;align-items:center;gap:3px;margin-bottom:12px}.card-stars .star{font-size:.85rem}.card-rating-text{font-size:.72rem;color:var(--warm-mid);font-weight:500;margin-left:6px}.card-excerpt{font-size:.875rem;line-height:1.7;color:#5a4f43;flex:1}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.card-location{font-size:.75rem;color:var(--warm-mid)}.card-date{font-size:.72rem;color:#a0917f}.pagination-section{padding:48px;display:flex;align-items:center;justify-content:center;gap:8px}.pag-btn{width:38px;height:38px;border:1.5px solid var(--border);border-radius:6px;background:none;font-size:.875rem;font-family:DM Sans,sans-serif;color:var(--warm-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pag-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}.pag-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pag-btn svg{width:14px;height:14px}.pag-btn:disabled{opacity:.4;cursor:not-allowed}.pag-dots{color:var(--warm-mid);font-size:.875rem;padding:0 4px}footer{background:var(--ink);color:#ffffffb3;padding:52px 48px 36px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-logo{font-family:Quintessential,serif;font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:12px}.footer-logo span{color:var(--accent);font-style:italic}.footer-tagline{font-size:.85rem;line-height:1.65}.footer-col h4{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff6;margin-bottom:16px}.footer-col a{display:block;color:#ffffffa6;text-decoration:none;font-size:.875rem;margin-bottom:9px;transition:color .2s}.footer-col a:hover{color:#fff}.img-placeholder-1{background:linear-gradient(135deg,#8b6a42,#c4894e,#7a5535)}.img-placeholder-2{background:linear-gradient(135deg,#4a6741,#7a9b62,#3d5936)}.img-placeholder-3{background:linear-gradient(135deg,#3a4f6b,#5a7a9b,#2a3f5a)}.img-placeholder-4{background:linear-gradient(135deg,#7a4a4a,#b87070,#5a3535)}.img-placeholder-1,.img-placeholder-2,.img-placeholder-3,.img-placeholder-4{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff59;font-size:2rem}.page-header{padding:48px 48px 0}.page-header h1{font-family:Quintessential,serif;font-size:2.2rem;font-weight:700;line-height:1.2;margin-bottom:6px}.page-header p{font-size:.95rem;color:var(--warm-mid)}.filters-bar{padding:28px 48px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;border-bottom:1.5px solid var(--border)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-mid)}.filter-group select,.filter-group input[type=date]{height:38px;padding:0 12px;border:1.5px solid var(--border);border-radius:6px;background:var(--card-bg);font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--ink);outline:none;cursor:pointer;transition:border-color .2s;min-width:160px}.filter-group select:focus,.filter-group input[type=date]:focus{border-color:var(--accent)}.filter-group input[type=date]{min-width:140px}.filter-date-range{display:flex;align-items:flex-end;gap:8px}.filter-date-range span{font-size:.8rem;color:var(--warm-mid);padding-bottom:10px}.filter-actions{display:flex;gap:8px;align-items:flex-end;margin-left:auto}.btn-clear{height:38px;padding:0 20px;border:none;border-radius:6px;background:var(--ink);font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s}.btn-clear:hover{background:var(--accent)}.results-bar{padding:16px 48px;display:flex;align-items:center;justify-content:space-between}.results-count{font-size:.82rem;color:var(--warm-mid)}.results-count strong{color:var(--ink)}.sort-wrap{display:flex;align-items:center;gap:10px}.sort-wrap label{font-size:.78rem;color:var(--warm-mid);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.sort-wrap select{height:34px;padding:0 10px;border:1.5px solid var(--border);border-radius:6px;background:var(--card-bg);font-family:DM Sans,sans-serif;font-size:.82rem;color:var(--ink);outline:none;cursor:pointer;transition:border-color .2s}.sort-wrap select:focus{border-color:var(--accent)}.filter-chips{padding:0 48px 16px;display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:20px;font-size:.75rem;color:var(--warm-mid);font-weight:500}.chip button{background:none;border:none;cursor:pointer;color:var(--warm-mid);font-size:.85rem;line-height:1;padding:0;transition:color .2s}.chip button:hover{color:var(--accent)}.table-wrap{padding:0 48px 48px;overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;overflow:hidden}thead{background:#f3ede4}th{padding:14px 20px;text-align:left;font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-mid);border-bottom:1.5px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}th:hover{color:var(--ink)}th .sort-icon{margin-left:4px;opacity:.4}th.sorted .sort-icon{opacity:1;color:var(--accent)}tbody tr{border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#fdf9f5}td{padding:16px 20px;font-size:.875rem;vertical-align:middle}.td-title{font-family:Quintessential,serif;font-weight:700;font-size:.95rem;color:var(--ink);min-width:200px}.td-title span{display:block;font-family:DM Sans,sans-serif;font-weight:300;font-size:.78rem;color:var(--warm-mid);margin-top:2px}.td-category{white-space:nowrap}.category-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.td-stars{white-space:nowrap}.star{font-size:.9rem}.star.filled{color:var(--gold)}.star.half{position:relative;display:inline-block;color:#ddd}.star.half:before{content:"★";position:absolute;left:0;width:50%;overflow:hidden;color:var(--gold)}.star.empty{color:#ddd}.rating-num{font-size:.75rem;color:var(--warm-mid);margin-left:4px}.td-location{color:var(--warm-mid);white-space:nowrap}.td-date{color:var(--warm-mid);white-space:nowrap;font-size:.8rem}.td-author{color:var(--warm-mid);white-space:nowrap;font-size:.82rem}.td-action{text-align:right}.read-link{font-size:.78rem;font-weight:500;color:var(--accent);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:opacity .2s}.read-link:hover{opacity:.7}.empty-state{padding:64px 48px;text-align:center;color:var(--warm-mid)}.empty-state p{font-size:.95rem;margin-top:8px}.table-message{padding:64px 48px;text-align:center;color:var(--warm-mid)}.table-message.error{color:var(--accent)}.review-header{max-width:820px;margin:0 auto;padding:40px 24px 0}.category-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.category-badge.restaurant{background:#fdeee9;color:var(--accent)}.category-badge.golf{background:#e8f0e8;color:#3d6b3a}.review-title{font-family:Quintessential,serif;font-size:clamp(2rem,4.5vw,3.1rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}.review-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding-bottom:28px;font-size:.85rem;color:var(--warm-mid)}.meta-sep{width:3px;height:3px;border-radius:50%;background:var(--border)}.review-hero{max-width:1100px;margin:0 auto;padding:0 24px}.review-hero figure{border-radius:12px;overflow:hidden}.review-hero .hero-img{width:100%;aspect-ratio:16 / 8;object-fit:cover;display:block;background:linear-gradient(135deg,#8b6a42,#c4894e,#7a5535)}.review-hero figcaption{font-size:.78rem;color:var(--warm-mid);padding:10px 2px 0}.review-body{max-width:700px;margin:0 auto;padding:48px 24px 24px}.review-body p{font-size:1.08rem;line-height:1.85;color:#3a322a;margin-bottom:1.5em}.review-body>p:first-of-type:first-letter{font-family:Quintessential,serif;font-size:3.6rem;font-weight:700;float:left;line-height:.85;padding:6px 10px 0 0;color:var(--accent)}.review-body h2{font-family:Quintessential,serif;font-size:1.6rem;font-weight:700;line-height:1.3;margin:2em 0 .7em}.verdict{background:var(--ink);color:#fff;border-radius:12px;padding:32px 36px;margin:2.4em 0 0;display:flex;gap:28px;align-items:center}.verdict-score{flex-shrink:0;font-family:Quintessential,serif;font-size:3.2rem;font-weight:700;color:var(--gold);line-height:1}.verdict-score small{display:block;font-family:DM Sans,sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;margin-top:6px}.verdict-text h3{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin-bottom:8px}.verdict-text p{font-family:Quintessential,serif;font-size:1.2rem;line-height:1.5;color:#fff;margin:0}.skeleton{background:linear-gradient(90deg,#efe8dc 25%,#f7f2ea,#efe8dc 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.featured-skeleton{height:500px;border-radius:12px}.card-skeleton{background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.card-skeleton .sk-img{height:200px;border-radius:0}.card-skeleton .sk-body{padding:22px 24px 26px;display:grid;gap:12px}.card-skeleton .sk-title{height:20px;width:75%}.card-skeleton .sk-stars{height:14px;width:40%}.card-skeleton .sk-line{height:12px}.card-skeleton .sk-line.short{width:60%}@media(max-width:600px){.featured-skeleton{height:380px}}@media(prefers-reduced-motion:reduce){.spinner,.skeleton{animation:none}.loading-note{animation:none;opacity:1}}@media(max-width:900px){nav{padding:0 24px;gap:16px}.featured-section,.reviews-section,.pagination-section{padding-left:24px;padding-right:24px}.reviews-grid{grid-template-columns:1fr 1fr}.filters-bar,.results-bar,.filter-chips,.table-wrap,.pagination-section{padding-left:24px;padding-right:24px}.filter-actions{margin-left:0;width:100%}.btn-clear{flex:1}.footer-top{grid-template-columns:1fr 1fr}footer{padding:40px 24px 28px}}@media(max-width:600px){nav{padding:0 16px}.nav-links a{display:none}.featured-card{height:380px}.featured-content{padding:28px 24px}.featured-section,.reviews-section,.pagination-section{padding-left:16px;padding-right:16px}.reviews-grid{grid-template-columns:1fr}.page-header,.filters-bar,.results-bar,.filter-chips,.table-wrap,.pagination-section{padding-left:16px;padding-right:16px}.footer-top{grid-template-columns:1fr;gap:32px}footer{padding:32px 16px 24px}}
