/* ============================================================
   Tara Solen — product page styles
   Used by all product/book/bundle landing pages.
   Class prefix: none (uses generic .hero, .pillar-card, .faq-list etc.)
   ============================================================ */

:root {
  --ink: #0d0d1a;
  --card: #1c1c32;
  --card-light: #22223a;
  --teal: #1bbfbf;
  --teal-light: #4dd4d4;
  --gold: #c8914a;
  --gold-light: #e5b574;
  --cream: #f5efe6;
  --coral: #d96b6b;
  --plum: #8a3f72;
  --gold-grad: linear-gradient(135deg, #c8914a 0%, #e5b574 60%, #c8914a 100%);
  --teal-grad: linear-gradient(135deg, #1bbfbf 0%, #4dd4d4 100%);
  --hero-grad: linear-gradient(160deg, #0d0d1a 0%, #14142a 50%, #1c1c32 100%);
}

.container { max-width: 860px; margin: 0 auto; padding: 0 24px; }
.container--wide { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.section { padding: 90px 0; }
.section--alt { background: var(--card); }
.section--alt2 { background: var(--card-light); }
.label { display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--teal); margin-bottom: 16px; }
.gold-text { color: var(--gold-light); }
.teal-text { color: var(--teal); }

h1, h2, h3, h4 { font-family: 'Playfair Display', serif; line-height: 1.15; letter-spacing: -.02em; }
h1 { font-size: clamp(38px, 6vw, 68px); font-weight: 900; }
h2 { font-size: clamp(30px, 4.5vw, 48px); font-weight: 700; }
h3 { font-size: clamp(20px, 2.5vw, 26px); font-weight: 700; }
h4 { font-size: 20px; font-weight: 700; }
p { max-width: 700px; }

.pull-quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(20px, 2.5vw, 28px); line-height: 1.5; color: var(--gold-light); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 17px; border-radius: 4px; border: none; cursor: pointer; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; min-height: 56px; padding: 0 36px; }
.btn--gold { background: var(--gold-grad) !important; color: #0d0d1a !important; box-shadow: 0 4px 24px rgba(200, 145, 74, .38), 0 1px 4px rgba(0, 0, 0, .4); }
.btn--gold:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 8px 36px rgba(200, 145, 74, .5), 0 2px 8px rgba(0, 0, 0, .5); }
.btn--outline { background: transparent; color: var(--cream); border: 1.5px solid rgba(245, 239, 230, .3); }
.btn--outline:hover { border-color: var(--gold-light); color: var(--gold-light); transform: translateY(-2px); }
.btn--large { font-size: 19px; min-height: 64px; padding: 0 48px; }
.btn-group { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }

.trust-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 20px; }
.trust-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(245, 239, 230, .7); }
.trust-item .icon { width: 16px; height: 16px; color: var(--teal); flex-shrink: 0; }

/* Hero */
.hero { background: var(--hero-grad); padding: 88px 0 78px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; top: -120px; right: -180px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(27, 191, 191, .07) 0%, transparent 70%); pointer-events: none; }
.hero::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(200, 145, 74, .06) 0%, transparent 70%); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 28px; align-items: start; position: relative; z-index: 1; }
.hero-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(27, 191, 191, .12); border: 1px solid rgba(27, 191, 191, .3); border-radius: 4px; padding: 6px 14px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-light); }
.hero h1 { margin-bottom: 24px; max-width: 780px; }
.hero h1 em { font-style: italic; color: var(--gold-light); }
.hero-sub { font-size: clamp(17px, 2vw, 20px); line-height: 1.7; color: rgba(245, 239, 230, .82); max-width: 650px; margin-bottom: 18px; }
.hero-sub strong { color: var(--cream); }
.hero-panel { background: rgba(255, 255, 255, .03); border: 1px solid rgba(245, 239, 230, .08); border-radius: 4px; padding: 28px 24px; position: relative; }
.hero-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--gold-grad); }
.hero-panel h3 { font-size: 24px; margin-bottom: 12px; }
.hero-panel p { font-size: 15px; color: rgba(245, 239, 230, .76); line-height: 1.65; max-width: 100%; margin-bottom: 16px; }
.hero-panel ul { list-style: none; display: flex; flex-direction: column; gap: 12px; padding: 0; margin: 0; }
.hero-panel li { font-size: 14px; color: rgba(245, 239, 230, .84); padding-left: 18px; position: relative; line-height: 1.55; }
.hero-panel li::before { content: '\2022'; position: absolute; left: 0; top: 0; color: var(--teal); font-weight: 700; }

/* Proof bar */
.proof-bar { background: rgba(27, 191, 191, .06); border-top: 1px solid rgba(27, 191, 191, .12); border-bottom: 1px solid rgba(27, 191, 191, .12); padding: 18px 0; overflow: hidden; }
.proof-bar-inner { display: flex; gap: 48px; justify-content: center; flex-wrap: wrap; align-items: center; padding: 0 24px; }
.proof-stat { text-align: center; flex-shrink: 0; }
.proof-stat .num { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: var(--teal-light); display: block; }
.proof-stat .desc { font-size: 12px; letter-spacing: .08em; color: rgba(245, 239, 230, .5); text-transform: uppercase; }

/* Cards + grids */
.pain-grid, .pillars-grid, .testimonials-grid, .outcome-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin: 44px 0; }
.pain-card, .pillar-card, .testimonial-card, .outcome-card { background: var(--ink); border: 1px solid rgba(245, 239, 230, .08); border-radius: 4px; padding: 28px 24px; position: relative; transition: border-color .2s, transform .2s; }
.pain-card:hover, .pillar-card:hover, .outcome-card:hover { border-color: rgba(27, 191, 191, .25); transform: translateY(-2px); }
.pain-card .emoji, .outcome-card .emoji { font-size: 26px; margin-bottom: 12px; }
.pain-card p, .pillar-card p, .testimonial-card p, .outcome-card p { font-size: 15px; line-height: 1.65; color: rgba(245, 239, 230, .8); max-width: 100%; }
.pain-outro { margin-top: 20px; padding-top: 32px; border-top: 1px solid rgba(245, 239, 230, .08); }

/* Comparison */
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: start; margin-top: 34px; }
.comparison-card { background: var(--ink); border: 1px solid rgba(245, 239, 230, .08); border-radius: 4px; padding: 28px 24px; }
.comparison-card h3 { margin-bottom: 14px; }
.comparison-card ul { list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }
.comparison-card li { font-size: 15px; color: rgba(245, 239, 230, .78); padding-left: 18px; position: relative; line-height: 1.55; }
.comparison-card li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.comparison-card--old li::before { content: '\2013'; color: var(--coral); }
.comparison-card--new li::before { content: '\2713'; color: var(--teal); }

/* Future outcomes list */
.future-list { list-style: none; margin: 36px 0; display: flex; flex-direction: column; gap: 16px; padding: 0; }
.future-list li { display: flex; gap: 16px; align-items: flex-start; }
.future-list .check { flex-shrink: 0; width: 22px; height: 22px; background: rgba(27, 191, 191, .15); border: 1px solid var(--teal); border-radius: 3px; display: flex; align-items: center; justify-content: center; margin-top: 2px; color: var(--teal); font-size: 13px; }
.future-list span { font-size: 17px; color: rgba(245, 239, 230, .9); line-height: 1.6; }

/* Authority */
.authority-card { background: var(--ink); border: 1px solid rgba(200, 145, 74, .2); border-radius: 4px; padding: 40px 44px; max-width: 760px; margin: 0 auto; position: relative; }
.authority-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--gold-grad); border-radius: 4px 4px 0 0; }
.authority-creds { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.cred-pill { background: rgba(27, 191, 191, .1); border: 1px solid rgba(27, 191, 191, .2); border-radius: 4px; padding: 6px 14px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--teal-light); text-transform: uppercase; }

/* Pillars */
.pillar-card { border: 1px solid rgba(200, 145, 74, .15); overflow: hidden; }
.pillar-card:hover { border-color: rgba(200, 145, 74, .4); }
.pillar-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--gold-grad); opacity: 0; transition: opacity .2s; }
.pillar-card:hover::after { opacity: 1; }
.pillar-number { font-family: 'Playfair Display', serif; font-size: 13px; font-weight: 700; letter-spacing: .15em; color: var(--gold); text-transform: uppercase; margin-bottom: 10px; }
.pillar-card h3 { font-size: 20px; margin-bottom: 12px; color: var(--cream); }
.pillar-output { display: inline-block; margin-top: 16px; padding: 4px 12px; background: rgba(27, 191, 191, .1); border: 1px solid rgba(27, 191, 191, .2); border-radius: 3px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-light); }

/* Value stack */
.value-stack { display: flex; flex-direction: column; gap: 2px; margin: 36px 0; }
.value-item { display: flex; gap: 20px; align-items: flex-start; padding: 20px 24px; background: var(--ink); border-left: 3px solid var(--gold); border-radius: 0 4px 4px 0; transition: background .18s; }
.value-item:hover { background: rgba(200, 145, 74, .05); }
.value-icon { font-size: 24px; flex-shrink: 0; margin-top: 2px; }
.value-content h4 { font-size: 16px; font-family: 'DM Sans', sans-serif; font-weight: 700; color: var(--cream); margin-bottom: 4px; }
.value-content p { font-size: 14px; color: rgba(245, 239, 230, .65); line-height: 1.55; max-width: 100%; }
.value-item .value-label { margin-left: auto; flex-shrink: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--gold-light); white-space: nowrap; padding-left: 16px; }

/* Metrics row */
.metrics-row { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid rgba(245, 239, 230, .06); border-radius: 4px; overflow: hidden; margin: 40px 0; }
.metric-item { flex: 1; min-width: 180px; padding: 28px 24px; text-align: center; border-right: 1px solid rgba(245, 239, 230, .06); background: var(--card-light); }
.metric-item:last-child { border-right: none; }
.metric-num { font-family: 'Playfair Display', serif; font-size: 36px; font-weight: 900; color: var(--gold-light); display: block; line-height: 1; }
.metric-label { font-size: 13px; color: rgba(245, 239, 230, .55); margin-top: 6px; line-height: 1.4; }

/* Offer box */
.offer-box { background: var(--ink); border: 1.5px solid rgba(200, 145, 74, .35); border-radius: 4px; padding: 44px 44px 40px; max-width: 620px; margin: 0 auto; position: relative; text-align: center; }
.offer-box::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gold-grad); border-radius: 4px 4px 0 0; }
.price-display { margin: 24px 0; }
.price-main { font-family: 'Playfair Display', serif; font-size: 64px; font-weight: 900; color: var(--gold-light); line-height: 1; }
.price-sub { font-size: 14px; color: rgba(245, 239, 230, .5); margin-top: 6px; }
.offer-includes { text-align: left; margin: 24px 0 32px; display: flex; flex-direction: column; gap: 10px; padding: 0; }
.offer-includes li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: rgba(245, 239, 230, .85); list-style: none; line-height: 1.55; }
.offer-includes .tick { color: var(--teal); font-size: 14px; flex-shrink: 0; margin-top: 5px; }

/* Testimonials */
.testimonials-grid { margin: 44px 0; }
.stars { color: var(--gold); font-size: 15px; letter-spacing: 2px; margin-bottom: 14px; }
.testimonial-quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; line-height: 1.55; color: var(--cream); margin-bottom: 18px; }
.testimonial-name { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--teal); }
.testimonial-verified { font-size: 11px; color: rgba(245, 239, 230, .4); margin-top: 2px; }

/* FAQ */
.faq-list { max-width: 720px; margin: 36px auto; display: flex; flex-direction: column; gap: 2px; }
.faq-item { border-bottom: 1px solid rgba(245, 239, 230, .08); overflow: hidden; }
.faq-q { width: 100%; text-align: left; background: none; border: none; cursor: pointer; padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: 'DM Sans', sans-serif; font-size: 17px; font-weight: 700; color: var(--cream); transition: color .18s; }
.faq-q:hover { color: var(--gold-light); }
.faq-arrow { flex-shrink: 0; width: 22px; height: 22px; border: 1px solid rgba(200, 145, 74, .4); border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--gold-light); transition: transform .22s, background .18s; }
.faq-item.open .faq-arrow { transform: rotate(45deg); background: rgba(200, 145, 74, .15); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .32s ease, padding .22s ease; }
.faq-item.open .faq-a { max-height: 340px; }
.faq-a-inner { padding: 0 0 22px; font-size: 16px; line-height: 1.75; color: rgba(245, 239, 230, .75); }
.faq-a-inner strong { color: var(--cream); }

/* Manifesto */
.manifesto-strip { background: var(--ink); border: 1px solid rgba(200, 145, 74, .18); border-radius: 4px; padding: 44px 44px 40px; text-align: center; max-width: 740px; margin: 0 auto; }
.manifesto-lines { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(17px, 2.2vw, 24px); line-height: 2; color: var(--cream); }
.manifesto-lines strong { color: var(--gold-light); font-style: normal; font-weight: 600; }
.ram-badge { display: inline-block; margin-top: 28px; font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--teal); border: 1px solid rgba(27, 191, 191, .3); border-radius: 4px; padding: 6px 18px; }

/* Urgency */
.urgency-section { background: linear-gradient(160deg, #14142a 0%, #1c1c32 100%); border-top: 1px solid rgba(200, 145, 74, .2); border-bottom: 1px solid rgba(200, 145, 74, .2); }
.urgency-box { text-align: center; max-width: 700px; margin: 0 auto; }
.urgency-number { font-family: 'Playfair Display', serif; font-size: clamp(56px, 10vw, 110px); font-weight: 900; line-height: 1; background: var(--gold-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; display: block; margin-bottom: 8px; }

/* Divider */
.divider { height: 1px; background: linear-gradient(to right, transparent, rgba(200, 145, 74, .2), transparent); margin: 0; }

/* Sticky purchase bar styling lives inside partials/sticky-cta.njk (inline + scoped).
   Removed from product.css to avoid cascade conflicts with the inline partial styles. */

/* Animations */
.animate { opacity: 0; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.animate.in-view { animation: fadeUp .6s ease forwards; }
.animate-delay-1 { animation-delay: .1s !important; }
.animate-delay-2 { animation-delay: .2s !important; }
.animate-delay-3 { animation-delay: .3s !important; }

@media (max-width: 900px) {
  .hero-grid, .split { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .section { padding: 64px 0; }
  .hero { padding: 60px 0 64px; }
  .btn--large { font-size: 16px; padding: 0 28px; min-height: 58px; }
  .authority-card, .offer-box, .manifesto-strip { padding: 28px 22px; }
  .price-main { font-size: 52px; }
  .proof-bar-inner { gap: 28px; }
  .pain-grid, .pillars-grid, .outcome-grid { grid-template-columns: 1fr; }
  .value-item .value-label { display: none; }
  .btn-group { flex-direction: column; align-items: stretch; }
  .btn, .btn--large { width: 100%; }
}

/* ============================================================
   Product collection cards (used on /books/, /bundles/, /workbooks/, /products/)
   ============================================================ */
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin: 44px 0; }
.product-card { background: var(--ink); border: 1px solid rgba(245, 239, 230, .08); border-radius: 4px; padding: 28px 28px 32px; position: relative; display: flex; flex-direction: column; gap: 14px; transition: border-color .2s, transform .2s; overflow: hidden; }
.product-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--gold-grad); opacity: 0; transition: opacity .2s; }
.product-card:hover { border-color: rgba(200, 145, 74, .4); transform: translateY(-3px); }
.product-card:hover::before { opacity: 1; }

.product-card-cover { display: flex; justify-content: center; align-items: flex-end; padding: 6px 0 14px; min-height: 130px; }
.product-card-cover a { display: inline-block; position: relative; line-height: 0; }
.product-card-cover a::before {
  content: ''; position: absolute; inset: -16%; border-radius: 50%; z-index: 0;
  background: radial-gradient(circle at 50% 50%, rgba(200,145,74,0.22) 0%, rgba(138,63,114,0.12) 48%, transparent 72%);
  pointer-events: none; transition: opacity .25s;
}
.product-card-cover img {
  position: relative; z-index: 1;
  width: auto; height: auto; max-width: 130px; max-height: 180px;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.5), 0 0 22px rgba(200,145,74,0.18);
  transition: transform .25s ease;
}
.product-card:hover .product-card-cover img { transform: translateY(-2px) scale(1.03); }
.product-card-body { display: flex; flex-direction: column; gap: 14px; flex: 1; }
.product-card-kicker { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--teal); font-family: 'DM Sans', sans-serif; }
.product-card h3 { font-size: 24px; line-height: 1.2; margin: 0; color: var(--cream); }
.product-card-tagline { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 18px; color: var(--gold-light); line-height: 1.4; margin: 0; }
.product-card-description { font-size: 15px; color: rgba(245, 239, 230, .72); line-height: 1.55; margin: 0; flex-grow: 1; }
.product-card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; gap: 16px; }
.product-card-price { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: var(--gold-light); }
.product-card .btn { min-height: 44px; padding: 0 22px; font-size: 14px; }
.product-card-soon { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(245, 239, 230, .4); padding: 8px 16px; border: 1px solid rgba(245, 239, 230, .15); border-radius: 999px; }

.collection-hero { padding: 80px 0 40px; text-align: center; }
.collection-hero h1 { font-size: clamp(36px, 5.5vw, 56px); margin: 0 0 18px; }
.collection-hero h1 em { font-style: italic; color: var(--gold-light); }
.collection-hero .lead { font-size: clamp(17px, 2vw, 20px); color: rgba(245, 239, 230, .82); max-width: 640px; margin: 0 auto; line-height: 1.6; }

.collection-section { padding: 20px 0 90px; }
@media (max-width: 640px) {
  .collection-hero { padding: 56px 0 24px; }
  .product-card { padding: 24px 22px; }
  .product-card-footer { flex-direction: column; align-items: stretch; gap: 12px; }
  .product-card .btn { width: 100%; }
}

/* ============================================================
   Risk-Reversal Guarantee (partial: partials/guarantee.njk)
   ============================================================ */
.risk-reversal {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: rgba(27, 191, 191, 0.06);
  border: 1px solid rgba(27, 191, 191, 0.22);
  border-radius: 12px;
  padding: 24px 28px;
  margin: 28px auto;
  max-width: 680px;
  text-align: left;
}
.risk-reversal__icon { font-size: 30px; flex-shrink: 0; line-height: 1; }
.risk-reversal__title {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--teal);
  margin: 0 0 6px;
  letter-spacing: -0.005em;
}
.risk-reversal__copy {
  font-size: 14px;
  color: rgba(245, 239, 230, 0.7);
  line-height: 1.7;
  margin: 0;
}
.risk-reversal__copy strong { color: var(--cream); }

/* ============================================================
   Authority Pill (partial: partials/authority-pill.njk)
   ============================================================ */
.authority-pill {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 18px;
  margin: 18px auto;
  max-width: 640px;
}
.authority-pill__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--gold-light);
  background: rgba(200, 145, 74, 0.08);
  border: 1px solid rgba(200, 145, 74, 0.22);
  border-radius: 999px;
  padding: 7px 14px;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .authority-pill { gap: 8px; }
  .authority-pill__item { font-size: 0.68rem; padding: 5px 11px; }
}

/* ============================================================
   Collection ItemList — strengthen ItemList visibility
   ============================================================ */
.collection-meta {
  text-align: center;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245, 239, 230, 0.55);
  margin-bottom: 20px;
}

/* ============================================================
   PEACE shared components (partials/peace-*.njk)
   Universal styles, namespaced under .peace-*
   ============================================================ */
.peace-container { max-width: 860px; margin: 0 auto; padding: 0 24px; }
.peace-eyebrow { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 14px; }
.peace-eyebrow--coral { color: var(--coral); }
.peace-eyebrow--teal { color: var(--teal); }
.peace-eyebrow--gold { color: var(--gold-light); }
.peace-rule { width: 52px; height: 2px; border-radius: 2px; margin: 4px 0 22px; }
.peace-rule--coral { background: linear-gradient(90deg, var(--coral), var(--gold-light)); }
.peace-rule--teal { background: linear-gradient(90deg, var(--teal), var(--gold)); }
.peace-question { font-family: 'Playfair Display', serif; font-size: clamp(28px, 4.2vw, 48px); font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; color: var(--cream); margin: 0 0 14px; max-width: 760px; }
.peace-question--centered { margin-left: auto; margin-right: auto; text-align: center; }
.peace-question em { font-style: italic; color: var(--gold-light); }
.peace-lead { font-size: 17px; color: rgba(245, 239, 230, .78); line-height: 1.85; margin: 0 0 22px; max-width: 720px; }
.peace-lead--centered { margin: 0 auto 22px; text-align: center; }
.peace-lead strong { color: var(--cream); }
.peace-mic-drop { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(19px, 2.3vw, 24px); color: var(--gold-light); text-align: center; margin: 44px auto 0; max-width: 620px; line-height: 1.5; }
.peace-mic-drop em { color: var(--cream); }

/* Empathy bridge — force-centered to win any cascade conflict */
.peace-empathy { background: #0F0F22; padding: 88px 0; border-top: 1px solid rgba(217, 107, 107, .18); border-bottom: 1px solid rgba(217, 107, 107, .18); }
.peace-empathy .peace-container { text-align: center; }
.peace-empathy__inner { max-width: 760px !important; margin: 0 auto !important; text-align: center !important; }
.peace-empathy .peace-eyebrow { display: inline-block; }
.peace-empathy .peace-rule { margin-left: auto !important; margin-right: auto !important; }
.peace-empathy .peace-question { max-width: 720px !important; margin: 0 auto 14px !important; text-align: center !important; }
.peace-empathy .peace-lead { max-width: 680px !important; margin: 0 auto 22px !important; text-align: center !important; }
.peace-bind { background: rgba(217, 107, 107, .06); border-left: 3px solid var(--coral); padding: 22px 28px; max-width: 680px !important; margin: 28px auto !important; border-radius: 0 8px 8px 0; text-align: left !important; }
.peace-bind p { font-size: 16px; color: var(--cream); line-height: 1.85; margin: 0; max-width: 100% !important; text-align: left !important; }
.peace-bind p em { color: var(--gold-light); font-style: italic; }
.peace-close { font-size: 16px !important; color: rgba(245, 239, 230, .78); line-height: 1.85; margin: 22px auto 0 !important; max-width: 660px !important; text-align: center !important; }
.peace-close strong { color: var(--cream); }

/* Comparison grid */
.peace-compare { background: #14142A; padding: 88px 0; border-top: 1px solid rgba(27, 191, 191, .16); border-bottom: 1px solid rgba(27, 191, 191, .16); }
.peace-compare__head { text-align: center; margin-bottom: 32px; }
.peace-compare__grid { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 760px; margin: 0 auto; }
.peace-compare__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; padding: 18px 20px; background: var(--card); border: 1px solid rgba(255, 255, 255, .05); border-radius: 8px; align-items: center; }
.peace-compare__row--head { background: transparent; border: none; padding: 6px 20px 4px; }
.peace-compare__cell { font-size: 14px; color: rgba(245, 239, 230, .72); line-height: 1.55; }
.peace-compare__cell--label { font-weight: 600; color: var(--cream); }
.peace-compare__cell--this { color: var(--gold-light); font-weight: 500; }
.peace-compare__cell--head { font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 239, 230, .55); }
.peace-compare__cell--this-head { color: var(--gold) !important; }
@media (max-width: 640px) {
  .peace-compare__row { grid-template-columns: 1fr; gap: 6px; padding: 14px 16px; }
  .peace-compare__row--head { display: none; }
  .peace-compare__cell--this::before { content: 'This → '; color: var(--gold); font-weight: 700; }
}
