:root{--ink:#0f172a;--muted:#6b7280;--brand:#6a1f23;--border:#e5e7eb;--radius:16px;--shadow:0 8px 24px rgba(17,24,39,.08)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--ink);line-height:1.7}
a{color:inherit}img{display:block;max-width:100%;height:auto;border-radius:12px}
.container{max-width:1200px;margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800}
.brand img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.menu{display:flex;gap:10px;flex-wrap:wrap}
.menu a{padding:8px 12px;border-radius:10px;text-decoration:none}
.menu a:hover{background:#f5f7fa}
.cta{background:var(--brand);color:#fff;border-radius:10px;padding:8px 12px;text-decoration:none}
.hero{padding:clamp(24px,6vw,56px) 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(14px,3vw,24px);align-items:center}
.hero h1{margin:0 0 .6em;line-height:1.1;font-size:clamp(28px,4vw,46px)}
.hero p{color:var(--muted)}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.badge{border:1px solid var(--border);background:#fafafa;padding:6px 10px;border-radius:999px;font-size:14px}
.section{padding:clamp(24px,6vw,56px) 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,2.5vw,20px)}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);background:#fff}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.footer{background:#0b1220;color:#e5e7eb}
.footer a{color:#e5e7eb;text-decoration:none}
.footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:22px 0}
.btn{display:inline-block;border:1px solid var(--ink);border-radius:10px;padding:8px 12px;text-decoration:none}
.notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px;margin-top:10px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}