:root { --night:#12142e; --panel:#1f1d45; --line:#3d3870; --text:#f1eefa; --muted:#bdb7d8;
  --gold:#e8c26a; --red:#d9472f; --wood:#5b3a2a; --wood-light:#7a5138; }
* { box-sizing:border-box; }
html { background:var(--night); }
body { margin:0; color:var(--text); background:linear-gradient(180deg,#191a42,var(--night) 420px);
  font:16px/1.75 system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",sans-serif; overflow-wrap:anywhere; }
a { color:var(--gold); }
img { max-width:100%; display:block; }
main { max-width:960px; margin:0 auto; padding:0 16px 40px; }
h1,h2 { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; line-height:1.4; }
main > h1 { font-size:1.7rem; margin:20px 0 16px; color:var(--gold); }
.bar { max-width:960px; margin:0 auto; padding:14px 16px 0; }
.brand { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-weight:700; color:var(--gold); text-decoration:none; }
.logo { text-align:center; padding:16px 0 12px; }
.logo h1 { margin:0; font-size:1.9rem; color:var(--gold); letter-spacing:.08em; }
.logo p { margin:0; font-size:.8rem; color:var(--muted); }
.hero { width:calc(100% + 32px); max-width:none; margin:0 -16px; height:60vh; height:60svh; object-fit:cover; object-position:42% 30%; }
.lead { margin:20px 0; text-align:center; }
.drawers { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.drawer { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:96px; color:var(--text); font-weight:700; text-decoration:none;
  background:linear-gradient(180deg,var(--wood-light),var(--wood)); border:2px solid var(--gold); border-radius:8px; font-size:1.1rem; }
.drawer i { width:44px; height:8px; border-radius:0 0 8px 8px; border:2px solid var(--gold); border-top:0; }
.news { margin-top:32px; }
.news h2,section h2 { font-size:1.2rem; margin:0 0 8px; }
.news ul { list-style:none; margin:0; padding:0; }
.news li { padding:10px 0; border-top:1px solid var(--line); }
.news .state { display:block; color:var(--muted); font-size:.85rem; }
.card { display:flex; gap:14px; padding:16px; margin-bottom:14px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
.card h2 { font-size:1.1rem; margin:0 0 4px; }
.card p { margin:0 0 12px; }
.thumb { width:80px; height:80px; flex:none; border-radius:16px; }
.cover,.cover-text { width:92px; height:147px; flex:none; border-radius:4px; }
.cover-text { display:flex; align-items:center; justify-content:center; background:var(--night); border:1px solid var(--gold); color:var(--gold); font-size:.85rem; }
.price { color:var(--muted); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:8px 18px; border-radius:8px; background:var(--red); color:#fff; font-weight:700; text-decoration:none; }
.gallery { display:grid; gap:14px; }
.gallery img { width:100%; height:auto; border-radius:8px; background:var(--panel); }
.gallery img[src*=standing] { max-height:560px; width:auto; margin:0 auto; background:none; }
.center { text-align:center; margin-top:24px; }
.profile { display:flex; gap:14px; align-items:center; }
.profile img { width:120px; height:auto; flex:none; }
section { margin:24px 0; }
.adult { margin-top:160px; text-align:center; font-size:.85rem; }
.adult a { color:var(--muted); }
.note { color:var(--muted); font-size:.85rem; }
.lost { margin:24px auto; border-radius:50%; }
.foot { padding:20px 16px 28px; border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:.9rem; }
.foot p { margin:2px 0; }
.foot a { color:var(--muted); }
:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
@media (min-width:768px) {
  .hero { width:100%; margin:0; height:auto; aspect-ratio:1216/640; border-radius:10px; object-position:50% 0; }
  .drawers { grid-template-columns:repeat(4,1fr); }
  .news li { display:flex; gap:20px; }
  .news .state { flex:none; line-height:1.75rem; }
  .gallery { grid-template-columns:2fr 1fr; align-items:center; }
  .gallery img[src*=hero] { grid-column:1 / -1; }
  .gallery img[src*=standing] { max-height:520px; }
  .gallery img[src*=icon] { max-width:360px; margin:0 auto; }
  .profile img { width:170px; }
}
