html,body{height:100%}html{font-size:16px}body{min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#1f2937;background-color:rgba(255,255,255,1)}img,video{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus{outline:2px solid transparent;outline-offset:2px}*:focus-visible{box-shadow:0 0 0 4px rgba(90,60,255,0.12);border-radius:8px}header[role],nav,main,footer,section,article{scroll-margin-top:6rem}.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container{padding-left:2.5rem;padding-right:2.5rem}}/******** Mobile menu and overlay ********/#mobileMenu{transition:opacity 320ms cubic-bezier(.2,.8,.2,1),transform 320ms cubic-bezier(.2,.8,.2,1)}#mobileMenu.hidden{opacity:0;pointer-events:none;transform:translateY(-6px)}#mobileMenu.visible{opacity:1;pointer-events:auto;transform:translateY(0)}#mobileOverlay{transition:opacity 320ms ease}#mobileOverlay.hidden{opacity:0}#mobileOverlay.visible{opacity:1}#mobileMenu [role="dialog"]{max-height:95vh;overflow:auto}button#menuButton,button#mobileClose{background:transparent;border:0;padding:0.4rem;border-radius:0.5rem}button#menuButton:focus,button#mobileClose:focus{box-shadow:0 0 0 4px rgba(90,60,255,0.12)}/******** Cookie box ********/#cookieBox{min-width:18rem;max-width:22rem;transition:transform 240ms ease,opacity 240ms ease}#cookieBox.hidden{opacity:0;transform:translateY(8px);pointer-events:none}#cookieBox.visible{opacity:1;transform:translateY(0)}#cookieBox button{cursor:pointer}#cookieBox .iconify{opacity:0.95}#cookieBox:focus-within{box-shadow:0 8px 24px rgba(15,23,42,0.12)}@media(max-width:640px){#cookieBox{right:1rem;left:1rem;bottom:1rem;max-width:none}}/******** Buttons consistency ********/.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.75rem;background-image:linear-gradient(90deg,#5a3cff 0%,#7a5cff 100%);color:#ffffff;font-weight:600;box-shadow:0 4px 18px rgba(90,60,255,0.12);transition:transform .18s ease,box-shadow .18s ease} .btn-primary:disabled{opacity:.5;transform:none;cursor:not-allowed} .btn-primary:focus{box-shadow:0 0 0 4px rgba(90,60,255,0.14)}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.75rem;border:1px solid rgba(90,60,255,0.12);color:#5a3cff;background:transparent;font-weight:600} .btn-ghost:focus{box-shadow:0 0 0 4px rgba(90,60,255,0.10)}/******** Cards ********/.card{border-radius:1rem;background-color:rgba(255,255,255,1);padding:1.25rem;box-shadow:0 6px 20px rgba(15,23,42,0.04);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1)}.card:hover,.card:focus-within{transform:translateY(-6px)}.card .iconify{flex-shrink:0}h1,h2,h3,h4{line-height:1.15}h1{font-family:Merriweather,serif}h2,h3{font-family:Merriweather,serif}h1{font-size:2.25rem}@media(min-width:640px){h1{font-size:3rem}}/******** Accessibility helpers ********/.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,textarea,select{font-family:inherit}label{font-weight:600;color:#374151}input[type='text'],input[type='email'],input[type='tel'],textarea{width:100%;padding:.6rem .75rem;border-radius:.5rem;border:1px solid rgba(15,23,42,0.08);background-color:#fff;color:#111827}input:focus,textarea:focus{outline:2px solid transparent;box-shadow:0 0 0 4px rgba(90,60,255,0.08)}/******** Footer small screens ********/.footer-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}/******** Utility for animated reveal ********/.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.reveal.in-view{opacity:1;transform:translateY(0)}