/* Independent interaction layer. The original site CSS remains in each template. */
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
[data-designer][hidden] { display: none !important; }
[data-designer] img { transition: transform .55s cubic-bezier(.2,.65,.3,1); }
[data-designer]:hover img { transform: scale(1.045); }
a:focus-visible, [role=button]:focus-visible { outline: 2px solid #5300a1; outline-offset: 5px; }
[data-framer-name=Filters] [role=button] { cursor: pointer; }
[data-framer-name=Answer] { transition: opacity .32s ease; }
[data-framer-name=Question] { cursor: pointer; }
[data-faq] { height:auto !important; min-height:0 !important; }
[data-faq] [data-framer-name=Answer] { position:relative !important; inset:auto !important; overflow:hidden; height:0 !important; display:none !important; }
[data-faq][aria-expanded=true] [data-framer-name=Answer] { display:block !important; height:auto !important; opacity:1 !important; padding-bottom:12px; }
[data-faq][aria-expanded=true] [data-framer-name=Icon] { transform:rotate(0deg) !important; }
.afro-mobile-menu { position:fixed;inset:64px 0 0;background:#09090b;z-index:200;display:flex;flex-direction:column;padding:24px 26px;gap:24px; }
.afro-mobile-menu a { color:#eae9e3;text-decoration:none;font-family:'Sligoil Micro Bold',monospace;font-size:20px;line-height:24px; }
.afro-mobile-menu .afro-text-cta { align-self:flex-start; }
body.afro-menu-open { overflow:hidden; }
.afro-menu-open nav { background:#09090b !important; }
.afro-menu-open nav [data-framer-name=Line]:first-child { transform:translateY(4px) rotate(45deg) !important; }
.afro-menu-open nav [data-framer-name=Line]:last-child { transform:translateY(-4px) rotate(-45deg) !important; }
.afro-languages { position:fixed;right:20px;bottom:18px;z-index:150;display:flex;gap:0;background:#09090b;color:#fff;border:1px solid #ffffff55;border-radius:22px;overflow:hidden;box-shadow:0 2px 12px #0002; }
.afro-languages a { padding:7px 10px;text-decoration:none;color:inherit;font:12px/1.2 'Funnel Sans',sans-serif; }
.afro-languages a[aria-current=true] { background:#efeee8;color:#111; }
.afro-footer-visible .afro-languages { bottom:80px; }
@media(max-width:809.98px) { .afro-footer-visible .afro-languages { bottom:140px; } }
.afro-contact-status { font:16px/1.5 'Funnel Sans',sans-serif; margin-top:16px; }
.afro-footer-row { justify-content:space-between !important; align-items:center !important; gap:24px !important; }
.afro-signature { display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#999;text-decoration:none;font:12px/1.5 'Funnel Sans',sans-serif; }
.afro-signature img { display:block;width:111px;height:24px;object-fit:contain;opacity:.85;transition:opacity .2s ease; }
.afro-signature:hover img,.afro-signature:focus-visible img { opacity:1; }
.afro-signature-mark { position:relative;display:block;width:111px;height:24px;isolation:isolate; }
.afro-signature-mint { position:absolute;inset:0;pointer-events:none;background:#29cfc6;-webkit-mask:url('/assets/lutor-signature.svg') center/contain no-repeat;mask:url('/assets/lutor-signature.svg') center/contain no-repeat;clip-path:circle(0px at 96.6% 64.8%);filter:drop-shadow(0 0 2px #29cfc6) drop-shadow(0 0 7px #29cfc6aa);transition:clip-path .65s cubic-bezier(.22,.61,.36,1),filter .4s ease; }
.afro-signature:is(:hover,:focus-visible) .afro-signature-mint { clip-path:circle(140px at 96.6% 64.8%); }
.afro-signature-mark::after { content:'';position:absolute;left:96.6%;top:64.8%;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%);background:#29cfc6;opacity:0;box-shadow:0 0 4px #29cfc6,0 0 11px #29cfc6b3;transition:opacity .2s ease;pointer-events:none; }
.afro-signature:is(:hover,:focus-visible) .afro-signature-mark::after { opacity:1; }
@media(max-width:809.98px) { .afro-footer-row { flex-direction:column !important;align-items:flex-start !important;gap:18px !important; }.afro-signature { min-height:40px; } }
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:afro-exit .2s ease both; }
::view-transition-new(root) { animation:afro-enter .45s cubic-bezier(.2,.6,.3,1) both; }
@keyframes afro-enter { from {opacity:0;transform:translateY(18px)} to {opacity:1;transform:translateY(0)} }
@keyframes afro-exit { to {opacity:0} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important} }
