/* Shared Grimoire styles for sub-pages */
body{background:#fff;color:#000}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.wide{max-width:1360px;margin:0 auto;padding:0 32px}
.dark{background:#000;color:#fff}
.light{background:#fff;color:#000}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 40px;border-bottom:1px solid #222}
.top .home{text-decoration:none}
.top nav{display:flex;gap:30px}
.top nav a{text-decoration:none;opacity:.75}
.top nav a:hover,.top nav a.cur{opacity:1;text-decoration:underline;text-underline-offset:6px}
.phero{text-align:center;padding:70px 0 90px;position:relative}
.phero .cat{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:50% 25%;margin:0 auto 34px;border:1px solid #333}
.phero h1{font-family:var(--fd);letter-spacing:.03em;font-weight:500;font-size:clamp(2.8rem,7vw,6rem);line-height:1;margin:0 0 18px}
.phero p.sub{max-width:620px;margin:0 auto;opacity:.75}
.vert{position:absolute;right:40px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;letter-spacing:.6em}
.num{display:block;text-align:center;margin-bottom:18px;opacity:.55}
h2{font-family:var(--fd);font-weight:500;text-align:center;font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.1;margin:0 0 18px;letter-spacing:.01em}
.rule{width:1px;height:60px;background:currentColor;margin:0 auto 44px;opacity:.5}
section{padding:110px 0}
.btn{display:inline-block;border:1px solid currentColor;padding:14px 28px;text-decoration:none;margin:0 6px 10px}
.dark .btn.fill{background:#fff;color:#000;border-color:#fff}
.light .btn.fill{background:#000;color:#fff;border-color:#000}
.center{text-align:center}
.gal{columns:3 300px;column-gap:18px}
.gal a{display:block;break-inside:avoid;margin:0 0 18px}
.gal img{width:100%;height:auto;transition:opacity .3s}
.gal a:hover img{opacity:.85}
.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 0 0}
.chips a{border:1px solid currentColor;padding:9px 16px;text-decoration:none}
.ph{opacity:.6;font-style:italic}
footer{text-align:center;padding:90px 0 40px}
footer .catmini{width:110px;margin:0 auto 24px;border-radius:50%}
footer .soc{display:flex;justify-content:center;gap:34px;margin:30px 0 56px;flex-wrap:wrap}
footer .soc a{text-decoration:none}
@media (max-width:860px){
 .top{flex-wrap:wrap;padding:16px 20px;gap:12px}
 .top nav{order:3;width:100%;overflow-x:auto;gap:12px;padding-bottom:4px;white-space:nowrap;justify-content:space-between;font-size:.62rem;letter-spacing:.1em}
 .vert{display:none}
 .wrap,.wide{padding:0 18px}
 section{padding:72px 0}
 .phero{padding:48px 0 64px}
 .gal{columns:2;column-gap:10px}.gal a{margin-bottom:10px}
}
