@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Shippori+Mincho:wght@500;600&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#141414; --ink2:#3A3A3A; --mute:#8A8A8A; --line:#E6E3DE; --line2:#F0EEEA;
  --paper:#FCFBF9; --paper2:#F5F3EF; --white:#FFFFFF;
  --accent:#141414;
  --serif:'Shippori Mincho','Hiragino Mincho ProN',serif;
  --sans:'Noto Sans JP','Hiragino Sans',sans-serif;
  --en:'Cormorant Garamond',serif;
  --r:14px;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
.en{font-family:var(--en);letter-spacing:.22em;text-transform:uppercase;font-size:11px;color:var(--mute)}
.serif{font-family:var(--serif)}
.nav{position:sticky;top:0;z-index:20;background:rgba(252,251,249,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:baseline;gap:12px}
.brand .logo{font-family:var(--en);font-size:20px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.brand .sub{font-size:11px;color:var(--mute);letter-spacing:.12em}
.nav-links{display:flex;gap:4px;flex:none}
.nav-links a{font-size:13px;padding:8px 11px;border-radius:8px;color:var(--ink2);white-space:nowrap}
.nav-links a:hover{background:var(--paper2)}
.nav-links a.on{background:var(--ink);color:#fff}
.demo-badge{font-size:10.5px;letter-spacing:.1em;color:var(--mute);border:1px solid var(--line);padding:3px 9px;border-radius:99px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:99px;font-size:14px;font-weight:500;letter-spacing:.04em;transition:transform .15s,background .15s,opacity .15s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:#000}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{background:var(--paper2)}
.btn-sm{padding:9px 16px;font-size:13px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.foot{max-width:1180px;margin:60px auto 0;padding:28px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--mute)}
.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--ink2);letter-spacing:.05em}
.fade-in{animation:fi .5s ease both}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:860px){.brand .sub{display:none}}
@media(max-width:720px){.nav-in{padding:0 14px;gap:8px}.brand .logo{font-size:15px;letter-spacing:.18em}.nav-links a{padding:7px 8px;font-size:12px}.wrap{padding:0 16px}}
@media(max-width:420px){.brand .logo{font-size:0;letter-spacing:0}.brand .logo::after{content:'LB';font-size:16px;letter-spacing:.15em}.nav-links a{padding:7px 7px;font-size:11.5px}}
