.plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.plan-card { border: 2px solid var(--border); border-radius: var(--radius-lg); padding: 36px; position: relative; transition: border-color .2s; }
.plan-card:hover { border-color: var(--sky); }
.plan-featured { border-color: var(--sky); background: linear-gradient(160deg, #f0f9ff 0%, #ffffff 60%); }
.plan-popular-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--sky); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 4px 18px; border-radius: 99px; white-space: nowrap; }
.plan-name { font-family: var(--font-display); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--slate); margin-bottom: 8px; }
.plan-price { font-family: var(--font-display); font-size: 56px; font-weight: 800; color: var(--navy); line-height: 1; margin-bottom: 12px; }
.plan-price sup { font-size: 24px; vertical-align: top; margin-top: 12px; display: inline-block; }
.plan-price sub { font-size: 18px; color: var(--slate); font-weight: 400; }
.plan-tagline { font-size: 14px; color: var(--slate); line-height: 1.6; margin-bottom: 24px; font-weight: 300; }
.plan-header { margin-bottom: 24px; }
.plan-features { margin-top: 28px; display: flex; flex-direction: column; gap: 0; }
.plan-section-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--slate-light); margin: 20px 0 8px; }
.plan-section-label:first-child { margin-top: 0; }
.plan-feature { font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 10px; }
.plan-feature::before { width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; flex-shrink: 0; font-weight: 700; }
.plan-feature.yes { color: var(--navy-mid); }
.plan-feature.yes::before { content: '✓'; background: #dcfce7; color: var(--green); }
.plan-feature.no { color: var(--slate-light); }
.plan-feature.no::before { content: '–'; background: var(--off-white); color: var(--slate-light); }

.faq-section { margin-top: 80px; padding-top: 64px; border-top: 1px solid var(--border); }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 48px; }
.faq-item h4 { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.faq-item p { font-size: 15px; color: var(--slate); line-height: 1.7; font-weight: 300; }

@media (max-width: 900px) { .plans-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; } }
@media (max-width: 640px) { .faq-grid { grid-template-columns: 1fr; } }

/* Single price card */
.main-price-wrap { max-width:860px; margin:0 auto 64px; }
.main-price-card { border:2px solid var(--sky); border-radius:var(--radius-lg); overflow:hidden; }
.mp-header { display:flex; justify-content:space-between; align-items:flex-start; background:linear-gradient(135deg,#0c4a6e,var(--navy)); padding:40px; gap:32px; flex-wrap:wrap; }
.mp-name { font-family:var(--font-display); font-size:28px; font-weight:800; color:var(--white); }
.mp-tagline { font-size:13px; color:rgba(255,255,255,.55); font-style:italic; margin-top:4px; }
.mp-price { font-family:var(--font-display); font-size:64px; font-weight:800; color:var(--white); line-height:1; text-align:right; }
.mp-price sup { font-size:24px; vertical-align:top; margin-top:12px; display:inline-block; }
.mp-price sub { font-size:20px; color:rgba(255,255,255,.6); font-weight:400; }
.mp-alt { text-align:right; font-size:14px; color:rgba(255,255,255,.65); margin-top:6px; }
.mp-alt strong { color:var(--sky-light); }
.mp-saving { text-align:right; font-size:13px; color:#fbbf24; margin-top:4px; font-weight:600; }
.mp-body { display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--white); }
.mp-col { padding:36px 40px; }
.mp-col:first-child { border-right:1px solid var(--border); }
.mp-section-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--slate-light); margin-bottom:16px; }
.mp-feat { font-size:14px; color:var(--navy-mid); padding:7px 0; border-bottom:0.5px solid var(--border); }
.mp-feat:last-child { border-bottom:none; }
.mp-footer { background:var(--off-white); padding:36px 40px; text-align:center; border-top:1px solid var(--border); }
.mp-foot-note { font-size:13px; color:var(--slate); margin-top:16px; line-height:1.6; font-style:italic; }

/* Price photo row */
.price-photo-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:64px 0; border-top:1px solid var(--border); margin-top:16px; }
.ppw-img img { width:100%; height:340px; object-fit:cover; border-radius:var(--radius-lg); }
.ppw-text h3 { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--navy); margin-bottom:16px; line-height:1.4; font-style:italic; }
.ppw-text p { font-size:15px; color:var(--slate); line-height:1.8; margin-bottom:14px; font-weight:300; }

/* Cattle CTA */
.cattle-cta { position:relative; height:380px; overflow:hidden; }
.cattle-cta-img { position:absolute; inset:0; }
.cattle-cta-img img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.cattle-cta-overlay { position:absolute; inset:0; background:rgba(15,23,42,.65); display:flex; align-items:center; }

@media (max-width:860px) {
  .mp-body { grid-template-columns:1fr; }
  .mp-col:first-child { border-right:none; border-bottom:1px solid var(--border); }
  .mp-header { flex-direction:column; }
  .mp-price, .mp-alt, .mp-saving { text-align:left; }
  .price-photo-row { grid-template-columns:1fr; }
  .ppw-img img { height:240px; }
}
