@media (max-width: 1120px) {
  .nav-wrap { gap: 22px; }
  .site-nav { gap: 20px; }
  .site-nav .btn { padding-inline: 15px; }
  .hero-grid { gap: 46px; }
  .hero-visual { min-height: 520px; }
  .service-editorial { grid-template-columns: .95fr 1.6fr; }
  .footer-grid { gap: 35px; }
}

@media (max-width: 960px) {
  .section { padding: 86px 0; }
  .micro-bar { display: none; }
  .nav-wrap { min-height: 74px; }
  .menu-toggle { display: flex; margin-left: auto; }
  .site-nav { position: fixed; z-index: 99; inset: 74px 0 auto; display: grid; max-height: calc(100dvh - 74px); gap: 0; overflow-y: auto; border-top: 1px solid var(--border); padding: 16px 20px 28px; background: var(--bg); box-shadow: 0 20px 30px rgba(16,42,67,.12); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s, transform .2s; }
  .site-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .site-nav a:not(.btn) { min-height: 54px; padding: 15px 5px; border-bottom: 1px solid var(--border); font-size: .95rem; }
  .site-nav a:not(.btn)::after { display: none; }
  .site-nav .btn { margin-top: 16px; }
  .hero { padding-top: 58px; background: var(--bg); }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .hero-copy h1 { font-size: clamp(3.2rem, 7vw, 5.3rem); }
  .hero-visual { min-height: 500px; }
  .portrait-frame { inset-inline: 18px; }
  .orbit-label { font-size: .92rem; }
  .label-two, .label-four { right: -8px; }
  .intro-grid, .relationship-grid, .traditional-grid, .about-profile, .contact-grid { gap: 50px; }
  .section-head { gap: 34px; }
  .service-editorial { grid-template-columns: 1fr; }
  .featured-service { min-height: 380px; }
  .timeline { grid-template-columns: repeat(2, 1fr); row-gap: 42px; }
  .why-grid { grid-template-columns: 1fr; }
  .faq-grid { gap: 45px; }
  .approach-grid { grid-template-columns: repeat(2, 1fr); }
  .service-detail { grid-template-columns: 55px 1fr; }
  .detail-discuss { grid-column: 2; padding-left: 0; border-left: 0; }
  .article-card:nth-child(n) { grid-column: span 6; }
  .contact-section { background: linear-gradient(180deg, var(--bg) 0 38%, var(--surface) 38% 100%); }
  .contact-form-wrap { padding: 36px; }
  .footer-grid { grid-template-columns: 1.3fr .7fr .9fr; }
  .footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  body { padding-bottom: 66px; }
  .container, .narrow { width: min(100% - 30px, var(--container)); }
  .section { padding: 72px 0; }
  .section-sm { padding: 58px 0; }
  .section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 38px; }
  .brand-tag { display: none; }
  .hero { padding: 48px 0 42px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy .lead { margin-block: 20px 25px; }
  .hero-actions .btn { flex: 1 1 auto; }
  .hero-visual { min-height: 520px; margin-top: 24px; }
  .portrait-frame { inset: 20px 34px 0; }
  .zodiac-ring { right: 0; }
  .label-one { left: 0; }
  .label-two { right: 0; }
  .label-three { left: 3px; }
  .label-four { right: 3px; }
  .concern-inner { grid-template-columns: 1fr; gap: 5px; padding: 16px 0; }
  .concern-title { font-size: 1.1rem; }
  .intro-grid, .relationship-grid, .traditional-grid, .faq-grid, .about-profile, .values-layout, .guidance-intro, .prepare-layout, .contact-grid { grid-template-columns: 1fr; gap: 44px; }
  .service-list { grid-template-columns: 1fr; }
  .service-tile, .service-tile:nth-child(even), .service-tile:nth-last-child(-n+2) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--border); }
  .service-tile:last-child { border-bottom: 0; }
  .featured-service { padding: 34px; }
  .relationship-visual { grid-row: 1; }
  .heart-orbit { width: 260px; }
  .consult-tabs { grid-template-columns: 1fr; }
  .tab-list { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--border); }
  .tab-button { min-width: 150px; min-height: 70px; grid-template-columns: 30px 1fr; border-right: 1px solid var(--border); border-bottom: 0; padding: 15px; }
  .tab-panel { min-height: 390px; padding: 34px 24px; }
  .traditional-visual { display: none; }
  .timeline { grid-template-columns: 1fr; row-gap: 32px; }
  .step { padding-top: 25px; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .cta-actions { width: 100%; }
  .cta-actions .btn { flex: 1; }
  .page-hero { padding: 66px 0 58px; }
  .about-profile { gap: 58px; }
  .about-portrait { width: 100%; }
  .about-portrait::before { inset: -12px 8px 12px 8px; }
  .approach-grid { grid-template-columns: 1fr; }
  .approach-item { min-height: auto; }
  .approach-item h3 { margin-top: 30px; }
  .service-detail { grid-template-columns: 42px 1fr; gap: 18px; padding: 46px 0; }
  .detail-discuss { grid-column: 1 / -1; }
  .article-layout { grid-template-columns: 1fr; }
  .article-card:nth-child(n) { grid-column: 1; min-height: 235px; }
  .article-card h3 { margin-top: 35px; }
  .contact-grid { gap: 54px; }
  .contact-form-wrap { padding: 28px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .floating-whatsapp { display: none; }
  .mobile-cta { position: fixed; z-index: 110; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 8px; background: #fff; box-shadow: 0 -8px 30px rgba(16,42,67,.12); }
  .mobile-cta .btn { min-height: 50px; border-radius: 2px; }
  .mobile-cta .call-btn { color: #fff; background: var(--navy); }
  .mobile-cta .wa-btn { color: #fff; background: #167c49; }
}

@media (max-width: 430px) {
  .container, .narrow { width: calc(100% - 28px); }
  h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  h2 { font-size: clamp(2.15rem, 11vw, 3.4rem); }
  .brand-name { font-size: 1.33rem; }
  .brand-sun { width: 29px; height: 29px; }
  .nav-wrap { min-height: 68px; }
  .site-nav { inset-block-start: 68px; }
  .hero-visual { min-height: 440px; }
  .portrait-frame { inset-inline: 20px; }
  .zodiac-ring { width: 138px; height: 138px; }
  .zodiac-ring span { transform: translate(-50%,-50%) translateY(-68px); box-shadow: 0 136px var(--gold), 68px 68px var(--gold), -68px 68px var(--gold); }
  .orbit-label { padding: 7px 9px; font-size: .82rem; }
  .label-two { top: 40%; }
  .line-list, .trust-row, .why-points { grid-template-columns: 1fr; }
  .line-list li:nth-child(odd) { margin-right: 0; }
  .featured-service { min-height: 340px; padding: 28px; }
  .heart-orbit { width: 220px; }
  .why-point { padding: 22px; }
  .cta-actions { flex-direction: column; }
  .cta-actions .btn { width: 100%; }
  .values-note { padding: 28px; }
  .service-detail { display: block; }
  .service-number { margin-bottom: 15px; }
  .detail-discuss { margin-top: 28px; }
  .contact-form-wrap h2 { font-size: 2.15rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-contact { grid-column: auto; }
}
