*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#03111B;--abyss:#06202F;--teal:#33CCD0;--gold:#E8C48C;--text:#F4F5F6;--soft:#B4DFEC;--hair:rgba(177,181,195,.18)}
body{background:var(--ink);color:var(--text);font:400 15px/1.5 -apple-system,'PingFang SC','Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
header{padding:32px 0 8px}
header img{height:44px;display:block}
.eb{margin-top:52px;display:flex;align-items:center;gap:14px;font-weight:600;font-size:15px;letter-spacing:.22em;color:var(--teal)}
.eb::before{content:"";width:40px;height:2px;background:var(--teal)}
h1{margin-top:14px;font-size:clamp(44px,7vw,84px);line-height:1.05;font-weight:800;letter-spacing:-.01em}
.sum{margin-top:12px;color:var(--soft);font-size:16px}
section{padding-top:48px}
h2{font-size:28px;font-weight:700}
.grid{margin-top:22px;display:grid;gap:30px 22px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.th{display:block;aspect-ratio:4/5;background:var(--abyss);border-radius:10px;overflow:hidden}
.th img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.th:hover img{transform:scale(1.03)}
.ti{margin-top:12px;font-weight:500;line-height:1.4}
.ti b{font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--gold);margin-right:6px}
.dl{margin-top:10px;display:inline-flex;gap:8px;padding:7px 13px;border:1px solid rgba(202,157,91,.55);border-radius:999px;font-size:13px;font-weight:600;color:var(--gold)}
.dl:hover{background:#CA9D5B;color:var(--ink)}
.dl span{font-weight:400;opacity:.8}
footer{margin-top:64px;padding:26px 0 40px;border-top:1px solid var(--hair);color:var(--soft);font-size:13px}
