/* Shared editorial layouts for the company, services and shipping guide. */
:root { --paper: #f7f3eb; }
.logistics-art { margin: 0; min-width: 0; }
.logistics-art img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; border-radius: 12px; }
.logistics-art figcaption { font-size: 12px; line-height: 1.7; color: var(--secondary); margin-top: 16px; }
.intro-illustrated { display: flex; flex-direction: column; min-width: 0; }
.intro-art { margin-top: 48px; }
.intro-art img { aspect-ratio: 4 / 3; object-fit: contain; background: transparent; border-radius: 0; }
.intro-art figcaption { max-width: 280px; padding-top: 16px; border-top: 1px solid var(--line); }
.service-art { margin-top: 32px; }
.resource-art { width: 100%; margin-bottom: 24px; }
.resource-art img { background: var(--paper); }
.cargo-banner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; padding: 24px 40px; background: #eeeee6; border-radius: 12px; margin-bottom: 40px; }
.cargo-banner img { max-height: 280px; mix-blend-mode: multiply; }
.cargo-banner figcaption { font-size: 28px; line-height: 1.25; color: var(--ink); max-width: 320px; margin: 0; }
.guide-art { display: flex; gap: 48px; align-items: center; padding: 24px 40px; margin-bottom: 40px; border-radius: 12px; background: #eeeee6; }
.guide-art img { width: 50%; max-height: 320px; mix-blend-mode: multiply; }
.guide-art figcaption { font-size: 24px; max-width: 320px; line-height: 1.4; color: var(--ink); }
.company-art { margin-top: 32px; max-width: 400px; }
@media (max-width: 850px) {
  .intro-illustrated { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
  .intro-art { margin-top: 0; }
  .intro-art img { aspect-ratio: 4 / 3; }
  .service-art { max-width: 520px; }
}
@media (max-width: 600px) {
  .intro-illustrated { display: flex; gap: 24px; }
  .intro-illustrated > .section-label { align-self: flex-start; }
  .intro-art { width: 100%; }
  .intro-art figcaption { max-width: none; }
  .cargo-banner { grid-template-columns: 1fr; gap: 16px; padding: 24px; }
  .cargo-banner figcaption { font-size: 22px; }
  .guide-art { flex-direction: column; gap: 16px; padding: 24px; }
  .guide-art img { width: 100%; }
  .guide-art figcaption { font-size: 22px; margin: 0; }
}
.header nav a[aria-current="page"] { border-bottom: 1px solid var(--ink); }
.inline-link { display: inline-flex; gap: 24px; border-bottom: 1px solid var(--ink); padding-bottom: 4px; margin-top: 24px; font-size: 14px; }
.inline-link:hover, .footer-links a:hover { color: #a43a17; }
.page-lead { padding-block: 48px 80px; }
.breadcrumb { display: inline-flex; gap: 20px; color: var(--secondary); font-size: 13px; margin-bottom: 48px; }
.page-lead .section-label { margin-bottom: 24px; }
.page-lead h1 { font-size: clamp(44px, 5vw, 72px); max-width: 1000px; }
.lead-copy { color: var(--secondary); font-size: 18px; max-width: 680px; margin-top: 32px; }
.section-jump { display: flex; gap: 32px; padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.section-jump a { font-size: 14px; display: flex; gap: 24px; }
.section-jump a:hover { color: #a43a17; }
.service-detail { display: grid; grid-template-columns: 1fr 1.2fr; gap: 96px; padding-block: 88px; border-bottom: 1px solid var(--line); }
.service-side .section-label { margin-bottom: 24px; }
.service-side h2 { font-size: 44px; }
.service-side > p:not(.section-label) { color: var(--secondary); margin-top: 24px; }
.detail-content article { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.detail-content h3 { font-size: 22px; margin-bottom: 12px; }
.detail-content p { font-size: 15px; color: var(--secondary); }
.preparation { background: #e9ece5; padding: 24px; border-radius: 12px; }
.preparation h3 { font-size: 18px; }
.small-note { margin-top: 24px; color: var(--secondary); font-size: 13px !important; }
.editorial-section { padding-block: 88px; }
.cargo-section { border-bottom: 1px solid var(--line); }
.cargo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 64px; }
.cargo-grid article { border-top: 1px solid var(--line); padding-top: 24px; }
.cargo-index { font-size: 12px; color: var(--secondary); }
.cargo-grid h3 { margin-top: 24px; font-size: 28px; max-width: 360px; }
.cargo-grid p { margin-top: 16px; font-size: 15px; color: var(--secondary); max-width: 480px; }
.cargo-grid a { display: inline-block; margin-top: 24px; font-size: 14px; border-bottom: 1px solid var(--ink); }
.resource-band, .guide-band { background: #e9ece5; }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.resource-grid > a { padding-top: 24px; border-top: 1px solid #bdc7bb; display: flex; flex-direction: column; align-items: flex-start; }
.resource-grid > a:hover h3 { color: #a43a17; }
.resource-grid span { font-size: 12px; color: var(--secondary); }
.resource-grid h3 { font-size: 28px; margin-top: 24px; }
.resource-grid p { color: var(--secondary); font-size: 14px; margin-block: 20px 24px; }
.resource-grid .resource-arrow { font-size: 28px; color: var(--ink); margin-top: auto; }
.document-list article { display: grid; grid-template-columns: 40px 1fr 160px; gap: 32px; padding: 32px 0; border-top: 1px solid var(--line); }
.document-list article > span { font-size: 12px; color: var(--secondary); }
.document-list h3 { margin-bottom: 16px; }
.document-list p { color: var(--secondary); font-size: 15px; max-width: 720px; }
.document-tag { text-align: right; }
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: 14px; }
caption { text-align: left; font-size: 13px; color: var(--secondary); padding-bottom: 20px; }
th, td { padding: 20px 16px; border-bottom: 1px solid #c7d0c3; vertical-align: top; }
thead th { background: var(--ink); color: var(--paper); font-weight: 500; }
tbody th { font-weight: 500; min-width: 80px; }
td:nth-child(2) { min-width: 160px; }
.reading-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 64px; }
.reading-grid article { border-top: 1px solid var(--line); padding-top: 24px; }
.reading-grid p { margin-top: 16px; color: var(--secondary); font-size: 15px; }
.guide-faq { max-width: 960px; }
.closing { padding-block: 64px 80px; display: flex; align-items: center; justify-content: space-between; gap: 48px; border-top: 1px solid var(--line); }
.closing h2 { margin-top: 24px; font-size: 40px; }
.closing .button { width: auto; flex-shrink: 0; }
.company-story { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding-bottom: 88px; }
.company-photo { background: var(--ink); border-radius: 12px; overflow: hidden; }
.company-photo img { width: 100%; height: 480px; object-fit: cover; object-position: 80%; }
.company-photo span { display: block; padding: 20px 24px; font-size: 13px; color: var(--paper); }
.company-story h2 { font-size: 40px; margin-block: 24px; }
.company-story p:not(.section-label) { font-size: 15px; color: var(--secondary); margin-top: 20px; }
.company-record { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; padding-block: 88px; }
.company-record h2 { margin-block: 24px; }
.company-record p:not(.section-label) { color: var(--secondary); font-size: 15px; }
.company-record .company-details { margin: 0; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; padding-bottom: 48px; }
.footer-links h3 { font-size: 16px; margin-bottom: 16px; }
.footer-links a, .footer-links span { display: block; color: var(--secondary); font-size: 13px; margin-top: 8px; }
@media (max-width: 1100px) {
  .service-detail { gap: 48px; }
  .company-story { gap: 40px; }
  .header nav { gap: 16px; }
  .header .nav-cta { font-size: 13px; gap: 12px; }
}
@media (max-width: 850px) {
  .page-lead { padding-block: 40px 64px; }
  .service-detail, .company-story, .company-record { grid-template-columns: 1fr; gap: 40px; }
  .resource-grid { gap: 24px; }
  .resource-grid h3 { font-size: 24px; }
  .document-list article { grid-template-columns: 32px 1fr; gap: 24px; }
  .document-tag { display: none; }
  .company-photo img { height: 360px; }
  .closing { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 600px) {
  .page-lead h1 { font-size: 40px; letter-spacing: -1.6px; }
  .breadcrumb { margin-bottom: 32px; }
  .lead-copy { font-size: 16px; margin-top: 24px; }
  .section-jump { gap: 20px 24px; }
  .section-jump a { font-size: 13px; gap: 12px; }
  .service-detail, .editorial-section, .company-record { padding-block: 56px; }
  .service-side h2 { font-size: 36px; }
  .cargo-grid, .resource-grid, .reading-grid { grid-template-columns: 1fr; gap: 32px; }
  .resource-grid h3 br { display: none; }
  .resource-grid p { margin-bottom: 16px; }
  .document-list article { gap: 16px; grid-template-columns: 24px 1fr; }
  .document-list h3 { font-size: 22px; }
  th, td { padding: 16px 12px; }
  td:nth-child(2) { min-width: 108px; }
  table { font-size: 13px; }
  tbody th { min-width: 60px; }
  .company-story { padding-bottom: 56px; }
  .company-story h2, .closing h2 { font-size: 36px; }
  .company-photo img { height: 300px; }
  .closing { padding-block: 48px 64px; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
}
