
:root{
  --bg:#0b0b0c;
  --text:#e9e7e4;
  --muted:#b8b3aa;
  --accent:#c7a97a; /* gold-ish */
  --card:#141416;
  --line:#242427;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Hiragino Kaku Gothic ProN", Meiryo, "Noto Sans JP", "Yu Gothic", sans-serif;line-height:1.8}
a{color:var(--text);text-decoration:none}
a:hover{opacity:.9}
.container{max-width:1080px;margin:auto;padding:0 20px}
.nav{position:sticky;top:0;background:rgba(11,11,12,.75);backdrop-filter: blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:36px}
.logo .brand{font-weight:600;letter-spacing:.12em}
.btn{display:inline-block;border:1px solid var(--accent);padding:10px 16px;border-radius:999px;color:var(--text)}
.btn-primary{background:var(--accent);color:#0b0b0c;border-color:var(--accent);}
.hero{padding:80px 0 56px;border-bottom:1px solid var(--line);background: radial-gradient(1200px 400px at 20% -20%, #1a1b1d, transparent)}
.hero h1{font-size:42px;letter-spacing:.06em;margin:6px 0 12px}
.hero p{color:var(--muted);max-width:720px}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card .pad{padding:18px}
.card img{width:100%;height:320px;object-fit:cover;display:block}
.section{padding:56px 0;border-bottom:1px solid var(--line)}
.h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.h h2{margin:0;font-size:24px;letter-spacing:.08em}
.badge{border:1px solid var(--line);padding:4px 10px;border-radius:999px;color:var(--muted);font-size:12px}
.list{color:var(--muted);margin:0;padding-left:18px}
.kv{display:flex;gap:28px;align-items:center}
.kv img{width:100%;border-radius:14px;border:1px solid var(--line)}
.kv .txt{flex:1}
.kv .media{flex:1}
.note{color:var(--muted);font-size:16px}
.footer{padding:28px 0;color:var(--muted)}
.form{display:grid;gap:12px}
input,select,textarea{background:#0d0d0f;border:1px solid var(--line);color:var(--text);padding:12px;border-radius:10px;width:100%}
textarea{min-height:120px}
small{color:var(--muted)}
.gallery img{height:260px}
@media (max-width:860px){
  .grid-3{grid-template-columns:1fr 1fr}
  .kv{flex-direction:column}
  .card img{height:240px}
  .gallery img{height:200px}
}
@media (max-width:620px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}

.nav a.link{margin-left:18px;color:var(--muted)}
.nav a.link:hover{color:var(--text)}
.gallery img{height:200px}
article p{margin:0 0 12px 0;color:var(--text)}
article h3{margin:22px 0 10px 0;letter-spacing:.06em}
.kv .media img{height:auto}
.lead{font-size:18px;color:var(--text)}

body{font-size:18px;}
