.r18-page {
  --r18-ink: #25322d;
  --r18-muted: #65716b;
  --r18-green: #2f5d4d;
  --r18-deep: #1e4639;
  --r18-cream: #f7f1e6;
  --r18-paper: #fffdf8;
  --r18-line: rgba(47, 93, 77, .16);
  background: var(--r18-paper);
  color: var(--r18-ink);
}
.r18-page main { overflow: hidden; }
.r18-page h1,
.r18-page h2,
.r18-page h3 { color: var(--r18-deep); }
.r18-shell { width: min(calc(100% - 36px), 1100px); margin-inline: auto; }
.r18-hero { padding: 54px 0 46px; background: linear-gradient(135deg, #eef4f0, #f8f2e8); border-bottom: 1px solid var(--r18-line); }
.r18-hero-grid { display: grid; gap: 28px; }
.r18-eyebrow { margin: 0 0 10px; color: #a46639; font-size: .74rem; font-weight: 820; letter-spacing: .12em; }
.r18-date { display: flex; flex-wrap: wrap; gap: 7px 14px; margin: 0 0 12px; color: #7a7369; font-size: .78rem; }
.r18-hero h1 { margin-bottom: 16px; font-size: clamp(2.15rem, 9vw, 3.85rem); line-height: 1.24; letter-spacing: -.04em; }
.r18-hero p { max-width: 700px; margin-bottom: 0; color: var(--r18-muted); }
.r18-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.r18-summary div { display: grid; min-height: 90px; place-content: center; padding: 15px; background: rgba(255,255,255,.78); border: 1px solid var(--r18-line); border-radius: 15px; text-align: center; }
.r18-summary strong { color: var(--r18-green); font-size: 1.6rem; line-height: 1; }
.r18-summary span { margin-top: 8px; color: #6e7772; font-size: .78rem; }
.r18-content { padding: 62px 0 90px; }
.r18-intro { display: grid; gap: 15px; margin-bottom: 30px; }
.r18-intro h2 { margin: 0; font-size: clamp(1.65rem, 6vw, 2.45rem); line-height: 1.28; letter-spacing: -.035em; }
.r18-intro p { margin: 0; color: var(--r18-muted); }
.r18-incheon { display: grid; gap: 14px; margin-bottom: 30px; padding: 22px; color: #fff; background: var(--r18-deep); border-radius: 22px 7px 22px 7px; }
.r18-incheon h3 { margin: 0 0 6px; color: #fff; font-size: 1.3rem; }
.r18-incheon p { margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; }
.r18-incheon-links { display: grid; gap: 9px; }
.r18-incheon-links a { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; color: var(--r18-deep); background: #fff; border-radius: 9px; font-size: .9rem; font-weight: 800; text-decoration: none; }
.r18-incheon-links a:last-child { color: #fff; background: #a46639; }
.r18-grid { display: grid; gap: 12px; }
.r18-card { position: relative; display: grid; min-height: 142px; align-content: space-between; padding: 20px; background: #fff; border: 1px solid var(--r18-line); border-radius: 15px; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.r18-card:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(30,70,57,.09); }
.r18-card small { color: #9a704b; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.r18-card h3 { margin: 6px 0 5px; font-size: 1.18rem; }
.r18-card p { margin: 0; color: var(--r18-muted); font-size: .84rem; }
.r18-card b { position: absolute; right: 18px; bottom: 18px; color: var(--r18-green); font-size: 1.1rem; }
.r18-guide { margin-top: 42px; padding-top: 29px; border-top: 1px solid var(--r18-line); }
.r18-guide h2 { margin-bottom: 12px; font-size: clamp(1.45rem, 5vw, 2rem); line-height: 1.3; }
.r18-guide p { margin: 0; color: var(--r18-muted); }
.r18-contact { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 9px; }
.r18-contact a { display: inline-flex; min-height: 46px; align-items: center; padding: 11px 14px; border-radius: 8px; font-size: .88rem; font-weight: 800; text-decoration: none; }
.r18-contact a:first-child { color: #fff; background: var(--r18-green); }
.r18-contact a:last-child { color: var(--r18-deep); background: #fee500; }
@media (min-width: 720px) {
  .r18-shell { width: min(calc(100% - 64px), 1100px); }
  .r18-hero { padding: 76px 0 62px; }
  .r18-hero-grid { grid-template-columns: 1.3fr .7fr; align-items: end; gap: 60px; }
  .r18-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .r18-intro { grid-template-columns: .9fr 1.1fr; align-items: end; gap: 50px; }
  .r18-incheon { grid-template-columns: 1fr 1fr; align-items: center; padding: 28px 30px; }
  .r18-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .r18-page .ac-nav--desktop { display: flex; align-items: center; gap: 20px; }
  .r18-page .ac-nav--desktop a { color: #46534d; font-size: .87rem; font-weight: 700; text-decoration: none; }
  .r18-page .ac-nav--desktop .r18-nav-cta { padding: 9px 13px; color: #fff; background: var(--r18-green); border-radius: 8px; }
  .r18-page .ac-mobile-nav { display: none; }
  .r18-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .r18-shell { width: min(calc(100% - 28px), 1100px); }
  .r18-contact a { width: 100%; justify-content: center; }
}
