/* ==============================
   JSUOG 2027 Greetings CSS
   Soft Poster-Matched Version
============================== */

:root {
  --color-primary: #1F3468;
  --color-primary-soft: #4F70B8;
  --color-secondary: #BFD5F6;
  --color-secondary-light: #EAF2FF;
  --color-bg: #F8FAFD;
  --color-bg-warm: #F7F4EC;
  --color-accent: #C9B97A;

  --color-text: #33415C;
  --color-text-light: #667085;
  --color-white: #FFFFFF;

  --border-soft: rgba(191, 213, 246, 0.75);
  --shadow-soft: 0 8px 24px rgba(31, 52, 104, 0.08);
  --shadow-hover: 0 12px 30px rgba(31, 52, 104, 0.13);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
}

/* ==============================
   Greeting Page Container
============================== */

.kaicho-greeting {
  margin-top: 32px;
  padding: 34px;
  background: linear-gradient(135deg, var(--color-white), var(--color-bg));
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.greeting-profile-row {
  display: flex;
  align-items: center;
  gap: 36px;

  margin-bottom: 34px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--border-soft);
}

.greeting-photo-box {
  flex: 0 0 220px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.greeting-photo {
  width: 300px;
  height: 250px;
  object-fit: cover;
  object-position: center top;

  border-radius: 15%;
  border: 5px solid var(--color-white);
  box-shadow:
    0 12px 30px rgba(31, 52, 104, 0.16),
    0 0 0 1px rgba(191, 213, 246, 0.7);
}

.greeting-profile-text {
  flex: 1;
  min-width: 0;
}

.affiliation {
  margin: 0 0 12px;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.55;
  color: var(--color-primary);
}

.society-name {
  display: inline-block;
  margin: 0;
  padding-left: 16px;

  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1.75;

  color: var(--color-primary-soft);
  border-left: 4px solid var(--color-accent);
}

.greeting-message {
  width: 100%;
  padding: 0;
  margin: 0;

  font-size: 1.05rem;
  line-height: 2.05;
  color: var(--color-text);
  text-align: justify;
}

.greeting-signature {
  margin-top: 2.5rem;
  text-align: right;
  line-height: 1.9;
  font-weight: 600;
  color: var(--color-primary);
}

@media (max-width: 768px) {
  .kaicho-greeting {
    padding: 24px;
  }

  .greeting-profile-row {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .greeting-photo-box {
    flex: initial;
  }

  .greeting-photo {
    width: 180px;
    height: 180px;
  }

  .affiliation {
    font-size: 1.2rem;
  }

  .society-name {
    padding-left: 0;
    border-left: none;
    font-size: 1.05rem;
  }

  .greeting-message {
    font-size: 0.98rem;
    line-height: 1.9;
  }

  .greeting-signature {
    text-align: center;
  }
}

html[lang="en"] .affiliation {
  font-size: 1.32rem;
  line-height: 1.6;
}

html[lang="en"] .society-name {
  font-size: 1.12rem;
  line-height: 1.75;
}