:root{--pink:#c60075;--pink-dark:#a3005f;--pink-hi:#eb008b;--pink-pale:#fce8f3;--pink-wash:#fdf3f8;--ink:#161616;--body:#333333;--mut:#6d6d6d;--bg:#fffcfd;--card:#ffffff;--line:#eddce6}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--body)}
a{color:var(--pink-dark);text-decoration:none}
.ribbon{background:var(--pink);color:#fff;text-align:center;font-size:13px;font-weight:600;padding:7px 12px;letter-spacing:.02em}
header.top{background:#fff;color:var(--ink);border-bottom:3px solid var(--pink)}
.top-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:14px 18px}
.top-in img{height:44px;width:auto}
.top-in .brand{font-weight:700;font-size:19px;letter-spacing:.04em;color:var(--ink)}
.top-in .brand small{display:block;font-weight:400;font-size:12px;color:var(--pink);letter-spacing:.14em}
.top-in .right{margin-left:auto;text-align:right;font-size:13px;color:var(--mut)}
.hero{background:linear-gradient(135deg,#ffffff 0%,var(--pink-pale) 78%);color:var(--ink);border-bottom:1px solid var(--line)}
.hero-in{max-width:1180px;margin:0 auto;padding:42px 18px 34px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.medal{width:118px;height:118px;border-radius:50%;background:#000;color:var(--pink-hi);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:800;border:4px solid var(--pink);flex:0 0 auto}
.medal.photo{background:none;overflow:hidden;padding:0}
.medal.photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.hero h1{font-size:34px;line-height:1.1;color:#000}
.hero .role{color:var(--pink-dark);margin-top:6px;font-size:16px;font-weight:600}
.hero .pitch{color:var(--body);margin-top:10px;max-width:560px;font-size:15px;line-height:1.5}
.hero .stats{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap}
.stat{background:#fff;border:1px solid var(--line);border-top:3px solid var(--pink);border-radius:12px;padding:12px 16px;text-align:center;min-width:104px}
.stat b{display:block;font-size:22px;color:#000}
.stat span{font-size:11px;letter-spacing:.12em;color:var(--pink-dark);font-weight:700}
.brands{background:#fff;border-bottom:1px solid var(--line)}
.brands-in{max-width:1180px;margin:0 auto;padding:14px 18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.brands-in .lbl{font-size:11px;letter-spacing:.16em;color:var(--mut);font-weight:700;margin-right:4px}
.chip{border:1.5px solid var(--pink);color:var(--ink);background:#fff;border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;letter-spacing:.03em}
.wrap{max-width:1180px;margin:0 auto;padding:26px 18px 10px}
h2.sec{font-size:22px;margin:6px 0 4px;color:#000}
p.sub{color:var(--mut);font-size:14px;margin-bottom:14px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.toolbar input,.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:#fff;color:var(--ink)}
.toolbar input{flex:1;min-width:200px}
.fbtn{border:1px solid var(--pink);background:#fff;color:var(--pink-dark);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;font-size:13px}
.fbtn.on{background:var(--pink);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:16/10;background:var(--pink-wash);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.card .ph .nophoto{color:var(--pink-dark);font-size:13px;font-weight:600;letter-spacing:.06em;text-align:center;padding:10px}
.card .bd{padding:13px 14px 15px;display:flex;flex-direction:column;gap:5px;flex:1}
.card .yr{font-size:12px;color:var(--mut);letter-spacing:.08em;font-weight:700}
.card h3{font-size:16px;line-height:1.25;color:var(--ink)}
.card .meta{font-size:12.5px;color:var(--mut)}
.card .price{margin-top:auto;padding-top:8px;display:flex;align-items:baseline;gap:8px}
.card .price b{font-size:19px;color:#000}
.card .price s{color:var(--mut);font-size:13px}
.card .store{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--pink-dark)}
.card .go{margin-top:9px;display:inline-block;background:var(--pink);color:#fff;text-align:center;padding:9px 12px;border-radius:9px;font-weight:600;font-size:13.5px}
.card .go:hover{background:var(--pink-dark)}
.more{display:block;margin:20px auto 6px;background:var(--pink);color:#fff;border:none;border-radius:10px;padding:12px 26px;font-size:15px;font-weight:600;cursor:pointer}
.more:hover{background:var(--pink-dark)}
.contact{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin:26px 0}
.contact h2{font-size:20px;margin-bottom:6px;color:#000}
.contact p{color:var(--mut);font-size:14.5px;line-height:1.55}
.contact .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.contact .cell{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--ink)}
.contact .cell b{display:block;font-size:11px;letter-spacing:.12em;color:var(--pink-dark)}
footer{background:#000;color:#d9d9d9;margin-top:34px}
.foot-in{max-width:1180px;margin:0 auto;padding:24px 18px;font-size:13.5px;line-height:1.7}
.foot-in b{color:#fff}
@media(max-width:640px){.hero h1{font-size:27px}.hero .stats{margin-left:0}.top-in .brand{display:none}.top-in .right{display:none}.top-in img{height:38px}}
