:root{
  --pink:#ff6f91;
  --pink-dark:#e14d73;
  --gold:#ffb347;
  --cream:#fff8f0;
  --card-bg:#ffffff;
  --ink:#3a2e2e;
  --muted:#8a7a72;
  --border:#f3d9c9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Segoe UI',Tahoma,Verdana,Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
}
a{color:var(--pink-dark);}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

header.hero{
  background:linear-gradient(135deg,var(--pink) 0%,var(--gold) 100%);
  color:#fff;
  padding:56px 0 64px;
  text-align:center;
}
header.hero .mark{
  width:78px;height:78px;border-radius:50%;
  background:rgba(255,255,255,0.22);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  font-size:38px;font-weight:bold;
  border:2px solid rgba(255,255,255,0.6);
}
header.hero h1{
  margin:0 0 10px;
  font-size:clamp(26px,4vw,40px);
  font-weight:700;
  text-shadow:0 2px 8px rgba(0,0,0,0.15);
}
header.hero p.tagline{
  margin:0 auto;max-width:640px;
  font-size:17px;
  opacity:0.95;
}
nav.pagenav{
  margin-top:28px;
  display:flex;gap:22px;justify-content:center;flex-wrap:wrap;
}
nav.pagenav a{
  color:#fff;text-decoration:none;
  font-weight:600;font-size:14px;
  letter-spacing:.03em;
  padding:8px 16px;
  border:1px solid rgba(255,255,255,0.55);
  border-radius:999px;
  transition:background .2s;
}
nav.pagenav a:hover{background:rgba(255,255,255,0.18);}

section{padding:56px 0;}
section h2{
  font-size:28px;margin:0 0 8px;text-align:center;color:var(--pink-dark);
}
section .lede{
  text-align:center;color:var(--muted);max-width:640px;margin:0 auto 36px;font-size:15px;
}

.about p{margin:0 0 16px;}
.about{background:var(--card-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}

.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:28px;
}
.cat-card{
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px 20px;
}
.cat-card h3{
  margin:0 0 12px;font-size:16px;color:var(--pink-dark);
  border-bottom:2px solid var(--gold);padding-bottom:8px;
}
.cat-card ul{margin:0;padding:0;list-style:none;}
.cat-card li{
  font-size:13.5px;color:var(--ink);padding:3px 0;
}

.names-wrap{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto;
}
.names-wrap span{
  background:#fff;border:1px solid var(--border);
  padding:7px 14px;border-radius:999px;font-size:13px;color:var(--ink);
}

.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:14px;
}
.gallery figure{
  margin:0;background:var(--card-bg);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.gallery figure:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 20px rgba(225,77,115,0.18);
}
.gallery img{
  display:block;width:100%;height:150px;object-fit:cover;
}

footer{
  background:#2f2422;color:#e8d9d2;
  text-align:center;padding:30px 0;font-size:13px;
}
footer .mark-small{font-weight:700;color:#fff;}