/* ============================================================
   SEREIN — Responsive
   Desktop 1440+ · laptop 1024–1439 · tablet 768–1023 ·
   mobile 480–767 · small 320–479
   ============================================================ */

@media (max-width: 1439px) {
    .hero-inner { gap: 2.5rem; }
}

@media (max-width: 1160px) {
    .hero-inner { grid-template-columns: 1fr; padding-top: 3.5rem; }
    .hero-sub { max-width: 36rem; }
    .hero-visual { max-width: 560px; margin: 0 auto; width: 100%; }
    .hero-visual .hv-side { right: -8px; }
    .tx-grid { grid-template-columns: repeat(2, 1fr); }
    .promise-grid { grid-template-columns: repeat(2, 1fr); }
    .ritual-grid { grid-template-columns: repeat(2, 1fr); }
    .journal-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-band { grid-template-columns: repeat(2, 1fr); }
    .stats-band .stat { border-right: none; border-bottom: 1px solid var(--color-border-soft); padding-bottom: 1.2rem; }
    .stats-band .stat:nth-last-child(-n+2) { border-bottom: none; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .contact-layout { grid-template-columns: 1fr; }
    .about-split { grid-template-columns: 1fr; }
    .about-split img { order: -1; max-height: 420px; width: 100%; object-fit: cover; }
    .td-top { grid-template-columns: 1fr; }
    .td-gallery { max-width: 640px; }
}

@media (max-width: 1023px) {
    .main-nav { display: none; }
    .nav-toggle { display: inline-flex; }
    .header-actions .btn--nav { display: none; }
    .testi-grid { grid-template-columns: 1fr; }
    .stats-inline { grid-template-columns: repeat(2, 1fr); }
    .footer-news { flex-direction: column; align-items: flex-start; }
    .cta-band { border-radius: var(--radius-large); }
}

@media (max-width: 767px) {
    :root { --space-xl: 3.8rem; --space-lg: 2.6rem; }
    .announce-inner { font-size: .78rem; }
    .header-inner { min-height: 68px; }
    .brand-text { font-size: 1.3rem; }
    .brand-mark { width: 36px; height: 36px; }
    .hero-inner { padding: 2.6rem 1.2rem 3.6rem; }
    .hero h1 { font-size: clamp(2.3rem, 10vw, 3.1rem); }
    .hero-trust { gap: 1.6rem; flex-wrap: wrap; }
    .hero-visual .hv-side { right: 0; }
    .hero-visual .hv-badge { left: 0; }
    .tx-grid { grid-template-columns: 1fr; }
    .promise-grid { grid-template-columns: 1fr; }
    .ritual-grid { grid-template-columns: 1fr; }
    .journal-grid { grid-template-columns: 1fr; }
    .stats-band { grid-template-columns: 1fr 1fr; gap: 1.6rem; }
    .section-head .head-row { flex-direction: column; align-items: flex-start; }
    .footer-top { grid-template-columns: 1fr; gap: 1.8rem; }
    .filter-count { margin-left: 0; width: 100%; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .field--full { grid-column: auto; }
    .td-meta { gap: .7rem; }
    .thanks-actions .btn { width: 100%; }
}

@media (max-width: 479px) {
    .container { padding: 0 1.1rem; }
    .brand-text { font-size: 1.2rem; }
    .hero-visual .hv-side { width: 50%; }
    .stats-band .stat b { font-size: 1.9rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
    .news-form { flex-direction: column; }
    .news-form .btn { width: 100%; }
    .article-body p { font-size: .97rem; }
    .hero-trust b { font-size: 1.4rem; }
}
