.pi-page { background: var(--color-background); }
.pi-page .text-link { max-width: 100%; }
.pi-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 11px; padding-block: 22px; color: var(--color-muted); font-size: .82rem; }
.pi-breadcrumb a { color: var(--color-text); }
.pi-breadcrumb a:hover, .pi-page .pi-compare a:hover, .pi-page .pi-choice__list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pi-hero { padding-block: 35px 62px; text-align: center; }
.pi-hero__inner { max-width: 990px; }
.pi-hero .eyebrow, .pi-heading .eyebrow, .pi-curation .eyebrow, .pi-final .eyebrow, .pi-authority .eyebrow { justify-content: center; }
.pi-hero h1 { max-width: 970px; margin: 0 auto 24px; font-size: clamp(2.65rem, 6.3vw, 5.2rem); font-weight: 400; letter-spacing: -.055em; line-height: 1.04; }
.pi-hero__lead { max-width: 770px; margin: 0 auto; color: var(--color-text-secondary); font-size: 1.12rem; line-height: 1.72; }
.pi-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 28px; margin-top: 31px; }
.pi-cover { width: min(calc(100% - var(--gutter) * 2), var(--container)); margin: 0 auto; }
.pi-cover img { width: 100%; max-height: 510px; aspect-ratio: 2.08; object-fit: cover; object-position: center; border-radius: var(--radius); }
.pi-cover figcaption { padding-top: 10px; color: var(--color-muted); font-size: .75rem; text-align: center; }
.pi-heading { max-width: 860px; margin: 0 auto 42px; text-align: center; }
.pi-heading .section-title { margin: 0 auto 18px; }
.pi-heading > p:last-child:not(.eyebrow) { max-width: 730px; margin: 0 auto; color: var(--color-text-secondary); font-size: 1.05rem; line-height: 1.72; }
.pi-split { display: grid; gap: 27px; align-items: start; }
.pi-split > * { min-width: 0; }
.pi-split .section-title { margin-bottom: 18px; }
.pi-split p:not(.eyebrow), .pi-scope p:not(.eyebrow) { color: var(--color-text-secondary); font-size: 1.04rem; line-height: 1.72; }
.pi-prose p { margin-bottom: 17px; }
.pi-prose p:last-child { margin-bottom: 0; }
.pi-prose strong, .pi-investment strong { color: var(--color-text); }
.pi-moments, .pi-rooms, .pi-scope, .pi-visual, .pi-faq, .pi-form { background: #fff; }
.pi-moments__grid, .pi-rooms__grid, .pi-priority__grid, .pi-scope__grid, .pi-compare__grid, .pi-investment__grid, .pi-visual__grid { display: grid; gap: 18px; }
.pi-moments__grid article, .pi-rooms__grid article, .pi-priority__grid article, .pi-scope__grid > div, .pi-compare__grid article, .pi-investment__grid article { min-width: 0; padding: 27px; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); }
.pi-moments__grid h3, .pi-rooms__grid h3, .pi-priority__grid h3, .pi-scope__grid h3, .pi-compare__grid h3, .pi-investment__grid h3, .pi-choice__list h3 { margin-bottom: 11px; font-size: 1.32rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.25; }
.pi-moments__grid p, .pi-rooms__grid p, .pi-priority__grid p, .pi-compare__grid p, .pi-investment__grid p { margin: 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.68; }
.pi-moments .pi-actions { margin-top: 26px; }
.pi-rooms__grid article { background: #f4f6f3; }
.pi-rooms__foot { max-width: 780px; margin: 25px auto 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.67; text-align: center; }
.pi-system { background: var(--color-surface-soft); }
.pi-system__grid { display: grid; gap: 24px; align-items: stretch; }
.pi-system__steps { display: grid; gap: 0; border-top: 1px solid #bdcbbb; }
.pi-system__steps article { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 16px; padding-block: 20px; border-bottom: 1px solid #bdcbbb; }
.pi-system__steps article > span { padding-top: 2px; color: var(--color-accent-dark); font-size: .78rem; font-weight: 700; letter-spacing: .06em; }
.pi-system__steps h3 { margin-bottom: 6px; font-size: 1.23rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.3; }
.pi-system__steps p { margin: 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.6; }
.pi-system__visual { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.pi-system__visual img { width: 100%; flex: 1 1 auto; min-height: 265px; max-height: 590px; object-fit: cover; object-position: 58% center; border-radius: var(--radius); }
.pi-system__visual figcaption { padding-top: 11px; color: var(--color-muted); font-size: .76rem; text-align: center; }
.pi-curation { background: var(--color-forest); color: white; text-align: center; }
.pi-curation__inner { max-width: 920px; }
.pi-curation .section-title { margin-inline: auto; }
.pi-curation p:not(.eyebrow) { max-width: 750px; margin: 0 auto 17px; color: #e8ede9; font-size: 1.06rem; line-height: 1.75; }
.pi-curation .button { margin-top: 15px; }
.pi-priority { background: var(--color-background); }
.pi-priority__grid article { background: #fff; }
.pi-scope__grid > div { background: var(--color-background); }
.pi-scope__grid ul { margin: 0; padding-left: 20px; color: var(--color-text-secondary); }
.pi-scope__grid li { padding-block: 5px; line-height: 1.6; }
.pi-scope__grid p:last-child { margin-bottom: 0; }
.pi-scope__note { max-width: 820px; margin: 25px auto 0; text-align: center; }
.pi-compare { background: var(--color-surface-soft); }
.pi-compare__grid article { background: #fff; }
.pi-compare__grid a, .pi-investment__foot a, .pi-choice__list a, .pi-form__availability a, .pi-form__actions a, .pi-faq .faq-item a { color: var(--color-text); font-weight: 650; text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 4px; }
.pi-process { background: var(--color-background); }
.pi-process__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: phase; border-top: 1px solid var(--color-border); }
.pi-process__list li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 3px 14px; min-width: 0; padding: 25px 0; border-bottom: 1px solid var(--color-border); counter-increment: phase; }
.pi-process__list li::before { content: counter(phase, decimal-leading-zero); grid-row: 1 / span 2; color: var(--color-accent-dark); font-size: .78rem; font-weight: 700; letter-spacing: .08em; }
.pi-process__list h3 { margin-bottom: 3px; font-size: 1.24rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.3; }
.pi-process__list p { grid-column: 2; max-width: 52ch; margin-bottom: 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.65; }
.pi-visual__grid figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-background); }
.pi-visual__grid img { width: 100%; height: auto; aspect-ratio: 1.75; object-fit: cover; }
.pi-visual__grid figcaption { padding: 13px 17px; color: var(--color-muted); font-size: .78rem; text-align: center; }
.pi-investment { background: var(--color-surface-soft); }
.pi-investment__grid article { background: #fff; }
.pi-investment__grid article p + p { margin-top: 15px; }
.pi-investment__foot { max-width: 720px; margin: 25px auto 0; color: var(--color-text-secondary); line-height: 1.7; text-align: center; }
.pi-authority { background: var(--color-background); text-align: center; }
.pi-authority__inner { max-width: 790px; }
.pi-authority .section-title { margin-inline: auto; }
.pi-authority p:not(.eyebrow) { max-width: 710px; margin: 0 auto 18px; color: var(--color-text-secondary); font-size: 1.06rem; line-height: 1.72; }
.pi-authority .text-link { margin-top: 10px; }
.pi-choice { background: var(--color-surface-soft); }
.pi-choice__list { padding: 27px; border: 1px solid var(--color-border); border-radius: var(--radius); background: #fff; }
.pi-choice__list ul { margin: 0 0 17px; padding-left: 20px; color: var(--color-text-secondary); }
.pi-choice__list li { padding-block: 5px; line-height: 1.6; }
.pi-choice__list p { margin-bottom: 0; color: var(--color-text-secondary); line-height: 1.7; }
.pi-faq__inner { max-width: 930px; text-align: center; }
.pi-faq .faq__items { text-align: left; }
.pi-faq .faq-item p { max-width: 780px; }
.pi-faq .text-link { margin-top: 27px; }
.pi-form { scroll-margin-top: 90px; }
.pi-form__inner { max-width: 990px; }
.pi-form__availability { margin-bottom: 28px; padding: 18px 22px; border: 1px solid var(--color-border); border-radius: var(--radius-small); background: #f0f4ef; text-align: center; }
.pi-form__availability p { margin: 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.65; }
.pi-form__availability strong { color: var(--color-text); }
.pi-form__fields { position: relative; max-width: 920px; margin-inline: auto; }
.pi-form fieldset { min-width: 0; margin: 0; padding: 30px 0 34px; border: 0; border-top: 1px solid var(--color-border); }
.pi-form legend { float: left; width: 100%; margin-bottom: 10px; padding: 0; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.3; text-align: center; }
.pi-form fieldset > p { clear: both; margin: 0 auto 24px; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.65; text-align: center; }
.pi-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; clear: both; }
.pi-field { display: flex; flex-direction: column; min-width: 0; }
.pi-field label { margin-bottom: 8px; color: var(--color-text); font-size: .96rem; font-weight: 650; line-height: 1.45; }
.pi-field label > span:not(.pi-optional), .pi-form__consent label span { color: var(--color-accent-dark); }
.pi-optional { margin-left: 4px; color: var(--color-muted); font-size: .86rem; font-weight: 400; }
.pi-field input, .pi-field select, .pi-field textarea { display: block; width: 100%; min-width: 0; min-height: 52px; padding: 12px 15px; border: 1px solid #aebcae; border-radius: var(--radius-small); background: var(--color-surface); color: var(--color-text); font: inherit; font-size: 1rem; line-height: 1.5; }
.pi-field textarea { min-height: 170px; resize: vertical; }
.pi-field input::placeholder, .pi-field textarea::placeholder { color: #5a6b5c; opacity: 1; }
.pi-field input:focus, .pi-field select:focus, .pi-field textarea:focus { outline: 3px solid #a8bbaa; outline-offset: 2px; border-color: var(--color-accent-dark); }
.pi-form [aria-invalid="true"] { border-color: #9b3d3d; }
.pi-error { display: block; margin-top: 7px; color: #8a3030; font-size: .88rem; font-weight: 600; line-height: 1.4; }
.pi-error[hidden], .pi-form__status[hidden] { display: none; }
.pi-environments__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; clear: both; }
.pi-environments__grid label { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-small); color: var(--color-text); cursor: pointer; }
.pi-environments__grid label:has(input:checked) { border-color: var(--color-accent-dark); background: #edf3eb; }
.pi-environments__grid input { width: 21px; height: 21px; flex: 0 0 auto; margin: 0; accent-color: var(--color-accent-dark); }
.pi-form__consent { display: flex; align-items: flex-start; gap: 13px; margin: 0 auto 27px; }
.pi-form__consent input { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--color-accent-dark); }
.pi-form__consent label { color: var(--color-text-secondary); font-size: .96rem; line-height: 1.55; }
.pi-form__honeypot { position: absolute; top: 0; left: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pi-form__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.pi-form__actions .button { min-height: 54px; }
.pi-form__actions p { max-width: 600px; margin: 0; color: var(--color-text-secondary); font-size: 1rem; line-height: 1.6; }
.pi-form__status { max-width: 680px; margin: 23px auto 0; padding: 16px 18px; border: 1px solid #c89696; border-radius: var(--radius-small); background: #fff3f1; color: #702b2b; text-align: center; }
.pi-final .final-cta__content { text-align: center; }
.pi-final h2, .pi-final .final-cta__content > p:not(.eyebrow) { margin-inline: auto; }
.pi-final .final-cta__content > p:not(.eyebrow) { max-width: 680px; }
.pi-final .text-link { border-color: #dce5dc; color: white; }
.pi-final .text-link:hover { border-color: white; color: white; }
@media (min-width: 680px) {
  .pi-split, .pi-moments__grid, .pi-scope__grid, .pi-compare__grid, .pi-investment__grid, .pi-visual__grid, .pi-form__grid, .pi-environments__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pi-split { gap: 8%; }
  .pi-rooms__grid, .pi-priority__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pi-field--full { grid-column: 1 / -1; }
  .pi-process__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
}
@media (min-width: 900px) {
  .pi-system__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .pi-rooms__grid, .pi-priority__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 679px) {
  .pi-hero { padding-block: 20px 50px; }
  .pi-hero__lead { font-size: 1rem; }
  .pi-actions { flex-direction: column; }
  .pi-actions .button { width: 100%; }
  .pi-cover img { min-height: 240px; aspect-ratio: 1.28; }
  .pi-moments__grid article, .pi-rooms__grid article, .pi-priority__grid article, .pi-scope__grid > div, .pi-compare__grid article, .pi-investment__grid article, .pi-choice__list { padding: 23px; }
  .pi-form__actions .button { width: 100%; }
}
