:root{
  --background:#2b2521;
  --foreground:#f2ece2;
  --card:#362f2a;
  --secondary:#403833;
  --muted-foreground:#b9aea1;
  --primary:#e2c48b;
  --primary-foreground:#33291c;
  --border:rgba(190,170,145,.25);
  --radius:1rem;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--background);color:var(--foreground);font-family:var(--sans);font-weight:300;min-height:100vh}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.hero{position:relative}
.hero-img{position:relative;height:18rem;overflow:hidden}
@media(min-width:640px){.hero-img{height:24rem}}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.hero-fade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(43,37,33,.4),rgba(43,37,33,.7),var(--background))}
.hero-content{position:relative;z-index:10;margin:-6rem auto 0;max-width:28rem;display:flex;flex-direction:column;align-items:center;padding:0 1.25rem;text-align:center}
.avatar{height:7rem;width:7rem;border-radius:999px;overflow:hidden;border:1px solid rgba(226,196,139,.4);background:var(--card);box-shadow:0 20px 40px rgba(0,0,0,.45)}
.avatar img{height:100%;width:100%;object-fit:cover}
.hero-content h1{margin-top:1.25rem;font-family:var(--serif);font-size:2.25rem;font-weight:500;letter-spacing:-.01em}
.eyebrow{margin-top:.25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.35em;color:var(--primary)}
.loc{margin-top:.75rem;font-size:.875rem;color:var(--muted-foreground)}
.dot{color:var(--primary)}

.wrap{max-width:28rem;margin:0 auto;padding:2rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}

.cta{display:block;border-radius:1.5rem;background:var(--primary);color:var(--primary-foreground);padding:1.25rem 1.5rem;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.35);transition:transform .2s}
.cta:hover{transform:scale(1.02)}
.cta-title{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500}
.cta-sub{display:block;margin-top:.15rem;font-size:.875rem;opacity:.8}

.row{display:flex;align-items:center;gap:1rem;border:1px solid var(--border);background:var(--card);border-radius:1.5rem;padding:1rem 1.25rem;transition:background .2s}
.row:hover{background:var(--secondary)}
.card-row{padding:.75rem 1.25rem .75rem .75rem}
.ico{display:flex;height:2.75rem;width:2.75rem;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:var(--secondary);color:var(--primary)}
.thumb{height:4rem;width:4rem;flex:0 0 auto;border-radius:.75rem;object-fit:cover}
.rowtext{flex:1}
.rowtext strong{display:block;font-weight:500}
.rowtext small{display:block;font-size:.875rem;color:var(--muted-foreground)}
.arrow{color:var(--muted-foreground)}

.section{padding-top:1.25rem;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.35em;color:var(--muted-foreground)}

.rating{border:1px solid var(--border);background:var(--card);border-radius:1.5rem;padding:1.25rem;text-align:center}
.score{font-family:var(--serif);font-size:2.25rem;font-weight:500;color:var(--primary)}
.stars{letter-spacing:.2em;color:var(--primary)}
.stars.big{margin-top:.25rem;font-size:1.125rem}
.muted{margin-top:.25rem;font-size:.875rem;color:var(--muted-foreground)}

.scroller{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:none}
.scroller::-webkit-scrollbar{display:none}
.scroller figure{width:18rem;flex:0 0 auto;scroll-snap-align:center;border:1px solid var(--border);background:var(--card);border-radius:1.5rem;padding:1.25rem}
.scroller blockquote{margin-top:.75rem;font-size:.875rem;line-height:1.6;color:rgba(242,236,226,.9)}
.scroller figcaption{margin-top:.75rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground)}
.hint{text-align:center;font-size:.75rem;color:var(--muted-foreground)}

footer{padding-top:2rem;text-align:center;font-size:.75rem;color:var(--muted-foreground)}
.fname{font-family:var(--serif);font-size:1rem;color:var(--foreground)}
footer p+p{margin-top:.25rem}
