@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=EB+Garamond:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&display=swap');

.feasts-wrap {
  max-width: min(1360px, calc(100vw - 3rem));
  margin: 0 auto;
  padding: 0 1.5rem 4rem;
  background: #FFF8E7;
}

.feasts-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.5rem;
  align-items: center;
  background: radial-gradient(circle at 22% 18%, rgba(212,175,55,0.16), transparent 34%),
              radial-gradient(circle at 78% 32%, rgba(212,175,55,0.11), transparent 30%),
              linear-gradient(135deg, #fffaf4 0%, #fff4e2 55%, #f1deb3 100%);
  border-radius: 22px;
  border: 1px solid rgba(212,168,67,0.28);
  padding: 2.5rem 2rem;
  margin: 1.5rem 0 2rem;
  position: relative;
  overflow: hidden;
}
.feasts-hero::before {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(45deg,rgba(91,55,16,.03) 25%,transparent 25%),
              linear-gradient(-45deg,rgba(91,55,16,.03) 25%,transparent 25%),
              linear-gradient(45deg,transparent 75%,rgba(91,55,16,.03) 75%),
              linear-gradient(-45deg,transparent 75%,rgba(91,55,16,.03) 75%);
  background-size:72px 72px; opacity:.42; pointer-events:none;
}
.feasts-hero > * { position:relative; z-index:1; }
.feasts-hero-icons { display:flex; gap:1rem; flex-shrink:0; }
.feasts-hero-icon {
  width:130px; height:130px; border-radius:50%; overflow:hidden;
  border:3px solid rgba(212,168,67,.45);
  box-shadow:0 0 0 6px rgba(212,168,67,.12), 0 12px 36px rgba(91,60,30,.18);
  background:rgba(255,248,231,.6); flex-shrink:0;
}
.feasts-hero-icon img { width:100%; height:100%; object-fit:cover; display:block; }
.feasts-hero-text { min-width:0; }
.feasts-hero-kicker {
  font-size:.75rem; letter-spacing:.24em; text-transform:uppercase;
  color:#C28E2A; font-weight:700; margin:0 0 .5rem;
}
.feasts-hero-title {
  font-family:'EB Garamond',Georgia,serif; font-size:clamp(2rem,4vw,3.2rem);
  font-weight:800; color:#5B3C1E; line-height:1.05; margin:0 0 .4rem;
}
.feasts-hero-sub {
  font-family:'EB Garamond',Georgia,serif; font-style:italic;
  font-size:clamp(1rem,1.6vw,1.25rem); color:rgba(91,60,30,.78); margin:0 0 .65rem;
}
.feasts-hero-intro {
  font-size:.97rem; color:rgba(75,52,34,.75); line-height:1.72; margin:0;
}
.feasts-line {
  width:90px; height:2px;
  background:linear-gradient(90deg,transparent,#D4A843,transparent);
  margin:.6rem 0 .7rem;
}

.feasts-part {
  text-align:center;
  background:linear-gradient(135deg,rgba(255,248,231,.98),rgba(243,223,180,.5));
  border-radius:14px; border:1px solid rgba(212,168,67,.25);
  padding:1.5rem 2rem; margin:2.5rem 0 1.5rem;
}
.feasts-part-label {
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:#C28E2A; font-weight:700; margin:0 0 .25rem;
}
.feasts-part-title {
  font-family:'EB Garamond',Georgia,serif;
  font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800; color:#5B3C1E; margin:0;
}

.feasts-card {
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(251,246,236,.96));
  border-radius:18px; border:1px solid rgba(212,168,67,.28);
  padding:2rem 2rem 1.75rem;
  position:relative; overflow:hidden;
  margin-bottom:1.5rem;
}
.feasts-card::before {
  content:''; position:absolute; top:0; left:0;
  width:100%; height:5px;
  background:linear-gradient(90deg,#D4A843,#F0D68A);
}
.feasts-card-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:.75rem; flex-wrap:wrap; margin-bottom:1.25rem;
}
.feasts-card-title {
  font-family:'EB Garamond',Georgia,serif; font-size:clamp(1.3rem,2.2vw,1.9rem);
  font-weight:700; color:#6C4A22; margin:0 0 .2rem;
}
.feasts-card-sub {
  font-family:'EB Garamond',Georgia,serif; font-style:italic;
  font-size:.97rem; color:rgba(91,60,30,.7); margin:0;
}
.feasts-badge {
  display:inline-block; padding:.25rem .85rem; border-radius:20px;
  background:rgba(212,168,67,.18); color:#6C4A22;
  font-size:.75rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; white-space:nowrap; flex-shrink:0;
}

.feasts-intro { font-size:.98rem; line-height:1.78; color:rgba(75,52,34,.88); margin:0 0 .9rem; }

.feasts-quote {
  background:linear-gradient(135deg,rgba(255,248,231,.98),rgba(243,223,180,.75));
  border-left:4px solid #D4A843;
  padding:1.1rem 1.5rem; border-radius:0 10px 10px 0;
  margin:1rem 0; font-style:italic; font-size:1rem; color:#5B3C1E;
}

.feasts-father {
  background:linear-gradient(135deg,#FDF6E8,#FAF0D0 60%,#F5E8C0 100%);
  border-radius:14px; border:1px solid rgba(184,134,11,.3);
  border-left:5px solid #B8860B;
  padding:1.5rem 1.75rem; margin:1.25rem 0;
  position:relative; overflow:hidden;
}
.feasts-father::before {
  content:'\201C'; position:absolute; top:-1rem; left:1rem;
  font-family:'EB Garamond',Georgia,serif; font-size:8rem; font-weight:900;
  color:rgba(184,134,11,.12); line-height:1; pointer-events:none; user-select:none;
}
.feasts-father-header {
  display:flex; align-items:center; gap:.65rem;
  margin-bottom:.85rem; padding-bottom:.65rem;
  border-bottom:1px solid rgba(184,134,11,.2); position:relative; z-index:1;
}
.feasts-father-icon {
  width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,rgba(184,134,11,.18),rgba(184,134,11,.06));
  border:1px solid rgba(184,134,11,.35);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#8B6914;
}
.feasts-father-name {
  font-family:'EB Garamond',Georgia,serif; font-size:1.1rem; font-weight:700;
  color:#3A2208; display:block; line-height:1.2;
}
.feasts-father-source { font-style:italic; color:#8B6914; font-size:.82rem; display:block; }
.feasts-father-quote {
  font-family:'EB Garamond',Georgia,serif; font-size:1.1rem; line-height:1.8;
  color:#2C1A06; font-style:italic; margin:0; white-space:pre-line; position:relative; z-index:1;
}

.feasts-scripture {
  background:linear-gradient(135deg,#FFF9EE,#FFF3D6 50%,#FEE8B0 100%);
  border-radius:12px; border:1px solid rgba(184,134,11,.35);
  border-top:3px solid #B8860B;
  padding:1.25rem 1.5rem 1rem; margin:.75rem 0;
}
.feasts-scripture-ref {
  font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:#8B6914; margin-bottom:.6rem; display:flex; align-items:center; gap:.5rem;
}
.feasts-scripture-ref::before {
  content:''; display:inline-block; width:16px; height:2px;
  background:#B8860B; border-radius:2px; flex-shrink:0;
}
.feasts-scripture-text {
  font-family:'EB Garamond',Georgia,serif; font-size:1.1rem; line-height:1.8;
  color:#4B3422; font-style:italic; margin:0;
}
.feasts-scripture-ver {
  font-size:.7rem; font-weight:700; letter-spacing:.12em; color:rgba(139,105,20,.5);
  text-align:right; margin-top:.6rem; text-transform:uppercase;
}

.feasts-steps { list-style:none; padding:0; margin:.75rem 0; display:grid; gap:.75rem; }
.feasts-step {
  display:flex; gap:1rem; align-items:flex-start;
  background:rgba(255,255,255,.92); border-radius:10px;
  border:1px solid rgba(212,168,67,.2); border-left:4px solid #D4A843;
  padding:.9rem 1.1rem; font-size:.95rem; color:rgba(75,52,34,.84);
}
.feasts-step-num {
  font-family:'EB Garamond',Georgia,serif; font-size:1.5rem; font-weight:700;
  color:#D4A843; min-width:1.8rem; line-height:1.1; flex-shrink:0;
}
.feasts-step strong { display:block; font-size:.97rem; color:#5B3C1E; margin-bottom:.15rem; }

.feasts-two-col { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:.75rem 0; }
.feasts-col {
  background:rgba(255,255,255,.92); border-radius:10px;
  border:1px solid rgba(212,168,67,.22); border-left:4px solid #D4A843;
  padding:1.1rem 1.25rem;
}
.feasts-col h4 {
  font-family:'EB Garamond',Georgia,serif; font-size:1.05rem; font-weight:700;
  color:#6C4A22; margin:0 0 .6rem;
}
.feasts-col p, .feasts-col ul { font-size:.93rem; color:rgba(75,52,34,.84); margin:0; }
.feasts-col ul { list-style:none; padding:0; }
.feasts-col ul li { padding:.3rem 0 .3rem 1.4rem; position:relative; }
.feasts-col ul li::before { content:'✦'; position:absolute; left:0; color:#D4A843; }

.feasts-table { width:100%; border-collapse:collapse; margin:1rem 0; border-radius:12px; overflow:hidden; }
.feasts-table th {
  font-family:'EB Garamond',Georgia,serif; font-size:.95rem; font-weight:700;
  padding:.85rem 1rem; text-align:left; color:#5B3C1E;
  background:rgba(212,168,67,.15); border-bottom:2px solid rgba(212,168,67,.35);
}
.feasts-table th:first-child { background:rgba(212,168,67,.25); text-align:center; width:16%; }
.feasts-table td {
  padding:.75rem 1rem; font-size:.9rem; color:rgba(75,52,34,.85);
  border-bottom:1px solid rgba(212,168,67,.15); vertical-align:top;
}
.feasts-table td:first-child {
  font-family:'EB Garamond',Georgia,serif; font-weight:700; color:#6C4A22;
  background:rgba(255,248,231,.6); text-align:center;
}
.feasts-table tr:last-child td { border-bottom:none; }
.feasts-table tr:nth-child(even) td { background:rgba(255,255,255,.4); }
.feasts-table tr:nth-child(even) td:first-child { background:rgba(255,248,231,.8); }

.feasts-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.75rem; margin:.75rem 0; }
.feasts-fact {
  background:rgba(255,248,231,.95); border-radius:10px;
  border:1px solid rgba(212,168,67,.22); padding:.9rem 1rem; text-align:center;
}
.feasts-fact .fnum { font-family:'EB Garamond',Georgia,serif; font-size:1.6rem; font-weight:900; color:#6C4A22; }
.feasts-fact .flbl { font-size:.78rem; color:rgba(75,52,34,.65); margin-top:.15rem; }

.feasts-terms { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.65rem; margin:.75rem 0; }
.feasts-term {
  background:rgba(255,248,231,.95); border-radius:10px;
  border:1px solid rgba(212,168,67,.22); border-left:4px solid #D4A843;
  padding:.85rem 1.1rem;
}
.feasts-term-word { font-family:'EB Garamond',Georgia,serif; font-size:1.15rem; font-weight:700; color:#5B3C1E; }
.feasts-term-lang { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:#C28E2A; font-weight:600; margin:.1rem 0 .3rem; }
.feasts-term-def { font-size:.88rem; color:rgba(75,52,34,.8); line-height:1.5; }

.feasts-divider { border:none; border-top:1px solid rgba(212,168,67,.22); margin:1.5rem 0; }

@media (max-width: 860px) {
  .feasts-hero { grid-template-columns:1fr; text-align:center; }
  .feasts-hero-icons { justify-content:center; }
  .feasts-hero-kicker, .feasts-hero-title, .feasts-hero-sub, .feasts-hero-intro { text-align:center; }
  .feasts-line { margin-left:auto; margin-right:auto; }
}
@media (max-width: 720px) {
  .feasts-wrap { padding:0 .75rem 3rem; }
  .feasts-hero { padding:1.5rem 1.1rem; margin:.75rem 0 1.5rem; }
  .feasts-hero-icon { width:90px; height:90px; }
  .feasts-card { padding:1.4rem 1.1rem 1.25rem; }
  .feasts-two-col { grid-template-columns:1fr; }
  .feasts-table th, .feasts-table td { padding:.55rem .65rem; font-size:.82rem; }
}
