@page {
  size: A4;
  margin: 12mm 10mm;
}

@media print {
  html, body {
    background: #ffffff !important;
    font-size: 10.5pt;
    line-height: 1.7;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Remove fixed header */
  header {
    position: static !important;
    background: #faf6ef !important;
    border-bottom: 1px solid #c9a96a !important;
    backdrop-filter: none !important;
  }
  .nav {
    padding: 12px 20px !important;
  }
  .nav ul.menu, .nav ul { display: flex !important; gap: 16px !important; }
  .nav-right .lang-switch { display: none !important; }
  .nav-cta { padding: 6px 14px !important; font-size: 10pt !important; }

  /* Hero */
  .hero {
    min-height: auto !important;
    padding: 24px 0 !important;
    break-after: page;
  }
  .hero-inner { padding: 40px 24px !important; }
  .hero h1 { font-size: 26pt !important; line-height: 1.35 !important; }
  .hero h1 em { font-size: 13pt !important; }
  .hero p { font-size: 11pt !important; }
  .hero-btns .btn { padding: 10px 24px !important; font-size: 10pt !important; }

  /* Sections */
  section { padding: 40px 0 !important; break-inside: avoid-page; }
  .sec-title { font-size: 20pt !important; }
  .sec-lead, p { font-size: 10.5pt !important; line-height: 1.8 !important; }
  .sec-tag { font-size: 9pt !important; }
  .container, .wrap { padding: 0 18mm !important; max-width: 100% !important; }

  /* About */
  .about-grid { grid-template-columns: 1fr 1.2fr !important; gap: 28px !important; }
  .about-img { aspect-ratio: 3/4 !important; }

  /* Services */
  .services-grid { gap: 16px !important; }
  .service-card { padding: 20px 18px !important; break-inside: avoid; }
  .service-num { font-size: 28pt !important; margin-bottom: 10px !important; }
  .service-card h3 { font-size: 13pt !important; }
  .service-card p { font-size: 9.5pt !important; line-height: 1.7 !important; }

  /* Works */
  .works-grid { gap: 10px !important; }
  .work-item { aspect-ratio: 4/5 !important; break-inside: avoid; }

  /* Flow */
  .flow-wrap { grid-template-columns: repeat(5, 1fr) !important; gap: 8px !important; }
  .flow-step { break-inside: avoid; }
  .flow-num { width: 44px !important; height: 44px !important; font-size: 14pt !important; margin-bottom: 10px !important; }
  .flow-step h4 { font-size: 10pt !important; }
  .flow-step p { font-size: 8.5pt !important; line-height: 1.5 !important; }
  .flow-step::after { font-size: 14pt !important; top: 16px !important; }

  /* Company */
  .company { break-before: page; }
  .company-grid { grid-template-columns: 1fr 1.2fr !important; gap: 32px !important; }
  .company-img { aspect-ratio: 4/5 !important; }
  .company-table th, .company-table td { padding: 10px 0 !important; font-size: 10pt !important; }

  /* Map */
  .map-section iframe { height: 280px !important; break-inside: avoid; }

  /* Contact form */
  .contact { break-before: page; }
  .form-wrap { padding: 24px 28px !important; break-inside: avoid; }
  .form-row { break-inside: avoid; }
  .form-row label.row-label { padding: 12px 14px !important; font-size: 10pt !important; }
  .form-row .field { padding: 10px 14px !important; }
  .form-row input[type="text"], .form-row input[type="email"] { padding: 8px 10px !important; font-size: 10pt !important; }
  .form-row textarea { min-height: 120px !important; font-size: 10pt !important; }
  .check-group label { font-size: 10pt !important; }
  .submit-btn { padding: 12px 40px !important; font-size: 10pt !important; }

  /* Footer */
  footer { padding: 24px 0 16px !important; break-before: page; }
  .footer-top { grid-template-columns: 2fr 1fr 1fr !important; gap: 32px !important; margin-bottom: 20px !important; }
  .footer-logo { font-size: 14pt !important; }
  .footer-top ul { line-height: 1.9 !important; font-size: 9.5pt !important; }
  .copy { font-size: 8.5pt !important; padding-top: 16px !important; }

  /* Blog list */
  .page-head { padding: 60px 0 40px !important; break-after: page; }
  .page-head h1 { font-size: 28pt !important; }
  .layout { grid-template-columns: 1fr 240px !important; gap: 32px !important; }
  .sidebar { position: static !important; }
  .featured { grid-template-columns: 1fr 1fr !important; break-inside: avoid; }
  .featured .body { padding: 20px 24px !important; }
  .featured h2 { font-size: 15pt !important; }
  .post-card { grid-template-columns: 180px 1fr !important; gap: 20px !important; padding: 14px !important; break-inside: avoid; }
  .post-card h3 { font-size: 12pt !important; }
  .widget { padding: 18px 18px !important; margin-bottom: 14px !important; break-inside: avoid; }
  .widget h4 { font-size: 11pt !important; }
  .widget ul li { font-size: 9.5pt !important; padding: 5px 0 !important; }
  .pagination { margin-top: 24px !important; }
  .pagination a { width: 30px !important; height: 30px !important; font-size: 10pt !important; }

  /* Blog article */
  .article-hero { padding: 60px 0 30px !important; }
  .article-hero h1 { font-size: 20pt !important; line-height: 1.5 !important; }
  .main-img { padding: 20px 24px 0 !important; }
  .main-img .img { aspect-ratio: 16/7 !important; }
  .article-body { padding: 30px 0 50px !important; }
  .article-body h2 { font-size: 16pt !important; margin: 32px 0 14px !important; padding-bottom: 10px !important; break-after: avoid; }
  .article-body h2::before { font-size: 16pt !important; }
  .article-body h3 { font-size: 12pt !important; margin: 20px 0 10px !important; break-after: avoid; }
  .article-body p, .article-body li { font-size: 10.5pt !important; line-height: 1.9 !important; }
  .article-body .toc { padding: 16px 22px !important; margin-bottom: 28px !important; break-inside: avoid; }
  .article-body .callout { padding: 14px 18px !important; margin: 18px 0 !important; break-inside: avoid; }
  .article-body .tbl { font-size: 9.5pt !important; break-inside: avoid; }
  .article-body .tbl th, .article-body .tbl td { padding: 8px 10px !important; }
  .article-body blockquote { padding: 14px 20px !important; font-size: 11pt !important; break-inside: avoid; }
  .article-cta { padding: 26px 28px !important; margin: 28px 0 0 !important; break-inside: avoid; }
  .article-cta h3 { font-size: 14pt !important; }
  .author { padding: 18px !important; margin: 32px auto 0 !important; break-inside: avoid; }
  .related { padding: 50px 0 !important; break-before: page; }
  .related h2 { font-size: 18pt !important; margin-bottom: 28px !important; }
  .rel-grid { gap: 16px !important; }
  .rel-card { break-inside: avoid; }
  .rel-card .img { aspect-ratio: 4/3 !important; }
  .rel-card h4 { font-size: 10.5pt !important; }

  /* Hide interactions */
  .btn:hover, a:hover, .service-card:hover, .post-card:hover,
  .rel-card:hover, .feat-card:hover, .widget:hover { transform: none !important; box-shadow: none !important; }

  /* Ensure no hero bg image issue -- force printable */
  .hero {
    background-size: cover !important;
    background-position: center !important;
  }
}
