.ppa-page { background: #fff; }
.ppa-hero { position: relative; min-height: clamp(43rem,78vh,56rem); display: flex; align-items: center; overflow: hidden; background: #eef6fa; }
.ppa-hero__image, .ppa-hero__image::after { position: absolute; inset: 0; }
.ppa-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ppa-hero__image::after { content: ""; background: linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.97) 35%,rgba(255,255,255,.44) 63%,rgba(255,255,255,.04) 82%); }
.ppa-hero__content { position: relative; z-index: 2; padding-top: clamp(5rem,9vw,8rem); padding-bottom: clamp(5rem,9vw,8rem); }
.ppa-hero .breadcrumb { margin-bottom: clamp(2.5rem,6vw,5rem); color: #526b7d; }
.ppa-hero .breadcrumb a:hover { color: var(--color-navy-900); }
.ppa-hero h1 { max-width: 52rem; margin-bottom: 1.4rem; font-size: clamp(3.2rem,6vw,6.35rem); line-height: .94; letter-spacing: -.068em; }
.ppa-hero__lead { max-width: 43rem; margin-bottom: 2rem; color: #3c5c70; font-size: clamp(1rem,1.5vw,1.2rem); }
.ppa-hero__note { max-width: 42rem; margin: 1.5rem 0 0; color: #5d7383; font-size: .72rem; }
.ppa-qualification { position: relative; z-index: 3; margin-top: -2.3rem; }
.ppa-qualification__grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-lg); }
.ppa-qualification__grid article { min-height: 8rem; padding: 1.3rem; border-right: 1px solid var(--color-line); }
.ppa-qualification__grid article:last-child { border-right: 0; }
.ppa-qualification__grid small, .ppa-qualification__grid strong { display: block; }
.ppa-qualification__grid small { color: var(--color-blue-600); font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ppa-qualification__grid strong { margin-top: .65rem; font-size: 1rem; line-height: 1.25; }
.ppa-problem { padding-top: calc(var(--section-space) + 1.5rem); }
.ppa-problem__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,8vw,8rem); align-items: end; }
.ppa-problem h2 { margin-bottom: 0; font-size: clamp(2.8rem,5.3vw,5.2rem); line-height: .98; letter-spacing: -.06em; }
.ppa-problem__copy p { color: var(--color-muted); font-size: 1.05rem; }
.ppa-problem__copy p:last-child { margin-bottom: 0; }
.ppa-model { color: #fff; background: var(--color-navy-950); }
.ppa-model .eyebrow { color: var(--color-green-500); }
.ppa-model .section-heading > p:not(.eyebrow) { color: #a8bac7; }
.ppa-model-flow { display: grid; grid-template-columns: repeat(5,1fr); gap: .75rem; }
.ppa-model-step { position: relative; min-height: 22rem; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-md); background: rgba(255,255,255,.04); transition: transform var(--transition),border-color var(--transition),background var(--transition); }
.ppa-model-step:hover { transform: translateY(-4px); border-color: rgba(66,194,246,.55); background: rgba(255,255,255,.065); }
.ppa-model-step::after { content: "→"; position: absolute; z-index: 3; right: -.72rem; top: 4.6rem; color: var(--color-blue-400); font-weight: 900; }
.ppa-model-step:last-child::after { display: none; }
.ppa-model-step__media { aspect-ratio: 16/10; overflow: hidden; border-radius: calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0; background: #091b2d; }
.ppa-model-step__media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 700ms ease; }
.ppa-model-step:hover .ppa-model-step__media img { transform: scale(1.035); }
.ppa-model-step__body { min-height: 11.5rem; padding: 1.2rem; display: flex; flex: 1; flex-direction: column; }
.ppa-model-step span { color: var(--color-blue-400); font-size: .62rem; font-weight: 900; }
.ppa-model-step h3 { margin: auto 0 .7rem; font-size: 1.05rem; }
.ppa-model-step p { margin: 0; color: #9eb2c1; font-size: .74rem; }
.ppa-conditions { margin-top: 2.2rem; padding: 1.1rem 1.2rem; color: #d6e2e9; border-left: 3px solid var(--color-green-500); background: rgba(255,255,255,.06); font-size: .78rem; }
.ppa-benefits { background: var(--color-surface-soft); }
.ppa-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; }
.ppa-benefit { min-height: 18rem; padding: 1.5rem; display: flex; flex-direction: column; border-radius: var(--radius-md); background: #fff; }
.ppa-benefit__metric { width: fit-content; padding-bottom: .55rem; color: var(--color-green-700); border-bottom: 2px solid var(--color-green-500); font-size: 1rem; letter-spacing: .03em; }
.ppa-benefit h3 { margin: auto 0 .75rem; font-size: 1.25rem; }
.ppa-benefit p { margin: 0; color: var(--color-muted); font-size: .8rem; }
.ppa-infra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ppa-infra-card { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: #fff; }
.ppa-infra-card__image { aspect-ratio: 16/9; overflow: hidden; }
.ppa-infra-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.ppa-infra-card:hover .ppa-infra-card__image img { transform: scale(1.025); }
.ppa-infra-card__body { min-height: 17rem; padding: clamp(1.6rem,3vw,2.5rem); }
.ppa-infra-card h3 { margin-bottom: .85rem; font-size: clamp(1.7rem,3vw,2.8rem); line-height: 1.05; letter-spacing: -.045em; }
.ppa-infra-card p { color: var(--color-muted); }
.ppa-infra-card ul { margin: 1.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.ppa-infra-card li { padding: .42rem .65rem; color: #36566a; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-surface-soft); font-size: .68rem; font-weight: 720; }
.ppa-criteria { background: linear-gradient(135deg,#ecf8fd,#f1f8e8); }
.ppa-criteria__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,8rem); align-items: start; }
.ppa-criteria h2 { margin-bottom: 1rem; font-size: clamp(2.7rem,5vw,4.9rem); line-height: .98; letter-spacing: -.06em; }
.ppa-criteria__intro > p:not(.eyebrow) { color: var(--color-muted); }
.ppa-criteria-list { margin: 0; padding: 0; list-style: none; counter-reset: criteria; }
.ppa-criteria-list li { padding: 1.3rem 0; display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; border-top: 1px solid rgba(7,26,51,.16); counter-increment: criteria; }
.ppa-criteria-list__mark { color: var(--color-blue-600); font-size: .65rem; font-weight: 900; }
.ppa-criteria-list__mark::before { content: "0" counter(criteria); }
.ppa-criteria-list strong { display: block; margin-bottom: .3rem; }
.ppa-criteria-list p { margin: 0; color: var(--color-muted); font-size: .8rem; }
.ppa-process__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: end; margin-bottom: 3rem; }
.ppa-process__intro h2 { margin-bottom: 0; font-size: clamp(2.8rem,5vw,5rem); line-height: .98; letter-spacing: -.06em; }
.ppa-process__intro p { color: var(--color-muted); }
.ppa-process-media { margin-bottom: 1rem; overflow: hidden; border-radius: var(--radius-lg); }
.ppa-process-media img { width: 100%; aspect-ratio: 16/7; object-fit: cover; object-position: center 46%; }
.ppa-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; }
.ppa-process-step { min-height: 14rem; padding: 1.25rem; display: flex; flex-direction: column; border-top: 3px solid var(--color-blue-400); background: var(--color-surface-soft); }
.ppa-process-step:nth-child(3n) { border-color: var(--color-green-500); }
.ppa-process-step span { color: var(--color-muted); font-size: .62rem; font-weight: 900; }
.ppa-process-step h3 { margin: auto 0 .65rem; font-size: 1.03rem; }
.ppa-process-step p { margin: 0; color: var(--color-muted); font-size: .75rem; }
.ppa-docs { background: var(--color-navy-950); color: #fff; }
.ppa-docs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ppa-docs-card { padding: clamp(1.8rem,4vw,3rem); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); background: rgba(255,255,255,.04); }
.ppa-docs-card small { color: var(--color-green-500); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ppa-docs-card h3 { margin: 1.7rem 0 1.1rem; font-size: clamp(1.6rem,3vw,2.6rem); }
.ppa-docs-card ul { margin: 0; padding-left: 1.1rem; color: #b4c4ce; }
.ppa-docs-card li { margin-top: .65rem; font-size: .8rem; }
.ppa-faq { background: #fff; }
.ppa-faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem,8vw,8rem); align-items: start; }
.ppa-faq h2 { margin-bottom: 0; font-size: clamp(2.8rem,5vw,4.9rem); line-height: .98; letter-spacing: -.06em; }
.faq-list details { border-top: 1px solid var(--color-line); }
.faq-list details:last-child { border-bottom: 1px solid var(--color-line); }
.faq-list summary { position: relative; padding: 1.3rem 3rem 1.3rem 0; cursor: pointer; list-style: none; font-weight: 800; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: .3rem; top: 1.05rem; color: var(--color-blue-600); font-size: 1.35rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 3rem 1.35rem 0; color: var(--color-muted); font-size: .84rem; }
.ppa-evaluation { color: #fff; background: linear-gradient(120deg,var(--color-navy-900),#0c466a); }
.ppa-evaluation__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(3rem,8vw,7rem); align-items: end; }
.ppa-evaluation .eyebrow { color: var(--color-green-500); }
.ppa-evaluation h2 { margin-bottom: 1rem; font-size: clamp(2.8rem,5vw,5.2rem); line-height: .98; letter-spacing: -.06em; }
.ppa-evaluation__copy > p:not(.eyebrow) { color: #c6d7e1; }
.ppa-evaluation-card { padding: 1.6rem; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-lg); background: rgba(255,255,255,.08); }
.ppa-evaluation-card strong { display: block; margin-bottom: .5rem; font-size: 1.15rem; }
.ppa-evaluation-card p { color: #c6d7e1; font-size: .8rem; }
.ppa-evaluation-card .button-row { margin-top: 1.3rem; }

@media (max-width: 68rem) {
  .ppa-qualification__grid, .ppa-benefit-grid { grid-template-columns: repeat(2,1fr); }
  .ppa-qualification__grid article:nth-child(2) { border-right: 0; }
  .ppa-qualification__grid article:nth-child(-n+2) { border-bottom: 1px solid var(--color-line); }
  .ppa-problem__grid, .ppa-criteria__grid, .ppa-process__intro, .ppa-faq-grid, .ppa-evaluation__grid { grid-template-columns: 1fr; }
  .ppa-model-flow { grid-template-columns: repeat(2,1fr); }
  .ppa-model-step::after { display: none; }
  .ppa-process-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 42rem) {
  .ppa-hero { min-height: 48rem; align-items: end; }
  .ppa-hero__image::after { background: linear-gradient(0deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 58%,rgba(255,255,255,.08) 88%); }
  .ppa-hero__image img { object-position: 70% center; }
  .ppa-hero__content { padding-top: 15rem; padding-bottom: 4rem; }
  .ppa-hero h1 { font-size: clamp(2.75rem,12vw,3.8rem); }
  .ppa-hero .button-row, .ppa-evaluation .button-row { flex-direction: column; }
  .ppa-hero .button, .ppa-evaluation .button { width: 100%; }
  .ppa-qualification { margin-top: 0; }
  .ppa-qualification__grid, .ppa-benefit-grid, .ppa-infra-grid, .ppa-model-flow, .ppa-process-grid, .ppa-docs-grid { grid-template-columns: 1fr; }
  .ppa-qualification__grid article { min-height: 6.5rem; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .ppa-qualification__grid article:last-child { border-bottom: 0; }
  .ppa-qualification__grid strong { margin-top: 1rem; }
  .ppa-benefit { min-height: 15rem; }
  .ppa-process-media img { aspect-ratio: 4/3; }
}

@media (prefers-reduced-motion: reduce) {
  .ppa-infra-card__image img, .ppa-model-step__media img { transition: none; }
}
