
:root {
  --red: #a82e31;
  --red-deep: #7f2024;
  --ink: #252525;
  --muted: #6b6865;
  --paper: #f7f6f4;
  --warm: #efede9;
  --line: #d8d4cf;
  --white: #ffffff;
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--paper); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 88% 10%, rgba(168,46,49,.08), transparent 28rem),
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(247,246,244,.96));
}
a { color: inherit; }
.page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.topline { height: 5px; background: var(--red); }
.header, .main, .footer-inner {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
}
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 0 20px;
  border-bottom: 1px solid var(--line);
}
.logo { width: 177px; height: auto; display: block; }
.header-note {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}
.main {
  flex: 1;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 84px;
  align-items: center;
  padding: 92px 0 84px;
}
.eyebrow {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--red-deep);
  font-weight: 700;
}
.eyebrow::before { content: ''; width: 36px; height: 2px; background: var(--red); }
h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 700;
}
.lead {
  max-width: 680px;
  margin: 28px 0 0;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
  color: var(--muted);
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.7);
  font-size: 13px;
  border-radius: 999px;
}
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(168,46,49,.10); }
.card {
  border-left: 3px solid var(--red);
  background: rgba(255,255,255,.75);
  padding: 30px 30px 28px;
  box-shadow: 0 18px 50px rgba(35,31,28,.07);
}
.card + .card { margin-top: 18px; }
.card-label {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
}
.card p, .card address { margin: 0; font-size: 16px; line-height: 1.6; font-style: normal; }
.card a { color: var(--red-deep); font-size: 15px; font-weight: 700; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.footer { border-top: 1px solid var(--line); background: rgba(255,255,255,.45); }
.footer-inner {
  min-height: 76px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-size: 13px;
  color: var(--muted);
}
.footer-links { display: flex; gap: 22px; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: var(--red); }
.legal-main {
  width: min(860px, calc(100% - 48px));
  margin: 0 auto;
  padding: 70px 0 90px;
}
.legal-main h1 { font-size: clamp(38px, 6vw, 58px); line-height: 1.05; }
.legal-main h2 { margin: 42px 0 12px; font-size: 20px; }
.legal-main p, .legal-main li { line-height: 1.65; color: #4d4a47; }
.legal-main ul { padding-left: 22px; }
.back { display: inline-block; margin-top: 36px; color: var(--red-deep); font-weight: 700; text-decoration: none; }
.notice { margin-top: 28px; padding: 16px 18px; background: var(--warm); border-left: 3px solid var(--red); color: #55514d; }
@media (max-width: 820px) {
  .header, .main, .footer-inner, .legal-main { width: min(100% - 32px, 720px); }
  .header { padding-top: 24px; }
  .header-note { display: none; }
  .main { grid-template-columns: 1fr; gap: 42px; padding: 62px 0 58px; }
  .cards { max-width: 540px; }
  .footer-inner { flex-direction: column; align-items: flex-start; justify-content: center; padding: 18px 0; }
}
