/* Shared release refinements for the Japanese and English landing pages. */
:root { --text-secondary: #aaa8b6; }
a.download-btn, a.plan-button, a.btn-secondary { display: inline-block; text-decoration: none; text-align: center; }
.plan-button { width: 100%; }
a:focus-visible, button:focus-visible { outline: 3px solid #4ecdc4; outline-offset: 5px; }
.companion-link { margin-top: 12px; }
.hero-note a:hover { color: #fff; }
section[id] { scroll-margin-top: 100px; }
@media (max-width: 1024px) {
    .nav-links { gap: 18px; }
    .nav-links .nav-link { display: none; }
}
@media (max-width: 768px) {
    .nav-container { gap: 12px; flex-wrap: wrap; }
    .nav-links { display: flex; gap: 12px; flex-wrap: wrap; }
    .nav-links .download-btn { padding: 10px 14px; }
    .lang-switch a { display: inline-block; padding: 10px 5px; }
    .hero-badge { max-width: 100%; text-align: left; }
    .hero-buttons { flex-wrap: wrap; }
    .hero-buttons a, .hero-buttons button { max-width: 100%; }
    .hero-note { font-size: 16px; }
    .hero-title { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .fade-in { opacity: 1; transform: none; }
}
@media (max-width: 768px) {
    nav { position: sticky; top: 0; }
    .hero { min-height: auto; padding-top: 40px; }
    .hero-content, .hero-text, .hero-visual { min-width: 0; width: 100%; }
    .nav-container { justify-content: center; }
}
.gradient-text { background-image: linear-gradient(135deg, #f08d94, #d36b75); }
@media (max-width: 768px) {
    .why-grid, .features-grid, .pricing-cards { grid-template-columns: minmax(0, 1fr); }
    .feature-card, .pricing-card, .why-card { min-width: 0; }
    .store-btn { max-width: 100%; }
}

/* Keep the audio disclosure aligned with the feature cards on wide screens. */
.audio-note {
    max-width: 1400px;
    margin: 28px auto 0;
    text-align: center;
    overflow-wrap: anywhere;
}
.audio-note a { color: #f08d94; text-underline-offset: 0.2em; }
.audio-note a:hover { color: #fff; }
