:root{--bg-color:#fdfbfa;--surface-color:#fff;--text-primary:#2c2c2c;--text-secondary:#7a7a7a;--accent-color:#c5a880;--accent-hover:#b3956d;--glass-bg:rgba(255,255,255,.7);--border-color:rgba(197,168,128,.2);--shadow-soft:0 20px 40px rgba(0,0,0,.04);--shadow-hover:0 30px 60px rgba(197,168,128,.15);--transition:all .5s cubic-bezier(.25,1,.5,1);--font-jp:'Noto Sans JP',sans-serif;--font-en:'Outfit',sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-jp);color:var(--text-primary);background-color:var(--bg-color);line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-en);font-weight:600;line-height:1.3}a{transition:var(--transition);text-decoration:none;color:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}section{padding:120px 0;position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;padding:20px 50px;background:linear-gradient(135deg,var(--accent-color),#d1b894);color:#fff !important;border-radius:100px;font-family:var(--font-jp);font-weight:700;font-size:1.1rem;letter-spacing:.1em;box-shadow:0 10px 30px rgba(197,168,128,.3);border:none;cursor:pointer;position:relative;overflow:hidden;z-index:1;transition:var(--transition)}.btn:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#d1b894,var(--accent-color));opacity:0;z-index:-1;transition:var(--transition)}.btn:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(197,168,128,.4)}.btn:hover:after{opacity:1}.section-header{text-align:center;margin-bottom:80px;position:relative}.section-header .en-title{display:block;font-family:var(--font-en);font-size:1rem;text-transform:uppercase;letter-spacing:.3em;color:var(--accent-color);margin-bottom:15px}.section-header .jp-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:700;letter-spacing:.05em;color:var(--text-primary)}[data-animate]{transition:opacity 1s cubic-bezier(.25,1,.5,1),transform 1s cubic-bezier(.25,1,.5,1)}.js-hidden[data-animate]{opacity:0;transform:translateY(40px)}[data-animate].animated{opacity:1 !important;transform:translateY(0) !important}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-soft);border-radius:30px}