.private-landing .private-intro { background: #fff9f1; }
.private-intro-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(32px,5vw,72px); }
.private-intro-grid > * { min-width: 0; }
.private-landing .private-intro h1 { font-size: clamp(40px,4.8vw,70px); line-height: 1.12; }
.private-intro p:not(.eyebrow) { margin: 30px 0; max-width: 420px; }
.private-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.private-process-link { font-size: 14px; font-weight: 800; text-underline-offset: 5px; text-decoration: underline; }
.private-intro-visual { position: relative; margin: 0; }
.private-intro-media { position: relative; height: 470px; overflow: hidden; border-radius: 100px 24px 24px 24px; background: #ead8bd url('../images/marca-blanca-video-poster.jpg') 65% center / cover no-repeat; }
.private-intro-media video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.private-intro-media video[hidden] { display: none; }
.private-intro-video-toggle { position: absolute; right: 16px; bottom: 16px; min-height: 44px; padding: 9px 15px; border: 1px solid #1a1a1a55; border-radius: 8px; background: #fff9f1ed; color: #1a1a1a; font: inherit; font-size: 12px; cursor: pointer; }
.private-intro-video-toggle[hidden] { display: none; }
.private-intro-video-toggle:focus-visible { outline: 3px solid #c53030; outline-offset: 3px; }
.private-intro-visual img { width: 100%; height: 470px; object-fit: cover; object-position: 77% center; border-radius: 100px 24px 24px 24px; }
.private-intro-visual figcaption { margin-top: 16px; font-size: 13px; color: #66594b; }
.private-landing h2 { font-size: clamp(30px,3.5vw,50px); line-height: 1.2; }
.private-landing .section-heading { text-align: center; max-width: 900px; margin: 0 auto 48px; }
.private-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; text-align: center; }
.private-offer { background: #fff; }
.private-offer-icon { display: grid; place-items: center; width: 160px; height: 160px; margin: 0 auto 24px; background: #fff; isolation: isolate; }
.private-offer-icon img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.private-offer-grid article { position: relative; }
.private-offer-icon { transition: transform .8s cubic-bezier(.22,.61,.36,1); }
.private-offer-grid .reveal-up:not(.is-visible) .private-offer-icon { transform: translateY(16px) scale(.88) rotate(-4deg); }
.private-offer-grid article:nth-child(2) .private-offer-icon { transition-delay: .12s; }
.private-offer-grid article:nth-child(3) .private-offer-icon { transition-delay: .24s; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .private-offer-grid article.is-visible:hover .private-offer-icon { transform: translateY(-6px) rotate(2deg); } }
@media(max-width:768px) { .private-offer-icon { width: 132px; height: 132px; margin-bottom: 20px; } }
.private-landing h3 { font-size: 23px; line-height: 1.25; margin: 0 0 14px; }
.private-offer-grid p, .private-steps p { font-size: 15px; color: #615c55; max-width: 280px; margin: 0 auto; }
.private-process { background: #fff9f1; scroll-margin-top: calc(var(--header-height) + 24px); }
.private-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; list-style: none; padding: 0; margin: 0; }
.private-steps li { position: relative; padding-top: 0; border: 0; text-align: center; min-width: 0; }
.private-steps li:not(:last-child)::before { content: ''; position: absolute; left: calc(50% + 34px); top: 33px; width: calc(100% + 40px - 68px); height: 2px; background: #e6a15c; transform-origin: left center; transition: transform .85s ease .25s; }
.private-steps .reveal-up:not(.is-visible)::before { transform: scaleX(0); }
.private-step-number { position: relative; display: grid; place-items: center; width: 68px; height: 68px; border: 2px solid #e6a15c; border-radius: 50%; background: #fff9f1; font: 400 28px 'Archivo Black',sans-serif; color: #c53030; margin-bottom: 24px; transition: background .6s ease, color .6s ease; }
.private-steps .is-visible .private-step-number { background: #c53030; border-color: #c53030; color: #fff9f1; }
.private-steps .private-step-number { margin-inline: auto; }
.private-steps p { margin: 0 auto; }
.private-questions-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; max-width: 920px; }
.private-questions .section-heading { margin-bottom: 32px; }
.private-questions h2 { margin-top: 0; }
.private-questions details { border: 1px solid #eadfce; border-radius: 16px; margin-bottom: 12px; padding: 0 26px; background: #fff; }
.private-questions details[open] { background: #fff9f1; border-color: #e6a15c; }
.private-questions summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; padding-block: 20px; cursor: pointer; font-weight: 800; line-height: 1.5; list-style: none; }
.private-questions summary::-webkit-details-marker { display: none; }
.private-questions summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #fff1df; color: #c53030; font-size: 24px; font-weight: 400; }
.private-questions details[open] summary::after { content: '−'; background: #c53030; color: #fff; }
.private-questions details p { color: #615c55; line-height: 1.7; font-size: 15px; margin: 0; padding: 0 56px 24px 0; max-width: 740px; }
.private-landing .private-project { padding-top: 0; }
.private-project-inner { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(28px,4vw,60px); padding: 48px clamp(24px,5vw,72px); border-radius: 28px; background: #c53030; color: #fff; overflow: hidden; }
.private-project-copy { min-width: 0; }
.private-project-visual { margin: 0; min-width: 0; padding: 10px; background: #f4cf9f; border-radius: 130px 130px 24px 24px; transform: rotate(2deg); }
.private-project-visual img { display: block; width: 100%; height: 350px; object-fit: cover; object-position: 100% center; border-radius: 120px 120px 18px 18px; }
.private-project .eyebrow { color: #fff1df; }
.private-project h2 { margin: 0; }
.private-project p:not(.eyebrow) { margin-top: 28px; }
.private-project .button-secondary { color: #a32626; border-color: #fff9f1; background: #fff9f1; margin-top: 14px; }
.private-project .button-secondary:hover { color: #fff; background: #1a1a1a; border-color: #1a1a1a; }
.private-landing a:focus-visible, .private-landing summary:focus-visible { outline: 3px solid #e6a15c; outline-offset: 5px; }
@media(max-width:900px) {
 .private-intro-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
 .private-intro-visual img, .private-intro-media { height: 400px; }
 .private-project-inner { gap: 28px; }
 .private-project-visual img { height: 310px; }
 .private-questions-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media(max-width:640px) {
 .private-intro-grid, .private-offer-grid, .private-steps { grid-template-columns: 1fr; gap: 36px; }
 .private-landing .private-intro h1 { font-size: clamp(36px,9vw,54px); }
 .private-intro-visual img, .private-intro-media { height: 300px; border-radius: 60px 20px 20px 20px; }
 .private-landing .button { max-width: 100%; font-size: 11px; padding-inline: 16px; white-space: normal; }
 .private-landing .section-heading { margin-bottom: 32px; }
 .private-steps li { padding: 0 0 0 76px; min-height: 86px; text-align: left; }
 .private-step-number { position: absolute; left: 0; top: 0; width: 52px; height: 52px; font-size: 23px; margin: 0; }
 .private-steps li:not(:last-child)::before { left: 25px; top: 52px; width: 2px; height: calc(100% + 36px - 52px); transform-origin: center top; }
 .private-steps .reveal-up:not(.is-visible)::before { transform: scaleY(0); }
 .private-steps p { max-width: none; }
 .private-project-inner { grid-template-columns: 1fr; padding: 36px 24px; gap: 32px; }
 .private-project-visual { width: min(100%,380px); justify-self: center; }
 .private-project-visual img { height: 280px; }
 .private-questions details { padding-inline: 18px; }
 .private-questions summary { gap: 14px; font-size: 15px; }
 .private-questions details p { padding-right: 0; }
 .private-project h2 { font-size: clamp(30px,8vw,42px); }
}
@media(prefers-reduced-motion:reduce) {
 .private-offer-grid .reveal-up, .private-steps .reveal-up { opacity: 1; transform: none; transition: none; }
 .private-offer-grid .private-offer-icon, .private-steps li::before, .private-step-number { transition: none !important; transform: none !important; }
}
