/* Hallmark · MissaciWeb · requested Uiverse and accordion treatments */
/* Localised effects preserve native links, details and the shared layout. */
:root{--plan-edge:linear-gradient(163deg,var(--blue),var(--cyan) 65%,var(--mint));--plan-glow:color-mix(in srgb,var(--cyan) 24%,transparent);--plan-inner:var(--surface);--motion-ease:cubic-bezier(.16,1,.3,1);--whatsapp-green:#25D366;--whatsapp-ink:#0A0E1A;--rain-clear:transparent;--rain-blue:color-mix(in srgb,var(--blue) 25%,transparent);--rain-cyan:color-mix(in srgb,var(--cyan) 17%,transparent);--rain-mint:color-mix(in srgb,var(--mint) 12%,transparent);--rain-pixel:color-mix(in srgb,var(--bg) 78%,transparent);--method-light:color-mix(in srgb,var(--text) 8%,transparent)}
/* Tiagoadag's outer/inner card treatment, resized to real plan content. */
.plan-card.card{padding:1px;display:flex;border:0;background:var(--plan-edge);transform:none!important;isolation:isolate}
.plan-card.card:nth-child(2){background:var(--plan-edge)}
.plan-card.card:before{display:none}
.plan-card.card:after{inset:0;border:0;box-shadow:0 0 30px 1px var(--plan-glow);opacity:0;transition:opacity 300ms var(--motion-ease);z-index:-1}
.plan-card-inner.card2{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;padding:32px;border-radius:inherit;background:var(--plan-inner);transform:scale(1);transition:transform 220ms var(--motion-ease)}
.plan-card.card:nth-child(2) .card2{background:var(--interaction-glass-highlight)}
.plan-card .card-legacy-effects{display:none}
@media(hover:hover) and (pointer:fine){.plan-card.card:hover .card2{transform:scale(.98)}.plan-card.card:hover:after{opacity:1}}
.plan-card.card:has(:focus-visible) .card2{transform:none;transition:none}
@media(max-width:1000px){.plans-grid{grid-template-columns:minmax(0,1fr);max-width:680px;margin-inline:auto}.plan-card-inner.card2{padding:28px}}
/* The five process steps are real cards; text and order remain unchanged. */
.process-list{display:grid;gap:20px}
.process-step.tilt-card{position:relative;isolation:isolate;border:1px solid var(--glass-line);border-radius:var(--radius-card);padding:32px;background:var(--surface);min-width:0;overflow:clip;box-shadow:var(--shadow-card);transform-origin:50% 50%}
.process-step.tilt-card:after{content:'';position:absolute;z-index:-1;width:440px;height:440px;right:-280px;top:-300px;border-radius:50%;background:var(--method-light);transform:scale(.85);transition:transform 400ms var(--motion-ease)}
.process-step.tilt-card:hover:after{transform:scale(1.15)}
.process-step.tilt-card p:last-child{margin-bottom:0}.tilt-card.is-pointer-moving{will-change:transform}
/* Native details are fully usable before the optional spring enhancement. */
.faq.motion-faq{display:grid;gap:12px;border:0}
.motion-faq .faq-item{border:1px solid var(--line);border-radius:30px;background:var(--surface);padding:0;overflow:clip;transform:scale(.985);transform-origin:50% 0;transition:transform 360ms var(--motion-ease)}
.motion-faq .faq-item[open]{transform:scale(1)}
.motion-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;list-style:none;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.45;font-weight:500;min-height:88px;cursor:pointer}
.motion-faq summary::-webkit-details-marker{display:none}.faq-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;transition:transform 360ms var(--motion-ease);color:var(--cyan)}
.faq-symbol svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.faq-plus{transform-origin:center;transition:opacity 160ms var(--motion-ease)}
.faq-item[open] .faq-symbol{transform:rotate(180deg) scale(1.05)}.faq-item[open] .faq-plus{opacity:0}
.motion-faq .faq-panel{overflow:clip}.motion-faq .faq-panel .prose{padding:0 28px 28px;max-width:72ch;color:var(--muted)}
.motion-faq .faq-panel p{font-size:1.05rem;line-height:1.8}.motion-faq .faq-panel a{color:var(--cyan)}
.motion-faq .faq-item:has(:focus-visible),.motion-faq .faq-item:has(:focus-visible) *{transition:none}
/* Requested rain texture: static radial layers move as composited sheets. */
.studio-rain{position:absolute;inset:0;overflow:clip;pointer-events:none;mask-image:linear-gradient(var(--text),var(--text) 70%,var(--rain-clear))}
.rain-layer{position:absolute;inset:-300px 0 0;--rain-colour:var(--rain-blue);background-image:radial-gradient(4px 100px at 0 235px,var(--rain-colour),var(--rain-clear)),radial-gradient(4px 100px at 300px 235px,var(--rain-colour),var(--rain-clear)),radial-gradient(1.5px 1.5px at 150px 117.5px,var(--rain-colour) 100%,var(--rain-clear) 150%);background-size:300px var(--rain-tile,235px);animation:studio-rain-fall var(--rain-duration,6s) linear infinite}
.rain-layer-1{--rain-tile:235px;--rain-duration:5.4s;background-position:0 220px,3px 220px,151.5px 337.5px}
.rain-layer-2{--rain-tile:252px;--rain-duration:3.8s;--rain-colour:var(--rain-cyan);background-position:25px 24px,28px 24px,176.5px 150px}
.rain-layer-3{--rain-tile:150px;--rain-duration:4.2s;background-position:50px 16px,53px 16px,201.5px 91px}
.rain-layer-4{--rain-tile:253px;--rain-duration:5.8s;--rain-colour:var(--rain-mint);background-position:75px 224px,78px 224px,226.5px 350.5px}
.rain-layer-5{--rain-tile:204px;--rain-duration:6.4s;--rain-colour:var(--rain-cyan);background-position:100px 19px,103px 19px,251.5px 121px}
.rain-layer-6{--rain-tile:134px;--rain-duration:3.5s;background-position:125px 120px,128px 120px,276.5px 187px}
.studio-rain:after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at center,var(--rain-clear) 0 2px,var(--rain-pixel) 2px);background-size:8px 8px}
@keyframes studio-rain-fall{to{transform:translateY(var(--rain-tile,235px))}}
.hero-motion-toggle{position:absolute;right:max(24px,calc((100% - 1184px)/2));bottom:20px;z-index:3;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:var(--bg);padding:8px 16px;min-height:36px;font-size:.72rem;cursor:pointer}.hero-motion-toggle[hidden]{display:none}
html[data-motion-paused] .rain-layer,html[data-motion-paused] .wa-float:before,html[data-motion-paused] .wa-float:after,html.is-hero-outside .rain-layer{animation-play-state:paused}
/* Floating contact restored globally. Consent controls always take precedence. */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:450;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:var(--whatsapp-green);color:var(--whatsapp-ink);box-shadow:0 8px 28px var(--plan-glow);text-decoration:none;isolation:isolate}
.wa-float:before,.wa-float:after{content:'';position:absolute;inset:0;z-index:-1;border:1px solid var(--whatsapp-green);border-radius:50%;pointer-events:none;animation:wa-contact-pulse 2.8s var(--motion-ease) infinite}.wa-float:after{animation-delay:1.4s}
@keyframes wa-contact-pulse{from{transform:scale(1);opacity:.55}to{transform:scale(1.8);opacity:0}}
body:has(#cookieBanner:not([hidden])) .wa-float{visibility:hidden;pointer-events:none}.site-footer{padding-bottom:104px}
@media(max-width:760px){.wa-float{width:56px;height:56px;right:18px;bottom:max(18px,env(safe-area-inset-bottom))}.process-step.tilt-card{padding:24px;grid-template-columns:32px minmax(0,1fr);gap:12px}.motion-faq summary{padding:20px 20px;gap:12px}.motion-faq .faq-panel .prose{padding:0 20px 24px}.rain-layer:nth-child(n+4){display:none}.hero-motion-toggle{bottom:14px;right:24px}}
@media(prefers-reduced-motion:reduce){.plan-card .card2,.process-step.tilt-card,.process-step.tilt-card:after,.motion-faq .faq-item,.faq-symbol,.faq-plus{transform:none!important;transition:none!important}.rain-layer,.wa-float:before,.wa-float:after{animation:none!important}.hero-motion-toggle{display:none}.tilt-card.is-pointer-moving{will-change:auto}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){.studio-rain,.process-step.tilt-card:after{display:none}.plan-card-inner.card2{background:var(--bg)}.plan-card.card{background:var(--text)}}
