/* Alfa Core A2.58 - Prices V2. Scoped editorial owner; Golden Master is Homepage V2. */
.alfa-prices-v2 {
  --ap-green: #0f281d;
  --ap-green-light: #1b4633;
  --ap-lime: #9fcb47;
  --ap-text: #132d22;
  --ap-muted: #596960;
  --ap-line: #e3eae1;
  --ap-soft: #f4f8f2;
  position: relative;
  width: 100%;
  max-width: none;
  overflow: clip;
  color: var(--ap-text);
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
.alfa-prices-v2, .alfa-prices-v2 * { box-sizing: border-box; }
.alfa-prices-v2 :where(h1,h2,h3,p,figure,ul) { margin: 0; }
.alfa-prices-v2 :where(h1,h2,h3) { font-family: inherit; letter-spacing: -.025em; }
.alfa-prices-v2 :where(p,li) { font-size: 16px; line-height: 1.56; }
.alfa-prices-v2 a { text-decoration: none; }
.alfa-prices-v2 :where(a,button):focus-visible { outline: 3px solid var(--ap-lime); outline-offset: 3px; }
.alfa-prices-v2 .ap-shell { width: min(1500px, calc(100% - 48px)); margin-inline: auto; }
.alfa-prices-v2 .ap-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom: 14px; color:#348352; text-transform:uppercase; font-size:12px; letter-spacing:.12em; font-weight:800; }
.alfa-prices-v2 .ap-eyebrow::before { content:""; display:block; width:24px; height:3px; background:var(--ap-lime); border-radius:2px; }
.alfa-prices-v2 .ap-section { padding-block: 42px; }
.alfa-prices-v2 h2 { font-size:26px; line-height:1.22; font-weight:800; color:var(--ap-text); }
.alfa-prices-v2 h3 { font-size:18px; line-height:1.35; font-weight:800; }
.alfa-prices-v2 .ap-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:11px 21px; border:1px solid transparent; border-radius:6px; font-size:14px; font-weight:800; line-height:1.25; box-shadow:none; transition:background-color .2s,color .2s,border-color .2s; }
.alfa-prices-v2 .ap-button svg { flex:0 0 18px; width:18px; height:18px; }
.alfa-prices-v2 .ap-button--primary { background:var(--ap-lime); border-color:var(--ap-lime); color:var(--ap-green); }
.alfa-prices-v2 .ap-button--primary:hover { background:#b4df60; border-color:#b4df60; color:var(--ap-green); }
.alfa-prices-v2 .ap-button--outline { background:transparent; border-color:#7eae81; color:var(--ap-green-light); }
.alfa-prices-v2 .ap-button--outline:hover { background:var(--ap-green); color:#fff; border-color:var(--ap-green); }
.alfa-prices-v2 .ap-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:23px; }

/* Hero with original Alfa photo, shared 1500px content width and small trust detail. */
.alfa-prices-v2 .ap-hero { position:relative; background:linear-gradient(112deg, #f6faf3 0%, #eff7ee 100%); padding-block:50px 50px; }
.alfa-prices-v2 .ap-hero::before { content:""; position:absolute; left:-160px; bottom:-185px; width:350px; height:350px; border:70px solid rgba(159,203,71,.095); border-radius:50%; pointer-events:none; }
.alfa-prices-v2 .ap-hero-grid { display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); align-items:center; gap:clamp(28px,4vw,76px); }
.alfa-prices-v2 .ap-hero-content { position:relative; z-index:1; padding-block:12px; }
.alfa-prices-v2 .ap-hero h1 { max-width:660px; font-size:clamp(34px,3.5vw,52px); line-height:1.13; font-weight:850; color:var(--ap-green); }
.alfa-prices-v2 .ap-hero h1 em { font-style:normal; color:#2c965b; }
.alfa-prices-v2 .ap-hero .ap-lead { max-width:670px; font-size:17px; line-height:1.65; color:#455a50; margin-top:19px; }
.alfa-prices-v2 .ap-hero-caption { display:flex; align-items:center; gap:10px; color:#487052; margin-top:23px; font-size:12px; font-weight:750; }
.alfa-prices-v2 .ap-hero-caption span { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#79b540; }
.alfa-prices-v2 .ap-hero-photo { position:relative; height:clamp(315px,31vw,465px); border-radius:12px; overflow:hidden; box-shadow:0 24px 50px rgba(14,51,32,.10); }
.alfa-prices-v2 .ap-hero-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top,rgba(10,36,24,.24),transparent 48%); }
.alfa-prices-v2 .ap-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.alfa-prices-v2 .ap-hero-photo figcaption { position:absolute; z-index:1; bottom:18px; right:18px; display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; min-width:196px; padding:14px 16px; border-radius:9px; background:rgba(255,255,255,.96); color:var(--ap-green); box-shadow:0 10px 25px rgba(4,32,12,.15); }
.alfa-prices-v2 .ap-hero-photo figcaption span { grid-row:span 2; font-size:36px; font-weight:850; line-height:1; color:#25844c; }
.alfa-prices-v2 .ap-hero-photo figcaption strong { font-size:13px; line-height:1.2; }
.alfa-prices-v2 .ap-hero-photo figcaption small { font-size:12px; color:var(--ap-muted); line-height:1.3; }

/* Price cards: no inappropriate fabricated discounts or fixed-price guarantees. */
.alfa-prices-v2 .ap-heading { margin-bottom:25px; }
.alfa-prices-v2 .ap-heading--split { display:grid; grid-template-columns:1fr minmax(0,.84fr); align-items:end; gap:40px; }
.alfa-prices-v2 .ap-heading--split>p { max-width:570px; color:var(--ap-muted); }
.alfa-prices-v2 .ap-heading--center { text-align:center; max-width:830px; margin:0 auto 30px; }
.alfa-prices-v2 .ap-heading--center .ap-eyebrow { justify-content:center; }
.alfa-prices-v2 .ap-heading--center>p:last-child { color:var(--ap-muted); margin-top:11px; }
.alfa-prices-v2 .ap-price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.alfa-prices-v2 .ap-price-card { min-width:0; min-height:202px; display:flex; flex-direction:column; padding:23px 23px 20px; border:1px solid var(--ap-line); border-top:3px solid var(--ap-lime); border-radius:9px; background:#fff; box-shadow:0 7px 25px rgba(23,51,32,.035); transition:box-shadow .18s,border-color .18s; }
.alfa-prices-v2 .ap-price-card:hover { box-shadow:0 12px 30px rgba(23,51,32,.09); border-color:#d1decf; border-top-color:var(--ap-lime); }
.alfa-prices-v2 .ap-price-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:13px; }
.alfa-prices-v2 .ap-icon { display:grid; place-items:center; width:43px; height:43px; flex:0 0 43px; border-radius:50%; background:#eef7e7; color:#2e7f49; }
.alfa-prices-v2 .ap-icon svg { display:block; width:24px; height:24px; }
.alfa-prices-v2 .ap-price-category { text-transform:uppercase; font-size:10px; letter-spacing:.07em; font-weight:800; color:#668270; }
.alfa-prices-v2 .ap-price-card h3 { flex:1; font-size:17px; line-height:1.36; min-height:48px; }
.alfa-prices-v2 .ap-price-value { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; margin-top:17px; color:var(--ap-green); }
.alfa-prices-v2 .ap-price-value strong { font-weight:850; font-size:26px; letter-spacing:-.04em; white-space:nowrap; }
.alfa-prices-v2 .ap-price-value span { font-weight:750; font-size:13px; white-space:nowrap; }
.alfa-prices-v2 .ap-price-note { display:flex; align-items:flex-start; gap:13px; margin-top:23px; padding:17px 20px; border-radius:6px; background:var(--ap-soft); }
.alfa-prices-v2 .ap-price-note p { color:#4a5c51; font-size:14px; }
.alfa-prices-v2 .ap-price-note strong { color:var(--ap-green); }
.alfa-prices-v2 .ap-price-note-icon { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:50%; background:var(--ap-lime); font-size:16px; font-weight:850; font-style:normal; color:var(--ap-green); }

/* Dark service-inclusion band with existing original Alfa media. */
.alfa-prices-v2 .ap-included { background:var(--ap-green); color:#fff; }
.alfa-prices-v2 .ap-included-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:clamp(25px,5vw,70px); }
.alfa-prices-v2 .ap-included .ap-eyebrow { color:#b5d881; }
.alfa-prices-v2 .ap-included h2 { color:#fff; max-width:680px; }
.alfa-prices-v2 .ap-included-copy>p:not(.ap-eyebrow) { color:#d2e1d6; max-width:620px; margin-top:13px; }
.alfa-prices-v2 .ap-check-list { list-style:none; margin-top:18px; padding:0; }
.alfa-prices-v2 .ap-check-list li { display:flex; align-items:flex-start; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.11); color:#f5fbf2; }
.alfa-prices-v2 .ap-check-list li:last-child { border:0; }
.alfa-prices-v2 .ap-check { display:grid; place-items:center; flex:0 0 24px; height:24px; margin-top:1px; border-radius:50%; background:var(--ap-lime); color:var(--ap-green); }
.alfa-prices-v2 .ap-check svg { width:15px; height:15px; }
.alfa-prices-v2 .ap-included-photo { position:relative; height:365px; border-radius:10px; overflow:hidden; }
.alfa-prices-v2 .ap-included-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.alfa-prices-v2 .ap-included-photo figcaption { position:absolute; bottom:18px; left:18px; padding:10px 15px; border-radius:6px; background:#fff; color:var(--ap-green); font-size:12px; font-weight:800; }

/* Four factual pricing factors, numbered like the Master Process style. */
.alfa-prices-v2 .ap-factor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.alfa-prices-v2 .ap-factor { position:relative; min-width:0; padding-top:20px; border-top:2px solid #d7e8d5; }
.alfa-prices-v2 .ap-factor-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:19px; border-radius:50%; background:#eef6e8; color:#2c844d; }
.alfa-prices-v2 .ap-factor-icon svg { width:25px; height:25px; }
.alfa-prices-v2 .ap-factor-count { position:absolute; top:18px; right:4px; font-size:16px; font-weight:850; color:#a8c887; }
.alfa-prices-v2 .ap-factor h3 { font-size:17px; margin-bottom:8px; }
.alfa-prices-v2 .ap-factor p { color:var(--ap-muted); font-size:14px; }
.alfa-prices-v2 .ap-explain { display:flex; align-items:center; gap:19px; max-width:1020px; margin:33px auto 0; padding:19px 25px; background:#f0f6ec; border-radius:9px; }
.alfa-prices-v2 .ap-explain-symbol { display:grid; place-items:center; width:59px; height:59px; flex:0 0 59px; border-radius:50%; color:var(--ap-green); background:#d5eabb; font-size:22px; font-weight:850; }
.alfa-prices-v2 .ap-explain h3 { font-size:17px; margin-bottom:5px; }
.alfa-prices-v2 .ap-explain p { font-size:14px; color:#52675b; }

/* Final content CTA remains editorial and is not a duplicate Bottom CTA module. */
.alfa-prices-v2 .ap-quote { background:var(--ap-soft); }
.alfa-prices-v2 .ap-quote-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr); align-items:center; gap:clamp(22px,5vw,70px); }
.alfa-prices-v2 .ap-quote-grid>div:first-child>p:not(.ap-eyebrow) { max-width:740px; color:var(--ap-muted); margin-top:13px; }
.alfa-prices-v2 .ap-quote-points { list-style:none; padding:0; margin-top:16px; }
.alfa-prices-v2 .ap-quote-points li { display:flex; align-items:center; gap:12px; padding:7px 0; font-size:15px; color:var(--ap-green); font-weight:700; }
.alfa-prices-v2 .ap-quote-points span { font-size:12px; color:#5d984f; font-weight:850; }
.alfa-prices-v2 .ap-quote-side { padding:23px 27px; border-radius:9px; background:#fff; border-left:4px solid var(--ap-lime); }
.alfa-prices-v2 .ap-quote-side h3 { font-size:17px; margin-bottom:10px; }
.alfa-prices-v2 .ap-quote-side p { color:var(--ap-muted); font-size:14px; line-height:1.55; margin-top:9px; }

@media (max-width: 1199px) {
  .alfa-prices-v2 .ap-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .alfa-prices-v2 .ap-factor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .alfa-prices-v2 .ap-hero-grid { gap:30px; }
  .alfa-prices-v2 .ap-hero h1 { font-size:clamp(33px,3.4vw,46px); }
}
@media (max-width: 767px) {
  .alfa-prices-v2 .ap-shell { width:calc(100% - 32px); }
  .alfa-prices-v2 .ap-section { padding-block:35px; }
  .alfa-prices-v2 .ap-hero { padding-block:29px 32px; }
  .alfa-prices-v2 .ap-hero-grid, .alfa-prices-v2 .ap-included-grid, .alfa-prices-v2 .ap-quote-grid, .alfa-prices-v2 .ap-heading--split { grid-template-columns:1fr; }
  .alfa-prices-v2 .ap-hero h1 { font-size:34px; }
  .alfa-prices-v2 .ap-hero .ap-lead { font-size:16px; margin-top:14px; }
  .alfa-prices-v2 .ap-hero-photo { height:280px; }
  .alfa-prices-v2 .ap-hero-photo figcaption { right:10px; bottom:10px; padding:10px 12px; }
  .alfa-prices-v2 .ap-heading--split { gap:10px; }
  .alfa-prices-v2 .ap-price-grid { gap:11px; }
  .alfa-prices-v2 .ap-price-card { min-height:184px; padding:17px; }
  .alfa-prices-v2 .ap-price-card h3 { font-size:16px; }
  .alfa-prices-v2 .ap-price-value strong { font-size:24px; }
  .alfa-prices-v2 .ap-included-photo { height:260px; }
  .alfa-prices-v2 .ap-factor-grid { gap:17px; }
  .alfa-prices-v2 .ap-quote-grid { gap:22px; }
  .alfa-prices-v2 h2 { font-size:26px; }
  .alfa-prices-v2 .ap-actions { gap:9px; }
}
@media (max-width: 560px) {
  .alfa-prices-v2 .ap-price-grid, .alfa-prices-v2 .ap-factor-grid { grid-template-columns:1fr; }
  .alfa-prices-v2 .ap-price-card { min-height:155px; padding:17px 19px; }
  .alfa-prices-v2 .ap-price-card h3 { min-height:0; }
  .alfa-prices-v2 .ap-actions .ap-button { flex:1 1 100%; }
  .alfa-prices-v2 .ap-price-note { padding:15px; }
  .alfa-prices-v2 .ap-explain { padding:16px; align-items:flex-start; }
  .alfa-prices-v2 .ap-explain-symbol { width:44px; height:44px; flex-basis:44px; font-size:18px; }
  .alfa-prices-v2 .ap-quote-side { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .alfa-prices-v2 .ap-button, .alfa-prices-v2 .ap-price-card { transition:none; }
}
