* { box-sizing:border-box; }
body { margin:0; background:#fff; color:#2c2c2c; font-family:"Source Sans 3", "Segoe UI", sans-serif; }
header { position:relative; background:#2f2f2f; color:#fff; text-align:center; padding:14px 16px 12px; }
.home { position:absolute; left:22px; top:22px; color:#ddd; text-decoration:none; letter-spacing:.18em; font-size:13px; font-family:"Barlow Condensed", Impact, sans-serif; }
.about h1, .about h2, .visit h2, .contact-title { font-family:"Barlow Condensed", Impact, sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.about h1 { font-size:32px; font-weight:600; color:#333; }
.about h2 { font-size:28px; }
.about p { text-align:left; color:#333; font-size:18px; line-height:1.6; }
.contact-title { text-align:center; letter-spacing:.2em; color:#777; font-weight:500; font-size:28px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
form h3, .contact-grid h3 { font-family:Arial, Helvetica, sans-serif; letter-spacing:0; text-transform:none; font-size:20px; }
form input, form textarea { width:100%; border:1px solid #cfcfcf; padding:12px; margin:0 0 12px; font:16px Arial, sans-serif; color:#8a5a32; }
form textarea { min-height:120px; }
form button { background:#fff; border:1px solid #cfcfcf; padding:10px 18px; font-size:16px; cursor:pointer; }
.hide { display:none; }
.big a, footer a, .phone { font-family:"Barlow Condensed", Impact, sans-serif; letter-spacing:.04em; }
.logo { height:58px; }
.photos { background:linear-gradient(90deg, #6a6a6a 0%, #8a8a8a 18%, #8a8a8a 82%, #6a6a6a 100%); padding:14px 12px 18px; }
.photos img { width:min(1100px, 95%); display:block; margin:0 auto; max-height:62vh; object-fit:contain; box-shadow:0 0 32px rgba(0,0,0,.22); }
.about, .visit { max-width:1180px; margin:0 auto; padding:28px 20px; }
.about h1 { text-align:center; font-weight:500; letter-spacing:.08em; font-size:24px; color:#555; }
.about-row { display:grid; grid-template-columns:520px 1fr; gap:32px; align-items:center; }
.round { width:500px; height:500px; object-fit:cover; border-radius:50%; }
.about p { font-size:18px; line-height:1.55; text-align:center; color:#555; }
.about h2 { text-align:center; }
.about p, .visit p { font-size:18px; line-height:1.5; }
.visit h2 { font-size:28px; color:#222; }
.note, .visit p, .visit h3 { color:#8a5a32; }
.name { color:#222; font-weight:700; font-size:22px; }
.big a { color:#8a5a32; font-size:26px; font-weight:700; text-decoration:none; }
.map iframe { width:100%; height:340px; border:0; display:block; }
.contact-title { text-align:center; letter-spacing:.2em; color:#777; font-weight:500; font-size:28px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
form h3, .contact-grid h3 { font-family:Arial, Helvetica, sans-serif; letter-spacing:0; text-transform:none; font-size:20px; color:#222; }
form input, form textarea { width:100%; border:1px solid #cfcfcf; padding:12px; margin:0 0 12px; font:16px Arial, sans-serif; color:#8a5a32; background:#fff; }
form textarea { min-height:120px; }
form button { background:#fff; border:1px solid #cfcfcf; padding:10px 18px; font-size:16px; cursor:pointer; }
.hide { display:none; }
footer { background:#111; color:#ddd; text-align:center; padding:18px; }
footer a { display:block; color:#fff; font-size:20px; font-weight:800; text-decoration:none; margin:4px 0; }
@media (max-width:800px) {
  .about-row { grid-template-columns:1fr; }
  .round { width:180px; height:180px; margin:0 auto; }
  .photos img { max-height:42vh; }
  .contact-grid { grid-template-columns:1fr; }
  .home { position:static; display:block; margin-bottom:8px; }
}
