@media (max-width: 640px) {
    .intro-envelope { min-height: 100svh; }.envelope-stage { height: min(56vw, 260px); margin-block: .8rem 1rem; }
    .invitation-section { padding-inline: 1rem; }.paper-card { padding-inline: 1.25rem; }.paper-card h2 { font-size: 4rem; }.formal-date { font-size: 2rem; }
    .parents-grid, .gift-grid, .look-grid, .guestbook-layout { grid-template-columns: 1fr; }.parents-grid { gap: .8rem; }.countdown-timer strong { font-size: 2rem; }.countdown-timer span { font-size: .55rem; letter-spacing: .06em; }
    .timeline-item { gap: .85rem; grid-template-columns: 46px 1fr; }.timeline::before { left: 22px; }.timeline-icon { height: 46px; width: 46px; }.timeline-content h3 { font-size: .78rem; }.timeline-venue { font-size: .76rem; }.timeline-desc { font-size: .96rem; }.timeline-content p { font-size: .9rem; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }.lightbox { padding: 3rem 2.4rem; }.lightbox button { font-size: 2.3rem; }.lightbox-close { right: .75rem; }
    .dress-main { font-size: 2.5rem; }.calendar-card strong { font-size: .65rem; }.calendar-details { gap: .85rem; grid-template-columns: 1fr; }.calendar-details span { font-size: 1rem; overflow-wrap: anywhere; }.guestbook-layout { gap: 1.2rem; }.guestbook-form { order: 2; }
    .accommodation-grid { grid-template-columns: 1fr; }.accommodation-media { height: 300px; min-height: 300px; }.accommodation-figure { height: 300px; min-height: 300px; }.accommodation-badge-wrap { position: static; padding: 1rem 1rem 0; text-align: right; }.countdown-card { padding: 1.5rem 1rem; }.wedding-notice-box, .wedding-notice-box-dark, .accommodation-contact-box { padding: .9rem 1.1rem; gap: .75rem; }.wedding-notice-icon, .contact-box-icon { height: 38px; width: 38px; font-size: 1rem; }.wedding-notice-content p, .contact-box-content p { font-size: .95rem; }
}
@media (max-width: 402px) { .formal-date { font-size: 1.5rem; letter-spacing: .04em; } }
@media (max-width: 360px) { .countdown-timer { grid-template-columns: repeat(2, 1fr); }.gallery-grid { gap: .4rem; } }
