/* ADDIS Ethiopian landing pages — 2026-10-08 */
.ethiopianPage .section { padding: 78px clamp(24px, 6vw, 80px); }
.ethiopianPage .displayLines > span { white-space: normal; overflow-wrap: anywhere; }
.ethiopianPage h2, .ethiopianPage h3 { text-wrap: balance; }
:lang(ja) .ethiopianPage h2 { word-break: auto-phrase; }
:lang(ja) .ethiopianPage h3 { text-wrap: wrap; }
.ethiopianPage .ethioHero { min-height: 0; grid-template-columns: 1.08fr .92fr; }
.ethiopianPage .ethioHero > figure {
  position: relative; display: block; min-height: 0; margin: 0; padding: 0;
  background: var(--paper); overflow: hidden;
}
.ethiopianPage .ethioHero > figure img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none;
  object-fit: cover; object-position: 50% 50%; filter: saturate(.83) contrast(.97);
}
.ethiopianPage .ethioHero > div { min-width: 0; padding: 62px clamp(28px, 4.5vw, 72px); }
.ethiopianPage .ethioHero h1 { font-size: clamp(36px, 3.5vw, 52px); line-height: 1.27; }
:lang(ja) .ethiopianPage .ethioHero h1 { font-size: clamp(32px, 3.15vw, 46px); }
.ethiopianPage .ethioHero > div > p:not(.eyebrow) { margin: 23px 0 27px; font-size: 15px; line-height: 1.9; }
.ethiopianPage .ethioHero .buttonRow { display: flex; flex-wrap: wrap; gap: 10px; }
.ethiopianPage .ethioHero .button { min-height: 50px; padding: 16px 20px; line-height: 1.5; }
.ethiopianPage .ethioProof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
.ethiopianPage .ethioProof > span {
  min-width: 0; white-space: normal; padding: 18px 14px; text-align: center;
  font-size: 12px; line-height: 1.7;
}
.ethiopianPage .ethioStory { gap: 5vw; }
.ethiopianPage .ethioStory > * { min-width: 0; }
.ethiopianPage .ethioStory h2, .ethiopianPage .ethioCoffee h2,
.ethiopianPage .occasions h2, .ethiopianPage .ethioFinal h2,
.ethiopianPage .faq h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.4; }
.ethiopianPage .ethioChoose > .sectionHeading { max-width: 1120px; margin-left: auto; margin-right: auto; }
.ethiopianPage .ethioChoose h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.4; }
.ethiopianPage .ethioProduct {
  max-width: 1120px; margin: 0 auto 24px; grid-template-columns: 1fr 1fr;
  grid-template-areas: "photo copy"; border: 1px solid var(--line);
}
.ethiopianPage .ethioProductVisual {
  display: block; position: relative; align-self: center; min-height: 0;
  margin: 26px 0 26px 26px; padding: 0; background: transparent;
}
.ethiopianPage .ethioProductVisual figure {
  position: relative; inset: auto; width: 100%; height: auto; margin: 0;
  aspect-ratio: 4 / 3; border: 0; overflow: hidden;
}
.ethiopianPage .ethioProductVisual img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  object-position: 50% 50%; filter: saturate(.83) contrast(.97);
}
.ethiopianPage .experienceProduct .ethioProductVisual img { object-position: 50% 48%; filter: saturate(.76) contrast(.97); }
.ethiopianPage .ethioProduct > div:not(.ethioProductVisual) { min-width: 0; padding: 36px clamp(24px, 3.2vw, 46px); }
.ethiopianPage .ethioProduct h3 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.4; margin: 14px 0 12px; }
.ethiopianPage .ethioProduct strong { font-size: 34px; line-height: 1.3; }
.ethiopianPage .ethioProduct em { margin-top: 5px; font-size: 13px; }
.ethiopianPage .ethioProduct p { font-size: 14px; line-height: 1.9; margin: 20px 0; }
.ethiopianPage .ethioProduct ul { margin: 0 0 20px; }
.ethiopianPage .ethioProduct li { padding-top: 9px; padding-bottom: 9px; font-size: 12px; line-height: 1.8; }
.ethiopianPage .ethioProduct .productPhotoNote { font-size: 11px; line-height: 1.7; margin: 0 0 18px; color: #62594f; }
.ethiopianPage .courseTerms {
  max-width: 1120px; margin: 4px auto 0; padding: 14px 0 0; border-top: 1px solid var(--line);
  color: #5f554b; font-size: 12px; line-height: 1.9;
}
.ethiopianPage .ethioCoffee { min-height: 0; padding: 56px max(6vw, 28px) 50px; gap: 6vw; }
.ethiopianPage .ethioCoffee > figure { width: min(100%, 350px); align-self: center; margin: 0 auto; filter: none; }
.ethiopianPage .ethioCoffee > div { min-width: 0; }
.ethiopianPage .ethioCoffee > div > p:last-child { margin-top: 22px; }
.ethiopianPage .occasions { gap: 5vw; }
.ethiopianPage .occasions > * { min-width: 0; }
.ethiopianPage .faqHeading { position: static; }
.ethiopianPage .faq summary { line-height: 1.7; }
.ethiopianPage .faq details p { line-height: 1.95; }
.ethiopianPage .ethioFinal { padding: 62px 24px 72px; }
.ethiopianPage .ethioFinal > p { max-width: 670px; margin-left: auto; margin-right: auto; }
.ethiopianPage [id] { scroll-margin-top: 92px; }
@media (max-width: 1100px) and (min-width: 901px) {
  .ethiopianPage .ethioHero { grid-template-columns: 1fr 1fr; }
  .ethiopianPage .ethioHero > div { padding: 44px 28px; }
  .ethiopianPage .ethioHero h1 { font-size: 37px; }
  :lang(ja) .ethiopianPage .ethioHero h1 { font-size: clamp(28px, 3.3vw, 36px); }
  .ethiopianPage .ethioHero .button { font-size: 11px; padding: 14px 16px; }
  .ethiopianPage .ethioProduct > div:not(.ethioProductVisual) { padding: 30px 26px; }
}
@media (max-width: 900px) {
  .ethiopianPage .section { padding: 48px 6vw; }
  .ethiopianPage .ethioHero { display: flex; flex-direction: column; }
  .ethiopianPage .ethioHero > div { order: 1; padding: 30px 6vw 34px; }
  .ethiopianPage .ethioHero > figure { order: 2; aspect-ratio: 4 / 3; width: 100%; }
  .ethiopianPage .ethioHero h1 { font-size: clamp(32px, 8.7vw, 42px); line-height: 1.3; }
  :lang(ja) .ethiopianPage .ethioHero h1 { font-size: clamp(28px, 8.2vw, 38px); }
  .ethiopianPage .ethioHero > div > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; margin: 17px 0 22px; }
  .ethiopianPage .ethioHero .eyebrow { margin-bottom: 15px; font-size: 10px; }
  .ethiopianPage .ethioHero .buttonRow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .ethiopianPage .ethioHero .button { min-height: 48px; justify-content: space-between; font-size: 12px; }
  .ethiopianPage .ethioProof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ethiopianPage .ethioProof > span { padding: 14px 10px; font-size: 11px; border-bottom: 1px solid var(--line); }
  .ethiopianPage .ethioProof > span:nth-child(2n) { border-right: 0; }
  .ethiopianPage .ethioStory { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .ethiopianPage .ethioStory h2, .ethiopianPage .ethioCoffee h2,
  .ethiopianPage .occasions h2, .ethiopianPage .ethioChoose h2,
  .ethiopianPage .faq h2, .ethiopianPage .ethioFinal h2 { font-size: 29px; line-height: 1.45; }
  .ethiopianPage .ethioProduct { grid-template-columns: minmax(0, 1fr); grid-template-areas: "photo" "copy"; margin-bottom: 22px; }
  .ethiopianPage .ethioProductVisual { margin: 0; width: 100%; align-self: auto; }
  .ethiopianPage .ethioProduct > div:not(.ethioProductVisual) { padding: 27px 22px 30px; }
  .ethiopianPage .ethioProduct h3 { font-size: 26px; }
  .ethiopianPage .ethioProduct .button { align-self: stretch; justify-content: space-between; font-size: 12px; }
  .ethiopianPage .courseTerms { font-size: 12px; padding-top: 14px; }
  .ethiopianPage .ethioCoffee { grid-template-columns: minmax(0, 1fr); padding: 40px 6vw 46px; gap: 20px; }
  .ethiopianPage .ethioCoffee > figure { width: min(70vw, 280px); margin: 0 auto; }
  .ethiopianPage .ethioCoffee > div { position: static; }
  .ethiopianPage .occasions { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ethiopianPage .faq { gap: 22px; }
  .ethiopianPage .ethioFinal { padding: 46px 6vw 60px; }
  .ethiopianPage [id] { scroll-margin-top: 128px; }
  body:has(.ethiopianPage) .mobileBar a { font-size: 12px; }
}
