/* VidaBela PRP — editorial composition and purposeful movement. */
html{scroll-padding-top:24px}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.hero{min-height:760px}
.hero-content{padding-top:45px;padding-bottom:66px}
.hero-location{margin-bottom:23px}
.hero h1{font-size:clamp(62px,5.7vw,82px);line-height:.98;max-width:700px}
.hero-description{font-size:18px;margin-top:24px;line-height:1.6;max-width:460px}
.hero-detail{font-size:14px;max-width:430px;line-height:1.75;margin-top:12px}
.hero-actions{margin-top:25px;gap:7px}
.hero-note{font-size:12px;margin-top:10px;color:#c9a96e}
.hero-portrait{width:54%;overflow:hidden;will-change:transform}
.hero-portrait::before{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0d1b2a 0%,rgba(13,27,42,.26) 31%,transparent 63%)}
.hero-portrait::after{z-index:2;pointer-events:none;inset:66% 0 0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 700ms var(--ease-out);pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 29%;animation:none;transform:scale(1);transition:none}
.hero-slide.is-active img{animation:portrait-drift 3.5s linear both}
.hero-portrait[data-playing="false"] .hero-slide img{animation-play-state:paused}
@keyframes portrait-drift{from{transform:scale(1.025)}to{transform:scale(1)}}
.hero-slide[data-slide="0"] img{object-position:52% 27%}
.photo-credit{z-index:3;font-size:10px}
.carousel-controls{position:absolute;right:42px;bottom:147px;z-index:4;display:flex;gap:20px;align-items:center;padding:0 13px;background:rgba(7,17,28,.55);border-radius:2px}
.carousel-dots{display:flex;align-items:center;gap:5px}
.carousel-dot{padding:0;display:grid;place-items:center;width:33px;height:44px;border:0;background:transparent;color:var(--cream)}
.carousel-dot span{display:block;width:19px;height:2px;background:rgba(248,245,239,.45);transition:background-color 200ms ease,transform 200ms var(--ease-out)}
.carousel-dot.is-active span{background:var(--gold);transform:scaleX(1.2)}
.carousel-pause{min-height:44px;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--cream);padding:0 5px;font-size:11px}
.carousel-pause svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.hero-footnote{bottom:35px;right:56px}
.hero-footnote span{font-size:12px;letter-spacing:0}
.trust-grid p{font-size:13px}
.intro-copy p,.timeline p,.care-copy>p,.faq-list details p{font-size:14px}
.intro h2{max-width:570px}
.science-layout{display:block}
.science-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:65px;align-items:center;margin-bottom:55px}
.science-intro h2{font-size:clamp(42px,4.2vw,62px);grid-row:auto}
.science-intro p{margin:0 0 22px;max-width:350px;font-size:14px}
.science-intro .text-link{font-size:12px}
.section-heading h2{max-width:760px}
.pricing-heading h2{max-width:650px}
.payment-summary{display:inline-block;margin-top:20px;border-bottom:1px solid #b4a384;padding-bottom:7px;font-size:13px;color:var(--navy)}
.price-card{padding:36px 30px 30px}
.pack-top h3{font-size:15px}
.pack-top>p{font-size:12px}
.unit-price{font-size:12px}
.pack-financing{margin-top:16px;padding:10px 0;color:#675537;font-size:12px;border-top:1px solid #dcd3c2;border-bottom:1px solid #dcd3c2}
.pack-financing strong{font-weight:600}
.price-card hr{display:none}
.price-card ul{margin-top:25px}
.price-card li{font-size:13px;gap:9px}
.price-card .button{font-size:12px;min-height:52px;padding-inline:16px}
.featured .pack-financing{color:var(--gold);border-color:rgba(201,169,110,.3)}
.value-label{font-size:11px}
.pricing-note{text-align:left;font-size:11px;max-width:960px;line-height:1.8;margin-top:25px}
.care-word{font-size:clamp(64px,6.4vw,96px)}
.care-points p{font-size:13px}
.faq-list summary{font-size:14px}
.booking-copy h2{max-width:650px}
.booking-help,.booking-reassurance,.clinic-options small{font-size:12px}
.booking-whatsapp{font-size:13px}
.footer-bottom,.medical-sources summary,.medical-sources a{font-size:12px}
.medical-sources p{font-size:11px}
.scroll-reveal{transition:opacity 900ms var(--ease-out),transform 900ms var(--ease-out),clip-path 1000ms var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal:not(.is-revealed){opacity:.38;transform:translate3d(0,30px,0)}
h2.scroll-reveal:not(.is-revealed){opacity:.55;transform:translate3d(0,22px,0);clip-path:inset(0 0 14% 0)}
h2.scroll-reveal.is-revealed{clip-path:inset(0)}
.fine-rule.scroll-reveal{transform-origin:left;transition:transform 1200ms var(--ease-out),opacity 900ms var(--ease-out)}
.fine-rule.scroll-reveal:not(.is-revealed){transform:scaleX(.12)}
.price-card.scroll-reveal{transition:transform 850ms var(--ease-out),opacity 850ms var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.timeline article{position:relative}
.timeline-point{position:relative;border-top-color:transparent}
.timeline-point::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:var(--gold);transform-origin:left;transform:scaleX(.1);transition:transform 1500ms var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.is-revealed .timeline-point::before{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.carousel-dot:hover span{background:var(--cream)}.carousel-pause:hover{color:var(--gold)}.price-card .button:hover .icon,.hero-actions .button:hover .icon{transform:translateX(3px)}.button .icon{transition:transform 200ms var(--ease-out)}}
@media(max-width:1100px){.hero h1{font-size:68px}.hero-content{padding-top:43px}.hero{min-height:760px}.hero-detail{max-width:370px}.hero-description{font-size:17px;max-width:380px}.hero-portrait{width:58%}.hero-footnote{right:36px}.carousel-controls{right:30px}.science-intro{gap:45px}.price-card{padding:30px 21px 24px}.price-card .button{font-size:11px;padding-inline:12px}.care-section{gap:55px}.care-word{font-size:74px}}
@media(max-width:800px){.hero{min-height:745px}.hero h1{font-size:65px}.hero-portrait{width:65%;opacity:.7}.hero-detail{max-width:340px}.hero-description{max-width:350px}.hero-footnote{right:24px;min-width:180px}.carousel-controls{right:20px;bottom:142px}.science-intro{grid-template-columns:1fr 1fr;gap:30px;margin-bottom:35px}.science-intro h2{font-size:43px}.science-intro p{font-size:13px}.pricing-grid{grid-template-columns:1fr;gap:26px}.price-card{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:30px}.pack-top{grid-row:1/3}.pack-top h3{font-size:15px}.pack-top h3 span{font-size:64px}.pack-top>p{font-size:12px;min-height:0}.price{font-size:52px;text-align:right;margin-top:0;align-self:end}.unit-price{text-align:right;margin-top:8px}.pack-financing{grid-column:1/-1;margin-top:24px;padding-block:13px;font-size:13px}.price-card ul{grid-column:1/-1;margin-top:22px;margin-bottom:25px}.price-card li{font-size:14px}.price-card .button{grid-column:1/-1;padding-inline:18px;font-size:13px}.price-card .button svg{width:19px}.value-label{font-size:11px;right:22px}.care-word{font-size:63px}.care-copy h2{font-size:34px}.booking-copy h2{font-size:48px}.booking-copy{display:block}.booking-copy>p{margin-top:22px}.booking-reassurance{margin-top:18px}.faq-list summary{font-size:13px}}
@media(max-width:600px){
 .hero{min-height:0}.hero-portrait{top:0;height:355px;width:100%;opacity:1;overflow:hidden;will-change:auto}.hero-portrait::before{background:linear-gradient(0deg,#0d1b2a 1%,rgba(13,27,42,.3) 25%,transparent 58%);inset:0}.hero-portrait::after{inset:50% 0 0}.hero-slide img{object-position:center 29%}.hero-slide[data-slide="0"] img{object-position:center 31%}.hero-portrait img{animation:none}
 .photo-credit{font-size:9px;right:10px;top:20px}.hero-content{padding-top:22px;padding-bottom:27px}.hero-location{font-size:11px;gap:5px;margin-bottom:224px;position:relative;z-index:2;text-shadow:0 1px 5px #07111c}.hero-location span{font-size:11px;border-color:#8c938f;padding-left:10px;margin-left:7px}.hero h1{font-size:clamp(49px,12.5vw,67px);line-height:.99;max-width:100%;letter-spacing:-.035em}.hero-description{font-size:16px;max-width:100%;margin-top:24px;line-height:1.6}.hero-detail{font-size:14px;max-width:100%;margin-top:14px;line-height:1.8}.hero-actions{margin-top:24px;gap:5px}.hero-actions .button{font-size:13px;min-height:56px}.hero-actions .text-link{font-size:12px}.hero-note{font-size:11px;margin-top:8px;line-height:1.8}.carousel-controls{right:15px;bottom:65px;gap:8px;padding-inline:8px}.carousel-dot{width:27px;height:40px}.carousel-dot span{width:16px}.carousel-pause{font-size:10px;min-height:40px;gap:5px}.carousel-pause svg{width:12px}.hero-footnote{margin:0 20px;right:auto;bottom:auto;grid-template-columns:1fr auto 20px;min-width:0;column-gap:10px}.hero-footnote span{font-size:11px}.hero-footnote strong{font-size:23px}.hero-footnote .icon{width:18px}.trust-grid p{font-size:12px}.intro h2{font-size:43px}.intro-copy .lead{font-size:21px}.intro-copy p{font-size:14px}.intro-copy .understated{font-size:12px}
 .science-intro{display:block;margin-bottom:32px}.science-intro h2{font-size:40px}.science-intro p{margin-top:25px;margin-bottom:12px;max-width:100%;font-size:14px}.science-intro .text-link{font-size:12px}.section-heading h2{font-size:42px}.section-heading>p,.section-heading>div>p{font-size:14px}.timeline p{font-size:14px}.timeline-note{font-size:12px}.pricing-grid{gap:28px}.price-card{padding:27px 24px;column-gap:10px}.pack-top h3{font-size:12px}.pack-top h3 span{font-size:61px}.pack-top>p{font-size:11px;max-width:145px}.price{font-size:43px}.price .currency{font-size:10px}.unit-price{font-size:11px;white-space:nowrap}.pack-financing{margin-top:22px;font-size:12px}.price-card li{font-size:13px}.price-card .button{font-size:12px}.pricing-note{font-size:11px}.payment-summary{font-size:12px;margin-top:18px}.care-section{gap:32px}.care-word{font-size:65px}.care-copy h2{font-size:34px}.care-copy>p{font-size:14px}.care-points p{font-size:12px}.faq-layout h2{font-size:44px}.faq-list summary{font-size:13px}.faq-list details p{font-size:14px}.booking-copy h2{font-size:43px}.booking-copy>p{font-size:15px}.booking-reassurance{font-size:12px}.booking-actions legend{font-size:12px}.clinic-options strong{font-size:27px}.clinic-options small{font-size:11px}.booking-whatsapp{font-size:12px;min-height:57px}.booking-help{font-size:11px}.phone-link{font-size:11px}.footer-top>p{font-size:11px}.footer-top .text-link{font-size:12px}.footer-bottom{font-size:11px;gap:16px}.medical-sources summary{font-size:11px}.medical-sources a{font-size:11px}.mobile-cta>span{font-size:11px}.mobile-cta>span strong{font-size:12px}.mobile-cta .button{font-size:12px}
}
@media(max-width:370px){.hero-location span{margin-left:2px;padding-left:7px}.hero h1{font-size:46px}.price-card{padding-inline:19px}.price{font-size:39px}.unit-price{font-size:10px}.clinic-options small{font-size:10px}.booking-whatsapp{font-size:11px}.care-word{font-size:59px}}
@media(min-width:601px) and (max-width:800px){.hero-portrait{width:100%;height:430px;bottom:auto;opacity:1}.hero-portrait::before{background:linear-gradient(0deg,#0d1b2a,rgba(13,27,42,.18) 40%,transparent 70%)}.hero-portrait::after{inset:62% 0 0}.hero-slide[data-slide="0"] img{object-position:center top}.hero-content{padding-top:24px;padding-bottom:30px}.hero-location{margin-bottom:274px}.hero h1{font-size:68px}.hero-description,.hero-detail{max-width:540px}.hero-footnote{position:relative;right:auto;bottom:auto;margin:0 24px;padding-bottom:25px;grid-template-columns:1fr auto 24px}.hero-footnote svg{grid-row:1;grid-column:3}.hero-footnote strong{font-size:27px}.hero-actions{display:flex;flex-direction:row;align-items:center;gap:20px}.hero-actions .button{font-size:12px;gap:20px}.hero-actions .text-link{font-size:11px;white-space:nowrap}.carousel-controls{bottom:60px}}
.prp-sequence{--prp-sequence-ease:var(--ease-out)}
.prp-sequence-play{min-height:44px}
.prp-sequence-footer>p{font-size:11px}
@media(max-width:600px){.hero-detail{display:none}.carousel-controls{bottom:102px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal:not(.is-revealed),h2.scroll-reveal:not(.is-revealed){opacity:1;transform:none;clip-path:none;transition:none}.fine-rule.scroll-reveal:not(.is-revealed),.timeline-point::before{transform:none}.hero-slide,.hero-slide img,.hero-slide.is-active img{transition:none;transform:none}.hero-portrait{will-change:auto}.reading-progress{display:none}}
