:root { --navy:#1A2640; --green:#3A6B2E; --gold:#C9A84C; --amber:#C8861A; }
body { font-family:'Inter',sans-serif; overflow-x:hidden; }
.serif  { font-family:'DM Serif Display',serif; }
.display { font-family:'Cormorant Garamond',serif; }

/* NAV */
.glass-nav { background:rgba(255,255,255,0.98); backdrop-filter:blur(16px); }
.nav-scrolled { box-shadow:0 2px 32px rgba(0,0,0,0.08); }
.nav-link { position:relative; padding-bottom:2px; }
.nav-link::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1.5px; background:#3A6B2E; transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease; }
.nav-link:hover::after { transform:scaleX(1); }

.reveal { opacity:0; transform:translateY(36px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal.in { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal-left.in { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal-right.in { opacity:1; transform:translateX(0); }

.eyebrow { font-size:0.62rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; }
.gold-line { width:48px; height:2px; background:linear-gradient(to right, #C9A84C, #E2C06A); border-radius:1px; }
.wwa-bg { background: linear-gradient(135deg, #0F1825 0%, #1A2640 40%, #0d1f0f 100%); }
.ga-input { width:100%; background:#F8F9F7; border:1px solid #E2E8DA; color:#1A2640; font-size:0.85rem; padding:0.8rem 1rem; border-radius:0.75rem; outline:none; transition:border-color 0.2s; }
.ga-input:focus { border-color:#3A6B2E; }

.lang-en .ja { display: none !important; }
.lang-ja .en { display: none !important; }

.lang-toggle-pill { background:#f1f5f9; padding:3px; border-radius:9999px; display:flex; align-items:center; border:1px solid #e2e8f0; box-shadow: inset 0 2px 4px rgba(0,0,0,0.05); }
.lang-btn { padding:6px 18px; border-radius:9999px; font-size:11px; font-weight:800; text-transform:uppercase; transition:all 0.3s ease; color:#64748b; cursor:pointer; }
.lang-btn.active { background:#3A6B2E; color:#fff; box-shadow:0 2px 5px rgba(58,107,46,0.3); }

.dirlink { transition: all .2s ease; }
.dirlink:hover { background:#EDF5EA; border-color:#3A6B2E; transform:translateX(2px); }
.vcard-mini { transition: all .3s ease; }
.vcard-mini:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(26,38,64,.10); }

.step-num { font-family:'DM Serif Display',serif; }
.faq-item summary { cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item[open] .faq-chevron { transform:rotate(180deg); }
.related-card { transition: all .25s ease; }
.related-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(26,38,64,.08); }
