/* V25 extends the existing green / gold brand and preserves the complete catalog. */
.v25-section { font-size: 1rem; }
.v25-section .eyebrow, .v25-section label, .v25-note, .v25-section figcaption,
.v25-section .field-help, .v25-section .form-note { font-size: .875rem; }
.v25-section h2 { max-width: 900px; }
.v25-soft { background: #eef3ef; }
.v25-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.v25-route-grid article { display:flex; flex-direction:column; align-items:flex-start; padding:24px 0 0; border-top:2px solid var(--gold); min-width:0; }
.v25-route-grid article > span, .v25-package-list article > span { color:#73502a; font-size:.875rem; font-weight:800; margin-bottom:10px; }
.v25-route-grid .text-link { margin-top:auto; }
.v25-craft-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.v25-craft-grid figure { margin:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:white; }
.v25-craft-grid img { width:100%; height:auto; object-fit:contain; }
.v25-craft-grid figcaption { padding:22px; font-size:1rem; }
.v25-package-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.v25-package-layout figure { margin:0; }
.v25-package-layout img { border-radius:14px; width:100%; }
.v25-package-layout figcaption { color:#595d57; margin-top:12px; }
.v25-package-list article { padding:20px 0; border-bottom:1px solid var(--line); }
.v25-package-list article:first-child { padding-top:0; }
.v25-package-list a, .v25-price-table a { font-weight:750; text-decoration:underline; text-underline-offset:4px; color:#24463a; }
.v25-budget-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; gap:36px; }
.v25-price-table { border:1px solid var(--line); border-radius:14px; background:#fff; }
.v25-price-table table { min-width:0; width:100%; font-size:1rem; border-collapse:collapse; }
.v25-price-table caption { text-align:left; padding:16px; font-size:.875rem; font-weight:750; color:#365042; }
.v25-price-table th,.v25-price-table td { padding:15px 16px; text-align:left; }
.v25-price-table th { font-size:1rem; text-transform:none; letter-spacing:0; }
.v25-price-table thead th { background:#173f32; color:#fff; }
.v25-price-table::before { display:none; }
.v25-price-table tbody th { background:transparent; color:var(--ink); white-space:nowrap; }
.v25-price-table td:nth-child(2) { font-variant-numeric:tabular-nums; font-weight:750; white-space:nowrap; }
.v25-note { line-height:1.65; color:#4b554d; margin-top:22px; }
.v25-spec h3 { font-size:1.5rem; }
.v25-service-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.v25-service-grid li { min-width:0; border-top:2px solid var(--gold); padding-top:18px; }
.v25-service-grid span { display:block; font-size:.875rem; font-weight:800; color:#526052; }
.v25-service-grid strong { display:block; font-size:1.5rem; color:#24463a; margin-top:10px; line-height:1.25; }
.v25-service-grid p { margin-bottom:0; }
.v25-inline-actions { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:20px; }
.v25-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.v25-example { margin-top:28px; padding:24px; background:#eef3ef; border-left:3px solid var(--gold); }
.v25-example p:last-child { margin-bottom:0; }
.v25-home-quote { align-items:start; }
.v25-home-quote > div { min-width:0; }
.v25-home-quote .quote-form { min-width:0; }
.v25-more-products { margin-top:24px; }
.v25-more-products > summary { cursor:pointer; font-size:1rem; font-weight:750; color:#24463a; padding:16px 0; border-block:1px solid var(--line); }
.v25-more-products[open] > summary { margin-bottom:24px; }
.v25-section .btn, .quote-form .btn { white-space:normal; text-align:center; }
.v25-section .quote-actions { flex-wrap:wrap; }
.v25-section .quote-optional-details { min-width:0; }
.quote-form .field label,.quote-form .field-help,.quote-form .form-note,
.quote-form .quote-optional-details summary { font-size:.875rem; }
.v24-home .showcase-product-copy span,.v24-home .showcase-product-copy small { font-size:.875rem; }
#medal-pricing,#service-timeline,#service-targets,#reference-pricing,#process-comparison,#choose-project { scroll-margin-top:110px; }
@media(max-width:980px) {
  .v25-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v25-budget-grid,.v25-home-quote { grid-template-columns:1fr; }
  .v25-craft-grid { gap:16px; }
  .v25-craft-grid figcaption { padding:18px; }
}
@media(max-width:820px) {
  .v25-route-grid,.v25-package-layout,.v25-summary-grid { grid-template-columns:1fr; }
  .v25-craft-grid { grid-template-columns:1fr; }
  .v25-craft-grid figure { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
  .v25-package-layout { gap:24px; }
}
@media(max-width:560px) {
  .v25-service-grid { grid-template-columns:1fr; }
  .v25-craft-grid figure { display:block; }
  .v25-price-table th,.v25-price-table td { padding:12px 8px; font-size:.875rem; }
  .v25-price-table a { display:inline-block; padding:6px 0; }
  .v25-section .quote-form { padding:20px; }
  .v25-section .quote-actions { flex-direction:column; align-items:stretch; }
  .v25-home-quote a { overflow-wrap:anywhere; }
  .v25-more-products > summary { line-height:1.55; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
