:root{--gold:#C5A26F;--champagne:#F5E8C7;--ivory:#FAF8F5;--sage:#8F9F7A;--ink:#2C2522}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',system-ui,-apple-system,sans-serif;background:#FAF8F5;color:#2C2522}
.heading-serif{font-family:'Noto Serif JP','Noto Sans JP',serif}
.nav-link{transition:color .2s}.nav-link:hover,.nav-link.nav-active{color: #8C6F3F}
.dd{position:relative}.dd-menu{display:none;position:absolute;top:100%;left:-12px;min-width:200px;background:#fff;border:1px solid #EDE9E3;border-radius:12px;padding:8px;box-shadow:0 18px 30px -12px rgba(44,37,34,.15)}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu a{display:block;padding:8px 12px;border-radius:8px;font-size:13px}.dd-menu a:hover{background:#FAF8F5;color:#6F5630}
.jewelry-card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}
.jewelry-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.06)}
.gemstone-img{transition:transform .7s cubic-bezier(.4,0,.2,1)}
.jewelry-card:hover .gemstone-img,.group:hover .gemstone-img{transform:scale(1.04)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.hero-overlay{background:linear-gradient(to bottom,rgba(44,37,34,.35),rgba(44,37,34,.6))}
.field{width:100%;border:1px solid #EDE9E3;background:#FAF8F5;padding:12px 16px;font-size:14px;border-radius:12px}
.field:focus{outline:none;border-color:#C5A26F;box-shadow:0 0 0 3px rgba(197,162,111,.2)}
#toast-root{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 32px)}
.toast{background:#2C2522;color:#F5E8C7;padding:12px 18px;border-radius:12px;font-size:14px;box-shadow:0 12px 24px rgba(0,0,0,.2);border-left:3px solid #C5A26F;animation:tin .3s ease}
.toast.error{border-left-color:#c0564b}
@keyframes tin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.prose-jp p{margin-top:.9rem;line-height:2}.prose-jp h2{margin-top:2.5rem}
