/* Piggy Life · Para Particulares. Scoped to the new page. */
.particulares-page { overflow-x: clip; }
.particulares-hero { padding-top: 160px; padding-bottom: 90px; background: linear-gradient(135deg, #fff 24%, var(--piggy-pink-soft) 100%); }
.particulares-hero .piggy-container { max-width: 1120px; }
.particulares-hero h1 { max-width: 900px; font-size: clamp(3.4rem, 6vw, 5.8rem); }
.particulares-hero .hero-lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); max-width: 680px; }

.particulares-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 60px; }
.particulares-stat { padding: 25px; border: 1px solid var(--piggy-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(14,34,68,.05); }
.particulares-stat small { color: var(--piggy-muted); display: block; margin-bottom: 12px; }
.particulares-stat strong { font-size: 2.2rem; display: block; margin-bottom: 8px; }
.particulares-stat span { color: var(--piggy-muted); font-size: .85rem; }
.particulares-stat .score-ring { width: 90px; height: 90px; }

.particulares-section { padding: clamp(82px, 10vw, 132px) 0; background: #fff; }
.particulares-section.gray-bg { background: #f7f8fb; }

.particulares-card { min-height: 300px; padding: 34px; border-radius: 28px; background: #fff; border: 1px solid var(--piggy-border); box-shadow: 0 15px 40px rgba(14,34,68,.06); transition: transform .24s ease, box-shadow .24s ease; }
.particulares-card:hover { transform: translateY(-3px); box-shadow: 0 22px 50px rgba(14,34,68,.08); }
.particulares-card i { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 35px; border-radius: 16px; background: var(--piggy-pink-soft); color: var(--piggy-navy); font-style: normal; font-weight: 820; }

.particulares-life-stage { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.particulares-stage-card { padding: 34px; border-radius: 28px; min-height: 280px; }
.particulares-stage-card > span { display: block; color: var(--piggy-pink); font-weight: 850; margin-bottom: 25px; }
.particulares-stage-card h3 { font-size: 1.6rem; margin-bottom: 15px; }

@media (max-width: 900px) {
    .particulares-stats { grid-template-columns: 1fr 1fr; }
    .particulares-life-stage { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .particulares-stats { grid-template-columns: 1fr; }
}

/* Motion hooks */
.motion-enabled .particulares-page [data-part-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1); }
.motion-enabled .particulares-page [data-part-reveal].is-revealed { opacity: 1; transform: none; }
.motion-enabled .particulares-page [data-part-stagger] > * { opacity: 0; transform: translateY(20px); transition: opacity .5s ease var(--motion-delay, 0ms), transform .5s ease var(--motion-delay, 0ms); }
.motion-enabled .particulares-page [data-part-stagger] > .is-revealed { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .particulares-page * { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
    .motion-enabled .particulares-page [data-part-reveal], .motion-enabled .particulares-page [data-part-stagger] > * { opacity: 1 !important; transform: none !important; }
}

/* v1.29.2 · Pricing section */
.particulares-pricing-section { position: relative; background: #f7f8fb; overflow: hidden; }
.particulares-pricing-section::before { content: ""; position: absolute; width: 440px; height: 440px; left: -280px; top: 110px; border: 1px solid rgba(129,121,239,.12); border-radius: 50%; pointer-events: none; }
.particulares-pricing-section .piggy-container { position: relative; }
.particulares-pricing-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 26px 0 28px; }
.particulares-pricing-meta span { padding: 9px 14px; border: 1px solid rgba(14,34,68,.08); border-radius: 999px; background: #fff; color: #5b6880; font-size: .76rem; font-weight: 760; }
.particulares-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.particulares-plan-card { position: relative; display: flex; flex-direction: column; min-height: 610px; padding: 34px; border: 1px solid rgba(14,34,68,.09); border-radius: 30px; background: #fff; box-shadow: 0 16px 42px rgba(14,34,68,.06); transition: opacity .52s ease var(--motion-delay,0ms), transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.particulares-plan-card:hover { transform: translateY(-3px); border-color: rgba(255,63,164,.2); box-shadow: 0 22px 50px rgba(14,34,68,.1); }
.particulares-plan-card.featured { border-color: rgba(255,63,164,.32); background: linear-gradient(180deg,#fff 0%,#fff7fb 100%); box-shadow: 0 24px 58px rgba(255,63,164,.11); }
.particulares-plan-badge { position: absolute; right: 24px; top: 24px; padding: 7px 10px; border-radius: 999px; background: var(--piggy-pink); color: #fff; font-size: .65rem; font-weight: 800; letter-spacing: .04em; }
.particulares-plan-card header>span { display: inline-grid; place-items: center; width: 37px; height: 37px; margin-bottom: 24px; border-radius: 12px; background: var(--piggy-lavender-soft); color: var(--piggy-lavender); font-size: .7rem; font-weight: 850; }
.particulares-plan-card.featured header>span { background: var(--piggy-pink-soft); color: var(--piggy-pink); }
.particulares-plan-card h3 { margin-bottom: 10px; font-size: clamp(1.75rem,2.5vw,2.35rem); }
.particulares-plan-card header p { min-height: 74px; margin: 0; line-height: 1.55; }
.particulares-plan-price { padding: 21px 0; margin: 25px 0; border-top: 1px solid var(--piggy-border); border-bottom: 1px solid var(--piggy-border); }
.particulares-price-line { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.particulares-price-line strong { font-size: clamp(2.15rem,3.3vw,2.9rem); line-height: .95; letter-spacing: -.04em; color: var(--piggy-navy); }
.particulares-price-line span { padding-bottom: 4px; color: var(--piggy-muted); font-size: .82rem; font-weight: 700; }
.particulares-plan-price small { display: block; margin-top: 10px; color: var(--piggy-muted); font-size: .8rem; font-weight: 720; }
.particulares-plan-card .check-list { display: grid; gap: 4px; margin: 0 0 30px; }
.particulares-plan-card .check-list li { margin: 7px 0; font-size: .9rem; line-height: 1.5; }
.particulares-plan-card>.piggy-button { width: 100%; margin-top: auto; }
.particulares-services-heading { margin: 76px 0 24px; text-align: center; }
.particulares-services-heading .eyebrow { justify-content: center; }
.particulares-services-heading h3 { margin: 0; font-size: clamp(2rem,4vw,3.2rem); }
.particulares-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.particulares-service-card { display: grid; grid-template-columns: 1fr auto; gap: 34px; min-height: 360px; padding: 34px; border: 1px solid rgba(14,34,68,.09); border-radius: 28px; background: #fff; box-shadow: 0 14px 36px rgba(14,34,68,.055); }
.particulares-service-card .service-number { display: inline-grid; place-items: center; width: 37px; height: 37px; margin-bottom: 18px; border-radius: 12px; background: var(--piggy-mint-soft); color: var(--piggy-navy); font-size: .7rem; font-weight: 850; }
.particulares-service-card small { display: block; margin-bottom: 7px; color: var(--piggy-pink); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.particulares-service-card h3 { margin-bottom: 10px; font-size: 1.55rem; }
.particulares-service-card p { margin-bottom: 18px; }
.particulares-service-card .check-list { margin: 0; }
.particulares-service-card .check-list li { margin: 6px 0; font-size: .88rem; }
.particulares-service-price { align-self: start; min-width: 128px; padding: 17px 18px; border-radius: 18px; background: var(--piggy-pink-soft); text-align: right; }
.particulares-service-price strong, .particulares-service-price span { display: block; }
.particulares-service-price strong { font-size: 2rem; line-height: 1; color: var(--piggy-navy); letter-spacing: -.04em; }
.particulares-service-price span { margin-top: 6px; color: var(--piggy-muted); font-size: .74rem; font-weight: 700; }
.particulares-pricing-note { max-width: 820px; margin: 30px auto 0; color: var(--piggy-muted); font-size: .8rem; line-height: 1.55; text-align: center; }
@media (max-width: 1000px) {
    .particulares-pricing-grid { grid-template-columns: 1fr 1fr; }
    .particulares-plan-card:last-child { grid-column: 1/-1; width: calc(50% - 10px); justify-self: center; }
    .particulares-services-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .particulares-pricing-meta { justify-content: flex-start; }
    .particulares-pricing-meta span { width: max-content; max-width: 100%; }
    .particulares-pricing-grid { grid-template-columns: 1fr; }
    .particulares-plan-card, .particulares-plan-card:last-child { grid-column: auto; width: 100%; min-height: auto; }
    .particulares-plan-card header p { min-height: 0; }
    .particulares-plan-badge { position: static; width: max-content; margin: 0 0 18px; }
    .particulares-service-card { grid-template-columns: 1fr; min-height: auto; }
    .particulares-service-price { justify-self: start; text-align: left; }
}
