/* ============================================================
   Precision Mold - 响应式样式
   断点：1024px（平板）、768px（手机）、480px（小屏手机）
   ============================================================ */

/* === 平板（≤1024px） — Apple 风格不变，仅布局收缩 === */
@media (max-width: 1024px) {
    .main-nav { display:none; }
    .mobile-menu-btn { display:flex; }
    .header-contact-btn { display:none; }
    .header-inner { gap:8px; }

    .hero-title { font-size:2.5rem; }
    .hero-banner { min-height:80vh; }

    .advantages-grid { grid-template-columns:repeat(2, 1fr); }
    .products-grid { grid-template-columns:repeat(2, 1fr); }
    .blog-grid { grid-template-columns:repeat(2, 1fr); }
    .footer-grid { grid-template-columns:repeat(2, 1fr); }
    .detail-layout { grid-template-columns:1fr; gap:32px; }
    .contact-layout { grid-template-columns:1fr; gap:32px; }
    .section-padding, .section-padding-lg { padding:80px 0; }

    /* Breadcrumb */
    .breadcrumb-wrapper { padding-top: calc(var(--header-height) + 10px); padding-bottom: 14px; }
    .breadcrumb ol { font-size: 0.8125rem; }

    /* Blog Filter */
    .blog-filter-bar { gap: 12px; }
    .blog-filter-cat { padding: 5px 12px; font-size: 0.8rem; }
    .blog-search-input { width: 160px; }
    .blog-search-input:focus { width: 200px; }

    /* Page Hero */
    .page-hero { padding: 60px 0 60px; }
    .page-hero-title { font-size: 2rem; }

    /* About */
    .about-intro { padding: 80px 0; }
    .about-intro-grid { grid-template-columns:1fr; gap:48px; }
    .about-intro-image { max-width:500px; margin:0 auto; }
    .stats-section { padding: 80px 0; }
    .stats-grid { grid-template-columns:repeat(2, 1fr); gap:20px; }
    .cert-section { padding: 80px 0; }
    .cert-grid { grid-template-columns:repeat(2, 1fr); gap:20px; }
    .timeline-section { padding: 80px 0; }
    .home-cta-section, .cta-section { padding: 100px 0 !important; }

    /* Timeline - 平板端改为左侧时间轴 */
    .timeline::before { left:40px; }
    .timeline-item { flex-direction:row !important; }
    .timeline-year { flex:0 0 100px; text-align:right; padding-right:30px !important; padding-left:0 !important; font-size:1.4rem; }
    .timeline-content::before { left:-6px !important; right:auto !important; }
    .timeline-content { margin-left:20px; }

    /* Factory */
    .factory-overview { padding: 80px 0; }
    .equipment-section { padding: 80px 0; }
    .equipment-grid { grid-template-columns:repeat(2, 1fr); gap:24px; }
    .inspection-section { padding: 80px 0; }
    .inspection-grid { grid-template-columns:repeat(2, 1fr); gap:24px; }
    .capacity-section { padding: 80px 0; }
    .capacity-grid { grid-template-columns:repeat(2, 1fr); gap:24px; }
    .quality-flow { padding: 80px 0; }
    .flow-steps { flex-wrap:wrap; }
    .flow-steps::before { display:none; }
    .flow-step { flex:0 0 50%; margin-bottom:32px; }
    .gallery-section { padding: 80px 0; }
    .gallery-grid { grid-template-columns:repeat(2, 1fr); gap:20px; }
    .about-alt-section { padding: 80px 0; }

    /* Contact */
    .contact-cards-section { padding: 80px 0 80px; }
    .contact-cards { grid-template-columns:repeat(2, 1fr); gap:24px; }
    .contact-form-section { padding: 80px 0 80px; }
    .contact-form-layout { grid-template-columns:1fr; gap:40px; }
    .transport-section { padding: 80px 0; }
    .transport-grid { grid-template-columns:repeat(2, 1fr); gap:24px; }
    .map-section { padding: 0 0 80px; }
}

/* === 手机（≤768px） — 参考 veryman.jp 简约精致风格 === */
@media (max-width: 768px) {
    :root { --header-height:56px; }

    /* 全局基础 */
    html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
    body { font-size:16px; line-height:1.8; -webkit-tap-highlight-color:transparent; }
    * { -webkit-tap-highlight-color:transparent; }
    .container { padding:0 20px; }

    /* Typography */
    h1 { font-size:2rem; letter-spacing:-0.02em; }
    h2 { font-size:1.75rem; letter-spacing:-0.01em; }
    p { line-height:1.8; }

    /* Header */
    :root { --header-height:56px; }
    .header-inner { height:56px; gap:6px; }
    .logo-tagline { display:none; }
    .logo-name { font-size:0.95rem; }
    .logo-icon svg { width:28px; height:28px; }
    .lang-switch-btn { padding:5px 10px; font-size:0.7rem; border-radius:6px; }

    /* Hero — 全屏高度（100svh，兼容移动端地址栏） */
    .hero-banner { min-height:100svh; display:flex; align-items:center; }
    .hero-content { padding:56px 0; max-width:100%; }
    .hero-title { font-size: clamp(2rem, 8vw, 3rem); line-height:1.12; letter-spacing:-0.03em; font-weight:700; }
    .hero-subtitle { font-size: clamp(0.9rem, 4vw, 1.05rem); line-height:1.7; opacity:0.85; }
    .hero-cta { flex-direction:column; align-items:stretch; gap:12px; margin-top:28px; }
    .hero-cta .btn { width:100%; min-height:48px; justify-content:center; font-size:1rem; }
    .hero-stats { gap:20px; margin-top:40px; padding-top:32px; flex-wrap:wrap; }
    .hero-stat-value { font-size:1.5rem; }
    .hero-stat-label { font-size:0.72rem; }
    .hero-scroll-hint { display:none; }

    /* Section — Apple 风格呼吸感留白 */
    .section-padding, .section-padding-lg { padding:64px 0; }
    .section-header { margin-bottom:36px; }
    .section-title { font-size:1.5rem; }
    .section-subtitle { font-size:0.9rem; margin-top:8px; }
    .section-footer { margin-top:36px; }

    /* Grids — 单列 + 通透间距 */
    .advantages-grid { grid-template-columns:1fr; gap:16px; }
    .products-grid { grid-template-columns:1fr; gap:24px; }
    .cases-grid { grid-template-columns:1fr; gap:24px; }
    .blog-grid { grid-template-columns:1fr; gap:24px; }
    .footer-grid { grid-template-columns:1fr; gap:32px; }

    /* Page Banner */
    .page-banner { padding:80px 0 36px; }
    .page-banner .page-title { font-size:1.65rem; }

    /* Cards — 精致内边距 + 微交互 */
    .product-card { border-radius:12px; overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease; }
    .product-card:active { transform:scale(0.98); }
    .case-card { border-radius:12px; overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease; }
    .case-card:active { transform:scale(0.98); }
    .blog-card { border-radius:12px; overflow:hidden; transition:transform 0.2s ease, box-shadow 0.2s ease; }
    .blog-card:active { transform:scale(0.98); }
    .product-card-image { height:200px; }
    .case-card-image { height:220px; }
    .blog-card-image { height:180px; }
    .product-card-body { padding:20px; }
    .case-card-body { padding:20px; }
    .blog-card-body { padding:20px; }

    /* Advantage cards */
    .advantage-card { padding:28px 20px; border-radius:12px; transition:transform 0.2s ease; }
    .advantage-card:active { transform:scale(0.98); }
    .adv-icon { font-size:28px; }

    /* Blog */
    .blog-banner { padding:36px 0; }
    .blog-banner-title { font-size:1.5rem; }
    .blog-banner-desc { font-size:0.9rem; }
    .blog-content-section { padding:24px 0 30px; }
    .blog-filter-bar { flex-direction:column; align-items:stretch; gap:12px; padding-bottom:16px; margin-bottom:24px; }
    .blog-filter-actions { flex-direction:column; gap:12px; width:100%; }
    .blog-search { width:100%; }
    .blog-search-input { width:100%; min-height:44px; }
    .blog-search-input:focus { width:100%; }
    .blog-card-title { font-size:1rem; line-height:1.4; }
    .blog-sort { width:100%; }
    .blog-sort-btn { flex:1; text-align:center; min-height:40px; }
    .blog-card-excerpt { font-size:0.8125rem; line-height:1.7; }
    .blog-card-footer { font-size:0.75rem; }
    .pagination { margin-top:32px; gap:6px; }
    .pagination-btn { padding:8px 14px; font-size:0.8rem; min-height:36px; }
    .pagination-num { min-width:36px; height:36px; font-size:0.8rem; }
    .detail-layout { gap:24px; }
    .detail-info h1 { font-size:1.5rem; }

    /* CTA */
    .home-cta-section { padding:48px 0; }
    .cta-title { font-size:1.6rem; }
    .cta-text { font-size:1rem; line-height:1.7; }

    /* Buttons — 触摸友好 */
    .btn { min-height:44px; padding:12px 24px; font-size:0.95rem; transition:all 0.2s ease; }
    .btn:active { transform:scale(0.97); }
    .btn-lg { padding:14px 28px; font-size:1rem; min-height:48px; }
    .btn-outline { border-width:1.5px; }

    /* Contact Form */
    .contact-form-wrapper { padding:24px; border-radius:12px; }
    .contact-form input,
    .contact-form textarea { min-height:48px; font-size:16px; border-radius:8px; }
    .contact-form textarea { min-height:120px; }
    .contact-form label { font-size:0.85rem; margin-bottom:6px; }
    .contact-form .btn { width:100%; min-height:48px; }

    /* Footer */
    .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
    .footer-bottom-links { justify-content:center; flex-wrap:wrap; gap:8px; }

    /* Page Hero */
    .page-hero { padding:40px 0 40px; }
    .page-hero-title { font-size:1.5rem; }
    .page-hero-subtitle { font-size:0.9rem; }

    /* About */
    .about-intro { padding:32px 0; }
    .about-intro-grid { grid-template-columns:1fr; gap:32px; }
    .about-intro-image { max-width:100%; margin:0 auto; }
    .stats-section { padding:32px 0; }
    .stats-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .stat-card { padding:28px 16px; border-radius:12px; }
    .stat-number { font-size:2.25rem; }
    .cert-section { padding:32px 0; }
    .cert-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .about-cta { padding:32px 0; }
    .about-cta h2 { font-size:1.4rem; }
    .timeline-section { padding:32px 0; }
    .timeline::before { left:24px; }
    .timeline-item { flex-direction:row !important; align-items:flex-start; }
    .timeline-year { flex:0 0 70px; font-size:0.9rem; padding-right:16px !important; padding-left:0 !important; text-align:right; }
    .timeline-content::before { left:-6px !important; right:auto !important; }
    .timeline-content { margin-left:16px; padding:20px; border-radius:12px; }

    /* Factory */
    .factory-overview { padding:32px 0; }
    .equipment-section { padding:32px 0; }
    .equipment-grid { grid-template-columns:1fr; gap:24px; }
    .equipment-image { height:200px; border-radius:12px; }
    .equipment-info { padding:20px; }
    .inspection-section { padding:32px 0; }
    .inspection-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .capacity-section { padding:32px 0; }
    .capacity-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .capacity-card { padding:28px 16px; border-radius:12px; }
    .capacity-number { font-size:2.25rem; }
    .quality-flow { padding:32px 0; }
    .flow-step { flex:0 0 100%; margin-bottom:24px; }
    .flow-step-number { width:56px; height:56px; font-size:1.1rem; }
    .gallery-section { padding:32px 0; }
    .gallery-grid { grid-template-columns:1fr; gap:16px; }
    .gallery-item img { height:220px; border-radius:12px; }

    /* Contact */
    .contact-cards-section { padding: var(--section-spacing-mobile) 0; }
    .contact-cards { grid-template-columns:1fr; gap:16px; }
    .contact-card { padding:28px 20px; border-radius:12px; }
    .contact-form-section { padding: var(--section-spacing-mobile) 0; }
    .contact-form-layout { grid-template-columns:1fr; gap:32px; }
    .transport-section { padding: var(--section-spacing-mobile) 0; }
    .transport-grid { grid-template-columns:1fr; gap:16px; }
    .transport-item { padding:28px 20px; border-radius:12px; }
    .map-placeholder { height:240px; border-radius:12px; }
    .map-section { padding: var(--section-spacing-mobile) 0; }

    /* Mobile Nav — 更大间距、流畅动画 */
    .mobile-nav { width:85vw; max-width:320px; }
    .mobile-nav-header { padding:20px; height:56px; }
    .mobile-nav-list { padding:8px 0; }
    .mobile-nav-list > li > a, .mobile-nav-list > li > .mobile-nav-dropdown-toggle {
        display:flex; align-items:center; padding:16px 20px;
        font-size:1rem; font-weight:500; min-height:48px;
        border-bottom:1px solid rgba(0,0,0,0.04);
        transition:background 0.15s ease;
    }
    .mobile-nav-list > li > a:active, .mobile-nav-list > li > .mobile-nav-dropdown-toggle:active {
        background:rgba(79,70,229,0.04);
    }
    .mobile-nav-dropdown { border-bottom:1px solid rgba(0,0,0,0.04); }
    .mobile-nav-dropdown-toggle {
        display:flex; align-items:center; justify-content:space-between;
        padding:16px 20px; color:var(--text-primary); font-weight:500;
        cursor:pointer; font-size:1rem; gap:8px; min-height:48px;
    }
    .mobile-dropdown-arrow {
        display:inline-block; width:0; height:0;
        border-left:5px solid transparent; border-right:5px solid transparent;
        border-top:6px solid var(--gray-500); flex-shrink:0;
        transition:transform 0.3s ease;
    }
    .mobile-nav-dropdown.open .mobile-dropdown-arrow { transform:rotate(180deg); }
    .mobile-nav-sub {
        display:none; padding:0 20px 12px 20px;
        background:rgba(0,0,0,0.02);
    }
    .mobile-nav-dropdown.open .mobile-nav-sub { display:block; }
    .mobile-nav-sub li { border-bottom:none; }
    .mobile-nav-sub a {
        display:block; padding:12px 0; font-size:0.9rem;
        color:var(--gray-600); font-weight:400;
        min-height:44px; display:flex; align-items:center;
    }

    /* Breadcrumb */
    .breadcrumb-wrapper { padding-top:calc(var(--header-height) + 6px); padding-bottom:10px; }
    .breadcrumb ol { font-size:0.72rem; }

    /* Scroll Top Button — 触摸友好 */
    .scroll-top-btn { width:44px; height:44px; bottom:20px; right:20px; }

    /* Card hover transitions (disabled on touch, replaced with :active) */
    .product-card:hover, .case-card:hover, .blog-card:hover {
        transform:none; box-shadow:0 1px 3px rgba(0,0,0,0.06);
    }
}

/* === 小屏手机（≤480px） — 更紧凑 === */
@media (max-width: 480px) {
    .container { padding:0 16px; }

    /* Hero */
    .hero-content { padding:40px 0; }
    .hero-title { font-size: clamp(1.6rem, 7vw, 2.2rem); }
    .hero-subtitle { font-size: clamp(0.8rem, 3.5vw, 0.95rem); }
    .hero-banner { min-height:100vh; }
    .hero-cta { gap:10px; }
    .hero-stats { gap:16px; margin-top:32px; }
    .hero-stat-value { font-size:1.25rem; }

    /* Typography */
    .section-header .section-title { font-size:1.3rem; }
    .section-padding, .section-padding-lg { padding:32px 0; }

    /* Page Banner */
    .page-banner .page-title { font-size:1.4rem; }
    .page-banner { padding:70px 0 28px; }

    /* Buttons */
    .btn-lg { padding:12px 24px; font-size:0.95rem; min-height:46px; }
    .btn { padding:10px 20px; font-size:0.9rem; min-height:42px; }

    /* Cards */
    .product-card-image { height:180px; }
    .case-card-image { height:200px; }
    .blog-card-image { height:160px; }
    .product-card-body { padding:16px; }
    .case-card-body { padding:16px; }
    .blog-card-body { padding:16px; }

    /* Blog */
    .blog-banner { padding:28px 0; }
    .blog-banner-title { font-size:1.3rem; }
    .blog-filter-cat { padding:6px 12px; font-size:0.75rem; }
    .blog-card-excerpt { -webkit-line-clamp:2; }
    .pagination-btn { padding:6px 12px; font-size:0.75rem; }
    .pagination-num { min-width:32px; height:32px; font-size:0.75rem; }

    .mobile-nav { width:100vw; max-width:none; }

    /* Page Hero */
    .page-hero { padding:32px 0 32px; }
    .page-hero-title { font-size:1.3rem; }

    /* About */
    .about-intro { padding:24px 0; }
    .about-intro-grid { gap:24px; }
    .stats-section { padding:24px 0; }
    .stats-grid { grid-template-columns:1fr; gap:12px; }
    .cert-section { padding:24px 0; }
    .cert-grid { grid-template-columns:1fr; gap:12px; }
    .timeline-section { padding:24px 0; }
    .timeline-year { flex:0 0 56px; font-size:0.8rem; padding-right:12px !important; }
    .timeline-content { padding:16px; }

    /* Factory */
    .factory-overview { padding:24px 0; }
    .equipment-section { padding:24px 0; }
    .equipment-image { height:180px; }
    .equipment-info { padding:16px; }
    .inspection-section { padding:24px 0; }
    .inspection-grid { grid-template-columns:1fr; gap:12px; }
    .capacity-section { padding:24px 0; }
    .capacity-grid { grid-template-columns:1fr; gap:12px; }
    .quality-flow { padding:24px 0; }
    .flow-step { padding:0 4px; }
    .gallery-section { padding:24px 0; }
    .gallery-item img { height:180px; }

    /* Contact */
    .contact-cards-section { padding:24px 0 24px; }
    .contact-cards { grid-template-columns:1fr; gap:12px; }
    .contact-form-section { padding:24px 0 24px; }
    .contact-form-wrapper { padding:20px; }
    .contact-card { padding:24px 16px; }
    .transport-section { padding:24px 0; }
    .transport-item { padding:24px 16px; }
    .map-section { padding:0 0 24px; }

    /* Breadcrumb */
    .breadcrumb-wrapper { padding-top:calc(var(--header-height) + 4px); padding-bottom:8px; }
    .breadcrumb ol { font-size:0.7rem; }
    .breadcrumb li:not(:last-child)::after { margin:0 6px; }

    /* Advantage */
    .advantage-card { padding:24px 16px; }
    .adv-icon { font-size:24px; }
}

/* === 英文导航优化（防换行/重叠） === */
@media (max-width: 1024px) {
    html[lang="en"] .header-actions { gap:5px; }
    html[lang="en"] .lang-switch-btn { padding:4px 8px; font-size:0.72rem; }
    html[lang="en"] .logo-name { font-size:0.9rem; }
    html[lang="en"] .mobile-nav-list a { font-size:1rem; padding:14px 0; white-space:nowrap; }
}
@media (max-width: 768px) {
    html[lang="en"] .mobile-nav-list a { font-size:0.95rem; padding:14px 0; white-space:nowrap; }
    html[lang="en"] .logo-name { font-size:0.82rem; }
    html[lang="en"] .lang-switch-btn { font-size:0.66rem; padding:4px 8px; }
}
