:root{
  --bg:#faf6f0;--card:#ffffff;--line:#e9dfd2;--ink:#2b1e14;--mut:#7c6a58;
  --acc:#b05c2a;--acc2:#8a4318;
  --r:18px;--sh:0 14px 40px rgba(63,42,24,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font:16px/1.65 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,.brand,.stats b{font-family:Fraunces,Georgia,serif}
.wrap{max-width:1080px;margin:auto;padding:0 clamp(16px,4vw,36px)}

/* top bar */
.top{position:sticky;top:0;z-index:40;background:rgba(250,246,240,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:20px;padding-block:14px}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:900;font-size:20px;letter-spacing:-.3px}
.brand:hover{text-decoration:none}
.brand em{font-style:italic;font-weight:600;color:var(--acc);margin-left:5px}
.bean{width:14px;height:19px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(150deg,var(--acc),var(--acc2));position:relative;transform:rotate(-18deg);flex:0 0 auto}
.bean:after{content:"";position:absolute;inset:0;margin:auto;width:1.5px;height:80%;background:#faf6f0;opacity:.8;border-radius:2px}
.links{margin-left:auto;display:flex;gap:24px;font-size:14.5px}
.links a{color:var(--mut);font-weight:500}
.links a:hover{color:var(--acc);text-decoration:none}
@media(max-width:640px){.links{display:none}}

/* hero */
.hero{padding:clamp(64px,10vh,110px) 0 clamp(40px,6vh,64px);text-align:center}
.pill{display:inline-block;font-size:13px;font-weight:600;color:var(--acc2);border:1px solid #e5c9ae;background:#f6e8d8;padding:7px 16px;border-radius:99px;margin-bottom:22px}
h1{font-size:clamp(38px,7vw,72px);line-height:1.04;letter-spacing:-1.5px;font-weight:900}
h1 em{font-style:italic;color:var(--acc)}
.lede{color:var(--mut);max-width:38em;margin:22px auto 0;font-size:clamp(15px,1.7vw,17.5px)}
.stats{display:flex;justify-content:center;gap:clamp(24px,5vw,56px);margin-top:38px;flex-wrap:wrap}
.stats div{display:flex;flex-direction:column;gap:2px}
.stats b{font-size:30px;font-weight:900;color:var(--ink)}
.stats span{font-size:12px;color:var(--mut);letter-spacing:.6px;text-transform:uppercase}

/* sections */
.wrap + .wrap{margin-top:0}
section.wrap{padding-top:clamp(28px,4vh,44px);padding-bottom:clamp(28px,4vh,44px)}
.sec-title{font-size:21px;font-weight:700;letter-spacing:-.3px;margin-bottom:6px}
.sec-note{color:var(--mut);font-size:14px;max-width:52em;margin-bottom:22px}

/* cards */
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid color-mix(in srgb,var(--accent,#b05c2a) 60%,var(--line));border-radius:var(--r);padding:22px;box-shadow:var(--sh);transition:.25s;display:flex;gap:16px;align-items:flex-start}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent,#b05c2a) 80%,var(--line))}
.avatar{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  font-family:Fraunces,serif;font-weight:900;font-size:20px;color:var(--accent-ink,#fff);
  background:var(--accent,#b05c2a)}
img.avatar{object-fit:cover;box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent,#b05c2a) 65%,#fff)}
img.avatar.pos-b{object-position:50% 88%}
.av-lg{width:64px;height:64px;border-radius:18px;font-size:28px}
.feat-photo{flex:0 0 auto;width:clamp(120px,24vw,200px);align-self:stretch;border-radius:14px;object-fit:cover;box-shadow:var(--sh)}
@media(max-width:640px){.featured{flex-direction:column}.feat-photo{width:100%;height:190px;align-self:auto}}
.card-body{flex:1;min-width:0}
.card h4{font-size:17px;font-weight:700;letter-spacing:-.2px}
.card h2{font-size:clamp(24px,3.4vw,32px);font-weight:900;letter-spacing:-.6px;margin:8px 0 4px}
.addr{display:flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--accent,#b05c2a) 60%,#1a120b);font-size:13.5px;font-weight:600;margin-top:6px}
.addr svg{flex:0 0 auto}
.note{color:var(--mut);font-size:14.5px;margin-top:8px}
.note a{font-weight:600}

/* featured */
.featured{align-items:center;background:linear-gradient(135deg,#fff 55%,#f8ecdd);border:1px solid color-mix(in srgb,var(--accent,#b05c2a) 35%,#fff);padding:clamp(22px,4vw,34px)}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--accent,#b05c2a) 60%,#1a120b);background:color-mix(in srgb,var(--accent,#b05c2a) 10%,#fff);border:1px solid color-mix(in srgb,var(--accent,#b05c2a) 30%,#fff);padding:4px 11px;border-radius:99px}
.badge.star{color:var(--accent-ink,#8a4318);background:color-mix(in srgb,var(--accent,#b05c2a) 22%,#fff)}
.featured .note{font-size:15.5px;max-width:44em}
.btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 22px;border-radius:12px;
  background:var(--accent,#b05c2a);color:var(--accent-ink,#fff);font-weight:700;font-size:15px;
  box-shadow:0 10px 26px color-mix(in srgb,var(--accent,#b05c2a) 30%,transparent);transition:.25s}
.btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 32px rgba(138,67,24,.36)}

/* chips */
.chips{list-style:none;display:flex;gap:10px;flex-wrap:wrap}
.chips li{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid color-mix(in srgb,var(--accent,#b05c2a) 45%,var(--line));border-radius:99px;padding:8px 18px 8px 8px;
  font-weight:600;font-size:15px;box-shadow:var(--sh)}
.chip-av{flex:0 0 auto;width:28px;height:28px;border-radius:9px;object-fit:cover}
img.chip-av{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#b05c2a) 65%,#fff)}
.chip-av.pos-r{object-position:100% 15%}
.chip-letter{display:grid;place-items:center;font-family:Fraunces,serif;font-weight:900;font-size:13px;color:var(--accent-ink,#fff);
  background:var(--accent,#b05c2a)}

/* footer */
footer{border-top:1px solid var(--line);margin-top:clamp(30px,5vh,56px);background:#f4ede3}
.foot-in{padding-block:34px;text-align:center;color:var(--mut);font-size:14px}
.foot-in b{color:var(--ink)}
.foot-in .src{font-size:12.5px;opacity:.75;margin-top:8px;max-width:46em;margin-inline:auto}
