.field-article-wrap { max-width: 844px; margin-inline: auto; padding-inline: 32px; }
.field-article { padding-bottom: 64px; }
.field-article-header { padding-block: 24px 20px; border-bottom: 1px solid var(--line); }
.field-article-category { color: var(--accent); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px; }
.field-article h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 4.5vw, 52px); line-height: 1.09; letter-spacing: -.025em; margin-bottom: 20px; }
.field-article-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.field-article a:not(.btn-primary) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.field-article a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.field-article-intro { font-size: 20px; line-height: 1.6; color: var(--ink-2); }
.field-article-intro p { margin: 0; }
.field-article-body { padding-top: 12px; color: var(--ink-2); font-size: 18px; line-height: 1.7; overflow-wrap: break-word; }
.field-article-body h2, .field-article-contact h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; color: var(--ink); margin: 36px 0 16px; letter-spacing: -.018em; }
.field-article-body h3 { font-size: 21px; line-height: 1.3; color: var(--ink); margin: 26px 0 12px; }
.field-article-body p, .field-article-body ul, .field-article-body ol { margin-bottom: 20px; }
.field-article-body ul, .field-article-body ol { padding-left: 24px; }
.field-article-body li { margin-bottom: 10px; }
.field-article-body strong { color: var(--ink); font-weight: 600; }
.field-article-table { max-width: 100%; overflow-x: auto; margin: 26px 0; }
.field-article-table:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.field-article-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.field-article-table th, .field-article-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.field-article-table th { color: var(--ink); background: var(--bg-soft); font-weight: 600; }
.field-article-note { border-left: 3px solid var(--accent); background: var(--bg-soft); padding: 20px 24px; margin: 28px 0; }
.field-article-note p:last-child { margin-bottom: 0; }
.field-article-body figure { margin: 28px 0; }
.field-article-body img { width: 100%; height: auto; display: block; }
.field-article-body figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.field-article-contact { border: 1px solid var(--line); background: var(--bg-soft); padding: 28px; margin-top: 36px; }
.field-article-contact h2 { margin: 0 0 14px; }
.field-article-contact > p:not(.field-article-category) { color: var(--ink-2); font-size: 17px; line-height: 1.65; margin-bottom: 22px; }
.field-article-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.field-article-phone { font-size: 16px; font-weight: 600; }
.field-article-byline { color: var(--muted); font-size: 14px; line-height: 1.65; margin-top: 24px; }
@media (max-width: 640px) {
  .field-article-wrap { padding-inline: 20px; }
  .field-article-header { padding-top: 20px; }
  .field-article-intro { font-size: 18px; }
  .field-article-body { font-size: 17px; }
  .field-article-contact { padding: 22px; }
}
