:root {
  --green: #1b9e72;
  --green-dark: #148059;
  --text: #16232b;
  --muted: #56636b;
  --bg: #f7f9fa;
  --border: #d7e3df;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0 0 48px;
  background: var(--bg);
  color: var(--text);
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 40px 0;
}

.logo img { display: block; }

.lang {
  color: var(--green);
  font-size: 15px;
  text-decoration: none;
  font-weight: 500;
}
.lang:hover { text-decoration: underline; }

.hero {
  display: flex;
  align-items: center;
  gap: 48px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 40px 16px;
}

.hero__content { flex: 1 1 300px; max-width: 470px; }

.hero h1 {
  margin: 0 0 22px;
  font-size: 34px;
  line-height: 1.25;
  font-weight: 700;
}

.hero__desc {
  margin: 0 0 28px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.address {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  margin-bottom: 20px;
}

.address__icon { display: flex; }

.address__text { display: flex; flex-direction: column; gap: 4px; }
.address__text strong { font-size: 14px; font-weight: 600; letter-spacing: .3px; }
.address__text span { color: var(--muted); font-size: 15px; }

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 290px;
  padding: 15px 20px;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s;
}
.btn:hover { background: var(--green-dark); }

.hero__visual { flex: 1 1 480px; }
.hero__visual img { width: 100%; height: auto; display: block; }

.notice {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1100px;
  margin: 24px auto 0;
  padding: 16px 20px;
  border-radius: 10px;
  background: #eaf4fb;
}
.notice p { margin: 0; font-size: 15px; color: #1f3a4a; }
.notice__icon { display: flex; }

@media (max-width: 860px) {
  .hero { flex-direction: column-reverse; padding: 32px 24px; }
  .hero__content, .hero__visual { max-width: 100%; width: 100%; }
  .hero__visual {
    flex: 0 0 clamp(190px, 48vw, 300px);
    height: clamp(190px, 48vw, 300px);
    min-height: 0;
  }
  .hero__visual img { height: 100%; object-fit: contain; }
  .header { padding: 20px 24px 0; }
  .notice { margin: 16px 24px 0; }
  .btn { max-width: 100%; }
}
