.banlulu-editorial {
  --ink: #173f3a;
  --text: #303632;
  --line: #d8ded9;
  --soft: #f1f4f0;
  color: var(--text);
  border-top: 1px solid var(--line);
}

.banlulu-editorial * { box-sizing: border-box; }
.banlulu-editorial__inner { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.banlulu-editorial__hero { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr); min-height: 570px; }
.banlulu-editorial__hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px max(48px, calc((100vw - 1180px) / 2)); background: var(--soft); }
.banlulu-editorial__eyebrow { margin: 0 0 14px; color: #887052; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; }
.banlulu-editorial h1, .banlulu-editorial h2, .banlulu-editorial h3 { color: var(--ink); }
.banlulu-editorial h1 { max-width: 700px; margin: 0 0 22px; font-size: 52px; line-height: 1.08; }
.banlulu-editorial h2 { margin: 0 0 18px; font-size: 36px; line-height: 1.16; }
.banlulu-editorial h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.3; }
.banlulu-editorial p { font-size: 16px; line-height: 1.7; }
.banlulu-editorial__hero-copy > p { max-width: 630px; margin: 0 0 28px; font-size: 18px; }
.banlulu-editorial__hero-media, .banlulu-editorial__feature-media { min-height: 100%; overflow: hidden; }
.banlulu-editorial__hero-media img, .banlulu-editorial__feature-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.banlulu-editorial__links { display: flex; flex-wrap: wrap; gap: 10px; }
.banlulu-editorial__link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 17px; border: 1px solid var(--ink); border-radius: 4px; color: var(--ink); font-weight: 600; text-decoration: none; }
.banlulu-editorial__link--solid { color: #fff; background: var(--ink); }
.banlulu-editorial__statement { padding: 88px 0; text-align: center; }
.banlulu-editorial__statement p { max-width: 790px; margin: 0 auto; font-size: 20px; }
.banlulu-editorial__feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.banlulu-editorial__feature-media { min-height: 470px; }
.banlulu-editorial__feature-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px max(48px, calc((100vw - 1180px) / 2)); }
.banlulu-editorial__values { padding: 84px 0 92px; }
.banlulu-editorial__values h2 { text-align: center; }
.banlulu-editorial__value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; margin-top: 44px; }
.banlulu-editorial__icon { width: 40px; height: 40px; margin-bottom: 18px; color: var(--ink); }
.banlulu-editorial__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.banlulu-editorial__value p { margin: 0; color: #5a615d; font-size: 15px; }

.banlulu-contact-intro__hero { grid-template-columns: minmax(340px, .86fr) minmax(0, 1.14fr); }
.banlulu-contact-intro__hero-media img { object-position: center 42%; }
.banlulu-contact-intro__routes { padding: 78px 0; }
.banlulu-contact-intro__routes .banlulu-editorial__eyebrow { text-align: center; }
.banlulu-contact-intro__routes > h2 { text-align: center; }
.banlulu-contact-intro__route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 38px; }
.banlulu-contact-intro__route { padding: 34px 30px; border-right: 1px solid var(--line); }
.banlulu-contact-intro__route:last-child { border-right: 0; }
.banlulu-contact-intro__route p { margin: 0; font-size: 15px; }
.banlulu-contact-intro__route a { color: var(--ink); font-weight: 600; }
.banlulu-contact-intro__guide { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: var(--soft); border-top: 1px solid var(--line); }
.banlulu-contact-intro__guide-copy { padding: 68px max(48px, calc((100vw - 1180px) / 2)); }
.banlulu-contact-intro__guide-copy ul { margin: 24px 0 0; padding: 0; list-style: none; }
.banlulu-contact-intro__guide-copy li { padding: 13px 0; border-bottom: 1px solid var(--line); }

@media (max-width: 989px) {
  .banlulu-editorial__inner { width: min(100% - 40px, 760px); }
  .banlulu-editorial__hero { grid-template-columns: 1fr; min-height: 0; }
  .banlulu-editorial__hero-copy { padding: 54px 40px; }
  .banlulu-editorial__hero-media { min-height: 460px; }
  .banlulu-editorial h1 { font-size: 42px; }
  .banlulu-editorial__value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .banlulu-contact-intro__route-grid { grid-template-columns: 1fr; }
  .banlulu-contact-intro__route { border-right: 0; border-bottom: 1px solid var(--line); }
  .banlulu-contact-intro__route:last-child { border-bottom: 0; }
}

@media (max-width: 767px) {
  .banlulu-editorial__inner { width: calc(100% - 32px); }
  .banlulu-editorial__hero-copy { order: 2; padding: 36px 20px 42px; }
  .banlulu-editorial__hero-media { order: 1; min-height: 320px; max-height: 430px; }
  .banlulu-editorial h1 { font-size: 34px; }
  .banlulu-editorial h2 { font-size: 29px; }
  .banlulu-editorial__hero-copy > p { font-size: 16px; }
  .banlulu-editorial__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .banlulu-editorial__statement { padding: 56px 0; }
  .banlulu-editorial__statement p { font-size: 17px; }
  .banlulu-editorial__feature, .banlulu-contact-intro__guide { grid-template-columns: 1fr; }
  .banlulu-editorial__feature-media { min-height: 300px; }
  .banlulu-editorial__feature-copy, .banlulu-contact-intro__guide-copy { padding: 42px 20px 48px; }
  .banlulu-editorial__values { padding: 56px 0 62px; }
  .banlulu-editorial__value-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 34px; }
  .banlulu-editorial__value { display: grid; grid-template-columns: 42px 1fr; column-gap: 16px; }
  .banlulu-editorial__icon { grid-row: 1 / span 2; margin: 0; }
  .banlulu-contact-intro__routes { padding: 54px 0; }
  .banlulu-contact-intro__route { padding: 28px 8px; }
}
