:root { --blue: #0c71c3; --ink: #183044; --muted: #607383; --line: #dbe5ec; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #fff; font: 16px/1.65 Arial, sans-serif; }
a { color: var(--blue); }
.wrap { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.header { border-bottom: 1px solid var(--line); }
.head { display: flex; align-items: center; gap: 30px; min-height: 78px; }
.brand { color: var(--blue); font-size: 20px; font-weight: 800; text-decoration: none; }
.head nav { display: flex; gap: 18px; margin-left: auto; }
.head nav a, .phone { color: var(--ink); text-decoration: none; }
.phone { font-weight: 700; white-space: nowrap; }
.notice { margin-top: 28px; padding: 14px 18px; background: #edf5fa; border-left: 3px solid var(--blue); font-size: 14px; }
article { max-width: 850px; padding: 40px 0; }
h1 { margin: 0 0 30px; font-size: clamp(30px, 5vw, 48px); line-height: 1.14; }
h2 { margin: 32px 0 12px; font-size: 24px; line-height: 1.25; }
p { margin: 0 0 16px; }
.content p { overflow-wrap: anywhere; }
.gallery, .related { border-top: 1px solid var(--line); padding: 24px 0 42px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #f1f5f7; }
.related ul { columns: 3; padding-left: 20px; }
.related li { break-inside: avoid; margin-bottom: 8px; }
footer { padding: 30px 0; background: var(--ink); color: #fff; }
footer a { color: #fff; }
@media (max-width: 700px) {
  .head { flex-wrap: wrap; padding: 16px 0; gap: 10px 18px; }
  .head nav { order: 3; width: 100%; margin: 0; flex-wrap: wrap; }
  .phone { margin-left: auto; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .related ul { columns: 1; }
}
