@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700&family=Manrope:wght@500;550;600;700;800&display=swap');

:root { --paper: #f4f3ef; --ink: #242620; --muted: #6c7069; --orange: #e95a27; --line: #dedfd7; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.6 'DM Sans', sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--orange); }
.wrap { max-width: 1240px; width: calc(100% - 96px); margin: auto; }
.header { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.brand { display: block; flex-shrink: 0; width: 167px; line-height: 1; }
.brand img { display: block; width: 100%; height: auto; }
.brand-dot { font-size: 13px; letter-spacing: 0; vertical-align: top; margin-left: 3px; }
.brand small { display: block; letter-spacing: 2px; font: 8px 'DM Sans', sans-serif; margin-top: 9px; }
.header nav { display: flex; align-items: center; gap: 36px; font-size: 14px; font-weight: 550; }
.nav-contact { border: 1px solid #bdc0b5; border-radius: 5px; padding: 12px 18px; }
.nav-contact span { margin-left: 30px; }
.application { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 32px; padding: 68px 0 56px; border-bottom: 1px solid var(--line); }
.application > div:first-child { min-width: 0; }
.eyebrow { font-size: 11px; letter-spacing: 1.8px; font-weight: 700; margin: 0 0 22px; }
.eyebrow > span { display: inline-block; width: 7px; height: 7px; background: var(--orange); border-radius: 50%; margin-right: 9px; }
h1, h2 { font-family: 'Manrope', sans-serif; font-weight: 550; line-height: 1.12; margin: 0; overflow-wrap: anywhere; }
h1 { font-size: clamp(44px, 5vw, 64px); letter-spacing: -2.5px; }
em { color: var(--orange); font-style: normal; }
.application-description { text-align: center; max-width: 320px; color: var(--orange); font-size: 17px; overflow-wrap: anywhere; }
.application-description img[src$="logo_mars2.png"] { display: block; margin-inline: auto; }
.application > .application-logo { justify-self: end; }
.application-description p { margin: 10px 0; }
.application-logo { flex-shrink: 0; padding: 28px; background: #fafaf7; border: 1px solid var(--line); border-radius: 12px; }
.application-logo img { display: block; width: auto; max-width: 210px; max-height: 125px; object-fit: contain; }
.downloads { padding-bottom: 64px; }
.files-section { margin-top: 48px; }
.section-heading { margin-bottom: 24px; }
.section-heading .eyebrow { color: var(--muted) !important; margin-bottom: 14px; font-size: 10px; }
h2 { font-size: 30px; letter-spacing: -1px; }
.section-description { margin-top: 14px; color: var(--muted); }
.section-note { margin-top: 8px; font-size: 14px; font-weight: 600; }
.section-description:empty, .section-note:empty { display: none; }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; background: #fafaf7; }
.files-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 14px; text-align: left; }
.files-table th, .files-table td { padding: 20px; vertical-align: top; overflow-wrap: anywhere; }
.files-table thead { background: #29312b; color: white; }
.files-table thead th { font-size: 11px; letter-spacing: .6px; font-weight: 600; }
.files-table tbody tr + tr { border-top: 1px solid var(--line); }
.files-table tbody tr:nth-child(even) { background: #f0f1e9; }
.files-table tbody th { width: 25%; font-weight: 600; }
.file-description { width: 47%; color: var(--muted); }
.file-date { width: 16%; font-size: 12px; color: var(--muted); }
.files-table p { margin: 0 0 10px; }
.files-table img, .application-description img { max-width: 100%; height: auto; }
.file-description a, .section-description a { text-decoration: underline; text-underline-offset: 3px; }
.download-button { display: inline-flex; align-items: center; gap: 16px; padding: 10px 14px; border-radius: 5px; background: var(--orange); color: white; font-size: 12px; font-weight: 650; white-space: nowrap; transition: background .2s; }
.download-button:hover { background: #c44315; color: white; }
.notice, .empty-state { margin: 32px 0; padding: 24px; border: 1px solid var(--line); border-radius: 9px; }
.notice { border-left: 3px solid var(--orange); }
footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 36px 0; border-top: 1px solid var(--line); }
footer .brand { width: 130px; }
footer p, footer > a:last-child { font-size: 11px; color: var(--muted); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 20; padding: 12px; background: white; }
.skip:focus { top: 12px; }
@media (max-width: 1050px) { .wrap { width: calc(100% - 48px); } }
@media (max-width: 760px) {
    .wrap { width: calc(100% - 40px); }
    .header { min-height: 90px; gap: 20px; }
    .brand { width: 135px; }
    .header nav { gap: 16px; font-size: 12px; }
    .nav-contact { display: none; }
    .application { padding: 42px 0 36px; grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .application-description { justify-self: center; }
    .application > .application-logo { justify-self: center; }
    .application-description { font-size: 16px; }
    .application-logo { padding: 20px; }
    .application-logo img { max-width: 160px; max-height: 85px; }
    .files-section { margin-top: 36px; }
    h2 { font-size: 26px; }
    .files-table th, .files-table td { padding: 16px; }
    .downloads { padding-bottom: 40px; }
    footer { flex-wrap: wrap; gap: 18px; }
    footer p { flex: 1; text-align: right; }
    footer > a:last-child { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
