*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;line-height:1.65}body{background:#FAFAF7;color:#2E2E2E;font-family:'Inter',sans-serif}
.container{max-width:840px;margin:0 auto;padding:0 24px}
.site-header{border-bottom:1px solid #F0EDE6;padding:16px 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Lora',serif;font-size:1.4rem;font-weight:700;color:#2E2E2E}
.nav{display:flex;gap:16px}.nav a{color:#B0B8C4;text-decoration:none;font-size:0.85rem;transition:color 200ms}.nav a:hover{color:#E8C84A}
.hero{padding:48px 0;text-align:center;border-bottom:1px solid #F0EDE6}
.hero h2{font-family:'Lora',serif;font-size:1.8rem;color:#2E2E2E;margin-bottom:8px}
.hero-sub{color:#B0B8C4;font-size:0.9rem}
.section-title{font-family:'Lora',serif;font-size:1.4rem;color:#2E2E2E;margin-bottom:24px}
.reviews-section{padding:40px 0}
.review-card{background:#F0EDE6;border-radius:12px;padding:24px;margin-bottom:16px;opacity:0;transform:translateY(16px);transition:all 400ms ease-out}
.review-card.visible{opacity:1;transform:translateY(0)}
.review-header{display:flex;justify-content:space-between;margin-bottom:8px}
.stars{color:#E8C84A;font-size:1rem;letter-spacing:2px}
.review-date{font-family:'Space Mono',monospace;font-size:0.7rem;color:#B0B8C4}
.review-card h3{font-family:'Lora',serif;font-size:1.1rem;color:#2E2E2E;margin-bottom:8px}
.review-card p{font-size:0.85rem;color:#2E2E2E;margin-bottom:12px}
.reviewer{display:flex;gap:12px;align-items:center}
.reviewer-name{font-weight:600;font-size:0.8rem;color:#2E2E2E}
.review-tag{font-size:0.7rem;color:#B0B8C4;border:1px solid #B0B8C4;border-radius:12px;padding:2px 8px}
.top-section{padding:40px 0;background:#F0EDE6}
.top-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.top-card{background:#FAFAF7;border-radius:8px;padding:20px;text-align:center}
.top-rank{font-family:'Space Mono',monospace;font-size:0.8rem;color:#E8C84A;font-weight:700}
.top-card h4{font-family:'Lora',serif;font-size:1rem;color:#2E2E2E;margin:8px 0}
.top-score{font-size:1.4rem;font-weight:700;color:#E8C84A}
.site-footer{padding:32px;text-align:center;color:#B0B8C4;font-size:0.8rem}
@media(max-width:600px){.top-grid{grid-template-columns:1fr}}
