/* Rural Field Learning — /education-events/rural-field-learning/ */
.rfl-page {
  --rfl-ink: #142a24;
  --rfl-green: #17463f;
  --rfl-green-2: #2f6f62;
  --rfl-mint: #dcefe8;
  --rfl-lime: #d9ef72;
  --rfl-cream: #f7f5ed;
  --rfl-line: #cad8d2;
  color: var(--rfl-ink);
  font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
}
.rfl-page *, .rfl-page *::before, .rfl-page *::after { box-sizing: border-box; }
.rfl-page h1, .rfl-page h2, .rfl-page h3 { font-family: var(--wp--preset--font-family--headline, 'Manrope', sans-serif); }
.rfl-page h1, .rfl-page h2, .rfl-page h3, .rfl-page p { word-break: keep-all; }
.rfl-container { margin: 0 auto; max-width: 1200px; width: 100%; }
.rfl-section-label { color: var(--rfl-green-2); font-size: .75rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .75rem; text-transform: uppercase; }
.rfl-section-heading { max-width: 650px; }
.rfl-section-heading--center { margin: 0 auto 3rem; text-align: center; }
.rfl-section-heading h2, .rfl-overview__heading h2 { color: var(--rfl-ink); font-size: clamp(1.85rem, 3.5vw, 2.75rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.22; margin: 0 0 1rem; }
.rfl-section-heading > p:last-child { color: #52645e; font-size: 1rem; line-height: 1.75; margin: 0; }

.rfl-hero {
  align-items: center;
  background: linear-gradient(90deg, rgba(12, 42, 34, .94) 0%, rgba(12, 42, 34, .79) 44%, rgba(12, 42, 34, .20) 100%), url('/wp-content/uploads/2026/06/autumn-rice-paddy-hanok.jpg') center 58% / cover no-repeat;
  display: flex;
  min-height: 680px;
  position: relative;
}
.rfl-hero__inner { margin: 0 auto; max-width: 1200px; padding: 6rem 2rem; width: 100%; }
.rfl-eyebrow { background: var(--rfl-lime); border-radius: 999px; color: #30420d; display: inline-flex; font-size: .78rem; font-weight: 800; letter-spacing: .06em; margin: 0 0 1.5rem; padding: .5rem .9rem; }
.rfl-hero h1 { color: #fff; font-size: clamp(2.65rem, 6vw, 5rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.04; margin: 0 0 1.35rem; max-width: 760px; }
.rfl-hero__subtitle { color: #cce9df; font-size: 1.05rem; font-weight: 750; letter-spacing: .04em; margin: 0 0 1rem; }
.rfl-hero__lead { color: rgba(255,255,255,.88); font-size: 1.08rem; line-height: 1.78; margin: 0 0 2.25rem; max-width: 610px; }
.rfl-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.rfl-btn { align-items: center; border-radius: .65rem; display: inline-flex; font-size: .94rem; font-weight: 750; justify-content: center; min-height: 48px; padding: .75rem 1.3rem; text-decoration: none !important; transition: transform .18s ease, background-color .18s ease; }
.rfl-btn:hover { transform: translateY(-1px); }
.rfl-btn--primary { background: var(--rfl-lime); color: #2e3f0d !important; }
.rfl-btn--primary:hover { background: #e5f58f; }
.rfl-btn--ghost { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.42); color: #fff !important; }
.rfl-btn--ghost:hover { background: rgba(255,255,255,.18); }

.rfl-overview { padding: 5.5rem 2rem; }
.rfl-lede { border-left-color: var(--rfl-green) !important; color: #344740; font-size: 1.03rem; line-height: 1.8; margin: 0 0 4rem !important; padding: 1.5rem 1.75rem !important; }
.rfl-overview__heading { align-items: start; display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; margin-bottom: 3rem; }
.rfl-overview__heading > p { color: #52645e; font-size: 1.03rem; line-height: 1.8; margin: 2.1rem 0 0; }
.rfl-facts { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.rfl-facts > div { background: var(--rfl-cream); border-top: 3px solid var(--rfl-green); min-height: 125px; padding: 1.35rem; }
.rfl-facts dt { color: #62726d; font-size: .73rem; font-weight: 750; letter-spacing: .08em; margin-bottom: .55rem; text-transform: uppercase; }
.rfl-facts dd { color: var(--rfl-ink); font-size: 1.02rem; font-weight: 750; line-height: 1.45; margin: 0; }

.rfl-modules { background: #edf3f0; padding: 5.5rem 2rem; }
.rfl-module-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rfl-module-card { background: #fff; border: 1px solid #dae5e0; border-radius: 1rem; min-height: 390px; overflow: hidden; padding: 1.75rem; position: relative; }
.rfl-module-card > .material-symbols-outlined { color: var(--rfl-green-2); font-size: 2.1rem; margin-bottom: 2.2rem; }
.rfl-module-card__number { color: #d5e2dc; font-family: var(--wp--preset--font-family--headline, 'Manrope', sans-serif); font-size: 3.4rem; font-weight: 850; line-height: 1; margin: 0; position: absolute; right: 1.25rem; top: 1rem; }
.rfl-module-card h3 { color: var(--rfl-ink); font-size: 1.3rem; margin: 0 0 .8rem; }
.rfl-module-card > p:not(.rfl-module-card__number) { color: #53655e; font-size: .92rem; line-height: 1.65; margin: 0 0 1.2rem; }
.rfl-module-card ul { border-top: 1px solid #e1e9e5; color: #40534c; font-size: .84rem; line-height: 1.6; list-style: none; margin: 0; padding: 1rem 0 0; }
.rfl-module-card li { padding: .25rem 0 .25rem 1rem; position: relative; }
.rfl-module-card li::before { background: var(--rfl-green-2); border-radius: 50%; content: ''; height: 5px; left: 0; position: absolute; top: .82rem; width: 5px; }
.rfl-culture-strip { align-items: center; background: var(--rfl-green); border-radius: 1rem; color: #fff; display: flex; gap: 1.5rem; margin-top: 1.25rem; padding: 1.5rem 1.75rem; }
.rfl-culture-strip > .material-symbols-outlined { color: var(--rfl-lime); font-size: 2.4rem; }
.rfl-culture-strip h3 { color: #fff; font-size: 1.05rem; margin: 0 0 .3rem; }
.rfl-culture-strip p { color: rgba(255,255,255,.78); font-size: .9rem; line-height: 1.6; margin: 0; }

.rfl-audience { padding: 5.5rem 2rem; }
.rfl-audience__layout { align-items: start; display: grid; gap: 5rem; grid-template-columns: .8fr 1.2fr; }
.rfl-audience-list { border-top: 2px solid var(--rfl-ink); }
.rfl-audience-list article { align-items: start; border-bottom: 1px solid var(--rfl-line); display: grid; gap: 1.25rem; grid-template-columns: 48px 1fr; padding: 1.5rem .25rem; }
.rfl-audience-list .material-symbols-outlined { align-items: center; background: var(--rfl-mint); border-radius: 50%; color: var(--rfl-green); display: flex; font-size: 1.4rem; height: 42px; justify-content: center; width: 42px; }
.rfl-audience-list h3 { font-size: 1.05rem; margin: 0 0 .35rem; }
.rfl-audience-list p { color: #52645e; font-size: .9rem; line-height: 1.6; margin: 0; }

.rfl-itinerary { background: var(--rfl-cream); padding: 5.5rem 2rem; scroll-margin-top: 90px; }
.rfl-days { display: grid; gap: 1.5rem; grid-template-columns: 1fr 1fr; }
.rfl-day { background: #fff; border: 1px solid #e3e1d8; border-radius: 1rem; overflow: hidden; }
.rfl-day header { background: var(--rfl-green); color: #fff; padding: 1.5rem 1.75rem; }
.rfl-day header span { color: var(--rfl-lime); font-size: .74rem; font-weight: 800; letter-spacing: .1em; }
.rfl-day header h3 { color: #fff; font-size: 1.2rem; margin: .35rem 0 0; }
.rfl-timeline { list-style: none; margin: 0; padding: .5rem 1.75rem 1.25rem; }
.rfl-timeline li { display: grid; gap: 1rem; grid-template-columns: 7rem 1fr; padding: 1.1rem 0; position: relative; }
.rfl-timeline li + li { border-top: 1px solid #e8e7e0; }
.rfl-timeline time { color: var(--rfl-green-2); font-size: .78rem; font-weight: 800; line-height: 1.45; }
.rfl-timeline strong { color: var(--rfl-ink); display: block; font-size: .92rem; margin-bottom: .2rem; }
.rfl-timeline p { color: #64716c; font-size: .82rem; line-height: 1.5; margin: 0; }

.rfl-process { background: var(--rfl-green); color: #fff; padding: 5rem 2rem; }
.rfl-process .rfl-section-label { color: var(--rfl-lime); }
.rfl-process .rfl-section-heading h2 { color: #fff; }
.rfl-process-list { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.rfl-process-list li { border-top: 1px solid rgba(255,255,255,.34); padding: 1.4rem .25rem 0; }
.rfl-process-list li > span { align-items: center; background: var(--rfl-lime); border-radius: 50%; color: #33430f; display: flex; font-size: .8rem; font-weight: 850; height: 32px; justify-content: center; margin-bottom: 1rem; width: 32px; }
.rfl-process-list h3 { color: #fff; font-size: 1rem; margin: 0 0 .45rem; }
.rfl-process-list p { color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.6; margin: 0; }

.rfl-faq { padding: 5.5rem 2rem; }
.rfl-faq__inner { max-width: 850px; }
.rfl-faq-list { border-top: 2px solid var(--rfl-ink); }
.rfl-faq details { border-bottom: 1px solid var(--rfl-line); }
.rfl-faq summary { color: var(--rfl-ink); cursor: pointer; font-size: 1rem; font-weight: 750; list-style: none; padding: 1.3rem 2.5rem 1.3rem .25rem; position: relative; }
.rfl-faq summary::-webkit-details-marker { display: none; }
.rfl-faq summary::after { color: var(--rfl-green-2); content: '+'; font-size: 1.45rem; font-weight: 400; position: absolute; right: .25rem; top: 1.05rem; }
.rfl-faq details[open] summary::after { content: '−'; }
.rfl-faq details p { color: #53655e; font-size: .92rem; line-height: 1.75; margin: 0; max-width: 740px; padding: 0 .25rem 1.5rem; }

.rfl-cta { background: #112e28; color: #fff; padding: 4.5rem 2rem; }
.rfl-cta__inner { align-items: center; display: grid; gap: 4rem; grid-template-columns: 1.35fr .65fr; }
.rfl-cta .rfl-section-label { color: var(--rfl-lime); }
.rfl-cta h2 { color: #fff; font-size: clamp(1.8rem, 3.5vw, 2.7rem); letter-spacing: -.025em; line-height: 1.25; margin: 0 0 1rem; }
.rfl-cta p:last-child { color: rgba(255,255,255,.75); line-height: 1.75; margin: 0; max-width: 720px; }
.rfl-cta__actions { align-items: stretch; display: flex; flex-direction: column; gap: .7rem; }
.rfl-btn--light { background: var(--rfl-lime); color: #2d3e0d !important; }
.rfl-btn--outline-light { border: 1px solid rgba(255,255,255,.4); color: #fff !important; }
.rfl-back-link { color: #cde9df !important; font-size: .84rem; font-weight: 700; margin-top: .45rem; text-align: center; text-decoration: none !important; }

@media (max-width: 980px) {
  .rfl-module-grid { grid-template-columns: 1fr 1fr; }
  .rfl-facts { grid-template-columns: 1fr 1fr; }
  .rfl-audience__layout { gap: 3rem; grid-template-columns: 1fr; }
  .rfl-process-list { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
}
@media (max-width: 760px) {
  .rfl-hero { background: linear-gradient(90deg, rgba(12,42,34,.94), rgba(12,42,34,.68)), url('/wp-content/uploads/2026/06/autumn-rice-paddy-hanok.jpg') 58% center / cover no-repeat; min-height: 620px; }
  .rfl-hero__inner { padding: 5rem 1.25rem; }
  .rfl-overview, .rfl-modules, .rfl-audience, .rfl-itinerary, .rfl-process, .rfl-faq, .rfl-cta { padding-left: 1.25rem; padding-right: 1.25rem; }
  .rfl-overview__heading, .rfl-days, .rfl-cta__inner { gap: 2rem; grid-template-columns: 1fr; }
  .rfl-overview__heading > p { margin-top: 0; }
  .rfl-timeline { padding-left: 1.25rem; padding-right: 1.25rem; }
  .rfl-timeline li { grid-template-columns: 6.2rem 1fr; }
}
@media (max-width: 560px) {
  .rfl-actions { align-items: stretch; flex-direction: column; }
  .rfl-module-grid, .rfl-facts, .rfl-process-list { grid-template-columns: 1fr; }
  .rfl-module-card { min-height: 0; }
  .rfl-culture-strip { align-items: flex-start; }
  .rfl-timeline li { gap: .55rem; grid-template-columns: 1fr; }
}
