
@font-face{font-family:Fraunces;src:url(/assets/Fraunces.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:Nunito;src:url(/assets/NunitoSans.ttf) format("truetype");font-weight:200 1000;font-display:swap}
:root{--bg:#0b1016;--glass:rgba(255,255,255,.06);--edge:rgba(255,255,255,.14);--cream:#f7f1e1;--muted:#b9c0b6;--gold:#f5c257}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 700px at 50% -10%,#24455a 0%,#101a24 45%,var(--bg) 100%) fixed;color:var(--cream);font:17px/1.6 Nunito,system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
a{color:var(--gold)}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
header,main,footer{max-width:980px;margin:0 auto;padding:0 20px}
header{display:flex;align-items:center;gap:14px;padding-top:18px;flex-wrap:wrap}
header .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);font:600 22px Fraunces,serif}
header img{width:40px;height:40px;border-radius:10px}
nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--cream)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:56px 0 24px}
h1{font:600 clamp(40px,7vw,68px)/1.02 Fraunces,serif;margin:0 0 14px;letter-spacing:-.01em}
h2{font:600 28px/1.2 Fraunces,serif;margin:36px 0 12px}
.tag{font-size:21px;color:var(--cream);margin:0 0 14px}.lead{color:var(--muted)}
.badge{display:inline-block;margin-top:18px;padding:12px 20px;border-radius:999px;background:var(--gold);color:#2a1d07;font-weight:800}
.shot{border-radius:28px;border:1px solid var(--edge);box-shadow:0 30px 80px rgba(0,0,0,.45);width:100%;height:auto}
.card{background:var(--glass);border:1px solid var(--edge);border-radius:22px;padding:20px 22px;margin:14px 0}
ul.feat{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
ul.feat li{background:var(--glass);border:1px solid var(--edge);border-radius:18px;padding:14px 16px}
ul.feat li::before{content:"✿ ";color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
footer{color:var(--muted);font-size:14px;padding:40px 20px 50px}
.langs{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.langs a{color:var(--muted)}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding-top:28px}ul.feat{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}}
