/* Pricing-only styles: retain the shared editorial type and olive/sage palette. */
.pricing-hero { padding-block: 64px 26px; }
.pricing-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: end; }
.pricing-intro h1 { font-size: clamp(42px, 4.8vw, 66px); }
.pricing-intro > div { max-width: 510px; padding-bottom: 4px; }
.pricing-intro p { font-size: 16px; line-height: 1.8; margin-bottom: 15px; }
.pricing-availability { font-size: 12px; margin-top: 30px; border-top: 1px solid var(--line); padding-top: 17px; }
.pricing-currency { font-size: 11px; text-align: right; margin-bottom: 12px; }
.plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #d0d5c8; border-radius: 8px; overflow: hidden; background: var(--white); }
.plan-card { padding: 29px; min-width: 0; display: flex; flex-direction: column; }
.plan-card + .plan-card { border-left: 1px solid #d0d5c8; }
.plan-card--featured { background: #e9eddf; }
.plan-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 29px; }
.plan-heading h2 { font-family: var(--sans); font-size: 17px; font-weight: 600; letter-spacing: 0; }
.plan-badge { border-radius: 3px; background: var(--olive); color: #fff; font-size: 10px; padding: 4px 9px; }
.plan-description { font-size: 12px; margin-top: 8px; min-height: 40px; }
.plan-price { display: flex; align-items: baseline; gap: 8px; margin: 11px 0 0; color: var(--ink); }
.plan-price strong { font-family: var(--serif); font-size: 56px; line-height: 1.1; font-weight: 400; letter-spacing: -.045em; }
.plan-price > span { font-size: 12px; color: var(--muted); }
.plan-tagline { font-size: 12px; margin: 9px 0 24px; }
.plan-orders { display: grid; gap: 3px; border-top: 1px solid #cfd5c6; padding-top: 20px; font-size: 12px; }
.plan-orders strong { font-size: 16px; font-weight: 600; }
.plan-orders > span { color: #555f4e; }
.plan-orders .plan-allowance-note, .plan-orders > a { font-size: 11px; margin-top: 6px; }
.plan-orders > a { text-decoration: underline; text-underline-offset: 3px; }
.plan-images { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 14px; border: 1px solid #e0d9e4; border-radius: 4px; background: #f6f2f7; color: #594663; }
.plan-images strong, .plan-images span { display: block; }
.plan-images strong { font-size: 13px; font-weight: 600; }
.plan-images span { font-size: 11px; margin-top: 2px; }
.plan-includes { list-style: none; padding: 19px 0 23px; display: grid; gap: 7px; font-size: 12px; }
.plan-includes li { display: flex; gap: 9px; align-items: center; }
.plan-includes .icon { width: 14px; height: 14px; color: #657957; }
.plan-card .button { width: 100%; justify-content: space-between; margin-top: auto; }
.pricing-footnotes { padding-top: 15px; font-size: 11px; }
.pricing-footnotes p + p { margin-top: 3px; }
.pricing-included { padding-block: 62px; }
.pricing-section-heading .eyebrow { margin-bottom: 14px; }
.pricing-section-heading h2 { font-size: clamp(30px, 3vw, 42px); }
.pricing-section-heading > p { margin-top: 17px; font-size: 14px; max-width: 670px; }
.pricing-feature-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.pricing-feature-grid > a { padding-top: 20px; border-top: 1px solid #cfd5c6; }
.pricing-feature-grid > a > .icon { color: #6a7a5e; margin-bottom: 15px; }
.pricing-feature-grid h3 { font-size: 15px; font-family: var(--sans); font-weight: 500; letter-spacing: 0; line-height: 1.4; }
.pricing-feature-grid p { font-size: 12px; margin-top: 9px; }
.pricing-feature-grid span { display: flex; align-items: center; gap: 9px; font-size: 11px; margin-top: 13px; }
.pricing-feature-grid span .icon { width: 14px; height: 14px; }
.pricing-feature-grid a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.pricing-estimator { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; padding: 35px; background: #e9ecdf; border: 1px solid #d5dbcb; border-radius: 7px; scroll-margin-top: 100px; }
.estimate-inputs .eyebrow { margin-bottom: 14px; }
.estimate-inputs h2 { font-size: 42px; }
.estimate-inputs > p { margin-top: 17px; font-size: 13px; max-width: 42ch; }
.estimate-controls { margin-top: 25px; }
.estimate-controls label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.estimate-controls input { width: 100%; border: 1px solid #8e9b82; border-radius: 4px; padding: 10px 14px; font-size: 22px; color: var(--ink); background: var(--white); }
.estimate-controls #orders-help { font-size: 11px; margin-top: 7px; }
.estimate-presets { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.estimate-presets button { min-height: 36px; padding: 5px 12px; font-size: 12px; border: 1px solid #a7b29c; background: transparent; border-radius: 3px; }
.estimate-presets button[aria-pressed="true"] { background: var(--olive); color: #fff; border-color: var(--olive); }
.estimate-presets button:hover { border-color: var(--olive); }
.pricing-error { font-size: 12px; color: #922f26; margin-top: 12px; }
.estimate-controls input[aria-invalid="true"] { border-color: #922f26; }
.estimate-results { align-self: start; background: #fffefa; border: 1px solid #d1d9c8; padding: 24px; border-radius: 5px; }
.estimate-label { font-size: 12px; }
.estimate-plan-list { margin-top: 16px; }
.estimate-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 12px; border-top: 1px solid var(--line); }
.estimate-row.is-best-value { background: #eef1e7; }
.estimate-row h3 { font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.6; letter-spacing: 0; }
.estimate-row h3 span { font-weight: 400; font-size: 10px; display: inline-block; margin-left: 9px; color: #466038; }
.estimate-row p { font-size: 11px; margin-top: 4px; }
.estimate-row > strong { font-size: 25px; font-family: var(--serif); font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.estimate-summary { font-size: 12px; margin-top: 15px; color: var(--olive); }
.estimate-results > .small-note { font-size: 11px; margin-top: 9px; }
.pricing-volume { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; padding-block: 68px; scroll-margin-top: 100px; }
.volume-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.volume-table caption { text-align: left; font-size: 11px; color: var(--muted); margin-bottom: 13px; }
.volume-table th, .volume-table td { padding: 13px 0; border-bottom: 1px solid var(--line); font-weight: 400; text-align: left; }
.volume-table thead th { font-size: 11px; color: var(--muted); }
.volume-table tr > :last-child { text-align: right; }
.volume-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 22px 0 14px; }
.volume-examples > div { border-left: 2px solid #aab599; padding-left: 12px; }
.volume-examples span { display: block; font-size: 11px; color: var(--muted); }
.volume-examples strong { display: inline-block; font: 400 26px/1.5 var(--serif); }
.volume-examples small { display: block; font-size: 10px; color: var(--muted); }
.volume-detail > .small-note { font-size: 11px; }
.pricing-ai { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; padding: 35px; background: var(--lavender); border: 1px solid #e0d9e4; border-radius: 7px; }
.pricing-ai > div > .icon { color: var(--plum); margin-bottom: 14px; }
.pricing-ai .eyebrow { color: #66516f; margin-bottom: 14px; }
.pricing-ai h2 { font-size: 39px; }
.pricing-ai p { font-size: 13px; margin-bottom: 15px; }
.pricing-custom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 38px; border-bottom: 1px solid var(--line); }
.pricing-custom h2 { font-size: 29px; }
.pricing-custom p { font-size: 13px; margin-top: 10px; }
.pricing-custom .button { flex-shrink: 0; }
.pricing-faq { padding-block: 64px 90px; }
@media (max-width: 1000px) {
  .plan-card { padding: 22px 18px; }
  .plan-heading { flex-wrap: wrap; min-height: 56px; align-content: start; }
  .plan-description { min-height: 60px; }
  .plan-orders { min-height: 118px; align-content: start; }
  .plan-images { padding: 11px; gap: 8px; min-height: 85px; }
  .pricing-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-estimator, .pricing-volume, .pricing-ai { gap: 28px; }
  .estimate-row h3 span { margin-left: 0; display: block; }
}
@media (max-width: 740px) {
  .pricing-hero { padding-top: 38px; }
  .pricing-intro, .pricing-estimator, .pricing-volume, .pricing-ai { grid-template-columns: 1fr; }
  .pricing-intro { gap: 22px; }
  .pricing-intro h1 { font-size: 46px; }
  .pricing-intro p { font-size: 14px; }
  .pricing-availability { margin-top: 22px; }
  .pricing-currency { text-align: left; font-size: 10px; }
  .plan-grid { grid-template-columns: 1fr; }
  .plan-card { padding: 25px; }
  .plan-card + .plan-card { border-left: 0; border-top: 1px solid #d0d5c8; }
  .plan-heading, .plan-description, .plan-orders, .plan-images { min-height: 0; }
  .plan-heading { align-items: center; }
  .plan-price { margin-top: 23px; }
  .plan-orders { gap: 3px; }
  .plan-images { padding: 14px; }
  .pricing-included, .pricing-volume { padding-block: 45px; }
  .pricing-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .pricing-estimator, .pricing-ai { padding: 24px; }
  .estimate-results { padding: 17px; }
  .estimate-row { padding-inline: 5px; }
  .estimate-row > strong { font-size: 23px; }
  .pricing-custom { align-items: start; flex-direction: column; gap: 20px; }
  .pricing-faq { padding-block: 45px 60px; }
}
@media (max-width: 380px) {
  .plan-card, .pricing-estimator, .pricing-ai { padding: 19px; }
  .estimate-results { padding: 12px; }
  .estimate-presets button { padding-inline: 9px; }
  .volume-examples { gap: 6px; }
  .volume-examples > div { padding-left: 7px; }
  .volume-examples span { font-size: 10px; }
  .volume-examples strong { font-size: 23px; }
}
