@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+JP:wght@400;700;900&display=swap');
:root{--brand:#4f46e5;--dark:#0f172a;}
*{box-sizing:border-box;}
body{font-family:'Inter','Noto Sans JP',sans-serif;background:#fff;color:#1e293b;margin:0;padding:0;-webkit-font-smoothing:antialiased;}

/* NAV */
.glass-nav{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:fixed;width:100%;top:0;z-index:50;border-bottom:1px solid #f1f5f9;}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:80px;display:flex;justify-content:space-between;align-items:center;}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo-icon{width:40px;height:40px;background:#4f46e5;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(79,70,229,.3);}
.nav-logo-icon span{color:#fff;font-weight:900;font-size:1.25rem;font-style:italic;}
.nav-brand{font-size:1.5rem;font-weight:900;letter-spacing:-.05em;color:#0f172a;}
.nav-links{display:flex;align-items:center;gap:2.5rem;}
.nav-links a{font-size:.875rem;font-weight:600;color:#1e293b;text-decoration:none;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:#4f46e5;}
.btn-store{background:#0f172a;color:#fff!important;padding:10px 24px;border-radius:999px;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .2s;}
.btn-store:hover{background:#1e293b!important;}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:#1e293b;cursor:pointer;}
.mobile-menu{display:none;background:#fff;border-top:1px solid #f1f5f9;padding:1rem 1.5rem 1.5rem;flex-direction:column;gap:1rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:.9rem;font-weight:600;color:#1e293b;text-decoration:none;padding:.5rem 0;}
.mobile-menu a:hover{color:#4f46e5;}
@media(max-width:768px){.nav-links{display:none;}.nav-toggle{display:block;}}

/* FOOTER */
.site-footer{background:#0f172a;color:#fff;padding:80px 0 40px;}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:4rem;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;}}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;}
.footer-brand-icon{width:32px;height:32px;background:#4f46e5;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.footer-brand-icon span{color:#fff;font-weight:900;font-size:1rem;font-style:italic;}
.footer-brand-name{font-size:1.25rem;font-weight:900;letter-spacing:-.05em;}
.footer-desc{color:#94a3b8;font-size:.875rem;line-height:1.7;max-width:320px;margin-bottom:1.5rem;}
.footer-socials{display:flex;gap:12px;}
.footer-socials a{width:40px;height:40px;border-radius:50%;border:1px solid #334155;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:.9rem;transition:all .2s;}
.footer-socials a:hover{background:#4f46e5;border-color:#4f46e5;}
.footer-col h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#64748b;margin-bottom:1.5rem;}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem;}
.footer-col ul li a{color:#94a3b8;text-decoration:none;font-size:.875rem;transition:color .2s;}
.footer-col ul li a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #1e293b;padding-top:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.footer-copy{color:#64748b;font-size:.75rem;}
.footer-bottom-links{display:flex;gap:1.5rem;}
.footer-bottom-links a{color:#64748b;font-size:.75rem;text-decoration:none;transition:color .2s;}
.footer-bottom-links a:hover{color:#fff;}

/* UTILS */
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem;}
.section-label{display:inline-block;padding:6px 16px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem;}
.section-title{font-size:2rem;font-weight:900;color:#0f172a;margin:0 0 .5rem;}
.section-title::after{content:'';display:block;width:40px;height:4px;background:#4f46e5;margin-top:.5rem;}
.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);}
.card-hover:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);}
