/* ===== DJFD motion + results (v1) ===== */
.mo:not(.mo-done) :is(.hero,.page-hero,.rhero)>.container{opacity:0}
[data-anim]{opacity:0;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),clip-path 1.1s cubic-bezier(.7,0,.2,1);transition-delay:var(--d,0ms)}
[data-anim="up"]{transform:translateY(30px)}
[data-anim="left"]{transform:translateX(-40px)}
[data-anim="right"]{transform:translateX(40px)}
[data-anim="zoom"]{transform:scale(.92) translateY(14px)}
[data-anim="clip"]{opacity:1;clip-path:inset(0 0 100% 0 round 28px)}
[data-anim].is-in{opacity:1;transform:none}[data-anim="clip"].is-in{clip-path:inset(0 0 0 0 round 0)}
.wsplit .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .1em;margin:0 -.02em -.1em}
.wsplit .w>span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--wi,0)*60ms + 120ms)}
.wsplit.is-in .w>span{transform:none}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--accent),#F27A87);transform-origin:0 50%;transform:scaleX(0);z-index:200;pointer-events:none}
.admin-bar .scroll-progress{top:32px}
/* buttons + links */
.btn--primary,.btn--wa,.btn--dark{position:relative;overflow:hidden}
.btn--primary::after,.btn--wa::after,.btn--dark::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.btn--primary:hover::after,.btn--wa:hover::after,.btn--dark:hover::after{transform:translateX(130%)}
.btn:hover{transform:translateY(-2px)}
.btn svg,.link-arrow svg,.tile__go svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.btn:hover svg:last-child,.link-arrow:hover svg,.tile:hover .tile__go svg{transform:translateX(4px)}
.btn:hover svg:first-child:not(:last-child){transform:rotate(-8deg) scale(1.08)}
/* cards */
.tcard,.vcard,.panel,.review,.benefit,.fact{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
.tcard:hover,.vcard:hover,.review:hover,.benefit:hover{transform:translateY(-6px);box-shadow:0 28px 50px -32px rgba(31,21,23,.5)}
.tcard__media img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tcard:hover .tcard__media img{transform:scale(1.06)}
.tcard__icon{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.tcard:hover .tcard__icon{transform:rotate(-10deg) scale(1.1)}
.tile__icon{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.tile:hover .tile__icon{transform:rotate(-10deg) scale(1.1)}
/* hero life */
.hero__media::before{animation:blob 14s ease-in-out infinite alternate}
@keyframes blob{0%{border-radius:46% 54% 40% 60%/50% 42% 58% 50%}50%{border-radius:58% 42% 55% 45%/42% 58% 42% 58%;rotate:6deg}100%{border-radius:40% 60% 48% 52%/56% 46% 54% 44%;rotate:-4deg}}
.hero__badge,.bob{animation:bob 6s ease-in-out infinite}
@keyframes bob{50%{translate:0 -10px}}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);z-index:-1;animation:waPulse 2.6s ease-out infinite}
@keyframes waPulse{from{transform:scale(1);opacity:.5}to{transform:scale(1.65);opacity:0}}
.cta-band__box::after{animation:spinSlow 40s linear infinite}
@keyframes spinSlow{to{rotate:360deg}}
/* marquee */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee__track{display:flex;align-items:center;gap:16px;width:max-content;animation:marq 40s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.mband{background:var(--accent);color:#fff;padding:16px 0;margin:8px 0 0;transform:rotate(-1.4deg) scale(1.03);box-shadow:0 20px 40px -30px rgba(140,23,36,.8)}
.mband .marquee{-webkit-mask-image:none;mask-image:none}
.mband .marquee__track{gap:22px;animation-duration:34s}
.mband span{font-family:var(--font-display);font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:600;white-space:nowrap;letter-spacing:-.01em}
.mband i{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.55;flex:none}
.mband-wrap{overflow:hidden;padding:18px 0 6px}
.rworld .marquee{margin:0 0 34px}
.rworld .marquee span{flex:none;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-weight:600;color:#fff;white-space:nowrap}
/* ===== Results ===== */
.rhero{position:relative;background:var(--dark);color:#EADCDD;padding:clamp(40px,6vw,88px) 0 clamp(56px,7vw,104px);overflow:hidden;isolation:isolate}
.rhero::before{content:"";position:absolute;width:760px;height:760px;right:-240px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(179,32,47,.6),rgba(179,32,47,0));z-index:-1;animation:glow 10s ease-in-out infinite alternate}
.rhero::after{content:"";position:absolute;width:560px;height:560px;left:-260px;bottom:-320px;border-radius:50%;background:radial-gradient(closest-side,rgba(240,163,172,.16),transparent);z-index:-1}
@keyframes glow{to{transform:translate(-70px,50px) scale(1.12)}}
.rhero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.rhero__title{color:#fff;font-size:clamp(2.5rem,5.6vw,4.4rem);line-height:1.02;letter-spacing:-.03em;margin-top:14px}
.rhero__title em{font-style:normal;color:#F48C97}
.rhero .eyebrow{color:#F0A3AC;margin:18px 0 0}
.rhero .lead{color:#D2C0C2;margin-top:20px;max-width:52ch}
.rhero .btn-row{margin-top:30px}
.rhero nav,.rhero nav a,.rhero nav li{color:#BFA9AC}
.rhero nav a:hover{color:#fff}
.rstats{list-style:none;margin:40px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:clamp(22px,4vw,52px);flex-wrap:wrap}
.rstats strong{display:block;font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.6rem);color:#fff;line-height:1}
.rstats span{display:block;margin-top:7px;font-size:.9rem;color:#BFA9AC}
.rfan{position:relative;height:clamp(440px,46vw,580px)}
.rfan__card{position:absolute;top:50%;left:50%;width:clamp(170px,18vw,232px);aspect-ratio:9/16;border-radius:22px;overflow:hidden;box-shadow:0 34px 60px -24px rgba(0,0,0,.75);border:3px solid rgba(255,255,255,.92);background:#111;transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:bob 7s ease-in-out infinite}
.rfan__card .vplay{height:100%}
.rfan__card--1{transform:translate(-114%,-46%) rotate(-8deg);animation-delay:-2s}
.rfan__card--2{transform:translate(-50%,-53%);z-index:2;width:clamp(190px,20.5vw,262px)}
.rfan__card--3{transform:translate(14%,-46%) rotate(8deg);animation-delay:-4s}
.rfan:hover .rfan__card--1{transform:translate(-122%,-48%) rotate(-11deg)}
.rfan:hover .rfan__card--3{transform:translate(22%,-48%) rotate(11deg)}
.rfan .vplay__btn::before,.rfeature .vplay__btn::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid rgba(255,255,255,.65);animation:ring 2.2s ease-out infinite}
@keyframes ring{from{transform:scale(.9);opacity:.9}to{transform:scale(1.4);opacity:0}}
.rtag{position:absolute;left:10px;top:10px;z-index:2;background:rgba(255,255,255,.95);color:var(--accent-deep);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;box-shadow:0 6px 14px -8px rgba(0,0,0,.5);pointer-events:none}
.vplay--tall{aspect-ratio:9/16}
.vplay:has(iframe) .rtag,.vplay:has(iframe)::after{display:none}
.rfilter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.rfilter button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:600;font-size:.95rem;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s}
.rfilter button span{font-size:.74rem;background:var(--tint);color:var(--accent);padding:2px 8px;border-radius:999px;transition:background .25s,color .25s}
.rfilter button:hover{border-color:var(--ink);transform:translateY(-1px)}
.rfilter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.rfilter button[aria-pressed="true"] span{background:rgba(255,255,255,.16);color:#fff}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rgrid--tall{grid-template-columns:repeat(5,1fr);gap:16px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}
.rcard:hover{transform:translateY(-6px);box-shadow:0 28px 50px -30px rgba(31,21,23,.55);border-color:#E3CFD1}
.rcard[hidden]{display:none}
.rcard .vplay__btn{width:54px;height:54px;margin:-27px 0 0 -27px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.rcard:hover .vplay__btn{transform:scale(1.15)}
.rcard__body{padding:14px 16px 16px}
.rcard__body h3{font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1.3}
.rcard__body p{color:var(--muted);font-size:.86rem;margin-top:4px}
.rcard--tall .vplay::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(transparent,rgba(0,0,0,.4));pointer-events:none}
.rcard.is-enter{animation:cardIn .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
@keyframes cardIn{from{opacity:0;transform:translateY(18px) scale(.97)}}
.rmore-wrap{text-align:center;margin-top:30px}
.rmore-wrap[hidden]{display:none}
.rnote{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--muted);font-size:.92rem;margin-top:28px;text-align:center}
.rnote svg{width:18px;height:18px;color:var(--accent);flex:none}
.rmore{margin-top:22px;text-align:center}
.rfeature__frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:3px solid rgba(255,255,255,.92);box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transform:rotate(1.5deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.rfeature:hover .rfeature__frame{transform:rotate(0) scale(1.01)}
.rfeature .vplay__btn{width:84px;height:84px;margin:-42px 0 0 -42px}
.rfeature .vplay__btn svg{width:38px;height:38px}
.rfeature__cap{margin-top:16px;color:#D2C0C2;font-size:.95rem}
.rfeature__cap strong{color:#fff}
.rworld{background:var(--dark);color:#EADCDD}
.rworld h2{color:#fff}
.rworld .sec-head p{color:#D2C0C2}
.rworld .eyebrow{color:#F0A3AC}
.rworld .rcard{background:#2D191D;border-color:rgba(255,255,255,.08)}
.rworld .rcard__body h3{color:#fff}
.rworld .rcard__body p{color:#BFA9AC}
.rworld .rtag{background:var(--accent);color:#fff}
.rworld .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.rworld .btn--ghost:hover{background:#fff;color:var(--ink)}
@media (max-width:1180px){.rgrid--tall{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.rgrid--tall{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.rhero__grid{grid-template-columns:1fr}.rfan{height:470px;margin-top:6px}.rgrid{grid-template-columns:repeat(2,1fr)}.rfeature{max-width:640px}}
@media (max-width:560px){.rgrid{grid-template-columns:1fr}.rgrid--tall{grid-template-columns:repeat(2,1fr);gap:12px}.rfan{height:330px}.rstats{flex-wrap:nowrap;gap:14px!important;margin-top:30px}.rstats li{flex:1;min-width:0}.rstats strong{font-size:1.65rem}.rstats span{font-size:.76rem;line-height:1.3}.rfan__card{width:142px;border-radius:16px}.rfan__card--2{width:168px}.rcard__body{padding:10px 12px 12px}.rcard--tall .rcard__body h3{font-size:.88rem}.rcard--tall .rcard__body p{display:none}.rcard .vplay__btn{width:44px;height:44px;margin:-22px 0 0 -22px}.rtag{font-size:.65rem;left:7px;top:7px;padding:3px 8px}.rfilter{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--gutter)*-1) 20px;padding:0 var(--gutter) 6px;scrollbar-width:none}.rfilter::-webkit-scrollbar{display:none}.rfilter button{flex:none}.rstats{gap:22px}.mband{transform:rotate(-1.4deg) scale(1.06)}}
@media (prefers-reduced-motion:reduce){[data-anim]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.wsplit .w>span{transform:none!important}.marquee__track,.rfan__card,.hero__badge,.bob,.wa-float::before,.rhero::before,.hero__media::before,.cta-band__box::after,.vplay__btn::before{animation:none!important}.rcard.is-enter{animation:none}}
/* mobile polish */
@media (max-width:860px){.mobile-bar{grid-template-columns:1fr 1.1fr 1fr!important;gap:6px!important}.mobile-bar .btn{padding:10px 6px;gap:6px;font-size:.95rem}.mobile-bar .btn svg{width:18px;height:18px}.site-footer ul{gap:0}.site-footer ul a{display:inline-flex;align-items:center;min-height:40px}.link-arrow{display:inline-flex;align-items:center;min-height:40px}.crumbs a{display:inline-block;padding:6px 0}}
@media (max-width:360px){.mobile-bar .btn{font-size:.88rem;gap:4px}.mobile-bar .btn svg{width:16px;height:16px}}
