@media (max-width:900px){
    .mobile-nav-toggle{display:block}
    .main-nav{
        display:none;
        position:absolute;
        left:20px;right:20px;top:68px;
        background:#fff;
        border:1px solid var(--idalun-line);
        border-radius:18px;
        padding:10px;
        box-shadow:0 16px 40px rgba(0,0,0,.12);
    }
    .idalun-menu-open .main-nav{display:grid;grid-template-columns:1fr 1fr}
    .main-nav a{padding:12px}
    .hero-section{
        grid-template-columns:1fr;
        min-height:auto;
        padding:56px 24px;
        text-align:center;
    }
    .hero-actions{justify-content:center}
    .hero-visual{order:-1}
    .moon-orbit{width:230px}
    .moon{font-size:110px}
    .quick-grid{grid-template-columns:1fr 1fr}
    .tarot-feature{grid-template-columns:220px 1fr;padding:32px;gap:32px}
    .dream-search{grid-template-columns:1fr}
    .latest-columns{grid-template-columns:1fr}
}
@media (max-width:620px){
    .content-wrap,.header-inner{width:min(100% - 28px,1180px)}
    .header-inner{height:66px}
    .brand-text{font-size:22px}
    .hero-copy h2{font-size:40px}
    .hero-copy p{font-size:16px}
    .quick-section{padding-top:52px}
    .quick-grid{grid-template-columns:1fr}
    .quick-card{min-height:150px}
    .section-head h3,.tarot-copy h3,.dream-copy h3{font-size:28px}
    .tarot-feature{
        margin-top:28px;
        margin-bottom:52px;
        padding:24px;
        grid-template-columns:1fr;
        text-align:center;
    }
    .tarot-card-wrap{max-width:250px;margin:0 auto}
    .dream-form{flex-direction:column}
    .dream-form button{height:50px}
    .notice-inner{padding:18px 0;align-items:flex-start;flex-direction:column;gap:4px}
}

/* Compact home actions: keep both labels readable on narrow screens. */
@media (max-width:620px){
    .hero-actions{gap:8px;align-items:center}
    .hero-actions > a.btn{
        box-sizing:border-box;
        display:inline-flex;
        flex:0 0 auto;
        width:auto;
        height:auto;
        min-height:42px;
        max-width:100%;
        padding:10px 14px;
        font-size:14px;
        line-height:1.4;
        letter-spacing:0;
        white-space:nowrap;
        word-break:keep-all;
    }
}

/* Prevent flex shrinking from flattening the mobile dream input. */
@media (max-width:900px){
    .dream-search{gap:28px}
    .dream-form input[type="text"]{box-sizing:border-box;min-height:54px;font-size:16px;line-height:1.5}
}
@media (max-width:620px){
    .dream-search{padding:40px 0;gap:24px}
    .dream-copy p{margin-top:14px;line-height:1.8}
    .dream-form{gap:14px;align-items:stretch}
    .dream-form input[type="text"]{
        flex:0 0 auto;width:100%;height:56px;min-height:56px;
        margin:0;padding:14px 16px;
    }
    .dream-form button{flex:0 0 auto;min-height:50px;margin:0;padding:12px 16px}
}
