@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--ink:#17231d;--green:#174d36;--lime:#d8f692;--cream:#f5f1e7;--paper:#fffdf8;--line:#d8ddd6;--muted:#66716b;--danger:#a92c2c;--shadow:0 24px 70px rgba(19,52,36,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,35,29,.12);background:rgba(255,253,248,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.5px}.brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--lime)}.brand.light{color:white}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav-pill{padding:10px 16px;border:1px solid var(--ink);border-radius:99px}.hero{min-height:720px;padding:64px max(5vw,28px) 74px;display:grid;grid-template-columns:minmax(420px,.92fr) minmax(420px,1.08fr);gap:6vw;align-items:center;background:radial-gradient(circle at 11% 16%,rgba(216,246,146,.38),transparent 24%),var(--cream);overflow:hidden}.hero-copy{max-width:710px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--green);margin-bottom:18px}.hero h1,.directory-hero h1{font-family:'Playfair Display',serif;font-size:clamp(60px,6.5vw,94px);line-height:.93;letter-spacing:-.05em;margin:0}.hero h1 em,.review-layout h2 em{color:var(--green)}.hero-copy>p{font-size:19px;color:var(--muted);max-width:620px;margin:28px 0 30px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--ink);border-radius:8px;padding:14px 20px;font-weight:700;cursor:pointer;background:white;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(19,52,36,.12)}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.ghost{background:transparent}.button.wide{width:100%}.button.approve{background:var(--lime);border-color:var(--lime);color:var(--ink);margin-top:14px}.button.reject{background:#fff;border-color:#e1b6b6;color:var(--danger);margin-top:10px}.trust-row{display:flex;gap:24px;margin-top:44px;font-size:12px;font-weight:700;color:var(--muted)}.trust-row b{color:var(--green)}.hero-visual{position:relative;height:590px}.hero-visual:before{content:"";position:absolute;inset:-25px -40px 30px 28%;background:var(--lime);border-radius:48% 48% 18% 50%;transform:rotate(4deg)}.hero-visual img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:220px 220px 26px 26px;box-shadow:var(--shadow)}.floating-score{position:absolute;left:-42px;bottom:52px;background:white;padding:18px 22px;border-radius:12px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.floating-score b{font-family:'Playfair Display',serif;font-size:34px;grid-row:1/3}.floating-score span{font-size:12px;color:#e8a52d;letter-spacing:2px}.floating-score small{color:var(--muted)}.receipt-stamp{position:absolute;right:-22px;top:55px;background:var(--ink);color:white;padding:15px 18px;border-radius:99px;display:flex;align-items:center;gap:10px;transform:rotate(8deg);box-shadow:var(--shadow)}.receipt-stamp>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--ink)}.receipt-stamp b{text-transform:uppercase;font-size:10px;line-height:1.2;letter-spacing:.12em}.manifesto{padding:115px max(5vw,28px);background:var(--ink);color:white}.manifesto>p{text-align:center;color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.2em}.manifesto>h2{font-family:'Playfair Display',serif;text-align:center;font-size:clamp(40px,5vw,70px);line-height:1;max-width:1000px;margin:20px auto 70px}.manifesto>h2 em{color:var(--lime)}.manifesto-grid{display:grid;grid-template-columns:1fr .78fr 1fr;gap:26px;max-width:1250px;margin:auto;align-items:center}.manifesto figure{margin:0}.manifesto figure img{width:100%;height:390px;object-fit:cover;border-radius:140px 140px 12px 12px}.manifesto figure.interior img{border-radius:12px 12px 140px 140px}.manifesto figcaption{display:flex;gap:14px;align-items:flex-start;margin-top:18px}.manifesto figcaption span{color:var(--lime);font-size:11px}.manifesto figcaption b{font-family:'Playfair Display',serif;font-size:24px;line-height:1.1}.manifesto-copy{padding:12px}.manifesto-copy>p{color:#b8c1bc}.manifesto-copy ul{list-style:none;padding:0;margin:32px 0 0}.manifesto-copy li{display:flex;gap:14px;padding:17px 0;border-top:1px solid #3b4841}.manifesto-copy li>span{color:var(--lime);width:25px}.manifesto-copy li div{display:flex;flex-direction:column}.manifesto-copy small{color:#a7b1ab}.review-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(520px,1.15fr);gap:7vw;max-width:1220px;margin:auto;padding:120px 28px}.review-layout aside{padding-top:44px;position:sticky;top:110px;height:max-content}.review-layout h2,.recent h2,.section-head h1{font-family:'Playfair Display',serif;font-size:50px;line-height:1.03;margin:0 0 22px}.review-layout aside>p{color:var(--muted);max-width:410px}.step{display:flex;gap:18px;margin-top:30px}.step>b{display:grid;place-items:center;flex:0 0 35px;height:35px;border:1px solid var(--green);color:var(--green);border-radius:50%}.step span{display:flex;flex-direction:column}.step small{color:var(--muted);margin-top:3px}.review-form,.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:var(--shadow)}.review-form h3{font-family:'Playfair Display',serif;font-size:34px;margin:0}.muted,.privacy{color:var(--muted)}.review-form label,.panel label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px;margin-top:20px}input,select,textarea{width:100%;border:1px solid #cfd4cd;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,90,64,.1)}textarea{resize:vertical}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:1fr 1fr 1fr}fieldset{border:0;padding:0;margin:24px 0 0}legend{font-size:14px;font-weight:700}.rating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rating{border:1px solid var(--line);padding:12px;border-radius:9px}.rating>span{font-size:13px;font-weight:700}.stars{display:flex}.stars button{padding:0 2px;border:0;background:none;color:#cbd0ca;font-size:23px;cursor:pointer}.stars button.on{color:#f2a928}.hint{color:var(--muted);font-weight:400}.upload{position:relative;border:1px dashed #9baa9f;border-radius:10px;padding:22px!important;display:block!important;text-align:center;background:#fbfcf7;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload span{display:flex;flex-direction:column}.upload small{color:var(--muted);font-weight:400}.robot,.consent{flex-direction:row!important;align-items:center!important;padding:13px;border:1px solid var(--line);border-radius:8px}.robot input{width:70px}.consent input{width:auto}.privacy{text-align:center;font-size:12px}.recent,.restaurant-list{padding:100px max(6vw,28px);background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;max-width:1200px;margin:0 auto 34px}.section-head>a{color:var(--green);font-weight:700}.cards{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card,.restaurant-card,.moderation-card,.empty{border:1px solid var(--line);background:white;border-radius:14px;padding:24px}.card-top{display:flex;justify-content:space-between}.score{font-family:'Playfair Display',serif;font-size:25px;font-weight:700}.verified{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--green);background:#eff6dc;border-radius:99px;padding:6px 9px;height:max-content}.review-card h3{font-size:21px;margin:18px 0 0}.location{color:var(--muted);margin-top:2px}.quote{font-family:'Playfair Display',serif;font-size:17px}.byline{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:13px}.byline span{color:var(--muted)}footer{padding:58px max(6vw,28px);background:var(--ink);color:#d9dedb;display:grid;grid-template-columns:1fr auto;gap:35px}footer>div:nth-child(2){display:flex;gap:22px}footer small{grid-column:1/-1;color:#8f9993;border-top:1px solid #334038;padding-top:20px}.directory-hero{text-align:center;padding:90px 28px 70px}.directory-hero h1{font-size:clamp(44px,6vw,76px);margin:auto}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;max-width:900px;margin:42px auto 0}.directory-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.restaurant-card{display:flex;justify-content:space-between;align-items:center}.restaurant-card h3{font-size:22px;margin:16px 0 0}.restaurant-card p{color:var(--muted);margin:2px 0}.restaurant-score{text-align:right}.restaurant-score b{font-size:32px}.restaurant-score span{color:#f2a928}.restaurant-score small{display:block;color:var(--muted)}.narrow{max-width:610px;margin:80px auto;padding:0 20px;min-height:65vh}.notice{padding:12px;border-radius:8px;background:#eff6dc;margin:16px 0}.error{padding:12px;background:#fff0f0;color:var(--danger);border-radius:8px}.success{text-align:center}.success>span{display:grid;place-items:center;margin:auto;width:62px;height:62px;border-radius:50%;background:var(--lime);font-size:30px}.admin-body{background:#f3f5f1}.admin-header{padding:18px max(4vw,24px);background:var(--ink);display:flex;justify-content:space-between;color:white}.admin-main{max-width:1180px;margin:50px auto;padding:0 24px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:12px 18px;font-weight:700}.tabs a.active{color:var(--green);border-bottom:3px solid var(--green)}.moderation-list{display:grid;gap:12px}.moderation-card{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center}.moderation-card h3{margin:10px 0 0}.moderation-card p{margin:4px 0;color:var(--muted)}.ratings-mini{display:flex;gap:18px}.ratings-mini span{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.ratings-mini b{font-size:17px;color:var(--ink)}.status{text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:800;padding:5px 8px;border-radius:99px}.status.pending{background:#fff3ce;color:#7c5c00}.status.approved{background:#ddf3df;color:#1d6a2d}.status.rejected{background:#ffe1e1;color:#9a2323}.review-detail{display:grid;grid-template-columns:1fr 370px;gap:20px}.review-detail h1{font-family:'Playfair Display',serif;font-size:44px;margin:14px 0 0}.review-detail .rating-grid>div{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:13px}.review-detail .rating-grid b{font-size:20px}.full-review{font-family:'Playfair Display',serif;font-size:20px}.review-detail dl{display:grid;grid-template-columns:120px 1fr}.review-detail dt{color:var(--muted)}
@media(max-width:950px){.site-header nav a:not(.nav-pill){display:none}.hero{grid-template-columns:1fr;padding-top:72px}.hero-copy{text-align:center;margin:auto}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.trust-row{justify-content:center}.hero-visual{height:540px;max-width:720px;width:100%;margin:30px auto 0}.manifesto-grid{grid-template-columns:1fr 1fr}.manifesto-copy{grid-column:1/-1;grid-row:2}.review-layout{grid-template-columns:1fr;padding-top:70px}.review-layout aside{position:static;padding-top:0}.rating-grid,.cards{grid-template-columns:1fr}.grid.three{grid-template-columns:1fr}.directory-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.moderation-card{grid-template-columns:1fr}.review-detail{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>div:nth-child(2){flex-direction:column}footer small{grid-column:1}}
@media(max-width:560px){.site-header{height:68px}.brand{font-size:17px}.nav-pill{font-size:12px;padding:8px 11px}.hero{padding:62px 20px}.hero h1{font-size:50px}.hero-actions{flex-direction:column;width:100%}.trust-row{flex-direction:column;gap:8px}.hero-visual{height:430px}.hero-visual img{border-radius:150px 150px 18px 18px}.floating-score{left:-5px;bottom:20px}.receipt-stamp{right:-2px;top:28px}.manifesto{padding:80px 20px}.manifesto-grid{grid-template-columns:1fr}.manifesto-copy{grid-column:auto;grid-row:auto}.manifesto figure.interior{display:none}.manifesto figure img{height:390px}.review-layout{padding-left:16px;padding-right:16px}.review-form,.panel{padding:24px}.grid.two,.filters{grid-template-columns:1fr}.recent,.restaurant-list{padding-left:16px;padding-right:16px}.section-head{align-items:start;gap:15px;flex-direction:column}.review-layout h2,.recent h2{font-size:40px}.restaurant-card{align-items:flex-start}.moderation-card{padding:18px}.ratings-mini{justify-content:space-between}.review-detail h1{font-size:35px}}
