/* Show the original portraits without cutting either face. */
.partnership-panel .portrait-photo { height: 460px; background: var(--paper); }
.partnership-panel .portrait-photo img { object-fit: contain; object-position: center; }

/* Keep the whole onboarding section visible; retain only the path progression. */
#passos .reveal-in, .js #passos .journey-step { opacity: 1; filter: none; translate: none; }
.js #passos .journey-step .step-content { transform: none; }
.js #passos .journey-step { transition: background .9s, color .9s, box-shadow .9s; }
.js #passos .journey-step .step-content { transition: none; }

/* Edge-to-edge covers. Left alignment preserves the title on narrow strips. */
.portfolio-card .portfolio-art { padding: 0; background: var(--paper); }
.portfolio-card .portfolio-art img { object-fit: cover; object-position: left center; }
.portfolio-caption { text-align: left; padding: 64px 22px 22px; }
.portfolio-caption b { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.25; }
.fisp-note { background: var(--paper); color: var(--forest); padding: 28px; border-radius: 20px; margin-top: 34px; transform: rotate(-1.5deg); box-shadow: 0 12px 32px rgb(0 0 0 / .08); text-align: left; }
.fisp-stamp { display: inline-block; background: var(--lime); color: var(--forest); padding: 7px 12px; border-radius: 8px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 18px; }
.fisp-note strong { display: block; font-size: clamp(25px, 2.2vw, 31px); line-height: 1.3; letter-spacing: -.035em; }
.contact-copy .fisp-note p { font-size: 15px; line-height: 1.65; color: var(--forest); margin-top: 17px; }
.fisp-note mark { background: var(--lime); color: var(--forest); box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 0 .08em; }
.referral-field select { appearance: auto; width: 100%; padding: 16px; background: var(--white); color: var(--forest); border: 1px solid var(--line); border-radius: 12px; font: inherit; }
.referral-field select:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }
.field-optional { font-size: 11px; font-weight: 400; margin-left: 5px; }
.fisp-benefit { background: var(--lime); color: var(--forest); border-radius: 12px; padding: 16px; font-size: 14px; line-height: 1.6; margin-top: 12px; }
.fisp-benefit[hidden] { display: none; }
.fisp-banner { position: absolute; top: calc(100% + 7px); left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 18px; background: var(--lime); color: var(--forest); border-radius: 16px; padding: 10px 17px; width: max-content; max-width: calc(100vw - 28px); text-decoration: none; box-shadow: 0 6px 20px rgb(27 52 43 / .10); }
.fisp-banner b { display: block; font-size: 12px; letter-spacing: .02em; }
.fisp-banner small { display: block; font-size: 10px; margin-top: 2px; }
.fisp-countdown { font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; min-width: 164px; }
.fisp-banner-arrow { font-size: 20px; }
.fisp-banner[hidden], .fisp-note[hidden] { display: none; }
.fisp-live { scroll-padding-top: 150px; }
@media(max-width:900px) {
 .fisp-live .site-header nav.open { top: 121px; }
 .fisp-banner { gap: 12px; padding: 10px 12px; }
 .fisp-banner b { font-size: 11px; }
 .fisp-countdown { font-size: 14px; min-width: 144px; }
}
@media(max-width:600px) {
 .fisp-note { padding: 23px; margin: 28px 3px 8px; }
 .partnership-panel .portrait-photo { height: auto; aspect-ratio: 4 / 5; }
 .portfolio-strips { grid-template-columns: 1fr; }
 .portfolio-card { height: auto; aspect-ratio: 404 / 316; }
 .portfolio-card .portfolio-art img { object-position: left center; }
 .portfolio-caption { padding: 56px 18px 18px; }
 .portfolio-all { aspect-ratio: auto; min-height: 190px; }
}
