@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/montserrat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:700;src:url(fonts/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:700;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:800;src:url(fonts/montserrat-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:800;src:url(fonts/montserrat-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:900;src:url(fonts/montserrat-latin-ext-900-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:900;src:url(fonts/montserrat-latin-900-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/manrope-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/manrope-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/manrope-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/manrope-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/manrope-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/manrope-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:700;src:url(fonts/manrope-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:700;src:url(fonts/manrope-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:#FFFFFF}
.cp-light{--bg:#FFFFFF;--ink:#0A2E1B;--muted:#4A5D52;--muted2:#2E4337;--alt:#F6FAF7;--card:#FFFFFF;--line:#DCE8E0;--line2:#CFE0D5;--line3:#E3EEE7;--mint:#EAF5EE;--brand:#0E6B3B;--glass:rgba(255,255,255,0.82);--chip:rgba(255,255,255,0.42);--chipline:rgba(255,255,255,0.75);--stage:#F7FBF8;--leafopt:#EEF7F1;--ctaBg:#EAF5EE;--ctaLine:transparent;--decoA:0.14;--decoB:0.12}
.cp-dark{--bg:#06120B;--ink:#E8F4EC;--muted:#A9C2B2;--muted2:#C9DFD1;--alt:#0A1C12;--card:#0D2117;--line:#1D3A2A;--line2:#2A4D38;--line3:#15301F;--mint:#13321F;--brand:#6BD99B;--glass:rgba(8,22,14,0.82);--chip:rgba(8,22,14,0.5);--chipline:rgba(143,227,178,0.22);--stage:#07150D;--leafopt:#13321F;--ctaBg:radial-gradient(90% 120% at 50% 0%, #1B5236 0%, #0F2A1C 55%, #0A1D13 100%);--ctaLine:rgba(143,227,178,0.22);--decoA:0.09;--decoB:0.08}
.cp-light,.cp-dark{transition:background-color .45s ease,color .45s ease}
.cp-dark svg[stroke="#0E6B3B"],.cp-dark svg [stroke="#0E6B3B"]{stroke:#6BD99B}
.cp-dark a{color:#6BD99B}
.cp-light{--ldGlow:rgba(36,190,104,0.30)}
.cp-dark{--ldGlow:rgba(60,220,130,0.32)}
/* Exit: the loading screen simply fades away */
.cp-loader{transition:opacity .7s ease, visibility .7s ease}
.cp-loader.cp-ld-out{opacity:0;visibility:hidden}
@keyframes cpReveal{from{--cpP:0deg}to{--cpP:360deg}}
@keyframes cpPop{0%{opacity:0;transform:scale(.4) rotate(-90deg)}70%{opacity:1;transform:scale(1.06) rotate(6deg)}100%{opacity:1;transform:none}}
@keyframes cpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes cpGlowK{from{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}
@keyframes cpFloatK{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes cpBarK{from{width:0}to{width:100%}}
.cp-ld-reveal{-webkit-mask:conic-gradient(from -18deg,#000 var(--cpP),transparent 0);mask:conic-gradient(from -18deg,#000 var(--cpP),transparent 0);animation:cpReveal 2.2s cubic-bezier(.65,.05,.3,1) forwards, cpPulse 1.6s ease-in-out 2.25s infinite}
.cp-ld-pop{animation:cpPop .9s cubic-bezier(.2,.9,.3,1.2) both, cpPulse 1.6s ease-in-out 1s infinite}
/* ---- Loader choreography (3s): assemble -> double spin with glint -> anticipation -> open ---- */
.cp-light{--ldShine:rgba(255,255,255,0.75);--ldShadow:rgba(10,36,22,0.22)}
.cp-dark{--ldShine:rgba(60,220,130,0.65);--ldShadow:rgba(0,0,0,0.55)}
.cp-ld-q{position:absolute;inset:0;width:150px;height:150px;display:block;opacity:0;animation:cpQIn .85s cubic-bezier(.2,.9,.25,1.12) both}
.cp-ld-q1{transform-origin:32% 32%;--qx:-150px;--qy:-130px;--qr:-200deg;animation-delay:.05s}
.cp-ld-q2{transform-origin:68% 32%;--qx:150px;--qy:-130px;--qr:200deg;animation-delay:.15s}
.cp-ld-q3{transform-origin:68% 68%;--qx:150px;--qy:140px;--qr:-200deg;animation-delay:.25s}
.cp-ld-q4{transform-origin:32% 68%;--qx:-150px;--qy:140px;--qr:200deg;animation-delay:.35s}
@keyframes cpQIn{0%{opacity:0;transform:translate(var(--qx),var(--qy)) rotate(var(--qr)) scale(.25)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes cpSpin2{0%,32%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.6,0,.2,1)}80%,100%{transform:rotate(720deg)}}
.cp-ld-spin{animation:cpSpin2 3s linear both}
@keyframes cpAnticip{0%,74%{transform:scale(1)}82%{transform:scale(1.07)}100%{transform:scale(.86)}}
.cp-ld-float{animation:cpAnticip 3s cubic-bezier(.4,0,.2,1) both, cpFloatK 2.6s ease-in-out infinite}
/* glint: a brief brightness flash on the clover itself (no overlay, so no stray colours) */
@keyframes cpGlint{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}
.cp-light .cp-ld-spin{animation:cpSpin2 3s linear both, cpGlint 1.1s ease-in-out 1.05s 2}
.cp-dark .cp-ld-spin{animation:cpSpin2 3s linear both}
.cp-ld-shadow{position:absolute;left:18%;right:18%;bottom:-34px;height:16px;border-radius:50%;background:radial-gradient(closest-side,var(--ldShadow),transparent);animation:cpShadowK 2.6s ease-in-out infinite}
@keyframes cpShadowK{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.82);opacity:.55}}
.cp-ld-aura{position:absolute;inset:-70px;border-radius:50%;background:radial-gradient(circle,var(--ldGlow) 0%,transparent 60%);opacity:0;animation:cpAuraK 3s ease-out both}
@keyframes cpAuraK{0%,25%{opacity:0;transform:scale(.6)}45%{opacity:1;transform:scale(1)}80%{opacity:.7}100%{opacity:1;transform:scale(1.15)}}
.cp-partner{opacity:.85;transition:opacity .25s ease, transform .25s ease}
.cp-partner:hover{opacity:1;transform:scale(1.06)}
/* ---- Phone layout ---- */
html,body{-webkit-text-size-adjust:100%}
@media (max-width:640px){
.cp-navcta{display:none !important}
.cp-nav{padding:12px 16px !important;gap:10px !important}
.cp-navtools{gap:8px !important}
.cp-logo{width:122px !important}
.cp-langbtn{padding:0 10px 0 8px !important;gap:6px !important}
.cp-root > section{padding-top:64px !important;padding-bottom:64px !important}
.cp-root > section > div{gap:32px !important}
.cp-root > section#inicio{padding-top:32px !important;padding-bottom:36px !important}
.cp-root > section#registo{padding-top:0 !important}
.cp-root > section[aria-label]{padding-top:24px !important;padding-bottom:28px !important}
.cp-herogrid{gap:16px !important}
.cp-hyval{font-size:34px !important;white-space:nowrap}
.cp-email{font-size:14px}
.cp-leaf{padding:36px 28px !important}
.cp-cmpbox{padding:28px 22px !important}
.cp-ctabox{padding:56px 22px !important;border-radius:32px !important}
.cp-faqa{padding:0 8px 22px 4px !important}
.cp-langpanel{position:fixed !important;left:16px !important;right:16px !important;margin-left:0 !important;width:auto !important;top:76px !important}
}
@media (max-width:380px){
.cp-chipbox div:last-child{font-size:19px !important}
.cp-stage canvas{height:300px !important}
}
/* Touch screens & narrow views: no hover, so the chips leave the clover and line up underneath it
   as a clean 3-up row, take turns lighting up on their own, and the clover is spun with a finger. */
@keyframes cpChipTurn{0%,26%{transform:translateY(-2px) scale(1.03);border-color:rgba(46,204,113,.85);box-shadow:0 0 0 1px rgba(46,204,113,.5),0 0 22px rgba(46,204,113,.5)}36%,100%{transform:none;box-shadow:0 10px 30px rgba(10,36,22,.10)}}
@media (hover:none) and (pointer:coarse), (max-width:820px){
.cp-stage{height:auto !important;padding-bottom:0 !important;display:flex !important;flex-direction:column !important}
.cp-stage canvas{position:relative !important;inset:auto !important;width:100% !important;height:340px !important;touch-action:none !important;cursor:grab}
.cp-chiprow{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.cp-chiprow .cp-chipbox:nth-of-type(3){grid-column:1 / -1}
.cp-chipbox .cp-upto{display:block;font-size:10px;letter-spacing:.06em;font-weight:700;opacity:.65;margin-bottom:2px}
.cp-chipbox div:last-child{white-space:nowrap}
.cp-swipehint{text-align:center;flex-wrap:wrap;padding:0 12px;line-height:1.4}
.cp-chiprow .cp-chipbox{position:relative !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;min-width:0}
.cp-chipbox{padding:12px 10px !important;border-radius:18px !important;text-align:center;animation:cpChipTurn 6s ease-in-out infinite}
.cp-chipbox div:first-child{font-size:9px !important;letter-spacing:.18em !important}
.cp-chipbox div:last-child{font-size:22px !important;line-height:1.15 !important;margin-top:5px !important}
.cp-chipbox:nth-of-type(2){animation-delay:2s}
.cp-chipbox:nth-of-type(3){animation-delay:4s}
.cp-swipehint{display:block !important}
.cp-swipehint svg{display:inline-block;vertical-align:-3px;margin-right:6px}
}
@media (prefers-reduced-motion:reduce){.cp-chipbox{animation:none !important}}
/* ---- Commission chips around the 3D clover: faded until hovered ---- */
/* Commission chips: always fully visible with large values; hovering makes them glow */
.cp-chipbox{opacity:1;z-index:2;transition:transform .3s cubic-bezier(.2,.9,.3,1.2), box-shadow .35s ease, border-color .35s ease}
@media (min-width:821px) and (hover:hover){
.cp-chipbox{padding:16px 22px !important}
.cp-chipbox div:first-child{font-size:11px !important}
.cp-chipbox div:last-child{font-size:30px !important;letter-spacing:-0.02em;margin-top:6px !important;line-height:1.1}
}
.cp-chipbox:hover,.cp-chipbox:focus-visible{transform:translateY(-3px) scale(1.04);border-color:rgba(46,204,113,.85) !important;box-shadow:0 0 0 1px rgba(46,204,113,.55),0 0 26px rgba(46,204,113,.55),0 0 60px rgba(46,204,113,.28),0 18px 40px rgba(10,36,22,.22) !important}
.cp-themebtn{transition:transform .5s cubic-bezier(.2,.9,.3,1.3), box-shadow .2s ease, border-color .2s ease}
.cp-themebtn:hover{border-color:#1E9E57;box-shadow:0 8px 20px rgba(14,107,59,.18)}
.cp-chipbox:hover div:last-child,.cp-chipbox:focus-visible div:last-child{text-shadow:0 0 18px rgba(46,204,113,.55)}
/* ---- Page entrance after the clover opens ---- */
@keyframes cpRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.cp-pre .cp-rise{opacity:0}
.cp-in .cp-rise{animation:cpRise .95s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@media (prefers-reduced-motion:reduce){.cp-ld-q{animation:none;opacity:1;transform:none}.cp-ld-spin,.cp-light .cp-ld-spin,.cp-dark .cp-ld-spin,.cp-ld-float,.cp-ld-aura{animation:none}.cp-in .cp-rise{animation:none}}
.cp-ld-glow{animation:cpGlowK 1.6s ease-in-out infinite alternate}
.cp-ld-bar{width:0;animation:cpBarK 4.9s cubic-bezier(.45,.05,.35,1) forwards}
@media (prefers-reduced-motion:reduce){.cp-ld-spin{animation-duration:4s}.cp-ld-reveal,.cp-ld-pop,.cp-ld-glow,.cp-ld-float{animation:none;-webkit-mask:none;mask:none}}
a{color:#0E6B3B}a:hover{color:#0A2416}
html{scroll-behavior:smooth}
/* anchor jumps land below the sticky header instead of under it */
.cp-root section,.cp-root footer{scroll-margin-top:88px}
.cp-ctabox{scroll-margin-top:96px;scroll-margin-bottom:24px}
.cp-comcard{scroll-margin-top:96px;scroll-margin-bottom:24px}
/* subtle motion blur while scrolling (header and assistant stay sharp because they do not move) */
.cp-mb > section,.cp-mb > footer{filter:blur(var(--mb,0px))}
.cp-legallink{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(143,227,178,.28);color:#E6F2EA;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s ease,border-color .2s ease}
.cp-legallink:hover{background:rgba(143,227,178,.12);border-color:#8FE3B2}
@keyframes cpLegalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.cp-legalbox{animation:cpLegalIn .32s cubic-bezier(.2,.9,.3,1.1) both}
@media (max-width:640px){.cp-legalwrap{align-items:flex-end !important;padding:0 !important}.cp-legalbox{width:100% !important;max-height:88vh !important;border-radius:28px 28px 0 0 !important}}
@media (prefers-reduced-motion:reduce){.cp-legalbox{animation:none}}
@keyframes cpComFlash{0%{box-shadow:0 0 0 0 rgba(46,204,113,0)}25%{box-shadow:0 0 0 3px rgba(46,204,113,.9),0 0 40px rgba(46,204,113,.45)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}
.cp-comcard.cp-flash{animation:cpComFlash 1.6s ease-out .35s both}
@media (prefers-reduced-motion:reduce){.cp-comcard.cp-flash{animation:none;outline:3px solid #1E9E57;outline-offset:2px}}
@keyframes cpMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cp-track{animation:cpMarquee 38s linear infinite}
.cp-btn{transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease}
.cp-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(14,107,59,.22)}
.cp-card{transition:transform .25s ease, box-shadow .25s ease}
.cp-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(10,36,22,.10)}
.cp-langbtn{transition:border-color .18s ease, box-shadow .18s ease}
.cp-langbtn:hover{border-color:#1E9E57;box-shadow:0 8px 20px rgba(14,107,59,.14)}
@keyframes cpPanel{from{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:none}}
@keyframes cpLeafIn{from{opacity:0;transform:scale(.55) rotate(-14deg)}to{opacity:1;transform:none}}
.cp-langpanel{animation:cpPanel .24s cubic-bezier(.2,.9,.3,1.2) both;transform-origin:top center}
.cp-leafopt{animation:cpLeafIn .34s cubic-bezier(.2,.9,.3,1.25) both;transition:transform .18s ease, filter .18s ease}
.cp-leafopt:hover{transform:scale(1.05);filter:brightness(1.04)}
@media (prefers-reduced-motion:reduce){.cp-langpanel,.cp-leafopt{animation:none}}
a:focus-visible,button:focus-visible{outline:3px solid #1E9E57;outline-offset:3px}
@media (max-width:1100px){.cp-navlinks{display:none !important}.cp-burger{display:inline-flex !important}}
.cp-mnavlink{display:flex;align-items:center;min-height:52px;padding:0 6px;border-bottom:1px solid var(--line3);color:var(--ink);text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px}
@keyframes cpMnavIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cp-mnav{animation:cpMnavIn .22s ease both}
@media (max-width:820px){
.cp-leafgrid{grid-template-columns:1fr !important}
.cp-leaf{min-height:0 !important}
.cp-leafgrid .cp-leaf:nth-child(1){border-radius:64px 64px 12px 64px !important}
.cp-leafgrid .cp-leaf:nth-child(2){border-radius:64px 64px 64px 12px !important}
.cp-leafgrid .cp-leaf:nth-child(3){border-radius:64px 12px 64px 64px !important}
.cp-leafgrid .cp-leaf:nth-child(4){border-radius:12px 64px 64px 64px !important}
.cp-badge{display:none !important}
.cp-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (prefers-reduced-motion:reduce){.cp-track{animation:none}}
/* ---- Reviews: clover deck ---- */
.cp-rvstage{--rvshift:62%;--rvscale:.84;--rvdrop:26px;--rvang:7deg;--rvside:.62;position:relative;display:grid;place-items:center;padding:8px 0 34px;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.cp-rvstage.cp-rvdrag{cursor:grabbing}
.cp-rvstage:focus-visible{outline:3px solid #1E9E57;outline-offset:8px;border-radius:24px}
.cp-review{grid-area:1/1;width:min(560px,100%);margin:0;will-change:transform;transition:transform .85s cubic-bezier(.2,.85,.25,1),opacity .6s ease,filter .6s ease}
.cp-rvdrag .cp-review{transition:none !important}
.cp-review[data-pos="-1"],.cp-review[data-pos="1"]{cursor:pointer;filter:saturate(.7)}
.cp-review[data-pos="-1"]:hover,.cp-review[data-pos="1"]:hover{filter:saturate(1)}
.cp-rvtilt{position:relative;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:22px;padding:32px;background:var(--card);border:1.5px solid var(--line);overflow:hidden;transform:perspective(1000px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));transition:transform .25s ease,box-shadow .6s ease,border-color .6s ease}
.cp-review[data-pos="0"] .cp-rvtilt{box-shadow:0 30px 70px rgba(10,36,22,.14);border-color:rgba(30,158,87,.45)}
.cp-dark .cp-review[data-pos="0"] .cp-rvtilt{box-shadow:0 30px 70px rgba(0,0,0,.45)}
.cp-rvtilt::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(143,227,178,.30),transparent 60%)}
.cp-rvglow .cp-review[data-pos="0"] .cp-rvtilt::after{opacity:1}
.cp-rvtilt > *{position:relative;z-index:1}
@keyframes cpRvQ{from{opacity:0;transform:translateY(14px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes cpRvSpin{0%{transform:rotate(0) scale(.6)}60%{transform:rotate(380deg) scale(1.15)}100%{transform:rotate(360deg) scale(1)}}
.cp-review[data-pos="0"] blockquote{animation:cpRvQ .7s .18s both}
.cp-review[data-pos="0"] .cp-rvav img{animation:cpRvSpin .95s cubic-bezier(.2,.9,.3,1.2) both}
.cp-rvburst{position:absolute;left:-80px;top:-80px;width:calc(100% + 160px);height:calc(100% + 160px);pointer-events:none;z-index:5;display:block}
.cp-rvnav{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.cp-rvarrow{width:52px;height:52px;border-radius:999px;border:1.5px solid var(--line2);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.cp-rvarrow:hover{transform:scale(1.08);border-color:#1E9E57}
.cp-rvarrow:active{transform:scale(.94)}
.cp-rvdot{width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.cp-rvdot svg{transition:transform .5s cubic-bezier(.2,.9,.3,1.3),opacity .3s ease}
.cp-rvstem{position:relative;width:min(320px,70%);height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin:0 auto}
.cp-rvstem span{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#8FE3B2,#1E9E57)}
@media (max-width:1100px){.cp-rvstage{--rvshift:34%;--rvscale:.86;--rvdrop:22px;--rvang:5deg}.cp-review{width:min(520px,calc(100% - 60px))}}
@media (max-width:640px){.cp-rvstage{--rvshift:7%;--rvscale:.9;--rvdrop:16px;--rvang:4deg;--rvside:.5}.cp-review{width:calc(100% - 28px)}.cp-rvtilt{padding:24px;gap:18px}.cp-rvtilt blockquote{font-size:16px !important}}
@media (prefers-reduced-motion:reduce){.cp-review,.cp-rvtilt{transition:opacity .3s ease !important}.cp-review[data-pos="0"] blockquote,.cp-review[data-pos="0"] .cp-rvav img{animation:none}}
